developers/zcash-zf-dag.html

947 lines
70 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="1312pt" height="2872pt"
viewBox="0.00 0.00 1312.00 2872.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 2868)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2868 1308,-2868 1308,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="232,-189.5 0,-189.5 0,-121.5 232,-121.5 232,-189.5"/>
<text text-anchor="middle" x="116" y="-174.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3500</text>
<text text-anchor="middle" x="116" y="-159.3" font-family="Times,serif" font-size="14.00" fill="#000000">Detect warnings, errors</text>
<text text-anchor="middle" x="116" y="-144.3" font-family="Times,serif" font-size="14.00" fill="#000000">and panics in full sync</text>
<text text-anchor="middle" x="116" y="-129.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="768,-323 536,-323 536,-270 768,-270 768,-323"/>
<text text-anchor="middle" x="652" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3150</text>
<text text-anchor="middle" x="652" y="-292.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add transparent address</text>
<text text-anchor="middle" x="652" y="-277.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="1036,-495 804,-495 804,-412 1036,-412 1036,-495"/>
<text text-anchor="middle" x="920" y="-479.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3545</text>
<text text-anchor="middle" x="920" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">Generate stateful disks</text>
<text text-anchor="middle" x="920" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">containing lightwalletd&#45;</text>
<text text-anchor="middle" x="920" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">supporting zebra&#45;state</text>
<text text-anchor="middle" x="920" y="-419.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="M686.06,-323.14C716.07,-345.9 761.5,-378.64 804,-402.5 806.88,-404.12 809.82,-405.72 812.8,-407.3"/>
<polygon fill="#000000" stroke="#000000" points="811.3703,-410.501 821.86,-411.99 814.5884,-404.2846 811.3703,-410.501"/>
</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="1036,-394 804,-394 804,-341 1036,-341 1036,-394"/>
<text text-anchor="middle" x="920" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3147</text>
<text text-anchor="middle" x="920" y="-363.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddresstxids JSON&#45;RPC</text>
<text text-anchor="middle" x="920" y="-348.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="M752.17,-323.04C771.13,-328.06 791.04,-333.34 810.27,-338.43"/>
<polygon fill="#000000" stroke="#000000" points="809.3875,-341.8169 819.95,-340.99 811.1772,-335.0495 809.3875,-341.8169"/>
</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="1036,-252 804,-252 804,-199 1036,-199 1036,-252"/>
<text text-anchor="middle" x="920" y="-236.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3157</text>
<text text-anchor="middle" x="920" y="-221.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressbalance JSON&#45;</text>
<text text-anchor="middle" x="920" y="-206.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="M752.17,-269.96C771.13,-264.94 791.04,-259.66 810.27,-254.57"/>
<polygon fill="#000000" stroke="#000000" points="811.1772,-257.9505 819.95,-252.01 809.3875,-251.1831 811.1772,-257.9505"/>
</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="1036,-323 804,-323 804,-270 1036,-270 1036,-323"/>
<text text-anchor="middle" x="920" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3158</text>
<text text-anchor="middle" x="920" y="-292.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressutxos JSON&#45;RPC</text>
<text text-anchor="middle" x="920" y="-277.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="M768.38,-296.5C776.71,-296.5 785.14,-296.5 793.53,-296.5"/>
<polygon fill="#000000" stroke="#000000" points="793.74,-300.0001 803.74,-296.5 793.74,-293.0001 793.74,-300.0001"/>
</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="1304,-373.5 1072,-373.5 1072,-305.5 1304,-305.5 1304,-373.5"/>
<text text-anchor="middle" x="1188" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3511</text>
<text text-anchor="middle" x="1188" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use cached state in</text>
<text text-anchor="middle" x="1188" y="-328.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="1188" y="-313.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="M1017.9,-411.86C1044.3,-400.64 1072.6,-388.57 1098.5,-377.56"/>
<polygon fill="#000000" stroke="#000000" points="1100.0753,-380.6932 1107.9,-373.55 1097.3286,-374.2546 1100.0753,-380.6932"/>
</g>
<!-- ZcashFoundation/zebra#3655 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#3655</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3655" xlink:title="ZcashFoundation/zebra#3655&#10;Integration tests for&#10;lightwalletd RPCs that&#10;are only used when a&#10;wallet connects" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1304,-174 1072,-174 1072,-91 1304,-91 1304,-174"/>
<text text-anchor="middle" x="1188" y="-158.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3655</text>
<text text-anchor="middle" x="1188" y="-143.8" font-family="Times,serif" font-size="14.00" fill="#000000">Integration tests for</text>
<text text-anchor="middle" x="1188" y="-128.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd RPCs that</text>
<text text-anchor="middle" x="1188" y="-113.8" font-family="Times,serif" font-size="14.00" fill="#000000">are only used when a</text>
<text text-anchor="middle" x="1188" y="-98.8" font-family="Times,serif" font-size="14.00" fill="#000000">wallet connects</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3158&#45;&gt;ZcashFoundation/zebra#3655 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#3158&#45;&gt;ZcashFoundation/zebra#3655</title>
<path fill="none" stroke="#000000" d="M1016.2,-270C1023,-267.1 1029.7,-263.94 1036,-260.5 1074.5,-239.46 1112.2,-207.74 1140.5,-181.15"/>
<polygon fill="#000000" stroke="#000000" points="1143.0046,-183.5975 1147.8,-174.15 1138.1597,-178.545 1143.0046,-183.5975"/>
</g>
<!-- ZcashFoundation/zebra#3414 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#3414</title>
<g id="a_node9"><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="232,-409.5 0,-409.5 0,-341.5 232,-341.5 232,-409.5"/>
<text text-anchor="middle" x="116" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3414</text>
<text text-anchor="middle" x="116" y="-379.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 mainnet</text>
<text text-anchor="middle" x="116" y="-364.3" font-family="Times,serif" font-size="14.00" fill="#000000">version of orchard and</text>
<text text-anchor="middle" x="116" y="-349.3" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node10"><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="500,-402 268,-402 268,-349 500,-349 500,-402"/>
<text text-anchor="middle" x="384" y="-386.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="384" y="-371.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;252: Update Zebra for</text>
<text text-anchor="middle" x="384" y="-356.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="edge7" class="edge">
<title>ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#1841</title>
<path fill="none" stroke="#000000" d="M232.38,-375.5C240.71,-375.5 249.14,-375.5 257.53,-375.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-379.0001 267.74,-375.5 257.74,-372.0001 257.74,-379.0001"/>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node11"><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,-481 4.5,-481 4.5,-428 227.5,-428 227.5,-481"/>
<text text-anchor="middle" x="116" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="116" y="-450.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Key Agreement and</text>
<text text-anchor="middle" x="116" y="-435.8" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node12"><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,-548 272.5,-548 272.5,-495 495.5,-495 495.5,-548"/>
<text text-anchor="middle" x="384" y="-532.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="384" y="-517.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note encryption</text>
<text text-anchor="middle" x="384" y="-502.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="edge8" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M222.31,-481.08C237.29,-484.82 252.76,-488.69 267.92,-492.48"/>
<polygon fill="#000000" stroke="#000000" points="267.2692,-495.9251 277.82,-494.96 268.9702,-489.1349 267.2692,-495.9251"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node13"><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,-477 268,-477 268,-424 500,-424 500,-477"/>
<text text-anchor="middle" x="384" y="-461.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="384" y="-446.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="384" y="-431.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="edge9" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M227.72,-452.83C237.52,-452.69 247.49,-452.54 257.41,-452.39"/>
<polygon fill="#000000" stroke="#000000" points="257.7621,-455.8853 267.71,-452.24 257.6601,-448.8861 257.7621,-455.8853"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node14"><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,-537.5 4.5,-537.5 4.5,-499.5 227.5,-499.5 227.5,-537.5"/>
<text text-anchor="middle" x="116" y="-522.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="116" y="-507.3" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#899 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#899</title>
<g id="a_node15"><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="227.5,-609 4.5,-609 4.5,-556 227.5,-556 227.5,-609"/>
<text text-anchor="middle" x="116" y="-593.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#899</text>
<text text-anchor="middle" x="116" y="-578.8" font-family="Times,serif" font-size="14.00" fill="#000000">Retcon new sync logic</text>
<text text-anchor="middle" x="116" y="-563.8" font-family="Times,serif" font-size="14.00" fill="#000000">into RFC1</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node16"><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="232,-680 0,-680 0,-627 232,-627 232,-680"/>
<text text-anchor="middle" x="116" y="-664.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="116" y="-649.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="116" y="-634.8" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2982 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#2982</title>
<g id="a_node17"><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="500,-1119 268,-1119 268,-1036 500,-1036 500,-1119"/>
<text text-anchor="middle" x="384" y="-1103.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2982</text>
<text text-anchor="middle" x="384" y="-1088.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 testnet 2</text>
<text text-anchor="middle" x="384" y="-1073.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions of librustzcash,</text>
<text text-anchor="middle" x="384" y="-1058.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_script, orchard,</text>
<text text-anchor="middle" x="384" y="-1043.8" font-family="Times,serif" font-size="14.00" fill="#000000">halo2_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3094 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#3094</title>
<g id="a_node18"><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,-1104 536,-1104 536,-1051 768,-1051 768,-1104"/>
<text text-anchor="middle" x="652" y="-1088.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3094</text>
<text text-anchor="middle" x="652" y="-1073.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade blake2b and</text>
<text text-anchor="middle" x="652" y="-1058.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="edge10" class="edge">
<title>ZcashFoundation/zebra#2982&#45;&gt;ZcashFoundation/zebra#3094</title>
<path fill="none" stroke="#000000" d="M500.38,-1077.5C508.71,-1077.5 517.14,-1077.5 525.53,-1077.5"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-1081.0001 535.74,-1077.5 525.74,-1074.0001 525.74,-1081.0001"/>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node19"><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="232,-1239.5 0,-1239.5 0,-1201.5 232,-1201.5 232,-1239.5"/>
<text text-anchor="middle" x="116" y="-1224.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="116" y="-1209.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3143 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#3143</title>
<g id="a_node20"><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" stroke-width="2" points="232,-1311 0,-1311 0,-1258 232,-1258 232,-1311"/>
<text text-anchor="middle" x="116" y="-1295.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3143</text>
<text text-anchor="middle" x="116" y="-1280.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblockchaininfo JSON&#45;</text>
<text text-anchor="middle" x="116" y="-1265.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3512 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#3512</title>
<g id="a_node21"><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="232,-1397.5 0,-1397.5 0,-1329.5 232,-1329.5 232,-1397.5"/>
<text text-anchor="middle" x="116" y="-1382.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3512</text>
<text text-anchor="middle" x="116" y="-1367.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send transactions in</text>
<text text-anchor="middle" x="116" y="-1352.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="116" y="-1337.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node22"><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="232,-1483.5 0,-1483.5 0,-1415.5 232,-1415.5 232,-1483.5"/>
<text text-anchor="middle" x="116" y="-1468.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="116" y="-1453.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="116" y="-1438.3" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="116" y="-1423.3" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node23"><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="500,-1491 268,-1491 268,-1408 500,-1408 500,-1491"/>
<text text-anchor="middle" x="384" y="-1475.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="384" y="-1460.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="384" y="-1445.8" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="384" y="-1430.8" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="384" y="-1415.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="edge11" class="edge">
<title>ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432</title>
<path fill="none" stroke="#000000" d="M232.38,-1449.5C240.71,-1449.5 249.14,-1449.5 257.53,-1449.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1453.0001 267.74,-1449.5 257.74,-1446.0001 257.74,-1453.0001"/>
</g>
<!-- ZcashFoundation/zebra#3145 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#3145</title>
<g id="a_node24"><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="768,-53 536,-53 536,0 768,0 768,-53"/>
<text text-anchor="middle" x="652" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3145</text>
<text text-anchor="middle" x="652" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">getrawtransaction JSON&#45;</text>
<text text-anchor="middle" x="652" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3145&#45;&gt;ZcashFoundation/zebra#3655 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#3145&#45;&gt;ZcashFoundation/zebra#3655</title>
<path fill="none" stroke="#000000" d="M768.27,-16.256C845.72,-12.994 948.87,-15.572 1036,-41.5 1067.4,-50.84 1099,-68.15 1125.1,-85.186"/>
<polygon fill="#000000" stroke="#000000" points="1123.5286,-88.343 1133.8,-90.941 1127.3906,-82.5047 1123.5286,-88.343"/>
</g>
<!-- ZcashFoundation/zebra#3160 -->
<g id="node25" class="node closed">
<title>ZcashFoundation/zebra#3160</title>
<g id="a_node25"><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="#fad8c7" stroke="#000000" points="500,-1570 268,-1570 268,-1517 500,-1517 500,-1570"/>
<text text-anchor="middle" x="384" y="-1554.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3160</text>
<text text-anchor="middle" x="384" y="-1539.8" font-family="Times,serif" font-size="14.00" fill="#000000">getrawmempool JSON&#45;RPC</text>
<text text-anchor="middle" x="384" y="-1524.8" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3156 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#3156</title>
<g id="a_node26"><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="1036,-104 804,-104 804,-51 1036,-51 1036,-104"/>
<text text-anchor="middle" x="920" y="-88.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3156</text>
<text text-anchor="middle" x="920" y="-73.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_gettreestate JSON&#45;RPC</text>
<text text-anchor="middle" x="920" y="-58.8" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node27"><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,-1671.5 0,-1671.5 0,-1603.5 232,-1603.5 232,-1671.5"/>
<text text-anchor="middle" x="116" y="-1656.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="116" y="-1641.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="116" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="116" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node28"><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="232,-1757.5 0,-1757.5 0,-1689.5 232,-1689.5 232,-1757.5"/>
<text text-anchor="middle" x="116" y="-1742.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="116" y="-1727.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="116" y="-1712.3" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="116" y="-1697.3" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2338 -->
<g id="node29" class="node closed">
<title>ZcashFoundation/zebra#2338</title>
<g id="a_node29"><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="500,-1750 268,-1750 268,-1697 500,-1697 500,-1750"/>
<text text-anchor="middle" x="384" y="-1734.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2338</text>
<text text-anchor="middle" x="384" y="-1719.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Error enums in</text>
<text text-anchor="middle" x="384" y="-1704.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="edge13" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#2338</title>
<path fill="none" stroke="#000000" d="M232.38,-1723.5C240.71,-1723.5 249.14,-1723.5 257.53,-1723.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1727.0001 267.74,-1723.5 257.74,-1720.0001 257.74,-1727.0001"/>
</g>
<!-- ZcashFoundation/zebra#3151 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#3151</title>
<g id="a_node30"><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="232,-261 0,-261 0,-208 232,-208 232,-261"/>
<text text-anchor="middle" x="116" y="-245.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3151</text>
<text text-anchor="middle" x="116" y="-230.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store transactions in a</text>
<text text-anchor="middle" x="116" y="-215.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#3150 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3150</title>
<path fill="none" stroke="#000000" d="M232.24,-233.44C308.78,-234.41 410.91,-238.89 500,-253.5 520.12,-256.8 541.37,-261.81 561.4,-267.26"/>
<polygon fill="#000000" stroke="#000000" points="560.548,-270.6558 571.12,-269.96 562.4216,-263.9112 560.548,-270.6558"/>
</g>
<!-- ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3145 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3145</title>
<path fill="none" stroke="#000000" d="M205.36,-207.98C214.41,-204.93 223.42,-201.75 232,-198.5 370.58,-145.99 397.21,-113.46 536,-61.5 540.74,-59.725 545.62,-57.974 550.56,-56.259"/>
<polygon fill="#000000" stroke="#000000" points="551.7878,-59.5384 560.13,-53.007 549.5356,-52.9106 551.7878,-59.5384"/>
</g>
<!-- ZcashFoundation/zebra#3152 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#3152</title>
<g id="a_node31"><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="500,-330.5 268,-330.5 268,-262.5 500,-262.5 500,-330.5"/>
<text text-anchor="middle" x="384" y="-315.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3152</text>
<text text-anchor="middle" x="384" y="-300.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use smaller keys for</text>
<text text-anchor="middle" x="384" y="-285.3" font-family="Times,serif" font-size="14.00" fill="#000000">block and transaction</text>
<text text-anchor="middle" x="384" y="-270.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="edge16" class="edge">
<title>ZcashFoundation/zebra#3151&#45;&gt;ZcashFoundation/zebra#3152</title>
<path fill="none" stroke="#000000" d="M230.82,-261.06C239.79,-263.14 248.88,-265.24 257.93,-267.33"/>
<polygon fill="#000000" stroke="#000000" points="257.1776,-270.7483 267.71,-269.6 258.7603,-263.9296 257.1776,-270.7483"/>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3150 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3150</title>
<path fill="none" stroke="#000000" d="M500.38,-296.5C508.71,-296.5 517.14,-296.5 525.53,-296.5"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-300.0001 535.74,-296.5 525.74,-293.0001 525.74,-300.0001"/>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M500.29,-324.93C512.3,-327.38 524.37,-329.62 536,-331.5 621.57,-345.3 718.77,-354.35 793.98,-359.92"/>
<polygon fill="#000000" stroke="#000000" points="793.7415,-363.4118 803.97,-360.65 794.2517,-356.4304 793.7415,-363.4118"/>
</g>
<!-- ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3145 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#3152&#45;&gt;ZcashFoundation/zebra#3145</title>
<path fill="none" stroke="#000000" d="M408.41,-262.34C432.5,-228.22 469.98,-174 500,-125.5 517.18,-97.75 510.54,-81.912 536,-61.5 537.21,-60.534 538.44,-59.594 539.69,-58.681"/>
<polygon fill="#000000" stroke="#000000" points="541.8685,-61.4374 548.3,-53.018 538.0218,-55.589 541.8685,-61.4374"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node32"><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,-1843.5 0,-1843.5 0,-1775.5 232,-1775.5 232,-1843.5"/>
<text text-anchor="middle" x="116" y="-1828.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="116" y="-1813.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="116" y="-1798.3" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="116" y="-1783.3" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3229 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#3229</title>
<g id="a_node33"><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,-2015.5 0,-2015.5 0,-1947.5 232,-1947.5 232,-2015.5"/>
<text text-anchor="middle" x="116" y="-2000.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3229</text>
<text text-anchor="middle" x="116" y="-1985.3" font-family="Times,serif" font-size="14.00" fill="#000000">Increase `PeerSet`</text>
<text text-anchor="middle" x="116" y="-1970.3" font-family="Times,serif" font-size="14.00" fill="#000000">message and peer handling</text>
<text text-anchor="middle" x="116" y="-1955.3" font-family="Times,serif" font-size="14.00" fill="#000000">test coverage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node34"><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,-1972.5 268,-1972.5 268,-1904.5 500,-1904.5 500,-1972.5"/>
<text text-anchor="middle" x="384" y="-1957.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="384" y="-1942.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="384" y="-1927.3" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="384" y="-1912.3" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3229&#45;&gt;ZcashFoundation/zebra#2214 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#3229&#45;&gt;ZcashFoundation/zebra#2214</title>
<path fill="none" stroke="#000000" d="M232.38,-1962.8C240.81,-1961.5 249.33,-1960.1 257.81,-1958.7"/>
<polygon fill="#000000" stroke="#000000" points="258.375,-1962.1545 267.74,-1957.2 257.3294,-1955.233 258.375,-1962.1545"/>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node35"><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="232,-2087 0,-2087 0,-2034 232,-2034 232,-2087"/>
<text text-anchor="middle" x="116" y="-2071.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="116" y="-2056.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="116" y="-2041.8" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3600 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#3600</title>
<g id="a_node36"><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="232,-1183 0,-1183 0,-1130 232,-1130 232,-1183"/>
<text text-anchor="middle" x="116" y="-1167.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3600</text>
<text text-anchor="middle" x="116" y="-1152.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to halo2 &#45;&gt;</text>
<text text-anchor="middle" x="116" y="-1137.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="edge21" class="edge">
<title>ZcashFoundation/zebra#3600&#45;&gt;ZcashFoundation/zebra#2982</title>
<path fill="none" stroke="#000000" d="M205.99,-1130C222.67,-1125.1 240.37,-1119.8 257.89,-1114.7"/>
<polygon fill="#000000" stroke="#000000" points="259.0198,-1118.0154 267.6,-1111.8 257.0166,-1111.3082 259.0198,-1118.0154"/>
</g>
<!-- ZcashFoundation/zebra#3230 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#3230</title>
<g id="a_node37"><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="232,-1929.5 0,-1929.5 0,-1861.5 232,-1861.5 232,-1929.5"/>
<text text-anchor="middle" x="116" y="-1914.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3230</text>
<text text-anchor="middle" x="116" y="-1899.3" font-family="Times,serif" font-size="14.00" fill="#000000">Change `PeerSet` response</text>
<text text-anchor="middle" x="116" y="-1884.3" font-family="Times,serif" font-size="14.00" fill="#000000">type to enable peer set</text>
<text text-anchor="middle" x="116" y="-1869.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="edge22" class="edge">
<title>ZcashFoundation/zebra#3230&#45;&gt;ZcashFoundation/zebra#2214</title>
<path fill="none" stroke="#000000" d="M232.38,-1914.2C240.81,-1915.5 249.33,-1916.9 257.81,-1918.3"/>
<polygon fill="#000000" stroke="#000000" points="257.3294,-1921.767 267.74,-1919.8 258.375,-1914.8455 257.3294,-1921.767"/>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node38"><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,-2173.5 4.5,-2173.5 4.5,-2105.5 227.5,-2105.5 227.5,-2173.5"/>
<text text-anchor="middle" x="116" y="-2158.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="116" y="-2143.3" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="116" y="-2128.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="116" y="-2113.3" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3563 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#3563</title>
<g id="a_node39"><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="768,-154 536,-154 536,-71 768,-71 768,-154"/>
<text text-anchor="middle" x="652" y="-138.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3563</text>
<text text-anchor="middle" x="652" y="-123.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store Sapling &amp; Orchard</text>
<text text-anchor="middle" x="652" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">note commitment trees in</text>
<text text-anchor="middle" x="652" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized and non&#45;</text>
<text text-anchor="middle" x="652" y="-78.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="edge23" class="edge">
<title>ZcashFoundation/zebra#3563&#45;&gt;ZcashFoundation/zebra#3156</title>
<path fill="none" stroke="#000000" d="M768.38,-97.301C776.81,-96.201 785.33,-95.088 793.81,-93.98"/>
<polygon fill="#000000" stroke="#000000" points="794.2771,-97.4488 803.74,-92.684 793.3711,-90.5077 794.2771,-97.4488"/>
</g>
<!-- ZcashFoundation/zebra#2391 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#2391</title>
<g id="a_node40"><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="232,-953.5 0,-953.5 0,-885.5 232,-885.5 232,-953.5"/>
<text text-anchor="middle" x="116" y="-938.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2391</text>
<text text-anchor="middle" x="116" y="-923.3" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce the dependencies</text>
<text text-anchor="middle" x="116" y="-908.3" font-family="Times,serif" font-size="14.00" fill="#000000">on different versions of</text>
<text text-anchor="middle" x="116" y="-893.3" font-family="Times,serif" font-size="14.00" fill="#000000">`rand`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node41"><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="500,-903 268,-903 268,-850 500,-850 500,-903"/>
<text text-anchor="middle" x="384" y="-887.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="384" y="-872.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0 stable</text>
<text text-anchor="middle" x="384" y="-857.8" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2391&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#2391&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M232.38,-900.83C240.81,-899.48 249.33,-898.11 257.81,-896.75"/>
<polygon fill="#000000" stroke="#000000" points="258.4241,-900.1963 267.74,-895.15 257.3105,-893.2854 258.4241,-900.1963"/>
</g>
<!-- ZcashFoundation/zebra#2372 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#2372</title>
<g id="a_node42"><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,-867.5 0,-867.5 0,-799.5 232,-799.5 232,-867.5"/>
<text text-anchor="middle" x="116" y="-852.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2372</text>
<text text-anchor="middle" x="116" y="-837.3" font-family="Times,serif" font-size="14.00" fill="#000000"> Update the README goals</text>
<text text-anchor="middle" x="116" y="-822.3" font-family="Times,serif" font-size="14.00" fill="#000000">and scope for NU5 mainnet</text>
<text text-anchor="middle" x="116" y="-807.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M232.38,-852.17C240.81,-853.52 249.33,-854.89 257.81,-856.25"/>
<polygon fill="#000000" stroke="#000000" points="257.3105,-859.7146 267.74,-857.85 258.4241,-852.8037 257.3105,-859.7146"/>
</g>
<!-- ZcashFoundation/zebra#3018 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#3018</title>
<g id="a_node43"><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="232,-1111.5 0,-1111.5 0,-1043.5 232,-1043.5 232,-1111.5"/>
<text text-anchor="middle" x="116" y="-1096.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3018</text>
<text text-anchor="middle" x="116" y="-1081.3" font-family="Times,serif" font-size="14.00" fill="#000000">Rollback NU5 testnet 1,</text>
<text text-anchor="middle" x="116" y="-1066.3" font-family="Times,serif" font-size="14.00" fill="#000000">and set consensus</text>
<text text-anchor="middle" x="116" y="-1051.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="edge26" class="edge">
<title>ZcashFoundation/zebra#3018&#45;&gt;ZcashFoundation/zebra#2982</title>
<path fill="none" stroke="#000000" d="M232.38,-1077.5C240.71,-1077.5 249.14,-1077.5 257.53,-1077.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1081.0001 267.74,-1077.5 257.74,-1074.0001 257.74,-1081.0001"/>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node44"><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="232,-2245 0,-2245 0,-2192 232,-2192 232,-2245"/>
<text text-anchor="middle" x="116" y="-2229.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="116" y="-2214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="116" y="-2199.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node45"><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,-2324 268,-2324 268,-2271 500,-2271 500,-2324"/>
<text text-anchor="middle" x="384" y="-2308.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="384" y="-2293.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="384" y="-2278.8" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node46"><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,-2417.5 0,-2417.5 0,-2349.5 232,-2349.5 232,-2417.5"/>
<text text-anchor="middle" x="116" y="-2402.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="116" y="-2387.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="116" y="-2372.3" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="116" y="-2357.3" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3764 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#3764</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3764" xlink:title="ZcashFoundation/zebra#3764&#10;Use discussed RPC&#10;documentation format in&#10;already merged (or in&#10;progress) methods" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1585 0,-1585 0,-1502 232,-1502 232,-1585"/>
<text text-anchor="middle" x="116" y="-1569.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3764</text>
<text text-anchor="middle" x="116" y="-1554.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use discussed RPC</text>
<text text-anchor="middle" x="116" y="-1539.8" font-family="Times,serif" font-size="14.00" fill="#000000">documentation format in</text>
<text text-anchor="middle" x="116" y="-1524.8" font-family="Times,serif" font-size="14.00" fill="#000000">already merged (or in</text>
<text text-anchor="middle" x="116" y="-1509.8" font-family="Times,serif" font-size="14.00" fill="#000000">progress) methods</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3764&#45;&gt;ZcashFoundation/zebra#3160 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#3764&#45;&gt;ZcashFoundation/zebra#3160</title>
<path fill="none" stroke="#000000" d="M232.38,-1543.5C240.71,-1543.5 249.14,-1543.5 257.53,-1543.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1547.0001 267.74,-1543.5 257.74,-1540.0001 257.74,-1547.0001"/>
</g>
<!-- ZcashFoundation/zebra#3745 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#3745</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3745" xlink:title="ZcashFoundation/zebra#3745&#10;Zebra takes too much time&#10;to respond to `getblock`&#10;RPC method." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="768,-247.5 536,-247.5 536,-179.5 768,-179.5 768,-247.5"/>
<text text-anchor="middle" x="652" y="-232.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3745</text>
<text text-anchor="middle" x="652" y="-217.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra takes too much time</text>
<text text-anchor="middle" x="652" y="-202.3" font-family="Times,serif" font-size="14.00" fill="#000000">to respond to `getblock`</text>
<text text-anchor="middle" x="652" y="-187.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC method.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3147 -->
<g id="edge28" class="edge">
<title>ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3147</title>
<path fill="none" stroke="#000000" d="M751.26,-247.67C757.23,-251.53 762.88,-255.79 768,-260.5 794.05,-284.44 776.97,-308.67 804,-331.5 805.54,-332.8 807.13,-334.05 808.76,-335.26"/>
<polygon fill="#000000" stroke="#000000" points="806.9667,-338.2716 817.22,-340.94 810.8686,-332.46 806.9667,-338.2716"/>
</g>
<!-- ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3157 -->
<g id="edge29" class="edge">
<title>ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3157</title>
<path fill="none" stroke="#000000" d="M768.38,-218.71C776.71,-219.08 785.14,-219.46 793.53,-219.84"/>
<polygon fill="#000000" stroke="#000000" points="793.5956,-223.3462 803.74,-220.29 793.9038,-216.353 793.5956,-223.3462"/>
</g>
<!-- ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3158 -->
<g id="edge30" class="edge">
<title>ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3158</title>
<path fill="none" stroke="#000000" d="M762.17,-247.62C782.89,-254.04 804.39,-260.7 824.61,-266.96"/>
<polygon fill="#000000" stroke="#000000" points="823.8422,-270.3861 834.43,-270 825.9123,-263.6992 823.8422,-270.3861"/>
</g>
<!-- ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3511 -->
<g id="edge31" class="edge">
<title>ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3511</title>
<path fill="none" stroke="#000000" d="M768.05,-180.42C846.56,-164.14 951.03,-154.63 1036,-189.5 1088.6,-211.06 1132.6,-260.55 1159.6,-296.8"/>
<polygon fill="#000000" stroke="#000000" points="1157.009,-299.1905 1165.7,-305.25 1162.6846,-295.0933 1157.009,-299.1905"/>
</g>
<!-- ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3655 -->
<g id="edge32" class="edge">
<title>ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3655</title>
<path fill="none" stroke="#000000" d="M729.56,-179.37C753.04,-170.42 779.2,-161.8 804,-156.5 888.71,-138.39 986.13,-132.47 1061.7,-131.04"/>
<polygon fill="#000000" stroke="#000000" points="1061.761,-134.5396 1071.7,-130.87 1061.6419,-127.5406 1061.761,-134.5396"/>
</g>
<!-- ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3156 -->
<g id="edge33" class="edge">
<title>ZcashFoundation/zebra#3745&#45;&gt;ZcashFoundation/zebra#3156</title>
<path fill="none" stroke="#000000" d="M741.54,-179.37C750.84,-174.31 759.85,-168.69 768,-162.5 788.12,-147.22 783.32,-133.02 804,-118.5 809.1,-114.91 814.55,-111.61 820.2,-108.58"/>
<polygon fill="#000000" stroke="#000000" points="821.868,-111.6588 829.22,-104.03 818.7153,-105.4089 821.868,-111.6588"/>
</g>
<!-- ZcashFoundation/zebra#3520 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#3520</title>
<g id="a_node49"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3520" xlink:title="ZcashFoundation/zebra#3520&#10;Use new v5 transaction&#10;script verification API" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1025 0,-1025 0,-972 232,-972 232,-1025"/>
<text text-anchor="middle" x="116" y="-1009.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3520</text>
<text text-anchor="middle" x="116" y="-994.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use new v5 transaction</text>
<text text-anchor="middle" x="116" y="-979.8" font-family="Times,serif" font-size="14.00" fill="#000000">script verification API</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3520&#45;&gt;ZcashFoundation/zebra#2982 -->
<g id="edge34" class="edge">
<title>ZcashFoundation/zebra#3520&#45;&gt;ZcashFoundation/zebra#2982</title>
<path fill="none" stroke="#000000" d="M205.99,-1025C222.67,-1029.9 240.37,-1035.2 257.89,-1040.3"/>
<polygon fill="#000000" stroke="#000000" points="257.0166,-1043.6918 267.6,-1043.2 259.0198,-1036.9846 257.0166,-1043.6918"/>
</g>
<!-- ZcashFoundation/zebra#3520&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge35" class="edge">
<title>ZcashFoundation/zebra#3520&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M208.16,-971.9C216.31,-968.95 224.35,-965.8 232,-962.5 267.31,-947.24 304.96,-925.98 333.95,-908.42"/>
<polygon fill="#000000" stroke="#000000" points="335.9504,-911.2995 342.66,-903.1 332.3016,-905.3257 335.9504,-911.2995"/>
</g>
<!-- ZcashFoundation/zebra#2368 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#2368</title>
<g id="a_node50"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2368" xlink:title="ZcashFoundation/zebra#2368&#10;Update Zebra checkpoint&#10;lists &amp; mandatory&#10;checkpoint before NU5&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-781 0,-781 0,-698 232,-698 232,-781"/>
<text text-anchor="middle" x="116" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2368</text>
<text text-anchor="middle" x="116" y="-750.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update Zebra checkpoint</text>
<text text-anchor="middle" x="116" y="-735.8" font-family="Times,serif" font-size="14.00" fill="#000000">lists &amp; mandatory</text>
<text text-anchor="middle" x="116" y="-720.8" font-family="Times,serif" font-size="14.00" fill="#000000">checkpoint before NU5</text>
<text text-anchor="middle" x="116" y="-705.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2368&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge36" class="edge">
<title>ZcashFoundation/zebra#2368&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M212.56,-781.06C219.17,-784.18 225.71,-787.35 232,-790.5 265.53,-807.3 302.15,-827.95 331.04,-844.8"/>
<polygon fill="#000000" stroke="#000000" points="329.352,-847.8674 339.75,-849.9 332.889,-841.8267 329.352,-847.8674"/>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node51"><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,-2519 0,-2519 0,-2436 232,-2436 232,-2519"/>
<text text-anchor="middle" x="116" y="-2503.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="116" y="-2488.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="116" y="-2473.8" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="116" y="-2458.8" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="116" y="-2443.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1893 -->
<g id="node52" class="node closed">
<title>ZcashFoundation/zebra#1893</title>
<g id="a_node52"><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="500,-2511.5 268,-2511.5 268,-2443.5 500,-2443.5 500,-2511.5"/>
<text text-anchor="middle" x="384" y="-2496.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1893</text>
<text text-anchor="middle" x="384" y="-2481.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should auto&#45;</text>
<text text-anchor="middle" x="384" y="-2466.3" font-family="Times,serif" font-size="14.00" fill="#000000">discover its own external</text>
<text text-anchor="middle" x="384" y="-2451.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="edge37" class="edge">
<title>ZcashFoundation/zebra#1890&#45;&gt;ZcashFoundation/zebra#1893</title>
<path fill="none" stroke="#000000" d="M232.38,-2477.5C240.71,-2477.5 249.14,-2477.5 257.53,-2477.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2481.0001 267.74,-2477.5 257.74,-2474.0001 257.74,-2481.0001"/>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node53"><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,-2331.5 0,-2331.5 0,-2263.5 232,-2263.5 232,-2331.5"/>
<text text-anchor="middle" x="116" y="-2316.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="116" y="-2301.3" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="116" y="-2286.3" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="116" y="-2271.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="edge38" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M232.38,-2297.5C240.71,-2297.5 249.14,-2297.5 257.53,-2297.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2301.0001 267.74,-2297.5 257.74,-2294.0001 257.74,-2301.0001"/>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node54"><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,-2605.5 0,-2605.5 0,-2537.5 232,-2537.5 232,-2605.5"/>
<text text-anchor="middle" x="116" y="-2590.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="116" y="-2575.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="116" y="-2560.3" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="116" y="-2545.3" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node55"><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="232,-2691.5 0,-2691.5 0,-2623.5 232,-2623.5 232,-2691.5"/>
<text text-anchor="middle" x="116" y="-2676.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="116" y="-2661.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;chain: Port array&#45;</text>
<text text-anchor="middle" x="116" y="-2646.3" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="116" y="-2631.3" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2377 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#2377</title>
<g id="a_node56"><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,-2763 0,-2763 0,-2710 232,-2710 232,-2763"/>
<text text-anchor="middle" x="116" y="-2747.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2377</text>
<text text-anchor="middle" x="116" y="-2732.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor history tree</text>
<text text-anchor="middle" x="116" y="-2717.8" font-family="Times,serif" font-size="14.00" fill="#000000">pruning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1951 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#1951</title>
<g id="a_node57"><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,-2864 0,-2864 0,-2781 232,-2781 232,-2864"/>
<text text-anchor="middle" x="116" y="-2848.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1951</text>
<text text-anchor="middle" x="116" y="-2833.8" font-family="Times,serif" font-size="14.00" fill="#000000">Generalize/deduplicate</text>
<text text-anchor="middle" x="116" y="-2818.8" font-family="Times,serif" font-size="14.00" fill="#000000">async batch verification</text>
<text text-anchor="middle" x="116" y="-2803.8" font-family="Times,serif" font-size="14.00" fill="#000000">services / create a</text>
<text text-anchor="middle" x="116" y="-2788.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="node58" class="node closed">
<title>ZcashFoundation/zebra#2390</title>
<g id="a_node58"><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="500,-2864 268,-2864 268,-2781 500,-2781 500,-2864"/>
<text text-anchor="middle" x="384" y="-2848.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2390</text>
<text text-anchor="middle" x="384" y="-2833.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix tasks spawned by</text>
<text text-anchor="middle" x="384" y="-2818.8" font-family="Times,serif" font-size="14.00" fill="#000000">`tower_batch::Batch` only</text>
<text text-anchor="middle" x="384" y="-2803.8" font-family="Times,serif" font-size="14.00" fill="#000000">being alive during one</text>
<text text-anchor="middle" x="384" y="-2788.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="edge39" class="edge">
<title>ZcashFoundation/zebra#1951&#45;&gt;ZcashFoundation/zebra#2390</title>
<path fill="none" stroke="#000000" d="M232.38,-2822.5C240.71,-2822.5 249.14,-2822.5 257.53,-2822.5"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-2826.0001 267.74,-2822.5 257.74,-2819.0001 257.74,-2826.0001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>