developers/zcash-zf-dag.html

1054 lines
78 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="1322pt" height="3035pt"
viewBox="0.00 0.00 1322.00 3035.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 3031)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-3031 1318,-3031 1318,4 -4,4"/>
<!-- ZcashFoundation/zebra#3500 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#3500</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3500" xlink:title="ZcashFoundation/zebra#3500&#10;Detect warnings, errors&#10;and panics in full sync&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-232.5 5,-232.5 5,-164.5 237,-164.5 237,-232.5"/>
<text text-anchor="middle" x="121" y="-217.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3500</text>
<text text-anchor="middle" x="121" y="-202.3" font-family="Times,serif" font-size="14.00" fill="#000000">Detect warnings, errors</text>
<text text-anchor="middle" x="121" y="-187.3" font-family="Times,serif" font-size="14.00" fill="#000000">and panics in full sync</text>
<text text-anchor="middle" x="121" y="-172.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3150 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#3150</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3150" xlink:title="ZcashFoundation/zebra#3150&#10;Add transparent address&#10;indexes to zebra&#45;state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="778,-202 546,-202 546,-149 778,-149 778,-202"/>
<text text-anchor="middle" x="662" y="-186.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3150</text>
<text text-anchor="middle" x="662" y="-171.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add transparent address</text>
<text text-anchor="middle" x="662" y="-156.8" font-family="Times,serif" font-size="14.00" fill="#000000">indexes to zebra&#45;state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3545 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#3545</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3545" xlink:title="ZcashFoundation/zebra#3545&#10;Generate stateful disks&#10;containing lightwalletd&#45;&#10;supporting zebra&#45;state&#10;cache" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1046,-225 814,-225 814,-142 1046,-142 1046,-225"/>
<text text-anchor="middle" x="930" y="-209.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3545</text>
<text text-anchor="middle" x="930" y="-194.8" font-family="Times,serif" font-size="14.00" fill="#000000">Generate stateful disks</text>
<text text-anchor="middle" x="930" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">containing lightwalletd&#45;</text>
<text text-anchor="middle" x="930" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">supporting zebra&#45;state</text>
<text text-anchor="middle" x="930" y="-149.8" font-family="Times,serif" font-size="14.00" fill="#000000">cache</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3545 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3545</title>
<path fill="none" stroke="#000000" d="M778.38,-178.97C786.71,-179.22 795.14,-179.47 803.53,-179.72"/>
<polygon fill="#000000" stroke="#000000" points="803.6384,-183.2248 813.74,-180.03 803.8509,-176.228 803.6384,-183.2248"/>
</g>
<!-- ZcashFoundation/zebra#3147 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#3147</title>
<g id="a_node4"><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="1046,-296 814,-296 814,-243 1046,-243 1046,-296"/>
<text text-anchor="middle" x="930" y="-280.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3147</text>
<text text-anchor="middle" x="930" y="-265.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddresstxids JSON&#45;RPC</text>
<text text-anchor="middle" x="930" y="-250.8" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M729.01,-202.12C755.36,-212.32 785.97,-223.81 814,-233.5 820.02,-235.58 826.23,-237.67 832.5,-239.74"/>
<polygon fill="#000000" stroke="#000000" points="831.8078,-243.1953 842.4,-242.96 833.9729,-236.5385 831.8078,-243.1953"/>
</g>
<!-- ZcashFoundation/zebra#3157 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#3157</title>
<g id="a_node5"><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="1046,-124 814,-124 814,-71 1046,-71 1046,-124"/>
<text text-anchor="middle" x="930" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3157</text>
<text text-anchor="middle" x="930" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressbalance JSON&#45;</text>
<text text-anchor="middle" x="930" y="-78.8" 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="edge3" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3157</title>
<path fill="none" stroke="#000000" d="M753.11,-148.98C777.49,-141.89 803.99,-134.18 828.87,-126.93"/>
<polygon fill="#000000" stroke="#000000" points="830.0618,-130.2286 838.69,-124.08 828.1107,-123.506 830.0618,-130.2286"/>
</g>
<!-- ZcashFoundation/zebra#3158 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#3158</title>
<g id="a_node6"><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="1046,-53 814,-53 814,0 1046,0 1046,-53"/>
<text text-anchor="middle" x="930" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3158</text>
<text text-anchor="middle" x="930" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressutxos JSON&#45;RPC</text>
<text text-anchor="middle" x="930" y="-7.8" 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="edge4" class="edge">
<title>ZcashFoundation/zebra#3150&#45;&gt;ZcashFoundation/zebra#3158</title>
<path fill="none" stroke="#000000" d="M690.77,-149C719.9,-123.42 767.2,-85.172 814,-61.5 817.1,-59.933 820.28,-58.423 823.52,-56.969"/>
<polygon fill="#000000" stroke="#000000" points="824.9558,-60.1617 832.78,-53.018 822.2087,-53.7233 824.9558,-60.1617"/>
</g>
<!-- ZcashFoundation/zebra#3511 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#3511</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3511" xlink:title="ZcashFoundation/zebra#3511&#10;Use cached state in&#10;lightwalletd integration&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1314,-309.5 1082,-309.5 1082,-241.5 1314,-241.5 1314,-309.5"/>
<text text-anchor="middle" x="1198" y="-294.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3511</text>
<text text-anchor="middle" x="1198" y="-279.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use cached state in</text>
<text text-anchor="middle" x="1198" y="-264.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="1198" y="-249.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3545&#45;&gt;ZcashFoundation/zebra#3511 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#3545&#45;&gt;ZcashFoundation/zebra#3511</title>
<path fill="none" stroke="#000000" d="M1046.4,-223.45C1060.6,-228.34 1075.1,-233.32 1089.2,-238.16"/>
<polygon fill="#000000" stroke="#000000" points="1088.3054,-241.5533 1098.9,-241.49 1090.5783,-234.9326 1088.3054,-241.5533"/>
</g>
<!-- ZcashFoundation/zebra#3414 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#3414</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3414" xlink:title="ZcashFoundation/zebra#3414&#10;Upgrade to NU5 mainnet&#10;version of orchard and&#10;librustzcash" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-498.5 5,-498.5 5,-430.5 237,-430.5 237,-498.5"/>
<text text-anchor="middle" x="121" y="-483.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3414</text>
<text text-anchor="middle" x="121" y="-468.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 mainnet</text>
<text text-anchor="middle" x="121" y="-453.3" font-family="Times,serif" font-size="14.00" fill="#000000">version of orchard and</text>
<text text-anchor="middle" x="121" y="-438.3" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node9"><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" points="510,-491 278,-491 278,-438 510,-438 510,-491"/>
<text text-anchor="middle" x="394" y="-475.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="394" y="-460.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;252: Update Zebra for</text>
<text text-anchor="middle" x="394" y="-445.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 mainnet activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#1841 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#1841</title>
<path fill="none" stroke="#000000" d="M237.17,-464.5C247.29,-464.5 257.57,-464.5 267.77,-464.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-468.0001 277.93,-464.5 267.93,-461.0001 267.93,-468.0001"/>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node10"><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="232.5,-603 9.5,-603 9.5,-550 232.5,-550 232.5,-603"/>
<text text-anchor="middle" x="121" y="-587.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="121" y="-572.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Key Agreement and</text>
<text text-anchor="middle" x="121" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node11"><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="505.5,-637 282.5,-637 282.5,-584 505.5,-584 505.5,-637"/>
<text text-anchor="middle" x="394" y="-621.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="394" y="-606.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note encryption</text>
<text text-anchor="middle" x="394" y="-591.8" 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="edge7" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M232.83,-590.43C245.85,-592.05 259.19,-593.71 272.34,-595.35"/>
<polygon fill="#000000" stroke="#000000" points="271.9955,-598.834 282.35,-596.59 272.8562,-591.8871 271.9955,-598.834"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node12"><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="510,-566 278,-566 278,-513 510,-513 510,-566"/>
<text text-anchor="middle" x="394" y="-550.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="394" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="394" y="-520.8" 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="edge8" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M232.83,-561.34C244.33,-559.78 256.07,-558.19 267.72,-556.61"/>
<polygon fill="#000000" stroke="#000000" points="268.4796,-560.0392 277.92,-555.23 267.541,-553.1024 268.4796,-560.0392"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node13"><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="232.5,-659.5 9.5,-659.5 9.5,-621.5 232.5,-621.5 232.5,-659.5"/>
<text text-anchor="middle" x="121" y="-644.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="121" y="-629.3" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#899 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#899</title>
<g id="a_node14"><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" stroke-width="2" points="232.5,-731 9.5,-731 9.5,-678 232.5,-678 232.5,-731"/>
<text text-anchor="middle" x="121" y="-715.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#899</text>
<text text-anchor="middle" x="121" y="-700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Retcon new sync logic</text>
<text text-anchor="middle" x="121" y="-685.8" font-family="Times,serif" font-size="14.00" fill="#000000">into RFC1</text>
</a>
</g>
</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="505.5,-810 282.5,-810 282.5,-757 505.5,-757 505.5,-810"/>
<text text-anchor="middle" x="394" y="-794.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#889</text>
<text text-anchor="middle" x="394" y="-779.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: inbound message</text>
<text text-anchor="middle" x="394" y="-764.8" 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="778,-825 546,-825 546,-742 778,-742 778,-825"/>
<text text-anchor="middle" x="662" y="-809.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1077</text>
<text text-anchor="middle" x="662" y="-794.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send inbound</text>
<text text-anchor="middle" x="662" y="-779.8" font-family="Times,serif" font-size="14.00" fill="#000000">`TransactionsById`</text>
<text text-anchor="middle" x="662" y="-764.8" font-family="Times,serif" font-size="14.00" fill="#000000">requests to the mempool</text>
<text text-anchor="middle" x="662" y="-749.8" 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="edge9" class="edge">
<title>ZcashFoundation/zebra#889&#45;&gt;ZcashFoundation/zebra#1077</title>
<path fill="none" stroke="#000000" d="M505.72,-783.5C515.52,-783.5 525.49,-783.5 535.41,-783.5"/>
<polygon fill="#000000" stroke="#000000" points="535.71,-787.0001 545.71,-783.5 535.71,-780.0001 535.71,-787.0001"/>
</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="237,-817.5 5,-817.5 5,-749.5 237,-749.5 237,-817.5"/>
<text text-anchor="middle" x="121" y="-802.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1048</text>
<text text-anchor="middle" x="121" y="-787.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test translation for</text>
<text text-anchor="middle" x="121" y="-772.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;network::{Request,</text>
<text text-anchor="middle" x="121" y="-757.3" 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="edge10" class="edge">
<title>ZcashFoundation/zebra#1048&#45;&gt;ZcashFoundation/zebra#889</title>
<path fill="none" stroke="#000000" d="M237.17,-783.5C248.73,-783.5 260.49,-783.5 272.11,-783.5"/>
<polygon fill="#000000" stroke="#000000" points="272.28,-787.0001 282.28,-783.5 272.28,-780.0001 272.28,-787.0001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Tracking: Questions for&#10;Network Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-889 5,-889 5,-836 237,-836 237,-889"/>
<text text-anchor="middle" x="121" y="-873.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="121" y="-858.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="121" y="-843.8" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2982 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#2982</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2982" xlink:title="ZcashFoundation/zebra#2982&#10;Upgrade to NU5 testnet 2&#10;versions of librustzcash,&#10;zcash_script, orchard,&#10;halo2_proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="510,-1023 278,-1023 278,-940 510,-940 510,-1023"/>
<text text-anchor="middle" x="394" y="-1007.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2982</text>
<text text-anchor="middle" x="394" y="-992.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 testnet 2</text>
<text text-anchor="middle" x="394" y="-977.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions of librustzcash,</text>
<text text-anchor="middle" x="394" y="-962.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_script, orchard,</text>
<text text-anchor="middle" x="394" y="-947.8" font-family="Times,serif" font-size="14.00" fill="#000000">halo2_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3095 -->
<g id="node20" class="node closed">
<title>ZcashFoundation/zebra#3095</title>
<g id="a_node20"><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="778,-1044 546,-1044 546,-991 778,-991 778,-1044"/>
<text text-anchor="middle" x="662" y="-1028.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3095</text>
<text text-anchor="middle" x="662" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade blake2b_simd</text>
<text text-anchor="middle" x="662" y="-998.8" 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="edge11" class="edge">
<title>ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3095</title>
<path fill="none" stroke="#000000" d="M510.38,-997.13C518.81,-998.27 527.33,-999.41 535.81,-1000.5"/>
<polygon fill="#000000" stroke="#000000" points="535.3493,-1003.9696 545.74,-1001.9 536.3266,-997.0381 535.3493,-1003.9696"/>
</g>
<!-- ZcashFoundation/zebra#3094 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#3094</title>
<g id="a_node21"><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="778,-973 546,-973 546,-920 778,-920 778,-973"/>
<text text-anchor="middle" x="662" y="-957.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3094</text>
<text text-anchor="middle" x="662" y="-942.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade blake2b and</text>
<text text-anchor="middle" x="662" y="-927.8" 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="edge12" class="edge">
<title>ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3094</title>
<path fill="none" stroke="#000000" d="M510.38,-966.3C518.81,-965.2 527.33,-964.09 535.81,-962.98"/>
<polygon fill="#000000" stroke="#000000" points="536.279,-966.4486 545.74,-961.68 535.3702,-959.5078 536.279,-966.4486"/>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node22"><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" stroke-width="2" points="237,-1103.5 5,-1103.5 5,-1065.5 237,-1065.5 237,-1103.5"/>
<text text-anchor="middle" x="121" y="-1088.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="121" y="-1073.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3159 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#3159</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3159" xlink:title="ZcashFoundation/zebra#3159&#10;getbestblockhash JSON&#45;RPC&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1046,-473 814,-473 814,-420 1046,-420 1046,-473"/>
<text text-anchor="middle" x="930" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3159</text>
<text text-anchor="middle" x="930" y="-442.8" font-family="Times,serif" font-size="14.00" fill="#000000">getbestblockhash JSON&#45;RPC</text>
<text text-anchor="middle" x="930" y="-427.8" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3159&#45;&gt;ZcashFoundation/zebra#3511 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#3159&#45;&gt;ZcashFoundation/zebra#3511</title>
<path fill="none" stroke="#000000" d="M1026.9,-419.92C1033.5,-417.05 1039.9,-413.92 1046,-410.5 1089.8,-385.8 1131.9,-346.8 1160.6,-317.05"/>
<polygon fill="#000000" stroke="#000000" points="1163.2696,-319.3241 1167.7,-309.7 1158.235,-314.4607 1163.2696,-319.3241"/>
</g>
<!-- ZcashFoundation/zebra#3143 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#3143</title>
<g id="a_node24"><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="1314,-473 1082,-473 1082,-420 1314,-420 1314,-473"/>
<text text-anchor="middle" x="1198" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3143</text>
<text text-anchor="middle" x="1198" y="-442.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblockchaininfo JSON&#45;</text>
<text text-anchor="middle" x="1198" y="-427.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3159&#45;&gt;ZcashFoundation/zebra#3143 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#3159&#45;&gt;ZcashFoundation/zebra#3143</title>
<path fill="none" stroke="#000000" d="M1046.4,-446.5C1054.7,-446.5 1063.1,-446.5 1071.5,-446.5"/>
<polygon fill="#000000" stroke="#000000" points="1071.7,-450.0001 1081.7,-446.5 1071.7,-443.0001 1071.7,-450.0001"/>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2001" xlink:title="ZcashFoundation/zebra#2001&#10;Write a draft security&#10;triage RFC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1175 5,-1175 5,-1122 237,-1122 237,-1175"/>
<text text-anchor="middle" x="121" y="-1159.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="121" y="-1144.8" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="121" y="-1129.8" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1581 -->
<g id="node26" class="node closed">
<title>ZcashFoundation/zebra#1581</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1581" xlink:title="ZcashFoundation/zebra#1581&#10;RFC: Write a plan for&#10;Zebra Consensus Failure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="510,-1175 278,-1175 278,-1122 510,-1122 510,-1175"/>
<text text-anchor="middle" x="394" y="-1159.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1581</text>
<text text-anchor="middle" x="394" y="-1144.8" font-family="Times,serif" font-size="14.00" fill="#000000">RFC: Write a plan for</text>
<text text-anchor="middle" x="394" y="-1129.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra Consensus Failure</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001&#45;&gt;ZcashFoundation/zebra#1581 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#2001&#45;&gt;ZcashFoundation/zebra#1581</title>
<path fill="none" stroke="#000000" d="M237.17,-1148.5C247.29,-1148.5 257.57,-1148.5 267.77,-1148.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-1152.0001 277.93,-1148.5 267.93,-1145.0001 267.93,-1152.0001"/>
</g>
<!-- ZcashFoundation/zebra#3512 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#3512</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3512" xlink:title="ZcashFoundation/zebra#3512&#10;Send transactions in&#10;lightwalletd integration&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1261.5 5,-1261.5 5,-1193.5 237,-1193.5 237,-1261.5"/>
<text text-anchor="middle" x="121" y="-1246.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3512</text>
<text text-anchor="middle" x="121" y="-1231.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send transactions in</text>
<text text-anchor="middle" x="121" y="-1216.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="121" y="-1201.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1894" xlink:title="ZcashFoundation/zebra#1894&#10;Zebra should follow OS&#10;directory conventions&#10;better" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1347.5 5,-1347.5 5,-1279.5 237,-1279.5 237,-1347.5"/>
<text text-anchor="middle" x="121" y="-1332.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="121" y="-1317.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="121" y="-1302.3" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="121" y="-1287.3" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3432" xlink:title="ZcashFoundation/zebra#3432&#10;Use the Filesystem&#10;Hierarchy Standard (FHS)&#10;for deployments and&#10;artifacts" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="510,-1355 278,-1355 278,-1272 510,-1272 510,-1355"/>
<text text-anchor="middle" x="394" y="-1339.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="394" y="-1324.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="394" y="-1309.8" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="394" y="-1294.8" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="394" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">artifacts</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432</title>
<path fill="none" stroke="#000000" d="M237.17,-1313.5C247.29,-1313.5 257.57,-1313.5 267.77,-1313.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-1317.0001 277.93,-1313.5 267.93,-1310.0001 267.93,-1317.0001"/>
</g>
<!-- ZcashFoundation/zebra#3145 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#3145</title>
<g id="a_node30"><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="778,-331 546,-331 546,-278 778,-278 778,-331"/>
<text text-anchor="middle" x="662" y="-315.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3145</text>
<text text-anchor="middle" x="662" y="-300.8" font-family="Times,serif" font-size="14.00" fill="#000000">getrawtransaction JSON&#45;</text>
<text text-anchor="middle" x="662" y="-285.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3513 -->
<g id="node31" class="node closed">
<title>ZcashFoundation/zebra#3513</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3513" xlink:title="ZcashFoundation/zebra#3513&#10;Support Orchard in&#10;Zebra&#39;s lightwalletd&#10;JSON&#45;RPC methods" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1046,-401.5 814,-401.5 814,-333.5 1046,-333.5 1046,-401.5"/>
<text text-anchor="middle" x="930" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3513</text>
<text text-anchor="middle" x="930" y="-371.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Orchard in</text>
<text text-anchor="middle" x="930" y="-356.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra&#39;s lightwalletd</text>
<text text-anchor="middle" x="930" y="-341.3" font-family="Times,serif" font-size="14.00" fill="#000000">JSON&#45;RPC methods</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3145&#45;&gt;ZcashFoundation/zebra#3513 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#3145&#45;&gt;ZcashFoundation/zebra#3513</title>
<path fill="none" stroke="#000000" d="M774.88,-331.04C784.43,-333.28 794.14,-335.56 803.79,-337.83"/>
<polygon fill="#000000" stroke="#000000" points="803.2739,-341.3041 813.81,-340.19 804.8788,-334.4906 803.2739,-341.3041"/>
</g>
<!-- ZcashFoundation/zebra#3144 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#3144</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3144" xlink:title="ZcashFoundation/zebra#3144&#10;getblock JSON&#45;RPC method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="778,-458.5 546,-458.5 546,-420.5 778,-420.5 778,-458.5"/>
<text text-anchor="middle" x="662" y="-443.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3144</text>
<text text-anchor="middle" x="662" y="-428.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblock JSON&#45;RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3144&#45;&gt;ZcashFoundation/zebra#3513 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#3144&#45;&gt;ZcashFoundation/zebra#3513</title>
<path fill="none" stroke="#000000" d="M739.46,-420.49C752.35,-417.22 765.56,-413.81 778,-410.5 786.56,-408.22 795.39,-405.83 804.27,-403.39"/>
<polygon fill="#000000" stroke="#000000" points="805.2038,-406.7632 813.92,-400.74 803.3501,-400.0131 805.2038,-406.7632"/>
</g>
<!-- ZcashFoundation/zebra#3160 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#3160</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3160" xlink:title="ZcashFoundation/zebra#3160&#10;getrawmempool JSON&#45;RPC&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1419 5,-1419 5,-1366 237,-1366 237,-1419"/>
<text text-anchor="middle" x="121" y="-1403.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3160</text>
<text text-anchor="middle" x="121" y="-1388.8" font-family="Times,serif" font-size="14.00" fill="#000000">getrawmempool JSON&#45;RPC</text>
<text text-anchor="middle" x="121" y="-1373.8" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3156 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#3156</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3156" xlink:title="ZcashFoundation/zebra#3156&#10;z_gettreestate JSON&#45;RPC&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="778,-402 546,-402 546,-349 778,-349 778,-402"/>
<text text-anchor="middle" x="662" y="-386.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3156</text>
<text text-anchor="middle" x="662" y="-371.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_gettreestate JSON&#45;RPC</text>
<text text-anchor="middle" x="662" y="-356.8" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#3513 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#3513</title>
<path fill="none" stroke="#000000" d="M778.38,-372.03C786.71,-371.78 795.14,-371.53 803.53,-371.28"/>
<polygon fill="#000000" stroke="#000000" points="803.8509,-374.772 813.74,-370.97 803.6384,-367.7752 803.8509,-374.772"/>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node35"><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="237,-1505.5 5,-1505.5 5,-1437.5 237,-1437.5 237,-1505.5"/>
<text text-anchor="middle" x="121" y="-1490.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="121" y="-1475.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="121" y="-1460.3" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="121" y="-1445.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2908" xlink:title="ZcashFoundation/zebra#2908&#10;Improve&#10;VerifyBlockError::Commit&#10;typing" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1591.5 5,-1591.5 5,-1523.5 237,-1523.5 237,-1591.5"/>
<text text-anchor="middle" x="121" y="-1576.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="121" y="-1561.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="121" y="-1546.3" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="121" y="-1531.3" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2338 -->
<g id="node37" class="node closed">
<title>ZcashFoundation/zebra#2338</title>
<g id="a_node37"><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="#fad8c7" stroke="#000000" points="510,-1584 278,-1584 278,-1531 510,-1531 510,-1584"/>
<text text-anchor="middle" x="394" y="-1568.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2338</text>
<text text-anchor="middle" x="394" y="-1553.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Error enums in</text>
<text text-anchor="middle" x="394" y="-1538.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zebrad`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#2338 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#2338</title>
<path fill="none" stroke="#000000" d="M237.17,-1557.5C247.29,-1557.5 257.57,-1557.5 267.77,-1557.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-1561.0001 277.93,-1557.5 267.93,-1554.0001 267.93,-1561.0001"/>
</g>
<!-- ZcashFoundation/zebra#3536 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#3536</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3536" xlink:title="ZcashFoundation/zebra#3536&#10;Turn on full backtraces&#10;using&#10;COLORBT_SHOW_HIDDEN=1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="242,-1677.5 0,-1677.5 0,-1609.5 242,-1609.5 242,-1677.5"/>
<text text-anchor="middle" x="121" y="-1662.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3536</text>
<text text-anchor="middle" x="121" y="-1647.3" font-family="Times,serif" font-size="14.00" fill="#000000">Turn on full backtraces</text>
<text text-anchor="middle" x="121" y="-1632.3" font-family="Times,serif" font-size="14.00" fill="#000000">using</text>
<text text-anchor="middle" x="121" y="-1617.3" font-family="Times,serif" font-size="14.00" fill="#000000">COLORBT_SHOW_HIDDEN=1</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3151 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#3151</title>
<g id="a_node39"><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" stroke-width="2" points="237,-304 5,-304 5,-251 237,-251 237,-304"/>
<text text-anchor="middle" x="121" y="-288.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3151</text>
<text text-anchor="middle" x="121" y="-273.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store transactions in a</text>
<text text-anchor="middle" x="121" y="-258.8" font-family="Times,serif" font-size="14.00" fill="#000000">separate database index</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3145 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3145</title>
<path fill="none" stroke="#000000" d="M237.14,-286.87C250.91,-287.83 264.76,-288.74 278,-289.5 363.88,-294.46 460.66,-298.23 535.58,-300.75"/>
<polygon fill="#000000" stroke="#000000" points="535.8911,-304.2619 546,-301.09 536.1195,-297.2656 535.8911,-304.2619"/>
</g>
<!-- ZcashFoundation/zebra#3152 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#3152</title>
<g id="a_node40"><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="510,-280.5 278,-280.5 278,-212.5 510,-212.5 510,-280.5"/>
<text text-anchor="middle" x="394" y="-265.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3152</text>
<text text-anchor="middle" x="394" y="-250.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use smaller keys for</text>
<text text-anchor="middle" x="394" y="-235.3" font-family="Times,serif" font-size="14.00" fill="#000000">block and transaction</text>
<text text-anchor="middle" x="394" y="-220.3" 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="edge22" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3152</title>
<path fill="none" stroke="#000000" d="M237.17,-264.31C247.29,-263.16 257.57,-261.99 267.77,-260.83"/>
<polygon fill="#000000" stroke="#000000" points="268.3871,-264.2826 277.93,-259.68 267.5998,-257.327 268.3871,-264.2826"/>
</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="M510.38,-215.67C524.13,-212.02 538.14,-208.31 551.8,-204.69"/>
<polygon fill="#000000" stroke="#000000" points="552.9141,-208.0159 561.69,-202.08 551.1279,-201.2476 552.9141,-208.0159"/>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M510.3,-251.49C596.87,-255.21 714.93,-260.27 803.78,-264.08"/>
<polygon fill="#000000" stroke="#000000" points="803.7776,-267.5831 813.92,-264.52 804.0812,-260.5897 803.7776,-267.5831"/>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3145 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3145</title>
<path fill="none" stroke="#000000" d="M510.38,-271.69C518.81,-273.51 527.33,-275.35 535.81,-277.19"/>
<polygon fill="#000000" stroke="#000000" points="535.2258,-280.6445 545.74,-279.34 536.7071,-273.8031 535.2258,-280.6445"/>
</g>
<!-- ZcashFoundation/zebra#3149 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#3149</title>
<g id="a_node41"><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" stroke-width="2" points="510,-194.5 278,-194.5 278,-126.5 510,-126.5 510,-194.5"/>
<text text-anchor="middle" x="394" y="-179.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3149</text>
<text text-anchor="middle" x="394" y="-164.3" font-family="Times,serif" font-size="14.00" fill="#000000">Get addresses from</text>
<text text-anchor="middle" x="394" y="-149.3" font-family="Times,serif" font-size="14.00" fill="#000000">transparent outputs in</text>
<text text-anchor="middle" x="394" y="-134.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;script</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3149&#45;&gt;ZcashFoundation/zebra#3150 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#3149&#45;&gt;ZcashFoundation/zebra#3150</title>
<path fill="none" stroke="#000000" d="M510.38,-167.01C518.71,-167.48 527.14,-167.95 535.53,-168.42"/>
<polygon fill="#000000" stroke="#000000" points="535.5604,-171.9271 545.74,-168.99 535.9507,-164.9379 535.5604,-171.9271"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node42"><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="237,-1763.5 5,-1763.5 5,-1695.5 237,-1695.5 237,-1763.5"/>
<text text-anchor="middle" x="121" y="-1748.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="121" y="-1733.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="121" y="-1718.3" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="121" y="-1703.3" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node43"><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="510,-1892.5 278,-1892.5 278,-1824.5 510,-1824.5 510,-1892.5"/>
<text text-anchor="middle" x="394" y="-1877.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="394" y="-1862.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="394" y="-1847.3" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="394" y="-1832.3" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3136 -->
<g id="node44" class="node closed">
<title>ZcashFoundation/zebra#3136</title>
<g id="a_node44"><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="#fad8c7" stroke="#000000" points="778,-1935.5 546,-1935.5 546,-1867.5 778,-1867.5 778,-1935.5"/>
<text text-anchor="middle" x="662" y="-1920.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3136</text>
<text text-anchor="middle" x="662" y="-1905.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we need shorter</text>
<text text-anchor="middle" x="662" y="-1890.3" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts on PeerSet</text>
<text text-anchor="middle" x="662" y="-1875.3" 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="edge27" class="edge">
<title>ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#3136</title>
<path fill="none" stroke="#000000" d="M510.38,-1877.2C518.81,-1878.5 527.33,-1879.9 535.81,-1881.3"/>
<polygon fill="#000000" stroke="#000000" points="535.3294,-1884.767 545.74,-1882.8 536.375,-1877.8455 535.3294,-1884.767"/>
</g>
<!-- ZcashFoundation/zebra#3242 -->
<g id="node45" class="node closed">
<title>ZcashFoundation/zebra#3242</title>
<g id="a_node45"><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="#fad8c7" stroke="#000000" points="778,-1849.5 546,-1849.5 546,-1781.5 778,-1781.5 778,-1849.5"/>
<text text-anchor="middle" x="662" y="-1834.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3242</text>
<text text-anchor="middle" x="662" y="-1819.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fan out `PushTransaction`</text>
<text text-anchor="middle" x="662" y="-1804.3" font-family="Times,serif" font-size="14.00" fill="#000000">requests to multiple</text>
<text text-anchor="middle" x="662" y="-1789.3" 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="edge28" class="edge">
<title>ZcashFoundation/zebra#2214&#45;&gt;ZcashFoundation/zebra#3242</title>
<path fill="none" stroke="#000000" d="M510.38,-1839.8C518.81,-1838.5 527.33,-1837.1 535.81,-1835.7"/>
<polygon fill="#000000" stroke="#000000" points="536.375,-1839.1545 545.74,-1834.2 535.3294,-1832.233 536.375,-1839.1545"/>
</g>
<!-- ZcashFoundation/zebra#3229 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#3229</title>
<g id="a_node46"><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="237,-1935.5 5,-1935.5 5,-1867.5 237,-1867.5 237,-1935.5"/>
<text text-anchor="middle" x="121" y="-1920.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3229</text>
<text text-anchor="middle" x="121" y="-1905.3" font-family="Times,serif" font-size="14.00" fill="#000000">Increase `PeerSet`</text>
<text text-anchor="middle" x="121" y="-1890.3" font-family="Times,serif" font-size="14.00" fill="#000000">message and peer handling</text>
<text text-anchor="middle" x="121" y="-1875.3" 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="edge29" class="edge">
<title>ZcashFoundation/zebra#3229&#45;&gt;ZcashFoundation/zebra#2214</title>
<path fill="none" stroke="#000000" d="M237.17,-1883.2C247.29,-1881.6 257.57,-1880 267.77,-1878.4"/>
<polygon fill="#000000" stroke="#000000" points="268.5962,-1881.8131 277.93,-1876.8 267.5072,-1874.8983 268.5962,-1881.8131"/>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3383" xlink:title="ZcashFoundation/zebra#3383&#10;Document `zebrad&#10;download` command." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-2007 5,-2007 5,-1954 237,-1954 237,-2007"/>
<text text-anchor="middle" x="121" y="-1991.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="121" y="-1976.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="121" y="-1961.8" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3600 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#3600</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3600" xlink:title="ZcashFoundation/zebra#3600&#10;Upgrade to halo2 &#45;&gt;&#10;halo2_proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1047 5,-1047 5,-994 237,-994 237,-1047"/>
<text text-anchor="middle" x="121" y="-1031.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3600</text>
<text text-anchor="middle" x="121" y="-1016.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to halo2 &#45;&gt;</text>
<text text-anchor="middle" x="121" y="-1001.8" font-family="Times,serif" font-size="14.00" fill="#000000">halo2_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3600&#45;&gt;ZcashFoundation/zebra#2982 -->
<g id="edge30" class="edge">
<title>ZcashFoundation/zebra#3600&#45;&gt;ZcashFoundation/zebra#2982</title>
<path fill="none" stroke="#000000" d="M237.17,-1003.9C247.29,-1002.5 257.57,-1001 267.77,-999.53"/>
<polygon fill="#000000" stroke="#000000" points="268.5248,-1002.9578 277.93,-998.08 267.5358,-996.028 268.5248,-1002.9578"/>
</g>
<!-- ZcashFoundation/zebra#3230 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#3230</title>
<g id="a_node49"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3230" xlink:title="ZcashFoundation/zebra#3230&#10;Change `PeerSet` response&#10;type to enable peer set&#10;fanouts" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-1849.5 5,-1849.5 5,-1781.5 237,-1781.5 237,-1849.5"/>
<text text-anchor="middle" x="121" y="-1834.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3230</text>
<text text-anchor="middle" x="121" y="-1819.3" font-family="Times,serif" font-size="14.00" fill="#000000">Change `PeerSet` response</text>
<text text-anchor="middle" x="121" y="-1804.3" font-family="Times,serif" font-size="14.00" fill="#000000">type to enable peer set</text>
<text text-anchor="middle" x="121" y="-1789.3" font-family="Times,serif" font-size="14.00" fill="#000000">fanouts</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3230&#45;&gt;ZcashFoundation/zebra#2214 -->
<g id="edge31" class="edge">
<title>ZcashFoundation/zebra#3230&#45;&gt;ZcashFoundation/zebra#2214</title>
<path fill="none" stroke="#000000" d="M237.17,-1833.8C247.29,-1835.4 257.57,-1837 267.77,-1838.6"/>
<polygon fill="#000000" stroke="#000000" points="267.5072,-1842.1017 277.93,-1840.2 268.5962,-1835.1869 267.5072,-1842.1017"/>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node50"><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="232.5,-2093.5 9.5,-2093.5 9.5,-2025.5 232.5,-2025.5 232.5,-2093.5"/>
<text text-anchor="middle" x="121" y="-2078.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="121" y="-2063.3" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="121" y="-2048.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="121" y="-2033.3" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3563 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#3563</title>
<g id="a_node51"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3563" xlink:title="ZcashFoundation/zebra#3563&#10;Store Sapling &amp; Orchard&#10;note commitment trees in&#10;finalized and non&#45;&#10;finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="510,-420 278,-420 278,-337 510,-337 510,-420"/>
<text text-anchor="middle" x="394" y="-404.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3563</text>
<text text-anchor="middle" x="394" y="-389.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store Sapling &amp; Orchard</text>
<text text-anchor="middle" x="394" y="-374.8" font-family="Times,serif" font-size="14.00" fill="#000000">note commitment trees in</text>
<text text-anchor="middle" x="394" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized and non&#45;</text>
<text text-anchor="middle" x="394" y="-344.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3563&#45;&gt;ZcashFoundation/zebra#3156 -->
<g id="edge32" class="edge">
<title>ZcashFoundation/zebra#3563&#45;&gt;ZcashFoundation/zebra#3156</title>
<path fill="none" stroke="#000000" d="M510.38,-377.2C518.71,-377.1 527.14,-377.01 535.53,-376.92"/>
<polygon fill="#000000" stroke="#000000" points="535.7819,-380.4174 545.74,-376.8 535.6995,-373.4179 535.7819,-380.4174"/>
</g>
<!-- ZcashFoundation/zebra#2391 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#2391</title>
<g id="a_node52"><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" stroke-width="2" points="237,-2179.5 5,-2179.5 5,-2111.5 237,-2111.5 237,-2179.5"/>
<text text-anchor="middle" x="121" y="-2164.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2391</text>
<text text-anchor="middle" x="121" y="-2149.3" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce the dependencies</text>
<text text-anchor="middle" x="121" y="-2134.3" font-family="Times,serif" font-size="14.00" fill="#000000">on different versions of</text>
<text text-anchor="middle" x="121" y="-2119.3" font-family="Times,serif" font-size="14.00" fill="#000000">`rand`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node53"><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="510,-2258 278,-2258 278,-2205 510,-2205 510,-2258"/>
<text text-anchor="middle" x="394" y="-2242.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="394" y="-2227.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="394" y="-2212.8" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1007 -->
<g id="node54" class="node closed">
<title>ZcashFoundation/zebra#1007</title>
<g id="a_node54"><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="778,-2265.5 546,-2265.5 546,-2261.5 542,-2261.5 542,-2257.5 546,-2257.5 546,-2205.5 542,-2205.5 542,-2201.5 546,-2201.5 546,-2197.5 778,-2197.5 778,-2265.5"/>
<polyline fill="none" stroke="#000000" points="546,-2261.5 550,-2261.5 550,-2257.5 546,-2257.5 "/>
<polyline fill="none" stroke="#000000" points="546,-2205.5 550,-2205.5 550,-2201.5 546,-2201.5 "/>
<text text-anchor="middle" x="662" y="-2250.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1007</text>
<text text-anchor="middle" x="662" y="-2235.3" font-family="Times,serif" font-size="14.00" fill="#000000">Draft RFC: Initial draft</text>
<text text-anchor="middle" x="662" y="-2220.3" font-family="Times,serif" font-size="14.00" fill="#000000">for basic network</text>
<text text-anchor="middle" x="662" y="-2205.3" 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="edge33" class="edge">
<title>ZcashFoundation/zebra#1791&#45;&gt;ZcashFoundation/zebra#1007</title>
<path fill="none" stroke="#000000" d="M510.38,-2231.5C518.71,-2231.5 527.14,-2231.5 535.53,-2231.5"/>
<polygon fill="#000000" stroke="#000000" points="535.74,-2235.0001 545.74,-2231.5 535.74,-2228.0001 535.74,-2235.0001"/>
</g>
<!-- ZcashFoundation/zebra#2372 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#2372</title>
<g id="a_node55"><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="237,-2351.5 5,-2351.5 5,-2283.5 237,-2283.5 237,-2351.5"/>
<text text-anchor="middle" x="121" y="-2336.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2372</text>
<text text-anchor="middle" x="121" y="-2321.3" font-family="Times,serif" font-size="14.00" fill="#000000"> Update the README goals</text>
<text text-anchor="middle" x="121" y="-2306.3" font-family="Times,serif" font-size="14.00" fill="#000000">and scope for NU5 mainnet</text>
<text text-anchor="middle" x="121" y="-2291.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node56"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra v1.0.0 stable&#10;release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="510,-2344 278,-2344 278,-2291 510,-2291 510,-2344"/>
<text text-anchor="middle" x="394" y="-2328.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="394" y="-2313.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0 stable</text>
<text text-anchor="middle" x="394" y="-2298.8" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge34" class="edge">
<title>ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M237.17,-2317.5C247.29,-2317.5 257.57,-2317.5 267.77,-2317.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-2321.0001 277.93,-2317.5 267.93,-2314.0001 267.93,-2321.0001"/>
</g>
<!-- ZcashFoundation/zebra#3018 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#3018</title>
<g id="a_node57"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3018" xlink:title="ZcashFoundation/zebra#3018&#10;Rollback NU5 testnet 1,&#10;and set consensus&#10;parameters for testnet 2" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237,-975.5 5,-975.5 5,-907.5 237,-907.5 237,-975.5"/>
<text text-anchor="middle" x="121" y="-960.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3018</text>
<text text-anchor="middle" x="121" y="-945.3" font-family="Times,serif" font-size="14.00" fill="#000000">Rollback NU5 testnet 1,</text>
<text text-anchor="middle" x="121" y="-930.3" font-family="Times,serif" font-size="14.00" fill="#000000">and set consensus</text>
<text text-anchor="middle" x="121" y="-915.3" font-family="Times,serif" font-size="14.00" fill="#000000">parameters for testnet 2</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3018&#45;&gt;ZcashFoundation/zebra#2982 -->
<g id="edge35" class="edge">
<title>ZcashFoundation/zebra#3018&#45;&gt;ZcashFoundation/zebra#2982</title>
<path fill="none" stroke="#000000" d="M237.17,-958.52C247.29,-960 257.57,-961.51 267.77,-963"/>
<polygon fill="#000000" stroke="#000000" points="267.5279,-966.5019 277.93,-964.49 268.5437,-959.5759 267.5279,-966.5019"/>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node58"><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" stroke-width="2" points="237,-2423 5,-2423 5,-2370 237,-2370 237,-2423"/>
<text text-anchor="middle" x="121" y="-2407.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="121" y="-2392.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="121" y="-2377.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node59"><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="237,-2509.5 5,-2509.5 5,-2441.5 237,-2441.5 237,-2509.5"/>
<text text-anchor="middle" x="121" y="-2494.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="121" y="-2479.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="121" y="-2464.3" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="121" y="-2449.3" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node60"><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="237,-2611 5,-2611 5,-2528 237,-2528 237,-2611"/>
<text text-anchor="middle" x="121" y="-2595.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="121" y="-2580.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="121" y="-2565.8" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="121" y="-2550.8" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="121" y="-2535.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1893 -->
<g id="node61" class="node closed">
<title>ZcashFoundation/zebra#1893</title>
<g id="a_node61"><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="#fad8c7" stroke="#000000" points="510,-2603.5 278,-2603.5 278,-2535.5 510,-2535.5 510,-2603.5"/>
<text text-anchor="middle" x="394" y="-2588.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1893</text>
<text text-anchor="middle" x="394" y="-2573.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should auto&#45;</text>
<text text-anchor="middle" x="394" y="-2558.3" font-family="Times,serif" font-size="14.00" fill="#000000">discover its own external</text>
<text text-anchor="middle" x="394" y="-2543.3" 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="edge36" class="edge">
<title>ZcashFoundation/zebra#1890&#45;&gt;ZcashFoundation/zebra#1893</title>
<path fill="none" stroke="#000000" d="M237.17,-2569.5C247.29,-2569.5 257.57,-2569.5 267.77,-2569.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-2573.0001 277.93,-2569.5 267.93,-2566.0001 267.93,-2573.0001"/>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node62"><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="237,-2265.5 5,-2265.5 5,-2197.5 237,-2197.5 237,-2265.5"/>
<text text-anchor="middle" x="121" y="-2250.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="121" y="-2235.3" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="121" y="-2220.3" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="121" y="-2205.3" 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="edge37" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M237.17,-2231.5C247.29,-2231.5 257.57,-2231.5 267.77,-2231.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-2235.0001 277.93,-2231.5 267.93,-2228.0001 267.93,-2235.0001"/>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node63" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node63"><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="237,-2697.5 5,-2697.5 5,-2629.5 237,-2629.5 237,-2697.5"/>
<text text-anchor="middle" x="121" y="-2682.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="121" y="-2667.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="121" y="-2652.3" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="121" y="-2637.3" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node64"><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" stroke-width="2" points="237,-2783.5 5,-2783.5 5,-2715.5 237,-2715.5 237,-2783.5"/>
<text text-anchor="middle" x="121" y="-2768.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="121" y="-2753.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;chain: Port array&#45;</text>
<text text-anchor="middle" x="121" y="-2738.3" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="121" y="-2723.3" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2377 -->
<g id="node65" class="node open">
<title>ZcashFoundation/zebra#2377</title>
<g id="a_node65"><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="237,-2855 5,-2855 5,-2802 237,-2802 237,-2855"/>
<text text-anchor="middle" x="121" y="-2839.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2377</text>
<text text-anchor="middle" x="121" y="-2824.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor history tree</text>
<text text-anchor="middle" x="121" y="-2809.8" font-family="Times,serif" font-size="14.00" fill="#000000">pruning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2378 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#2378</title>
<g id="a_node66"><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="237,-2926 5,-2926 5,-2873 237,-2873 237,-2926"/>
<text text-anchor="middle" x="121" y="-2910.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2378</text>
<text text-anchor="middle" x="121" y="-2895.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve history and note</text>
<text text-anchor="middle" x="121" y="-2880.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment trees forking</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1951 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#1951</title>
<g id="a_node67"><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="237,-3027 5,-3027 5,-2944 237,-2944 237,-3027"/>
<text text-anchor="middle" x="121" y="-3011.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1951</text>
<text text-anchor="middle" x="121" y="-2996.8" font-family="Times,serif" font-size="14.00" fill="#000000">Generalize/deduplicate</text>
<text text-anchor="middle" x="121" y="-2981.8" font-family="Times,serif" font-size="14.00" fill="#000000">async batch verification</text>
<text text-anchor="middle" x="121" y="-2966.8" font-family="Times,serif" font-size="14.00" fill="#000000">services / create a</text>
<text text-anchor="middle" x="121" y="-2951.8" font-family="Times,serif" font-size="14.00" fill="#000000">derive&#45;able proc macro</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2390 -->
<g id="node68" class="node closed">
<title>ZcashFoundation/zebra#2390</title>
<g id="a_node68"><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="#fad8c7" stroke="#000000" points="510,-3027 278,-3027 278,-2944 510,-2944 510,-3027"/>
<text text-anchor="middle" x="394" y="-3011.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2390</text>
<text text-anchor="middle" x="394" y="-2996.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix tasks spawned by</text>
<text text-anchor="middle" x="394" y="-2981.8" font-family="Times,serif" font-size="14.00" fill="#000000">`tower_batch::Batch` only</text>
<text text-anchor="middle" x="394" y="-2966.8" font-family="Times,serif" font-size="14.00" fill="#000000">being alive during one</text>
<text text-anchor="middle" x="394" y="-2951.8" 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="edge38" class="edge">
<title>ZcashFoundation/zebra#1951&#45;&gt;ZcashFoundation/zebra#2390</title>
<path fill="none" stroke="#000000" d="M237.17,-2985.5C247.29,-2985.5 257.57,-2985.5 267.77,-2985.5"/>
<polygon fill="#000000" stroke="#000000" points="267.93,-2989.0001 277.93,-2985.5 267.93,-2982.0001 267.93,-2989.0001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>