developers/zcash-zf-dag.html

659 lines
49 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="1060pt" height="2889pt"
viewBox="0.00 0.00 1060.00 2889.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 2885)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2885 1056,-2885 1056,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-2881 1052,-2881 1052,0 0,0"/>
<text text-anchor="middle" x="526" y="-2865.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="8,-987.5 8,-1841.5 524,-1841.5 524,-987.5 8,-987.5"/>
<text text-anchor="middle" x="266" y="-1826.3" font-family="Times,serif" font-size="14.00" fill="#000000">DevOps Ticket Tracker</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="276,-61.5 276,-916.5 792,-916.5 792,-61.5 276,-61.5"/>
<text text-anchor="middle" x="534" y="-901.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidates</text>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4953" xlink:title="ZcashFoundation/zebra#4953&#10;Document how to use&#10;released Zebra binaries" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1581 16,-1581 16,-1528 248,-1528 248,-1581"/>
<text text-anchor="middle" x="132" y="-1565.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="132" y="-1550.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="132" y="-1535.8" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra release candidate&#10;binaries should be linked&#10;from ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="516,-885.5 284,-885.5 284,-817.5 516,-817.5 516,-885.5"/>
<text text-anchor="middle" x="400" y="-870.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="400" y="-855.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="400" y="-840.3" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="400" y="-825.3" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M239.42,-1527.6C242.54,-1524.9 245.42,-1521.8 248,-1518.5 290.08,-1464 235.81,-955.4 276,-899.5 277.74,-897.08 279.61,-894.79 281.61,-892.61"/>
<polygon fill="#000000" stroke="#000000" points="284.0698,-895.1002 288.84,-885.64 279.2115,-890.0607 284.0698,-895.1002"/>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1963" xlink:title="ZcashFoundation/zebra#1963&#10;Work out how to release&#10;Zebra binaries" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1810 16,-1810 16,-1757 248,-1757 248,-1810"/>
<text text-anchor="middle" x="132" y="-1794.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="132" y="-1779.8" font-family="Times,serif" font-size="14.00" fill="#000000">Work out how to release</text>
<text text-anchor="middle" x="132" y="-1764.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4954" xlink:title="ZcashFoundation/zebra#4954&#10;Update release checklist&#10;PR template for the&#10;release candidate series" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="516,-1724.5 284,-1724.5 284,-1656.5 516,-1656.5 516,-1724.5"/>
<text text-anchor="middle" x="400" y="-1709.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="400" y="-1694.3" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="400" y="-1679.3" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="400" y="-1664.3" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate series</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4954 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4954</title>
<path fill="none" stroke="#000000" d="M222.74,-1756.9C231.35,-1753.9 239.88,-1750.8 248,-1747.5 260.91,-1742.3 263.18,-1738.9 276,-1733.5 280.19,-1731.7 284.48,-1730 288.82,-1728.3"/>
<polygon fill="#000000" stroke="#000000" points="290.4101,-1731.4349 298.42,-1724.5 287.8337,-1724.9262 290.4101,-1731.4349"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4412" xlink:title="ZcashFoundation/zebra#4412&#10;Automate pinning CI&#10;dependencies to specific&#10;commit hashes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="516,-1810.5 284,-1810.5 284,-1742.5 516,-1742.5 516,-1810.5"/>
<text text-anchor="middle" x="400" y="-1795.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="400" y="-1780.3" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="400" y="-1765.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="400" y="-1750.3" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4412 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4412</title>
<path fill="none" stroke="#000000" d="M248.38,-1780.5C256.71,-1780.2 265.14,-1780 273.53,-1779.8"/>
<polygon fill="#000000" stroke="#000000" points="273.8471,-1783.2923 283.74,-1779.5 273.6415,-1776.2953 273.8471,-1783.2923"/>
</g>
<!-- ZcashFoundation/zebra#755 -->
<g id="node25" class="node closed">
<title>ZcashFoundation/zebra#755</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/755" xlink:title="ZcashFoundation/zebra#755&#10;Automate zebrad releases" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="511.5,-979.5 288.5,-979.5 288.5,-941.5 511.5,-941.5 511.5,-979.5"/>
<text text-anchor="middle" x="400" y="-964.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#755</text>
<text text-anchor="middle" x="400" y="-949.3" font-family="Times,serif" font-size="14.00" fill="#000000">Automate zebrad releases</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#755 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#755</title>
<path fill="none" stroke="#000000" d="M239.45,-1756.7C242.57,-1753.9 245.44,-1750.8 248,-1747.5 299.63,-1680 220.5,-1047.8 276,-983.5 277.37,-981.91 278.81,-980.42 280.31,-979"/>
<polygon fill="#000000" stroke="#000000" points="282.7059,-981.5652 288.32,-972.58 278.3281,-976.1031 282.7059,-981.5652"/>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra 1.0.0&#45;rc.0&#10;stable release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="784,-784 552,-784 552,-731 784,-731 784,-784"/>
<text text-anchor="middle" x="668" y="-768.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="668" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;rc.0</text>
<text text-anchor="middle" x="668" y="-738.8" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M515.15,-1656.5C518.32,-1653.7 521.29,-1650.7 524,-1647.5 635.47,-1514.8 661.84,-945.78 666.93,-794.54"/>
<polygon fill="#000000" stroke="#000000" points="670.4334,-794.4884 667.26,-784.38 663.4371,-794.2611 670.4334,-794.4884"/>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4612" xlink:title="ZcashFoundation/zebra#4612&#10;ci: Wait for lightwalletd&#10;image rebuild if it has&#10;changed" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="516,-1638.5 284,-1638.5 284,-1570.5 516,-1570.5 516,-1638.5"/>
<text text-anchor="middle" x="400" y="-1623.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="400" y="-1608.3" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="400" y="-1593.3" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="400" y="-1578.3" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4882" xlink:title="ZcashFoundation/zebra#4882&#10;Add zcash&#45;lightwalletd /&#10;Build images to required&#10;jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1738.5 16,-1738.5 16,-1670.5 248,-1670.5 248,-1738.5"/>
<text text-anchor="middle" x="132" y="-1723.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="132" y="-1708.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="132" y="-1693.3" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="132" y="-1678.3" font-family="Times,serif" font-size="14.00" fill="#000000">jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M226.67,-1670.4C233.92,-1667.5 241.1,-1664.5 248,-1661.5 260.76,-1656 263.18,-1652.9 276,-1647.5 280.19,-1645.7 284.48,-1644 288.82,-1642.3"/>
<polygon fill="#000000" stroke="#000000" points="290.4101,-1645.4349 298.42,-1638.5 287.8337,-1638.9262 290.4101,-1645.4349"/>
</g>
<!-- ZcashFoundation/zebra#4992 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#4992</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4992" xlink:title="ZcashFoundation/zebra#4992&#10;Run cached state CI on&#10;testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="248,-1652 16,-1652 16,-1599 248,-1599 248,-1652"/>
<text text-anchor="middle" x="132" y="-1636.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="132" y="-1621.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="132" y="-1606.8" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: surface&#10;zebrad mainnet sync time&#10;in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1509.5 16,-1509.5 16,-1441.5 248,-1441.5 248,-1509.5"/>
<text text-anchor="middle" x="132" y="-1494.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="132" y="-1479.3" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="132" y="-1464.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="132" y="-1449.3" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4529 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4529</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4529" xlink:title="ZcashFoundation/zebra#4529&#10;Make PRs from external&#10;repositories pass or skip&#10;CI jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1423.5 16,-1423.5 16,-1355.5 248,-1355.5 248,-1423.5"/>
<text text-anchor="middle" x="132" y="-1408.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4529</text>
<text text-anchor="middle" x="132" y="-1393.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make PRs from external</text>
<text text-anchor="middle" x="132" y="-1378.3" font-family="Times,serif" font-size="14.00" fill="#000000">repositories pass or skip</text>
<text text-anchor="middle" x="132" y="-1363.3" font-family="Times,serif" font-size="14.00" fill="#000000">CI jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4955 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#4955</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4955" xlink:title="ZcashFoundation/zebra#4955&#10;Make long&#45;running test&#10;names match workflow&#10;names" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1337.5 16,-1337.5 16,-1269.5 248,-1269.5 248,-1337.5"/>
<text text-anchor="middle" x="132" y="-1322.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="132" y="-1307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="132" y="-1292.3" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="132" y="-1277.3" font-family="Times,serif" font-size="14.00" fill="#000000">names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4956 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#4956</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4956" xlink:title="ZcashFoundation/zebra#4956&#10;Make file locations&#10;appear in zebrad Docker&#10;error messages" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1251.5 16,-1251.5 16,-1183.5 248,-1183.5 248,-1251.5"/>
<text text-anchor="middle" x="132" y="-1236.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4956</text>
<text text-anchor="middle" x="132" y="-1221.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make file locations</text>
<text text-anchor="middle" x="132" y="-1206.3" font-family="Times,serif" font-size="14.00" fill="#000000">appear in zebrad Docker</text>
<text text-anchor="middle" x="132" y="-1191.3" font-family="Times,serif" font-size="14.00" fill="#000000">error messages</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4976 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#4976</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4976" xlink:title="ZcashFoundation/zebra#4976&#10;Move continuous&#10;deployment to another&#10;Google Cloud region" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1165.5 16,-1165.5 16,-1097.5 248,-1097.5 248,-1165.5"/>
<text text-anchor="middle" x="132" y="-1150.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4976</text>
<text text-anchor="middle" x="132" y="-1135.3" font-family="Times,serif" font-size="14.00" fill="#000000">Move continuous</text>
<text text-anchor="middle" x="132" y="-1120.3" font-family="Times,serif" font-size="14.00" fill="#000000">deployment to another</text>
<text text-anchor="middle" x="132" y="-1105.3" font-family="Times,serif" font-size="14.00" fill="#000000">Google Cloud region</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4946 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#4946</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4946" xlink:title="ZcashFoundation/zebra#4946&#10;Managed instance groups&#10;deployed with continuous&#10;deployment can&#39;t scale&#10;beyond 1 instance" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1079 16,-1079 16,-996 248,-996 248,-1079"/>
<text text-anchor="middle" x="132" y="-1063.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4946</text>
<text text-anchor="middle" x="132" y="-1048.8" font-family="Times,serif" font-size="14.00" fill="#000000">Managed instance groups</text>
<text text-anchor="middle" x="132" y="-1033.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployed with continuous</text>
<text text-anchor="middle" x="132" y="-1018.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment can&#39;t scale</text>
<text text-anchor="middle" x="132" y="-1003.8" font-family="Times,serif" font-size="14.00" fill="#000000">beyond 1 instance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M648.44,-784.18C623.43,-816.11 576.97,-868.5 524,-894.5 423.9,-943.63 350.41,-849.45 276,-932.5 227.17,-987 292.87,-1532.7 248,-1590.5 247.78,-1590.8 247.56,-1591.1 247.34,-1591.3"/>
<polygon fill="#000000" stroke="#000000" points="244.6045,-1589.1013 240.34,-1598.8 249.7219,-1593.8775 244.6045,-1589.1013"/>
</g>
<!-- ZcashFoundation/zebra#4967 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4967</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4967" xlink:title="ZcashFoundation/zebra#4967&#10;feat(rpc): add&#10;getblockhash rpc method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1052,-784 820,-784 820,-780 816,-780 816,-776 820,-776 820,-739 816,-739 816,-735 820,-735 820,-731 1052,-731 1052,-784"/>
<polyline fill="none" stroke="#000000" points="820,-780 824,-780 824,-776 820,-776 "/>
<polyline fill="none" stroke="#000000" points="820,-739 824,-739 824,-735 820,-735 "/>
<text text-anchor="middle" x="936" y="-768.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="936" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="936" y="-738.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblockhash rpc method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M784.38,-757.5C792.71,-757.5 801.14,-757.5 809.53,-757.5"/>
<polygon fill="#000000" stroke="#000000" points="809.74,-761.0001 819.74,-757.5 809.74,-754.0001 809.74,-761.0001"/>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4894" xlink:title="ZcashFoundation/zebra#4894&#10;Make tests wait until&#10;lightwalletd full sync&#10;goes all the way to the&#10;tip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-799 284,-799 284,-716 516,-716 516,-799"/>
<text text-anchor="middle" x="400" y="-783.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="400" y="-768.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make tests wait until</text>
<text text-anchor="middle" x="400" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd full sync</text>
<text text-anchor="middle" x="400" y="-738.8" font-family="Times,serif" font-size="14.00" fill="#000000">goes all the way to the</text>
<text text-anchor="middle" x="400" y="-723.8" font-family="Times,serif" font-size="14.00" fill="#000000">tip</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M516.38,-757.5C524.71,-757.5 533.14,-757.5 541.53,-757.5"/>
<polygon fill="#000000" stroke="#000000" points="541.74,-761.0001 551.74,-757.5 541.74,-754.0001 541.74,-761.0001"/>
</g>
<!-- ZcashFoundation/zebra#4778 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4778</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4778" xlink:title="ZcashFoundation/zebra#4778&#10;Replace old release&#10;criteria with stable&#10;release candidate&#10;criteria in docs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-698 284,-698 284,-615 516,-615 516,-698"/>
<text text-anchor="middle" x="400" y="-682.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4778</text>
<text text-anchor="middle" x="400" y="-667.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace old release</text>
<text text-anchor="middle" x="400" y="-652.8" font-family="Times,serif" font-size="14.00" fill="#000000">criteria with stable</text>
<text text-anchor="middle" x="400" y="-637.8" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate</text>
<text text-anchor="middle" x="400" y="-622.8" font-family="Times,serif" font-size="14.00" fill="#000000">criteria in docs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4778&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#4778&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M510.17,-698.02C536.17,-707.82 563.4,-718.08 587.79,-727.27"/>
<polygon fill="#000000" stroke="#000000" points="586.7482,-730.6176 597.34,-730.87 589.2173,-724.0676 586.7482,-730.6176"/>
</g>
<!-- ZcashFoundation/zebra#4684 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#4684</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4684" xlink:title="ZcashFoundation/zebra#4684&#10;Test that every old&#10;zebrad.toml config still&#10;works" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-596.5 284,-596.5 284,-528.5 516,-528.5 516,-596.5"/>
<text text-anchor="middle" x="400" y="-581.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4684</text>
<text text-anchor="middle" x="400" y="-566.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test that every old</text>
<text text-anchor="middle" x="400" y="-551.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad.toml config still</text>
<text text-anchor="middle" x="400" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">works</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4684&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#4684&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M506.79,-596.6C512.75,-599.66 518.54,-602.96 524,-606.5 572.48,-637.92 616.44,-688.8 642.7,-722.69"/>
<polygon fill="#000000" stroke="#000000" points="640.1368,-725.1001 648.99,-730.92 645.6984,-720.8494 640.1368,-725.1001"/>
</g>
<!-- ZcashFoundation/zebra#5011 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#5011</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5011" xlink:title="ZcashFoundation/zebra#5011&#10;Tag Zebra 1.0.0&#45;beta.15&#10;release" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="784,-53 552,-53 552,0 784,0 784,-53"/>
<text text-anchor="middle" x="668" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5011</text>
<text text-anchor="middle" x="668" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;beta.15</text>
<text text-anchor="middle" x="668" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4684&#45;&gt;ZcashFoundation/zebra#5011 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4684&#45;&gt;ZcashFoundation/zebra#5011</title>
<path fill="none" stroke="#000000" d="M516.31,-528.11C519.08,-525.45 521.66,-522.59 524,-519.5 584.26,-440.02 492.78,-155.13 549.94,-61.526"/>
<polygon fill="#000000" stroke="#000000" points="552.8204,-63.5146 555.74,-53.33 547.1064,-59.471 552.8204,-63.5146"/>
</g>
<!-- ZcashFoundation/zebra#4821 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4821</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4821" xlink:title="ZcashFoundation/zebra#4821&#10;Open the database in a&#10;blocking tokio thread" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-510 284,-510 284,-457 516,-457 516,-510"/>
<text text-anchor="middle" x="400" y="-494.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4821</text>
<text text-anchor="middle" x="400" y="-479.8" font-family="Times,serif" font-size="14.00" fill="#000000">Open the database in a</text>
<text text-anchor="middle" x="400" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">blocking tokio thread</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4834 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#4834</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4834" xlink:title="ZcashFoundation/zebra#4834&#10;Switch zebrad to a non&#45;&#10;blocking tracing logger" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-439 284,-439 284,-386 516,-386 516,-439"/>
<text text-anchor="middle" x="400" y="-423.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4834</text>
<text text-anchor="middle" x="400" y="-408.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch zebrad to a non&#45;</text>
<text text-anchor="middle" x="400" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">blocking tracing logger</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4937 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#4937</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4937" xlink:title="ZcashFoundation/zebra#4937&#10;Epic: Commit blocks to&#10;state using a separate&#10;task" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-367.5 284,-367.5 284,-299.5 516,-299.5 516,-367.5"/>
<text text-anchor="middle" x="400" y="-352.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="400" y="-337.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="400" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="400" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">task</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node22"><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="516,-281 284,-281 284,-228 516,-228 516,-281"/>
<text text-anchor="middle" x="400" y="-265.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="400" y="-250.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="400" y="-235.8" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4678 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4678</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4678" xlink:title="ZcashFoundation/zebra#4678&#10;Return peer metadata from&#10;`connect_isolated`&#10;functions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="516,-209.5 284,-209.5 284,-141.5 516,-141.5 516,-209.5"/>
<text text-anchor="middle" x="400" y="-194.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4678</text>
<text text-anchor="middle" x="400" y="-179.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return peer metadata from</text>
<text text-anchor="middle" x="400" y="-164.3" font-family="Times,serif" font-size="14.00" fill="#000000">`connect_isolated`</text>
<text text-anchor="middle" x="400" y="-149.3" font-family="Times,serif" font-size="14.00" fill="#000000">functions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node24"><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="516,-123 284,-123 284,-70 516,-70 516,-123"/>
<text text-anchor="middle" x="400" y="-107.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="400" y="-92.8" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="400" y="-77.8" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/271" xlink:title="ZcashFoundation/zebra#271&#10;Sapling/Orchard Key&#10;Agreement and KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="243.5,-1949 20.5,-1949 20.5,-1896 243.5,-1896 243.5,-1949"/>
<text text-anchor="middle" x="132" y="-1933.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="132" y="-1918.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard Key</text>
<text text-anchor="middle" x="132" y="-1903.8" font-family="Times,serif" font-size="14.00" fill="#000000">Agreement and KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/269" xlink:title="ZcashFoundation/zebra#269&#10;Sapling/Orchard note&#10;encryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="511.5,-1917.5 288.5,-1917.5 288.5,-1849.5 511.5,-1849.5 511.5,-1917.5"/>
<text text-anchor="middle" x="400" y="-1902.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="400" y="-1887.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard note</text>
<text text-anchor="middle" x="400" y="-1872.3" font-family="Times,serif" font-size="14.00" fill="#000000">encryption</text>
<text text-anchor="middle" x="400" y="-1857.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="edge13" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M243.72,-1906.2C255.16,-1904.6 266.82,-1902.9 278.36,-1901.2"/>
<polygon fill="#000000" stroke="#000000" points="279.092,-1904.6298 288.47,-1899.7 278.0646,-1897.7056 279.092,-1904.6298"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node30"><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="516,-1989 284,-1989 284,-1936 516,-1936 516,-1989"/>
<text text-anchor="middle" x="400" y="-1973.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="400" y="-1958.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="400" y="-1943.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M243.72,-1939.2C253.63,-1940.7 263.7,-1942.2 273.72,-1943.7"/>
<polygon fill="#000000" stroke="#000000" points="273.321,-1947.1782 283.71,-1945.1 274.2925,-1940.2459 273.321,-1947.1782"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node31"><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="243.5,-2005.5 20.5,-2005.5 20.5,-1967.5 243.5,-1967.5 243.5,-2005.5"/>
<text text-anchor="middle" x="132" y="-1990.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="132" y="-1975.3" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2631" xlink:title="ZcashFoundation/zebra#2631&#10;Send committed spent&#10;OutPoints &amp; nullifiers to&#10;the mempool for rejection" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2091.5 16,-2091.5 16,-2023.5 248,-2023.5 248,-2091.5"/>
<text text-anchor="middle" x="132" y="-2076.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="132" y="-2061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="132" y="-2046.3" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="132" y="-2031.3" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node33"><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="248,-2163 16,-2163 16,-2110 248,-2110 248,-2163"/>
<text text-anchor="middle" x="132" y="-2147.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="132" y="-2132.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="132" y="-2117.8" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node34"><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="248,-2234 16,-2234 16,-2181 248,-2181 248,-2234"/>
<text text-anchor="middle" x="132" y="-2218.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="132" y="-2203.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="132" y="-2188.8" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4672" xlink:title="ZcashFoundation/zebra#4672&#10;Add support for Orchard&#10;proof batch verification" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2305 16,-2305 16,-2252 248,-2252 248,-2305"/>
<text text-anchor="middle" x="132" y="-2289.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="132" y="-2274.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="132" y="-2259.8" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node36" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4841" xlink:title="ZcashFoundation/zebra#4841&#10;Improve note commitment&#10;tree append performance" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="516,-2441 284,-2441 284,-2388 516,-2388 516,-2441"/>
<text text-anchor="middle" x="400" y="-2425.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="400" y="-2410.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="400" y="-2395.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4870 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#4870</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4870" xlink:title="ZcashFoundation/zebra#4870&#10;feat(net): return peer&#10;metadata from&#10;`connect_isolated`&#10;functions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2608 16,-2608 16,-2604 12,-2604 12,-2600 16,-2600 16,-2533 12,-2533 12,-2529 16,-2529 16,-2525 248,-2525 248,-2608"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="16,-2604 20,-2604 20,-2600 16,-2600 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="16,-2533 20,-2533 20,-2529 16,-2529 "/>
<text text-anchor="middle" x="132" y="-2592.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4870</text>
<text text-anchor="middle" x="132" y="-2577.8" font-family="Times,serif" font-size="14.00" fill="#000000">feat(net): return peer</text>
<text text-anchor="middle" x="132" y="-2562.8" font-family="Times,serif" font-size="14.00" fill="#000000">metadata from</text>
<text text-anchor="middle" x="132" y="-2547.8" font-family="Times,serif" font-size="14.00" fill="#000000">`connect_isolated`</text>
<text text-anchor="middle" x="132" y="-2532.8" font-family="Times,serif" font-size="14.00" fill="#000000">functions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2709 16,-2709 16,-2626 248,-2626 248,-2709"/>
<text text-anchor="middle" x="132" y="-2693.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="132" y="-2678.8" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="132" y="-2663.8" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="132" y="-2648.8" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="132" y="-2633.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3096" xlink:title="ZcashFoundation/zebra#3096&#10;Epic: Zebra Release&#10;Candidates" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2780 16,-2780 16,-2727 248,-2727 248,-2780"/>
<text text-anchor="middle" x="132" y="-2764.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="132" y="-2749.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="132" y="-2734.8" font-family="Times,serif" font-size="14.00" fill="#000000">Candidates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2507 16,-2507 16,-2424 248,-2424 248,-2507"/>
<text text-anchor="middle" x="132" y="-2491.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="132" y="-2476.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="132" y="-2461.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="132" y="-2446.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="132" y="-2431.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M248.38,-2443.4C256.81,-2441.7 265.33,-2440.1 273.81,-2438.5"/>
<polygon fill="#000000" stroke="#000000" points="274.576,-2441.917 283.74,-2436.6 273.2604,-2435.0417 274.576,-2441.917"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2406 16,-2406 16,-2323 248,-2323 248,-2406"/>
<text text-anchor="middle" x="132" y="-2390.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="132" y="-2375.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="132" y="-2360.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="132" y="-2345.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="132" y="-2330.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M248.38,-2386.2C256.81,-2387.8 265.33,-2389.4 273.81,-2391"/>
<polygon fill="#000000" stroke="#000000" points="273.2761,-2394.4602 283.74,-2392.8 274.5246,-2387.5724 273.2761,-2394.4602"/>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-2881 16,-2881 16,-2798 248,-2798 248,-2881"/>
<text text-anchor="middle" x="132" y="-2865.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="132" y="-2850.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="132" y="-2835.8" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="132" y="-2820.8" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="132" y="-2805.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node43" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="516,-2873.5 284,-2873.5 284,-2805.5 516,-2805.5 516,-2873.5"/>
<text text-anchor="middle" x="400" y="-2858.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="400" y="-2843.3" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="400" y="-2828.3" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="400" y="-2813.3" font-family="Times,serif" font-size="14.00" fill="#000000">still connect to them</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M248.38,-2839.5C256.71,-2839.5 265.14,-2839.5 273.53,-2839.5"/>
<polygon fill="#000000" stroke="#000000" points="273.74,-2843.0001 283.74,-2839.5 273.74,-2836.0001 273.74,-2843.0001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>