developers/zcash-zf-dag.html

1178 lines
90 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="832pt" height="6681pt"
viewBox="0.00 0.00 832.00 6681.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 6677)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-6677 828,-6677 828,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-157 0,-280 248,-280 248,-157 0,-157"/>
<text text-anchor="middle" x="124" y="-264.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,-288 0,-1758 536,-1758 536,-288 0,-288"/>
<text text-anchor="middle" x="268" y="-1742.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Zebra as a Full&#45;Node Wallet</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_5</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-149 536,-149 536,0 0,0"/>
<text text-anchor="middle" x="268" y="-133.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Stable Release Candidate</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="288,-1766 288,-4454 824,-4454 824,-1766 288,-1766"/>
<text text-anchor="middle" x="556" y="-4438.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Tech Debt</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-6032 0,-6555 248,-6555 248,-6032 0,-6032"/>
<text text-anchor="middle" x="124" y="-6539.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Documentation</text>
</g>
<g id="clust6" class="cluster">
<title>cluster_4</title>
<polygon fill="none" stroke="#0000ff" points="0,-4462 0,-5487 536,-5487 536,-4462 0,-4462"/>
<text text-anchor="middle" x="268" y="-5471.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Breaking Changes before the Stable Release</text>
</g>
<g id="clust7" class="cluster">
<title>cluster_6</title>
<polygon fill="none" stroke="#0000ff" points="268,-5495 268,-6132 556,-6132 556,-5495 268,-5495"/>
<text text-anchor="middle" x="412" y="-6116.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<!-- ZcashFoundation/zebra#4117 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#4117</title>
<g id="a_node1"><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` after NU5&#10;mainnet activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-248.5 8,-248.5 8,-165.5 240,-165.5 240,-248.5"/>
<text text-anchor="middle" x="124" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4117</text>
<text text-anchor="middle" x="124" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">Set the minimum network</text>
<text text-anchor="middle" x="124" y="-203.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol version to</text>
<text text-anchor="middle" x="124" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">`170_100` after NU5</text>
<text text-anchor="middle" x="124" y="-173.3" font-family="Times,serif" font-size="14.00" fill="#000000">mainnet activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node22"><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="528,-117.5 296,-117.5 296,-64.5 528,-64.5 528,-117.5"/>
<text text-anchor="middle" x="412" y="-102.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="412" y="-87.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra v1.0.0&#45;rc1</text>
<text text-anchor="middle" x="412" y="-72.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M227.16,-165.45C263.15,-150.95 302.85,-134.96 336.21,-121.53"/>
<polygon fill="#000000" stroke="#000000" points="337.9225,-124.6135 345.89,-117.63 335.3065,-118.1207 337.9225,-124.6135"/>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node2"><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,-1726.5 12.5,-1726.5 12.5,-1673.5 235.5,-1673.5 235.5,-1726.5"/>
<text text-anchor="middle" x="124" y="-1711.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="124" y="-1696.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Key Agreement and</text>
<text text-anchor="middle" x="124" y="-1681.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node3"><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,-1655.5 300.5,-1655.5 300.5,-1602.5 523.5,-1602.5 523.5,-1655.5"/>
<text text-anchor="middle" x="412" y="-1640.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="412" y="-1625.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note encryption</text>
<text text-anchor="middle" x="412" y="-1610.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="edge1" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M229.75,-1673.5C242.64,-1670.3 255.61,-1667.1 268,-1664 275.99,-1662 284.23,-1660 292.54,-1658"/>
<polygon fill="#000000" stroke="#000000" points="293.4251,-1661.3867 302.3,-1655.6 291.7535,-1654.5892 293.4251,-1661.3867"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node4"><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,-1726.5 296,-1726.5 296,-1673.5 528,-1673.5 528,-1726.5"/>
<text text-anchor="middle" x="412" y="-1711.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="412" y="-1696.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="412" y="-1681.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="edge2" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M235.76,-1700C252,-1700 268.81,-1700 285.31,-1700"/>
<polygon fill="#000000" stroke="#000000" points="285.54,-1703.5001 295.54,-1700 285.54,-1696.5001 285.54,-1703.5001"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node5"><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,-1655 12.5,-1655 12.5,-1617 235.5,-1617 235.5,-1655"/>
<text text-anchor="middle" x="124" y="-1639.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="124" y="-1624.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#483 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#483</title>
<g id="a_node6"><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="235.5,-1598.5 12.5,-1598.5 12.5,-1545.5 235.5,-1545.5 235.5,-1598.5"/>
<text text-anchor="middle" x="124" y="-1583.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#483</text>
<text text-anchor="middle" x="124" y="-1568.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit generated block and</text>
<text text-anchor="middle" x="124" y="-1553.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#267 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#267</title>
<g id="a_node7"><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,-1527 12.5,-1527 12.5,-1459 235.5,-1459 235.5,-1527"/>
<text text-anchor="middle" x="124" y="-1511.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#267</text>
<text text-anchor="middle" x="124" y="-1496.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;32 Sapling</text>
<text text-anchor="middle" x="124" y="-1481.8" font-family="Times,serif" font-size="14.00" fill="#000000">and Orchard key</text>
<text text-anchor="middle" x="124" y="-1466.8" font-family="Times,serif" font-size="14.00" fill="#000000">derivation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2064 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#2064</title>
<g id="a_node8"><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,-1440.5 8,-1440.5 8,-1387.5 240,-1387.5 240,-1440.5"/>
<text text-anchor="middle" x="124" y="-1425.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2064</text>
<text text-anchor="middle" x="124" y="-1410.3" font-family="Times,serif" font-size="14.00" fill="#000000">Import Poseidon hash into</text>
<text text-anchor="middle" x="124" y="-1395.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2192 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#2192</title>
<g id="a_node9"><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,-1369.5 8,-1369.5 8,-1286.5 240,-1286.5 240,-1369.5"/>
<text text-anchor="middle" x="124" y="-1354.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2192</text>
<text text-anchor="middle" x="124" y="-1339.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="124" y="-1324.3" font-family="Times,serif" font-size="14.00" fill="#000000">`EphemeralPrivateKey`&#39;s</text>
<text text-anchor="middle" x="124" y="-1309.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard, Sapling,</text>
<text text-anchor="middle" x="124" y="-1294.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#181 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#181</title>
<g id="a_node10"><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,-1268 12.5,-1268 12.5,-1200 235.5,-1200 235.5,-1268"/>
<text text-anchor="middle" x="124" y="-1252.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#181</text>
<text text-anchor="middle" x="124" y="-1237.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout note</text>
<text text-anchor="middle" x="124" y="-1222.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption/decryption</text>
<text text-anchor="middle" x="124" y="-1207.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#785 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#785</title>
<g id="a_node11"><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,-1181.5 12.5,-1181.5 12.5,-1098.5 235.5,-1098.5 235.5,-1181.5"/>
<text text-anchor="middle" x="124" y="-1166.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#785</text>
<text text-anchor="middle" x="124" y="-1151.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 212: Allow</text>
<text text-anchor="middle" x="124" y="-1136.3" font-family="Times,serif" font-size="14.00" fill="#000000">Recipient to Derive</text>
<text text-anchor="middle" x="124" y="-1121.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Ephemeral Secret</text>
<text text-anchor="middle" x="124" y="-1106.3" font-family="Times,serif" font-size="14.00" fill="#000000">from Note Plaintext</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#321 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#321</title>
<g id="a_node12"><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,-1080 12.5,-1080 12.5,-1042 235.5,-1042 235.5,-1080"/>
<text text-anchor="middle" x="124" y="-1064.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#321</text>
<text text-anchor="middle" x="124" y="-1049.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Output Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#272 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#272</title>
<g id="a_node13"><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,-1023.5 12.5,-1023.5 12.5,-970.5 235.5,-970.5 235.5,-1023.5"/>
<text text-anchor="middle" x="124" y="-1008.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#272</text>
<text text-anchor="middle" x="124" y="-993.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout Key Agreement and</text>
<text text-anchor="middle" x="124" y="-978.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2496 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#2496</title>
<g id="a_node14"><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,-952.5 8,-952.5 8,-869.5 240,-869.5 240,-952.5"/>
<text text-anchor="middle" x="124" y="-937.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2496</text>
<text text-anchor="middle" x="124" y="-922.3" font-family="Times,serif" font-size="14.00" fill="#000000">Handle a ivk == ⊥</text>
<text text-anchor="middle" x="124" y="-907.3" font-family="Times,serif" font-size="14.00" fill="#000000">(KA^Orchard private key)</text>
<text text-anchor="middle" x="124" y="-892.3" font-family="Times,serif" font-size="14.00" fill="#000000">when generating an</text>
<text text-anchor="middle" x="124" y="-877.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Spending Key</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3869 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#3869</title>
<g id="a_node15"><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,-851 8,-851 8,-783 240,-783 240,-851"/>
<text text-anchor="middle" x="124" y="-835.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3869</text>
<text text-anchor="middle" x="124" y="-820.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: ensure that ivk</text>
<text text-anchor="middle" x="124" y="-805.8" font-family="Times,serif" font-size="14.00" fill="#000000">= 0 is rejected if that</text>
<text text-anchor="middle" x="124" y="-790.8" font-family="Times,serif" font-size="14.00" fill="#000000">negligible case occurs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#278 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#278</title>
<g id="a_node16"><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,-765 12.5,-765 12.5,-727 235.5,-727 235.5,-765"/>
<text text-anchor="middle" x="124" y="-749.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#278</text>
<text text-anchor="middle" x="124" y="-734.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Note Builder</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2447 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#2447</title>
<g id="a_node17"><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,-708.5 8,-708.5 8,-625.5 240,-625.5 240,-708.5"/>
<text text-anchor="middle" x="124" y="-693.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2447</text>
<text text-anchor="middle" x="124" y="-678.3" font-family="Times,serif" font-size="14.00" fill="#000000">Define a new `Amount`</text>
<text text-anchor="middle" x="124" y="-663.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Constraint` for Note</text>
<text text-anchor="middle" x="124" y="-648.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="-633.3" font-family="Times,serif" font-size="14.00" fill="#000000">`valid_range()`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2041 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#2041</title>
<g id="a_node18"><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,-607.5 8,-607.5 8,-554.5 240,-554.5 240,-607.5"/>
<text text-anchor="middle" x="124" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2041</text>
<text text-anchor="middle" x="124" y="-577.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: derive</text>
<text text-anchor="middle" x="124" y="-562.3" font-family="Times,serif" font-size="14.00" fill="#000000">OutgoingCipherKey</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#320 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#320</title>
<g id="a_node19"><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,-536 12.5,-536 12.5,-498 235.5,-498 235.5,-536"/>
<text text-anchor="middle" x="124" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#320</text>
<text text-anchor="middle" x="124" y="-505.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create a Spend Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2080 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#2080</title>
<g id="a_node20"><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,-480 8,-480 8,-412 240,-412 240,-480"/>
<text text-anchor="middle" x="124" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2080</text>
<text text-anchor="middle" x="124" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace`redpallas` module</text>
<text text-anchor="middle" x="124" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">with `reddsa`/`redpallas`</text>
<text text-anchor="middle" x="124" y="-419.8" font-family="Times,serif" font-size="14.00" fill="#000000">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2095 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#2095</title>
<g id="a_node21"><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,-394 8,-394 8,-296 240,-296 240,-394"/>
<text text-anchor="middle" x="124" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2095</text>
<text text-anchor="middle" x="124" y="-363.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: update</text>
<text text-anchor="middle" x="124" y="-348.8" font-family="Times,serif" font-size="14.00" fill="#000000">note/action generation to</text>
<text text-anchor="middle" x="124" y="-333.8" font-family="Times,serif" font-size="14.00" fill="#000000">include input note</text>
<text text-anchor="middle" x="124" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier in the</text>
<text text-anchor="middle" x="124" y="-303.8" font-family="Times,serif" font-size="14.00" fill="#000000">PRF^expand invocations</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4448 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4448</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4448" xlink:title="ZcashFoundation/zebra#4448&#10;Decide on supported&#10;platforms and test in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-117.5 8,-117.5 8,-64.5 240,-64.5 240,-117.5"/>
<text text-anchor="middle" x="124" y="-102.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4448</text>
<text text-anchor="middle" x="124" y="-87.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decide on supported</text>
<text text-anchor="middle" x="124" y="-72.3" font-family="Times,serif" font-size="14.00" fill="#000000">platforms and test in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4448&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#4448&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M240.31,-91C255.15,-91 270.4,-91 285.39,-91"/>
<polygon fill="#000000" stroke="#000000" points="285.72,-94.5001 295.72,-91 285.72,-87.5001 285.72,-94.5001"/>
</g>
<!-- ZcashFoundation/zebra#2995 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#2995</title>
<g id="a_node24"><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="240,-46 8,-46 8,-8 240,-8 240,-46"/>
<text text-anchor="middle" x="124" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2995</text>
<text text-anchor="middle" x="124" y="-15.8" font-family="Times,serif" font-size="14.00" fill="#000000">Speed up Zebra&#39;s CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node25"><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,-4423 296,-4423 296,-4355 528,-4355 528,-4423"/>
<text text-anchor="middle" x="412" y="-4407.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="412" y="-4392.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="412" y="-4377.8" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="412" y="-4362.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node26"><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,-4337 296,-4337 296,-4269 528,-4269 528,-4337"/>
<text text-anchor="middle" x="412" y="-4321.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="412" y="-4306.8" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="412" y="-4291.8" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="412" y="-4276.8" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node27"><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,-4250.5 296,-4250.5 296,-4197.5 528,-4197.5 528,-4250.5"/>
<text text-anchor="middle" x="412" y="-4235.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="412" y="-4220.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="412" y="-4205.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node28"><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,-4179.5 296,-4179.5 296,-4126.5 528,-4126.5 528,-4179.5"/>
<text text-anchor="middle" x="412" y="-4164.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="412" y="-4149.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="412" y="-4134.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node29" class="node closed">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node29"><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,-4108.5 296,-4108.5 296,-4055.5 528,-4055.5 528,-4108.5"/>
<text text-anchor="middle" x="412" y="-4093.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="412" y="-4078.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="-4063.3" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node30"><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,-4037 296,-4037 296,-3969 528,-3969 528,-4037"/>
<text text-anchor="middle" x="412" y="-4021.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="412" y="-4006.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="412" y="-3991.8" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="412" y="-3976.8" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node31"><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,-3951 296,-3951 296,-3883 528,-3883 528,-3951"/>
<text text-anchor="middle" x="412" y="-3935.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="412" y="-3920.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="412" y="-3905.8" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="412" y="-3890.8" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2112 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#2112</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2112" xlink:title="ZcashFoundation/zebra#2112&#10;Integrate tokio&#45;console" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-3865 296,-3865 296,-3827 528,-3827 528,-3865"/>
<text text-anchor="middle" x="412" y="-3849.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2112</text>
<text text-anchor="middle" x="412" y="-3834.8" font-family="Times,serif" font-size="14.00" fill="#000000">Integrate tokio&#45;console</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2193 -->
<g id="node33" class="node closed">
<title>ZcashFoundation/zebra#2193</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2193" xlink:title="ZcashFoundation/zebra#2193&#10;Redesign zebra&#45;network so&#10;it&#39;s less sensitive to&#10;message order, timing,&#10;buffer size" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="816,-3887.5 584,-3887.5 584,-3804.5 816,-3804.5 816,-3887.5"/>
<text text-anchor="middle" x="700" y="-3872.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2193</text>
<text text-anchor="middle" x="700" y="-3857.3" font-family="Times,serif" font-size="14.00" fill="#000000">Redesign zebra&#45;network so</text>
<text text-anchor="middle" x="700" y="-3842.3" font-family="Times,serif" font-size="14.00" fill="#000000">it&#39;s less sensitive to</text>
<text text-anchor="middle" x="700" y="-3827.3" font-family="Times,serif" font-size="14.00" fill="#000000">message order, timing,</text>
<text text-anchor="middle" x="700" y="-3812.3" font-family="Times,serif" font-size="14.00" fill="#000000">buffer size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2112&#45;&gt;ZcashFoundation/zebra#2193 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#2112&#45;&gt;ZcashFoundation/zebra#2193</title>
<path fill="none" stroke="#000000" d="M528.31,-3846C543.15,-3846 558.4,-3846 573.39,-3846"/>
<polygon fill="#000000" stroke="#000000" points="573.72,-3849.5001 583.72,-3846 573.72,-3842.5001 573.72,-3849.5001"/>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node34"><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,-3809 296,-3809 296,-3741 528,-3741 528,-3809"/>
<text text-anchor="middle" x="412" y="-3793.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="412" y="-3778.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="-3763.8" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="412" y="-3748.8" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3372 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#3372</title>
<g id="a_node35"><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,-3722.5 296,-3722.5 296,-3669.5 528,-3669.5 528,-3722.5"/>
<text text-anchor="middle" x="412" y="-3707.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3372</text>
<text text-anchor="middle" x="412" y="-3692.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use clap v3 instead of</text>
<text text-anchor="middle" x="412" y="-3677.3" font-family="Times,serif" font-size="14.00" fill="#000000">structopt</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3436 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#3436</title>
<g id="a_node36"><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,-3651 296,-3651 296,-3583 528,-3583 528,-3651"/>
<text text-anchor="middle" x="412" y="-3635.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3436</text>
<text text-anchor="middle" x="412" y="-3620.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create wrapper for</text>
<text text-anchor="middle" x="412" y="-3605.8" font-family="Times,serif" font-size="14.00" fill="#000000">`precomputed` in</text>
<text text-anchor="middle" x="412" y="-3590.8" font-family="Times,serif" font-size="14.00" fill="#000000">`CachedFfiTransaction`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#565 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#565</title>
<g id="a_node37"><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,-3564.5 300.5,-3564.5 300.5,-3511.5 523.5,-3511.5 523.5,-3564.5"/>
<text text-anchor="middle" x="412" y="-3549.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#565</text>
<text text-anchor="middle" x="412" y="-3534.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: all the</text>
<text text-anchor="middle" x="412" y="-3519.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2298 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#2298</title>
<g id="a_node38"><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,-3493.5 296,-3493.5 296,-3410.5 528,-3410.5 528,-3493.5"/>
<text text-anchor="middle" x="412" y="-3478.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2298</text>
<text text-anchor="middle" x="412" y="-3463.3" font-family="Times,serif" font-size="14.00" fill="#000000">Coverage&#45;based fuzzing</text>
<text text-anchor="middle" x="412" y="-3448.3" font-family="Times,serif" font-size="14.00" fill="#000000">for transaction</text>
<text text-anchor="middle" x="412" y="-3433.3" font-family="Times,serif" font-size="14.00" fill="#000000">processing,</text>
<text text-anchor="middle" x="412" y="-3418.3" font-family="Times,serif" font-size="14.00" fill="#000000">(de)serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node39"><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,-3392 296,-3392 296,-3324 528,-3324 528,-3392"/>
<text text-anchor="middle" x="412" y="-3376.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="412" y="-3361.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="412" y="-3346.8" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="412" y="-3331.8" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2090 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#2090</title>
<g id="a_node40"><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,-3305.5 296,-3305.5 296,-3252.5 528,-3252.5 528,-3305.5"/>
<text text-anchor="middle" x="412" y="-3290.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2090</text>
<text text-anchor="middle" x="412" y="-3275.3" font-family="Times,serif" font-size="14.00" fill="#000000">Auto&#45;delete old Google</text>
<text text-anchor="middle" x="412" y="-3260.3" font-family="Times,serif" font-size="14.00" fill="#000000">Cloud instance templates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2220 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#2220</title>
<g id="a_node41"><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,-3234 296,-3234 296,-3166 528,-3166 528,-3234"/>
<text text-anchor="middle" x="412" y="-3218.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2220</text>
<text text-anchor="middle" x="412" y="-3203.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add the Google Cloud</text>
<text text-anchor="middle" x="412" y="-3188.8" font-family="Times,serif" font-size="14.00" fill="#000000">Instance ID to Sentry, so</text>
<text text-anchor="middle" x="412" y="-3173.8" font-family="Times,serif" font-size="14.00" fill="#000000">we can search logs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2869 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#2869</title>
<g id="a_node42"><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,-3147.5 296,-3147.5 296,-3094.5 528,-3094.5 528,-3147.5"/>
<text text-anchor="middle" x="412" y="-3132.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2869</text>
<text text-anchor="middle" x="412" y="-3117.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add mempool metrics</text>
<text text-anchor="middle" x="412" y="-3102.3" font-family="Times,serif" font-size="14.00" fill="#000000">related to memory usage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2632 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#2632</title>
<g id="a_node43"><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,-3076 296,-3076 296,-3008 528,-3008 528,-3076"/>
<text text-anchor="middle" x="412" y="-3060.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2632</text>
<text text-anchor="middle" x="412" y="-3045.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve performance of</text>
<text text-anchor="middle" x="412" y="-3030.8" font-family="Times,serif" font-size="14.00" fill="#000000">authorizing data</text>
<text text-anchor="middle" x="412" y="-3015.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2297 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#2297</title>
<g id="a_node44"><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,-2989.5 296,-2989.5 296,-2936.5 528,-2936.5 528,-2989.5"/>
<text text-anchor="middle" x="412" y="-2974.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2297</text>
<text text-anchor="middle" x="412" y="-2959.3" font-family="Times,serif" font-size="14.00" fill="#000000">Enforce unwrap&#45;pertinent</text>
<text text-anchor="middle" x="412" y="-2944.3" font-family="Times,serif" font-size="14.00" fill="#000000">Clippy lints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1186 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#1186</title>
<g id="a_node45"><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,-2918.5 296,-2918.5 296,-2865.5 528,-2865.5 528,-2918.5"/>
<text text-anchor="middle" x="412" y="-2903.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1186</text>
<text text-anchor="middle" x="412" y="-2888.3" font-family="Times,serif" font-size="14.00" fill="#000000">Dedupe Verification error</text>
<text text-anchor="middle" x="412" y="-2873.3" font-family="Times,serif" font-size="14.00" fill="#000000">types (Block, Chain)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3831 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#3831</title>
<g id="a_node46"><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,-2847.5 296,-2847.5 296,-2794.5 528,-2794.5 528,-2847.5"/>
<text text-anchor="middle" x="412" y="-2832.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3831</text>
<text text-anchor="middle" x="412" y="-2817.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove duplicated</text>
<text text-anchor="middle" x="412" y="-2802.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2299 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#2299</title>
<g id="a_node47"><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,-2776.5 296,-2776.5 296,-2693.5 528,-2693.5 528,-2776.5"/>
<text text-anchor="middle" x="412" y="-2761.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2299</text>
<text text-anchor="middle" x="412" y="-2746.3" font-family="Times,serif" font-size="14.00" fill="#000000">Coverage&#45;based fuzzing</text>
<text text-anchor="middle" x="412" y="-2731.3" font-family="Times,serif" font-size="14.00" fill="#000000">for network message</text>
<text text-anchor="middle" x="412" y="-2716.3" font-family="Times,serif" font-size="14.00" fill="#000000">processing,</text>
<text text-anchor="middle" x="412" y="-2701.3" font-family="Times,serif" font-size="14.00" fill="#000000">(de)serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node48"><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,-2675.5 296,-2675.5 296,-2592.5 528,-2592.5 528,-2675.5"/>
<text text-anchor="middle" x="412" y="-2660.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="412" y="-2645.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="412" y="-2630.3" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="412" y="-2615.3" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="412" y="-2600.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1364 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#1364</title>
<g id="a_node49"><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,-2574 296,-2574 296,-2506 528,-2506 528,-2574"/>
<text text-anchor="middle" x="412" y="-2558.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1364</text>
<text text-anchor="middle" x="412" y="-2543.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a CI job which</text>
<text text-anchor="middle" x="412" y="-2528.8" font-family="Times,serif" font-size="14.00" fill="#000000">compiles each Zebra crate</text>
<text text-anchor="middle" x="412" y="-2513.8" font-family="Times,serif" font-size="14.00" fill="#000000">individually</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3179 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#3179</title>
<g id="a_node50"><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,-2488 296,-2488 296,-2420 528,-2420 528,-2488"/>
<text text-anchor="middle" x="412" y="-2472.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3179</text>
<text text-anchor="middle" x="412" y="-2457.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use a `bellman::Proof`</text>
<text text-anchor="middle" x="412" y="-2442.8" font-family="Times,serif" font-size="14.00" fill="#000000">instead of a byte array</text>
<text text-anchor="middle" x="412" y="-2427.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `Groth16Proof`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2587 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#2587</title>
<g id="a_node51"><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,-2402 296,-2402 296,-2334 528,-2334 528,-2402"/>
<text text-anchor="middle" x="412" y="-2386.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2587</text>
<text text-anchor="middle" x="412" y="-2371.8" font-family="Times,serif" font-size="14.00" fill="#000000">Clean up History Tree</text>
<text text-anchor="middle" x="412" y="-2356.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (network,</text>
<text text-anchor="middle" x="412" y="-2341.8" font-family="Times,serif" font-size="14.00" fill="#000000">network_upgrade)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#3117</title>
<g id="a_node52"><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,-2315.5 296,-2315.5 296,-2262.5 528,-2262.5 528,-2315.5"/>
<text text-anchor="middle" x="412" y="-2300.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3117</text>
<text text-anchor="middle" x="412" y="-2285.3" font-family="Times,serif" font-size="14.00" fill="#000000">Stop using private IP</text>
<text text-anchor="middle" x="412" y="-2270.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses by default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1951 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#1951</title>
<g id="a_node53"><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,-2244.5 296,-2244.5 296,-2161.5 528,-2161.5 528,-2244.5"/>
<text text-anchor="middle" x="412" y="-2229.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1951</text>
<text text-anchor="middle" x="412" y="-2214.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalize/deduplicate</text>
<text text-anchor="middle" x="412" y="-2199.3" font-family="Times,serif" font-size="14.00" fill="#000000">async batch verification</text>
<text text-anchor="middle" x="412" y="-2184.3" font-family="Times,serif" font-size="14.00" fill="#000000">services / create a</text>
<text text-anchor="middle" x="412" y="-2169.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="node54" class="node open">
<title>ZcashFoundation/zebra#2909</title>
<g id="a_node54"><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,-2143 296,-2143 296,-2075 528,-2075 528,-2143"/>
<text text-anchor="middle" x="412" y="-2127.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2909</text>
<text text-anchor="middle" x="412" y="-2112.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if the block</text>
<text text-anchor="middle" x="412" y="-2097.8" font-family="Times,serif" font-size="14.00" fill="#000000">downloader and verifier</text>
<text text-anchor="middle" x="412" y="-2082.8" font-family="Times,serif" font-size="14.00" fill="#000000">error checking is correct</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2436 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#2436</title>
<g id="a_node55"><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,-2056.5 296,-2056.5 296,-2003.5 528,-2003.5 528,-2056.5"/>
<text text-anchor="middle" x="412" y="-2041.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2436</text>
<text text-anchor="middle" x="412" y="-2026.3" font-family="Times,serif" font-size="14.00" fill="#000000">Slim down `zebra&#45;consensu</text>
<text text-anchor="middle" x="412" y="-2011.3" font-family="Times,serif" font-size="14.00" fill="#000000">s/src/transaction.rs`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1432 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#1432</title>
<g id="a_node56"><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,-1985.5 296,-1985.5 296,-1932.5 528,-1932.5 528,-1985.5"/>
<text text-anchor="middle" x="412" y="-1970.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1432</text>
<text text-anchor="middle" x="412" y="-1955.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove `zebra_state::Requ</text>
<text text-anchor="middle" x="412" y="-1940.3" font-family="Times,serif" font-size="14.00" fill="#000000">est::FindBlockHeaders`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2847 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#2847</title>
<g id="a_node57"><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,-1914 296,-1914 296,-1846 528,-1846 528,-1914"/>
<text text-anchor="middle" x="412" y="-1898.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2847</text>
<text text-anchor="middle" x="412" y="-1883.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make config `Duration`</text>
<text text-anchor="middle" x="412" y="-1868.8" font-family="Times,serif" font-size="14.00" fill="#000000">easier to write in the</text>
<text text-anchor="middle" x="412" y="-1853.8" font-family="Times,serif" font-size="14.00" fill="#000000">toml file</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2559 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#2559</title>
<g id="a_node58"><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,-1827.5 296,-1827.5 296,-1774.5 528,-1774.5 528,-1827.5"/>
<text text-anchor="middle" x="412" y="-1812.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2559</text>
<text text-anchor="middle" x="412" y="-1797.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree errors</text>
<text text-anchor="middle" x="412" y="-1782.3" font-family="Times,serif" font-size="14.00" fill="#000000">in finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node59"><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,-6524 8,-6524 8,-6486 240,-6486 240,-6524"/>
<text text-anchor="middle" x="124" y="-6508.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="124" y="-6493.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2972 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#2972</title>
<g id="a_node60"><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,-6468 8,-6468 8,-6400 240,-6400 240,-6468"/>
<text text-anchor="middle" x="124" y="-6452.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2972</text>
<text text-anchor="middle" x="124" y="-6437.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="-6422.8" font-family="Times,serif" font-size="14.00" fill="#000000">discover how to configure</text>
<text text-anchor="middle" x="124" y="-6407.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2191 -->
<g id="node61" class="node open">
<title>ZcashFoundation/zebra#2191</title>
<g id="a_node61"><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,-6382 8,-6382 8,-6314 240,-6314 240,-6382"/>
<text text-anchor="middle" x="124" y="-6366.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2191</text>
<text text-anchor="middle" x="124" y="-6351.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update user and dev</text>
<text text-anchor="middle" x="124" y="-6336.8" font-family="Times,serif" font-size="14.00" fill="#000000">instructions in the Zebra</text>
<text text-anchor="middle" x="124" y="-6321.8" font-family="Times,serif" font-size="14.00" fill="#000000">Book to deduplicate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2740 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#2740</title>
<g id="a_node62"><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,-6296 8,-6296 8,-6198 240,-6198 240,-6296"/>
<text text-anchor="middle" x="124" y="-6280.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2740</text>
<text text-anchor="middle" x="124" y="-6265.8" font-family="Times,serif" font-size="14.00" fill="#000000">Documentation: adapt</text>
<text text-anchor="middle" x="124" y="-6250.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra architecture blog</text>
<text text-anchor="middle" x="124" y="-6235.8" font-family="Times,serif" font-size="14.00" fill="#000000">posts into zebrad</text>
<text text-anchor="middle" x="124" y="-6220.8" font-family="Times,serif" font-size="14.00" fill="#000000">overview for devs in the</text>
<text text-anchor="middle" x="124" y="-6205.8" font-family="Times,serif" font-size="14.00" fill="#000000">book</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2892 -->
<g id="node63" class="node open">
<title>ZcashFoundation/zebra#2892</title>
<g id="a_node63"><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="240,-6179.5 8,-6179.5 8,-6126.5 240,-6126.5 240,-6179.5"/>
<text text-anchor="middle" x="124" y="-6164.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2892</text>
<text text-anchor="middle" x="124" y="-6149.3" font-family="Times,serif" font-size="14.00" fill="#000000">Go over all `cargo doc`</text>
<text text-anchor="middle" x="124" y="-6134.3" font-family="Times,serif" font-size="14.00" fill="#000000">warnings</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1772 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#1772</title>
<g id="a_node64"><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,-6108 8,-6108 8,-6040 240,-6040 240,-6108"/>
<text text-anchor="middle" x="124" y="-6092.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1772</text>
<text text-anchor="middle" x="124" y="-6077.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add comments on how to</text>
<text text-anchor="middle" x="124" y="-6062.8" font-family="Times,serif" font-size="14.00" fill="#000000">configure metric and</text>
<text text-anchor="middle" x="124" y="-6047.8" font-family="Times,serif" font-size="14.00" fill="#000000">tracing endpoints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node65" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node65"><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,-5456 8,-5456 8,-5388 240,-5388 240,-5456"/>
<text text-anchor="middle" x="124" y="-5440.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="124" y="-5425.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="124" y="-5410.8" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="124" y="-5395.8" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node66"><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,-5455.5 296,-5455.5 296,-5372.5 528,-5372.5 528,-5455.5"/>
<text text-anchor="middle" x="412" y="-5440.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="412" y="-5425.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="412" y="-5410.3" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="412" y="-5395.3" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="412" y="-5380.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="edge5" class="edge">
<title>ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432</title>
<path fill="none" stroke="#000000" d="M240.31,-5418.8C255.15,-5418.4 270.4,-5417.9 285.39,-5417.5"/>
<polygon fill="#000000" stroke="#000000" points="285.8259,-5420.9889 295.72,-5417.2 285.6226,-5413.9919 285.8259,-5420.9889"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node67"><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,-5370 8,-5370 8,-5302 240,-5302 240,-5370"/>
<text text-anchor="middle" x="124" y="-5354.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="124" y="-5339.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="124" y="-5324.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="124" y="-5309.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node68" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node68"><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,-5284 12.5,-5284 12.5,-5216 235.5,-5216 235.5,-5284"/>
<text text-anchor="middle" x="124" y="-5268.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="124" y="-5253.8" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="124" y="-5238.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="124" y="-5223.8" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node69" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node69"><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,-5198 8,-5198 8,-5130 240,-5130 240,-5198"/>
<text text-anchor="middle" x="124" y="-5182.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="124" y="-5167.8" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="124" y="-5152.8" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="124" y="-5137.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="edge7" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M239.52,-5129.7C242.62,-5126.8 245.46,-5123.5 248,-5120 280.6,-5074.8 233.12,-4160.5 268,-4117 273.44,-4110.2 279.95,-4104.6 287.16,-4100"/>
<polygon fill="#000000" stroke="#000000" points="288.9641,-4103.0003 295.91,-4095 285.4911,-4096.9226 288.9641,-4103.0003"/>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node70" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node70"><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,-5111.5 8,-5111.5 8,-5058.5 240,-5058.5 240,-5111.5"/>
<text text-anchor="middle" x="124" y="-5096.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="124" y="-5081.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revise Release Process</text>
<text text-anchor="middle" x="124" y="-5066.3" font-family="Times,serif" font-size="14.00" fill="#000000">RFC Draft</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node71" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node71"><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,-5040.5 8,-5040.5 8,-4987.5 240,-4987.5 240,-5040.5"/>
<text text-anchor="middle" x="124" y="-5025.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="124" y="-5010.3" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="124" y="-4995.3" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node72" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node72"><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,-4969 8,-4969 8,-4901 240,-4901 240,-4969"/>
<text text-anchor="middle" x="124" y="-4953.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-4938.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra stable download</text>
<text text-anchor="middle" x="124" y="-4923.8" font-family="Times,serif" font-size="14.00" fill="#000000">should be linked from</text>
<text text-anchor="middle" x="124" y="-4908.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1213 -->
<g id="node73" class="node open">
<title>ZcashFoundation/zebra#1213</title>
<g id="a_node73"><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,-4883 8,-4883 8,-4815 240,-4815 240,-4883"/>
<text text-anchor="middle" x="124" y="-4867.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1213</text>
<text text-anchor="middle" x="124" y="-4852.8" font-family="Times,serif" font-size="14.00" fill="#000000">Detect when an older</text>
<text text-anchor="middle" x="124" y="-4837.8" font-family="Times,serif" font-size="14.00" fill="#000000">state version is present,</text>
<text text-anchor="middle" x="124" y="-4822.8" font-family="Times,serif" font-size="14.00" fill="#000000">and delete it</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1621 -->
<g id="node74" class="node open">
<title>ZcashFoundation/zebra#1621</title>
<g id="a_node74"><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,-4797 8,-4797 8,-4729 240,-4729 240,-4797"/>
<text text-anchor="middle" x="124" y="-4781.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1621</text>
<text text-anchor="middle" x="124" y="-4766.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run `zebrad start` by</text>
<text text-anchor="middle" x="124" y="-4751.8" font-family="Times,serif" font-size="14.00" fill="#000000">default, and add `start`</text>
<text text-anchor="middle" x="124" y="-4736.8" font-family="Times,serif" font-size="14.00" fill="#000000">to `zebrad help`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1617 -->
<g id="node75" class="node open">
<title>ZcashFoundation/zebra#1617</title>
<g id="a_node75"><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,-4710.5 8,-4710.5 8,-4627.5 240,-4627.5 240,-4710.5"/>
<text text-anchor="middle" x="124" y="-4695.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1617</text>
<text text-anchor="middle" x="124" y="-4680.3" font-family="Times,serif" font-size="14.00" fill="#000000">Restructure and clean up</text>
<text text-anchor="middle" x="124" y="-4665.3" font-family="Times,serif" font-size="14.00" fill="#000000">README to make it easier</text>
<text text-anchor="middle" x="124" y="-4650.3" font-family="Times,serif" font-size="14.00" fill="#000000">for new users to get</text>
<text text-anchor="middle" x="124" y="-4635.3" font-family="Times,serif" font-size="14.00" fill="#000000">started with Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node76" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node76"><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,-4609.5 8,-4609.5 8,-4556.5 240,-4556.5 240,-4609.5"/>
<text text-anchor="middle" x="124" y="-4594.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="124" y="-4579.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="124" y="-4564.3" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1870 -->
<g id="node77" class="node open">
<title>ZcashFoundation/zebra#1870</title>
<g id="a_node77"><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,-4538 8,-4538 8,-4470 240,-4470 240,-4538"/>
<text text-anchor="middle" x="124" y="-4522.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1870</text>
<text text-anchor="middle" x="124" y="-4507.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if old Zebra</text>
<text text-anchor="middle" x="124" y="-4492.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions should</text>
<text text-anchor="middle" x="124" y="-4477.8" font-family="Times,serif" font-size="14.00" fill="#000000">eventually refuse to run</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4168 -->
<g id="node78" class="node open">
<title>ZcashFoundation/zebra#4168</title>
<g id="a_node78"><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,-6100.5 296,-6100.5 296,-6047.5 528,-6047.5 528,-6100.5"/>
<text text-anchor="middle" x="412" y="-6085.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4168</text>
<text text-anchor="middle" x="412" y="-6070.3" font-family="Times,serif" font-size="14.00" fill="#000000">ci: call lightwalletd</text>
<text text-anchor="middle" x="412" y="-6055.3" font-family="Times,serif" font-size="14.00" fill="#000000">wallet queries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4150 -->
<g id="node86" class="node open">
<title>ZcashFoundation/zebra#4150</title>
<g id="a_node86"><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,-6151 584,-6151 584,-6083 816,-6083 816,-6151"/>
<text text-anchor="middle" x="700" y="-6135.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4150</text>
<text text-anchor="middle" x="700" y="-6120.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update column family</text>
<text text-anchor="middle" x="700" y="-6105.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="-6090.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="edge8" class="edge">
<title>ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4150</title>
<path fill="none" stroke="#000000" d="M528.31,-6091.4C543.29,-6093.6 558.69,-6095.9 573.83,-6098.2"/>
<polygon fill="#000000" stroke="#000000" points="573.3281,-6101.6638 583.72,-6099.6 574.3093,-6094.7329 573.3281,-6101.6638"/>
</g>
<!-- ZcashFoundation/zebra#4153 -->
<g id="node87" class="node closed">
<title>ZcashFoundation/zebra#4153</title>
<g id="a_node87"><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="#fad8c7" stroke="#000000" points="816,-6065 584,-6065 584,-5997 816,-5997 816,-6065"/>
<text text-anchor="middle" x="700" y="-6049.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4153</text>
<text text-anchor="middle" x="700" y="-6034.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="-6019.8" font-family="Times,serif" font-size="14.00" fill="#000000">the same version from any</text>
<text text-anchor="middle" x="700" y="-6004.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="edge9" class="edge">
<title>ZcashFoundation/zebra#4168&#45;&gt;ZcashFoundation/zebra#4153</title>
<path fill="none" stroke="#000000" d="M528.31,-6056.6C543.29,-6054.4 558.69,-6052.1 573.83,-6049.8"/>
<polygon fill="#000000" stroke="#000000" points="574.3093,-6053.2671 583.72,-6048.4 573.3281,-6046.3362 574.3093,-6053.2671"/>
</g>
<!-- ZcashFoundation/zebra#4340 -->
<g id="node79" class="node open">
<title>ZcashFoundation/zebra#4340</title>
<g id="a_node79"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4340" xlink:title="ZcashFoundation/zebra#4340&#10;ci: Require successful&#10;lightwalletd integration&#10;tests for PRs to merge" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="528,-6029 296,-6029 296,-5961 528,-5961 528,-6029"/>
<text text-anchor="middle" x="412" y="-6013.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4340</text>
<text text-anchor="middle" x="412" y="-5998.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Require successful</text>
<text text-anchor="middle" x="412" y="-5983.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd integration</text>
<text text-anchor="middle" x="412" y="-5968.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests for PRs to merge</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4450 -->
<g id="node80" class="node open">
<title>ZcashFoundation/zebra#4450</title>
<g id="a_node80"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4450" xlink:title="ZcashFoundation/zebra#4450&#10;Test ZecWallet Lite with&#10;lightwalletd + Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-5942.5 296,-5942.5 296,-5889.5 528,-5889.5 528,-5942.5"/>
<text text-anchor="middle" x="412" y="-5927.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4450</text>
<text text-anchor="middle" x="412" y="-5912.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test ZecWallet Lite with</text>
<text text-anchor="middle" x="412" y="-5897.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd + Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4456 -->
<g id="node81" class="node open">
<title>ZcashFoundation/zebra#4456</title>
<g id="a_node81"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4456" xlink:title="ZcashFoundation/zebra#4456&#10;Full sync test takes&#10;slightly longer than CI&#10;timeout" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-5871 296,-5871 296,-5803 528,-5803 528,-5871"/>
<text text-anchor="middle" x="412" y="-5855.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4456</text>
<text text-anchor="middle" x="412" y="-5840.8" font-family="Times,serif" font-size="14.00" fill="#000000">Full sync test takes</text>
<text text-anchor="middle" x="412" y="-5825.8" font-family="Times,serif" font-size="14.00" fill="#000000">slightly longer than CI</text>
<text text-anchor="middle" x="412" y="-5810.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4480 -->
<g id="node82" class="node open">
<title>ZcashFoundation/zebra#4480</title>
<g id="a_node82"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4480" xlink:title="ZcashFoundation/zebra#4480&#10;Support getblock with&#10;verbosity=1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-5784.5 296,-5784.5 296,-5731.5 528,-5731.5 528,-5784.5"/>
<text text-anchor="middle" x="412" y="-5769.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4480</text>
<text text-anchor="middle" x="412" y="-5754.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support getblock with</text>
<text text-anchor="middle" x="412" y="-5739.3" font-family="Times,serif" font-size="14.00" fill="#000000">verbosity=1</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4451 -->
<g id="node83" class="node open">
<title>ZcashFoundation/zebra#4451</title>
<g id="a_node83"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4451" xlink:title="ZcashFoundation/zebra#4451&#10;Test another wallet with&#10;lightwalletd + Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-5713.5 296,-5713.5 296,-5660.5 528,-5660.5 528,-5713.5"/>
<text text-anchor="middle" x="412" y="-5698.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4451</text>
<text text-anchor="middle" x="412" y="-5683.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test another wallet with</text>
<text text-anchor="middle" x="412" y="-5668.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd + Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4350 -->
<g id="node84" class="node open">
<title>ZcashFoundation/zebra#4350</title>
<g id="a_node84"><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,-5642.5 296,-5642.5 296,-5589.5 528,-5589.5 528,-5642.5"/>
<text text-anchor="middle" x="412" y="-5627.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4350</text>
<text text-anchor="middle" x="412" y="-5612.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetMempoolTx gRPC</text>
<text text-anchor="middle" x="412" y="-5597.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4060 -->
<g id="node85" class="node open">
<title>ZcashFoundation/zebra#4060</title>
<g id="a_node85"><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,-5571 296,-5571 296,-5503 528,-5503 528,-5571"/>
<text text-anchor="middle" x="412" y="-5555.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4060</text>
<text text-anchor="middle" x="412" y="-5540.8" font-family="Times,serif" font-size="14.00" fill="#000000">Report better</text>
<text text-anchor="middle" x="412" y="-5525.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions errors to</text>
<text text-anchor="middle" x="412" y="-5510.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node88" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node88"><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,-6616.5 8,-6616.5 8,-6563.5 240,-6563.5 240,-6616.5"/>
<text text-anchor="middle" x="124" y="-6601.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-6586.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-6571.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node89" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node89"><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,-6673 8,-6673 8,-6635 240,-6635 240,-6673"/>
<text text-anchor="middle" x="124" y="-6657.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="124" y="-6642.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4453 -->
<g id="node90" class="node open">
<title>ZcashFoundation/zebra#4453</title>
<g id="a_node90"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4453" xlink:title="ZcashFoundation/zebra#4453&#10;CI(rpc): Add grpc tests&#10;to CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-6021.5 8,-6021.5 8,-6017.5 4,-6017.5 4,-6013.5 8,-6013.5 8,-5976.5 4,-5976.5 4,-5972.5 8,-5972.5 8,-5968.5 240,-5968.5 240,-6021.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-6017.5 12,-6017.5 12,-6013.5 8,-6013.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="8,-5976.5 12,-5976.5 12,-5972.5 8,-5972.5 "/>
<text text-anchor="middle" x="124" y="-6006.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4453</text>
<text text-anchor="middle" x="124" y="-5991.3" font-family="Times,serif" font-size="14.00" fill="#000000">CI(rpc): Add grpc tests</text>
<text text-anchor="middle" x="124" y="-5976.3" font-family="Times,serif" font-size="14.00" fill="#000000">to CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4453&#45;&gt;ZcashFoundation/zebra#4340 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4453&#45;&gt;ZcashFoundation/zebra#4340</title>
<path fill="none" stroke="#000000" d="M240.31,-5995C255.15,-5995 270.4,-5995 285.39,-5995"/>
<polygon fill="#000000" stroke="#000000" points="285.72,-5998.5001 295.72,-5995 285.72,-5991.5001 285.72,-5998.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>