developers/zcash-zf-dag.html

1286 lines
99 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="1408pt" height="6845pt"
viewBox="0.00 0.00 1408.00 6845.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 6841)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-6841 1404,-6841 1404,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="288,0 288,-2774 536,-2774 536,0 288,0"/>
<text text-anchor="middle" x="412" y="-2758.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Tech Debt</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_7</title>
<polygon fill="none" stroke="#0000ff" points="0,-5266 0,-5545 1092,-5545 1092,-5266 0,-5266"/>
<text text-anchor="middle" x="546" y="-5529.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-6039 0,-6633 248,-6633 248,-6039 0,-6039"/>
<text text-anchor="middle" x="124" y="-6617.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Documentation</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_4</title>
<polygon fill="none" stroke="#0000ff" points="1112,-5303 1112,-5452 1400,-5452 1400,-5303 1112,-5303"/>
<text text-anchor="middle" x="1256" y="-5436.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_3</title>
<polygon fill="none" stroke="#0000ff" points="0,-2782 0,-3807 536,-3807 536,-2782 0,-2782"/>
<text text-anchor="middle" x="268" y="-3791.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Breaking Changes before the Stable Release</text>
</g>
<g id="clust6" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-3815 0,-5213 536,-5213 536,-3815 0,-3815"/>
<text text-anchor="middle" x="268" y="-5197.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Zebra as a Full&#45;Node Wallet</text>
</g>
<g id="clust7" class="cluster">
<title>cluster_5</title>
<polygon fill="none" stroke="#0000ff" points="268,-5553 268,-5945 556,-5945 556,-5553 268,-5553"/>
<text text-anchor="middle" x="412" y="-5929.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node1"><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="528,-2743 296,-2743 296,-2675 528,-2675 528,-2743"/>
<text text-anchor="middle" x="412" y="-2727.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="412" y="-2712.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="412" y="-2697.8" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="412" y="-2682.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node2"><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="528,-2657 296,-2657 296,-2589 528,-2589 528,-2657"/>
<text text-anchor="middle" x="412" y="-2641.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="412" y="-2626.8" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="412" y="-2611.8" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="412" y="-2596.8" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node3"><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="528,-2570.5 296,-2570.5 296,-2517.5 528,-2517.5 528,-2570.5"/>
<text text-anchor="middle" x="412" y="-2555.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="412" y="-2540.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="412" y="-2525.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node4"><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="528,-2499.5 296,-2499.5 296,-2446.5 528,-2446.5 528,-2499.5"/>
<text text-anchor="middle" x="412" y="-2484.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="412" y="-2469.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="412" y="-2454.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node5" class="node closed">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node5"><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="528,-2428.5 296,-2428.5 296,-2375.5 528,-2375.5 528,-2428.5"/>
<text text-anchor="middle" x="412" y="-2413.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="412" y="-2398.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="412" y="-2383.3" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node6"><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="528,-2357 296,-2357 296,-2289 528,-2289 528,-2357"/>
<text text-anchor="middle" x="412" y="-2341.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="412" y="-2326.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="412" y="-2311.8" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="412" y="-2296.8" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node7"><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="528,-2271 296,-2271 296,-2203 528,-2203 528,-2271"/>
<text text-anchor="middle" x="412" y="-2255.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="412" y="-2240.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="412" y="-2225.8" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="412" y="-2210.8" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node8"><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="528,-2185 296,-2185 296,-2117 528,-2117 528,-2185"/>
<text text-anchor="middle" x="412" y="-2169.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="412" y="-2154.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;chain: Port array&#45;</text>
<text text-anchor="middle" x="412" y="-2139.8" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="412" y="-2124.8" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2892 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#2892</title>
<g id="a_node9"><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="528,-2098.5 296,-2098.5 296,-2045.5 528,-2045.5 528,-2098.5"/>
<text text-anchor="middle" x="412" y="-2083.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2892</text>
<text text-anchor="middle" x="412" y="-2068.3" font-family="Times,serif" font-size="14.00" fill="#000000">Go over all `cargo doc`</text>
<text text-anchor="middle" x="412" y="-2053.3" font-family="Times,serif" font-size="14.00" fill="#000000">warnings</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#483 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#483</title>
<g id="a_node10"><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="523.5,-2027.5 300.5,-2027.5 300.5,-1974.5 523.5,-1974.5 523.5,-2027.5"/>
<text text-anchor="middle" x="412" y="-2012.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#483</text>
<text text-anchor="middle" x="412" y="-1997.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit generated block and</text>
<text text-anchor="middle" x="412" y="-1982.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3372 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#3372</title>
<g id="a_node11"><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="528,-1956.5 296,-1956.5 296,-1903.5 528,-1903.5 528,-1956.5"/>
<text text-anchor="middle" x="412" y="-1941.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3372</text>
<text text-anchor="middle" x="412" y="-1926.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use clap v3 instead of</text>
<text text-anchor="middle" x="412" y="-1911.3" font-family="Times,serif" font-size="14.00" fill="#000000">structopt</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3436 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#3436</title>
<g id="a_node12"><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="528,-1885 296,-1885 296,-1817 528,-1817 528,-1885"/>
<text text-anchor="middle" x="412" y="-1869.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3436</text>
<text text-anchor="middle" x="412" y="-1854.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create wrapper for</text>
<text text-anchor="middle" x="412" y="-1839.8" font-family="Times,serif" font-size="14.00" fill="#000000">`precomputed` in</text>
<text text-anchor="middle" x="412" y="-1824.8" font-family="Times,serif" font-size="14.00" fill="#000000">`CachedFfiTransaction`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#565 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#565</title>
<g id="a_node13"><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="523.5,-1798.5 300.5,-1798.5 300.5,-1745.5 523.5,-1745.5 523.5,-1798.5"/>
<text text-anchor="middle" x="412" y="-1783.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#565</text>
<text text-anchor="middle" x="412" y="-1768.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: all the</text>
<text text-anchor="middle" x="412" y="-1753.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2298 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#2298</title>
<g id="a_node14"><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="528,-1727.5 296,-1727.5 296,-1644.5 528,-1644.5 528,-1727.5"/>
<text text-anchor="middle" x="412" y="-1712.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2298</text>
<text text-anchor="middle" x="412" y="-1697.3" font-family="Times,serif" font-size="14.00" fill="#000000">Coverage&#45;based fuzzing</text>
<text text-anchor="middle" x="412" y="-1682.3" font-family="Times,serif" font-size="14.00" fill="#000000">for transaction</text>
<text text-anchor="middle" x="412" y="-1667.3" font-family="Times,serif" font-size="14.00" fill="#000000">processing,</text>
<text text-anchor="middle" x="412" y="-1652.3" font-family="Times,serif" font-size="14.00" fill="#000000">(de)serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node15"><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="528,-1626 296,-1626 296,-1558 528,-1558 528,-1626"/>
<text text-anchor="middle" x="412" y="-1610.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="412" y="-1595.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="412" y="-1580.8" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="412" y="-1565.8" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2090 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#2090</title>
<g id="a_node16"><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="528,-1539.5 296,-1539.5 296,-1486.5 528,-1486.5 528,-1539.5"/>
<text text-anchor="middle" x="412" y="-1524.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2090</text>
<text text-anchor="middle" x="412" y="-1509.3" font-family="Times,serif" font-size="14.00" fill="#000000">Auto&#45;delete old Google</text>
<text text-anchor="middle" x="412" y="-1494.3" font-family="Times,serif" font-size="14.00" fill="#000000">Cloud instance templates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2220 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#2220</title>
<g id="a_node17"><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="528,-1468 296,-1468 296,-1400 528,-1400 528,-1468"/>
<text text-anchor="middle" x="412" y="-1452.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2220</text>
<text text-anchor="middle" x="412" y="-1437.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add the Google Cloud</text>
<text text-anchor="middle" x="412" y="-1422.8" font-family="Times,serif" font-size="14.00" fill="#000000">Instance ID to Sentry, so</text>
<text text-anchor="middle" x="412" 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="node18" class="node open">
<title>ZcashFoundation/zebra#2869</title>
<g id="a_node18"><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="528,-1381.5 296,-1381.5 296,-1328.5 528,-1328.5 528,-1381.5"/>
<text text-anchor="middle" x="412" y="-1366.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2869</text>
<text text-anchor="middle" x="412" y="-1351.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add mempool metrics</text>
<text text-anchor="middle" x="412" 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="node19" class="node open">
<title>ZcashFoundation/zebra#2632</title>
<g id="a_node19"><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="528,-1310 296,-1310 296,-1242 528,-1242 528,-1310"/>
<text text-anchor="middle" x="412" y="-1294.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2632</text>
<text text-anchor="middle" x="412" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve performance of</text>
<text text-anchor="middle" x="412" y="-1264.8" font-family="Times,serif" font-size="14.00" fill="#000000">authorizing data</text>
<text text-anchor="middle" x="412" y="-1249.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2297 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#2297</title>
<g id="a_node20"><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="528,-1223.5 296,-1223.5 296,-1170.5 528,-1170.5 528,-1223.5"/>
<text text-anchor="middle" x="412" y="-1208.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2297</text>
<text text-anchor="middle" x="412" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="#000000">Enforce unwrap&#45;pertinent</text>
<text text-anchor="middle" x="412" y="-1178.3" font-family="Times,serif" font-size="14.00" fill="#000000">Clippy lints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1186 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#1186</title>
<g id="a_node21"><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="528,-1152.5 296,-1152.5 296,-1099.5 528,-1099.5 528,-1152.5"/>
<text text-anchor="middle" x="412" y="-1137.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1186</text>
<text text-anchor="middle" x="412" y="-1122.3" font-family="Times,serif" font-size="14.00" fill="#000000">Dedupe Verification error</text>
<text text-anchor="middle" x="412" 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="node22" class="node open">
<title>ZcashFoundation/zebra#3831</title>
<g id="a_node22"><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="528,-1081.5 296,-1081.5 296,-1028.5 528,-1028.5 528,-1081.5"/>
<text text-anchor="middle" x="412" y="-1066.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3831</text>
<text text-anchor="middle" x="412" y="-1051.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove duplicated</text>
<text text-anchor="middle" x="412" y="-1036.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2299 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#2299</title>
<g id="a_node23"><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="528,-1010.5 296,-1010.5 296,-927.5 528,-927.5 528,-1010.5"/>
<text text-anchor="middle" x="412" y="-995.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2299</text>
<text text-anchor="middle" x="412" y="-980.3" font-family="Times,serif" font-size="14.00" fill="#000000">Coverage&#45;based fuzzing</text>
<text text-anchor="middle" x="412" y="-965.3" font-family="Times,serif" font-size="14.00" fill="#000000">for network message</text>
<text text-anchor="middle" x="412" y="-950.3" font-family="Times,serif" font-size="14.00" fill="#000000">processing,</text>
<text text-anchor="middle" x="412" y="-935.3" font-family="Times,serif" font-size="14.00" fill="#000000">(de)serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node24"><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="528,-909.5 296,-909.5 296,-826.5 528,-826.5 528,-909.5"/>
<text text-anchor="middle" x="412" y="-894.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="412" y="-879.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="412" y="-864.3" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="412" y="-849.3" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="412" y="-834.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1364 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#1364</title>
<g id="a_node25"><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="528,-808 296,-808 296,-740 528,-740 528,-808"/>
<text text-anchor="middle" x="412" y="-792.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1364</text>
<text text-anchor="middle" x="412" y="-777.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a CI job which</text>
<text text-anchor="middle" x="412" y="-762.8" font-family="Times,serif" font-size="14.00" fill="#000000">compiles each Zebra crate</text>
<text text-anchor="middle" x="412" y="-747.8" font-family="Times,serif" font-size="14.00" fill="#000000">individually</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3179 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#3179</title>
<g id="a_node26"><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="528,-722 296,-722 296,-654 528,-654 528,-722"/>
<text text-anchor="middle" x="412" y="-706.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3179</text>
<text text-anchor="middle" x="412" y="-691.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use a `bellman::Proof`</text>
<text text-anchor="middle" x="412" y="-676.8" font-family="Times,serif" font-size="14.00" fill="#000000">instead of a byte array</text>
<text text-anchor="middle" x="412" y="-661.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `Groth16Proof`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2587 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#2587</title>
<g id="a_node27"><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="528,-636 296,-636 296,-568 528,-568 528,-636"/>
<text text-anchor="middle" x="412" y="-620.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2587</text>
<text text-anchor="middle" x="412" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">Clean up History Tree</text>
<text text-anchor="middle" x="412" y="-590.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (network,</text>
<text text-anchor="middle" x="412" y="-575.8" font-family="Times,serif" font-size="14.00" fill="#000000">network_upgrade)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#3117</title>
<g id="a_node28"><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="528,-549.5 296,-549.5 296,-496.5 528,-496.5 528,-549.5"/>
<text text-anchor="middle" x="412" y="-534.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3117</text>
<text text-anchor="middle" x="412" y="-519.3" font-family="Times,serif" font-size="14.00" fill="#000000">Stop using private IP</text>
<text text-anchor="middle" x="412" 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="node29" class="node open">
<title>ZcashFoundation/zebra#1951</title>
<g id="a_node29"><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="528,-478.5 296,-478.5 296,-395.5 528,-395.5 528,-478.5"/>
<text text-anchor="middle" x="412" y="-463.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1951</text>
<text text-anchor="middle" x="412" y="-448.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalize/deduplicate</text>
<text text-anchor="middle" x="412" y="-433.3" font-family="Times,serif" font-size="14.00" fill="#000000">async batch verification</text>
<text text-anchor="middle" x="412" y="-418.3" font-family="Times,serif" font-size="14.00" fill="#000000">services / create a</text>
<text text-anchor="middle" x="412" 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="node30" class="node open">
<title>ZcashFoundation/zebra#2909</title>
<g id="a_node30"><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="528,-377 296,-377 296,-309 528,-309 528,-377"/>
<text text-anchor="middle" x="412" y="-361.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2909</text>
<text text-anchor="middle" x="412" y="-346.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if the block</text>
<text text-anchor="middle" x="412" y="-331.8" font-family="Times,serif" font-size="14.00" fill="#000000">downloader and verifier</text>
<text text-anchor="middle" x="412" 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="node31" class="node open">
<title>ZcashFoundation/zebra#2436</title>
<g id="a_node31"><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="528,-290.5 296,-290.5 296,-237.5 528,-237.5 528,-290.5"/>
<text text-anchor="middle" x="412" y="-275.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2436</text>
<text text-anchor="middle" x="412" y="-260.3" font-family="Times,serif" font-size="14.00" fill="#000000">Slim down `zebra&#45;consensu</text>
<text text-anchor="middle" x="412" 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="node32" class="node open">
<title>ZcashFoundation/zebra#1432</title>
<g id="a_node32"><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="528,-219.5 296,-219.5 296,-166.5 528,-166.5 528,-219.5"/>
<text text-anchor="middle" x="412" y="-204.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1432</text>
<text text-anchor="middle" x="412" y="-189.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove `zebra_state::Requ</text>
<text text-anchor="middle" x="412" y="-174.3" font-family="Times,serif" font-size="14.00" fill="#000000">est::FindBlockHeaders`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2847 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#2847</title>
<g id="a_node33"><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="528,-148 296,-148 296,-80 528,-80 528,-148"/>
<text text-anchor="middle" x="412" y="-132.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2847</text>
<text text-anchor="middle" x="412" y="-117.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make config `Duration`</text>
<text text-anchor="middle" x="412" y="-102.8" font-family="Times,serif" font-size="14.00" fill="#000000">easier to write in the</text>
<text text-anchor="middle" x="412" y="-87.8" font-family="Times,serif" font-size="14.00" fill="#000000">toml file</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2559 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#2559</title>
<g id="a_node34"><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="528,-61.5 296,-61.5 296,-8.5 528,-8.5 528,-61.5"/>
<text text-anchor="middle" x="412" y="-46.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2559</text>
<text text-anchor="middle" x="412" y="-31.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree errors</text>
<text text-anchor="middle" x="412" y="-16.3" font-family="Times,serif" font-size="14.00" fill="#000000">in finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3414 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#3414</title>
<g id="a_node35"><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="528,-5342 296,-5342 296,-5274 528,-5274 528,-5342"/>
<text text-anchor="middle" x="412" y="-5326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3414</text>
<text text-anchor="middle" x="412" y="-5311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrade to NU5 mainnet</text>
<text text-anchor="middle" x="412" y="-5296.8" font-family="Times,serif" font-size="14.00" fill="#000000">version of orchard and</text>
<text text-anchor="middle" x="412" y="-5281.8" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3948 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#3948</title>
<g id="a_node36"><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="816,-5420.5 584,-5420.5 584,-5367.5 816,-5367.5 816,-5420.5"/>
<text text-anchor="middle" x="700" y="-5405.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3948</text>
<text text-anchor="middle" x="700" y="-5390.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra NU5 mainnet</text>
<text text-anchor="middle" x="700" y="-5375.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="edge1" class="edge">
<title>ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#3948</title>
<path fill="none" stroke="#000000" d="M526.24,-5342.1C551.08,-5349.5 577.17,-5357.3 601.35,-5364.5"/>
<polygon fill="#000000" stroke="#000000" points="600.6445,-5367.9435 611.23,-5367.5 602.6783,-5361.2455 600.6445,-5367.9435"/>
</g>
<!-- ZcashFoundation/zebra#4390 -->
<g id="node89" class="node open">
<title>ZcashFoundation/zebra#4390</title>
<g id="a_node89"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4390" xlink:title="ZcashFoundation/zebra#4390&#10;change: set NU5 mainnet&#10;activation height and&#10;current network protocol&#10;version" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="816,-5257.5 584,-5257.5 584,-5253.5 580,-5253.5 580,-5249.5 584,-5249.5 584,-5182.5 580,-5182.5 580,-5178.5 584,-5178.5 584,-5174.5 816,-5174.5 816,-5257.5"/>
<polyline fill="none" stroke="#000000" points="584,-5253.5 588,-5253.5 588,-5249.5 584,-5249.5 "/>
<polyline fill="none" stroke="#000000" points="584,-5182.5 588,-5182.5 588,-5178.5 584,-5178.5 "/>
<text text-anchor="middle" x="700" y="-5242.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4390</text>
<text text-anchor="middle" x="700" y="-5227.3" font-family="Times,serif" font-size="14.00" fill="#000000">change: set NU5 mainnet</text>
<text text-anchor="middle" x="700" y="-5212.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation height and</text>
<text text-anchor="middle" x="700" y="-5197.3" font-family="Times,serif" font-size="14.00" fill="#000000">current network protocol</text>
<text text-anchor="middle" x="700" y="-5182.3" font-family="Times,serif" font-size="14.00" fill="#000000">version</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#4390 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#3414&#45;&gt;ZcashFoundation/zebra#4390</title>
<path fill="none" stroke="#000000" d="M518.83,-5273.9C536.83,-5268.1 555.65,-5262.1 574.08,-5256.2"/>
<polygon fill="#000000" stroke="#000000" points="575.1711,-5259.526 583.67,-5253.2 573.0811,-5252.8453 575.1711,-5259.526"/>
</g>
<!-- ZcashFoundation/zebra#4117 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#4117</title>
<g id="a_node37"><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="1084,-5459 852,-5459 852,-5391 1084,-5391 1084,-5459"/>
<text text-anchor="middle" x="968" y="-5443.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4117</text>
<text text-anchor="middle" x="968" y="-5428.8" font-family="Times,serif" font-size="14.00" fill="#000000">Set the minimum network</text>
<text text-anchor="middle" x="968" y="-5413.8" font-family="Times,serif" font-size="14.00" fill="#000000">protocol version to</text>
<text text-anchor="middle" x="968" y="-5398.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="edge2" class="edge">
<title>ZcashFoundation/zebra#3948&#45;&gt;ZcashFoundation/zebra#4117</title>
<path fill="none" stroke="#000000" d="M816.38,-5407.5C824.71,-5408.4 833.14,-5409.4 841.53,-5410.4"/>
<polygon fill="#000000" stroke="#000000" points="841.3998,-5413.9087 851.74,-5411.6 842.2169,-5406.9566 841.3998,-5413.9087"/>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node48"><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="1372,-5420.5 1140,-5420.5 1140,-5367.5 1372,-5367.5 1372,-5420.5"/>
<text text-anchor="middle" x="1256" y="-5405.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="1256" y="-5390.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0&#45;rc1</text>
<text text-anchor="middle" x="1256" y="-5375.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="edge15" class="edge">
<title>ZcashFoundation/zebra#3948&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M816.13,-5383.9C828.23,-5383.1 840.36,-5382.5 852,-5382 958.58,-5377.8 985.4,-5378.1 1092,-5382 1104.2,-5382.4 1116.8,-5383.1 1129.5,-5383.8"/>
<polygon fill="#000000" stroke="#000000" points="1129.41,-5387.3007 1139.6,-5384.4 1129.8252,-5380.3131 1129.41,-5387.3007"/>
</g>
<!-- ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M1084.3,-5412.5C1099.2,-5410.9 1114.4,-5409.2 1129.4,-5407.6"/>
<polygon fill="#000000" stroke="#000000" points="1130.1282,-5411.0422 1139.7,-5406.5 1129.3848,-5404.0818 1130.1282,-5411.0422"/>
</g>
<!-- ZcashFoundation/zebra#2372 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#2372</title>
<g id="a_node38"><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="528,-5514 296,-5514 296,-5446 528,-5446 528,-5514"/>
<text text-anchor="middle" x="412" y="-5498.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2372</text>
<text text-anchor="middle" x="412" y="-5483.8" font-family="Times,serif" font-size="14.00" fill="#000000"> Update the README goals</text>
<text text-anchor="middle" x="412" y="-5468.8" font-family="Times,serif" font-size="14.00" fill="#000000">and scope for NU5 mainnet</text>
<text text-anchor="middle" x="412" y="-5453.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="edge3" class="edge">
<title>ZcashFoundation/zebra#2372&#45;&gt;ZcashFoundation/zebra#3948</title>
<path fill="none" stroke="#000000" d="M526.24,-5445.9C551.08,-5438.5 577.17,-5430.7 601.35,-5423.5"/>
<polygon fill="#000000" stroke="#000000" points="602.6783,-5426.7545 611.23,-5420.5 600.6445,-5420.0565 602.6783,-5426.7545"/>
</g>
<!-- ZcashFoundation/zebra#4115 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#4115</title>
<g id="a_node39"><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="528,-5428 296,-5428 296,-5360 528,-5360 528,-5428"/>
<text text-anchor="middle" x="412" y="-5412.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4115</text>
<text text-anchor="middle" x="412" y="-5397.8" font-family="Times,serif" font-size="14.00" fill="#000000">Set the NU5 mainnet</text>
<text text-anchor="middle" x="412" y="-5382.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation height and</text>
<text text-anchor="middle" x="412" y="-5367.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="edge4" class="edge">
<title>ZcashFoundation/zebra#4115&#45;&gt;ZcashFoundation/zebra#3948</title>
<path fill="none" stroke="#000000" d="M528.31,-5394C543.15,-5394 558.4,-5394 573.39,-5394"/>
<polygon fill="#000000" stroke="#000000" points="573.72,-5397.5001 583.72,-5394 573.72,-5390.5001 573.72,-5397.5001"/>
</g>
<!-- ZcashFoundation/zebra#4335 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#4335</title>
<g id="a_node40"><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,-5342 8,-5342 8,-5274 240,-5274 240,-5342"/>
<text text-anchor="middle" x="124" y="-5326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4335</text>
<text text-anchor="middle" x="124" y="-5311.8" font-family="Times,serif" font-size="14.00" fill="#000000"> Upgrade librustzcash&#45;</text>
<text text-anchor="middle" x="124" y="-5296.8" font-family="Times,serif" font-size="14.00" fill="#000000">related crypto</text>
<text text-anchor="middle" x="124" y="-5281.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="edge5" class="edge">
<title>ZcashFoundation/zebra#4335&#45;&gt;ZcashFoundation/zebra#3414</title>
<path fill="none" stroke="#000000" d="M240.31,-5308C255.15,-5308 270.4,-5308 285.39,-5308"/>
<polygon fill="#000000" stroke="#000000" points="285.72,-5311.5001 295.72,-5308 285.72,-5304.5001 285.72,-5311.5001"/>
</g>
<!-- ZcashFoundation/zebra#4335&#45;&gt;ZcashFoundation/zebra#4390 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#4335&#45;&gt;ZcashFoundation/zebra#4390</title>
<path fill="none" stroke="#000000" d="M230.41,-5273.9C243,-5270.6 255.73,-5267.5 268,-5265 369.72,-5244.2 486.86,-5231.6 573.47,-5224.4"/>
<polygon fill="#000000" stroke="#000000" points="573.9163,-5227.8758 583.61,-5223.6 573.3657,-5220.8974 573.9163,-5227.8758"/>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node41"><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,-6602 8,-6602 8,-6564 240,-6564 240,-6602"/>
<text text-anchor="middle" x="124" y="-6586.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="124" y="-6571.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3318 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#3318</title>
<g id="a_node42"><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,-6545.5 8,-6545.5 8,-6492.5 240,-6492.5 240,-6545.5"/>
<text text-anchor="middle" x="124" y="-6530.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3318</text>
<text text-anchor="middle" x="124" y="-6515.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider adding codespell</text>
<text text-anchor="middle" x="124" y="-6500.3" font-family="Times,serif" font-size="14.00" fill="#000000">to the CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4202 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#4202</title>
<g id="a_node43"><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,-6474.5 8,-6474.5 8,-6421.5 240,-6421.5 240,-6474.5"/>
<text text-anchor="middle" x="124" y="-6459.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4202</text>
<text text-anchor="middle" x="124" y="-6444.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to handle</text>
<text text-anchor="middle" x="124" y="-6429.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrades</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2972 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#2972</title>
<g id="a_node44"><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,-6403 8,-6403 8,-6335 240,-6335 240,-6403"/>
<text text-anchor="middle" x="124" y="-6387.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2972</text>
<text text-anchor="middle" x="124" y="-6372.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="-6357.8" font-family="Times,serif" font-size="14.00" fill="#000000">discover how to configure</text>
<text text-anchor="middle" x="124" y="-6342.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2191 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#2191</title>
<g id="a_node45"><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,-6317 8,-6317 8,-6249 240,-6249 240,-6317"/>
<text text-anchor="middle" x="124" y="-6301.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2191</text>
<text text-anchor="middle" x="124" y="-6286.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update user and dev</text>
<text text-anchor="middle" x="124" y="-6271.8" font-family="Times,serif" font-size="14.00" fill="#000000">instructions in the Zebra</text>
<text text-anchor="middle" x="124" y="-6256.8" font-family="Times,serif" font-size="14.00" fill="#000000">Book to deduplicate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2740 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#2740</title>
<g id="a_node46"><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,-6231 8,-6231 8,-6133 240,-6133 240,-6231"/>
<text text-anchor="middle" x="124" y="-6215.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2740</text>
<text text-anchor="middle" x="124" y="-6200.8" font-family="Times,serif" font-size="14.00" fill="#000000">Documentation: adapt</text>
<text text-anchor="middle" x="124" y="-6185.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra architecture blog</text>
<text text-anchor="middle" x="124" y="-6170.8" font-family="Times,serif" font-size="14.00" fill="#000000">posts into zebrad</text>
<text text-anchor="middle" x="124" y="-6155.8" font-family="Times,serif" font-size="14.00" fill="#000000">overview for devs in the</text>
<text text-anchor="middle" x="124" y="-6140.8" font-family="Times,serif" font-size="14.00" fill="#000000">book</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1772 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#1772</title>
<g id="a_node47"><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,-6115 8,-6115 8,-6047 240,-6047 240,-6115"/>
<text text-anchor="middle" x="124" y="-6099.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1772</text>
<text text-anchor="middle" x="124" y="-6084.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add comments on how to</text>
<text text-anchor="middle" x="124" y="-6069.8" font-family="Times,serif" font-size="14.00" fill="#000000">configure metric and</text>
<text text-anchor="middle" x="124" y="-6054.8" font-family="Times,serif" font-size="14.00" fill="#000000">tracing endpoints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2995 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#2995</title>
<g id="a_node49"><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="1372,-5349 1140,-5349 1140,-5311 1372,-5311 1372,-5349"/>
<text text-anchor="middle" x="1256" y="-5333.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2995</text>
<text text-anchor="middle" x="1256" y="-5318.8" font-family="Times,serif" font-size="14.00" fill="#000000">Speed up Zebra&#39;s CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node50"><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,-3776 8,-3776 8,-3708 240,-3708 240,-3776"/>
<text text-anchor="middle" x="124" y="-3760.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="124" y="-3745.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="124" y="-3730.8" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="124" y="-3715.8" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node51"><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="528,-3775.5 296,-3775.5 296,-3692.5 528,-3692.5 528,-3775.5"/>
<text text-anchor="middle" x="412" y="-3760.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="412" y="-3745.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="412" y="-3730.3" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="412" y="-3715.3" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="412" y="-3700.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="edge6" class="edge">
<title>ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432</title>
<path fill="none" stroke="#000000" d="M240.31,-3738.8C255.15,-3738.4 270.4,-3737.9 285.39,-3737.5"/>
<polygon fill="#000000" stroke="#000000" points="285.8259,-3740.9889 295.72,-3737.2 285.6226,-3733.9919 285.8259,-3740.9889"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node52"><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,-3690 8,-3690 8,-3622 240,-3622 240,-3690"/>
<text text-anchor="middle" x="124" y="-3674.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="124" y="-3659.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="124" y="-3644.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="124" y="-3629.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node53"><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,-3604 12.5,-3604 12.5,-3536 235.5,-3536 235.5,-3604"/>
<text text-anchor="middle" x="124" y="-3588.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="124" y="-3573.8" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="124" y="-3558.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="124" y="-3543.8" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node54"><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,-3518 8,-3518 8,-3450 240,-3450 240,-3518"/>
<text text-anchor="middle" x="124" y="-3502.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="124" y="-3487.8" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="124" y="-3472.8" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="124" y="-3457.8" font-family="Times,serif" font-size="14.00" fill="#000000">show Zebra nodes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M239.52,-3449.7C242.62,-3446.8 245.46,-3443.5 248,-3440 280.6,-3394.8 233.12,-2480.5 268,-2437 273.44,-2430.2 279.95,-2424.6 287.16,-2420"/>
<polygon fill="#000000" stroke="#000000" points="288.9641,-2423.0003 295.91,-2415 285.4911,-2416.9226 288.9641,-2423.0003"/>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node55"><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,-3431.5 8,-3431.5 8,-3378.5 240,-3378.5 240,-3431.5"/>
<text text-anchor="middle" x="124" y="-3416.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="124" y="-3401.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revise Release Process</text>
<text text-anchor="middle" x="124" y="-3386.3" font-family="Times,serif" font-size="14.00" fill="#000000">RFC Draft</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node56"><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,-3360.5 8,-3360.5 8,-3307.5 240,-3307.5 240,-3360.5"/>
<text text-anchor="middle" x="124" y="-3345.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="124" y="-3330.3" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="124" y="-3315.3" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node57"><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,-3289 8,-3289 8,-3221 240,-3221 240,-3289"/>
<text text-anchor="middle" x="124" y="-3273.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-3258.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra stable download</text>
<text text-anchor="middle" x="124" y="-3243.8" font-family="Times,serif" font-size="14.00" fill="#000000">should be linked from</text>
<text text-anchor="middle" x="124" y="-3228.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1213 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#1213</title>
<g id="a_node58"><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,-3203 8,-3203 8,-3135 240,-3135 240,-3203"/>
<text text-anchor="middle" x="124" y="-3187.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1213</text>
<text text-anchor="middle" x="124" y="-3172.8" font-family="Times,serif" font-size="14.00" fill="#000000">Detect when an older</text>
<text text-anchor="middle" x="124" y="-3157.8" font-family="Times,serif" font-size="14.00" fill="#000000">state version is present,</text>
<text text-anchor="middle" x="124" y="-3142.8" font-family="Times,serif" font-size="14.00" fill="#000000">and delete it</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1621 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#1621</title>
<g id="a_node59"><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,-3117 8,-3117 8,-3049 240,-3049 240,-3117"/>
<text text-anchor="middle" x="124" y="-3101.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1621</text>
<text text-anchor="middle" x="124" y="-3086.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run `zebrad start` by</text>
<text text-anchor="middle" x="124" y="-3071.8" font-family="Times,serif" font-size="14.00" fill="#000000">default, and add `start`</text>
<text text-anchor="middle" x="124" y="-3056.8" font-family="Times,serif" font-size="14.00" fill="#000000">to `zebrad help`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1617 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#1617</title>
<g id="a_node60"><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,-3030.5 8,-3030.5 8,-2947.5 240,-2947.5 240,-3030.5"/>
<text text-anchor="middle" x="124" y="-3015.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1617</text>
<text text-anchor="middle" x="124" y="-3000.3" font-family="Times,serif" font-size="14.00" fill="#000000">Restructure and clean up</text>
<text text-anchor="middle" x="124" y="-2985.3" font-family="Times,serif" font-size="14.00" fill="#000000">README to make it easier</text>
<text text-anchor="middle" x="124" y="-2970.3" font-family="Times,serif" font-size="14.00" fill="#000000">for new users to get</text>
<text text-anchor="middle" x="124" y="-2955.3" font-family="Times,serif" font-size="14.00" fill="#000000">started with Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node61" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node61"><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,-2929.5 8,-2929.5 8,-2876.5 240,-2876.5 240,-2929.5"/>
<text text-anchor="middle" x="124" y="-2914.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="124" y="-2899.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="124" y="-2884.3" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1870 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#1870</title>
<g id="a_node62"><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,-2858 8,-2858 8,-2790 240,-2790 240,-2858"/>
<text text-anchor="middle" x="124" y="-2842.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1870</text>
<text text-anchor="middle" x="124" y="-2827.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if old Zebra</text>
<text text-anchor="middle" x="124" y="-2812.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions should</text>
<text text-anchor="middle" x="124" y="-2797.8" font-family="Times,serif" font-size="14.00" fill="#000000">eventually refuse to run</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node63" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node63"><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,-5181.5 12.5,-5181.5 12.5,-5128.5 235.5,-5128.5 235.5,-5181.5"/>
<text text-anchor="middle" x="124" y="-5166.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="124" y="-5151.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Key Agreement and</text>
<text text-anchor="middle" x="124" y="-5136.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node64"><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="523.5,-5110.5 300.5,-5110.5 300.5,-5057.5 523.5,-5057.5 523.5,-5110.5"/>
<text text-anchor="middle" x="412" y="-5095.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="412" y="-5080.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note encryption</text>
<text text-anchor="middle" x="412" y="-5065.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="edge7" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M229.75,-5128.5C242.64,-5125.3 255.61,-5122.1 268,-5119 275.99,-5117 284.23,-5115 292.54,-5113"/>
<polygon fill="#000000" stroke="#000000" points="293.4251,-5116.3867 302.3,-5110.6 291.7535,-5109.5892 293.4251,-5116.3867"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node65" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node65"><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="528,-5181.5 296,-5181.5 296,-5128.5 528,-5128.5 528,-5181.5"/>
<text text-anchor="middle" x="412" y="-5166.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="412" y="-5151.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="412" y="-5136.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M235.76,-5155C252,-5155 268.81,-5155 285.31,-5155"/>
<polygon fill="#000000" stroke="#000000" points="285.54,-5158.5001 295.54,-5155 285.54,-5151.5001 285.54,-5158.5001"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node66"><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,-5110 12.5,-5110 12.5,-5072 235.5,-5072 235.5,-5110"/>
<text text-anchor="middle" x="124" y="-5094.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="124" y="-5079.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#267 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#267</title>
<g id="a_node67"><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,-5054 12.5,-5054 12.5,-4986 235.5,-4986 235.5,-5054"/>
<text text-anchor="middle" x="124" y="-5038.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#267</text>
<text text-anchor="middle" x="124" y="-5023.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;32 Sapling</text>
<text text-anchor="middle" x="124" y="-5008.8" font-family="Times,serif" font-size="14.00" fill="#000000">and Orchard key</text>
<text text-anchor="middle" x="124" y="-4993.8" font-family="Times,serif" font-size="14.00" fill="#000000">derivation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2064 -->
<g id="node68" class="node open">
<title>ZcashFoundation/zebra#2064</title>
<g id="a_node68"><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,-4967.5 8,-4967.5 8,-4914.5 240,-4914.5 240,-4967.5"/>
<text text-anchor="middle" x="124" y="-4952.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2064</text>
<text text-anchor="middle" x="124" y="-4937.3" font-family="Times,serif" font-size="14.00" fill="#000000">Import Poseidon hash into</text>
<text text-anchor="middle" x="124" y="-4922.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2192 -->
<g id="node69" class="node open">
<title>ZcashFoundation/zebra#2192</title>
<g id="a_node69"><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,-4896.5 8,-4896.5 8,-4813.5 240,-4813.5 240,-4896.5"/>
<text text-anchor="middle" x="124" y="-4881.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2192</text>
<text text-anchor="middle" x="124" y="-4866.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="124" y="-4851.3" font-family="Times,serif" font-size="14.00" fill="#000000">`EphemeralPrivateKey`&#39;s</text>
<text text-anchor="middle" x="124" y="-4836.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard, Sapling,</text>
<text text-anchor="middle" x="124" y="-4821.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#181 -->
<g id="node70" class="node open">
<title>ZcashFoundation/zebra#181</title>
<g id="a_node70"><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,-4795 12.5,-4795 12.5,-4727 235.5,-4727 235.5,-4795"/>
<text text-anchor="middle" x="124" y="-4779.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#181</text>
<text text-anchor="middle" x="124" y="-4764.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout note</text>
<text text-anchor="middle" x="124" y="-4749.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption/decryption</text>
<text text-anchor="middle" x="124" y="-4734.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#785 -->
<g id="node71" class="node open">
<title>ZcashFoundation/zebra#785</title>
<g id="a_node71"><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,-4708.5 12.5,-4708.5 12.5,-4625.5 235.5,-4625.5 235.5,-4708.5"/>
<text text-anchor="middle" x="124" y="-4693.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#785</text>
<text text-anchor="middle" x="124" y="-4678.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 212: Allow</text>
<text text-anchor="middle" x="124" y="-4663.3" font-family="Times,serif" font-size="14.00" fill="#000000">Recipient to Derive</text>
<text text-anchor="middle" x="124" y="-4648.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Ephemeral Secret</text>
<text text-anchor="middle" x="124" y="-4633.3" font-family="Times,serif" font-size="14.00" fill="#000000">from Note Plaintext</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#321 -->
<g id="node72" class="node open">
<title>ZcashFoundation/zebra#321</title>
<g id="a_node72"><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,-4607 12.5,-4607 12.5,-4569 235.5,-4569 235.5,-4607"/>
<text text-anchor="middle" x="124" y="-4591.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#321</text>
<text text-anchor="middle" x="124" y="-4576.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Output Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#272 -->
<g id="node73" class="node open">
<title>ZcashFoundation/zebra#272</title>
<g id="a_node73"><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,-4550.5 12.5,-4550.5 12.5,-4497.5 235.5,-4497.5 235.5,-4550.5"/>
<text text-anchor="middle" x="124" y="-4535.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#272</text>
<text text-anchor="middle" x="124" y="-4520.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout Key Agreement and</text>
<text text-anchor="middle" x="124" y="-4505.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2496 -->
<g id="node74" class="node open">
<title>ZcashFoundation/zebra#2496</title>
<g id="a_node74"><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,-4479.5 8,-4479.5 8,-4396.5 240,-4396.5 240,-4479.5"/>
<text text-anchor="middle" x="124" y="-4464.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2496</text>
<text text-anchor="middle" x="124" y="-4449.3" font-family="Times,serif" font-size="14.00" fill="#000000">Handle a ivk == ⊥</text>
<text text-anchor="middle" x="124" y="-4434.3" font-family="Times,serif" font-size="14.00" fill="#000000">(KA^Orchard private key)</text>
<text text-anchor="middle" x="124" y="-4419.3" font-family="Times,serif" font-size="14.00" fill="#000000">when generating an</text>
<text text-anchor="middle" x="124" y="-4404.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Spending Key</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3869 -->
<g id="node75" class="node open">
<title>ZcashFoundation/zebra#3869</title>
<g id="a_node75"><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,-4378 8,-4378 8,-4310 240,-4310 240,-4378"/>
<text text-anchor="middle" x="124" y="-4362.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3869</text>
<text text-anchor="middle" x="124" y="-4347.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: ensure that ivk</text>
<text text-anchor="middle" x="124" y="-4332.8" font-family="Times,serif" font-size="14.00" fill="#000000">= 0 is rejected if that</text>
<text text-anchor="middle" x="124" y="-4317.8" font-family="Times,serif" font-size="14.00" fill="#000000">negligible case occurs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#278 -->
<g id="node76" class="node open">
<title>ZcashFoundation/zebra#278</title>
<g id="a_node76"><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,-4292 12.5,-4292 12.5,-4254 235.5,-4254 235.5,-4292"/>
<text text-anchor="middle" x="124" y="-4276.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#278</text>
<text text-anchor="middle" x="124" y="-4261.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Note Builder</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2447 -->
<g id="node77" class="node open">
<title>ZcashFoundation/zebra#2447</title>
<g id="a_node77"><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,-4235.5 8,-4235.5 8,-4152.5 240,-4152.5 240,-4235.5"/>
<text text-anchor="middle" x="124" y="-4220.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2447</text>
<text text-anchor="middle" x="124" y="-4205.3" font-family="Times,serif" font-size="14.00" fill="#000000">Define a new `Amount`</text>
<text text-anchor="middle" x="124" y="-4190.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Constraint` for Note</text>
<text text-anchor="middle" x="124" y="-4175.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="-4160.3" font-family="Times,serif" font-size="14.00" fill="#000000">`valid_range()`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2041 -->
<g id="node78" class="node open">
<title>ZcashFoundation/zebra#2041</title>
<g id="a_node78"><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,-4134.5 8,-4134.5 8,-4081.5 240,-4081.5 240,-4134.5"/>
<text text-anchor="middle" x="124" y="-4119.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2041</text>
<text text-anchor="middle" x="124" y="-4104.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: derive</text>
<text text-anchor="middle" x="124" y="-4089.3" font-family="Times,serif" font-size="14.00" fill="#000000">OutgoingCipherKey</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#320 -->
<g id="node79" class="node open">
<title>ZcashFoundation/zebra#320</title>
<g id="a_node79"><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,-4063 12.5,-4063 12.5,-4025 235.5,-4025 235.5,-4063"/>
<text text-anchor="middle" x="124" y="-4047.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#320</text>
<text text-anchor="middle" x="124" y="-4032.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create a Spend Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2080 -->
<g id="node80" class="node open">
<title>ZcashFoundation/zebra#2080</title>
<g id="a_node80"><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,-4007 8,-4007 8,-3939 240,-3939 240,-4007"/>
<text text-anchor="middle" x="124" y="-3991.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2080</text>
<text text-anchor="middle" x="124" y="-3976.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace`redpallas` module</text>
<text text-anchor="middle" x="124" y="-3961.8" font-family="Times,serif" font-size="14.00" fill="#000000">with `reddsa`/`redpallas`</text>
<text text-anchor="middle" x="124" y="-3946.8" font-family="Times,serif" font-size="14.00" fill="#000000">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2095 -->
<g id="node81" class="node open">
<title>ZcashFoundation/zebra#2095</title>
<g id="a_node81"><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,-3921 8,-3921 8,-3823 240,-3823 240,-3921"/>
<text text-anchor="middle" x="124" y="-3905.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2095</text>
<text text-anchor="middle" x="124" y="-3890.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: update</text>
<text text-anchor="middle" x="124" y="-3875.8" font-family="Times,serif" font-size="14.00" fill="#000000">note/action generation to</text>
<text text-anchor="middle" x="124" y="-3860.8" font-family="Times,serif" font-size="14.00" fill="#000000">include input note</text>
<text text-anchor="middle" x="124" y="-3845.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier in the</text>
<text text-anchor="middle" x="124" y="-3830.8" font-family="Times,serif" font-size="14.00" fill="#000000">PRF^expand invocations</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4168 -->
<g id="node82" class="node open">
<title>ZcashFoundation/zebra#4168</title>
<g id="a_node82"><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="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-5913.5 296,-5913.5 296,-5860.5 528,-5860.5 528,-5913.5"/>
<text text-anchor="middle" x="412" y="-5898.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4168</text>
<text text-anchor="middle" x="412" y="-5883.3" font-family="Times,serif" font-size="14.00" fill="#000000">ci: call lightwalletd</text>
<text text-anchor="middle" x="412" y="-5868.3" font-family="Times,serif" font-size="14.00" fill="#000000">wallet queries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4150 -->
<g id="node87" class="node open">
<title>ZcashFoundation/zebra#4150</title>
<g id="a_node87"><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="816,-5936 584,-5936 584,-5868 816,-5868 816,-5936"/>
<text text-anchor="middle" x="700" y="-5920.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4150</text>
<text text-anchor="middle" x="700" y="-5905.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update column family</text>
<text text-anchor="middle" x="700" y="-5890.8" font-family="Times,serif" font-size="14.00" fill="#000000">names to match Zebra&#39;s</text>
<text text-anchor="middle" x="700" y="-5875.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="edge10" class="edge">
<title>ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M528.31,-5893.1C543.15,-5893.8 558.4,-5894.6 573.39,-5895.4"/>
<polygon fill="#000000" stroke="#000000" points="573.5624,-5898.9124 583.72,-5895.9 573.9009,-5891.9205 573.5624,-5898.9124"/>
</g>
<!-- ZcashFoundation/zebra#4153 -->
<g id="node88" class="node open">
<title>ZcashFoundation/zebra#4153</title>
<g id="a_node88"><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="816,-5850 584,-5850 584,-5782 816,-5782 816,-5850"/>
<text text-anchor="middle" x="700" y="-5834.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4153</text>
<text text-anchor="middle" x="700" y="-5819.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;use cached state with</text>
<text text-anchor="middle" x="700" y="-5804.8" font-family="Times,serif" font-size="14.00" fill="#000000">the same version from any</text>
<text text-anchor="middle" x="700" y="-5789.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="edge11" class="edge">
<title>ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M519.65,-5860.5C537.39,-5856.1 555.92,-5851.5 574.06,-5847"/>
<polygon fill="#000000" stroke="#000000" points="574.9278,-5850.3909 583.8,-5844.6 573.253,-5843.5942 574.9278,-5850.3909"/>
</g>
<!-- ZcashFoundation/zebra#4278 -->
<g id="node83" class="node open">
<title>ZcashFoundation/zebra#4278</title>
<g id="a_node83"><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" stroke-width="2" points="528,-5842.5 296,-5842.5 296,-5789.5 528,-5789.5 528,-5842.5"/>
<text text-anchor="middle" x="412" y="-5827.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4278</text>
<text text-anchor="middle" x="412" y="-5812.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add missing wallet grpc</text>
<text text-anchor="middle" x="412" y="-5797.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4150 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M525.87,-5842.5C536.1,-5845.3 546.26,-5848.1 556,-5851 569.84,-5855.1 584.3,-5859.8 598.5,-5864.6"/>
<polygon fill="#000000" stroke="#000000" points="597.6858,-5868.0191 608.28,-5867.9 599.9239,-5861.3865 597.6858,-5868.0191"/>
</g>
<!-- ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4153 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#4278&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M528.31,-5816C543.15,-5816 558.4,-5816 573.39,-5816"/>
<polygon fill="#000000" stroke="#000000" points="573.72,-5819.5001 583.72,-5816 573.72,-5812.5001 573.72,-5819.5001"/>
</g>
<!-- ZcashFoundation/zebra#4351 -->
<g id="node84" class="node open">
<title>ZcashFoundation/zebra#4351</title>
<g id="a_node84"><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" stroke-width="2" points="528,-5771.5 296,-5771.5 296,-5718.5 528,-5718.5 528,-5771.5"/>
<text text-anchor="middle" x="412" y="-5756.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4351</text>
<text text-anchor="middle" x="412" y="-5741.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetTreeState gRPC</text>
<text text-anchor="middle" x="412" y="-5726.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4350 -->
<g id="node85" class="node open">
<title>ZcashFoundation/zebra#4350</title>
<g id="a_node85"><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="528,-5700.5 296,-5700.5 296,-5647.5 528,-5647.5 528,-5700.5"/>
<text text-anchor="middle" x="412" y="-5685.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4350</text>
<text text-anchor="middle" x="412" y="-5670.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetMempoolTx gRPC</text>
<text text-anchor="middle" x="412" y="-5655.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4060 -->
<g id="node86" class="node open">
<title>ZcashFoundation/zebra#4060</title>
<g id="a_node86"><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="528,-5629 296,-5629 296,-5561 528,-5561 528,-5629"/>
<text text-anchor="middle" x="412" y="-5613.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4060</text>
<text text-anchor="middle" x="412" y="-5598.8" font-family="Times,serif" font-size="14.00" fill="#000000">Report better</text>
<text text-anchor="middle" x="412" y="-5583.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions errors to</text>
<text text-anchor="middle" x="412" y="-5568.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node90" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node90"><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,-6694.5 8,-6694.5 8,-6641.5 240,-6641.5 240,-6694.5"/>
<text text-anchor="middle" x="124" y="-6679.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-6664.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-6649.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node91" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node91"><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,-6751 8,-6751 8,-6713 240,-6713 240,-6751"/>
<text text-anchor="middle" x="124" y="-6735.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="124" y="-6720.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4340 -->
<g id="node92" class="node open">
<title>ZcashFoundation/zebra#4340</title>
<g id="a_node92"><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" stroke-width="2" points="240,-6837 8,-6837 8,-6769 240,-6769 240,-6837"/>
<text text-anchor="middle" x="124" y="-6821.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4340</text>
<text text-anchor="middle" x="124" y="-6806.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Require successful</text>
<text text-anchor="middle" x="124" y="-6791.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="124" y="-6776.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests for PRs to merge</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4355 -->
<g id="node93" class="node open">
<title>ZcashFoundation/zebra#4355</title>
<g id="a_node93"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4355" xlink:title="ZcashFoundation/zebra#4355&#10;2. fix(state): index&#10;spending transaction IDs&#10;for each address" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="528,-6021 296,-6021 296,-6017 292,-6017 292,-6013 296,-6013 296,-5961 292,-5961 292,-5957 296,-5957 296,-5953 528,-5953 528,-6021"/>
<polyline fill="none" stroke="#000000" points="296,-6017 300,-6017 300,-6013 296,-6013 "/>
<polyline fill="none" stroke="#000000" points="296,-5961 300,-5961 300,-5957 296,-5957 "/>
<text text-anchor="middle" x="412" y="-6005.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4355</text>
<text text-anchor="middle" x="412" y="-5990.8" font-family="Times,serif" font-size="14.00" fill="#000000">2. fix(state): index</text>
<text text-anchor="middle" x="412" y="-5975.8" font-family="Times,serif" font-size="14.00" fill="#000000">spending transaction IDs</text>
<text text-anchor="middle" x="412" y="-5960.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="edge18" class="edge">
<title>ZcashFoundation/zebra#4355&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M528.09,-5957C537.55,-5954.3 546.95,-5951.7 556,-5949 566.54,-5945.9 577.47,-5942.5 588.38,-5939.1"/>
<polygon fill="#000000" stroke="#000000" points="589.4629,-5942.4286 597.96,-5936.1 587.371,-5935.7484 589.4629,-5942.4286"/>
</g>
<!-- ZcashFoundation/zebra#4385 -->
<g id="node94" class="node open">
<title>ZcashFoundation/zebra#4385</title>
<g id="a_node94"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4385" xlink:title="ZcashFoundation/zebra#4385&#10;1. fix(ci): rebuild&#10;cached state before&#10;running cached state&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6028.5 8,-6028.5 8,-6024.5 4,-6024.5 4,-6020.5 8,-6020.5 8,-5953.5 4,-5953.5 4,-5949.5 8,-5949.5 8,-5945.5 240,-5945.5 240,-6028.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-6024.5 12,-6024.5 12,-6020.5 8,-6020.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-5953.5 12,-5953.5 12,-5949.5 8,-5949.5 "/>
<text text-anchor="middle" x="124" y="-6013.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4385</text>
<text text-anchor="middle" x="124" y="-5998.3" font-family="Times,serif" font-size="14.00" fill="#000000">1. fix(ci): rebuild</text>
<text text-anchor="middle" x="124" y="-5983.3" font-family="Times,serif" font-size="14.00" fill="#000000">cached state before</text>
<text text-anchor="middle" x="124" y="-5968.3" font-family="Times,serif" font-size="14.00" fill="#000000">running cached state</text>
<text text-anchor="middle" x="124" y="-5953.3" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4385&#45;&gt;ZcashFoundation/zebra#4355 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#4385&#45;&gt;ZcashFoundation/zebra#4355</title>
<path fill="none" stroke="#000000" d="M240.31,-5987C255.15,-5987 270.4,-5987 285.39,-5987"/>
<polygon fill="#000000" stroke="#000000" points="285.72,-5990.5001 295.72,-5987 285.72,-5983.5001 285.72,-5990.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>