developers/zcash-zf-dag.svg

1612 lines
124 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet href="zcash-dag.css" type="text/css"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1312pt" height="4728pt"
viewBox="0.00 0.00 1312.00 4727.50" 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 4723.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-4723.5 1308,-4723.5 1308,4 -4,4"/>
<!-- ZcashFoundation/zebra#1135 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#1135</title>
<g id="a_node1"><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="#000000" stroke-width="2" points="232,-68 0,-68 0,0 232,0 232,-68"/>
<text text-anchor="middle" x="116" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1135</text>
<text text-anchor="middle" x="116" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor Network and</text>
<text text-anchor="middle" x="116" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">NetworkUpgrade enums into</text>
<text text-anchor="middle" x="116" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">structs and a trait</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1011 -->
<g id="node2" class="node closed">
<title>ZcashFoundation/zebra#1011</title>
<g id="a_node2"><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="#000000" points="500,-68 268,-68 268,0 500,0 500,-68"/>
<text text-anchor="middle" x="384" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1011</text>
<text text-anchor="middle" x="384" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable the</text>
<text text-anchor="middle" x="384" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">BlockVerifier continuous_</text>
<text text-anchor="middle" x="384" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">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="#000000" d="M232.38,-34C240.71,-34 249.14,-34 257.53,-34"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-37.5001 267.74,-34 257.74,-30.5001 257.74,-37.5001"/>
</g>
<!-- ZcashFoundation/zebra#2549 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#2549</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2549" xlink:title="ZcashFoundation/zebra#2549&#10;Fix Redjubjub to support&#10;low&#45;order Jubjub points,&#10;move small&#45;order&#10;exclusion checks to&#10;Sapling&#10;SpendAuthorizationKey and&#10;ValueCommit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-214 0,-214 0,-86 232,-86 232,-214"/>
<text text-anchor="middle" x="116" y="-198.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2549</text>
<text text-anchor="middle" x="116" y="-183.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix Redjubjub to support</text>
<text text-anchor="middle" x="116" y="-168.8" font-family="Times,serif" font-size="14.00" fill="#000000">low&#45;order Jubjub points,</text>
<text text-anchor="middle" x="116" y="-153.8" font-family="Times,serif" font-size="14.00" fill="#000000">move small&#45;order</text>
<text text-anchor="middle" x="116" y="-138.8" font-family="Times,serif" font-size="14.00" fill="#000000">exclusion checks to</text>
<text text-anchor="middle" x="116" y="-123.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling</text>
<text text-anchor="middle" x="116" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">SpendAuthorizationKey and</text>
<text text-anchor="middle" x="116" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">ValueCommit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3063 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#3063</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3063" xlink:title="ZcashFoundation/zebra#3063&#10;Upgrade to the latest&#10;redjubjub" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-176.5 268,-176.5 268,-123.5 500,-123.5 500,-176.5"/>
<text text-anchor="middle" x="384" y="-161.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3063</text>
<text text-anchor="middle" x="384" y="-146.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to the latest</text>
<text text-anchor="middle" x="384" y="-131.3" font-family="Times,serif" font-size="14.00" fill="#000000">redjubjub</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2549&#45;&gt;ZcashFoundation/zebra#3063 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#2549&#45;&gt;ZcashFoundation/zebra#3063</title>
<path fill="none" stroke="#000000" d="M232.38,-150C240.71,-150 249.14,-150 257.53,-150"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-153.5001 267.74,-150 257.74,-146.5001 257.74,-153.5001"/>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/271" xlink:title="ZcashFoundation/zebra#271&#10;Sapling Key Agreement and&#10;KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-285.5 4.5,-285.5 4.5,-232.5 227.5,-232.5 227.5,-285.5"/>
<text text-anchor="middle" x="116" y="-270.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="116" y="-255.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Key Agreement and</text>
<text text-anchor="middle" x="116" y="-240.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/269" xlink:title="ZcashFoundation/zebra#269&#10;Sapling note encryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="495.5,-334.5 272.5,-334.5 272.5,-281.5 495.5,-281.5 495.5,-334.5"/>
<text text-anchor="middle" x="384" y="-319.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="384" y="-304.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note encryption</text>
<text text-anchor="middle" x="384" y="-289.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M227.72,-279.43C239.16,-281.52 250.82,-283.65 262.36,-285.76"/>
<polygon fill="#000000" stroke="#000000" points="262.0033,-289.2528 272.47,-287.61 263.2634,-282.3671 262.0033,-289.2528"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3002" xlink:title="ZcashFoundation/zebra#3002&#10;Sapling note decryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-263.5 268,-263.5 268,-210.5 500,-210.5 500,-263.5"/>
<text text-anchor="middle" x="384" y="-248.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="384" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="384" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M227.72,-249.83C237.63,-249.02 247.7,-248.19 257.72,-247.37"/>
<polygon fill="#000000" stroke="#000000" points="258.0299,-250.8564 267.71,-246.55 257.4572,-243.8799 258.0299,-250.8564"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/325" xlink:title="ZcashFoundation/zebra#325&#10;Block Chain Scanning" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-353 4.5,-353 4.5,-315 227.5,-315 227.5,-353"/>
<text text-anchor="middle" x="116" y="-337.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="116" y="-322.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#619 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#619</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/619" xlink:title="ZcashFoundation/zebra#619&#10;Tracking: sync and&#10;validate mainnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-429.5 4.5,-429.5 4.5,-376.5 227.5,-376.5 227.5,-429.5"/>
<text text-anchor="middle" x="116" y="-414.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#619</text>
<text text-anchor="middle" x="116" y="-399.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: sync and</text>
<text text-anchor="middle" x="116" y="-384.3" font-family="Times,serif" font-size="14.00" fill="#000000">validate mainnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#466 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#466</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/466" xlink:title="ZcashFoundation/zebra#466&#10;Design network&#10;integration test&#10;framework for Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="495.5,-437 272.5,-437 272.5,-369 495.5,-369 495.5,-437"/>
<text text-anchor="middle" x="384" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#466</text>
<text text-anchor="middle" x="384" y="-406.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design network</text>
<text text-anchor="middle" x="384" y="-391.8" font-family="Times,serif" font-size="14.00" fill="#000000">integration test</text>
<text text-anchor="middle" x="384" y="-376.8" font-family="Times,serif" font-size="14.00" fill="#000000">framework for Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#619&#45;&gt;ZcashFoundation/zebra#466 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#619&#45;&gt;ZcashFoundation/zebra#466</title>
<path fill="none" stroke="#000000" d="M227.72,-403C239.16,-403 250.82,-403 262.36,-403"/>
<polygon fill="#000000" stroke="#000000" points="262.47,-406.5001 272.47,-403 262.47,-399.5001 262.47,-406.5001"/>
</g>
<!-- ZcashFoundation/zebra#884 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#884</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/884" xlink:title="ZcashFoundation/zebra#884&#10;Tracking: sync&#10;correctness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-508.5 4.5,-508.5 4.5,-455.5 227.5,-455.5 227.5,-508.5"/>
<text text-anchor="middle" x="116" y="-493.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#884</text>
<text text-anchor="middle" x="116" y="-478.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: sync</text>
<text text-anchor="middle" x="116" y="-463.3" font-family="Times,serif" font-size="14.00" fill="#000000">correctness</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#899 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#899</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/899" xlink:title="ZcashFoundation/zebra#899&#10;Retcon new sync logic&#10;into RFC1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="495.5,-508.5 272.5,-508.5 272.5,-455.5 495.5,-455.5 495.5,-508.5"/>
<text text-anchor="middle" x="384" y="-493.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#899</text>
<text text-anchor="middle" x="384" y="-478.3" font-family="Times,serif" font-size="14.00" fill="#000000">Retcon new sync logic</text>
<text text-anchor="middle" x="384" y="-463.3" font-family="Times,serif" font-size="14.00" fill="#000000">into RFC1</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#884&#45;&gt;ZcashFoundation/zebra#899 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#884&#45;&gt;ZcashFoundation/zebra#899</title>
<path fill="none" stroke="#000000" d="M227.72,-482C239.16,-482 250.82,-482 262.36,-482"/>
<polygon fill="#000000" stroke="#000000" points="262.47,-485.5001 272.47,-482 262.47,-478.5001 262.47,-485.5001"/>
</g>
<!-- ZcashFoundation/zebra#919 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#919</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/919" xlink:title="ZcashFoundation/zebra#919&#10;Rewrite&#10;`block::tests::generate`&#10;as proptest strategies." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-602 4.5,-602 4.5,-534 227.5,-534 227.5,-602"/>
<text text-anchor="middle" x="116" y="-586.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#919</text>
<text text-anchor="middle" x="116" y="-571.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rewrite</text>
<text text-anchor="middle" x="116" y="-556.8" font-family="Times,serif" font-size="14.00" fill="#000000">`block::tests::generate`</text>
<text text-anchor="middle" x="116" y="-541.8" font-family="Times,serif" font-size="14.00" fill="#000000">as proptest strategies.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1021 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#1021</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1021" xlink:title="ZcashFoundation/zebra#1021&#10;Combine proptests and&#10;transcripts to perform&#10;top&#45;level integration&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-609.5 268,-609.5 268,-526.5 500,-526.5 500,-609.5"/>
<text text-anchor="middle" x="384" y="-594.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1021</text>
<text text-anchor="middle" x="384" y="-579.3" font-family="Times,serif" font-size="14.00" fill="#000000">Combine proptests and</text>
<text text-anchor="middle" x="384" y="-564.3" font-family="Times,serif" font-size="14.00" fill="#000000">transcripts to perform</text>
<text text-anchor="middle" x="384" y="-549.3" font-family="Times,serif" font-size="14.00" fill="#000000">top&#45;level integration</text>
<text text-anchor="middle" x="384" y="-534.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#919&#45;&gt;ZcashFoundation/zebra#1021 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#919&#45;&gt;ZcashFoundation/zebra#1021</title>
<path fill="none" stroke="#000000" d="M227.72,-568C237.52,-568 247.49,-568 257.41,-568"/>
<polygon fill="#000000" stroke="#000000" points="257.71,-571.5001 267.71,-568 257.71,-564.5001 257.71,-571.5001"/>
</g>
<!-- ZcashFoundation/zebra#889 -->
<g id="node15" class="node closed">
<title>ZcashFoundation/zebra#889</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/889" xlink:title="ZcashFoundation/zebra#889&#10;Tracking: inbound message&#10;handling." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="495.5,-898.5 272.5,-898.5 272.5,-845.5 495.5,-845.5 495.5,-898.5"/>
<text text-anchor="middle" x="384" y="-883.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#889</text>
<text text-anchor="middle" x="384" y="-868.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: inbound message</text>
<text text-anchor="middle" x="384" y="-853.3" font-family="Times,serif" font-size="14.00" fill="#000000">handling.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1077 -->
<g id="node16" class="node closed">
<title>ZcashFoundation/zebra#1077</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1077" xlink:title="ZcashFoundation/zebra#1077&#10;Send inbound&#10;`TransactionsById`&#10;requests to the mempool&#10;storage service" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-913.5 536,-913.5 536,-830.5 768,-830.5 768,-913.5"/>
<text text-anchor="middle" x="652" y="-898.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1077</text>
<text text-anchor="middle" x="652" y="-883.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send inbound</text>
<text text-anchor="middle" x="652" y="-868.3" font-family="Times,serif" font-size="14.00" fill="#000000">`TransactionsById`</text>
<text text-anchor="middle" x="652" y="-853.3" font-family="Times,serif" font-size="14.00" fill="#000000">requests to the mempool</text>
<text text-anchor="middle" x="652" y="-838.3" font-family="Times,serif" font-size="14.00" fill="#000000">storage service</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#889&#45;&gt;ZcashFoundation/zebra#1077 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#889&#45;&gt;ZcashFoundation/zebra#1077</title>
<path fill="none" stroke="#000000" d="M495.72,-872C505.52,-872 515.49,-872 525.41,-872"/>
<polygon fill="#000000" stroke="#000000" points="525.71,-875.5001 535.71,-872 525.71,-868.5001 525.71,-875.5001"/>
</g>
<!-- ZcashFoundation/zebra#1048 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#1048</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1048" xlink:title="ZcashFoundation/zebra#1048&#10;Test translation for&#10;zebra&#45;network::{Request,&#10;Response} protocol" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-906 0,-906 0,-838 232,-838 232,-906"/>
<text text-anchor="middle" x="116" y="-890.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1048</text>
<text text-anchor="middle" x="116" y="-875.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test translation for</text>
<text text-anchor="middle" x="116" y="-860.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;network::{Request,</text>
<text text-anchor="middle" x="116" y="-845.8" font-family="Times,serif" font-size="14.00" fill="#000000">Response} protocol</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1048&#45;&gt;ZcashFoundation/zebra#889 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#1048&#45;&gt;ZcashFoundation/zebra#889</title>
<path fill="none" stroke="#000000" d="M232.38,-872C242.23,-872 252.22,-872 262.11,-872"/>
<polygon fill="#000000" stroke="#000000" points="262.39,-875.5001 272.39,-872 262.39,-868.5001 262.39,-875.5001"/>
</g>
<!-- ZcashFoundation/zebra#1080 -->
<g id="node18" class="node closed">
<title>ZcashFoundation/zebra#1080</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1080" xlink:title="ZcashFoundation/zebra#1080&#10;Send inbound&#10;`PushTransaction`s&#10;broadcasts to the mempool&#10;download and verify&#10;stream" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-812 536,-812 536,-714 768,-714 768,-812"/>
<text text-anchor="middle" x="652" y="-796.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1080</text>
<text text-anchor="middle" x="652" y="-781.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send inbound</text>
<text text-anchor="middle" x="652" y="-766.8" font-family="Times,serif" font-size="14.00" fill="#000000">`PushTransaction`s</text>
<text text-anchor="middle" x="652" y="-751.8" font-family="Times,serif" font-size="14.00" fill="#000000">broadcasts to the mempool</text>
<text text-anchor="middle" x="652" y="-736.8" font-family="Times,serif" font-size="14.00" fill="#000000">download and verify</text>
<text text-anchor="middle" x="652" y="-721.8" font-family="Times,serif" font-size="14.00" fill="#000000">stream</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1081 -->
<g id="node19" class="node closed">
<title>ZcashFoundation/zebra#1081</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1081" xlink:title="ZcashFoundation/zebra#1081&#10;Send inbound&#10;`AdvertiseTransactionIds`&#10;broadcasts to the mempool&#10;download &amp; verify stream" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-695.5 536,-695.5 536,-612.5 768,-612.5 768,-695.5"/>
<text text-anchor="middle" x="652" y="-680.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1081</text>
<text text-anchor="middle" x="652" y="-665.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send inbound</text>
<text text-anchor="middle" x="652" y="-650.3" font-family="Times,serif" font-size="14.00" fill="#000000">`AdvertiseTransactionIds`</text>
<text text-anchor="middle" x="652" y="-635.3" font-family="Times,serif" font-size="14.00" fill="#000000">broadcasts to the mempool</text>
<text text-anchor="middle" x="652" y="-620.3" font-family="Times,serif" font-size="14.00" fill="#000000">download &amp; verify stream</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1400 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#1400</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1400" xlink:title="ZcashFoundation/zebra#1400&#10;Test that zcashd and&#10;Zebra can sync from Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-977.5 0,-977.5 0,-924.5 232,-924.5 232,-977.5"/>
<text text-anchor="middle" x="116" y="-962.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1400</text>
<text text-anchor="middle" x="116" y="-947.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test that zcashd and</text>
<text text-anchor="middle" x="116" y="-932.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra can sync from Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2982 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#2982</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2982" xlink:title="ZcashFoundation/zebra#2982&#10;Upgrade to NU5 mainnet&#10;versions of librustzcash&#10;and orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1064 268,-1064 268,-996 500,-996 500,-1064"/>
<text text-anchor="middle" x="384" y="-1048.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2982</text>
<text text-anchor="middle" x="384" y="-1033.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 mainnet</text>
<text text-anchor="middle" x="384" y="-1018.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions of librustzcash</text>
<text text-anchor="middle" x="384" y="-1003.8" font-family="Times,serif" font-size="14.00" fill="#000000">and orchard</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3095 -->
<g id="node22" class="node closed">
<title>ZcashFoundation/zebra#3095</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3095" xlink:title="ZcashFoundation/zebra#3095&#10;Upgrade blake2b_simd&#10;dependency" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-1091.5 536,-1091.5 536,-1038.5 768,-1038.5 768,-1091.5"/>
<text text-anchor="middle" x="652" y="-1076.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3095</text>
<text text-anchor="middle" x="652" y="-1061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade blake2b_simd</text>
<text text-anchor="middle" x="652" y="-1046.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependency</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3095 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3095</title>
<path fill="none" stroke="#000000" d="M500.38,-1045.2C508.81,-1046.3 517.33,-1047.4 525.81,-1048.5"/>
<polygon fill="#000000" stroke="#000000" points="525.3702,-1051.9722 535.74,-1049.8 526.279,-1045.0314 525.3702,-1051.9722"/>
</g>
<!-- ZcashFoundation/zebra#3094 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#3094</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3094" xlink:title="ZcashFoundation/zebra#3094&#10;Upgrade blake2b and&#10;blake2s dependencies" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-1020.5 536,-1020.5 536,-967.5 768,-967.5 768,-1020.5"/>
<text text-anchor="middle" x="652" y="-1005.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3094</text>
<text text-anchor="middle" x="652" y="-990.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade blake2b and</text>
<text text-anchor="middle" x="652" y="-975.3" font-family="Times,serif" font-size="14.00" fill="#000000">blake2s dependencies</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3094 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3094</title>
<path fill="none" stroke="#000000" d="M500.38,-1014.4C508.81,-1013.2 517.33,-1012.1 525.81,-1011"/>
<polygon fill="#000000" stroke="#000000" points="526.3266,-1014.4619 535.74,-1009.6 525.3493,-1007.5304 526.3266,-1014.4619"/>
</g>
<!-- ZcashFoundation/zebra#2893 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#2893</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/2893" xlink:title="ZcashFoundation/zebra#2893&#10;Display mempool&#10;documentation in our&#10;public docs website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1150 0,-1150 0,-1146 -4,-1146 -4,-1142 0,-1142 0,-1090 -4,-1090 -4,-1086 0,-1086 0,-1082 232,-1082 232,-1150"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-1146 4,-1146 4,-1142 0,-1142 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-1090 4,-1090 4,-1086 0,-1086 "/>
<text text-anchor="middle" x="116" y="-1134.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2893</text>
<text text-anchor="middle" x="116" y="-1119.8" font-family="Times,serif" font-size="14.00" fill="#000000">Display mempool</text>
<text text-anchor="middle" x="116" y="-1104.8" font-family="Times,serif" font-size="14.00" fill="#000000">documentation in our</text>
<text text-anchor="middle" x="116" y="-1089.8" font-family="Times,serif" font-size="14.00" fill="#000000">public docs website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2971" xlink:title="ZcashFoundation/zebra#2971&#10;Fix crawler.rs doctest" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1135 268,-1135 268,-1097 500,-1097 500,-1135"/>
<text text-anchor="middle" x="384" y="-1119.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="384" y="-1104.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2893&#45;&gt;ZcashFoundation/zebra#2971 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#2893&#45;&gt;ZcashFoundation/zebra#2971</title>
<path fill="none" stroke="#000000" d="M232.38,-1116C240.71,-1116 249.14,-1116 257.53,-1116"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1119.5001 267.74,-1116 257.74,-1112.5001 257.74,-1119.5001"/>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2573" xlink:title="ZcashFoundation/zebra#2573&#10;Remove redundant watch&#10;values once our Tokio&#10;dependency is updated" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1236 0,-1236 0,-1168 232,-1168 232,-1236"/>
<text text-anchor="middle" x="116" y="-1220.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="116" y="-1205.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="116" y="-1190.8" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="116" y="-1175.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3110 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#3110</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3110" xlink:title="ZcashFoundation/zebra#3110&#10;Cache unsolicited Peers&#10;responses until needed" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1307.5 0,-1307.5 0,-1254.5 232,-1254.5 232,-1307.5"/>
<text text-anchor="middle" x="116" y="-1292.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3110</text>
<text text-anchor="middle" x="116" y="-1277.3" font-family="Times,serif" font-size="14.00" fill="#000000">Cache unsolicited Peers</text>
<text text-anchor="middle" x="116" y="-1262.3" font-family="Times,serif" font-size="14.00" fill="#000000">responses until needed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2325 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#2325</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2325" xlink:title="ZcashFoundation/zebra#2325&#10;Use the CandidateSet and&#10;AddressBook to connect to&#10;initial seed peers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1315 268,-1315 268,-1247 500,-1247 500,-1315"/>
<text text-anchor="middle" x="384" y="-1299.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2325</text>
<text text-anchor="middle" x="384" y="-1284.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use the CandidateSet and</text>
<text text-anchor="middle" x="384" y="-1269.8" font-family="Times,serif" font-size="14.00" fill="#000000">AddressBook to connect to</text>
<text text-anchor="middle" x="384" y="-1254.8" font-family="Times,serif" font-size="14.00" fill="#000000">initial seed peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3110&#45;&gt;ZcashFoundation/zebra#2325 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#3110&#45;&gt;ZcashFoundation/zebra#2325</title>
<path fill="none" stroke="#000000" d="M232.38,-1281C240.71,-1281 249.14,-1281 257.53,-1281"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1284.5001 267.74,-1281 257.74,-1277.5001 257.74,-1284.5001"/>
</g>
<!-- ZcashFoundation/zebra#1083 -->
<g id="node29" class="node closed">
<title>ZcashFoundation/zebra#1083</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1083" xlink:title="ZcashFoundation/zebra#1083&#10;Send inbound&#10;`MempoolTransactionIds`&#10;requests to the mempool&#10;storage service" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-594.5 536,-594.5 536,-511.5 768,-511.5 768,-594.5"/>
<text text-anchor="middle" x="652" y="-579.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1083</text>
<text text-anchor="middle" x="652" y="-564.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send inbound</text>
<text text-anchor="middle" x="652" y="-549.3" font-family="Times,serif" font-size="14.00" fill="#000000">`MempoolTransactionIds`</text>
<text text-anchor="middle" x="652" y="-534.3" font-family="Times,serif" font-size="14.00" fill="#000000">requests to the mempool</text>
<text text-anchor="middle" x="652" y="-519.3" font-family="Times,serif" font-size="14.00" fill="#000000">storage service</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#936 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#936</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/936" xlink:title="ZcashFoundation/zebra#936&#10;Design: mempool&#10;transaction handling" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="495.5,-680.5 272.5,-680.5 272.5,-627.5 495.5,-627.5 495.5,-680.5"/>
<text text-anchor="middle" x="384" y="-665.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#936</text>
<text text-anchor="middle" x="384" y="-650.3" font-family="Times,serif" font-size="14.00" fill="#000000">Design: mempool</text>
<text text-anchor="middle" x="384" y="-635.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction handling</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1077 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1077</title>
<path fill="none" stroke="#000000" d="M402.62,-680.63C428.85,-716.53 479.82,-780.61 536,-821 537.85,-822.33 539.74,-823.64 541.67,-824.92"/>
<polygon fill="#000000" stroke="#000000" points="539.978,-827.9911 550.3,-830.38 543.7206,-822.0756 539.978,-827.9911"/>
</g>
<!-- ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1080 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1080</title>
<path fill="none" stroke="#000000" d="M449.22,-680.53C472.57,-690.02 499.75,-701.08 526.48,-711.95"/>
<polygon fill="#000000" stroke="#000000" points="525.3181,-715.2558 535.9,-715.78 527.9547,-708.7713 525.3181,-715.2558"/>
</g>
<!-- ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1081 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1081</title>
<path fill="none" stroke="#000000" d="M495.72,-654C505.52,-654 515.49,-654 525.41,-654"/>
<polygon fill="#000000" stroke="#000000" points="525.71,-657.5001 535.71,-654 525.71,-650.5001 525.71,-657.5001"/>
</g>
<!-- ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1083 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#1083</title>
<path fill="none" stroke="#000000" d="M472.98,-627.42C482.15,-624.37 491.29,-621.2 500,-618 502.99,-616.9 522.14,-608.77 545.9,-598.6"/>
<polygon fill="#000000" stroke="#000000" points="547.3973,-601.7663 555.21,-594.61 544.6398,-595.3322 547.3973,-601.7663"/>
</g>
<!-- ZcashFoundation/zebra#571 -->
<g id="node31" class="node closed">
<title>ZcashFoundation/zebra#571</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/571" xlink:title="ZcashFoundation/zebra#571&#10;Create large transaction&#10;test cases for mempool&#10;testing" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="763.5,-493 540.5,-493 540.5,-425 763.5,-425 763.5,-493"/>
<text text-anchor="middle" x="652" y="-477.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#571</text>
<text text-anchor="middle" x="652" y="-462.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create large transaction</text>
<text text-anchor="middle" x="652" y="-447.8" font-family="Times,serif" font-size="14.00" fill="#000000">test cases for mempool</text>
<text text-anchor="middle" x="652" y="-432.8" font-family="Times,serif" font-size="14.00" fill="#000000">testing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#571 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#936&#45;&gt;ZcashFoundation/zebra#571</title>
<path fill="none" stroke="#000000" d="M488.84,-627.34C492.82,-624.53 496.57,-621.43 500,-618 538.17,-579.83 498.88,-541.19 536,-502 536.66,-501.3 537.34,-500.61 538.02,-499.94"/>
<polygon fill="#000000" stroke="#000000" points="540.6008,-502.3314 545.8,-493.1 535.9788,-497.0743 540.6008,-502.3314"/>
</g>
<!-- ZcashFoundation/zebra#3151 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#3151</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3151" xlink:title="ZcashFoundation/zebra#3151&#10;Store transactions in a&#10;separate database index" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1517.5 268,-1517.5 268,-1464.5 500,-1464.5 500,-1517.5"/>
<text text-anchor="middle" x="384" y="-1502.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3151</text>
<text text-anchor="middle" x="384" y="-1487.3" font-family="Times,serif" font-size="14.00" fill="#000000">Store transactions in a</text>
<text text-anchor="middle" x="384" y="-1472.3" font-family="Times,serif" font-size="14.00" fill="#000000">separate database index</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3145 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#3145</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3145" xlink:title="ZcashFoundation/zebra#3145&#10;getrawtransaction JSON&#45;&#10;RPC method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1036,-1569.5 804,-1569.5 804,-1516.5 1036,-1516.5 1036,-1569.5"/>
<text text-anchor="middle" x="920" y="-1554.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3145</text>
<text text-anchor="middle" x="920" y="-1539.3" font-family="Times,serif" font-size="14.00" fill="#000000">getrawtransaction JSON&#45;</text>
<text text-anchor="middle" x="920" y="-1524.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3145 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3145</title>
<path fill="none" stroke="#000000" d="M463.63,-1517.6C486.72,-1524.2 512.14,-1530.4 536,-1534 621.35,-1546.9 718.56,-1549 793.82,-1548"/>
<polygon fill="#000000" stroke="#000000" points="793.8555,-1551.4999 803.82,-1547.9 793.7855,-1544.5003 793.8555,-1551.4999"/>
</g>
<!-- ZcashFoundation/zebra#3152 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#3152</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3152" xlink:title="ZcashFoundation/zebra#3152&#10;Use smaller keys for&#10;block and transaction&#10;database indexes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-1525 536,-1525 536,-1457 768,-1457 768,-1525"/>
<text text-anchor="middle" x="652" y="-1509.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3152</text>
<text text-anchor="middle" x="652" y="-1494.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use smaller keys for</text>
<text text-anchor="middle" x="652" y="-1479.8" font-family="Times,serif" font-size="14.00" fill="#000000">block and transaction</text>
<text text-anchor="middle" x="652" y="-1464.8" font-family="Times,serif" font-size="14.00" fill="#000000">database indexes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3152 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3152</title>
<path fill="none" stroke="#000000" d="M500.38,-1491C508.71,-1491 517.14,-1491 525.53,-1491"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-1494.5001 535.74,-1491 525.74,-1487.5001 525.74,-1494.5001"/>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3145 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3145</title>
<path fill="none" stroke="#000000" d="M768.38,-1513.6C776.81,-1515.2 785.33,-1516.9 793.81,-1518.5"/>
<polygon fill="#000000" stroke="#000000" points="793.2604,-1521.9583 803.74,-1520.4 794.576,-1515.083 793.2604,-1521.9583"/>
</g>
<!-- ZcashFoundation/zebra#3147 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#3147</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3147" xlink:title="ZcashFoundation/zebra#3147&#10;getaddresstxids JSON&#45;RPC&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1304,-1455.5 1072,-1455.5 1072,-1402.5 1304,-1402.5 1304,-1455.5"/>
<text text-anchor="middle" x="1188" y="-1440.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3147</text>
<text text-anchor="middle" x="1188" y="-1425.3" font-family="Times,serif" font-size="14.00" fill="#000000">getaddresstxids JSON&#45;RPC</text>
<text text-anchor="middle" x="1188" y="-1410.3" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M768.3,-1477.5C854.87,-1467.5 972.93,-1453.9 1061.8,-1443.6"/>
<polygon fill="#000000" stroke="#000000" points="1062.3828,-1447.0555 1071.9,-1442.4 1061.5569,-1440.1044 1062.3828,-1447.0555"/>
</g>
<!-- ZcashFoundation/zebra#3150 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#3150</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3150" xlink:title="ZcashFoundation/zebra#3150&#10;Add a transparent address&#10;indexes to zebra&#45;state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1036,-1393.5 804,-1393.5 804,-1340.5 1036,-1340.5 1036,-1393.5"/>
<text text-anchor="middle" x="920" y="-1378.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3150</text>
<text text-anchor="middle" x="920" y="-1363.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add a transparent address</text>
<text text-anchor="middle" x="920" y="-1348.3" font-family="Times,serif" font-size="14.00" fill="#000000">indexes to zebra&#45;state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3150 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3150</title>
<path fill="none" stroke="#000000" d="M725.59,-1457C765.61,-1438.4 814.73,-1415.7 853.58,-1397.7"/>
<polygon fill="#000000" stroke="#000000" points="855.0949,-1400.8558 862.72,-1393.5 852.172,-1394.4952 855.0949,-1400.8558"/>
</g>
<!-- ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M1034.8,-1393.6C1044.3,-1395.8 1053.9,-1398 1063.5,-1400.2"/>
<polygon fill="#000000" stroke="#000000" points="1062.8673,-1403.6462 1073.4,-1402.5 1064.4515,-1396.8278 1062.8673,-1403.6462"/>
</g>
<!-- ZcashFoundation/zebra#3158 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#3158</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3158" xlink:title="ZcashFoundation/zebra#3158&#10;getaddressutxos JSON&#45;RPC&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1304,-1379.5 1072,-1379.5 1072,-1326.5 1304,-1326.5 1304,-1379.5"/>
<text text-anchor="middle" x="1188" y="-1364.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3158</text>
<text text-anchor="middle" x="1188" y="-1349.3" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressutxos JSON&#45;RPC</text>
<text text-anchor="middle" x="1188" y="-1334.3" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3158 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3158</title>
<path fill="none" stroke="#000000" d="M1036.4,-1360.9C1044.7,-1360.5 1053.1,-1360 1061.5,-1359.6"/>
<polygon fill="#000000" stroke="#000000" points="1061.8834,-1363.0855 1071.7,-1359.1 1061.5406,-1356.0939 1061.8834,-1363.0855"/>
</g>
<!-- ZcashFoundation/zebra#3157 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#3157</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3157" xlink:title="ZcashFoundation/zebra#3157&#10;getaddressbalance JSON&#45;&#10;RPC method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1304,-1298.5 1072,-1298.5 1072,-1245.5 1304,-1245.5 1304,-1298.5"/>
<text text-anchor="middle" x="1188" y="-1283.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3157</text>
<text text-anchor="middle" x="1188" y="-1268.3" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressbalance JSON&#45;</text>
<text text-anchor="middle" x="1188" y="-1253.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3157 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3157</title>
<path fill="none" stroke="#000000" d="M995.01,-1340.4C1028.7,-1328.5 1068.6,-1314.3 1103.4,-1302"/>
<polygon fill="#000000" stroke="#000000" points="1104.7422,-1305.2377 1113,-1298.6 1102.4052,-1298.6393 1104.7422,-1305.2377"/>
</g>
<!-- ZcashFoundation/zebra#3148 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#3148</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3148" xlink:title="ZcashFoundation/zebra#3148&#10;Get addresses from&#10;transparent outputs in&#10;zcash_script" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1401 268,-1401 268,-1333 500,-1333 500,-1401"/>
<text text-anchor="middle" x="384" y="-1385.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3148</text>
<text text-anchor="middle" x="384" y="-1370.8" font-family="Times,serif" font-size="14.00" fill="#000000">Get addresses from</text>
<text text-anchor="middle" x="384" y="-1355.8" font-family="Times,serif" font-size="14.00" fill="#000000">transparent outputs in</text>
<text text-anchor="middle" x="384" y="-1340.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_script</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M492.05,-1401.1C506.7,-1404.7 521.63,-1407.8 536,-1410 717.09,-1437.8 929.69,-1438.1 1061.7,-1434.5"/>
<polygon fill="#000000" stroke="#000000" points="1061.9084,-1437.9955 1071.8,-1434.2 1061.7005,-1430.9985 1061.9084,-1437.9955"/>
</g>
<!-- ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3158 -->
<g id="edge28" class="edge">
<title>ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3158</title>
<path fill="none" stroke="#000000" d="M490.34,-1332.9C505.52,-1329.2 521.06,-1326.1 536,-1324 717.57,-1298.8 930.05,-1317 1061.9,-1333.9"/>
<polygon fill="#000000" stroke="#000000" points="1061.635,-1337.3947 1072,-1335.2 1062.5287,-1330.452 1061.635,-1337.3947"/>
</g>
<!-- ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3157 -->
<g id="edge29" class="edge">
<title>ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3157</title>
<path fill="none" stroke="#000000" d="M477.58,-1332.9C485.19,-1329.9 492.74,-1327 500,-1324 516.22,-1317.4 518.98,-1312.1 536,-1308 714.83,-1264.9 928.92,-1261.9 1061.7,-1265.6"/>
<polygon fill="#000000" stroke="#000000" points="1061.8014,-1269.1044 1071.9,-1265.9 1062.0073,-1262.1074 1061.8014,-1269.1044"/>
</g>
<!-- ZcashFoundation/zebra#3149 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#3149</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3149" xlink:title="ZcashFoundation/zebra#3149&#10;Get addresses from&#10;transparent outputs in&#10;zebra&#45;script" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-1401 536,-1401 536,-1333 768,-1333 768,-1401"/>
<text text-anchor="middle" x="652" y="-1385.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3149</text>
<text text-anchor="middle" x="652" y="-1370.8" font-family="Times,serif" font-size="14.00" fill="#000000">Get addresses from</text>
<text text-anchor="middle" x="652" y="-1355.8" font-family="Times,serif" font-size="14.00" fill="#000000">transparent outputs in</text>
<text text-anchor="middle" x="652" y="-1340.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;script</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3149 -->
<g id="edge30" class="edge">
<title>ZcashFoundation/zebra#3148&#45;&gt;ZcashFoundation/zebra#3149</title>
<path fill="none" stroke="#000000" d="M500.38,-1367C508.71,-1367 517.14,-1367 525.53,-1367"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-1370.5001 535.74,-1367 525.74,-1363.5001 525.74,-1370.5001"/>
</g>
<!-- ZcashFoundation/zebra#3149&#45;&gt;ZcashFoundation/zebra#3150 -->
<g id="edge31" class="edge">
<title>ZcashFoundation/zebra#3149&#45;&gt;ZcashFoundation/zebra#3150</title>
<path fill="none" stroke="#000000" d="M768.38,-1367C776.71,-1367 785.14,-1367 793.53,-1367"/>
<polygon fill="#000000" stroke="#000000" points="793.74,-1370.5001 803.74,-1367 793.74,-1363.5001 793.74,-1370.5001"/>
</g>
<!-- ZcashFoundation/zebra#3161 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#3161</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3161" xlink:title="ZcashFoundation/zebra#3161&#10;Estimate the current&#10;chain height from the&#10;chain tip and local time" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1604 0,-1604 0,-1536 232,-1536 232,-1604"/>
<text text-anchor="middle" x="116" y="-1588.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3161</text>
<text text-anchor="middle" x="116" y="-1573.8" font-family="Times,serif" font-size="14.00" fill="#000000">Estimate the current</text>
<text text-anchor="middle" x="116" y="-1558.8" font-family="Times,serif" font-size="14.00" fill="#000000">chain height from the</text>
<text text-anchor="middle" x="116" y="-1543.8" font-family="Times,serif" font-size="14.00" fill="#000000">chain tip and local time</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3143 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#3143</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3143" xlink:title="ZcashFoundation/zebra#3143&#10;getblockchaininfo JSON&#45;&#10;RPC method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1596.5 268,-1596.5 268,-1543.5 500,-1543.5 500,-1596.5"/>
<text text-anchor="middle" x="384" y="-1581.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3143</text>
<text text-anchor="middle" x="384" y="-1566.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblockchaininfo JSON&#45;</text>
<text text-anchor="middle" x="384" y="-1551.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3161&#45;&gt;ZcashFoundation/zebra#3143 -->
<g id="edge32" class="edge">
<title>ZcashFoundation/zebra#3161&#45;&gt;ZcashFoundation/zebra#3143</title>
<path fill="none" stroke="#000000" d="M232.38,-1570C240.71,-1570 249.14,-1570 257.53,-1570"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1573.5001 267.74,-1570 257.74,-1566.5001 257.74,-1573.5001"/>
</g>
<!-- ZcashFoundation/zebra#2981 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#2981</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2981" xlink:title="ZcashFoundation/zebra#2981&#10;Use the latest bindgen&#10;version in zcash_script&#10;and rocksdb" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1518 0,-1518 0,-1450 232,-1450 232,-1518"/>
<text text-anchor="middle" x="116" y="-1502.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2981</text>
<text text-anchor="middle" x="116" y="-1487.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use the latest bindgen</text>
<text text-anchor="middle" x="116" y="-1472.8" font-family="Times,serif" font-size="14.00" fill="#000000">version in zcash_script</text>
<text text-anchor="middle" x="116" y="-1457.8" font-family="Times,serif" font-size="14.00" fill="#000000">and rocksdb</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2981&#45;&gt;ZcashFoundation/zebra#3151 -->
<g id="edge33" class="edge">
<title>ZcashFoundation/zebra#2981&#45;&gt;ZcashFoundation/zebra#3151</title>
<path fill="none" stroke="#000000" d="M232.38,-1487C240.71,-1487.3 249.14,-1487.5 257.53,-1487.7"/>
<polygon fill="#000000" stroke="#000000" points="257.6415,-1491.2047 267.74,-1488 257.8471,-1484.2077 257.6415,-1491.2047"/>
</g>
<!-- ZcashFoundation/zebra#2981&#45;&gt;ZcashFoundation/zebra#3148 -->
<g id="edge34" class="edge">
<title>ZcashFoundation/zebra#2981&#45;&gt;ZcashFoundation/zebra#3148</title>
<path fill="none" stroke="#000000" d="M194.24,-1449.8C226.29,-1435.8 263.53,-1419.6 296.49,-1405.2"/>
<polygon fill="#000000" stroke="#000000" points="297.9006,-1408.4033 305.67,-1401.2 295.1044,-1401.986 297.9006,-1408.4033"/>
</g>
<!-- ZcashFoundation/zebra#2726 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#2726</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2726" xlink:title="ZcashFoundation/zebra#2726&#10;Make Zebra send&#10;`notfound`, and use&#10;received `notfound` to&#10;finish requests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1705.5 0,-1705.5 0,-1622.5 232,-1622.5 232,-1705.5"/>
<text text-anchor="middle" x="116" y="-1690.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2726</text>
<text text-anchor="middle" x="116" y="-1675.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make Zebra send</text>
<text text-anchor="middle" x="116" y="-1660.3" font-family="Times,serif" font-size="14.00" fill="#000000">`notfound`, and use</text>
<text text-anchor="middle" x="116" y="-1645.3" font-family="Times,serif" font-size="14.00" fill="#000000">received `notfound` to</text>
<text text-anchor="middle" x="116" y="-1630.3" font-family="Times,serif" font-size="14.00" fill="#000000">finish requests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2156 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#2156</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2156" xlink:title="ZcashFoundation/zebra#2156&#10;Security: Send notfound&#10;inv items to the inv&#10;collector, Credit:&#10;Equilibrium" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1705.5 268,-1705.5 268,-1622.5 500,-1622.5 500,-1705.5"/>
<text text-anchor="middle" x="384" y="-1690.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2156</text>
<text text-anchor="middle" x="384" y="-1675.3" font-family="Times,serif" font-size="14.00" fill="#000000">Security: Send notfound</text>
<text text-anchor="middle" x="384" y="-1660.3" font-family="Times,serif" font-size="14.00" fill="#000000">inv items to the inv</text>
<text text-anchor="middle" x="384" y="-1645.3" font-family="Times,serif" font-size="14.00" fill="#000000">collector, Credit:</text>
<text text-anchor="middle" x="384" y="-1630.3" font-family="Times,serif" font-size="14.00" fill="#000000">Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2726&#45;&gt;ZcashFoundation/zebra#2156 -->
<g id="edge35" class="edge">
<title>ZcashFoundation/zebra#2726&#45;&gt;ZcashFoundation/zebra#2156</title>
<path fill="none" stroke="#000000" d="M232.38,-1664C240.71,-1664 249.14,-1664 257.53,-1664"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1667.5001 267.74,-1664 257.74,-1660.5001 257.74,-1667.5001"/>
</g>
<!-- ZcashFoundation/zebra#196 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#196</title>
<g id="a_node46"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/196" xlink:title="ZcashFoundation/zebra#196&#10;Tracking: transaction&#10;validation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-1776.5 4.5,-1776.5 4.5,-1723.5 227.5,-1723.5 227.5,-1776.5"/>
<text text-anchor="middle" x="116" y="-1761.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#196</text>
<text text-anchor="middle" x="116" y="-1746.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: transaction</text>
<text text-anchor="middle" x="116" y="-1731.3" font-family="Times,serif" font-size="14.00" fill="#000000">validation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1486 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#1486</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1486" xlink:title="ZcashFoundation/zebra#1486&#10;Tune RocksDB memory usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1769 268,-1769 268,-1731 500,-1731 500,-1769"/>
<text text-anchor="middle" x="384" y="-1753.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1486</text>
<text text-anchor="middle" x="384" y="-1738.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tune RocksDB memory usage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#196&#45;&gt;ZcashFoundation/zebra#1486 -->
<g id="edge36" class="edge">
<title>ZcashFoundation/zebra#196&#45;&gt;ZcashFoundation/zebra#1486</title>
<path fill="none" stroke="#000000" d="M227.72,-1750C237.52,-1750 247.49,-1750 257.41,-1750"/>
<polygon fill="#000000" stroke="#000000" points="257.71,-1753.5001 267.71,-1750 257.71,-1746.5001 257.71,-1753.5001"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2631" xlink:title="ZcashFoundation/zebra#2631&#10;Send committed spent&#10;OutPoints &amp; nullifiers to&#10;the mempool for rejection" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1863 0,-1863 0,-1795 232,-1795 232,-1863"/>
<text text-anchor="middle" x="116" y="-1847.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="116" y="-1832.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="116" y="-1817.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="116" y="-1802.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node49"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2214" xlink:title="ZcashFoundation/zebra#2214&#10;Limit fanouts to the&#10;number of active peers,&#10;Credit: Equilibrium" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1949 268,-1949 268,-1881 500,-1881 500,-1949"/>
<text text-anchor="middle" x="384" y="-1933.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="384" y="-1918.8" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="384" y="-1903.8" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="384" y="-1888.8" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3136 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#3136</title>
<g id="a_node50"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3136" xlink:title="ZcashFoundation/zebra#3136&#10;Decide if we need shorter&#10;timeouts on PeerSet&#10;fanout requests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-2043 536,-2043 536,-1975 768,-1975 768,-2043"/>
<text text-anchor="middle" x="652" y="-2027.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3136</text>
<text text-anchor="middle" x="652" y="-2012.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we need shorter</text>
<text text-anchor="middle" x="652" y="-1997.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts on PeerSet</text>
<text text-anchor="middle" x="652" y="-1982.8" font-family="Times,serif" font-size="14.00" fill="#000000">fanout requests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#3136 -->
<g id="edge37" class="edge">
<title>ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#3136</title>
<path fill="none" stroke="#000000" d="M481.13,-1949.1C501.92,-1956.4 523.99,-1964.1 545.11,-1971.5"/>
<polygon fill="#000000" stroke="#000000" points="544.1552,-1974.8745 554.75,-1974.9 546.4835,-1968.2731 544.1552,-1974.8745"/>
</g>
<!-- ZcashFoundation/zebra#2244 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#2244</title>
<g id="a_node51"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2244" xlink:title="ZcashFoundation/zebra#2244&#10;Make sure lists are&#10;unique in zebra&#45;network&#10;`Request`s and&#10;`Response`s" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-1956.5 536,-1956.5 536,-1873.5 768,-1873.5 768,-1956.5"/>
<text text-anchor="middle" x="652" y="-1941.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2244</text>
<text text-anchor="middle" x="652" y="-1926.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure lists are</text>
<text text-anchor="middle" x="652" y="-1911.3" font-family="Times,serif" font-size="14.00" fill="#000000">unique in zebra&#45;network</text>
<text text-anchor="middle" x="652" y="-1896.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Request`s and</text>
<text text-anchor="middle" x="652" y="-1881.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Response`s</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#2244 -->
<g id="edge38" class="edge">
<title>ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#2244</title>
<path fill="none" stroke="#000000" d="M500.38,-1915C508.71,-1915 517.14,-1915 525.53,-1915"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-1918.5001 535.74,-1915 525.74,-1911.5001 525.74,-1918.5001"/>
</g>
<!-- ZcashFoundation/zebra#3242 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#3242</title>
<g id="a_node52"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3242" xlink:title="ZcashFoundation/zebra#3242&#10;Fan out `PushTransaction`&#10;requests to multiple&#10;peers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-1855 536,-1855 536,-1787 768,-1787 768,-1855"/>
<text text-anchor="middle" x="652" y="-1839.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3242</text>
<text text-anchor="middle" x="652" y="-1824.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fan out `PushTransaction`</text>
<text text-anchor="middle" x="652" y="-1809.8" font-family="Times,serif" font-size="14.00" fill="#000000">requests to multiple</text>
<text text-anchor="middle" x="652" y="-1794.8" font-family="Times,serif" font-size="14.00" fill="#000000">peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#3242 -->
<g id="edge39" class="edge">
<title>ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#3242</title>
<path fill="none" stroke="#000000" d="M481.13,-1880.9C501.92,-1873.6 523.99,-1865.9 545.11,-1858.5"/>
<polygon fill="#000000" stroke="#000000" points="546.4835,-1861.7269 554.75,-1855.1 544.1552,-1855.1255 546.4835,-1861.7269"/>
</g>
<!-- ZcashFoundation/zebra#3025 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#3025</title>
<g id="a_node53"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3025" xlink:title="ZcashFoundation/zebra#3025&#10;Tag Zebra v1.0.0&#45;beta.3&#10;release" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2020.5 0,-2020.5 0,-1967.5 232,-1967.5 232,-2020.5"/>
<text text-anchor="middle" x="116" y="-2005.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3025</text>
<text text-anchor="middle" x="116" y="-1990.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0&#45;beta.3</text>
<text text-anchor="middle" x="116" y="-1975.3" font-family="Times,serif" font-size="14.00" fill="#000000">release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3229 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#3229</title>
<g id="a_node54"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3229" xlink:title="ZcashFoundation/zebra#3229&#10;Increase `PeerSet`&#10;message and peer handling&#10;test coverage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1949 0,-1949 0,-1881 232,-1881 232,-1949"/>
<text text-anchor="middle" x="116" y="-1933.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3229</text>
<text text-anchor="middle" x="116" y="-1918.8" font-family="Times,serif" font-size="14.00" fill="#000000">Increase `PeerSet`</text>
<text text-anchor="middle" x="116" y="-1903.8" font-family="Times,serif" font-size="14.00" fill="#000000">message and peer handling</text>
<text text-anchor="middle" x="116" y="-1888.8" font-family="Times,serif" font-size="14.00" fill="#000000">test coverage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3229&#45;&gt;ZcashFoundation/zebra#2214 -->
<g id="edge40" class="edge">
<title>ZcashFoundation/zebra#3229&#45;&gt;ZcashFoundation/zebra#2214</title>
<path fill="none" stroke="#000000" d="M232.38,-1915C240.71,-1915 249.14,-1915 257.53,-1915"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1918.5001 267.74,-1915 257.74,-1911.5001 257.74,-1918.5001"/>
</g>
<!-- ZcashFoundation/zebra#2171 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#2171</title>
<g id="a_node55"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2171" xlink:title="ZcashFoundation/zebra#2171&#10;Clearly identify 32&#45;bit&#10;and 64&#45;bit times in&#10;serialization and&#10;proptests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2192.5 0,-2192.5 0,-2109.5 232,-2109.5 232,-2192.5"/>
<text text-anchor="middle" x="116" y="-2177.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2171</text>
<text text-anchor="middle" x="116" y="-2162.3" font-family="Times,serif" font-size="14.00" fill="#000000">Clearly identify 32&#45;bit</text>
<text text-anchor="middle" x="116" y="-2147.3" font-family="Times,serif" font-size="14.00" fill="#000000">and 64&#45;bit times in</text>
<text text-anchor="middle" x="116" y="-2132.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization and</text>
<text text-anchor="middle" x="116" y="-2117.3" font-family="Times,serif" font-size="14.00" fill="#000000">proptests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node56"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Questions for Network&#10;Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-2134.5 268,-2134.5 268,-2081.5 500,-2081.5 500,-2134.5"/>
<text text-anchor="middle" x="384" y="-2119.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="384" y="-2104.3" font-family="Times,serif" font-size="14.00" fill="#000000">Questions for Network</text>
<text text-anchor="middle" x="384" y="-2089.3" font-family="Times,serif" font-size="14.00" fill="#000000">Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2171&#45;&gt;ZcashFoundation/zebra#3247 -->
<g id="edge41" class="edge">
<title>ZcashFoundation/zebra#2171&#45;&gt;ZcashFoundation/zebra#3247</title>
<path fill="none" stroke="#000000" d="M232.38,-2132.3C240.81,-2131 249.33,-2129.6 257.81,-2128.2"/>
<polygon fill="#000000" stroke="#000000" points="258.375,-2131.6545 267.74,-2126.7 257.3294,-2124.733 258.375,-2131.6545"/>
</g>
<!-- ZcashFoundation/zebra#2211 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#2211</title>
<g id="a_node57"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2211" xlink:title="ZcashFoundation/zebra#2211&#10;Use DateTime32 for block&#10;times and lock times" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2091.5 0,-2091.5 0,-2038.5 232,-2038.5 232,-2091.5"/>
<text text-anchor="middle" x="116" y="-2076.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2211</text>
<text text-anchor="middle" x="116" y="-2061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use DateTime32 for block</text>
<text text-anchor="middle" x="116" y="-2046.3" font-family="Times,serif" font-size="14.00" fill="#000000">times and lock times</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2211&#45;&gt;ZcashFoundation/zebra#3247 -->
<g id="edge42" class="edge">
<title>ZcashFoundation/zebra#2211&#45;&gt;ZcashFoundation/zebra#3247</title>
<path fill="none" stroke="#000000" d="M232.38,-2083.7C240.81,-2085 249.33,-2086.4 257.81,-2087.8"/>
<polygon fill="#000000" stroke="#000000" points="257.3294,-2091.267 267.74,-2089.3 258.375,-2084.3455 257.3294,-2091.267"/>
</g>
<!-- ZcashFoundation/zebra#3246 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#3246</title>
<g id="a_node58"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3246" xlink:title="ZcashFoundation/zebra#3246&#10;Re&#45;enable code coverage&#10;comments on PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2421.5 0,-2421.5 0,-2417.5 -4,-2417.5 -4,-2413.5 0,-2413.5 0,-2376.5 -4,-2376.5 -4,-2372.5 0,-2372.5 0,-2368.5 232,-2368.5 232,-2421.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2417.5 4,-2417.5 4,-2413.5 0,-2413.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2376.5 4,-2376.5 4,-2372.5 0,-2372.5 "/>
<text text-anchor="middle" x="116" y="-2406.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3246</text>
<text text-anchor="middle" x="116" y="-2391.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable code coverage</text>
<text text-anchor="middle" x="116" y="-2376.3" font-family="Times,serif" font-size="14.00" fill="#000000">comments on PRs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3253 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#3253</title>
<g id="a_node59"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3253" xlink:title="ZcashFoundation/zebra#3253&#10;Keep track of background&#10;peer tasks" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-2350.5 268,-2350.5 268,-2346.5 264,-2346.5 264,-2342.5 268,-2342.5 268,-2305.5 264,-2305.5 264,-2301.5 268,-2301.5 268,-2297.5 500,-2297.5 500,-2350.5"/>
<polyline fill="none" stroke="#000000" points="268,-2346.5 272,-2346.5 272,-2342.5 268,-2342.5 "/>
<polyline fill="none" stroke="#000000" points="268,-2305.5 272,-2305.5 272,-2301.5 268,-2301.5 "/>
<text text-anchor="middle" x="384" y="-2335.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3253</text>
<text text-anchor="middle" x="384" y="-2320.3" font-family="Times,serif" font-size="14.00" fill="#000000">Keep track of background</text>
<text text-anchor="middle" x="384" y="-2305.3" font-family="Times,serif" font-size="14.00" fill="#000000">peer tasks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3246&#45;&gt;ZcashFoundation/zebra#3253 -->
<g id="edge43" class="edge">
<title>ZcashFoundation/zebra#3246&#45;&gt;ZcashFoundation/zebra#3253</title>
<path fill="none" stroke="#000000" d="M216.17,-2368.5C235.13,-2363.4 255.04,-2358.2 274.27,-2353.1"/>
<polygon fill="#000000" stroke="#000000" points="275.2002,-2356.4743 283.95,-2350.5 273.3844,-2349.7139 275.2002,-2356.4743"/>
</g>
<!-- ZcashFoundation/zebra#3241 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#3241</title>
<g id="a_node60"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3241" xlink:title="ZcashFoundation/zebra#3241&#10;Use `MockedClientHandle`&#10;in other tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2350.5 0,-2350.5 0,-2346.5 -4,-2346.5 -4,-2342.5 0,-2342.5 0,-2305.5 -4,-2305.5 -4,-2301.5 0,-2301.5 0,-2297.5 232,-2297.5 232,-2350.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2346.5 4,-2346.5 4,-2342.5 0,-2342.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2305.5 4,-2305.5 4,-2301.5 0,-2301.5 "/>
<text text-anchor="middle" x="116" y="-2335.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3241</text>
<text text-anchor="middle" x="116" y="-2320.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use `MockedClientHandle`</text>
<text text-anchor="middle" x="116" y="-2305.3" font-family="Times,serif" font-size="14.00" fill="#000000">in other tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3241&#45;&gt;ZcashFoundation/zebra#3253 -->
<g id="edge44" class="edge">
<title>ZcashFoundation/zebra#3241&#45;&gt;ZcashFoundation/zebra#3253</title>
<path fill="none" stroke="#000000" d="M232.38,-2324C240.71,-2324 249.14,-2324 257.53,-2324"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2327.5001 267.74,-2324 257.74,-2320.5001 257.74,-2327.5001"/>
</g>
<!-- ZcashFoundation/zebra#3252 -->
<g id="node61" class="node open">
<title>ZcashFoundation/zebra#3252</title>
<g id="a_node61"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3252" xlink:title="ZcashFoundation/zebra#3252&#10;Add PeerSet readiness and&#10;request future cancel&#45;&#10;safety tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2279 0,-2279 0,-2275 -4,-2275 -4,-2271 0,-2271 0,-2219 -4,-2219 -4,-2215 0,-2215 0,-2211 232,-2211 232,-2279"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2275 4,-2275 4,-2271 0,-2271 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2219 4,-2219 4,-2215 0,-2215 "/>
<text text-anchor="middle" x="116" y="-2263.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3252</text>
<text text-anchor="middle" x="116" y="-2248.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add PeerSet readiness and</text>
<text text-anchor="middle" x="116" y="-2233.8" font-family="Times,serif" font-size="14.00" fill="#000000">request future cancel&#45;</text>
<text text-anchor="middle" x="116" y="-2218.8" font-family="Times,serif" font-size="14.00" fill="#000000">safety tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3252&#45;&gt;ZcashFoundation/zebra#3253 -->
<g id="edge45" class="edge">
<title>ZcashFoundation/zebra#3252&#45;&gt;ZcashFoundation/zebra#3253</title>
<path fill="none" stroke="#000000" d="M231.6,-2279.1C249.01,-2284.2 266.84,-2289.5 283.89,-2294.5"/>
<polygon fill="#000000" stroke="#000000" points="283.2499,-2297.9591 293.83,-2297.4 285.2105,-2291.2393 283.2499,-2297.9591"/>
</g>
<!-- ZcashFoundation/zebra#3175 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#3175</title>
<g id="a_node62"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3175" xlink:title="ZcashFoundation/zebra#3175&#10;Add a copy&#45;state zebrad&#10;command, which copies&#10;blocks between two state&#10;services" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2522.5 0,-2522.5 0,-2518.5 -4,-2518.5 -4,-2514.5 0,-2514.5 0,-2447.5 -4,-2447.5 -4,-2443.5 0,-2443.5 0,-2439.5 232,-2439.5 232,-2522.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2518.5 4,-2518.5 4,-2514.5 0,-2514.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2447.5 4,-2447.5 4,-2443.5 0,-2443.5 "/>
<text text-anchor="middle" x="116" y="-2507.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3175</text>
<text text-anchor="middle" x="116" y="-2492.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add a copy&#45;state zebrad</text>
<text text-anchor="middle" x="116" y="-2477.3" font-family="Times,serif" font-size="14.00" fill="#000000">command, which copies</text>
<text text-anchor="middle" x="116" y="-2462.3" font-family="Times,serif" font-size="14.00" fill="#000000">blocks between two state</text>
<text text-anchor="middle" x="116" y="-2447.3" font-family="Times,serif" font-size="14.00" fill="#000000">services</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3133 -->
<g id="node63" class="node open">
<title>ZcashFoundation/zebra#3133</title>
<g id="a_node63"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3133" xlink:title="ZcashFoundation/zebra#3133&#10;Security: Stop RocksDB&#10;threads calling&#10;unexpected code when&#10;`zebrad` exits" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-2522.5 268,-2522.5 268,-2439.5 500,-2439.5 500,-2522.5"/>
<text text-anchor="middle" x="384" y="-2507.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3133</text>
<text text-anchor="middle" x="384" y="-2492.3" font-family="Times,serif" font-size="14.00" fill="#000000">Security: Stop RocksDB</text>
<text text-anchor="middle" x="384" y="-2477.3" font-family="Times,serif" font-size="14.00" fill="#000000">threads calling</text>
<text text-anchor="middle" x="384" y="-2462.3" font-family="Times,serif" font-size="14.00" fill="#000000">unexpected code when</text>
<text text-anchor="middle" x="384" y="-2447.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zebrad` exits</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3175&#45;&gt;ZcashFoundation/zebra#3133 -->
<g id="edge46" class="edge">
<title>ZcashFoundation/zebra#3175&#45;&gt;ZcashFoundation/zebra#3133</title>
<path fill="none" stroke="#000000" d="M232.38,-2481C240.71,-2481 249.14,-2481 257.53,-2481"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2484.5001 267.74,-2481 257.74,-2477.5001 257.74,-2484.5001"/>
</g>
<!-- ZcashFoundation/zebra#3256 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#3256</title>
<g id="a_node64"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3256" xlink:title="ZcashFoundation/zebra#3256&#10;Release Zebra&#10;v1.0.0&#45;beta.3" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2593.5 0,-2593.5 0,-2589.5 -4,-2589.5 -4,-2585.5 0,-2585.5 0,-2548.5 -4,-2548.5 -4,-2544.5 0,-2544.5 0,-2540.5 232,-2540.5 232,-2593.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2589.5 4,-2589.5 4,-2585.5 0,-2585.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-2548.5 4,-2548.5 4,-2544.5 0,-2544.5 "/>
<text text-anchor="middle" x="116" y="-2578.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3256</text>
<text text-anchor="middle" x="116" y="-2563.3" font-family="Times,serif" font-size="14.00" fill="#000000">Release Zebra</text>
<text text-anchor="middle" x="116" y="-2548.3" font-family="Times,serif" font-size="14.00" fill="#000000">v1.0.0&#45;beta.3</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1686 -->
<g id="node65" class="node open">
<title>ZcashFoundation/zebra#1686</title>
<g id="a_node65"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1686" xlink:title="ZcashFoundation/zebra#1686&#10;Delete isolated::Wrapper" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2650 0,-2650 0,-2612 232,-2612 232,-2650"/>
<text text-anchor="middle" x="116" y="-2634.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1686</text>
<text text-anchor="middle" x="116" y="-2619.8" font-family="Times,serif" font-size="14.00" fill="#000000">Delete isolated::Wrapper</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node66"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/950" xlink:title="ZcashFoundation/zebra#950&#10;Demo: compare zcashd vs&#10;zebrad ludicrous speed on&#10;syncing" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-2736 4.5,-2736 4.5,-2668 227.5,-2668 227.5,-2736"/>
<text text-anchor="middle" x="116" y="-2720.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="116" y="-2705.8" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="116" y="-2690.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="116" y="-2675.8" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#692 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#692</title>
<g id="a_node67"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/692" xlink:title="ZcashFoundation/zebra#692&#10;Use git metadata and&#10;platform info in Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-2807.5 4.5,-2807.5 4.5,-2754.5 227.5,-2754.5 227.5,-2807.5"/>
<text text-anchor="middle" x="116" y="-2792.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#692</text>
<text text-anchor="middle" x="116" y="-2777.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use git metadata and</text>
<text text-anchor="middle" x="116" y="-2762.3" font-family="Times,serif" font-size="14.00" fill="#000000">platform info in Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2985 -->
<g id="node68" class="node open">
<title>ZcashFoundation/zebra#2985</title>
<g id="a_node68"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2985" xlink:title="ZcashFoundation/zebra#2985&#10;Replace outdated tempdir&#10;dependency with tempfile" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2878.5 0,-2878.5 0,-2825.5 232,-2825.5 232,-2878.5"/>
<text text-anchor="middle" x="116" y="-2863.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2985</text>
<text text-anchor="middle" x="116" y="-2848.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace outdated tempdir</text>
<text text-anchor="middle" x="116" y="-2833.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependency with tempfile</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2391 -->
<g id="node69" class="node open">
<title>ZcashFoundation/zebra#2391</title>
<g id="a_node69"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2391" xlink:title="ZcashFoundation/zebra#2391&#10;Reduce the dependencies&#10;on different versions of&#10;`rand`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-2886 268,-2886 268,-2818 500,-2818 500,-2886"/>
<text text-anchor="middle" x="384" y="-2870.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2391</text>
<text text-anchor="middle" x="384" y="-2855.8" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce the dependencies</text>
<text text-anchor="middle" x="384" y="-2840.8" font-family="Times,serif" font-size="14.00" fill="#000000">on different versions of</text>
<text text-anchor="middle" x="384" y="-2825.8" font-family="Times,serif" font-size="14.00" fill="#000000">`rand`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2985&#45;&gt;ZcashFoundation/zebra#2391 -->
<g id="edge47" class="edge">
<title>ZcashFoundation/zebra#2985&#45;&gt;ZcashFoundation/zebra#2391</title>
<path fill="none" stroke="#000000" d="M232.38,-2852C240.71,-2852 249.14,-2852 257.53,-2852"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2855.5001 267.74,-2852 257.74,-2848.5001 257.74,-2855.5001"/>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node70" class="node open">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node70"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1791" xlink:title="ZcashFoundation/zebra#1791&#10;Re&#45;enable `sync_large_che&#10;ckpoints_testnet` test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-2957.5 268,-2957.5 268,-2904.5 500,-2904.5 500,-2957.5"/>
<text text-anchor="middle" x="384" y="-2942.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="384" y="-2927.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="384" y="-2912.3" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1007 -->
<g id="node71" class="node closed">
<title>ZcashFoundation/zebra#1007</title>
<g id="a_node71"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/1007" xlink:title="ZcashFoundation/zebra#1007&#10;Draft RFC: Initial draft&#10;for basic network&#10;integration testing" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-2965 536,-2965 536,-2961 532,-2961 532,-2957 536,-2957 536,-2905 532,-2905 532,-2901 536,-2901 536,-2897 768,-2897 768,-2965"/>
<polyline fill="none" stroke="#000000" points="536,-2961 540,-2961 540,-2957 536,-2957 "/>
<polyline fill="none" stroke="#000000" points="536,-2905 540,-2905 540,-2901 536,-2901 "/>
<text text-anchor="middle" x="652" y="-2949.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1007</text>
<text text-anchor="middle" x="652" y="-2934.8" font-family="Times,serif" font-size="14.00" fill="#000000">Draft RFC: Initial draft</text>
<text text-anchor="middle" x="652" y="-2919.8" font-family="Times,serif" font-size="14.00" fill="#000000">for basic network</text>
<text text-anchor="middle" x="652" y="-2904.8" font-family="Times,serif" font-size="14.00" fill="#000000">integration testing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791&#45;&gt;ZcashFoundation/zebra#1007 -->
<g id="edge48" class="edge">
<title>ZcashFoundation/zebra#1791&#45;&gt;ZcashFoundation/zebra#1007</title>
<path fill="none" stroke="#000000" d="M500.38,-2931C508.71,-2931 517.14,-2931 525.53,-2931"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-2934.5001 535.74,-2931 525.74,-2927.5001 525.74,-2934.5001"/>
</g>
<!-- ZcashFoundation/zebra#2372 -->
<g id="node72" class="node open">
<title>ZcashFoundation/zebra#2372</title>
<g id="a_node72"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2372" xlink:title="ZcashFoundation/zebra#2372&#10; Update the README goals&#10;and scope for NU5 mainnet&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3051 0,-3051 0,-2983 232,-2983 232,-3051"/>
<text text-anchor="middle" x="116" y="-3035.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2372</text>
<text text-anchor="middle" x="116" y="-3020.8" font-family="Times,serif" font-size="14.00" fill="#000000"> Update the README goals</text>
<text text-anchor="middle" x="116" y="-3005.8" font-family="Times,serif" font-size="14.00" fill="#000000">and scope for NU5 mainnet</text>
<text text-anchor="middle" x="116" y="-2990.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node73" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node73"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra v1.0.0 stable&#10;release" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-3043.5 268,-3043.5 268,-2990.5 500,-2990.5 500,-3043.5"/>
<text text-anchor="middle" x="384" y="-3028.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="384" y="-3013.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0 stable</text>
<text text-anchor="middle" x="384" y="-2998.3" font-family="Times,serif" font-size="14.00" fill="#000000">release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge49" class="edge">
<title>ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M232.38,-3017C240.71,-3017 249.14,-3017 257.53,-3017"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-3020.5001 267.74,-3017 257.74,-3013.5001 257.74,-3020.5001"/>
</g>
<!-- ZcashFoundation/zebra#3018 -->
<g id="node74" class="node open">
<title>ZcashFoundation/zebra#3018</title>
<g id="a_node74"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3018" xlink:title="ZcashFoundation/zebra#3018&#10;Rollback NU5 testnet and&#10;set new consensus&#10;parameters" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1064 0,-1064 0,-996 232,-996 232,-1064"/>
<text text-anchor="middle" x="116" y="-1048.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3018</text>
<text text-anchor="middle" x="116" y="-1033.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rollback NU5 testnet and</text>
<text text-anchor="middle" x="116" y="-1018.8" font-family="Times,serif" font-size="14.00" fill="#000000">set new consensus</text>
<text text-anchor="middle" x="116" y="-1003.8" font-family="Times,serif" font-size="14.00" fill="#000000">parameters</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3018&#45;&gt;ZcashFoundation/zebra#2982 -->
<g id="edge50" class="edge">
<title>ZcashFoundation/zebra#3018&#45;&gt;ZcashFoundation/zebra#2982</title>
<path fill="none" stroke="#000000" d="M232.38,-1030C240.71,-1030 249.14,-1030 257.53,-1030"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1033.5001 267.74,-1030 257.74,-1026.5001 257.74,-1033.5001"/>
</g>
<!-- ZcashFoundation/zebra#2331 -->
<g id="node75" class="node open">
<title>ZcashFoundation/zebra#2331</title>
<g id="a_node75"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2331" xlink:title="ZcashFoundation/zebra#2331&#10;Remove serde from zebra&#45;&#10;chain" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3162.5 0,-3162.5 0,-3109.5 232,-3109.5 232,-3162.5"/>
<text text-anchor="middle" x="116" y="-3147.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2331</text>
<text text-anchor="middle" x="116" y="-3132.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove serde from zebra&#45;</text>
<text text-anchor="middle" x="116" y="-3117.3" font-family="Times,serif" font-size="14.00" fill="#000000">chain</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node76" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node76"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2560" xlink:title="ZcashFoundation/zebra#2560&#10;Test History Tree&#10;serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-3201.5 268,-3201.5 268,-3148.5 500,-3148.5 500,-3201.5"/>
<text text-anchor="middle" x="384" y="-3186.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="384" y="-3171.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="384" y="-3156.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2331&#45;&gt;ZcashFoundation/zebra#2560 -->
<g id="edge51" class="edge">
<title>ZcashFoundation/zebra#2331&#45;&gt;ZcashFoundation/zebra#2560</title>
<path fill="none" stroke="#000000" d="M232.38,-3152.9C240.81,-3154.2 249.33,-3155.4 257.81,-3156.6"/>
<polygon fill="#000000" stroke="#000000" points="257.3294,-3160.067 267.74,-3158.1 258.375,-3153.1455 257.3294,-3160.067"/>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node77" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node77"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2042" xlink:title="ZcashFoundation/zebra#2042&#10;zebra&#45;chain: Port array&#45;&#10;wrapper types to const&#10;generics" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-3130 268,-3130 268,-3062 500,-3062 500,-3130"/>
<text text-anchor="middle" x="384" y="-3114.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="384" y="-3099.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;chain: Port array&#45;</text>
<text text-anchor="middle" x="384" y="-3084.8" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="384" y="-3069.8" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2331&#45;&gt;ZcashFoundation/zebra#2042 -->
<g id="edge52" class="edge">
<title>ZcashFoundation/zebra#2331&#45;&gt;ZcashFoundation/zebra#2042</title>
<path fill="none" stroke="#000000" d="M232.38,-3118.6C240.81,-3117.4 249.33,-3116.1 257.81,-3114.8"/>
<polygon fill="#000000" stroke="#000000" points="258.3266,-3118.2619 267.74,-3113.4 257.3493,-3111.3304 258.3266,-3118.2619"/>
</g>
<!-- ZcashFoundation/zebra#1827 -->
<g id="node78" class="node open">
<title>ZcashFoundation/zebra#1827</title>
<g id="a_node78"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1827" xlink:title="ZcashFoundation/zebra#1827&#10;Split `WrongVersion`&#10;errors into&#10;`OutdatedVersion` and&#10;`PreActivationVersion`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3263.5 0,-3263.5 0,-3180.5 232,-3180.5 232,-3263.5"/>
<text text-anchor="middle" x="116" y="-3248.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1827</text>
<text text-anchor="middle" x="116" y="-3233.3" font-family="Times,serif" font-size="14.00" fill="#000000">Split `WrongVersion`</text>
<text text-anchor="middle" x="116" y="-3218.3" font-family="Times,serif" font-size="14.00" fill="#000000">errors into</text>
<text text-anchor="middle" x="116" y="-3203.3" font-family="Times,serif" font-size="14.00" fill="#000000">`OutdatedVersion` and</text>
<text text-anchor="middle" x="116" y="-3188.3" font-family="Times,serif" font-size="14.00" fill="#000000">`PreActivationVersion`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1592 -->
<g id="node79" class="node open">
<title>ZcashFoundation/zebra#1592</title>
<g id="a_node79"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1592" xlink:title="ZcashFoundation/zebra#1592&#10;Run full sync tests on&#10;Mainnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3334.5 0,-3334.5 0,-3281.5 232,-3281.5 232,-3334.5"/>
<text text-anchor="middle" x="116" y="-3319.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1592</text>
<text text-anchor="middle" x="116" y="-3304.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run full sync tests on</text>
<text text-anchor="middle" x="116" y="-3289.3" font-family="Times,serif" font-size="14.00" fill="#000000">Mainnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1817 -->
<g id="node80" class="node closed">
<title>ZcashFoundation/zebra#1817</title>
<g id="a_node80"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/1817" xlink:title="ZcashFoundation/zebra#1817&#10;Re&#45;Apply &quot;Refactor&#10;`connection.rs` to make&#10;`fail_with` errors&#10;impossible&quot; (double&#10;revert)" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="500,-3357 268,-3357 268,-3353 264,-3353 264,-3349 268,-3349 268,-3267 264,-3267 264,-3263 268,-3263 268,-3259 500,-3259 500,-3357"/>
<polyline fill="none" stroke="#000000" points="268,-3353 272,-3353 272,-3349 268,-3349 "/>
<polyline fill="none" stroke="#000000" points="268,-3267 272,-3267 272,-3263 268,-3263 "/>
<text text-anchor="middle" x="384" y="-3341.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1817</text>
<text text-anchor="middle" x="384" y="-3326.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;Apply &quot;Refactor</text>
<text text-anchor="middle" x="384" y="-3311.8" font-family="Times,serif" font-size="14.00" fill="#000000">`connection.rs` to make</text>
<text text-anchor="middle" x="384" y="-3296.8" font-family="Times,serif" font-size="14.00" fill="#000000">`fail_with` errors</text>
<text text-anchor="middle" x="384" y="-3281.8" font-family="Times,serif" font-size="14.00" fill="#000000">impossible&quot; (double</text>
<text text-anchor="middle" x="384" y="-3266.8" font-family="Times,serif" font-size="14.00" fill="#000000">revert)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1592&#45;&gt;ZcashFoundation/zebra#1817 -->
<g id="edge53" class="edge">
<title>ZcashFoundation/zebra#1592&#45;&gt;ZcashFoundation/zebra#1817</title>
<path fill="none" stroke="#000000" d="M232.38,-3308C240.71,-3308 249.14,-3308 257.53,-3308"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-3311.5001 267.74,-3308 257.74,-3304.5001 257.74,-3311.5001"/>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node81" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node81"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1841" xlink:title="ZcashFoundation/zebra#1841&#10;ZIP&#45;252: Update Zebra for&#10;NU5 mainnet activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3405.5 0,-3405.5 0,-3352.5 232,-3352.5 232,-3405.5"/>
<text text-anchor="middle" x="116" y="-3390.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="116" y="-3375.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;252: Update Zebra for</text>
<text text-anchor="middle" x="116" y="-3360.3" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 mainnet activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node82" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node82"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1875" xlink:title="ZcashFoundation/zebra#1875&#10;Zebra attempts new peer&#10;connections in a fixed,&#10;predictable order" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3492 0,-3492 0,-3424 232,-3424 232,-3492"/>
<text text-anchor="middle" x="116" y="-3476.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="116" y="-3461.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="116" y="-3446.8" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="116" y="-3431.8" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node83" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node83"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1890" xlink:title="ZcashFoundation/zebra#1890&#10;Zebra should support&#10;separate local bind and&#10;external advertise&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3593.5 0,-3593.5 0,-3510.5 232,-3510.5 232,-3593.5"/>
<text text-anchor="middle" x="116" y="-3578.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="116" y="-3563.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="116" y="-3548.3" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="116" y="-3533.3" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="116" y="-3518.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1893 -->
<g id="node84" class="node open">
<title>ZcashFoundation/zebra#1893</title>
<g id="a_node84"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1893" xlink:title="ZcashFoundation/zebra#1893&#10;Zebra should auto&#45;&#10;discover its own external&#10;IP address" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-3586 268,-3586 268,-3518 500,-3518 500,-3586"/>
<text text-anchor="middle" x="384" y="-3570.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1893</text>
<text text-anchor="middle" x="384" y="-3555.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should auto&#45;</text>
<text text-anchor="middle" x="384" y="-3540.8" font-family="Times,serif" font-size="14.00" fill="#000000">discover its own external</text>
<text text-anchor="middle" x="384" y="-3525.8" font-family="Times,serif" font-size="14.00" fill="#000000">IP address</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890&#45;&gt;ZcashFoundation/zebra#1893 -->
<g id="edge54" class="edge">
<title>ZcashFoundation/zebra#1890&#45;&gt;ZcashFoundation/zebra#1893</title>
<path fill="none" stroke="#000000" d="M232.38,-3552C240.71,-3552 249.14,-3552 257.53,-3552"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-3555.5001 267.74,-3552 257.74,-3548.5001 257.74,-3555.5001"/>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node85" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node85"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1904" xlink:title="ZcashFoundation/zebra#1904&#10;Some DNS seeders and&#10;block explorers don&#39;t&#10;show Zebra nodes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-2965 0,-2965 0,-2897 232,-2897 232,-2965"/>
<text text-anchor="middle" x="116" y="-2949.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="116" y="-2934.8" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="116" y="-2919.8" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="116" y="-2904.8" font-family="Times,serif" font-size="14.00" fill="#000000">show Zebra nodes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791 -->
<g id="edge55" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M232.38,-2931C240.71,-2931 249.14,-2931 257.53,-2931"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2934.5001 267.74,-2931 257.74,-2927.5001 257.74,-2934.5001"/>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node86" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node86"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1956" xlink:title="ZcashFoundation/zebra#1956&#10;Zebra should store a&#10;persistent list of recent&#10;successful peers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3680 0,-3680 0,-3612 232,-3612 232,-3680"/>
<text text-anchor="middle" x="116" y="-3664.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="116" y="-3649.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="116" y="-3634.8" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="116" y="-3619.8" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2015 -->
<g id="node87" class="node open">
<title>ZcashFoundation/zebra#2015</title>
<g id="a_node87"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2015" xlink:title="ZcashFoundation/zebra#2015&#10;Run coverage on the&#10;latest nightly" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3751.5 0,-3751.5 0,-3698.5 232,-3698.5 232,-3751.5"/>
<text text-anchor="middle" x="116" y="-3736.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2015</text>
<text text-anchor="middle" x="116" y="-3721.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run coverage on the</text>
<text text-anchor="middle" x="116" y="-3706.3" font-family="Times,serif" font-size="14.00" fill="#000000">latest nightly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2028 -->
<g id="node88" class="node open">
<title>ZcashFoundation/zebra#2028</title>
<g id="a_node88"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2028" xlink:title="ZcashFoundation/zebra#2028&#10;Use the AtLeastOne&#10;generic type to enforce&#10;field counts" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3838 0,-3838 0,-3770 232,-3770 232,-3838"/>
<text text-anchor="middle" x="116" y="-3822.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2028</text>
<text text-anchor="middle" x="116" y="-3807.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use the AtLeastOne</text>
<text text-anchor="middle" x="116" y="-3792.8" font-family="Times,serif" font-size="14.00" fill="#000000">generic type to enforce</text>
<text text-anchor="middle" x="116" y="-3777.8" font-family="Times,serif" font-size="14.00" fill="#000000">field counts</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1774 -->
<g id="node89" class="node open">
<title>ZcashFoundation/zebra#1774</title>
<g id="a_node89"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1774" xlink:title="ZcashFoundation/zebra#1774&#10;Add a size estimator to&#10;the message encoder and&#10;serializers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3924 0,-3924 0,-3856 232,-3856 232,-3924"/>
<text text-anchor="middle" x="116" y="-3908.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1774</text>
<text text-anchor="middle" x="116" y="-3893.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a size estimator to</text>
<text text-anchor="middle" x="116" y="-3878.8" font-family="Times,serif" font-size="14.00" fill="#000000">the message encoder and</text>
<text text-anchor="middle" x="116" y="-3863.8" font-family="Times,serif" font-size="14.00" fill="#000000">serializers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2035 -->
<g id="node90" class="node open">
<title>ZcashFoundation/zebra#2035</title>
<g id="a_node90"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/2035" xlink:title="ZcashFoundation/zebra#2035&#10;Add external_addr to&#10;config (network section)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-3995.5 0,-3995.5 0,-3991.5 -4,-3991.5 -4,-3987.5 0,-3987.5 0,-3950.5 -4,-3950.5 -4,-3946.5 0,-3946.5 0,-3942.5 232,-3942.5 232,-3995.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-3991.5 4,-3991.5 4,-3987.5 0,-3987.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-3950.5 4,-3950.5 4,-3946.5 0,-3946.5 "/>
<text text-anchor="middle" x="116" y="-3980.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2035</text>
<text text-anchor="middle" x="116" y="-3965.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add external_addr to</text>
<text text-anchor="middle" x="116" y="-3950.3" font-family="Times,serif" font-size="14.00" fill="#000000">config (network section)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2052 -->
<g id="node91" class="node open">
<title>ZcashFoundation/zebra#2052</title>
<g id="a_node91"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2052" xlink:title="ZcashFoundation/zebra#2052&#10;Use default port for&#10;initial peers and&#10;external addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-4003 268,-4003 268,-3935 500,-3935 500,-4003"/>
<text text-anchor="middle" x="384" y="-3987.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2052</text>
<text text-anchor="middle" x="384" y="-3972.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use default port for</text>
<text text-anchor="middle" x="384" y="-3957.8" font-family="Times,serif" font-size="14.00" fill="#000000">initial peers and</text>
<text text-anchor="middle" x="384" y="-3942.8" font-family="Times,serif" font-size="14.00" fill="#000000">external addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2035&#45;&gt;ZcashFoundation/zebra#2052 -->
<g id="edge56" class="edge">
<title>ZcashFoundation/zebra#2035&#45;&gt;ZcashFoundation/zebra#2052</title>
<path fill="none" stroke="#000000" d="M232.38,-3969C240.71,-3969 249.14,-3969 257.53,-3969"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-3972.5001 267.74,-3969 257.74,-3965.5001 257.74,-3972.5001"/>
</g>
<!-- ZcashFoundation/zebra#2112 -->
<g id="node92" class="node open">
<title>ZcashFoundation/zebra#2112</title>
<g id="a_node92"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2112" xlink:title="ZcashFoundation/zebra#2112&#10;Integrate&#10;TurboWish/tokio&#45;console" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4089.5 0,-4089.5 0,-4036.5 232,-4036.5 232,-4089.5"/>
<text text-anchor="middle" x="116" y="-4074.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2112</text>
<text text-anchor="middle" x="116" y="-4059.3" font-family="Times,serif" font-size="14.00" fill="#000000">Integrate</text>
<text text-anchor="middle" x="116" y="-4044.3" font-family="Times,serif" font-size="14.00" fill="#000000">TurboWish/tokio&#45;console</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2193 -->
<g id="node93" class="node closed">
<title>ZcashFoundation/zebra#2193</title>
<g id="a_node93"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2193" xlink:title="ZcashFoundation/zebra#2193&#10;Redesign zebra&#45;network so&#10;it&#39;s less sensitive to&#10;message order, timing,&#10;buffer size" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="500,-4104.5 268,-4104.5 268,-4021.5 500,-4021.5 500,-4104.5"/>
<text text-anchor="middle" x="384" y="-4089.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2193</text>
<text text-anchor="middle" x="384" y="-4074.3" font-family="Times,serif" font-size="14.00" fill="#000000">Redesign zebra&#45;network so</text>
<text text-anchor="middle" x="384" y="-4059.3" font-family="Times,serif" font-size="14.00" fill="#000000">it&#39;s less sensitive to</text>
<text text-anchor="middle" x="384" y="-4044.3" font-family="Times,serif" font-size="14.00" fill="#000000">message order, timing,</text>
<text text-anchor="middle" x="384" y="-4029.3" font-family="Times,serif" font-size="14.00" fill="#000000">buffer size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2112&#45;&gt;ZcashFoundation/zebra#2193 -->
<g id="edge57" class="edge">
<title>ZcashFoundation/zebra#2112&#45;&gt;ZcashFoundation/zebra#2193</title>
<path fill="none" stroke="#000000" d="M232.38,-4063C240.71,-4063 249.14,-4063 257.53,-4063"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-4066.5001 267.74,-4063 257.74,-4059.5001 257.74,-4066.5001"/>
</g>
<!-- ZcashFoundation/zebra#2202 -->
<g id="node94" class="node open">
<title>ZcashFoundation/zebra#2202</title>
<g id="a_node94"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2202" xlink:title="ZcashFoundation/zebra#2202&#10;Move batch cryptography&#10;flushes to a blocking&#10;thread" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4176 0,-4176 0,-4108 232,-4108 232,-4176"/>
<text text-anchor="middle" x="116" y="-4160.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2202</text>
<text text-anchor="middle" x="116" y="-4145.8" font-family="Times,serif" font-size="14.00" fill="#000000">Move batch cryptography</text>
<text text-anchor="middle" x="116" y="-4130.8" font-family="Times,serif" font-size="14.00" fill="#000000">flushes to a blocking</text>
<text text-anchor="middle" x="116" y="-4115.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2201 -->
<g id="node95" class="node open">
<title>ZcashFoundation/zebra#2201</title>
<g id="a_node95"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2201" xlink:title="ZcashFoundation/zebra#2201&#10;Move the metrics recorder&#10;to a blocking thread" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4247.5 0,-4247.5 0,-4194.5 232,-4194.5 232,-4247.5"/>
<text text-anchor="middle" x="116" y="-4232.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2201</text>
<text text-anchor="middle" x="116" y="-4217.3" font-family="Times,serif" font-size="14.00" fill="#000000">Move the metrics recorder</text>
<text text-anchor="middle" x="116" y="-4202.3" font-family="Times,serif" font-size="14.00" fill="#000000">to a blocking thread</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2268 -->
<g id="node96" class="node open">
<title>ZcashFoundation/zebra#2268</title>
<g id="a_node96"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2268" xlink:title="ZcashFoundation/zebra#2268&#10;Replace atomics with&#10;watch or oneshot channels" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4318.5 0,-4318.5 0,-4265.5 232,-4265.5 232,-4318.5"/>
<text text-anchor="middle" x="116" y="-4303.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2268</text>
<text text-anchor="middle" x="116" y="-4288.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace atomics with</text>
<text text-anchor="middle" x="116" y="-4273.3" font-family="Times,serif" font-size="14.00" fill="#000000">watch or oneshot channels</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2338 -->
<g id="node97" class="node open">
<title>ZcashFoundation/zebra#2338</title>
<g id="a_node97"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2338" xlink:title="ZcashFoundation/zebra#2338&#10;Create Error enums in&#10;`zebrad`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4389.5 0,-4389.5 0,-4336.5 232,-4336.5 232,-4389.5"/>
<text text-anchor="middle" x="116" y="-4374.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2338</text>
<text text-anchor="middle" x="116" y="-4359.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create Error enums in</text>
<text text-anchor="middle" x="116" y="-4344.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zebrad`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2339 -->
<g id="node98" class="node closed">
<title>ZcashFoundation/zebra#2339</title>
<g id="a_node98"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2339" xlink:title="ZcashFoundation/zebra#2339&#10;Downcast and match&#10;Already Verified error&#10;enums in the syncer" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="500,-4397 268,-4397 268,-4329 500,-4329 500,-4397"/>
<text text-anchor="middle" x="384" y="-4381.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2339</text>
<text text-anchor="middle" x="384" y="-4366.8" font-family="Times,serif" font-size="14.00" fill="#000000">Downcast and match</text>
<text text-anchor="middle" x="384" y="-4351.8" font-family="Times,serif" font-size="14.00" fill="#000000">Already Verified error</text>
<text text-anchor="middle" x="384" y="-4336.8" font-family="Times,serif" font-size="14.00" fill="#000000">enums in the syncer</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2338&#45;&gt;ZcashFoundation/zebra#2339 -->
<g id="edge58" class="edge">
<title>ZcashFoundation/zebra#2338&#45;&gt;ZcashFoundation/zebra#2339</title>
<path fill="none" stroke="#000000" d="M232.38,-4363C240.71,-4363 249.14,-4363 257.53,-4363"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-4366.5001 267.74,-4363 257.74,-4359.5001 257.74,-4366.5001"/>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node99" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node99"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2375" xlink:title="ZcashFoundation/zebra#2375&#10;Automatically use zebrad&#10;version for the zebra&#45;&#10;network user agent" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4476 0,-4476 0,-4408 232,-4408 232,-4476"/>
<text text-anchor="middle" x="116" y="-4460.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="116" y="-4445.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automatically use zebrad</text>
<text text-anchor="middle" x="116" y="-4430.8" font-family="Times,serif" font-size="14.00" fill="#000000">version for the zebra&#45;</text>
<text text-anchor="middle" x="116" y="-4415.8" font-family="Times,serif" font-size="14.00" fill="#000000">network user agent</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node100" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node100"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/794" xlink:title="ZcashFoundation/zebra#794&#10;Make sure custom user&#10;agents conform to BIP&#45;14" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="495.5,-4468.5 272.5,-4468.5 272.5,-4415.5 495.5,-4415.5 495.5,-4468.5"/>
<text text-anchor="middle" x="384" y="-4453.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="384" y="-4438.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="384" y="-4423.3" font-family="Times,serif" font-size="14.00" fill="#000000">agents conform to BIP&#45;14</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794 -->
<g id="edge59" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M232.38,-4442C242.23,-4442 252.22,-4442 262.11,-4442"/>
<polygon fill="#000000" stroke="#000000" points="262.39,-4445.5001 272.39,-4442 262.39,-4438.5001 262.39,-4445.5001"/>
</g>
<!-- ZcashFoundation/zebra#2377 -->
<g id="node101" class="node open">
<title>ZcashFoundation/zebra#2377</title>
<g id="a_node101"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2377" xlink:title="ZcashFoundation/zebra#2377&#10;Refactor history tree&#10;pruning" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4547.5 0,-4547.5 0,-4494.5 232,-4494.5 232,-4547.5"/>
<text text-anchor="middle" x="116" y="-4532.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2377</text>
<text text-anchor="middle" x="116" y="-4517.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor history tree</text>
<text text-anchor="middle" x="116" y="-4502.3" font-family="Times,serif" font-size="14.00" fill="#000000">pruning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2378 -->
<g id="node102" class="node open">
<title>ZcashFoundation/zebra#2378</title>
<g id="a_node102"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2378" xlink:title="ZcashFoundation/zebra#2378&#10;Improve history and note&#10;commitment trees forking" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4618.5 0,-4618.5 0,-4565.5 232,-4565.5 232,-4618.5"/>
<text text-anchor="middle" x="116" y="-4603.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2378</text>
<text text-anchor="middle" x="116" y="-4588.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve history and note</text>
<text text-anchor="middle" x="116" y="-4573.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment trees forking</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1951 -->
<g id="node103" class="node open">
<title>ZcashFoundation/zebra#1951</title>
<g id="a_node103"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1951" xlink:title="ZcashFoundation/zebra#1951&#10;Generalize/deduplicate&#10;async batch verification&#10;services / create a&#10;derive&#45;able proc macro" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-4719.5 0,-4719.5 0,-4636.5 232,-4636.5 232,-4719.5"/>
<text text-anchor="middle" x="116" y="-4704.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1951</text>
<text text-anchor="middle" x="116" y="-4689.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalize/deduplicate</text>
<text text-anchor="middle" x="116" y="-4674.3" font-family="Times,serif" font-size="14.00" fill="#000000">async batch verification</text>
<text text-anchor="middle" x="116" y="-4659.3" font-family="Times,serif" font-size="14.00" fill="#000000">services / create a</text>
<text text-anchor="middle" x="116" y="-4644.3" font-family="Times,serif" font-size="14.00" fill="#000000">derive&#45;able proc macro</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2390 -->
<g id="node104" class="node open">
<title>ZcashFoundation/zebra#2390</title>
<g id="a_node104"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2390" xlink:title="ZcashFoundation/zebra#2390&#10;Fix tasks spawned by&#10;`tower_batch::Batch` only&#10;being alive during one&#10;test execution" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-4719.5 268,-4719.5 268,-4636.5 500,-4636.5 500,-4719.5"/>
<text text-anchor="middle" x="384" y="-4704.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2390</text>
<text text-anchor="middle" x="384" y="-4689.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix tasks spawned by</text>
<text text-anchor="middle" x="384" y="-4674.3" font-family="Times,serif" font-size="14.00" fill="#000000">`tower_batch::Batch` only</text>
<text text-anchor="middle" x="384" y="-4659.3" font-family="Times,serif" font-size="14.00" fill="#000000">being alive during one</text>
<text text-anchor="middle" x="384" y="-4644.3" font-family="Times,serif" font-size="14.00" fill="#000000">test execution</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1951&#45;&gt;ZcashFoundation/zebra#2390 -->
<g id="edge60" class="edge">
<title>ZcashFoundation/zebra#1951&#45;&gt;ZcashFoundation/zebra#2390</title>
<path fill="none" stroke="#000000" d="M232.38,-4678C240.71,-4678 249.14,-4678 257.53,-4678"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-4681.5001 267.74,-4678 257.74,-4674.5001 257.74,-4681.5001"/>
</g>
</g>
</svg>