developers/zcash-zf-dag.html

696 lines
54 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="1100pt" height="2236pt"
viewBox="0.00 0.00 1100.00 2235.97" 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 2231.965)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2231.965 1096,-2231.965 1096,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="308,-67.444 308,-1094.465 824,-1094.465 824,-67.444 308,-67.444"/>
<text text-anchor="middle" x="566" y="-1079.265" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidates</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="576,-1165.465 576,-1933.465 1092,-1933.465 1092,-1165.465 576,-1165.465"/>
<text text-anchor="middle" x="834" y="-1918.265" font-family="Times,serif" font-size="14.00" fill="#000000">DevOps Ticket Tracker</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-394.445 0,-501.445 288,-501.445 288,-394.445 0,-394.445"/>
<text text-anchor="middle" x="144" y="-486.245" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node1"><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="548,-1063.465 316,-1063.465 316,-995.465 548,-995.465 548,-1063.465"/>
<text text-anchor="middle" x="432" y="-1048.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="432" y="-1033.265" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="432" y="-1018.265" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="432" y="-1003.265" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node2"><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="816,-836.945 584,-836.945 584,-783.945 816,-783.945 816,-836.945"/>
<text text-anchor="middle" x="700" y="-821.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="700" y="-806.745" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;rc.0</text>
<text text-anchor="middle" x="700" y="-791.745" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4992 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4992</title>
<g id="a_node19"><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="816,-1672.965 584,-1672.965 584,-1619.965 816,-1619.965 816,-1672.965"/>
<text text-anchor="middle" x="700" y="-1657.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="700" y="-1642.765" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="700" y="-1627.765" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M682.36,-837.255C650.72,-887.125 585.45,-998.635 562,-1103.465 555.96,-1130.465 548.74,-1577.165 562,-1601.465 565.65,-1608.165 570.37,-1613.865 575.85,-1618.765"/>
<polygon fill="#000000" stroke="#000000" points="573.7304,-1621.5506 583.76,-1624.965 578.0487,-1616.0413 573.7304,-1621.5506"/>
</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="1084,-836.945 852,-836.945 852,-832.945 848,-832.945 848,-828.945 852,-828.945 852,-791.945 848,-791.945 848,-787.945 852,-787.945 852,-783.945 1084,-783.945 1084,-836.945"/>
<polyline fill="none" stroke="#000000" points="852,-832.945 856,-832.945 856,-828.945 852,-828.945 "/>
<polyline fill="none" stroke="#000000" points="852,-791.945 856,-791.945 856,-787.945 852,-787.945 "/>
<text text-anchor="middle" x="968" y="-821.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="968" y="-806.745" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="968" y="-791.745" 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="edge7" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M816.38,-810.445C824.71,-810.445 833.14,-810.445 841.53,-810.445"/>
<polygon fill="#000000" stroke="#000000" points="841.74,-813.9451 851.74,-810.445 841.74,-806.9451 841.74,-813.9451"/>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node3"><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" points="548,-804.945 316,-804.945 316,-721.945 548,-721.945 548,-804.945"/>
<text text-anchor="middle" x="432" y="-789.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="432" y="-774.745" font-family="Times,serif" font-size="14.00" fill="#000000">Make tests wait until</text>
<text text-anchor="middle" x="432" y="-759.745" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd full sync</text>
<text text-anchor="middle" x="432" y="-744.745" font-family="Times,serif" font-size="14.00" fill="#000000">goes all the way to the</text>
<text text-anchor="middle" x="432" y="-729.745" 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="edge1" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M548.38,-783.855C556.81,-785.335 565.33,-786.825 573.81,-788.315"/>
<polygon fill="#000000" stroke="#000000" points="573.286,-791.7764 583.74,-790.055 574.4942,-784.8815 573.286,-791.7764"/>
</g>
<!-- ZcashFoundation/zebra#4778 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#4778</title>
<g id="a_node4"><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="548,-703.945 316,-703.945 316,-620.945 548,-620.945 548,-703.945"/>
<text text-anchor="middle" x="432" y="-688.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4778</text>
<text text-anchor="middle" x="432" y="-673.745" font-family="Times,serif" font-size="14.00" fill="#000000">Replace old release</text>
<text text-anchor="middle" x="432" y="-658.745" font-family="Times,serif" font-size="14.00" fill="#000000">criteria with stable</text>
<text text-anchor="middle" x="432" y="-643.745" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate</text>
<text text-anchor="middle" x="432" y="-628.745" 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="edge2" class="edge">
<title>ZcashFoundation/zebra#4778&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M529.68,-704.075C535.93,-707.145 542.08,-710.275 548,-713.445 584.56,-732.995 623.97,-758.275 653.49,-778.125"/>
<polygon fill="#000000" stroke="#000000" points="651.6947,-781.136 661.94,-783.835 655.614,-775.336 651.6947,-781.136"/>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node5"><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="548,-977.445 316,-977.445 316,-909.445 548,-909.445 548,-977.445"/>
<text text-anchor="middle" x="432" y="-962.245" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="432" y="-947.245" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="432" y="-932.245" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="432" y="-917.245" font-family="Times,serif" font-size="14.00" fill="#000000">jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node18"><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="816,-1759.465 584,-1759.465 584,-1691.465 816,-1691.465 816,-1759.465"/>
<text text-anchor="middle" x="700" y="-1744.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="700" y="-1729.265" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="700" y="-1714.265" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="700" y="-1699.265" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M540.47,-977.725C543.2,-980.415 545.73,-983.315 548,-986.445 593.47,-1049.065 529.87,-1620.265 576,-1682.465 576.29,-1682.865 576.58,-1683.265 576.88,-1683.565"/>
<polygon fill="#000000" stroke="#000000" points="574.3601,-1685.9988 583.61,-1691.165 579.6007,-1681.358 574.3601,-1685.9988"/>
</g>
<!-- ZcashFoundation/zebra#4684 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4684</title>
<g id="a_node6"><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="548,-891.445 316,-891.445 316,-823.445 548,-823.445 548,-891.445"/>
<text text-anchor="middle" x="432" y="-876.245" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4684</text>
<text text-anchor="middle" x="432" y="-861.245" font-family="Times,serif" font-size="14.00" fill="#000000">Test that every old</text>
<text text-anchor="middle" x="432" y="-846.245" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad.toml config still</text>
<text text-anchor="middle" x="432" y="-831.245" 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="edge3" class="edge">
<title>ZcashFoundation/zebra#4684&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M548.38,-837.035C556.81,-835.555 565.33,-834.065 573.81,-832.575"/>
<polygon fill="#000000" stroke="#000000" points="574.4942,-836.0085 583.74,-830.835 573.286,-829.1136 574.4942,-836.0085"/>
</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="816,-1155.965 584,-1155.965 584,-1102.965 816,-1102.965 816,-1155.965"/>
<text text-anchor="middle" x="700" y="-1140.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5011</text>
<text text-anchor="middle" x="700" y="-1125.765" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;beta.15</text>
<text text-anchor="middle" x="700" y="-1110.765" 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="edge9" class="edge">
<title>ZcashFoundation/zebra#4684&#45;&gt;ZcashFoundation/zebra#5011</title>
<path fill="none" stroke="#000000" d="M539.6,-891.595C542.62,-894.325 545.44,-897.265 548,-900.445 603.76,-969.655 516.52,-1032.365 576,-1098.465 576.15,-1098.565 576.31,-1098.765 576.46,-1098.965"/>
<polygon fill="#000000" stroke="#000000" points="574.2256,-1101.6681 583.91,-1105.965 579.0189,-1096.5667 574.2256,-1101.6681"/>
</g>
<!-- ZcashFoundation/zebra#4529 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#4529</title>
<g id="a_node7"><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="548,-602.445 316,-602.445 316,-534.445 548,-534.445 548,-602.445"/>
<text text-anchor="middle" x="432" y="-587.245" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4529</text>
<text text-anchor="middle" x="432" y="-572.245" font-family="Times,serif" font-size="14.00" fill="#000000">Make PRs from external</text>
<text text-anchor="middle" x="432" y="-557.245" font-family="Times,serif" font-size="14.00" fill="#000000">repositories pass or skip</text>
<text text-anchor="middle" x="432" y="-542.245" font-family="Times,serif" font-size="14.00" fill="#000000">CI jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4821 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#4821</title>
<g id="a_node8"><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="548,-515.945 316,-515.945 316,-462.945 548,-462.945 548,-515.945"/>
<text text-anchor="middle" x="432" y="-500.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4821</text>
<text text-anchor="middle" x="432" y="-485.745" font-family="Times,serif" font-size="14.00" fill="#000000">Open the database in a</text>
<text text-anchor="middle" x="432" y="-470.745" font-family="Times,serif" font-size="14.00" fill="#000000">blocking tokio thread</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4834 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4834</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4834" xlink:title="ZcashFoundation/zebra#4834&#10;Switch zebrad to a non&#45;&#10;blocking tracing logger" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-444.945 316,-444.945 316,-391.945 548,-391.945 548,-444.945"/>
<text text-anchor="middle" x="432" y="-429.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4834</text>
<text text-anchor="middle" x="432" y="-414.745" font-family="Times,serif" font-size="14.00" fill="#000000">Switch zebrad to a non&#45;</text>
<text text-anchor="middle" x="432" y="-399.745" font-family="Times,serif" font-size="14.00" fill="#000000">blocking tracing logger</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4937 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#4937</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4937" xlink:title="ZcashFoundation/zebra#4937&#10;Committing some blocks to&#10;the state takes 15&#10;minutes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-373.445 316,-373.445 316,-305.445 548,-305.445 548,-373.445"/>
<text text-anchor="middle" x="432" y="-358.245" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="432" y="-343.245" font-family="Times,serif" font-size="14.00" fill="#000000">Committing some blocks to</text>
<text text-anchor="middle" x="432" y="-328.245" font-family="Times,serif" font-size="14.00" fill="#000000">the state takes 15</text>
<text text-anchor="middle" x="432" y="-313.245" font-family="Times,serif" font-size="14.00" fill="#000000">minutes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node11"><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="548,-286.945 316,-286.945 316,-233.945 548,-233.945 548,-286.945"/>
<text text-anchor="middle" x="432" y="-271.745" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="432" y="-256.745" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="432" y="-241.745" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4678 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#4678</title>
<g id="a_node12"><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="548,-215.445 316,-215.445 316,-147.445 548,-147.445 548,-215.445"/>
<text text-anchor="middle" x="432" y="-200.245" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4678</text>
<text text-anchor="middle" x="432" y="-185.245" font-family="Times,serif" font-size="14.00" fill="#000000">Return peer metadata from</text>
<text text-anchor="middle" x="432" y="-170.245" font-family="Times,serif" font-size="14.00" fill="#000000">`connect_isolated`</text>
<text text-anchor="middle" x="432" y="-155.245" font-family="Times,serif" font-size="14.00" fill="#000000">functions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node13"><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="548,-128.944 316,-128.944 316,-75.944 548,-75.944 548,-128.944"/>
<text text-anchor="middle" x="432" y="-113.744" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="432" y="-98.744" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="432" y="-83.744" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node14"><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="816,-1901.965 584,-1901.965 584,-1848.965 816,-1848.965 816,-1901.965"/>
<text text-anchor="middle" x="700" y="-1886.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="700" y="-1871.765" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="700" y="-1856.765" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M583.72,-1848.665C580.94,-1846.165 578.35,-1843.465 576,-1840.465 524.71,-1775.265 591.27,-1165.165 548,-1094.465 542.24,-1085.065 534.58,-1076.865 525.93,-1069.765"/>
<polygon fill="#000000" stroke="#000000" points="527.8175,-1066.8043 517.73,-1063.565 523.5957,-1072.3879 527.8175,-1066.8043"/>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node15"><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="816,-1830.965 584,-1830.965 584,-1777.965 816,-1777.965 816,-1830.965"/>
<text text-anchor="middle" x="700" y="-1815.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="700" y="-1800.765" font-family="Times,serif" font-size="14.00" fill="#000000">Work out how to release</text>
<text text-anchor="middle" x="700" y="-1785.765" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node16"><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="1084,-1497.465 852,-1497.465 852,-1429.465 1084,-1429.465 1084,-1497.465"/>
<text text-anchor="middle" x="968" y="-1482.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="968" y="-1467.265" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="968" y="-1452.265" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="968" y="-1437.265" 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="edge4" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4954</title>
<path fill="none" stroke="#000000" d="M810.85,-1777.965C815.49,-1775.065 819.91,-1771.965 824,-1768.465 904.99,-1699.365 943.57,-1574.665 959.13,-1508.065"/>
<polygon fill="#000000" stroke="#000000" points="962.6222,-1508.4925 961.43,-1497.965 955.7969,-1506.9382 962.6222,-1508.4925"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node17"><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="1084,-1838.465 852,-1838.465 852,-1770.465 1084,-1770.465 1084,-1838.465"/>
<text text-anchor="middle" x="968" y="-1823.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="968" y="-1808.265" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="968" y="-1793.265" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="968" y="-1778.265" 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="edge5" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#4412</title>
<path fill="none" stroke="#000000" d="M816.38,-1804.465C824.71,-1804.465 833.14,-1804.465 841.53,-1804.465"/>
<polygon fill="#000000" stroke="#000000" points="841.74,-1807.9651 851.74,-1804.465 841.74,-1800.9651 841.74,-1807.9651"/>
</g>
<!-- ZcashFoundation/zebra#755 -->
<g id="node28" class="node closed">
<title>ZcashFoundation/zebra#755</title>
<g id="a_node28"><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="1079.5,-1979.465 856.5,-1979.465 856.5,-1941.465 1079.5,-1941.465 1079.5,-1979.465"/>
<text text-anchor="middle" x="968" y="-1964.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#755</text>
<text text-anchor="middle" x="968" y="-1949.265" 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="edge11" class="edge">
<title>ZcashFoundation/zebra#1963&#45;&gt;ZcashFoundation/zebra#755</title>
<path fill="none" stroke="#000000" d="M812.68,-1830.965C816.71,-1833.765 820.52,-1836.965 824,-1840.465 853.48,-1869.965 823.78,-1902.165 849.8,-1934.165"/>
<polygon fill="#000000" stroke="#000000" points="847.2605,-1936.5736 856.71,-1941.365 852.3109,-1931.7266 847.2605,-1936.5736"/>
</g>
<!-- ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M955.24,-1429.465C930.65,-1364.165 874.62,-1216.965 824,-1094.465 786.96,-1004.805 740.59,-900.575 716.41,-846.755"/>
<polygon fill="#000000" stroke="#000000" points="719.4535,-844.9902 712.15,-837.315 713.0731,-847.8696 719.4535,-844.9902"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node20"><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="816,-1601.465 584,-1601.465 584,-1533.465 816,-1533.465 816,-1601.465"/>
<text text-anchor="middle" x="700" y="-1586.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="700" y="-1571.265" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="700" y="-1556.265" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="700" y="-1541.265" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4955 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#4955</title>
<g id="a_node21"><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="816,-1515.465 584,-1515.465 584,-1447.465 816,-1447.465 816,-1515.465"/>
<text text-anchor="middle" x="700" y="-1500.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="700" y="-1485.265" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="700" y="-1470.265" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="700" y="-1455.265" font-family="Times,serif" font-size="14.00" fill="#000000">names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4956 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4956</title>
<g id="a_node22"><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="816,-1429.465 584,-1429.465 584,-1361.465 816,-1361.465 816,-1429.465"/>
<text text-anchor="middle" x="700" y="-1414.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4956</text>
<text text-anchor="middle" x="700" y="-1399.265" font-family="Times,serif" font-size="14.00" fill="#000000">Make file locations</text>
<text text-anchor="middle" x="700" y="-1384.265" font-family="Times,serif" font-size="14.00" fill="#000000">appear in zebrad Docker</text>
<text text-anchor="middle" x="700" y="-1369.265" font-family="Times,serif" font-size="14.00" fill="#000000">error messages</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4976 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4976</title>
<g id="a_node23"><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="816,-1343.465 584,-1343.465 584,-1275.465 816,-1275.465 816,-1343.465"/>
<text text-anchor="middle" x="700" y="-1328.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4976</text>
<text text-anchor="middle" x="700" y="-1313.265" font-family="Times,serif" font-size="14.00" fill="#000000">Move continuous</text>
<text text-anchor="middle" x="700" y="-1298.265" font-family="Times,serif" font-size="14.00" fill="#000000">deployment to another</text>
<text text-anchor="middle" x="700" y="-1283.265" font-family="Times,serif" font-size="14.00" fill="#000000">Google Cloud region</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4946 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#4946</title>
<g id="a_node24"><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="816,-1256.965 584,-1256.965 584,-1173.965 816,-1173.965 816,-1256.965"/>
<text text-anchor="middle" x="700" y="-1241.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4946</text>
<text text-anchor="middle" x="700" y="-1226.765" font-family="Times,serif" font-size="14.00" fill="#000000">Managed instance groups</text>
<text text-anchor="middle" x="700" y="-1211.765" font-family="Times,serif" font-size="14.00" fill="#000000">deployed with continuous</text>
<text text-anchor="middle" x="700" y="-1196.765" font-family="Times,serif" font-size="14.00" fill="#000000">deployment can&#39;t scale</text>
<text text-anchor="middle" x="700" y="-1181.765" font-family="Times,serif" font-size="14.00" fill="#000000">beyond 1 instance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4350 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#4350</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4350" xlink:title="ZcashFoundation/zebra#4350&#10;Add GetMempoolTx and&#10;GetMempoolStream gRPC&#10;tests" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-470.445 28,-470.445 28,-402.445 260,-402.445 260,-470.445"/>
<text text-anchor="middle" x="144" y="-455.245" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4350</text>
<text text-anchor="middle" x="144" y="-440.245" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetMempoolTx and</text>
<text text-anchor="middle" x="144" y="-425.245" font-family="Times,serif" font-size="14.00" fill="#000000">GetMempoolStream gRPC</text>
<text text-anchor="middle" x="144" y="-410.245" font-family="Times,serif" font-size="14.00" fill="#000000">tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4350&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#4350&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M147.23,-402.165C156.47,-326.085 190.44,-143.845 308,-67.444 397.44,-9.32 465.36,0 548,-67.444 659.59,-158.515 691.47,-636.665 698.37,-773.705"/>
<polygon fill="#000000" stroke="#000000" points="694.8747,-773.8883 698.86,-783.705 701.8663,-773.5457 694.8747,-773.8883"/>
</g>
<!-- ZcashFoundation/zebra#4350&#45;&gt;ZcashFoundation/zebra#4894 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#4350&#45;&gt;ZcashFoundation/zebra#4894</title>
<path fill="none" stroke="#000000" d="M155.87,-470.665C177.49,-528.305 228.52,-645.155 308,-713.445 308.86,-714.185 309.73,-714.905 310.61,-715.625"/>
<polygon fill="#000000" stroke="#000000" points="308.7468,-718.6034 318.84,-721.825 312.9588,-713.0124 308.7468,-718.6034"/>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node29"><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="255.5,-1194.965 32.5,-1194.965 32.5,-1141.965 255.5,-1141.965 255.5,-1194.965"/>
<text text-anchor="middle" x="144" y="-1179.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="144" y="-1164.765" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard Key</text>
<text text-anchor="middle" x="144" y="-1149.765" font-family="Times,serif" font-size="14.00" fill="#000000">Agreement and KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node30"><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="543.5,-1242.465 320.5,-1242.465 320.5,-1174.465 543.5,-1174.465 543.5,-1242.465"/>
<text text-anchor="middle" x="432" y="-1227.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="432" y="-1212.265" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard note</text>
<text text-anchor="middle" x="432" y="-1197.265" font-family="Times,serif" font-size="14.00" fill="#000000">encryption</text>
<text text-anchor="middle" x="432" y="-1182.265" 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="edge15" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M255.76,-1183.965C273.64,-1186.465 292.21,-1189.065 310.31,-1191.565"/>
<polygon fill="#000000" stroke="#000000" points="309.911,-1195.0432 320.3,-1192.965 310.8825,-1188.1109 309.911,-1195.0432"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node31"><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="548,-1155.965 316,-1155.965 316,-1102.965 548,-1102.965 548,-1155.965"/>
<text text-anchor="middle" x="432" y="-1140.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="432" y="-1125.765" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="432" y="-1110.765" 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="edge16" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M255.76,-1153.265C272,-1151.065 288.81,-1148.865 305.31,-1146.565"/>
<polygon fill="#000000" stroke="#000000" points="306.1069,-1149.9886 315.54,-1145.165 305.1578,-1143.0533 306.1069,-1149.9886"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node32"><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="255.5,-1251.465 32.5,-1251.465 32.5,-1213.465 255.5,-1213.465 255.5,-1251.465"/>
<text text-anchor="middle" x="144" y="-1236.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="144" y="-1221.265" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node33"><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="260,-1337.465 28,-1337.465 28,-1269.465 260,-1269.465 260,-1337.465"/>
<text text-anchor="middle" x="144" y="-1322.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="144" y="-1307.265" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="144" y="-1292.265" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="144" y="-1277.265" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node34"><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="260,-1408.965 28,-1408.965 28,-1355.965 260,-1355.965 260,-1408.965"/>
<text text-anchor="middle" x="144" y="-1393.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="144" y="-1378.765" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="144" y="-1363.765" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3263 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#3263</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3263" xlink:title="ZcashFoundation/zebra#3263&#10;Security: Remove the&#10;ErrorSlot from the&#10;heartbeat and connection&#10;tasks" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-1509.965 28,-1509.965 28,-1426.965 260,-1426.965 260,-1509.965"/>
<text text-anchor="middle" x="144" y="-1494.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3263</text>
<text text-anchor="middle" x="144" y="-1479.765" font-family="Times,serif" font-size="14.00" fill="#000000">Security: Remove the</text>
<text text-anchor="middle" x="144" y="-1464.765" font-family="Times,serif" font-size="14.00" fill="#000000">ErrorSlot from the</text>
<text text-anchor="middle" x="144" y="-1449.765" font-family="Times,serif" font-size="14.00" fill="#000000">heartbeat and connection</text>
<text text-anchor="middle" x="144" y="-1434.765" font-family="Times,serif" font-size="14.00" fill="#000000">tasks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node36"><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="260,-1580.965 28,-1580.965 28,-1527.965 260,-1527.965 260,-1580.965"/>
<text text-anchor="middle" x="144" y="-1565.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="144" y="-1550.765" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="144" y="-1535.765" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node37"><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="260,-1651.965 28,-1651.965 28,-1598.965 260,-1598.965 260,-1651.965"/>
<text text-anchor="middle" x="144" y="-1636.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="144" y="-1621.765" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="144" y="-1606.765" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node38" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node38"><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="548,-1788.965 316,-1788.965 316,-1735.965 548,-1735.965 548,-1788.965"/>
<text text-anchor="middle" x="432" y="-1773.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="432" y="-1758.765" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="432" y="-1743.765" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4870 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#4870</title>
<g id="a_node39"><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="260,-1954.965 28,-1954.965 28,-1950.965 24,-1950.965 24,-1946.965 28,-1946.965 28,-1879.965 24,-1879.965 24,-1875.965 28,-1875.965 28,-1871.965 260,-1871.965 260,-1954.965"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="28,-1950.965 32,-1950.965 32,-1946.965 28,-1946.965 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="28,-1879.965 32,-1879.965 32,-1875.965 28,-1875.965 "/>
<text text-anchor="middle" x="144" y="-1939.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4870</text>
<text text-anchor="middle" x="144" y="-1924.765" font-family="Times,serif" font-size="14.00" fill="#000000">feat(net): return peer</text>
<text text-anchor="middle" x="144" y="-1909.765" font-family="Times,serif" font-size="14.00" fill="#000000">metadata from</text>
<text text-anchor="middle" x="144" y="-1894.765" font-family="Times,serif" font-size="14.00" fill="#000000">`connect_isolated`</text>
<text text-anchor="middle" x="144" y="-1879.765" font-family="Times,serif" font-size="14.00" fill="#000000">functions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node40"><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="260,-2055.965 28,-2055.965 28,-1972.965 260,-1972.965 260,-2055.965"/>
<text text-anchor="middle" x="144" y="-2040.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="144" y="-2025.765" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="144" y="-2010.765" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="144" y="-1995.765" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="144" y="-1980.765" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node41"><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="260,-2126.965 28,-2126.965 28,-2073.965 260,-2073.965 260,-2126.965"/>
<text text-anchor="middle" x="144" y="-2111.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="144" y="-2096.765" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="144" y="-2081.765" font-family="Times,serif" font-size="14.00" fill="#000000">Candidates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node42"><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="260,-1853.965 28,-1853.965 28,-1770.965 260,-1770.965 260,-1853.965"/>
<text text-anchor="middle" x="144" y="-1838.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="144" y="-1823.765" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="144" y="-1808.765" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="144" y="-1793.765" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="144" y="-1778.765" 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="edge17" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M260.31,-1792.265C275.29,-1789.665 290.69,-1786.965 305.83,-1784.365"/>
<polygon fill="#000000" stroke="#000000" points="306.4575,-1787.8086 315.72,-1782.665 305.2716,-1780.9097 306.4575,-1787.8086"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node43"><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="260,-1752.965 28,-1752.965 28,-1669.965 260,-1669.965 260,-1752.965"/>
<text text-anchor="middle" x="144" y="-1737.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="144" y="-1722.765" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="144" y="-1707.765" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="144" y="-1692.765" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="144" y="-1677.765" 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="edge18" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M260.31,-1732.065C275.29,-1734.665 290.69,-1737.465 305.83,-1740.065"/>
<polygon fill="#000000" stroke="#000000" points="305.2549,-1743.5177 315.72,-1741.865 306.5084,-1736.6309 305.2549,-1743.5177"/>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node44"><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="260,-2227.965 28,-2227.965 28,-2144.965 260,-2144.965 260,-2227.965"/>
<text text-anchor="middle" x="144" y="-2212.765" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="144" y="-2197.765" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="144" y="-2182.765" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="144" y="-2167.765" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="144" y="-2152.765" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node45" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node45"><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="548,-2220.465 316,-2220.465 316,-2152.465 548,-2152.465 548,-2220.465"/>
<text text-anchor="middle" x="432" y="-2205.265" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="432" y="-2190.265" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="432" y="-2175.265" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="432" y="-2160.265" 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="edge19" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M260.31,-2186.465C275.15,-2186.465 290.4,-2186.465 305.39,-2186.465"/>
<polygon fill="#000000" stroke="#000000" points="305.72,-2189.9651 315.72,-2186.465 305.72,-2182.9651 305.72,-2189.9651"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>