developers/zcash-zf-dag.html

1519 lines
116 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="1368pt" height="7097pt"
viewBox="0.00 0.00 1368.00 7096.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 7092.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-7092.5 1364,-7092.5 1364,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,-2853 0,-3735 516,-3735 516,-2853 0,-2853"/>
<text text-anchor="middle" x="258" y="-3719.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Breaking Changes before the Stable Release</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_5</title>
<polygon fill="none" stroke="#0000ff" points="0,-6335 0,-6758 1052,-6758 1052,-6335 0,-6335"/>
<text text-anchor="middle" x="526" y="-6742.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_7</title>
<polygon fill="none" stroke="#0000ff" points="0,-5894 0,-6173 1052,-6173 1052,-5894 0,-5894"/>
<text text-anchor="middle" x="526" y="-6157.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_4</title>
<polygon fill="none" stroke="#0000ff" points="1072,-5931 1072,-6080 1360,-6080 1360,-5931 1072,-5931"/>
<text text-anchor="middle" x="1216" y="-6064.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Stable Release Candidate</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-4488 0,-5886 516,-5886 516,-4488 0,-4488"/>
<text text-anchor="middle" x="258" y="-5870.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_1</title>
<polygon fill="none" stroke="#0000ff" points="0,-3743 0,-4480 248,-4480 248,-3743 0,-3743"/>
<text text-anchor="middle" x="124" y="-4464.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Documentation</text>
</g>
<g id="clust7" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="268,0 268,-2845 516,-2845 516,0 268,0"/>
<text text-anchor="middle" x="392" y="-2829.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Tech Debt</text>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node1"><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="240,-3704 8,-3704 8,-3636 240,-3636 240,-3704"/>
<text text-anchor="middle" x="124" y="-3688.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="124" y="-3673.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="124" y="-3658.8" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="124" y="-3643.8" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3432" xlink:title="ZcashFoundation/zebra#3432&#10;Use the Filesystem&#10;Hierarchy Standard (FHS)&#10;for deployments and&#10;artifacts" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-3703.5 276,-3703.5 276,-3620.5 508,-3620.5 508,-3703.5"/>
<text text-anchor="middle" x="392" y="-3688.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="392" y="-3673.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="392" y="-3658.3" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="392" y="-3643.3" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="392" y="-3628.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="M240.38,-3666.5C248.71,-3666.3 257.14,-3666 265.53,-3665.8"/>
<polygon fill="#000000" stroke="#000000" points="265.8471,-3669.2923 275.74,-3665.5 265.6415,-3662.2953 265.8471,-3669.2923"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node3"><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="240,-3618 8,-3618 8,-3550 240,-3550 240,-3618"/>
<text text-anchor="middle" x="124" y="-3602.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="124" y="-3587.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="124" y="-3572.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="124" y="-3557.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/950" xlink:title="ZcashFoundation/zebra#950&#10;Demo: compare zcashd vs&#10;zebrad ludicrous speed on&#10;syncing" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-3532 12.5,-3532 12.5,-3464 235.5,-3464 235.5,-3532"/>
<text text-anchor="middle" x="124" y="-3516.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="124" y="-3501.8" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="124" y="-3486.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="124" y="-3471.8" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</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" stroke-width="2" points="240,-3446 8,-3446 8,-3378 240,-3378 240,-3446"/>
<text text-anchor="middle" x="124" y="-3430.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="124" y="-3415.8" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="124" y="-3400.8" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="124" y="-3385.8" font-family="Times,serif" font-size="14.00" fill="#000000">show Zebra nodes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node65" class="node closed">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node65"><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="508,-2499.5 276,-2499.5 276,-2446.5 508,-2446.5 508,-2499.5"/>
<text text-anchor="middle" x="392" y="-2484.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="392" y="-2469.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="392" y="-2454.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="edge20" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M240.46,-3377.7C243.19,-3375 245.72,-3372.1 248,-3369 304.39,-3291.7 209.37,-2583.6 268,-2508 268.22,-2507.7 268.44,-2507.4 268.66,-2507.2"/>
<polygon fill="#000000" stroke="#000000" points="271.3955,-2509.3987 275.66,-2499.7 266.2781,-2504.6225 271.3955,-2509.3987"/>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node6"><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="240,-3360 8,-3360 8,-3292 240,-3292 240,-3360"/>
<text text-anchor="middle" x="124" y="-3344.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-3329.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra stable download</text>
<text text-anchor="middle" x="124" y="-3314.8" font-family="Times,serif" font-size="14.00" fill="#000000">should be linked from</text>
<text text-anchor="middle" x="124" y="-3299.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1213 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#1213</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1213" xlink:title="ZcashFoundation/zebra#1213&#10;Detect when an older&#10;state version is present,&#10;and delete it" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3274 8,-3274 8,-3206 240,-3206 240,-3274"/>
<text text-anchor="middle" x="124" y="-3258.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1213</text>
<text text-anchor="middle" x="124" y="-3243.8" font-family="Times,serif" font-size="14.00" fill="#000000">Detect when an older</text>
<text text-anchor="middle" x="124" y="-3228.8" font-family="Times,serif" font-size="14.00" fill="#000000">state version is present,</text>
<text text-anchor="middle" x="124" y="-3213.8" font-family="Times,serif" font-size="14.00" fill="#000000">and delete it</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1621 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#1621</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1621" xlink:title="ZcashFoundation/zebra#1621&#10;Run `zebrad start` by&#10;default, and add `start`&#10;to `zebrad help`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3188 8,-3188 8,-3120 240,-3120 240,-3188"/>
<text text-anchor="middle" x="124" y="-3172.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1621</text>
<text text-anchor="middle" x="124" y="-3157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run `zebrad start` by</text>
<text text-anchor="middle" x="124" y="-3142.8" font-family="Times,serif" font-size="14.00" fill="#000000">default, and add `start`</text>
<text text-anchor="middle" x="124" y="-3127.8" font-family="Times,serif" font-size="14.00" fill="#000000">to `zebrad help`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1617 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#1617</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1617" xlink:title="ZcashFoundation/zebra#1617&#10;Restructure and clean up&#10;README to make it easier&#10;for new users to get&#10;started with Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3101.5 8,-3101.5 8,-3018.5 240,-3018.5 240,-3101.5"/>
<text text-anchor="middle" x="124" y="-3086.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1617</text>
<text text-anchor="middle" x="124" y="-3071.3" font-family="Times,serif" font-size="14.00" fill="#000000">Restructure and clean up</text>
<text text-anchor="middle" x="124" y="-3056.3" font-family="Times,serif" font-size="14.00" fill="#000000">README to make it easier</text>
<text text-anchor="middle" x="124" y="-3041.3" font-family="Times,serif" font-size="14.00" fill="#000000">for new users to get</text>
<text text-anchor="middle" x="124" y="-3026.3" font-family="Times,serif" font-size="14.00" fill="#000000">started with Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node10"><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="240,-3000.5 8,-3000.5 8,-2947.5 240,-2947.5 240,-3000.5"/>
<text text-anchor="middle" x="124" y="-2985.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="124" y="-2970.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="124" y="-2955.3" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1870 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#1870</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1870" xlink:title="ZcashFoundation/zebra#1870&#10;Decide if old Zebra&#10;versions should&#10;eventually refuse to run" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-2929 8,-2929 8,-2861 240,-2861 240,-2929"/>
<text text-anchor="middle" x="124" y="-2913.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1870</text>
<text text-anchor="middle" x="124" y="-2898.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if old Zebra</text>
<text text-anchor="middle" x="124" y="-2883.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions should</text>
<text text-anchor="middle" x="124" y="-2868.8" font-family="Times,serif" font-size="14.00" fill="#000000">eventually refuse to run</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3512 -->
<g id="node12" class="node closed">
<title>ZcashFoundation/zebra#3512</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3512" xlink:title="ZcashFoundation/zebra#3512&#10;Send transactions in&#10;lightwalletd integration&#10;tests" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="776,-6483 544,-6483 544,-6415 776,-6415 776,-6483"/>
<text text-anchor="middle" x="660" y="-6467.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3512</text>
<text text-anchor="middle" x="660" y="-6452.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send transactions in</text>
<text text-anchor="middle" x="660" y="-6437.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="660" y="-6422.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4168 -->
<g id="node13" class="node closed">
<title>ZcashFoundation/zebra#4168</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4168" xlink:title="ZcashFoundation/zebra#4168&#10;ci: call lightwalletd&#10;wallet queries" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1044,-6537.5 812,-6537.5 812,-6484.5 1044,-6484.5 1044,-6537.5"/>
<text text-anchor="middle" x="928" y="-6522.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4168</text>
<text text-anchor="middle" x="928" y="-6507.3" font-family="Times,serif" font-size="14.00" fill="#000000">ci: call lightwalletd</text>
<text text-anchor="middle" x="928" y="-6492.3" font-family="Times,serif" font-size="14.00" fill="#000000">wallet queries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3512&#45;&gt;ZcashFoundation/zebra#4168 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#3512&#45;&gt;ZcashFoundation/zebra#4168</title>
<path fill="none" stroke="#000000" d="M776.38,-6475.9C785.4,-6478 794.54,-6480.1 803.61,-6482.2"/>
<polygon fill="#000000" stroke="#000000" points="802.8953,-6485.6273 813.43,-6484.5 804.4917,-6478.8117 802.8953,-6485.6273"/>
</g>
<!-- ZcashFoundation/zebra#4150 -->
<g id="node96" class="node open">
<title>ZcashFoundation/zebra#4150</title>
<g id="a_node96"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4150" xlink:title="ZcashFoundation/zebra#4150&#10;Update column family&#10;names to match Zebra&#39;s&#10;database design" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1332,-6368 1100,-6368 1100,-6300 1332,-6300 1332,-6368"/>
<text text-anchor="middle" x="1216" y="-6352.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4150</text>
<text text-anchor="middle" x="1216" y="-6337.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update column family</text>
<text text-anchor="middle" x="1216" y="-6322.8" font-family="Times,serif" font-size="14.00" fill="#000000">names to match Zebra&#39;s</text>
<text text-anchor="middle" x="1216" y="-6307.8" font-family="Times,serif" font-size="14.00" fill="#000000">database design</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M978.63,-6484.5C1001.3,-6472.3 1028.3,-6457.4 1052,-6443 1088.1,-6421.2 1127.5,-6395.1 1158.6,-6373.9"/>
<polygon fill="#000000" stroke="#000000" points="1160.934,-6376.5433 1167.2,-6368 1156.974,-6370.7711 1160.934,-6376.5433"/>
</g>
<!-- ZcashFoundation/zebra#4153 -->
<g id="node97" class="node open">
<title>ZcashFoundation/zebra#4153</title>
<g id="a_node97"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4153" xlink:title="ZcashFoundation/zebra#4153&#10;Re&#45;use cached state with&#10;the same version from any&#10;branch" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1332,-6734 1100,-6734 1100,-6666 1332,-6666 1332,-6734"/>
<text text-anchor="middle" x="1216" y="-6718.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4153</text>
<text text-anchor="middle" x="1216" y="-6703.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;use cached state with</text>
<text text-anchor="middle" x="1216" y="-6688.8" font-family="Times,serif" font-size="14.00" fill="#000000">the same version from any</text>
<text text-anchor="middle" x="1216" y="-6673.8" font-family="Times,serif" font-size="14.00" fill="#000000">branch</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4153 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M968.65,-6537.7C1017.4,-6569.7 1099.5,-6623.6 1155.7,-6660.4"/>
<polygon fill="#000000" stroke="#000000" points="1153.8165,-6663.3503 1164.1,-6665.9 1157.6511,-6657.4939 1153.8165,-6663.3503"/>
</g>
<!-- ZcashFoundation/zebra#3156 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#3156</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3156" xlink:title="ZcashFoundation/zebra#3156&#10;z_gettreestate JSON&#45;RPC&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-6655.5 276,-6655.5 276,-6602.5 508,-6602.5 508,-6655.5"/>
<text text-anchor="middle" x="392" y="-6640.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3156</text>
<text text-anchor="middle" x="392" y="-6625.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_gettreestate JSON&#45;RPC</text>
<text text-anchor="middle" x="392" y="-6610.3" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3655 -->
<g id="node15" class="node closed">
<title>ZcashFoundation/zebra#3655</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3655" xlink:title="ZcashFoundation/zebra#3655&#10;Integration tests for&#10;lightwalletd RPCs that&#10;are only used when a&#10;wallet connects" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="776,-6584.5 544,-6584.5 544,-6501.5 776,-6501.5 776,-6584.5"/>
<text text-anchor="middle" x="660" y="-6569.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3655</text>
<text text-anchor="middle" x="660" y="-6554.3" font-family="Times,serif" font-size="14.00" fill="#000000">Integration tests for</text>
<text text-anchor="middle" x="660" y="-6539.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd RPCs that</text>
<text text-anchor="middle" x="660" y="-6524.3" font-family="Times,serif" font-size="14.00" fill="#000000">are only used when a</text>
<text text-anchor="middle" x="660" y="-6509.3" font-family="Times,serif" font-size="14.00" fill="#000000">wallet connects</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#3655 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#3655</title>
<path fill="none" stroke="#000000" d="M474.6,-6602.5C493.45,-6596.4 513.9,-6589.9 534.11,-6583.4"/>
<polygon fill="#000000" stroke="#000000" points="535.2453,-6586.7114 543.68,-6580.3 533.0881,-6580.052 535.2453,-6586.7114"/>
</g>
<!-- ZcashFoundation/zebra#4278 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#4278</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4278" xlink:title="ZcashFoundation/zebra#4278&#10;Add missing wallet grpc&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-6726.5 544,-6726.5 544,-6673.5 776,-6673.5 776,-6726.5"/>
<text text-anchor="middle" x="660" y="-6711.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4278</text>
<text text-anchor="middle" x="660" y="-6696.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add missing wallet grpc</text>
<text text-anchor="middle" x="660" y="-6681.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4278 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4278</title>
<path fill="none" stroke="#000000" d="M492.17,-6655.5C511.13,-6660.6 531.04,-6665.8 550.27,-6670.9"/>
<polygon fill="#000000" stroke="#000000" points="549.3844,-6674.2861 559.95,-6673.5 551.2002,-6667.5257 549.3844,-6674.2861"/>
</g>
<!-- ZcashFoundation/zebra#4351 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4351</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4351" xlink:title="ZcashFoundation/zebra#4351&#10;Add GetTreeState gRPC&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-6655.5 544,-6655.5 544,-6602.5 776,-6602.5 776,-6655.5"/>
<text text-anchor="middle" x="660" y="-6640.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4351</text>
<text text-anchor="middle" x="660" y="-6625.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetTreeState gRPC</text>
<text text-anchor="middle" x="660" y="-6610.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4351 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4351</title>
<path fill="none" stroke="#000000" d="M508.38,-6629C516.71,-6629 525.14,-6629 533.53,-6629"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-6632.5001 543.74,-6629 533.74,-6625.5001 533.74,-6632.5001"/>
</g>
<!-- ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M498.27,-6602.3C504.92,-6597.7 510.95,-6592.3 516,-6586 551.16,-6542 502.37,-6372 544,-6334 583.23,-6298.2 906.42,-6313.3 1089.9,-6325"/>
<polygon fill="#000000" stroke="#000000" points="1089.68,-6328.4931 1099.9,-6325.7 1090.1688,-6321.5102 1089.68,-6328.4931"/>
</g>
<!-- ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4153 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#3156&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M410.68,-6655.6C436.24,-6689.5 485.68,-6746.2 544,-6769 754.32,-6851.1 830.68,-6813.7 1052,-6769 1082.7,-6762.8 1114.9,-6750.7 1142.5,-6738.3"/>
<polygon fill="#000000" stroke="#000000" points="1144.0567,-6741.4369 1151.7,-6734.1 1141.1496,-6735.0691 1144.0567,-6741.4369"/>
</g>
<!-- ZcashFoundation/zebra#3655&#45;&gt;ZcashFoundation/zebra#4168 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#3655&#45;&gt;ZcashFoundation/zebra#4168</title>
<path fill="none" stroke="#000000" d="M776.38,-6529.1C784.71,-6528.1 793.14,-6527.1 801.53,-6526.1"/>
<polygon fill="#000000" stroke="#000000" points="802.2169,-6529.5434 811.74,-6524.9 801.3998,-6522.5913 802.2169,-6529.5434"/>
</g>
<!-- ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M766.61,-6673.3C770.01,-6670.5 773.16,-6667.4 776,-6664 859.86,-6563.7 718.21,-6463.1 812,-6372 850.45,-6334.6 985.95,-6328.3 1089.5,-6329.3"/>
<polygon fill="#000000" stroke="#000000" points="1089.7665,-6332.8027 1099.8,-6329.4 1089.8345,-6325.803 1089.7665,-6332.8027"/>
</g>
<!-- ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4153 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M776.22,-6700C867.9,-6700 995.6,-6700 1089.8,-6700"/>
<polygon fill="#000000" stroke="#000000" points="1089.9,-6703.5001 1099.9,-6700 1089.9,-6696.5001 1089.9,-6703.5001"/>
</g>
<!-- ZcashFoundation/zebra#3926 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#3926</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3926" xlink:title="ZcashFoundation/zebra#3926&#10;ci: run a full&#10;lightwalletd sync from a&#10;close&#45;to&#45;tip zebrad" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6569 8,-6569 8,-6501 240,-6501 240,-6569"/>
<text text-anchor="middle" x="124" y="-6553.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3926</text>
<text text-anchor="middle" x="124" y="-6538.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: run a full</text>
<text text-anchor="middle" x="124" y="-6523.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd sync from a</text>
<text text-anchor="middle" x="124" y="-6508.8" font-family="Times,serif" font-size="14.00" fill="#000000">close&#45;to&#45;tip zebrad</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4165 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4165</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4165" xlink:title="ZcashFoundation/zebra#4165&#10;Store lightwalletd state&#10;after lightwalletd full&#10;sync test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-6487 276,-6487 276,-6419 508,-6419 508,-6487"/>
<text text-anchor="middle" x="392" y="-6471.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4165</text>
<text text-anchor="middle" x="392" y="-6456.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store lightwalletd state</text>
<text text-anchor="middle" x="392" y="-6441.8" font-family="Times,serif" font-size="14.00" fill="#000000">after lightwalletd full</text>
<text text-anchor="middle" x="392" y="-6426.8" font-family="Times,serif" font-size="14.00" fill="#000000">sync test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3926&#45;&gt;ZcashFoundation/zebra#4165 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#3926&#45;&gt;ZcashFoundation/zebra#4165</title>
<path fill="none" stroke="#000000" d="M235.33,-6500.9C247.01,-6497.4 258.93,-6493.7 270.72,-6490.1"/>
<polygon fill="#000000" stroke="#000000" points="272.0401,-6493.3569 280.59,-6487.1 270.0043,-6486.6595 272.0401,-6493.3569"/>
</g>
<!-- ZcashFoundation/zebra#4165&#45;&gt;ZcashFoundation/zebra#3512 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#4165&#45;&gt;ZcashFoundation/zebra#3512</title>
<path fill="none" stroke="#000000" d="M508.38,-6451.3C516.71,-6451.1 525.14,-6451 533.53,-6450.9"/>
<polygon fill="#000000" stroke="#000000" points="533.8105,-6454.3953 543.74,-6450.7 533.6733,-6447.3966 533.8105,-6454.3953"/>
</g>
<!-- ZcashFoundation/zebra#4165&#45;&gt;ZcashFoundation/zebra#3655 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#4165&#45;&gt;ZcashFoundation/zebra#3655</title>
<path fill="none" stroke="#000000" d="M493.32,-6487C506.56,-6491.5 520.25,-6496.1 533.84,-6500.6"/>
<polygon fill="#000000" stroke="#000000" points="533.1062,-6504.0452 543.7,-6503.9 535.3279,-6497.4071 533.1062,-6504.0452"/>
</g>
<!-- ZcashFoundation/zebra#4166 -->
<g id="node20" class="node closed">
<title>ZcashFoundation/zebra#4166</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4166" xlink:title="ZcashFoundation/zebra#4166&#10;Add lightwalletd quick&#10;tip sync test" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="776,-6396.5 544,-6396.5 544,-6343.5 776,-6343.5 776,-6396.5"/>
<text text-anchor="middle" x="660" y="-6381.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4166</text>
<text text-anchor="middle" x="660" y="-6366.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add lightwalletd quick</text>
<text text-anchor="middle" x="660" y="-6351.3" font-family="Times,serif" font-size="14.00" fill="#000000">tip sync test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4165&#45;&gt;ZcashFoundation/zebra#4166 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4165&#45;&gt;ZcashFoundation/zebra#4166</title>
<path fill="none" stroke="#000000" d="M502.17,-6418.9C522.89,-6412.5 544.39,-6405.8 564.61,-6399.5"/>
<polygon fill="#000000" stroke="#000000" points="565.8889,-6402.769 574.43,-6396.5 563.8437,-6396.0745 565.8889,-6402.769"/>
</g>
<!-- ZcashFoundation/zebra#4167 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#4167</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4167" xlink:title="ZcashFoundation/zebra#4167&#10;ci: call lightwalletd&#10;quick tip sync test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1044,-6434.5 812,-6434.5 812,-6381.5 1044,-6381.5 1044,-6434.5"/>
<text text-anchor="middle" x="928" y="-6419.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4167</text>
<text text-anchor="middle" x="928" y="-6404.3" font-family="Times,serif" font-size="14.00" fill="#000000">ci: call lightwalletd</text>
<text text-anchor="middle" x="928" y="-6389.3" font-family="Times,serif" font-size="14.00" fill="#000000">quick tip sync test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4166&#45;&gt;ZcashFoundation/zebra#4167 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#4166&#45;&gt;ZcashFoundation/zebra#4167</title>
<path fill="none" stroke="#000000" d="M776.38,-6386.5C784.81,-6387.7 793.33,-6388.9 801.81,-6390.1"/>
<polygon fill="#000000" stroke="#000000" points="801.3493,-6393.5696 811.74,-6391.5 802.3266,-6386.6381 801.3493,-6393.5696"/>
</g>
<!-- ZcashFoundation/zebra#4167&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#4167&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M1031.2,-6381.5C1050.2,-6376.6 1070.3,-6371.4 1090,-6366.4"/>
<polygon fill="#000000" stroke="#000000" points="1091.1171,-6369.7254 1099.9,-6363.8 1089.3389,-6362.955 1091.1171,-6369.7254"/>
</g>
<!-- ZcashFoundation/zebra#4167&#45;&gt;ZcashFoundation/zebra#4153 -->
<g id="edge28" class="edge">
<title>ZcashFoundation/zebra#4167&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M989.81,-6434.5C1010.9,-6445.3 1033.7,-6459 1052,-6475 1113,-6528.3 1164.4,-6608.2 1192.6,-6657.1"/>
<polygon fill="#000000" stroke="#000000" points="1189.5826,-6658.8739 1197.6,-6665.8 1195.6517,-6655.3858 1189.5826,-6658.8739"/>
</g>
<!-- ZcashFoundation/zebra#4220 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4220</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4220" xlink:title="ZcashFoundation/zebra#4220&#10;getaddressutxos RPC is&#10;missing non&#45;finalized&#10;UTXOs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-6577 276,-6577 276,-6509 508,-6509 508,-6577"/>
<text text-anchor="middle" x="392" y="-6561.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4220</text>
<text text-anchor="middle" x="392" y="-6546.8" font-family="Times,serif" font-size="14.00" fill="#000000">getaddressutxos RPC is</text>
<text text-anchor="middle" x="392" y="-6531.8" font-family="Times,serif" font-size="14.00" fill="#000000">missing non&#45;finalized</text>
<text text-anchor="middle" x="392" y="-6516.8" font-family="Times,serif" font-size="14.00" fill="#000000">UTXOs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4220&#45;&gt;ZcashFoundation/zebra#3655 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4220&#45;&gt;ZcashFoundation/zebra#3655</title>
<path fill="none" stroke="#000000" d="M508.38,-6543C516.71,-6543 525.14,-6543 533.53,-6543"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-6546.5001 543.74,-6543 533.74,-6539.5001 533.74,-6546.5001"/>
</g>
<!-- ZcashFoundation/zebra#4220&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge29" class="edge">
<title>ZcashFoundation/zebra#4220&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M503.09,-6508.9C507.83,-6505 512.18,-6500.8 516,-6496 570.75,-6427.7 477.84,-6358.3 544,-6301 629.31,-6227.1 939.67,-6289.8 1052,-6301 1064.3,-6302.2 1077.1,-6304 1089.8,-6306"/>
<polygon fill="#000000" stroke="#000000" points="1089.5606,-6309.5083 1100,-6307.7 1090.7115,-6302.6036 1089.5606,-6309.5083"/>
</g>
<!-- ZcashFoundation/zebra#4220&#45;&gt;ZcashFoundation/zebra#4153 -->
<g id="edge30" class="edge">
<title>ZcashFoundation/zebra#4220&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M498.95,-6577.1C505.26,-6581.7 511.04,-6587 516,-6593 557,-6642.6 494.31,-6694.2 544,-6735 585.04,-6768.7 907.05,-6736.9 1090,-6715.6"/>
<polygon fill="#000000" stroke="#000000" points="1090.4883,-6719.0666 1100,-6714.4 1089.6542,-6712.1165 1090.4883,-6719.0666"/>
</g>
<!-- ZcashFoundation/zebra#4350 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4350</title>
<g id="a_node23"><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" stroke-width="2" points="240,-6482.5 8,-6482.5 8,-6429.5 240,-6429.5 240,-6482.5"/>
<text text-anchor="middle" x="124" y="-6467.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4350</text>
<text text-anchor="middle" x="124" y="-6452.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetMempoolTx gRPC</text>
<text text-anchor="middle" x="124" y="-6437.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4060 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#4060</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4060" xlink:title="ZcashFoundation/zebra#4060&#10;Report better&#10;transactions errors to&#10;lightwalletd" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6411 8,-6411 8,-6343 240,-6343 240,-6411"/>
<text text-anchor="middle" x="124" y="-6395.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4060</text>
<text text-anchor="middle" x="124" y="-6380.8" font-family="Times,serif" font-size="14.00" fill="#000000">Report better</text>
<text text-anchor="middle" x="124" y="-6365.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions errors to</text>
<text text-anchor="middle" x="124" y="-6350.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3414 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#3414</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3414" xlink:title="ZcashFoundation/zebra#3414&#10;Upgrade to NU5 mainnet&#10;version of orchard and&#10;librustzcash" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-6142 276,-6142 276,-6074 508,-6074 508,-6142"/>
<text text-anchor="middle" x="392" y="-6126.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3414</text>
<text text-anchor="middle" x="392" y="-6111.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 mainnet</text>
<text text-anchor="middle" x="392" y="-6096.8" font-family="Times,serif" font-size="14.00" fill="#000000">version of orchard and</text>
<text text-anchor="middle" x="392" y="-6081.8" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3948 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#3948</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3948" xlink:title="ZcashFoundation/zebra#3948&#10;Tag Zebra NU5 mainnet&#10;version" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-6048.5 544,-6048.5 544,-5995.5 776,-5995.5 776,-6048.5"/>
<text text-anchor="middle" x="660" y="-6033.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3948</text>
<text text-anchor="middle" x="660" y="-6018.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra NU5 mainnet</text>
<text text-anchor="middle" x="660" y="-6003.3" font-family="Times,serif" font-size="14.00" fill="#000000">version</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#3948 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#3948</title>
<path fill="none" stroke="#000000" d="M498.31,-6073.9C521.22,-6066.5 545.26,-6058.8 567.6,-6051.7"/>
<polygon fill="#000000" stroke="#000000" points="568.9723,-6054.9337 577.39,-6048.5 566.7974,-6048.2802 568.9723,-6054.9337"/>
</g>
<!-- ZcashFoundation/zebra#4117 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4117</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4117" xlink:title="ZcashFoundation/zebra#4117&#10;Set the minimum network&#10;protocol version to&#10;`170_100` for NU5 mainnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1044,-6087 812,-6087 812,-6019 1044,-6019 1044,-6087"/>
<text text-anchor="middle" x="928" y="-6071.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4117</text>
<text text-anchor="middle" x="928" y="-6056.8" font-family="Times,serif" font-size="14.00" fill="#000000">Set the minimum network</text>
<text text-anchor="middle" x="928" y="-6041.8" font-family="Times,serif" font-size="14.00" fill="#000000">protocol version to</text>
<text text-anchor="middle" x="928" y="-6026.8" font-family="Times,serif" font-size="14.00" fill="#000000">`170_100` for NU5 mainnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3948&#45;&gt;ZcashFoundation/zebra#4117 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#3948&#45;&gt;ZcashFoundation/zebra#4117</title>
<path fill="none" stroke="#000000" d="M776.38,-6035.5C784.71,-6036.4 793.14,-6037.4 801.53,-6038.4"/>
<polygon fill="#000000" stroke="#000000" points="801.3998,-6041.9087 811.74,-6039.6 802.2169,-6034.9566 801.3998,-6041.9087"/>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra v1.0.0&#45;rc1&#10;stable release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1332,-6048.5 1100,-6048.5 1100,-5995.5 1332,-5995.5 1332,-6048.5"/>
<text text-anchor="middle" x="1216" y="-6033.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="1216" y="-6018.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0&#45;rc1</text>
<text text-anchor="middle" x="1216" y="-6003.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3948&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge31" class="edge">
<title>ZcashFoundation/zebra#3948&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M776.13,-6011.9C788.23,-6011.1 800.36,-6010.5 812,-6010 918.58,-6005.8 945.4,-6006.1 1052,-6010 1064.2,-6010.4 1076.8,-6011.1 1089.5,-6011.8"/>
<polygon fill="#000000" stroke="#000000" points="1089.41,-6015.3007 1099.6,-6012.4 1089.8252,-6008.3131 1089.41,-6015.3007"/>
</g>
<!-- ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge32" class="edge">
<title>ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M1044.3,-6040.5C1059.2,-6038.9 1074.4,-6037.2 1089.4,-6035.6"/>
<polygon fill="#000000" stroke="#000000" points="1090.1282,-6039.0422 1099.7,-6034.5 1089.3848,-6032.0818 1090.1282,-6039.0422"/>
</g>
<!-- ZcashFoundation/zebra#2372 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#2372</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2372" xlink:title="ZcashFoundation/zebra#2372&#10; Update the README goals&#10;and scope for NU5 mainnet&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-6056 276,-6056 276,-5988 508,-5988 508,-6056"/>
<text text-anchor="middle" x="392" y="-6040.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2372</text>
<text text-anchor="middle" x="392" y="-6025.8" font-family="Times,serif" font-size="14.00" fill="#000000"> Update the README goals</text>
<text text-anchor="middle" x="392" y="-6010.8" font-family="Times,serif" font-size="14.00" fill="#000000">and scope for NU5 mainnet</text>
<text text-anchor="middle" x="392" y="-5995.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3948 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3948</title>
<path fill="none" stroke="#000000" d="M508.38,-6022C516.71,-6022 525.14,-6022 533.53,-6022"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-6025.5001 543.74,-6022 533.74,-6018.5001 533.74,-6025.5001"/>
</g>
<!-- ZcashFoundation/zebra#4115 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#4115</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4115" xlink:title="ZcashFoundation/zebra#4115&#10;Set the NU5 mainnet&#10;activation height and&#10;network protocol version" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-5970 276,-5970 276,-5902 508,-5902 508,-5970"/>
<text text-anchor="middle" x="392" y="-5954.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4115</text>
<text text-anchor="middle" x="392" y="-5939.8" font-family="Times,serif" font-size="14.00" fill="#000000">Set the NU5 mainnet</text>
<text text-anchor="middle" x="392" y="-5924.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation height and</text>
<text text-anchor="middle" x="392" y="-5909.8" font-family="Times,serif" font-size="14.00" fill="#000000">network protocol version</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4115&#45;&gt;ZcashFoundation/zebra#3948 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#4115&#45;&gt;ZcashFoundation/zebra#3948</title>
<path fill="none" stroke="#000000" d="M498.31,-5970.1C521.22,-5977.5 545.26,-5985.2 567.6,-5992.3"/>
<polygon fill="#000000" stroke="#000000" points="566.7974,-5995.7198 577.39,-5995.5 568.9723,-5989.0663 566.7974,-5995.7198"/>
</g>
<!-- ZcashFoundation/zebra#4335 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#4335</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4335" xlink:title="ZcashFoundation/zebra#4335&#10; Upgrade librustzcash&#45;&#10;related crypto&#10;dependencies (Season 2)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6142 8,-6142 8,-6074 240,-6074 240,-6142"/>
<text text-anchor="middle" x="124" y="-6126.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4335</text>
<text text-anchor="middle" x="124" y="-6111.8" font-family="Times,serif" font-size="14.00" fill="#000000"> Upgrade librustzcash&#45;</text>
<text text-anchor="middle" x="124" y="-6096.8" font-family="Times,serif" font-size="14.00" fill="#000000">related crypto</text>
<text text-anchor="middle" x="124" y="-6081.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies (Season 2)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4335&#45;&gt;ZcashFoundation/zebra#3414 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#4335&#45;&gt;ZcashFoundation/zebra#3414</title>
<path fill="none" stroke="#000000" d="M240.38,-6108C248.71,-6108 257.14,-6108 265.53,-6108"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-6111.5001 275.74,-6108 265.74,-6104.5001 265.74,-6111.5001"/>
</g>
<!-- ZcashFoundation/zebra#2995 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#2995</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2995" xlink:title="ZcashFoundation/zebra#2995&#10;Speed up Zebra&#39;s CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1332,-5977 1100,-5977 1100,-5939 1332,-5939 1332,-5977"/>
<text text-anchor="middle" x="1216" y="-5961.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2995</text>
<text text-anchor="middle" x="1216" y="-5946.8" font-family="Times,serif" font-size="14.00" fill="#000000">Speed up Zebra&#39;s CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/271" xlink:title="ZcashFoundation/zebra#271&#10;Sapling Key Agreement and&#10;KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-5854.5 12.5,-5854.5 12.5,-5801.5 235.5,-5801.5 235.5,-5854.5"/>
<text text-anchor="middle" x="124" y="-5839.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="124" y="-5824.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Key Agreement and</text>
<text text-anchor="middle" x="124" y="-5809.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/269" xlink:title="ZcashFoundation/zebra#269&#10;Sapling note encryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="503.5,-5783.5 280.5,-5783.5 280.5,-5730.5 503.5,-5730.5 503.5,-5783.5"/>
<text text-anchor="middle" x="392" y="-5768.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="392" y="-5753.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note encryption</text>
<text text-anchor="middle" x="392" y="-5738.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M224.17,-5801.5C243.13,-5796.4 263.04,-5791.2 282.27,-5786.1"/>
<polygon fill="#000000" stroke="#000000" points="283.2002,-5789.4743 291.95,-5783.5 281.3844,-5782.7139 283.2002,-5789.4743"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node35"><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="508,-5854.5 276,-5854.5 276,-5801.5 508,-5801.5 508,-5854.5"/>
<text text-anchor="middle" x="392" y="-5839.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="392" y="-5824.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="392" y="-5809.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="edge19" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M235.72,-5828C245.52,-5828 255.49,-5828 265.41,-5828"/>
<polygon fill="#000000" stroke="#000000" points="265.71,-5831.5001 275.71,-5828 265.71,-5824.5001 265.71,-5831.5001"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node36"><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,-5783 12.5,-5783 12.5,-5745 235.5,-5745 235.5,-5783"/>
<text text-anchor="middle" x="124" y="-5767.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="124" y="-5752.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#267 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#267</title>
<g id="a_node37"><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,-5727 12.5,-5727 12.5,-5659 235.5,-5659 235.5,-5727"/>
<text text-anchor="middle" x="124" y="-5711.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#267</text>
<text text-anchor="middle" x="124" y="-5696.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;32 Sapling</text>
<text text-anchor="middle" x="124" y="-5681.8" font-family="Times,serif" font-size="14.00" fill="#000000">and Orchard key</text>
<text text-anchor="middle" x="124" y="-5666.8" font-family="Times,serif" font-size="14.00" fill="#000000">derivation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2064 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#2064</title>
<g id="a_node38"><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,-5640.5 8,-5640.5 8,-5587.5 240,-5587.5 240,-5640.5"/>
<text text-anchor="middle" x="124" y="-5625.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2064</text>
<text text-anchor="middle" x="124" y="-5610.3" font-family="Times,serif" font-size="14.00" fill="#000000">Import Poseidon hash into</text>
<text text-anchor="middle" x="124" y="-5595.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2192 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#2192</title>
<g id="a_node39"><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,-5569.5 8,-5569.5 8,-5486.5 240,-5486.5 240,-5569.5"/>
<text text-anchor="middle" x="124" y="-5554.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2192</text>
<text text-anchor="middle" x="124" y="-5539.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="124" y="-5524.3" font-family="Times,serif" font-size="14.00" fill="#000000">`EphemeralPrivateKey`&#39;s</text>
<text text-anchor="middle" x="124" y="-5509.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard, Sapling,</text>
<text text-anchor="middle" x="124" y="-5494.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#181 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#181</title>
<g id="a_node40"><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,-5468 12.5,-5468 12.5,-5400 235.5,-5400 235.5,-5468"/>
<text text-anchor="middle" x="124" y="-5452.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#181</text>
<text text-anchor="middle" x="124" y="-5437.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout note</text>
<text text-anchor="middle" x="124" y="-5422.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption/decryption</text>
<text text-anchor="middle" x="124" y="-5407.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#785 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#785</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/785" xlink:title="ZcashFoundation/zebra#785&#10;Implement ZIP 212: Allow&#10;Recipient to Derive&#10;Sapling Ephemeral Secret&#10;from Note Plaintext" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="235.5,-5381.5 12.5,-5381.5 12.5,-5298.5 235.5,-5298.5 235.5,-5381.5"/>
<text text-anchor="middle" x="124" y="-5366.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#785</text>
<text text-anchor="middle" x="124" y="-5351.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 212: Allow</text>
<text text-anchor="middle" x="124" y="-5336.3" font-family="Times,serif" font-size="14.00" fill="#000000">Recipient to Derive</text>
<text text-anchor="middle" x="124" y="-5321.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Ephemeral Secret</text>
<text text-anchor="middle" x="124" y="-5306.3" font-family="Times,serif" font-size="14.00" fill="#000000">from Note Plaintext</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#321 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#321</title>
<g id="a_node42"><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,-5280 12.5,-5280 12.5,-5242 235.5,-5242 235.5,-5280"/>
<text text-anchor="middle" x="124" y="-5264.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#321</text>
<text text-anchor="middle" x="124" y="-5249.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Output Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#272 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#272</title>
<g id="a_node43"><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,-5223.5 12.5,-5223.5 12.5,-5170.5 235.5,-5170.5 235.5,-5223.5"/>
<text text-anchor="middle" x="124" y="-5208.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#272</text>
<text text-anchor="middle" x="124" y="-5193.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout Key Agreement and</text>
<text text-anchor="middle" x="124" y="-5178.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2496 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#2496</title>
<g id="a_node44"><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,-5152.5 8,-5152.5 8,-5069.5 240,-5069.5 240,-5152.5"/>
<text text-anchor="middle" x="124" y="-5137.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2496</text>
<text text-anchor="middle" x="124" y="-5122.3" font-family="Times,serif" font-size="14.00" fill="#000000">Handle a ivk == ⊥</text>
<text text-anchor="middle" x="124" y="-5107.3" font-family="Times,serif" font-size="14.00" fill="#000000">(KA^Orchard private key)</text>
<text text-anchor="middle" x="124" y="-5092.3" font-family="Times,serif" font-size="14.00" fill="#000000">when generating an</text>
<text text-anchor="middle" x="124" y="-5077.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Spending Key</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3869 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#3869</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3869" xlink:title="ZcashFoundation/zebra#3869&#10;Orchard: ensure that ivk&#10;= 0 is rejected if that&#10;negligible case occurs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-5051 8,-5051 8,-4983 240,-4983 240,-5051"/>
<text text-anchor="middle" x="124" y="-5035.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3869</text>
<text text-anchor="middle" x="124" y="-5020.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: ensure that ivk</text>
<text text-anchor="middle" x="124" y="-5005.8" font-family="Times,serif" font-size="14.00" fill="#000000">= 0 is rejected if that</text>
<text text-anchor="middle" x="124" y="-4990.8" font-family="Times,serif" font-size="14.00" fill="#000000">negligible case occurs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#278 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#278</title>
<g id="a_node46"><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,-4965 12.5,-4965 12.5,-4927 235.5,-4927 235.5,-4965"/>
<text text-anchor="middle" x="124" y="-4949.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#278</text>
<text text-anchor="middle" x="124" y="-4934.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Note Builder</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2447 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#2447</title>
<g id="a_node47"><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,-4908.5 8,-4908.5 8,-4825.5 240,-4825.5 240,-4908.5"/>
<text text-anchor="middle" x="124" y="-4893.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2447</text>
<text text-anchor="middle" x="124" y="-4878.3" font-family="Times,serif" font-size="14.00" fill="#000000">Define a new `Amount`</text>
<text text-anchor="middle" x="124" y="-4863.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Constraint` for Note</text>
<text text-anchor="middle" x="124" y="-4848.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="-4833.3" font-family="Times,serif" font-size="14.00" fill="#000000">`valid_range()`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2041 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#2041</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2041" xlink:title="ZcashFoundation/zebra#2041&#10;Orchard: derive&#10;OutgoingCipherKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4807.5 8,-4807.5 8,-4754.5 240,-4754.5 240,-4807.5"/>
<text text-anchor="middle" x="124" y="-4792.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2041</text>
<text text-anchor="middle" x="124" y="-4777.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: derive</text>
<text text-anchor="middle" x="124" y="-4762.3" font-family="Times,serif" font-size="14.00" fill="#000000">OutgoingCipherKey</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#320 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#320</title>
<g id="a_node49"><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,-4736 12.5,-4736 12.5,-4698 235.5,-4698 235.5,-4736"/>
<text text-anchor="middle" x="124" y="-4720.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#320</text>
<text text-anchor="middle" x="124" y="-4705.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create a Spend Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2080 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#2080</title>
<g id="a_node50"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2080" xlink:title="ZcashFoundation/zebra#2080&#10;Replace`redpallas` module&#10;with `reddsa`/`redpallas`&#10;crate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4680 8,-4680 8,-4612 240,-4612 240,-4680"/>
<text text-anchor="middle" x="124" y="-4664.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2080</text>
<text text-anchor="middle" x="124" y="-4649.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace`redpallas` module</text>
<text text-anchor="middle" x="124" y="-4634.8" font-family="Times,serif" font-size="14.00" fill="#000000">with `reddsa`/`redpallas`</text>
<text text-anchor="middle" x="124" y="-4619.8" font-family="Times,serif" font-size="14.00" fill="#000000">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2095 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#2095</title>
<g id="a_node51"><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,-4594 8,-4594 8,-4496 240,-4496 240,-4594"/>
<text text-anchor="middle" x="124" y="-4578.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2095</text>
<text text-anchor="middle" x="124" y="-4563.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: update</text>
<text text-anchor="middle" x="124" y="-4548.8" font-family="Times,serif" font-size="14.00" fill="#000000">note/action generation to</text>
<text text-anchor="middle" x="124" y="-4533.8" font-family="Times,serif" font-size="14.00" fill="#000000">include input note</text>
<text text-anchor="middle" x="124" y="-4518.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier in the</text>
<text text-anchor="middle" x="124" y="-4503.8" font-family="Times,serif" font-size="14.00" fill="#000000">PRF^expand invocations</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node52"><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,-4449 8,-4449 8,-4411 240,-4411 240,-4449"/>
<text text-anchor="middle" x="124" y="-4433.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="124" y="-4418.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3318 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#3318</title>
<g id="a_node53"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3318" xlink:title="ZcashFoundation/zebra#3318&#10;Consider adding codespell&#10;to the CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4392.5 8,-4392.5 8,-4339.5 240,-4339.5 240,-4392.5"/>
<text text-anchor="middle" x="124" y="-4377.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3318</text>
<text text-anchor="middle" x="124" y="-4362.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider adding codespell</text>
<text text-anchor="middle" x="124" y="-4347.3" font-family="Times,serif" font-size="14.00" fill="#000000">to the CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node54"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1963" xlink:title="ZcashFoundation/zebra#1963&#10;Revise Release Process&#10;RFC Draft" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4321.5 8,-4321.5 8,-4268.5 240,-4268.5 240,-4321.5"/>
<text text-anchor="middle" x="124" y="-4306.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="124" y="-4291.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revise Release Process</text>
<text text-anchor="middle" x="124" y="-4276.3" font-family="Times,serif" font-size="14.00" fill="#000000">RFC Draft</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4202 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#4202</title>
<g id="a_node55"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4202" xlink:title="ZcashFoundation/zebra#4202&#10;Document how to handle&#10;network upgrades" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4250.5 8,-4250.5 8,-4197.5 240,-4197.5 240,-4250.5"/>
<text text-anchor="middle" x="124" y="-4235.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4202</text>
<text text-anchor="middle" x="124" y="-4220.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to handle</text>
<text text-anchor="middle" x="124" y="-4205.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrades</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2972 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#2972</title>
<g id="a_node56"><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,-4179 8,-4179 8,-4111 240,-4111 240,-4179"/>
<text text-anchor="middle" x="124" y="-4163.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2972</text>
<text text-anchor="middle" x="124" y="-4148.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="-4133.8" font-family="Times,serif" font-size="14.00" fill="#000000">discover how to configure</text>
<text text-anchor="middle" x="124" y="-4118.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2191 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#2191</title>
<g id="a_node57"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2191" xlink:title="ZcashFoundation/zebra#2191&#10;Update user and dev&#10;instructions in the Zebra&#10;Book to deduplicate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4093 8,-4093 8,-4025 240,-4025 240,-4093"/>
<text text-anchor="middle" x="124" y="-4077.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2191</text>
<text text-anchor="middle" x="124" y="-4062.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update user and dev</text>
<text text-anchor="middle" x="124" y="-4047.8" font-family="Times,serif" font-size="14.00" fill="#000000">instructions in the Zebra</text>
<text text-anchor="middle" x="124" y="-4032.8" font-family="Times,serif" font-size="14.00" fill="#000000">Book to deduplicate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2740 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#2740</title>
<g id="a_node58"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2740" xlink:title="ZcashFoundation/zebra#2740&#10;Documentation: adapt&#10;Zebra architecture blog&#10;posts into zebrad&#10;overview for devs in the&#10;book" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-4007 8,-4007 8,-3909 240,-3909 240,-4007"/>
<text text-anchor="middle" x="124" y="-3991.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2740</text>
<text text-anchor="middle" x="124" y="-3976.8" font-family="Times,serif" font-size="14.00" fill="#000000">Documentation: adapt</text>
<text text-anchor="middle" x="124" y="-3961.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra architecture blog</text>
<text text-anchor="middle" x="124" y="-3946.8" font-family="Times,serif" font-size="14.00" fill="#000000">posts into zebrad</text>
<text text-anchor="middle" x="124" y="-3931.8" font-family="Times,serif" font-size="14.00" fill="#000000">overview for devs in the</text>
<text text-anchor="middle" x="124" y="-3916.8" font-family="Times,serif" font-size="14.00" fill="#000000">book</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node59"><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="240,-3890.5 8,-3890.5 8,-3837.5 240,-3837.5 240,-3890.5"/>
<text text-anchor="middle" x="124" y="-3875.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="124" y="-3860.3" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="124" y="-3845.3" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1772 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#1772</title>
<g id="a_node60"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1772" xlink:title="ZcashFoundation/zebra#1772&#10;Add comments on how to&#10;configure metric and&#10;tracing endpoints" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-3819 8,-3819 8,-3751 240,-3751 240,-3819"/>
<text text-anchor="middle" x="124" y="-3803.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1772</text>
<text text-anchor="middle" x="124" y="-3788.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add comments on how to</text>
<text text-anchor="middle" x="124" y="-3773.8" font-family="Times,serif" font-size="14.00" fill="#000000">configure metric and</text>
<text text-anchor="middle" x="124" y="-3758.8" font-family="Times,serif" font-size="14.00" fill="#000000">tracing endpoints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node61" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node61"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2573" xlink:title="ZcashFoundation/zebra#2573&#10;Remove redundant watch&#10;values once our Tokio&#10;dependency is updated" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2814 276,-2814 276,-2746 508,-2746 508,-2814"/>
<text text-anchor="middle" x="392" y="-2798.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="392" y="-2783.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="392" y="-2768.8" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="392" y="-2753.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node62"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2214" xlink:title="ZcashFoundation/zebra#2214&#10;Limit fanouts to the&#10;number of active peers,&#10;Credit: Equilibrium" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2728 276,-2728 276,-2660 508,-2660 508,-2728"/>
<text text-anchor="middle" x="392" y="-2712.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="392" y="-2697.8" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="392" y="-2682.8" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="392" y="-2667.8" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</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="508,-2641.5 276,-2641.5 276,-2588.5 508,-2588.5 508,-2641.5"/>
<text text-anchor="middle" x="392" y="-2626.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="392" y="-2611.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="392" y="-2596.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node64"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2560" xlink:title="ZcashFoundation/zebra#2560&#10;Test History Tree&#10;serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2570.5 276,-2570.5 276,-2517.5 508,-2517.5 508,-2570.5"/>
<text text-anchor="middle" x="392" y="-2555.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="392" y="-2540.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="392" y="-2525.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node66"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1875" xlink:title="ZcashFoundation/zebra#1875&#10;Zebra attempts new peer&#10;connections in a fixed,&#10;predictable order" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2428 276,-2428 276,-2360 508,-2360 508,-2428"/>
<text text-anchor="middle" x="392" y="-2412.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="392" y="-2397.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="392" y="-2382.8" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="392" y="-2367.8" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node67"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1956" xlink:title="ZcashFoundation/zebra#1956&#10;Zebra should store a&#10;persistent list of recent&#10;successful peers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2342 276,-2342 276,-2274 508,-2274 508,-2342"/>
<text text-anchor="middle" x="392" y="-2326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="392" y="-2311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="392" y="-2296.8" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="392" y="-2281.8" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node68" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node68"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2042" xlink:title="ZcashFoundation/zebra#2042&#10;zebra&#45;chain: Port array&#45;&#10;wrapper types to const&#10;generics" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2256 276,-2256 276,-2188 508,-2188 508,-2256"/>
<text text-anchor="middle" x="392" y="-2240.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="392" y="-2225.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;chain: Port array&#45;</text>
<text text-anchor="middle" x="392" y="-2210.8" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="392" y="-2195.8" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1786 -->
<g id="node69" class="node open">
<title>ZcashFoundation/zebra#1786</title>
<g id="a_node69"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1786" xlink:title="ZcashFoundation/zebra#1786&#10;Skip duplicate GitHub&#10;actions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2169.5 276,-2169.5 276,-2116.5 508,-2116.5 508,-2169.5"/>
<text text-anchor="middle" x="392" y="-2154.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1786</text>
<text text-anchor="middle" x="392" y="-2139.3" font-family="Times,serif" font-size="14.00" fill="#000000">Skip duplicate GitHub</text>
<text text-anchor="middle" x="392" y="-2124.3" font-family="Times,serif" font-size="14.00" fill="#000000">actions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#483 -->
<g id="node70" class="node open">
<title>ZcashFoundation/zebra#483</title>
<g id="a_node70"><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="503.5,-2098.5 280.5,-2098.5 280.5,-2045.5 503.5,-2045.5 503.5,-2098.5"/>
<text text-anchor="middle" x="392" y="-2083.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#483</text>
<text text-anchor="middle" x="392" y="-2068.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit generated block and</text>
<text text-anchor="middle" x="392" y="-2053.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3372 -->
<g id="node71" class="node open">
<title>ZcashFoundation/zebra#3372</title>
<g id="a_node71"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3372" xlink:title="ZcashFoundation/zebra#3372&#10;Use clap v3 instead of&#10;structopt" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-2027.5 276,-2027.5 276,-1974.5 508,-1974.5 508,-2027.5"/>
<text text-anchor="middle" x="392" y="-2012.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3372</text>
<text text-anchor="middle" x="392" y="-1997.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use clap v3 instead of</text>
<text text-anchor="middle" x="392" y="-1982.3" font-family="Times,serif" font-size="14.00" fill="#000000">structopt</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3436 -->
<g id="node72" class="node open">
<title>ZcashFoundation/zebra#3436</title>
<g id="a_node72"><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="508,-1956 276,-1956 276,-1888 508,-1888 508,-1956"/>
<text text-anchor="middle" x="392" y="-1940.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3436</text>
<text text-anchor="middle" x="392" y="-1925.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create wrapper for</text>
<text text-anchor="middle" x="392" y="-1910.8" font-family="Times,serif" font-size="14.00" fill="#000000">`precomputed` in</text>
<text text-anchor="middle" x="392" y="-1895.8" font-family="Times,serif" font-size="14.00" fill="#000000">`CachedFfiTransaction`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#565 -->
<g id="node73" class="node open">
<title>ZcashFoundation/zebra#565</title>
<g id="a_node73"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/565" xlink:title="ZcashFoundation/zebra#565&#10;Tracking: all the&#10;consensus parameters" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="503.5,-1869.5 280.5,-1869.5 280.5,-1816.5 503.5,-1816.5 503.5,-1869.5"/>
<text text-anchor="middle" x="392" y="-1854.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#565</text>
<text text-anchor="middle" x="392" y="-1839.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: all the</text>
<text text-anchor="middle" x="392" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2298 -->
<g id="node74" class="node open">
<title>ZcashFoundation/zebra#2298</title>
<g id="a_node74"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2298" xlink:title="ZcashFoundation/zebra#2298&#10;Coverage&#45;based fuzzing&#10;for transaction&#10;processing,&#10;(de)serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1798.5 276,-1798.5 276,-1715.5 508,-1715.5 508,-1798.5"/>
<text text-anchor="middle" x="392" y="-1783.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2298</text>
<text text-anchor="middle" x="392" y="-1768.3" font-family="Times,serif" font-size="14.00" fill="#000000">Coverage&#45;based fuzzing</text>
<text text-anchor="middle" x="392" y="-1753.3" font-family="Times,serif" font-size="14.00" fill="#000000">for transaction</text>
<text text-anchor="middle" x="392" y="-1738.3" font-family="Times,serif" font-size="14.00" fill="#000000">processing,</text>
<text text-anchor="middle" x="392" y="-1723.3" font-family="Times,serif" font-size="14.00" fill="#000000">(de)serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node75" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node75"><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="508,-1697 276,-1697 276,-1629 508,-1629 508,-1697"/>
<text text-anchor="middle" x="392" y="-1681.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="392" y="-1666.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="392" y="-1651.8" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="392" y="-1636.8" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2090 -->
<g id="node76" class="node open">
<title>ZcashFoundation/zebra#2090</title>
<g id="a_node76"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2090" xlink:title="ZcashFoundation/zebra#2090&#10;Auto&#45;delete old Google&#10;Cloud instance templates" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1610.5 276,-1610.5 276,-1557.5 508,-1557.5 508,-1610.5"/>
<text text-anchor="middle" x="392" y="-1595.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2090</text>
<text text-anchor="middle" x="392" y="-1580.3" font-family="Times,serif" font-size="14.00" fill="#000000">Auto&#45;delete old Google</text>
<text text-anchor="middle" x="392" y="-1565.3" font-family="Times,serif" font-size="14.00" fill="#000000">Cloud instance templates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2892 -->
<g id="node77" class="node open">
<title>ZcashFoundation/zebra#2892</title>
<g id="a_node77"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2892" xlink:title="ZcashFoundation/zebra#2892&#10;Go over all `cargo doc`&#10;warnings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1539.5 276,-1539.5 276,-1486.5 508,-1486.5 508,-1539.5"/>
<text text-anchor="middle" x="392" y="-1524.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2892</text>
<text text-anchor="middle" x="392" y="-1509.3" font-family="Times,serif" font-size="14.00" fill="#000000">Go over all `cargo doc`</text>
<text text-anchor="middle" x="392" y="-1494.3" font-family="Times,serif" font-size="14.00" fill="#000000">warnings</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2220 -->
<g id="node78" class="node open">
<title>ZcashFoundation/zebra#2220</title>
<g id="a_node78"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2220" xlink:title="ZcashFoundation/zebra#2220&#10;Add the Google Cloud&#10;Instance ID to Sentry, so&#10;we can search logs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1468 276,-1468 276,-1400 508,-1400 508,-1468"/>
<text text-anchor="middle" x="392" y="-1452.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2220</text>
<text text-anchor="middle" x="392" y="-1437.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add the Google Cloud</text>
<text text-anchor="middle" x="392" y="-1422.8" font-family="Times,serif" font-size="14.00" fill="#000000">Instance ID to Sentry, so</text>
<text text-anchor="middle" x="392" y="-1407.8" font-family="Times,serif" font-size="14.00" fill="#000000">we can search logs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2869 -->
<g id="node79" class="node open">
<title>ZcashFoundation/zebra#2869</title>
<g id="a_node79"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2869" xlink:title="ZcashFoundation/zebra#2869&#10;Add mempool metrics&#10;related to memory usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1381.5 276,-1381.5 276,-1328.5 508,-1328.5 508,-1381.5"/>
<text text-anchor="middle" x="392" y="-1366.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2869</text>
<text text-anchor="middle" x="392" y="-1351.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add mempool metrics</text>
<text text-anchor="middle" x="392" y="-1336.3" font-family="Times,serif" font-size="14.00" fill="#000000">related to memory usage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2632 -->
<g id="node80" class="node open">
<title>ZcashFoundation/zebra#2632</title>
<g id="a_node80"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2632" xlink:title="ZcashFoundation/zebra#2632&#10;Improve performance of&#10;authorizing data&#10;commitment" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1310 276,-1310 276,-1242 508,-1242 508,-1310"/>
<text text-anchor="middle" x="392" y="-1294.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2632</text>
<text text-anchor="middle" x="392" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve performance of</text>
<text text-anchor="middle" x="392" y="-1264.8" font-family="Times,serif" font-size="14.00" fill="#000000">authorizing data</text>
<text text-anchor="middle" x="392" y="-1249.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2297 -->
<g id="node81" class="node open">
<title>ZcashFoundation/zebra#2297</title>
<g id="a_node81"><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="508,-1223.5 276,-1223.5 276,-1170.5 508,-1170.5 508,-1223.5"/>
<text text-anchor="middle" x="392" y="-1208.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2297</text>
<text text-anchor="middle" x="392" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="#000000">Enforce unwrap&#45;pertinent</text>
<text text-anchor="middle" x="392" y="-1178.3" font-family="Times,serif" font-size="14.00" fill="#000000">Clippy lints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1186 -->
<g id="node82" class="node open">
<title>ZcashFoundation/zebra#1186</title>
<g id="a_node82"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1186" xlink:title="ZcashFoundation/zebra#1186&#10;Dedupe Verification error&#10;types (Block, Chain)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1152.5 276,-1152.5 276,-1099.5 508,-1099.5 508,-1152.5"/>
<text text-anchor="middle" x="392" y="-1137.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1186</text>
<text text-anchor="middle" x="392" y="-1122.3" font-family="Times,serif" font-size="14.00" fill="#000000">Dedupe Verification error</text>
<text text-anchor="middle" x="392" y="-1107.3" font-family="Times,serif" font-size="14.00" fill="#000000">types (Block, Chain)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3831 -->
<g id="node83" class="node open">
<title>ZcashFoundation/zebra#3831</title>
<g id="a_node83"><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="508,-1081.5 276,-1081.5 276,-1028.5 508,-1028.5 508,-1081.5"/>
<text text-anchor="middle" x="392" y="-1066.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3831</text>
<text text-anchor="middle" x="392" y="-1051.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove duplicated</text>
<text text-anchor="middle" x="392" y="-1036.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2299 -->
<g id="node84" class="node open">
<title>ZcashFoundation/zebra#2299</title>
<g id="a_node84"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2299" xlink:title="ZcashFoundation/zebra#2299&#10;Coverage&#45;based fuzzing&#10;for network message&#10;processing,&#10;(de)serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-1010.5 276,-1010.5 276,-927.5 508,-927.5 508,-1010.5"/>
<text text-anchor="middle" x="392" y="-995.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2299</text>
<text text-anchor="middle" x="392" y="-980.3" font-family="Times,serif" font-size="14.00" fill="#000000">Coverage&#45;based fuzzing</text>
<text text-anchor="middle" x="392" y="-965.3" font-family="Times,serif" font-size="14.00" fill="#000000">for network message</text>
<text text-anchor="middle" x="392" y="-950.3" font-family="Times,serif" font-size="14.00" fill="#000000">processing,</text>
<text text-anchor="middle" x="392" y="-935.3" font-family="Times,serif" font-size="14.00" fill="#000000">(de)serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node85" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node85"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1890" xlink:title="ZcashFoundation/zebra#1890&#10;Zebra should support&#10;separate local bind and&#10;external advertise&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-909.5 276,-909.5 276,-826.5 508,-826.5 508,-909.5"/>
<text text-anchor="middle" x="392" y="-894.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="392" y="-879.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="392" y="-864.3" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="392" y="-849.3" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="392" y="-834.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1364 -->
<g id="node86" class="node open">
<title>ZcashFoundation/zebra#1364</title>
<g id="a_node86"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1364" xlink:title="ZcashFoundation/zebra#1364&#10;Add a CI job which&#10;compiles each Zebra crate&#10;individually" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-808 276,-808 276,-740 508,-740 508,-808"/>
<text text-anchor="middle" x="392" y="-792.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1364</text>
<text text-anchor="middle" x="392" y="-777.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a CI job which</text>
<text text-anchor="middle" x="392" y="-762.8" font-family="Times,serif" font-size="14.00" fill="#000000">compiles each Zebra crate</text>
<text text-anchor="middle" x="392" y="-747.8" font-family="Times,serif" font-size="14.00" fill="#000000">individually</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3179 -->
<g id="node87" class="node open">
<title>ZcashFoundation/zebra#3179</title>
<g id="a_node87"><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="508,-722 276,-722 276,-654 508,-654 508,-722"/>
<text text-anchor="middle" x="392" y="-706.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3179</text>
<text text-anchor="middle" x="392" y="-691.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use a `bellman::Proof`</text>
<text text-anchor="middle" x="392" y="-676.8" font-family="Times,serif" font-size="14.00" fill="#000000">instead of a byte array</text>
<text text-anchor="middle" x="392" y="-661.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `Groth16Proof`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2587 -->
<g id="node88" class="node open">
<title>ZcashFoundation/zebra#2587</title>
<g id="a_node88"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2587" xlink:title="ZcashFoundation/zebra#2587&#10;Clean up History Tree&#10;fields (network,&#10;network_upgrade)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-636 276,-636 276,-568 508,-568 508,-636"/>
<text text-anchor="middle" x="392" y="-620.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2587</text>
<text text-anchor="middle" x="392" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">Clean up History Tree</text>
<text text-anchor="middle" x="392" y="-590.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (network,</text>
<text text-anchor="middle" x="392" y="-575.8" font-family="Times,serif" font-size="14.00" fill="#000000">network_upgrade)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117 -->
<g id="node89" class="node open">
<title>ZcashFoundation/zebra#3117</title>
<g id="a_node89"><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="508,-549.5 276,-549.5 276,-496.5 508,-496.5 508,-549.5"/>
<text text-anchor="middle" x="392" y="-534.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3117</text>
<text text-anchor="middle" x="392" y="-519.3" font-family="Times,serif" font-size="14.00" fill="#000000">Stop using private IP</text>
<text text-anchor="middle" x="392" y="-504.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses by default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1951 -->
<g id="node90" class="node open">
<title>ZcashFoundation/zebra#1951</title>
<g id="a_node90"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1951" xlink:title="ZcashFoundation/zebra#1951&#10;Generalize/deduplicate&#10;async batch verification&#10;services / create a&#10;derive&#45;able proc macro" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-478.5 276,-478.5 276,-395.5 508,-395.5 508,-478.5"/>
<text text-anchor="middle" x="392" y="-463.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1951</text>
<text text-anchor="middle" x="392" y="-448.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalize/deduplicate</text>
<text text-anchor="middle" x="392" y="-433.3" font-family="Times,serif" font-size="14.00" fill="#000000">async batch verification</text>
<text text-anchor="middle" x="392" y="-418.3" font-family="Times,serif" font-size="14.00" fill="#000000">services / create a</text>
<text text-anchor="middle" x="392" y="-403.3" font-family="Times,serif" font-size="14.00" fill="#000000">derive&#45;able proc macro</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2909 -->
<g id="node91" class="node open">
<title>ZcashFoundation/zebra#2909</title>
<g id="a_node91"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2909" xlink:title="ZcashFoundation/zebra#2909&#10;Test if the block&#10;downloader and verifier&#10;error checking is correct" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-377 276,-377 276,-309 508,-309 508,-377"/>
<text text-anchor="middle" x="392" y="-361.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2909</text>
<text text-anchor="middle" x="392" y="-346.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if the block</text>
<text text-anchor="middle" x="392" y="-331.8" font-family="Times,serif" font-size="14.00" fill="#000000">downloader and verifier</text>
<text text-anchor="middle" x="392" y="-316.8" font-family="Times,serif" font-size="14.00" fill="#000000">error checking is correct</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2436 -->
<g id="node92" class="node open">
<title>ZcashFoundation/zebra#2436</title>
<g id="a_node92"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2436" xlink:title="ZcashFoundation/zebra#2436&#10;Slim down `zebra&#45;consensu&#10;s/src/transaction.rs`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-290.5 276,-290.5 276,-237.5 508,-237.5 508,-290.5"/>
<text text-anchor="middle" x="392" y="-275.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2436</text>
<text text-anchor="middle" x="392" y="-260.3" font-family="Times,serif" font-size="14.00" fill="#000000">Slim down `zebra&#45;consensu</text>
<text text-anchor="middle" x="392" y="-245.3" font-family="Times,serif" font-size="14.00" fill="#000000">s/src/transaction.rs`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1432 -->
<g id="node93" class="node open">
<title>ZcashFoundation/zebra#1432</title>
<g id="a_node93"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1432" xlink:title="ZcashFoundation/zebra#1432&#10;Remove `zebra_state::Requ&#10;est::FindBlockHeaders`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-219.5 276,-219.5 276,-166.5 508,-166.5 508,-219.5"/>
<text text-anchor="middle" x="392" y="-204.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1432</text>
<text text-anchor="middle" x="392" y="-189.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove `zebra_state::Requ</text>
<text text-anchor="middle" x="392" y="-174.3" font-family="Times,serif" font-size="14.00" fill="#000000">est::FindBlockHeaders`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2847 -->
<g id="node94" class="node open">
<title>ZcashFoundation/zebra#2847</title>
<g id="a_node94"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2847" xlink:title="ZcashFoundation/zebra#2847&#10;Make config `Duration`&#10;easier to write in the&#10;toml file" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-148 276,-148 276,-80 508,-80 508,-148"/>
<text text-anchor="middle" x="392" y="-132.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2847</text>
<text text-anchor="middle" x="392" y="-117.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make config `Duration`</text>
<text text-anchor="middle" x="392" y="-102.8" font-family="Times,serif" font-size="14.00" fill="#000000">easier to write in the</text>
<text text-anchor="middle" x="392" y="-87.8" font-family="Times,serif" font-size="14.00" fill="#000000">toml file</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2559 -->
<g id="node95" class="node open">
<title>ZcashFoundation/zebra#2559</title>
<g id="a_node95"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2559" xlink:title="ZcashFoundation/zebra#2559&#10;Test History Tree errors&#10;in finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="508,-61.5 276,-61.5 276,-8.5 508,-8.5 508,-61.5"/>
<text text-anchor="middle" x="392" y="-46.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2559</text>
<text text-anchor="middle" x="392" y="-31.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree errors</text>
<text text-anchor="middle" x="392" y="-16.3" font-family="Times,serif" font-size="14.00" fill="#000000">in finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node98" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node98"><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,-6819.5 8,-6819.5 8,-6766.5 240,-6766.5 240,-6819.5"/>
<text text-anchor="middle" x="124" y="-6804.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-6789.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-6774.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node99" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node99"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1841" xlink:title="ZcashFoundation/zebra#1841&#10;NU5 Tracking Epic" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6876 8,-6876 8,-6838 240,-6838 240,-6876"/>
<text text-anchor="middle" x="124" y="-6860.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="124" y="-6845.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3990 -->
<g id="node100" class="node open">
<title>ZcashFoundation/zebra#3990</title>
<g id="a_node100"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/3990" xlink:title="ZcashFoundation/zebra#3990&#10;feat(rpc): Implement&#10;`z_gettreestate` RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6947.5 8,-6947.5 8,-6943.5 4,-6943.5 4,-6939.5 8,-6939.5 8,-6902.5 4,-6902.5 4,-6898.5 8,-6898.5 8,-6894.5 240,-6894.5 240,-6947.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-6943.5 12,-6943.5 12,-6939.5 8,-6939.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-6902.5 12,-6902.5 12,-6898.5 8,-6898.5 "/>
<text text-anchor="middle" x="124" y="-6932.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3990</text>
<text text-anchor="middle" x="124" y="-6917.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): Implement</text>
<text text-anchor="middle" x="124" y="-6902.3" font-family="Times,serif" font-size="14.00" fill="#000000">`z_gettreestate` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4303 -->
<g id="node101" class="node open">
<title>ZcashFoundation/zebra#4303</title>
<g id="a_node101"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4303" xlink:title="ZcashFoundation/zebra#4303&#10;change(test): Require&#10;cached lightwalletd state&#10;for the send transaction&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-7088.5 276,-7088.5 276,-7084.5 272,-7084.5 272,-7080.5 276,-7080.5 276,-7013.5 272,-7013.5 272,-7009.5 276,-7009.5 276,-7005.5 508,-7005.5 508,-7088.5"/>
<polyline fill="none" stroke="#000000" points="276,-7084.5 280,-7084.5 280,-7080.5 276,-7080.5 "/>
<polyline fill="none" stroke="#000000" points="276,-7013.5 280,-7013.5 280,-7009.5 276,-7009.5 "/>
<text text-anchor="middle" x="392" y="-7073.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4303</text>
<text text-anchor="middle" x="392" y="-7058.3" font-family="Times,serif" font-size="14.00" fill="#000000">change(test): Require</text>
<text text-anchor="middle" x="392" y="-7043.3" font-family="Times,serif" font-size="14.00" fill="#000000">cached lightwalletd state</text>
<text text-anchor="middle" x="392" y="-7028.3" font-family="Times,serif" font-size="14.00" fill="#000000">for the send transaction</text>
<text text-anchor="middle" x="392" y="-7013.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4340 -->
<g id="node102" class="node open">
<title>ZcashFoundation/zebra#4340</title>
<g id="a_node102"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4340" xlink:title="ZcashFoundation/zebra#4340&#10;ci: Require successful&#10;lightwalletd integration&#10;tests for PRs to merge" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-7081 544,-7081 544,-7013 776,-7013 776,-7081"/>
<text text-anchor="middle" x="660" y="-7065.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4340</text>
<text text-anchor="middle" x="660" y="-7050.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Require successful</text>
<text text-anchor="middle" x="660" y="-7035.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="660" y="-7020.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests for PRs to merge</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4303&#45;&gt;ZcashFoundation/zebra#4340 -->
<g id="edge33" class="edge">
<title>ZcashFoundation/zebra#4303&#45;&gt;ZcashFoundation/zebra#4340</title>
<path fill="none" stroke="#000000" d="M508.38,-7047C516.71,-7047 525.14,-7047 533.53,-7047"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-7050.5001 543.74,-7047 533.74,-7043.5001 533.74,-7050.5001"/>
</g>
<!-- ZcashFoundation/zebra#4268 -->
<g id="node103" class="node open">
<title>ZcashFoundation/zebra#4268</title>
<g id="a_node103"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4268" xlink:title="ZcashFoundation/zebra#4268&#10;feat(ci): add&#10;`lightwalletd_full_sync`&#10;test to CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-7034 8,-7034 8,-7030 4,-7030 4,-7026 8,-7026 8,-6974 4,-6974 4,-6970 8,-6970 8,-6966 240,-6966 240,-7034"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-7030 12,-7030 12,-7026 8,-7026 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-6974 12,-6974 12,-6970 8,-6970 "/>
<text text-anchor="middle" x="124" y="-7018.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4268</text>
<text text-anchor="middle" x="124" y="-7003.8" font-family="Times,serif" font-size="14.00" fill="#000000">feat(ci): add</text>
<text text-anchor="middle" x="124" y="-6988.8" font-family="Times,serif" font-size="14.00" fill="#000000">`lightwalletd_full_sync`</text>
<text text-anchor="middle" x="124" y="-6973.8" font-family="Times,serif" font-size="14.00" fill="#000000">test to CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4268&#45;&gt;ZcashFoundation/zebra#4303 -->
<g id="edge34" class="edge">
<title>ZcashFoundation/zebra#4268&#45;&gt;ZcashFoundation/zebra#4303</title>
<path fill="none" stroke="#000000" d="M240.38,-7020.4C248.81,-7021.9 257.33,-7023.4 265.81,-7024.9"/>
<polygon fill="#000000" stroke="#000000" points="265.2928,-7028.3623 275.74,-7026.6 266.474,-7021.4627 265.2928,-7028.3623"/>
</g>
<!-- ZcashFoundation/zebra#4269 -->
<g id="node104" class="node open">
<title>ZcashFoundation/zebra#4269</title>
<g id="a_node104"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4269" xlink:title="ZcashFoundation/zebra#4269&#10;feat(ci): add `lightwalle&#10;td_update_sync` test to&#10;CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-6987 276,-6987 276,-6983 272,-6983 272,-6979 276,-6979 276,-6927 272,-6927 272,-6923 276,-6923 276,-6919 508,-6919 508,-6987"/>
<polyline fill="none" stroke="#000000" points="276,-6983 280,-6983 280,-6979 276,-6979 "/>
<polyline fill="none" stroke="#000000" points="276,-6927 280,-6927 280,-6923 276,-6923 "/>
<text text-anchor="middle" x="392" y="-6971.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4269</text>
<text text-anchor="middle" x="392" y="-6956.8" font-family="Times,serif" font-size="14.00" fill="#000000">feat(ci): add `lightwalle</text>
<text text-anchor="middle" x="392" y="-6941.8" font-family="Times,serif" font-size="14.00" fill="#000000">td_update_sync` test to</text>
<text text-anchor="middle" x="392" y="-6926.8" font-family="Times,serif" font-size="14.00" fill="#000000">CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4268&#45;&gt;ZcashFoundation/zebra#4269 -->
<g id="edge35" class="edge">
<title>ZcashFoundation/zebra#4268&#45;&gt;ZcashFoundation/zebra#4269</title>
<path fill="none" stroke="#000000" d="M240.38,-6979.6C248.81,-6978.1 257.33,-6976.6 265.81,-6975.1"/>
<polygon fill="#000000" stroke="#000000" points="266.474,-6978.5373 275.74,-6973.4 265.2928,-6971.6377 266.474,-6978.5373"/>
</g>
<!-- ZcashFoundation/zebra#4355 -->
<g id="node105" class="node open">
<title>ZcashFoundation/zebra#4355</title>
<g id="a_node105"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4355" xlink:title="ZcashFoundation/zebra#4355&#10;fix(state): index&#10;spending transaction IDs&#10;for each address" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1044,-6249 812,-6249 812,-6245 808,-6245 808,-6241 812,-6241 812,-6189 808,-6189 808,-6185 812,-6185 812,-6181 1044,-6181 1044,-6249"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="812,-6245 816,-6245 816,-6241 812,-6241 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="812,-6189 816,-6189 816,-6185 812,-6185 "/>
<text text-anchor="middle" x="928" y="-6233.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4355</text>
<text text-anchor="middle" x="928" y="-6218.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(state): index</text>
<text text-anchor="middle" x="928" y="-6203.8" font-family="Times,serif" font-size="14.00" fill="#000000">spending transaction IDs</text>
<text text-anchor="middle" x="928" y="-6188.8" font-family="Times,serif" font-size="14.00" fill="#000000">for each address</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4355&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge36" class="edge">
<title>ZcashFoundation/zebra#4355&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M1017.2,-6249.1C1029,-6253.7 1040.8,-6258.4 1052,-6263 1077.3,-6273.4 1104.7,-6285 1129.6,-6295.9"/>
<polygon fill="#000000" stroke="#000000" points="1128.5317,-6299.2509 1139.1,-6300 1131.3055,-6292.8239 1128.5317,-6299.2509"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>