developers/zcash-zf-dag.html

1460 lines
113 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="1381pt" height="5093pt"
viewBox="0.00 0.00 1381.00 5092.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 5088.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-5088.5 1377,-5088.5 1377,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="569,-375 569,-2189 1105,-2189 1105,-375 569,-375"/>
<text text-anchor="middle" x="837" y="-2173.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Stable Release Candidate</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_5</title>
<polygon fill="none" stroke="#0000ff" points="549,0 549,-179 837,-179 837,0 549,0"/>
<text text-anchor="middle" x="693" y="-163.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_4</title>
<polygon fill="none" stroke="#0000ff" points="268,-2197 268,-2952 831,-2952 831,-2197 268,-2197"/>
<text text-anchor="middle" x="549.5" y="-2936.8" font-family="Times,serif" font-size="14.00" fill="#000000">Mini&#45;Epic: Stop tokio tasks running for a long time and blocking other tasks</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,-3077 0,-3414 248,-3414 248,-3077 0,-3077"/>
<text text-anchor="middle" x="124" y="-3398.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Documentation</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-3422 0,-4835 529,-4835 529,-3422 0,-3422"/>
<text text-anchor="middle" x="264.5" y="-4819.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Zebra as a Full&#45;Node Wallet</text>
</g>
<g id="clust6" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="1125,-885 1125,-1694 1373,-1694 1373,-885 1125,-885"/>
<text text-anchor="middle" x="1249" y="-1678.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Tech Debt</text>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node1"><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="809,-2158 577,-2158 577,-2090 809,-2090 809,-2158"/>
<text text-anchor="middle" x="693" y="-2142.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="693" y="-2127.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="693" y="-2112.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="693" y="-2097.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node2"><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="809,-2072 577,-2072 577,-2004 809,-2004 809,-2072"/>
<text text-anchor="middle" x="693" y="-2056.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="693" y="-2041.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="693" y="-2026.8" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="693" y="-2011.8" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node3" class="node closed">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node3"><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="#fad8c7" stroke="#000000" points="1097,-2079.5 865,-2079.5 865,-1996.5 1097,-1996.5 1097,-2079.5"/>
<text text-anchor="middle" x="981" y="-2064.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="981" y="-2049.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="981" y="-2034.3" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="981" y="-2019.3" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="981" y="-2004.3" 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="edge1" class="edge">
<title>ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432</title>
<path fill="none" stroke="#000000" d="M809.31,-2038C824.15,-2038 839.4,-2038 854.39,-2038"/>
<polygon fill="#000000" stroke="#000000" points="854.72,-2041.5001 864.72,-2038 854.72,-2034.5001 854.72,-2041.5001"/>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra 1.0.0&#45;rc.0&#10;stable release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1985.5 577,-1985.5 577,-1932.5 809,-1932.5 809,-1985.5"/>
<text text-anchor="middle" x="693" y="-1970.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="693" y="-1955.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;rc.0</text>
<text text-anchor="middle" x="693" y="-1940.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node5"><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" points="1097,-1670 865,-1670 865,-1602 1097,-1602 1097,-1670"/>
<text text-anchor="middle" x="981" y="-1654.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="981" y="-1639.8" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="981" y="-1624.8" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="981" y="-1609.8" font-family="Times,serif" font-size="14.00" fill="#000000">show Zebra nodes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node61" class="node closed">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node61"><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="#fad8c7" stroke="#000000" points="1365,-1662.5 1133,-1662.5 1133,-1609.5 1365,-1609.5 1365,-1662.5"/>
<text text-anchor="middle" x="1249" y="-1647.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="1249" y="-1632.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="1249" y="-1617.3" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M1097.4,-1636C1105.7,-1636 1114.1,-1636 1122.5,-1636"/>
<polygon fill="#000000" stroke="#000000" points="1122.7,-1639.5001 1132.7,-1636 1122.7,-1632.5001 1122.7,-1639.5001"/>
</g>
<!-- ZcashFoundation/zebra#4875 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4875</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4875" xlink:title="ZcashFoundation/zebra#4875&#10;Send the state tip height&#10;in Version messages" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-1827.5 577,-1827.5 577,-1774.5 809,-1774.5 809,-1827.5"/>
<text text-anchor="middle" x="693" y="-1812.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4875</text>
<text text-anchor="middle" x="693" y="-1797.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send the state tip height</text>
<text text-anchor="middle" x="693" y="-1782.3" font-family="Times,serif" font-size="14.00" fill="#000000">in Version messages</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4784 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#4784</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4784" xlink:title="ZcashFoundation/zebra#4784&#10;Store only the first tree&#10;state in each identical&#10;series of tree states" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-1914 577,-1914 577,-1846 809,-1846 809,-1914"/>
<text text-anchor="middle" x="693" y="-1898.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4784</text>
<text text-anchor="middle" x="693" y="-1883.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store only the first tree</text>
<text text-anchor="middle" x="693" y="-1868.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in each identical</text>
<text text-anchor="middle" x="693" y="-1853.8" font-family="Times,serif" font-size="14.00" fill="#000000">series of tree states</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4753 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#4753</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4753" xlink:title="ZcashFoundation/zebra#4753&#10;ci: Split deploy&#45;gcp&#45;&#10;tests workflow into&#10;multiple categories" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1756 577,-1756 577,-1688 809,-1688 809,-1756"/>
<text text-anchor="middle" x="693" y="-1740.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4753</text>
<text text-anchor="middle" x="693" y="-1725.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Split deploy&#45;gcp&#45;</text>
<text text-anchor="middle" x="693" y="-1710.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests workflow into</text>
<text text-anchor="middle" x="693" y="-1695.8" font-family="Times,serif" font-size="14.00" fill="#000000">multiple categories</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4834 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4834</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4834" xlink:title="ZcashFoundation/zebra#4834&#10;Switch zebrad to a non&#45;&#10;blocking tracing logger" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1411.5 577,-1411.5 577,-1358.5 809,-1358.5 809,-1411.5"/>
<text text-anchor="middle" x="693" y="-1396.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4834</text>
<text text-anchor="middle" x="693" y="-1381.3" font-family="Times,serif" font-size="14.00" fill="#000000">Switch zebrad to a non&#45;</text>
<text text-anchor="middle" x="693" y="-1366.3" font-family="Times,serif" font-size="14.00" fill="#000000">blocking tracing logger</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node71" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node71"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3096" xlink:title="ZcashFoundation/zebra#3096&#10;Epic: Zebra Stable&#10;Release Candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1097,-295.5 865,-295.5 865,-242.5 1097,-242.5 1097,-295.5"/>
<text text-anchor="middle" x="981" y="-280.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="981" y="-265.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Stable</text>
<text text-anchor="middle" x="981" y="-250.3" font-family="Times,serif" font-size="14.00" fill="#000000">Release Candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4834&#45;&gt;ZcashFoundation/zebra#3096 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4834&#45;&gt;ZcashFoundation/zebra#3096</title>
<path fill="none" stroke="#000000" d="M809.06,-1371.1C819.77,-1365.6 829.42,-1358.4 837,-1349 909.63,-1258.5 794.93,-397.5 865,-305 865.48,-304.37 865.97,-303.75 866.46,-303.14"/>
<polygon fill="#000000" stroke="#000000" points="869.1071,-305.4366 873.51,-295.8 864.0586,-300.5876 869.1071,-305.4366"/>
</g>
<!-- ZcashFoundation/zebra#4562 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#4562</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4562" xlink:title="ZcashFoundation/zebra#4562&#10;Deploy long&#45;running Zebra&#10;nodes after each tagged&#10;release" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1670 577,-1670 577,-1602 809,-1602 809,-1670"/>
<text text-anchor="middle" x="693" y="-1654.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4562</text>
<text text-anchor="middle" x="693" y="-1639.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deploy long&#45;running Zebra</text>
<text text-anchor="middle" x="693" y="-1624.8" font-family="Times,serif" font-size="14.00" fill="#000000">nodes after each tagged</text>
<text text-anchor="middle" x="693" y="-1609.8" font-family="Times,serif" font-size="14.00" fill="#000000">release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4562&#45;&gt;ZcashFoundation/zebra#1904 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#4562&#45;&gt;ZcashFoundation/zebra#1904</title>
<path fill="none" stroke="#000000" d="M809.31,-1636C824.15,-1636 839.4,-1636 854.39,-1636"/>
<polygon fill="#000000" stroke="#000000" points="854.72,-1639.5001 864.72,-1636 854.72,-1632.5001 854.72,-1639.5001"/>
</g>
<!-- ZcashFoundation/zebra#4733 -->
<g id="node11" class="node closed">
<title>ZcashFoundation/zebra#4733</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4733" xlink:title="ZcashFoundation/zebra#4733&#10;Return connection errors&#10;from the heartbeat task&#10;to the `Client`" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="809,-1584 577,-1584 577,-1516 809,-1516 809,-1584"/>
<text text-anchor="middle" x="693" y="-1568.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4733</text>
<text text-anchor="middle" x="693" y="-1553.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return connection errors</text>
<text text-anchor="middle" x="693" y="-1538.8" font-family="Times,serif" font-size="14.00" fill="#000000">from the heartbeat task</text>
<text text-anchor="middle" x="693" y="-1523.8" font-family="Times,serif" font-size="14.00" fill="#000000">to the `Client`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4735 -->
<g id="node72" class="node open">
<title>ZcashFoundation/zebra#4735</title>
<g id="a_node72"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4735" xlink:title="ZcashFoundation/zebra#4735&#10;Remove the `ErrorSlot`&#10;type" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1097,-366.5 865,-366.5 865,-313.5 1097,-313.5 1097,-366.5"/>
<text text-anchor="middle" x="981" y="-351.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4735</text>
<text text-anchor="middle" x="981" y="-336.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the `ErrorSlot`</text>
<text text-anchor="middle" x="981" y="-321.3" font-family="Times,serif" font-size="14.00" fill="#000000">type</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4733&#45;&gt;ZcashFoundation/zebra#4735 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#4733&#45;&gt;ZcashFoundation/zebra#4735</title>
<path fill="none" stroke="#000000" d="M809.33,-1530.3C819.99,-1524.4 829.55,-1516.7 837,-1507 911.88,-1409 792.71,-513.63 863.25,-375.39"/>
<polygon fill="#000000" stroke="#000000" points="866.3086,-377.1006 868.66,-366.77 860.3796,-373.3795 866.3086,-377.1006"/>
</g>
<!-- ZcashFoundation/zebra#4737 -->
<g id="node73" class="node closed">
<title>ZcashFoundation/zebra#4737</title>
<g id="a_node73"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4737" xlink:title="ZcashFoundation/zebra#4737&#10;Return detailed error&#10;information from the&#10;heartbeat task" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1097,-2265 865,-2265 865,-2197 1097,-2197 1097,-2265"/>
<text text-anchor="middle" x="981" y="-2249.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4737</text>
<text text-anchor="middle" x="981" y="-2234.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed error</text>
<text text-anchor="middle" x="981" y="-2219.8" font-family="Times,serif" font-size="14.00" fill="#000000">information from the</text>
<text text-anchor="middle" x="981" y="-2204.8" font-family="Times,serif" font-size="14.00" fill="#000000">heartbeat task</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4733&#45;&gt;ZcashFoundation/zebra#4737 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4733&#45;&gt;ZcashFoundation/zebra#4737</title>
<path fill="none" stroke="#000000" d="M809.12,-1569.9C819.81,-1575.8 829.45,-1583.3 837,-1593 917.21,-1695.6 790.64,-2068 862.45,-2188.4"/>
<polygon fill="#000000" stroke="#000000" points="859.7077,-2190.592 868.22,-2196.9 865.4993,-2186.6604 859.7077,-2190.592"/>
</g>
<!-- ZcashFoundation/zebra#4734 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#4734</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4734" xlink:title="ZcashFoundation/zebra#4734&#10;Return errors from&#10;`Connection` methods to&#10;the `Client`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-1498 577,-1498 577,-1430 809,-1430 809,-1498"/>
<text text-anchor="middle" x="693" y="-1482.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4734</text>
<text text-anchor="middle" x="693" y="-1467.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return errors from</text>
<text text-anchor="middle" x="693" y="-1452.8" font-family="Times,serif" font-size="14.00" fill="#000000">`Connection` methods to</text>
<text text-anchor="middle" x="693" y="-1437.8" font-family="Times,serif" font-size="14.00" fill="#000000">the `Client`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4734&#45;&gt;ZcashFoundation/zebra#4735 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#4734&#45;&gt;ZcashFoundation/zebra#4735</title>
<path fill="none" stroke="#000000" d="M809.31,-1444.3C819.97,-1438.3 829.54,-1430.7 837,-1421 906.17,-1330.7 798.43,-506.08 863.24,-375.54"/>
<polygon fill="#000000" stroke="#000000" points="866.3815,-377.1147 868.67,-366.77 860.43,-373.4298 866.3815,-377.1147"/>
</g>
<!-- ZcashFoundation/zebra#4684 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#4684</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4684" xlink:title="ZcashFoundation/zebra#4684&#10;Test that every old&#10;zebrad.toml config still&#10;works" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1340 577,-1340 577,-1272 809,-1272 809,-1340"/>
<text text-anchor="middle" x="693" y="-1324.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4684</text>
<text text-anchor="middle" x="693" y="-1309.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test that every old</text>
<text text-anchor="middle" x="693" y="-1294.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad.toml config still</text>
<text text-anchor="middle" x="693" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">works</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4778 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#4778</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4778" xlink:title="ZcashFoundation/zebra#4778&#10;Replace old release&#10;criteria with stable&#10;release candidate&#10;criteria in docs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1253.5 577,-1253.5 577,-1170.5 809,-1170.5 809,-1253.5"/>
<text text-anchor="middle" x="693" y="-1238.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4778</text>
<text text-anchor="middle" x="693" y="-1223.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace old release</text>
<text text-anchor="middle" x="693" y="-1208.3" font-family="Times,serif" font-size="14.00" fill="#000000">criteria with stable</text>
<text text-anchor="middle" x="693" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate</text>
<text text-anchor="middle" x="693" y="-1178.3" font-family="Times,serif" font-size="14.00" fill="#000000">criteria in docs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4677 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#4677</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4677" xlink:title="ZcashFoundation/zebra#4677&#10;Various tests sometimes&#10;fail" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1152.5 577,-1152.5 577,-1099.5 809,-1099.5 809,-1152.5"/>
<text text-anchor="middle" x="693" y="-1137.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4677</text>
<text text-anchor="middle" x="693" y="-1122.3" font-family="Times,serif" font-size="14.00" fill="#000000">Various tests sometimes</text>
<text text-anchor="middle" x="693" y="-1107.3" font-family="Times,serif" font-size="14.00" fill="#000000">fail</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1621 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#1621</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1621" xlink:title="ZcashFoundation/zebra#1621&#10;Run `zebrad start` by&#10;default" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1081.5 577,-1081.5 577,-1028.5 809,-1028.5 809,-1081.5"/>
<text text-anchor="middle" x="693" y="-1066.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1621</text>
<text text-anchor="middle" x="693" y="-1051.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run `zebrad start` by</text>
<text text-anchor="middle" x="693" y="-1036.3" font-family="Times,serif" font-size="14.00" fill="#000000">default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4295 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4295</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4295" xlink:title="ZcashFoundation/zebra#4295&#10;Truncate branch name when&#10;used in Google Cloud&#10;names" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-1010 577,-1010 577,-942 809,-942 809,-1010"/>
<text text-anchor="middle" x="693" y="-994.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4295</text>
<text text-anchor="middle" x="693" y="-979.8" font-family="Times,serif" font-size="14.00" fill="#000000">Truncate branch name when</text>
<text text-anchor="middle" x="693" y="-964.8" font-family="Times,serif" font-size="14.00" fill="#000000">used in Google Cloud</text>
<text text-anchor="middle" x="693" y="-949.8" font-family="Times,serif" font-size="14.00" fill="#000000">names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1638" xlink:title="ZcashFoundation/zebra#1638&#10;Create PGP keys amongst&#10;security@zfnd.org" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-923.5 577,-923.5 577,-870.5 809,-870.5 809,-923.5"/>
<text text-anchor="middle" x="693" y="-908.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="693" y="-893.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="693" y="-878.3" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4822 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4822</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4822" xlink:title="ZcashFoundation/zebra#4822&#10;Speed up opening the&#10;database" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-852.5 577,-852.5 577,-799.5 809,-799.5 809,-852.5"/>
<text text-anchor="middle" x="693" y="-837.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4822</text>
<text text-anchor="middle" x="693" y="-822.3" font-family="Times,serif" font-size="14.00" fill="#000000">Speed up opening the</text>
<text text-anchor="middle" x="693" y="-807.3" font-family="Times,serif" font-size="14.00" fill="#000000">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3757 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#3757</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3757" xlink:title="ZcashFoundation/zebra#3757&#10;De&#45;duplicate note&#10;commitment trees in the&#10;finalized and non&#45;&#10;finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-781.5 577,-781.5 577,-698.5 809,-698.5 809,-781.5"/>
<text text-anchor="middle" x="693" y="-766.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3757</text>
<text text-anchor="middle" x="693" y="-751.3" font-family="Times,serif" font-size="14.00" fill="#000000">De&#45;duplicate note</text>
<text text-anchor="middle" x="693" y="-736.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment trees in the</text>
<text text-anchor="middle" x="693" y="-721.3" font-family="Times,serif" font-size="14.00" fill="#000000">finalized and non&#45;</text>
<text text-anchor="middle" x="693" y="-706.3" font-family="Times,serif" font-size="14.00" fill="#000000">finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra stable download&#10;should be linked from&#10;ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-680 577,-680 577,-612 809,-612 809,-680"/>
<text text-anchor="middle" x="693" y="-664.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="693" y="-649.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra stable download</text>
<text text-anchor="middle" x="693" y="-634.8" font-family="Times,serif" font-size="14.00" fill="#000000">should be linked from</text>
<text text-anchor="middle" x="693" y="-619.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4678 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4678</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4678" xlink:title="ZcashFoundation/zebra#4678&#10;Return peer metadata from&#10;`connect_isolated`&#10;functions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-594 577,-594 577,-526 809,-526 809,-594"/>
<text text-anchor="middle" x="693" y="-578.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4678</text>
<text text-anchor="middle" x="693" y="-563.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return peer metadata from</text>
<text text-anchor="middle" x="693" y="-548.8" font-family="Times,serif" font-size="14.00" fill="#000000">`connect_isolated`</text>
<text text-anchor="middle" x="693" y="-533.8" font-family="Times,serif" font-size="14.00" fill="#000000">functions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node23"><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="809,-507.5 577,-507.5 577,-454.5 809,-454.5 809,-507.5"/>
<text text-anchor="middle" x="693" y="-492.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="693" y="-477.3" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="693" y="-462.3" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4591 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#4591</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4591" xlink:title="ZcashFoundation/zebra#4591&#10;Fix timeout not being&#10;enforced by sync_until" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="809,-436.5 577,-436.5 577,-383.5 809,-383.5 809,-436.5"/>
<text text-anchor="middle" x="693" y="-421.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4591</text>
<text text-anchor="middle" x="693" y="-406.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix timeout not being</text>
<text text-anchor="middle" x="693" y="-391.3" font-family="Times,serif" font-size="14.00" fill="#000000">enforced by sync_until</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4612" xlink:title="ZcashFoundation/zebra#4612&#10;ci: Wait for lightwalletd&#10;image rebuild if it has&#10;changed" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-148 577,-148 577,-80 809,-80 809,-148"/>
<text text-anchor="middle" x="693" y="-132.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="693" y="-117.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="693" y="-102.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="693" y="-87.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4350 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4350</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4350" xlink:title="ZcashFoundation/zebra#4350&#10;Add GetMempoolTx gRPC&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-61.5 577,-61.5 577,-8.5 809,-8.5 809,-61.5"/>
<text text-anchor="middle" x="693" y="-46.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4350</text>
<text text-anchor="middle" x="693" y="-31.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetMempoolTx gRPC</text>
<text text-anchor="middle" x="693" y="-16.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4841" xlink:title="ZcashFoundation/zebra#4841&#10;Improve note commitment&#10;tree append performance" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-2733.5 577,-2733.5 577,-2680.5 809,-2680.5 809,-2733.5"/>
<text text-anchor="middle" x="693" y="-2718.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="693" y="-2703.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="693" y="-2688.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4831 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4831</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4831" xlink:title="ZcashFoundation/zebra#4831&#10;Revert deserializing&#10;state transactions in&#10;`rayon` threads" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-2921 289,-2921 289,-2853 521,-2853 521,-2921"/>
<text text-anchor="middle" x="405" y="-2905.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4831</text>
<text text-anchor="middle" x="405" y="-2890.8" font-family="Times,serif" font-size="14.00" fill="#000000">Revert deserializing</text>
<text text-anchor="middle" x="405" y="-2875.8" font-family="Times,serif" font-size="14.00" fill="#000000">state transactions in</text>
<text text-anchor="middle" x="405" y="-2860.8" font-family="Times,serif" font-size="14.00" fill="#000000">`rayon` threads</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4721 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#4721</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4721" xlink:title="ZcashFoundation/zebra#4721&#10;Send note commitment and&#10;history trees from the&#10;non&#45;finalized state to&#10;the finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-2546.5 289,-2546.5 289,-2542.5 285,-2542.5 285,-2538.5 289,-2538.5 289,-2471.5 285,-2471.5 285,-2467.5 289,-2467.5 289,-2463.5 521,-2463.5 521,-2546.5"/>
<polyline fill="none" stroke="#000000" points="289,-2542.5 293,-2542.5 293,-2538.5 289,-2538.5 "/>
<polyline fill="none" stroke="#000000" points="289,-2471.5 293,-2471.5 293,-2467.5 289,-2467.5 "/>
<text text-anchor="middle" x="405" y="-2531.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4721</text>
<text text-anchor="middle" x="405" y="-2516.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send note commitment and</text>
<text text-anchor="middle" x="405" y="-2501.3" font-family="Times,serif" font-size="14.00" fill="#000000">history trees from the</text>
<text text-anchor="middle" x="405" y="-2486.3" font-family="Times,serif" font-size="14.00" fill="#000000">non&#45;finalized state to</text>
<text text-anchor="middle" x="405" y="-2471.3" font-family="Times,serif" font-size="14.00" fill="#000000">the finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4721&#45;&gt;ZcashFoundation/zebra#4784 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#4721&#45;&gt;ZcashFoundation/zebra#4784</title>
<path fill="none" stroke="#000000" d="M521.02,-2464.6C523.92,-2461.6 526.6,-2458.4 529,-2455 562.95,-2406.7 512.99,-1970.8 549,-1924 554.39,-1917 560.86,-1911.1 568.04,-1906.1"/>
<polygon fill="#000000" stroke="#000000" points="570.1691,-1908.8952 576.76,-1900.6 566.4347,-1902.9745 570.1691,-1908.8952"/>
</g>
<!-- ZcashFoundation/zebra#4823 -->
<g id="node30" class="node closed">
<title>ZcashFoundation/zebra#4823</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4823" xlink:title="ZcashFoundation/zebra#4823&#10;Find out which parts of C&#10;ommitBlock/CommitFinalize&#10;dBlock are slow" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="809,-2539 577,-2539 577,-2471 809,-2471 809,-2539"/>
<text text-anchor="middle" x="693" y="-2523.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4823</text>
<text text-anchor="middle" x="693" y="-2508.8" font-family="Times,serif" font-size="14.00" fill="#000000">Find out which parts of C</text>
<text text-anchor="middle" x="693" y="-2493.8" font-family="Times,serif" font-size="14.00" fill="#000000">ommitBlock/CommitFinalize</text>
<text text-anchor="middle" x="693" y="-2478.8" font-family="Times,serif" font-size="14.00" fill="#000000">dBlock are slow</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4721&#45;&gt;ZcashFoundation/zebra#4823 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#4721&#45;&gt;ZcashFoundation/zebra#4823</title>
<path fill="none" stroke="#000000" d="M521.31,-2505C536.15,-2505 551.4,-2505 566.39,-2505"/>
<polygon fill="#000000" stroke="#000000" points="566.72,-2508.5001 576.72,-2505 566.72,-2501.5001 566.72,-2508.5001"/>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-2842.5 577,-2842.5 577,-2759.5 809,-2759.5 809,-2842.5"/>
<text text-anchor="middle" x="693" y="-2827.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="693" y="-2812.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="693" y="-2797.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="693" y="-2782.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="693" y="-2767.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4837 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#4837</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4837" xlink:title="ZcashFoundation/zebra#4837&#10;Store history trees by&#10;height in the non&#45;&#10;finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-2835 289,-2835 289,-2767 521,-2767 521,-2835"/>
<text text-anchor="middle" x="405" y="-2819.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4837</text>
<text text-anchor="middle" x="405" y="-2804.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store history trees by</text>
<text text-anchor="middle" x="405" y="-2789.8" font-family="Times,serif" font-size="14.00" fill="#000000">height in the non&#45;</text>
<text text-anchor="middle" x="405" y="-2774.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4837&#45;&gt;ZcashFoundation/zebra#4794 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#4837&#45;&gt;ZcashFoundation/zebra#4794</title>
<path fill="none" stroke="#000000" d="M521.31,-2801C536.15,-2801 551.4,-2801 566.39,-2801"/>
<polygon fill="#000000" stroke="#000000" points="566.72,-2804.5001 576.72,-2801 566.72,-2797.5001 566.72,-2804.5001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-2748.5 289,-2748.5 289,-2665.5 521,-2665.5 521,-2748.5"/>
<text text-anchor="middle" x="405" y="-2733.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="405" y="-2718.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="405" y="-2703.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="405" y="-2688.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="405" y="-2673.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M521.31,-2707C536.15,-2707 551.4,-2707 566.39,-2707"/>
<polygon fill="#000000" stroke="#000000" points="566.72,-2710.5001 576.72,-2707 566.72,-2703.5001 566.72,-2710.5001"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-2647.5 289,-2647.5 289,-2564.5 521,-2564.5 521,-2647.5"/>
<text text-anchor="middle" x="405" y="-2632.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="405" y="-2617.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="405" y="-2602.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="405" y="-2587.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="405" y="-2572.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M521.31,-2646.8C550.22,-2656.9 580.67,-2667.6 607.77,-2677.1"/>
<polygon fill="#000000" stroke="#000000" points="606.6152,-2680.4039 617.21,-2680.4 608.9252,-2673.796 606.6152,-2680.4039"/>
</g>
<!-- ZcashFoundation/zebra#4824 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#4824</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4824" xlink:title="ZcashFoundation/zebra#4824&#10;Send note commitment and&#10;history trees from the&#10;non&#45;finalized state to&#10;the finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-2445.5 289,-2445.5 289,-2362.5 521,-2362.5 521,-2445.5"/>
<text text-anchor="middle" x="405" y="-2430.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4824</text>
<text text-anchor="middle" x="405" y="-2415.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send note commitment and</text>
<text text-anchor="middle" x="405" y="-2400.3" font-family="Times,serif" font-size="14.00" fill="#000000">history trees from the</text>
<text text-anchor="middle" x="405" y="-2385.3" font-family="Times,serif" font-size="14.00" fill="#000000">non&#45;finalized state to</text>
<text text-anchor="middle" x="405" y="-2370.3" font-family="Times,serif" font-size="14.00" fill="#000000">the finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4821 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#4821</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4821" xlink:title="ZcashFoundation/zebra#4821&#10;Open the database in a&#10;blocking tokio thread" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-2344.5 289,-2344.5 289,-2291.5 521,-2291.5 521,-2344.5"/>
<text text-anchor="middle" x="405" y="-2329.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4821</text>
<text text-anchor="middle" x="405" y="-2314.3" font-family="Times,serif" font-size="14.00" fill="#000000">Open the database in a</text>
<text text-anchor="middle" x="405" y="-2299.3" font-family="Times,serif" font-size="14.00" fill="#000000">blocking tokio thread</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4789 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#4789</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4789" xlink:title="ZcashFoundation/zebra#4789&#10;Move CPU&#45;heavy proof&#10;preparation into the&#10;batch cryptography thread" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-2273 289,-2273 289,-2205 521,-2205 521,-2273"/>
<text text-anchor="middle" x="405" y="-2257.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4789</text>
<text text-anchor="middle" x="405" y="-2242.8" font-family="Times,serif" font-size="14.00" fill="#000000">Move CPU&#45;heavy proof</text>
<text text-anchor="middle" x="405" y="-2227.8" font-family="Times,serif" font-size="14.00" fill="#000000">preparation into the</text>
<text text-anchor="middle" x="405" y="-2212.8" font-family="Times,serif" font-size="14.00" fill="#000000">batch cryptography thread</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node38"><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="240,-3383 8,-3383 8,-3345 240,-3345 240,-3383"/>
<text text-anchor="middle" x="124" y="-3367.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="124" y="-3352.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1963" xlink:title="ZcashFoundation/zebra#1963&#10;Work out how to release&#10;Zebra binaries" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3326.5 8,-3326.5 8,-3273.5 240,-3273.5 240,-3326.5"/>
<text text-anchor="middle" x="124" y="-3311.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="124" y="-3296.3" font-family="Times,serif" font-size="14.00" fill="#000000">Work out how to release</text>
<text text-anchor="middle" x="124" y="-3281.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#755 -->
<g id="node74" class="node open">
<title>ZcashFoundation/zebra#755</title>
<g id="a_node74"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/755" xlink:title="ZcashFoundation/zebra#755&#10;Automate zebrad releases" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="516.5,-3390 293.5,-3390 293.5,-3352 516.5,-3352 516.5,-3390"/>
<text text-anchor="middle" x="405" y="-3374.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#755</text>
<text text-anchor="middle" x="405" y="-3359.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate zebrad releases</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#755 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#755</title>
<path fill="none" stroke="#000000" d="M217.6,-3326.6C227.88,-3329.7 238.18,-3332.9 248,-3336 256.97,-3338.9 258.92,-3340.5 268,-3343 276.42,-3345.3 285.17,-3347.5 294.01,-3349.6"/>
<polygon fill="#000000" stroke="#000000" points="293.4591,-3353.0672 304,-3352 295.0943,-3346.2608 293.4591,-3353.0672"/>
</g>
<!-- ZcashFoundation/zebra#2564 -->
<g id="node75" class="node open">
<title>ZcashFoundation/zebra#2564</title>
<g id="a_node75"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2564" xlink:title="ZcashFoundation/zebra#2564&#10;Include git metadata in&#10;docker logs and Google&#10;Cloud panic reports" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-3334 289,-3334 289,-3266 521,-3266 521,-3334"/>
<text text-anchor="middle" x="405" y="-3318.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2564</text>
<text text-anchor="middle" x="405" y="-3303.8" font-family="Times,serif" font-size="14.00" fill="#000000">Include git metadata in</text>
<text text-anchor="middle" x="405" y="-3288.8" font-family="Times,serif" font-size="14.00" fill="#000000">docker logs and Google</text>
<text text-anchor="middle" x="405" y="-3273.8" font-family="Times,serif" font-size="14.00" fill="#000000">Cloud panic reports</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#2564 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#2564</title>
<path fill="none" stroke="#000000" d="M240.32,-3300C252.95,-3300 265.85,-3300 278.59,-3300"/>
<polygon fill="#000000" stroke="#000000" points="278.77,-3303.5001 288.77,-3300 278.77,-3296.5001 278.77,-3303.5001"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node76" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node76"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4412" xlink:title="ZcashFoundation/zebra#4412&#10;Automate pinning CI&#10;dependencies to specific&#10;commit hashes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-3248 289,-3248 289,-3180 521,-3180 521,-3248"/>
<text text-anchor="middle" x="405" y="-3232.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="405" y="-3217.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="405" y="-3202.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="405" y="-3187.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4412 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4412</title>
<path fill="none" stroke="#000000" d="M217.6,-3273.4C227.88,-3270.3 238.18,-3267.1 248,-3264 256.97,-3261.1 259.06,-3260 268,-3257 273.82,-3255.1 279.79,-3253.1 285.83,-3251.1"/>
<polygon fill="#000000" stroke="#000000" points="286.8643,-3254.4438 295.35,-3248.1 284.7604,-3247.7675 286.8643,-3254.4438"/>
</g>
<!-- ZcashFoundation/zebra#2972 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#2972</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2972" xlink:title="ZcashFoundation/zebra#2972&#10;Make it easy for users to&#10;discover how to configure&#10;Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3255 8,-3255 8,-3187 240,-3187 240,-3255"/>
<text text-anchor="middle" x="124" y="-3239.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2972</text>
<text text-anchor="middle" x="124" y="-3224.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make it easy for users to</text>
<text text-anchor="middle" x="124" y="-3209.8" font-family="Times,serif" font-size="14.00" fill="#000000">discover how to configure</text>
<text text-anchor="middle" x="124" y="-3194.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2740 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#2740</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2740" xlink:title="ZcashFoundation/zebra#2740&#10;Documentation: link to&#10;Zebra architecture blog&#10;posts in zebrad overview&#10;for devs in the book" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3168.5 8,-3168.5 8,-3085.5 240,-3085.5 240,-3168.5"/>
<text text-anchor="middle" x="124" y="-3153.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2740</text>
<text text-anchor="middle" x="124" y="-3138.3" font-family="Times,serif" font-size="14.00" fill="#000000">Documentation: link to</text>
<text text-anchor="middle" x="124" y="-3123.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra architecture blog</text>
<text text-anchor="middle" x="124" y="-3108.3" font-family="Times,serif" font-size="14.00" fill="#000000">posts in zebrad overview</text>
<text text-anchor="middle" x="124" y="-3093.3" font-family="Times,serif" font-size="14.00" fill="#000000">for devs in the book</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/271" xlink:title="ZcashFoundation/zebra#271&#10;Sapling/Orchard Key&#10;Agreement and KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-4803.5 12.5,-4803.5 12.5,-4750.5 235.5,-4750.5 235.5,-4803.5"/>
<text text-anchor="middle" x="124" y="-4788.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="124" y="-4773.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard Key</text>
<text text-anchor="middle" x="124" y="-4758.3" font-family="Times,serif" font-size="14.00" fill="#000000">Agreement and KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/269" xlink:title="ZcashFoundation/zebra#269&#10;Sapling/Orchard note&#10;encryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="516.5,-4732 293.5,-4732 293.5,-4664 516.5,-4664 516.5,-4732"/>
<text text-anchor="middle" x="405" y="-4716.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="405" y="-4701.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard note</text>
<text text-anchor="middle" x="405" y="-4686.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption</text>
<text text-anchor="middle" x="405" y="-4671.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="M218.35,-4750.5C239.32,-4744.6 261.84,-4738.2 283.72,-4732.1"/>
<polygon fill="#000000" stroke="#000000" points="284.6913,-4735.4627 293.38,-4729.4 282.8069,-4728.7211 284.6913,-4735.4627"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node44"><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="521,-4803.5 289,-4803.5 289,-4750.5 521,-4750.5 521,-4803.5"/>
<text text-anchor="middle" x="405" y="-4788.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="405" y="-4773.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="405" y="-4758.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M235.87,-4777C249.91,-4777 264.34,-4777 278.59,-4777"/>
<polygon fill="#000000" stroke="#000000" points="278.92,-4780.5001 288.92,-4777 278.92,-4773.5001 278.92,-4780.5001"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node45"><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="235.5,-4732 12.5,-4732 12.5,-4694 235.5,-4694 235.5,-4732"/>
<text text-anchor="middle" x="124" y="-4716.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="124" y="-4701.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4691 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#4691</title>
<g id="a_node46"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4691" xlink:title="ZcashFoundation/zebra#4691&#10;Stop assuming testnet&#10;when parsing keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4676 8,-4676 8,-4608 240,-4608 240,-4676"/>
<text text-anchor="middle" x="124" y="-4660.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4691</text>
<text text-anchor="middle" x="124" y="-4645.8" font-family="Times,serif" font-size="14.00" fill="#000000">Stop assuming testnet</text>
<text text-anchor="middle" x="124" y="-4630.8" font-family="Times,serif" font-size="14.00" fill="#000000">when parsing keys and</text>
<text text-anchor="middle" x="124" y="-4615.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#267 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#267</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/267" xlink:title="ZcashFoundation/zebra#267&#10;Implement ZIP&#45;32 Sapling&#10;and Orchard key&#10;derivation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-4590 12.5,-4590 12.5,-4522 235.5,-4522 235.5,-4590"/>
<text text-anchor="middle" x="124" y="-4574.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#267</text>
<text text-anchor="middle" x="124" y="-4559.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;32 Sapling</text>
<text text-anchor="middle" x="124" y="-4544.8" font-family="Times,serif" font-size="14.00" fill="#000000">and Orchard key</text>
<text text-anchor="middle" x="124" y="-4529.8" font-family="Times,serif" font-size="14.00" fill="#000000">derivation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2064 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#2064</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2064" xlink:title="ZcashFoundation/zebra#2064&#10;Import Poseidon hash into&#10;Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4503.5 8,-4503.5 8,-4450.5 240,-4450.5 240,-4503.5"/>
<text text-anchor="middle" x="124" y="-4488.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2064</text>
<text text-anchor="middle" x="124" y="-4473.3" font-family="Times,serif" font-size="14.00" fill="#000000">Import Poseidon hash into</text>
<text text-anchor="middle" x="124" y="-4458.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2192 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#2192</title>
<g id="a_node49"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2192" xlink:title="ZcashFoundation/zebra#2192&#10;Implement&#10;`EphemeralPrivateKey`&#39;s&#10;for Orchard, Sapling,&#10;Sprout" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4432.5 8,-4432.5 8,-4349.5 240,-4349.5 240,-4432.5"/>
<text text-anchor="middle" x="124" y="-4417.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2192</text>
<text text-anchor="middle" x="124" y="-4402.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="124" y="-4387.3" font-family="Times,serif" font-size="14.00" fill="#000000">`EphemeralPrivateKey`&#39;s</text>
<text text-anchor="middle" x="124" y="-4372.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard, Sapling,</text>
<text text-anchor="middle" x="124" y="-4357.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#181 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#181</title>
<g id="a_node50"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/181" xlink:title="ZcashFoundation/zebra#181&#10;Sprout note&#10;encryption/decryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-4331 12.5,-4331 12.5,-4263 235.5,-4263 235.5,-4331"/>
<text text-anchor="middle" x="124" y="-4315.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#181</text>
<text text-anchor="middle" x="124" y="-4300.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout note</text>
<text text-anchor="middle" x="124" y="-4285.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption/decryption</text>
<text text-anchor="middle" x="124" y="-4270.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#321 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#321</title>
<g id="a_node51"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/321" xlink:title="ZcashFoundation/zebra#321&#10;Create Output Proof" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-4245 12.5,-4245 12.5,-4207 235.5,-4207 235.5,-4245"/>
<text text-anchor="middle" x="124" y="-4229.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#321</text>
<text text-anchor="middle" x="124" y="-4214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Output Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#272 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#272</title>
<g id="a_node52"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/272" xlink:title="ZcashFoundation/zebra#272&#10;Sprout Key Agreement and&#10;KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-4188.5 12.5,-4188.5 12.5,-4135.5 235.5,-4135.5 235.5,-4188.5"/>
<text text-anchor="middle" x="124" y="-4173.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#272</text>
<text text-anchor="middle" x="124" y="-4158.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout Key Agreement and</text>
<text text-anchor="middle" x="124" y="-4143.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2496 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#2496</title>
<g id="a_node53"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2496" xlink:title="ZcashFoundation/zebra#2496&#10;Handle a ivk == ⊥&#10;(KA^Orchard private key)&#10;when generating an&#10;Orchard Spending Key" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4117.5 8,-4117.5 8,-4034.5 240,-4034.5 240,-4117.5"/>
<text text-anchor="middle" x="124" y="-4102.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2496</text>
<text text-anchor="middle" x="124" y="-4087.3" font-family="Times,serif" font-size="14.00" fill="#000000">Handle a ivk == ⊥</text>
<text text-anchor="middle" x="124" y="-4072.3" font-family="Times,serif" font-size="14.00" fill="#000000">(KA^Orchard private key)</text>
<text text-anchor="middle" x="124" y="-4057.3" font-family="Times,serif" font-size="14.00" fill="#000000">when generating an</text>
<text text-anchor="middle" x="124" y="-4042.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Spending Key</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#278 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#278</title>
<g id="a_node54"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/278" xlink:title="ZcashFoundation/zebra#278&#10;Sapling Note Builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-4016 12.5,-4016 12.5,-3978 235.5,-3978 235.5,-4016"/>
<text text-anchor="middle" x="124" y="-4000.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#278</text>
<text text-anchor="middle" x="124" y="-3985.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Note Builder</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2447 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#2447</title>
<g id="a_node55"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2447" xlink:title="ZcashFoundation/zebra#2447&#10;Define a new `Amount`&#10;`Constraint` for Note&#10;values w/ [0..2^64) as&#10;`valid_range()`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3959.5 8,-3959.5 8,-3876.5 240,-3876.5 240,-3959.5"/>
<text text-anchor="middle" x="124" y="-3944.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2447</text>
<text text-anchor="middle" x="124" y="-3929.3" font-family="Times,serif" font-size="14.00" fill="#000000">Define a new `Amount`</text>
<text text-anchor="middle" x="124" y="-3914.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Constraint` for Note</text>
<text text-anchor="middle" x="124" y="-3899.3" font-family="Times,serif" font-size="14.00" fill="#000000">values w/ [0..2^64) as</text>
<text text-anchor="middle" x="124" y="-3884.3" font-family="Times,serif" font-size="14.00" fill="#000000">`valid_range()`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2041 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#2041</title>
<g id="a_node56"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2041" xlink:title="ZcashFoundation/zebra#2041&#10;Orchard: derive&#10;OutgoingCipherKey (&#10;Sapling and Orchard)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3858 8,-3858 8,-3790 240,-3790 240,-3858"/>
<text text-anchor="middle" x="124" y="-3842.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2041</text>
<text text-anchor="middle" x="124" y="-3827.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: derive</text>
<text text-anchor="middle" x="124" y="-3812.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutgoingCipherKey (</text>
<text text-anchor="middle" x="124" y="-3797.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling and Orchard)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4692 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#4692</title>
<g id="a_node57"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4692" xlink:title="ZcashFoundation/zebra#4692&#10;Check address and key&#10;lengths when parsing&#10;strings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3772 8,-3772 8,-3704 240,-3704 240,-3772"/>
<text text-anchor="middle" x="124" y="-3756.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4692</text>
<text text-anchor="middle" x="124" y="-3741.8" font-family="Times,serif" font-size="14.00" fill="#000000">Check address and key</text>
<text text-anchor="middle" x="124" y="-3726.8" font-family="Times,serif" font-size="14.00" fill="#000000">lengths when parsing</text>
<text text-anchor="middle" x="124" y="-3711.8" font-family="Times,serif" font-size="14.00" fill="#000000">strings</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#320 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#320</title>
<g id="a_node58"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/320" xlink:title="ZcashFoundation/zebra#320&#10;Create a Spend Proof" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-3686 12.5,-3686 12.5,-3648 235.5,-3648 235.5,-3686"/>
<text text-anchor="middle" x="124" y="-3670.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#320</text>
<text text-anchor="middle" x="124" y="-3655.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create a Spend Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2080 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#2080</title>
<g id="a_node59"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2080" xlink:title="ZcashFoundation/zebra#2080&#10;[blocked on frost]&#10;replace`redpallas` module&#10;with `reddsa`/`redpallas`&#10;crate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3629.5 8,-3629.5 8,-3546.5 240,-3546.5 240,-3629.5"/>
<text text-anchor="middle" x="124" y="-3614.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2080</text>
<text text-anchor="middle" x="124" y="-3599.3" font-family="Times,serif" font-size="14.00" fill="#000000">[blocked on frost]</text>
<text text-anchor="middle" x="124" y="-3584.3" font-family="Times,serif" font-size="14.00" fill="#000000">replace`redpallas` module</text>
<text text-anchor="middle" x="124" y="-3569.3" font-family="Times,serif" font-size="14.00" fill="#000000">with `reddsa`/`redpallas`</text>
<text text-anchor="middle" x="124" y="-3554.3" font-family="Times,serif" font-size="14.00" fill="#000000">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2095 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#2095</title>
<g id="a_node60"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2095" xlink:title="ZcashFoundation/zebra#2095&#10;Orchard: update&#10;note/action generation to&#10;include input note&#10;nullifier in the&#10;PRF^expand invocations" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3528 8,-3528 8,-3430 240,-3430 240,-3528"/>
<text text-anchor="middle" x="124" y="-3512.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2095</text>
<text text-anchor="middle" x="124" y="-3497.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: update</text>
<text text-anchor="middle" x="124" y="-3482.8" font-family="Times,serif" font-size="14.00" fill="#000000">note/action generation to</text>
<text text-anchor="middle" x="124" y="-3467.8" font-family="Times,serif" font-size="14.00" fill="#000000">include input note</text>
<text text-anchor="middle" x="124" y="-3452.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier in the</text>
<text text-anchor="middle" x="124" y="-3437.8" font-family="Times,serif" font-size="14.00" fill="#000000">PRF^expand invocations</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3263 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#3263</title>
<g id="a_node62"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3263" xlink:title="ZcashFoundation/zebra#3263&#10;Security: Remove the&#10;ErrorSlot from the&#10;heartbeat and connection&#10;tasks" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1365,-1591.5 1133,-1591.5 1133,-1508.5 1365,-1508.5 1365,-1591.5"/>
<text text-anchor="middle" x="1249" y="-1576.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3263</text>
<text text-anchor="middle" x="1249" y="-1561.3" font-family="Times,serif" font-size="14.00" fill="#000000">Security: Remove the</text>
<text text-anchor="middle" x="1249" y="-1546.3" font-family="Times,serif" font-size="14.00" fill="#000000">ErrorSlot from the</text>
<text text-anchor="middle" x="1249" y="-1531.3" font-family="Times,serif" font-size="14.00" fill="#000000">heartbeat and connection</text>
<text text-anchor="middle" x="1249" y="-1516.3" font-family="Times,serif" font-size="14.00" fill="#000000">tasks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node63" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node63"><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="1365,-1490.5 1133,-1490.5 1133,-1437.5 1365,-1437.5 1365,-1490.5"/>
<text text-anchor="middle" x="1249" y="-1475.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="1249" y="-1460.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="1249" y="-1445.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#483 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#483</title>
<g id="a_node64"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/483" xlink:title="ZcashFoundation/zebra#483&#10;Limit generated block and&#10;transaction size" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1360.5,-1419.5 1137.5,-1419.5 1137.5,-1366.5 1360.5,-1366.5 1360.5,-1419.5"/>
<text text-anchor="middle" x="1249" y="-1404.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#483</text>
<text text-anchor="middle" x="1249" y="-1389.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit generated block and</text>
<text text-anchor="middle" x="1249" y="-1374.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3436 -->
<g id="node65" class="node open">
<title>ZcashFoundation/zebra#3436</title>
<g id="a_node65"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3436" xlink:title="ZcashFoundation/zebra#3436&#10;Create wrapper for&#10;`precomputed` in&#10;`CachedFfiTransaction`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1365,-1348 1133,-1348 1133,-1280 1365,-1280 1365,-1348"/>
<text text-anchor="middle" x="1249" y="-1332.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3436</text>
<text text-anchor="middle" x="1249" y="-1317.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create wrapper for</text>
<text text-anchor="middle" x="1249" y="-1302.8" font-family="Times,serif" font-size="14.00" fill="#000000">`precomputed` in</text>
<text text-anchor="middle" x="1249" y="-1287.8" font-family="Times,serif" font-size="14.00" fill="#000000">`CachedFfiTransaction`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node66"><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="1365,-1262 1133,-1262 1133,-1194 1365,-1194 1365,-1262"/>
<text text-anchor="middle" x="1249" y="-1246.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="1249" y="-1231.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="1249" y="-1216.8" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="1249" y="-1201.8" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2297 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#2297</title>
<g id="a_node67"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2297" xlink:title="ZcashFoundation/zebra#2297&#10;Enforce unwrap&#45;pertinent&#10;Clippy lints" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1365,-1175.5 1133,-1175.5 1133,-1122.5 1365,-1122.5 1365,-1175.5"/>
<text text-anchor="middle" x="1249" y="-1160.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2297</text>
<text text-anchor="middle" x="1249" y="-1145.3" font-family="Times,serif" font-size="14.00" fill="#000000">Enforce unwrap&#45;pertinent</text>
<text text-anchor="middle" x="1249" y="-1130.3" font-family="Times,serif" font-size="14.00" fill="#000000">Clippy lints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3831 -->
<g id="node68" class="node open">
<title>ZcashFoundation/zebra#3831</title>
<g id="a_node68"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3831" xlink:title="ZcashFoundation/zebra#3831&#10;Remove duplicated&#10;zcash_proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1365,-1104.5 1133,-1104.5 1133,-1051.5 1365,-1051.5 1365,-1104.5"/>
<text text-anchor="middle" x="1249" y="-1089.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3831</text>
<text text-anchor="middle" x="1249" y="-1074.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove duplicated</text>
<text text-anchor="middle" x="1249" y="-1059.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3179 -->
<g id="node69" class="node open">
<title>ZcashFoundation/zebra#3179</title>
<g id="a_node69"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3179" xlink:title="ZcashFoundation/zebra#3179&#10;Use a `bellman::Proof`&#10;instead of a byte array&#10;in `Groth16Proof`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1365,-1033 1133,-1033 1133,-965 1365,-965 1365,-1033"/>
<text text-anchor="middle" x="1249" y="-1017.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3179</text>
<text text-anchor="middle" x="1249" y="-1002.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use a `bellman::Proof`</text>
<text text-anchor="middle" x="1249" y="-987.8" font-family="Times,serif" font-size="14.00" fill="#000000">instead of a byte array</text>
<text text-anchor="middle" x="1249" y="-972.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `Groth16Proof`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117 -->
<g id="node70" class="node open">
<title>ZcashFoundation/zebra#3117</title>
<g id="a_node70"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3117" xlink:title="ZcashFoundation/zebra#3117&#10;Stop using private IP&#10;addresses by default" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1365,-946.5 1133,-946.5 1133,-893.5 1365,-893.5 1365,-946.5"/>
<text text-anchor="middle" x="1249" y="-931.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3117</text>
<text text-anchor="middle" x="1249" y="-916.3" font-family="Times,serif" font-size="14.00" fill="#000000">Stop using private IP</text>
<text text-anchor="middle" x="1249" y="-901.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses by default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node77" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node77"><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="240,-4896.5 8,-4896.5 8,-4843.5 240,-4843.5 240,-4896.5"/>
<text text-anchor="middle" x="124" y="-4881.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-4866.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-4851.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4767 -->
<g id="node78" class="node open">
<title>ZcashFoundation/zebra#4767</title>
<g id="a_node78"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4767" xlink:title="ZcashFoundation/zebra#4767&#10;Remove duplicate&#10;`orchard` crates, change&#10;dependencies to&#10;`zcash/librustzcash`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-1447.5 289,-1447.5 289,-1364.5 521,-1364.5 521,-1447.5"/>
<text text-anchor="middle" x="405" y="-1432.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4767</text>
<text text-anchor="middle" x="405" y="-1417.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove duplicate</text>
<text text-anchor="middle" x="405" y="-1402.3" font-family="Times,serif" font-size="14.00" fill="#000000">`orchard` crates, change</text>
<text text-anchor="middle" x="405" y="-1387.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to</text>
<text text-anchor="middle" x="405" y="-1372.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash/librustzcash`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4745 -->
<g id="node79" class="node open">
<title>ZcashFoundation/zebra#4745</title>
<g id="a_node79"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4745" xlink:title="ZcashFoundation/zebra#4745&#10;Broken, half&#45;done support&#10;for halo2 batch&#10;verification" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-327 577,-327 577,-323 573,-323 573,-319 577,-319 577,-267 573,-267 573,-263 577,-263 577,-259 809,-259 809,-327"/>
<polyline fill="none" stroke="#000000" points="577,-323 581,-323 581,-319 577,-319 "/>
<polyline fill="none" stroke="#000000" points="577,-267 581,-267 581,-263 577,-263 "/>
<text text-anchor="middle" x="693" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4745</text>
<text text-anchor="middle" x="693" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">Broken, half&#45;done support</text>
<text text-anchor="middle" x="693" y="-281.8" font-family="Times,serif" font-size="14.00" fill="#000000">for halo2 batch</text>
<text text-anchor="middle" x="693" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4767&#45;&gt;ZcashFoundation/zebra#4745 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#4767&#45;&gt;ZcashFoundation/zebra#4745</title>
<path fill="none" stroke="#000000" d="M521.11,-1364.7C523.99,-1361.7 526.63,-1358.5 529,-1355 560.82,-1308.5 515.61,-386.38 549,-341 554.33,-333.75 560.8,-327.59 568.01,-322.34"/>
<polygon fill="#000000" stroke="#000000" points="570.3475,-324.9933 576.8,-316.59 566.5154,-319.1353 570.3475,-324.9933"/>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node80" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node80"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4672" xlink:title="ZcashFoundation/zebra#4672&#10;Add support for Orchard&#10;proof batch verification" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="809,-240.5 577,-240.5 577,-187.5 809,-187.5 809,-240.5"/>
<text text-anchor="middle" x="693" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="693" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="693" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4767&#45;&gt;ZcashFoundation/zebra#4672 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#4767&#45;&gt;ZcashFoundation/zebra#4672</title>
<path fill="none" stroke="#000000" d="M521.12,-1364.7C523.99,-1361.7 526.64,-1358.5 529,-1355 563.64,-1304.3 510.78,-298.05 549,-250 554.42,-243.19 560.92,-237.55 568.11,-232.88"/>
<polygon fill="#000000" stroke="#000000" points="569.9347,-235.8682 576.86,-227.85 566.446,-229.7995 569.9347,-235.8682"/>
</g>
<!-- ZcashFoundation/zebra#4910 -->
<g id="node81" class="node open">
<title>ZcashFoundation/zebra#4910</title>
<g id="a_node81"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4910" xlink:title="ZcashFoundation/zebra#4910&#10;Quick fix for sync test&#10;timeouts in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1298.5 8,-1298.5 8,-1245.5 240,-1245.5 240,-1298.5"/>
<text text-anchor="middle" x="124" y="-1283.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4910</text>
<text text-anchor="middle" x="124" y="-1268.3" font-family="Times,serif" font-size="14.00" fill="#000000">Quick fix for sync test</text>
<text text-anchor="middle" x="124" y="-1253.3" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4875 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4875</title>
<path fill="none" stroke="#000000" d="M132.72,-1298.9C151.12,-1352.6 198.07,-1475.2 268,-1558 368.07,-1676.5 408.65,-1698.9 549,-1765 554.81,-1767.7 560.86,-1770.3 567.04,-1772.6"/>
<polygon fill="#000000" stroke="#000000" points="566.2564,-1776.0406 576.85,-1776.2 568.668,-1769.4691 566.2564,-1776.0406"/>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4612 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M126.86,-1245.5C136.71,-1161.4 173.91,-894.37 268,-696 351.15,-520.67 457.03,-526.2 529,-346 556.73,-276.58 504.78,-239.27 549,-179 556.16,-169.24 565.14,-160.91 575.08,-153.81"/>
<polygon fill="#000000" stroke="#000000" points="577.2482,-156.572 583.65,-148.13 573.3809,-150.7372 577.2482,-156.572"/>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M124.2,-1298.7C125.99,-1502.9 142.35,-2814.8 268,-2930 310.75,-2969.2 485.77,-2968.7 529,-2930 558.83,-2903.3 523.44,-2781.8 549,-2751 554.52,-2744.3 561.02,-2738.7 568.14,-2733.9"/>
<polygon fill="#000000" stroke="#000000" points="570.0861,-2736.8123 576.78,-2728.6 566.4258,-2730.8455 570.0861,-2736.8123"/>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4831 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4831</title>
<path fill="none" stroke="#000000" d="M124.68,-1298.5C129.95,-1494.9 166.72,-2718.5 268,-2844 271.76,-2848.7 276.02,-2852.8 280.66,-2856.5"/>
<polygon fill="#000000" stroke="#000000" points="278.6409,-2859.3592 288.79,-2862.4 282.7523,-2853.6938 278.6409,-2859.3592"/>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4721 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4721</title>
<path fill="none" stroke="#000000" d="M125.59,-1298.8C135.74,-1465.8 193.39,-2361 268,-2455 271.78,-2459.8 276.06,-2464.1 280.71,-2468"/>
<polygon fill="#000000" stroke="#000000" points="278.7821,-2470.931 288.86,-2474.2 283.0203,-2465.3598 278.7821,-2470.931"/>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4767 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4767</title>
<path fill="none" stroke="#000000" d="M165.85,-1298.6C194.07,-1315.9 232.49,-1338.3 268,-1355 271.81,-1356.8 275.7,-1358.6 279.65,-1360.3"/>
<polygon fill="#000000" stroke="#000000" points="278.3878,-1363.5686 288.95,-1364.4 281.2117,-1357.1634 278.3878,-1363.5686"/>
</g>
<!-- ZcashFoundation/zebra#4909 -->
<g id="node82" class="node open">
<title>ZcashFoundation/zebra#4909</title>
<g id="a_node82"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4909" xlink:title="ZcashFoundation/zebra#4909&#10;Checkpoint note&#10;commitment trees and&#10;roots" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-1346 289,-1346 289,-1278 521,-1278 521,-1346"/>
<text text-anchor="middle" x="405" y="-1330.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4909</text>
<text text-anchor="middle" x="405" y="-1315.8" font-family="Times,serif" font-size="14.00" fill="#000000">Checkpoint note</text>
<text text-anchor="middle" x="405" y="-1300.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment trees and</text>
<text text-anchor="middle" x="405" y="-1285.8" font-family="Times,serif" font-size="14.00" fill="#000000">roots</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4909 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4909</title>
<path fill="none" stroke="#000000" d="M240.32,-1288.6C252.95,-1290.4 265.85,-1292.2 278.59,-1294"/>
<polygon fill="#000000" stroke="#000000" points="278.3666,-1297.5048 288.77,-1295.5 279.3871,-1290.5796 278.3666,-1297.5048"/>
</g>
<!-- ZcashFoundation/zebra#4904 -->
<g id="node83" class="node open">
<title>ZcashFoundation/zebra#4904</title>
<g id="a_node83"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4904" xlink:title="ZcashFoundation/zebra#4904&#10;fix(network): send height&#10;to peers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-1259.5 289,-1259.5 289,-1255.5 285,-1255.5 285,-1251.5 289,-1251.5 289,-1214.5 285,-1214.5 285,-1210.5 289,-1210.5 289,-1206.5 521,-1206.5 521,-1259.5"/>
<polyline fill="none" stroke="#000000" points="289,-1255.5 293,-1255.5 293,-1251.5 289,-1251.5 "/>
<polyline fill="none" stroke="#000000" points="289,-1214.5 293,-1214.5 293,-1210.5 289,-1210.5 "/>
<text text-anchor="middle" x="405" y="-1244.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4904</text>
<text text-anchor="middle" x="405" y="-1229.3" font-family="Times,serif" font-size="14.00" fill="#000000">fix(network): send height</text>
<text text-anchor="middle" x="405" y="-1214.3" font-family="Times,serif" font-size="14.00" fill="#000000">to peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4904 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4904</title>
<path fill="none" stroke="#000000" d="M240.32,-1255.9C252.95,-1254.1 265.85,-1252.3 278.59,-1250.5"/>
<polygon fill="#000000" stroke="#000000" points="279.3401,-1253.9299 288.77,-1249.1 278.3864,-1246.9951 279.3401,-1253.9299"/>
</g>
<!-- ZcashFoundation/zebra#4902 -->
<g id="node84" class="node open">
<title>ZcashFoundation/zebra#4902</title>
<g id="a_node84"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4902" xlink:title="ZcashFoundation/zebra#4902&#10;build(deps): bump serde&#10;from 1.0.142 to 1.0.143" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-1188.5 289,-1188.5 289,-1184.5 285,-1184.5 285,-1180.5 289,-1180.5 289,-1143.5 285,-1143.5 285,-1139.5 289,-1139.5 289,-1135.5 521,-1135.5 521,-1188.5"/>
<polyline fill="none" stroke="#000000" points="289,-1184.5 293,-1184.5 293,-1180.5 289,-1180.5 "/>
<polyline fill="none" stroke="#000000" points="289,-1143.5 293,-1143.5 293,-1139.5 289,-1139.5 "/>
<text text-anchor="middle" x="405" y="-1173.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4902</text>
<text text-anchor="middle" x="405" y="-1158.3" font-family="Times,serif" font-size="14.00" fill="#000000">build(deps): bump serde</text>
<text text-anchor="middle" x="405" y="-1143.3" font-family="Times,serif" font-size="14.00" fill="#000000">from 1.0.142 to 1.0.143</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4902 -->
<g id="edge28" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4902</title>
<path fill="none" stroke="#000000" d="M169.51,-1245.4C197.28,-1229.9 233.88,-1211.1 268,-1198 273.59,-1195.9 279.36,-1193.8 285.21,-1191.8"/>
<polygon fill="#000000" stroke="#000000" points="286.6956,-1194.9986 295.14,-1188.6 284.5485,-1188.336 286.6956,-1194.9986"/>
</g>
<!-- ZcashFoundation/zebra#4870 -->
<g id="node85" class="node open">
<title>ZcashFoundation/zebra#4870</title>
<g id="a_node85"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4870" xlink:title="ZcashFoundation/zebra#4870&#10;feat(net): return peer&#10;metadata from&#10;`connect_isolated`&#10;functions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-1117.5 289,-1117.5 289,-1113.5 285,-1113.5 285,-1109.5 289,-1109.5 289,-1042.5 285,-1042.5 285,-1038.5 289,-1038.5 289,-1034.5 521,-1034.5 521,-1117.5"/>
<polyline fill="none" stroke="#000000" points="289,-1113.5 293,-1113.5 293,-1109.5 289,-1109.5 "/>
<polyline fill="none" stroke="#000000" points="289,-1042.5 293,-1042.5 293,-1038.5 289,-1038.5 "/>
<text text-anchor="middle" x="405" y="-1102.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4870</text>
<text text-anchor="middle" x="405" y="-1087.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(net): return peer</text>
<text text-anchor="middle" x="405" y="-1072.3" font-family="Times,serif" font-size="14.00" fill="#000000">metadata from</text>
<text text-anchor="middle" x="405" y="-1057.3" font-family="Times,serif" font-size="14.00" fill="#000000">`connect_isolated`</text>
<text text-anchor="middle" x="405" y="-1042.3" font-family="Times,serif" font-size="14.00" fill="#000000">functions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4870 -->
<g id="edge29" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4870</title>
<path fill="none" stroke="#000000" d="M144.44,-1245.2C170.16,-1213.2 217.16,-1159.8 268,-1127 271.82,-1124.5 275.78,-1122.2 279.84,-1119.9"/>
<polygon fill="#000000" stroke="#000000" points="281.6764,-1122.8876 288.86,-1115.1 278.3879,-1116.708 281.6764,-1122.8876"/>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node86" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node86"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4894" xlink:title="ZcashFoundation/zebra#4894&#10;Wait until lightwalletd&#10;full sync goes all the&#10;way to the tip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-337 289,-337 289,-269 521,-269 521,-337"/>
<text text-anchor="middle" x="405" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="405" y="-306.8" font-family="Times,serif" font-size="14.00" fill="#000000">Wait until lightwalletd</text>
<text text-anchor="middle" x="405" y="-291.8" font-family="Times,serif" font-size="14.00" fill="#000000">full sync goes all the</text>
<text text-anchor="middle" x="405" y="-276.8" font-family="Times,serif" font-size="14.00" fill="#000000">way to the tip</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4894 -->
<g id="edge30" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4894</title>
<path fill="none" stroke="#000000" d="M124.76,-1245.5C129.11,-1110.6 154.83,-501.96 268,-359 272.66,-353.11 278.04,-347.84 283.92,-343.12"/>
<polygon fill="#000000" stroke="#000000" points="286.2348,-345.7624 292.22,-337.02 282.0894,-340.1218 286.2348,-345.7624"/>
</g>
<!-- ZcashFoundation/zebra#4842 -->
<g id="node87" class="node open">
<title>ZcashFoundation/zebra#4842</title>
<g id="a_node87"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4842" xlink:title="ZcashFoundation/zebra#4842&#10;Replace cached state from&#10;the same commit, rather&#10;than failing the job" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-930 289,-930 289,-862 521,-862 521,-930"/>
<text text-anchor="middle" x="405" y="-914.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4842</text>
<text text-anchor="middle" x="405" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace cached state from</text>
<text text-anchor="middle" x="405" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">the same commit, rather</text>
<text text-anchor="middle" x="405" y="-869.8" font-family="Times,serif" font-size="14.00" fill="#000000">than failing the job</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4842 -->
<g id="edge31" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4842</title>
<path fill="none" stroke="#000000" d="M127.9,-1245.2C138.47,-1182.3 173.48,-1024.2 268,-939 271.84,-935.54 275.95,-932.36 280.27,-929.44"/>
<polygon fill="#000000" stroke="#000000" points="282.1659,-932.3827 288.81,-924.13 278.4696,-926.4381 282.1659,-932.3827"/>
</g>
<!-- ZcashFoundation/zebra#4908 -->
<g id="node88" class="node open">
<title>ZcashFoundation/zebra#4908</title>
<g id="a_node88"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4908" xlink:title="ZcashFoundation/zebra#4908&#10;build(deps): bump&#10;console&#45;subscriber from&#10;0.1.6 to 0.1.7" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-844 289,-844 289,-840 285,-840 285,-836 289,-836 289,-784 285,-784 285,-780 289,-780 289,-776 521,-776 521,-844"/>
<polyline fill="none" stroke="#000000" points="289,-840 293,-840 293,-836 289,-836 "/>
<polyline fill="none" stroke="#000000" points="289,-784 293,-784 293,-780 289,-780 "/>
<text text-anchor="middle" x="405" y="-828.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4908</text>
<text text-anchor="middle" x="405" y="-813.8" font-family="Times,serif" font-size="14.00" fill="#000000">build(deps): bump</text>
<text text-anchor="middle" x="405" y="-798.8" font-family="Times,serif" font-size="14.00" fill="#000000">console&#45;subscriber from</text>
<text text-anchor="middle" x="405" y="-783.8" font-family="Times,serif" font-size="14.00" fill="#000000">0.1.6 to 0.1.7</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4908 -->
<g id="edge32" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4908</title>
<path fill="none" stroke="#000000" d="M125.18,-1245.4C129.89,-1172 153.22,-964.73 268,-853 271.81,-849.29 275.94,-845.9 280.3,-842.8"/>
<polygon fill="#000000" stroke="#000000" points="282.4633,-845.5692 288.96,-837.2 278.6622,-839.6911 282.4633,-845.5692"/>
</g>
<!-- ZcashFoundation/zebra#4898 -->
<g id="node89" class="node open">
<title>ZcashFoundation/zebra#4898</title>
<g id="a_node89"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4898" xlink:title="ZcashFoundation/zebra#4898&#10;build(deps): bump chrono&#10;from 0.4.19 to 0.4.20" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-757.5 289,-757.5 289,-753.5 285,-753.5 285,-749.5 289,-749.5 289,-712.5 285,-712.5 285,-708.5 289,-708.5 289,-704.5 521,-704.5 521,-757.5"/>
<polyline fill="none" stroke="#000000" points="289,-753.5 293,-753.5 293,-749.5 289,-749.5 "/>
<polyline fill="none" stroke="#000000" points="289,-712.5 293,-712.5 293,-708.5 289,-708.5 "/>
<text text-anchor="middle" x="405" y="-742.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4898</text>
<text text-anchor="middle" x="405" y="-727.3" font-family="Times,serif" font-size="14.00" fill="#000000">build(deps): bump chrono</text>
<text text-anchor="middle" x="405" y="-712.3" font-family="Times,serif" font-size="14.00" fill="#000000">from 0.4.19 to 0.4.20</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4898 -->
<g id="edge33" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4898</title>
<path fill="none" stroke="#000000" d="M128.09,-1245.2C143,-1150.9 197.33,-836.21 268,-767 271.75,-763.33 275.82,-760.02 280.14,-757.04"/>
<polygon fill="#000000" stroke="#000000" points="282.0851,-759.952 288.73,-751.7 278.3894,-754.0071 282.0851,-759.952"/>
</g>
<!-- ZcashFoundation/zebra#4806 -->
<g id="node90" class="node open">
<title>ZcashFoundation/zebra#4806</title>
<g id="a_node90"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4806" xlink:title="ZcashFoundation/zebra#4806&#10;fix(rpc): Isolate RPC&#10;queries from the rest of&#10;Zebra, to improve&#10;performance" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-3161.5 289,-3161.5 289,-3157.5 285,-3157.5 285,-3153.5 289,-3153.5 289,-3086.5 285,-3086.5 285,-3082.5 289,-3082.5 289,-3078.5 521,-3078.5 521,-3161.5"/>
<polyline fill="none" stroke="#000000" points="289,-3157.5 293,-3157.5 293,-3153.5 289,-3153.5 "/>
<polyline fill="none" stroke="#000000" points="289,-3086.5 293,-3086.5 293,-3082.5 289,-3082.5 "/>
<text text-anchor="middle" x="405" y="-3146.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4806</text>
<text text-anchor="middle" x="405" y="-3131.3" font-family="Times,serif" font-size="14.00" fill="#000000">fix(rpc): Isolate RPC</text>
<text text-anchor="middle" x="405" y="-3116.3" font-family="Times,serif" font-size="14.00" fill="#000000">queries from the rest of</text>
<text text-anchor="middle" x="405" y="-3101.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra, to improve</text>
<text text-anchor="middle" x="405" y="-3086.3" font-family="Times,serif" font-size="14.00" fill="#000000">performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4806 -->
<g id="edge34" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4806</title>
<path fill="none" stroke="#000000" d="M124.42,-1298.8C127.99,-1511.5 155.83,-2922.6 268,-3070 271.73,-3074.9 275.99,-3079.3 280.65,-3083.3"/>
<polygon fill="#000000" stroke="#000000" points="278.7717,-3086.2711 288.83,-3089.6 283.043,-3080.7252 278.7717,-3086.2711"/>
</g>
<!-- ZcashFoundation/zebra#4804 -->
<g id="node91" class="node open">
<title>ZcashFoundation/zebra#4804</title>
<g id="a_node91"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4804" xlink:title="ZcashFoundation/zebra#4804&#10;fix(consensus): Increase&#10;the number of blocks&#10;checked for legacy&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-3060.5 289,-3060.5 289,-3056.5 285,-3056.5 285,-3052.5 289,-3052.5 289,-2985.5 285,-2985.5 285,-2981.5 289,-2981.5 289,-2977.5 521,-2977.5 521,-3060.5"/>
<polyline fill="none" stroke="#000000" points="289,-3056.5 293,-3056.5 293,-3052.5 289,-3052.5 "/>
<polyline fill="none" stroke="#000000" points="289,-2985.5 293,-2985.5 293,-2981.5 289,-2981.5 "/>
<text text-anchor="middle" x="405" y="-3045.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4804</text>
<text text-anchor="middle" x="405" y="-3030.3" font-family="Times,serif" font-size="14.00" fill="#000000">fix(consensus): Increase</text>
<text text-anchor="middle" x="405" y="-3015.3" font-family="Times,serif" font-size="14.00" fill="#000000">the number of blocks</text>
<text text-anchor="middle" x="405" y="-3000.3" font-family="Times,serif" font-size="14.00" fill="#000000">checked for legacy</text>
<text text-anchor="middle" x="405" y="-2985.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4804 -->
<g id="edge35" class="edge">
<title>ZcashFoundation/zebra#4910&#45;&gt;ZcashFoundation/zebra#4804</title>
<path fill="none" stroke="#000000" d="M124.68,-1298.6C130.07,-1502.7 168.46,-2814.4 268,-2956 271.8,-2961.4 276.19,-2966.4 281.01,-2970.9"/>
<polygon fill="#000000" stroke="#000000" points="279.0477,-2973.8289 288.91,-2977.7 283.6143,-2968.5236 279.0477,-2973.8289"/>
</g>
<!-- ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#4350 -->
<g id="edge36" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#4350</title>
<path fill="none" stroke="#000000" d="M416.67,-268.8C435.92,-217.65 479.29,-121.84 549,-71 554.87,-66.72 561.19,-62.946 567.8,-59.618"/>
<polygon fill="#000000" stroke="#000000" points="569.3725,-62.7467 576.96,-55.352 566.4172,-56.4011 569.3725,-62.7467"/>
</g>
<!-- ZcashFoundation/zebra#4747 -->
<g id="node92" class="node open">
<title>ZcashFoundation/zebra#4747</title>
<g id="a_node92"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4747" xlink:title="ZcashFoundation/zebra#4747&#10;Mini&#45;Epic: Stop tokio&#10;tasks running for a long&#10;time and blocking other&#10;tasks" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-1548.5 289,-1548.5 289,-1465.5 521,-1465.5 521,-1548.5"/>
<text text-anchor="middle" x="405" y="-1533.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4747</text>
<text text-anchor="middle" x="405" y="-1518.3" font-family="Times,serif" font-size="14.00" fill="#000000">Mini&#45;Epic: Stop tokio</text>
<text text-anchor="middle" x="405" y="-1503.3" font-family="Times,serif" font-size="14.00" fill="#000000">tasks running for a long</text>
<text text-anchor="middle" x="405" y="-1488.3" font-family="Times,serif" font-size="14.00" fill="#000000">time and blocking other</text>
<text text-anchor="middle" x="405" y="-1473.3" font-family="Times,serif" font-size="14.00" fill="#000000">tasks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4747&#45;&gt;ZcashFoundation/zebra#4733 -->
<g id="edge37" class="edge">
<title>ZcashFoundation/zebra#4747&#45;&gt;ZcashFoundation/zebra#4733</title>
<path fill="none" stroke="#000000" d="M521.31,-1524.4C536.29,-1526.6 551.69,-1528.9 566.83,-1531.2"/>
<polygon fill="#000000" stroke="#000000" points="566.3281,-1534.6638 576.72,-1532.6 567.3093,-1527.7329 566.3281,-1534.6638"/>
</g>
<!-- ZcashFoundation/zebra#4747&#45;&gt;ZcashFoundation/zebra#4734 -->
<g id="edge38" class="edge">
<title>ZcashFoundation/zebra#4747&#45;&gt;ZcashFoundation/zebra#4734</title>
<path fill="none" stroke="#000000" d="M521.31,-1489.6C536.29,-1487.4 551.69,-1485.1 566.83,-1482.8"/>
<polygon fill="#000000" stroke="#000000" points="567.3093,-1486.2671 576.72,-1481.4 566.3281,-1479.3362 567.3093,-1486.2671"/>
</g>
<!-- ZcashFoundation/zebra#4747&#45;&gt;ZcashFoundation/zebra#3096 -->
<g id="edge39" class="edge">
<title>ZcashFoundation/zebra#4747&#45;&gt;ZcashFoundation/zebra#3096</title>
<path fill="none" stroke="#000000" d="M521.1,-1466.6C523.98,-1463.6 526.63,-1460.4 529,-1457 563.22,-1407.3 508.57,-415.8 549,-371 592.19,-323.14 779.77,-365.69 837,-336 853.48,-327.45 849.35,-315 865,-305 867.63,-303.32 870.33,-301.72 873.11,-300.19"/>
<polygon fill="#000000" stroke="#000000" points="874.8717,-303.2197 882.16,-295.53 871.6671,-296.9963 874.8717,-303.2197"/>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node93" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node93"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4882" xlink:title="ZcashFoundation/zebra#4882&#10;Add zcash&#45;lightwalletd /&#10;Build images to required&#10;jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="521,-1016 289,-1016 289,-948 521,-948 521,-1016"/>
<text text-anchor="middle" x="405" y="-1000.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="405" y="-985.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="405" y="-970.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="405" y="-955.8" font-family="Times,serif" font-size="14.00" fill="#000000">jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612 -->
<g id="edge40" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M521.45,-947.72C524.18,-945.03 526.71,-942.13 529,-939 578.88,-870.83 502.24,-249.35 549,-179 555.46,-169.28 563.75,-161 573.08,-153.94"/>
<polygon fill="#000000" stroke="#000000" points="575.3277,-156.6397 581.53,-148.05 571.3248,-150.8971 575.3277,-156.6397"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node94" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node94"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: surface&#10;zebrad mainnet sync time&#10;in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4983 8,-4983 8,-4915 240,-4915 240,-4983"/>
<text text-anchor="middle" x="124" y="-4967.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-4952.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-4937.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-4922.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node95" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node95"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-5084.5 8,-5084.5 8,-5001.5 240,-5001.5 240,-5084.5"/>
<text text-anchor="middle" x="124" y="-5069.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="124" y="-5054.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="124" y="-5039.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="124" y="-5024.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="124" y="-5009.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node96" class="node open">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node96"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="521,-5077 289,-5077 289,-5009 521,-5009 521,-5077"/>
<text text-anchor="middle" x="405" y="-5061.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="405" y="-5046.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="405" y="-5031.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="405" y="-5016.8" font-family="Times,serif" font-size="14.00" fill="#000000">still connect to them</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226 -->
<g id="edge41" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M240.32,-5043C252.95,-5043 265.85,-5043 278.59,-5043"/>
<polygon fill="#000000" stroke="#000000" points="278.77,-5046.5001 288.77,-5043 278.77,-5039.5001 278.77,-5046.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>