developers/zcash-zf-dag.html

749 lines
56 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="919pt" height="2228pt"
viewBox="0.00 0.00 919.00 2227.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2223.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2223.5 915,-2223.5 915,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-635 0,-772 383,-772 383,-635 0,-635"/>
<text text-anchor="middle" x="191.5" y="-756.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to state using a separate task</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="67,-370 67,-549 651,-549 651,-370 67,-370"/>
<text text-anchor="middle" x="359" y="-533.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidate</text>
</g>
<!-- ZcashFoundation/zebra#2654 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#2654</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2654" xlink:title="ZcashFoundation/zebra#2654&#10;Test if checkpoint&#10;verifier and state&#10;service are correctly&#10;reset on block commit&#10;errors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-741 75,-741 75,-643 307,-643 307,-741"/>
<text text-anchor="middle" x="191" y="-725.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2654</text>
<text text-anchor="middle" x="191" y="-710.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if checkpoint</text>
<text text-anchor="middle" x="191" y="-695.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier and state</text>
<text text-anchor="middle" x="191" y="-680.8" font-family="Times,serif" font-size="14.00" fill="#000000">service are correctly</text>
<text text-anchor="middle" x="191" y="-665.8" font-family="Times,serif" font-size="14.00" fill="#000000">reset on block commit</text>
<text text-anchor="middle" x="191" y="-650.8" font-family="Times,serif" font-size="14.00" fill="#000000">errors</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="643,-510.5 411,-510.5 411,-457.5 643,-457.5 643,-510.5"/>
<text text-anchor="middle" x="527" y="-495.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="527" y="-480.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;rc.0</text>
<text text-anchor="middle" x="527" y="-465.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.05,-667.37C333.14,-659.04 359.91,-648.14 383,-634 432.24,-603.84 476.16,-552.81 502.19,-518.77"/>
<polygon fill="#000000" stroke="#000000" points="505.1963,-520.5957 508.41,-510.5 499.602,-516.3881 505.1963,-520.5957"/>
</g>
<!-- ZcashFoundation/zebra#4967 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#4967</title>
<g id="a_node5"><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="911,-589.5 679,-589.5 679,-585.5 675,-585.5 675,-581.5 679,-581.5 679,-544.5 675,-544.5 675,-540.5 679,-540.5 679,-536.5 911,-536.5 911,-589.5"/>
<polyline fill="none" stroke="#000000" points="679,-585.5 683,-585.5 683,-581.5 679,-581.5 "/>
<polyline fill="none" stroke="#000000" points="679,-544.5 683,-544.5 683,-540.5 679,-540.5 "/>
<text text-anchor="middle" x="795" y="-574.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="795" y="-559.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="795" y="-544.3" 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="edge3" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M616.99,-510.53C642.07,-517.92 669.46,-525.99 695.07,-533.54"/>
<polygon fill="#000000" stroke="#000000" points="694.2183,-536.9378 704.8,-536.41 696.1988,-530.2238 694.2183,-536.9378"/>
</g>
<!-- ZcashFoundation/zebra#4955 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4955</title>
<g id="a_node6"><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" points="911,-518 679,-518 679,-450 911,-450 911,-518"/>
<text text-anchor="middle" x="795" y="-502.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="795" y="-487.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="795" y="-472.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="795" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955</title>
<path fill="none" stroke="#000000" d="M643.38,-484C651.71,-484 660.14,-484 668.53,-484"/>
<polygon fill="#000000" stroke="#000000" points="668.74,-487.5001 678.74,-484 668.74,-480.5001 668.74,-487.5001"/>
</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="911,-431.5 679,-431.5 679,-378.5 911,-378.5 911,-431.5"/>
<text text-anchor="middle" x="795" y="-416.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="795" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="795" y="-386.3" 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="edge5" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M616.99,-457.47C642.07,-450.08 669.46,-442.01 695.07,-434.46"/>
<polygon fill="#000000" stroke="#000000" points="696.1988,-437.7762 704.8,-431.59 694.2183,-431.0622 696.1988,-437.7762"/>
</g>
<!-- ZcashFoundation/zebra#4937 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#4937</title>
<g id="a_node3"><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="307,-518 75,-518 75,-450 307,-450 307,-518"/>
<text text-anchor="middle" x="191" y="-502.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="191" y="-487.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="191" y="-472.8" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="191" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">task</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.1,-484C337.27,-484 369.91,-484 400.57,-484"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-487.5001 410.89,-484 400.89,-480.5001 400.89,-487.5001"/>
</g>
<!-- ZcashFoundation/zebra#5189 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5189</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5189" xlink:title="ZcashFoundation/zebra#5189&#10;Run some docker tests on&#10;smaller instances" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-251.5 411,-251.5 411,-198.5 643,-198.5 643,-251.5"/>
<text text-anchor="middle" x="527" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="527" y="-221.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="527" y="-206.3" font-family="Times,serif" font-size="14.00" fill="#000000">smaller instances</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.31,-480.16C335.47,-473.75 363.14,-461.95 383,-441 434.48,-386.71 364.8,-333.86 411,-275 416.35,-268.18 422.82,-262.27 429.93,-257.16"/>
<polygon fill="#000000" stroke="#000000" points="432.0873,-259.9308 438.53,-251.52 428.2484,-254.0773 432.0873,-259.9308"/>
</g>
<!-- ZcashFoundation/zebra#5214 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5214</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5214" xlink:title="ZcashFoundation/zebra#5214&#10;Task: Make a list of&#10;Zebra dependencies" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-431.5 75,-431.5 75,-378.5 307,-378.5 307,-431.5"/>
<text text-anchor="middle" x="191" y="-416.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5214</text>
<text text-anchor="middle" x="191" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">Task: Make a list of</text>
<text text-anchor="middle" x="191" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra dependencies</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5257</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5257" xlink:title="ZcashFoundation/zebra#5257&#10;change(state): Write non&#45;&#10;finalized blocks to the&#10;state in a separate&#10;thread, to avoid network&#10;and RPC hangs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-360 75,-360 75,-356 71,-356 71,-352 75,-352 75,-270 71,-270 71,-266 75,-266 75,-262 307,-262 307,-360"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-356 79,-356 79,-352 75,-352 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-270 79,-270 79,-266 75,-266 "/>
<text text-anchor="middle" x="191" y="-344.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5257</text>
<text text-anchor="middle" x="191" y="-329.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(state): Write non&#45;</text>
<text text-anchor="middle" x="191" y="-314.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized blocks to the</text>
<text text-anchor="middle" x="191" y="-299.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in a separate</text>
<text text-anchor="middle" x="191" y="-284.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread, to avoid network</text>
<text text-anchor="middle" x="191" y="-269.8" font-family="Times,serif" font-size="14.00" fill="#000000">and RPC hangs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.16,-336.04C332.91,-343.82 359.51,-353.69 383,-366 425.13,-388.08 466.41,-423.77 493.89,-450.12"/>
<polygon fill="#000000" stroke="#000000" points="491.6587,-452.832 501.27,-457.29 496.5365,-447.8113 491.6587,-452.832"/>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-337.5 411,-337.5 411,-284.5 643,-284.5 643,-337.5"/>
<text text-anchor="middle" x="527" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="527" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="527" y="-292.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#5297 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#5297</title>
<path fill="none" stroke="#000000" d="M307.1,-311C337.27,-311 369.91,-311 400.57,-311"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-314.5001 410.89,-311 400.89,-307.5001 400.89,-314.5001"/>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node11"><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="307,-157.5 75,-157.5 75,-74.5 307,-74.5 307,-157.5"/>
<text text-anchor="middle" x="191" y="-142.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="191" y="-127.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make tests wait until</text>
<text text-anchor="middle" x="191" y="-112.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd full sync</text>
<text text-anchor="middle" x="191" y="-97.3" font-family="Times,serif" font-size="14.00" fill="#000000">goes all the way to the</text>
<text text-anchor="middle" x="191" y="-82.3" 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="edge9" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.29,-124.71C335.62,-132.28 363.38,-145.22 383,-167 436.89,-226.83 377.65,-272.71 411,-346 429.43,-386.49 463.15,-424.56 489.51,-450.41"/>
<polygon fill="#000000" stroke="#000000" points="487.0976,-452.946 496.72,-457.38 491.9629,-447.9132 487.0976,-452.946"/>
</g>
<!-- ZcashFoundation/zebra#5316 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5316</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5316" xlink:title="ZcashFoundation/zebra#5316&#10;Only run the&#10;`lightwalletd` full sync&#10;on the `main` branch" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-68 411,-68 411,0 643,0 643,-68"/>
<text text-anchor="middle" x="527" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5316</text>
<text text-anchor="middle" x="527" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Only run the</text>
<text text-anchor="middle" x="527" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">`lightwalletd` full sync</text>
<text text-anchor="middle" x="527" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">on the `main` branch</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#5316 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#5316</title>
<path fill="none" stroke="#000000" d="M307.1,-87.665C337.4,-80.272 370.19,-72.269 400.97,-64.756"/>
<polygon fill="#000000" stroke="#000000" points="402.0044,-68.1064 410.89,-62.336 400.3454,-61.3058 402.0044,-68.1064"/>
</g>
<!-- ZcashFoundation/zebra#5015 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#5015</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5015" xlink:title="ZcashFoundation/zebra#5015&#10;Get transactions from the&#10;non&#45;finalized state in&#10;the send transactions&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-169.5 411,-169.5 411,-86.5 643,-86.5 643,-169.5"/>
<text text-anchor="middle" x="527" y="-154.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5015</text>
<text text-anchor="middle" x="527" y="-139.3" font-family="Times,serif" font-size="14.00" fill="#000000">Get transactions from the</text>
<text text-anchor="middle" x="527" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">non&#45;finalized state in</text>
<text text-anchor="middle" x="527" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">the send transactions</text>
<text text-anchor="middle" x="527" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#5015 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#5015</title>
<path fill="none" stroke="#000000" d="M307.1,-120.15C337.27,-121.22 369.91,-122.39 400.57,-123.48"/>
<polygon fill="#000000" stroke="#000000" points="400.771,-126.9894 410.89,-123.85 401.0219,-119.9939 400.771,-126.9894"/>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2375" xlink:title="ZcashFoundation/zebra#2375&#10;Allow different `zebra&#45;&#10;network` apps to use&#10;different user agents" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-997 75,-997 75,-929 307,-929 307,-997"/>
<text text-anchor="middle" x="191" y="-981.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="191" y="-966.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="191" y="-951.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="191" y="-936.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node15" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/794" xlink:title="ZcashFoundation/zebra#794&#10;Make sure custom user&#10;agents conform to BIP&#45;14" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="638.5,-989.5 415.5,-989.5 415.5,-936.5 638.5,-936.5 638.5,-989.5"/>
<text text-anchor="middle" x="527" y="-974.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="527" y="-959.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="527" y="-944.3" font-family="Times,serif" font-size="14.00" fill="#000000">agents conform to BIP&#45;14</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M307.1,-963C338.77,-963 373.16,-963 405.14,-963"/>
<polygon fill="#000000" stroke="#000000" points="405.43,-966.5001 415.43,-963 405.43,-959.5001 405.43,-966.5001"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node16"><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="643,-918 411,-918 411,-850 643,-850 643,-918"/>
<text text-anchor="middle" x="527" y="-902.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="527" y="-887.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="527" y="-872.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="527" y="-857.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#5235</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5235" xlink:title="ZcashFoundation/zebra#5235&#10;Add support for&#10;`getblocktemplate` RPC&#10;call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-976 679,-976 679,-908 911,-908 911,-976"/>
<text text-anchor="middle" x="795" y="-960.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="795" y="-945.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-930.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="795" y="-915.8" font-family="Times,serif" font-size="14.00" fill="#000000">call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M643.38,-909.19C651.81,-911.01 660.33,-912.85 668.81,-914.69"/>
<polygon fill="#000000" stroke="#000000" points="668.2258,-918.1445 678.74,-916.84 669.7071,-911.3031 668.2258,-918.1445"/>
</g>
<!-- ZcashFoundation/zebra#5236 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#5236</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5236" xlink:title="ZcashFoundation/zebra#5236&#10;Add support for&#10;`submitblock` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-889.5 679,-889.5 679,-836.5 911,-836.5 911,-889.5"/>
<text text-anchor="middle" x="795" y="-874.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5236</text>
<text text-anchor="middle" x="795" y="-859.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-844.3" font-family="Times,serif" font-size="14.00" fill="#000000">`submitblock` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5236 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5236</title>
<path fill="none" stroke="#000000" d="M643.38,-874.88C651.71,-874.23 660.14,-873.57 668.53,-872.91"/>
<polygon fill="#000000" stroke="#000000" points="669.044,-876.3805 678.74,-872.11 668.4971,-869.4019 669.044,-876.3805"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node19"><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="307,-1068.5 75,-1068.5 75,-1015.5 307,-1015.5 307,-1068.5"/>
<text text-anchor="middle" x="191" y="-1053.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="191" y="-1038.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="191" y="-1023.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node20"><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="307,-1139.5 75,-1139.5 75,-1086.5 307,-1086.5 307,-1139.5"/>
<text text-anchor="middle" x="191" y="-1124.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="191" y="-1109.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="191" y="-1094.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node21"><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="307,-1210.5 75,-1210.5 75,-1157.5 307,-1157.5 307,-1210.5"/>
<text text-anchor="middle" x="191" y="-1195.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="191" y="-1180.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="191" y="-1165.3" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node22"><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="643,-1218 411,-1218 411,-1150 643,-1150 643,-1218"/>
<text text-anchor="middle" x="527" y="-1202.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="527" y="-1187.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="527" y="-1172.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="527" y="-1157.8" 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="edge15" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M307.1,-1184C337.27,-1184 369.91,-1184 400.57,-1184"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1187.5001 410.89,-1184 400.89,-1180.5001 400.89,-1187.5001"/>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node23"><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" stroke-width="2" points="307,-625 75,-625 75,-557 307,-557 307,-625"/>
<text text-anchor="middle" x="191" y="-609.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="191" y="-594.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="191" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="191" y="-564.8" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate series</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.21,-572.88C332.5,-567.59 358.9,-561.02 383,-553 412.77,-543.1 444.35,-528.47 470.34,-515.23"/>
<polygon fill="#000000" stroke="#000000" points="472.003,-518.3104 479.28,-510.61 468.7893,-512.0917 472.003,-518.3104"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node24"><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" stroke-width="2" points="307,-1297 75,-1297 75,-1229 307,-1229 307,-1297"/>
<text text-anchor="middle" x="191" y="-1281.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="191" y="-1266.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="191" y="-1251.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="191" y="-1236.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node25"><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="307,-1368.5 75,-1368.5 75,-1315.5 307,-1315.5 307,-1368.5"/>
<text text-anchor="middle" x="191" y="-1353.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="191" y="-1338.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="191" y="-1323.3" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node26" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node26"><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="643,-1504.5 411,-1504.5 411,-1451.5 643,-1451.5 643,-1504.5"/>
<text text-anchor="middle" x="527" y="-1489.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="527" y="-1474.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="527" y="-1459.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node27" class="node closed">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node27"><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="#fad8c7" stroke="#000000" points="643,-1657 411,-1657 411,-1589 643,-1589 643,-1657"/>
<text text-anchor="middle" x="527" y="-1641.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="527" y="-1626.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="527" y="-1611.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="527" y="-1596.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5164 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#5164</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5164" xlink:title="ZcashFoundation/zebra#5164&#10;fix(test): Wait for&#10;zebrad and lightwalletd&#10;to reach the tip in&#10;tests, to improve test&#10;coverage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1773 75,-1773 75,-1769 71,-1769 71,-1765 75,-1765 75,-1683 71,-1683 71,-1679 75,-1679 75,-1675 307,-1675 307,-1773"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-1769 79,-1769 79,-1765 75,-1765 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-1683 79,-1683 79,-1679 75,-1679 "/>
<text text-anchor="middle" x="191" y="-1757.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5164</text>
<text text-anchor="middle" x="191" y="-1742.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(test): Wait for</text>
<text text-anchor="middle" x="191" y="-1727.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad and lightwalletd</text>
<text text-anchor="middle" x="191" y="-1712.8" font-family="Times,serif" font-size="14.00" fill="#000000">to reach the tip in</text>
<text text-anchor="middle" x="191" y="-1697.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests, to improve test</text>
<text text-anchor="middle" x="191" y="-1682.8" font-family="Times,serif" font-size="14.00" fill="#000000">coverage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5153 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#5153</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5153" xlink:title="ZcashFoundation/zebra#5153&#10;Tag Google Cloud&#10;instances with the name&#10;of the test or workflow" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1859 75,-1859 75,-1791 307,-1791 307,-1859"/>
<text text-anchor="middle" x="191" y="-1843.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5153</text>
<text text-anchor="middle" x="191" y="-1828.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Google Cloud</text>
<text text-anchor="middle" x="191" y="-1813.8" font-family="Times,serif" font-size="14.00" fill="#000000">instances with the name</text>
<text text-anchor="middle" x="191" y="-1798.8" font-family="Times,serif" font-size="14.00" fill="#000000">of the test or workflow</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5155 -->
<g id="node30" class="node closed">
<title>ZcashFoundation/zebra#5155</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5155" xlink:title="ZcashFoundation/zebra#5155&#10;Decide if we want to&#10;create cached states more&#10;often" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-1902 411,-1902 411,-1834 643,-1834 643,-1902"/>
<text text-anchor="middle" x="527" y="-1886.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5155</text>
<text text-anchor="middle" x="527" y="-1871.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we want to</text>
<text text-anchor="middle" x="527" y="-1856.8" font-family="Times,serif" font-size="14.00" fill="#000000">create cached states more</text>
<text text-anchor="middle" x="527" y="-1841.8" font-family="Times,serif" font-size="14.00" fill="#000000">often</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5155 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5155</title>
<path fill="none" stroke="#000000" d="M307.1,-1839.9C337.27,-1843.7 369.91,-1847.9 400.57,-1851.8"/>
<polygon fill="#000000" stroke="#000000" points="400.5309,-1855.3227 410.89,-1853.1 401.4059,-1848.3775 400.5309,-1855.3227"/>
</g>
<!-- ZcashFoundation/zebra#5188 -->
<g id="node31" class="node closed">
<title>ZcashFoundation/zebra#5188</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5188" xlink:title="ZcashFoundation/zebra#5188&#10;Reduce continuous&#10;deployment instance group&#10;size to 1" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-1816 411,-1816 411,-1748 643,-1748 643,-1816"/>
<text text-anchor="middle" x="527" y="-1800.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5188</text>
<text text-anchor="middle" x="527" y="-1785.8" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce continuous</text>
<text text-anchor="middle" x="527" y="-1770.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment instance group</text>
<text text-anchor="middle" x="527" y="-1755.8" font-family="Times,serif" font-size="14.00" fill="#000000">size to 1</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5188 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5188</title>
<path fill="none" stroke="#000000" d="M307.1,-1810.1C337.27,-1806.3 369.91,-1802.1 400.57,-1798.2"/>
<polygon fill="#000000" stroke="#000000" points="401.4059,-1801.6225 410.89,-1796.9 400.5309,-1794.6773 401.4059,-1801.6225"/>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node32"><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="307,-1960.5 75,-1960.5 75,-1877.5 307,-1877.5 307,-1960.5"/>
<text text-anchor="middle" x="191" y="-1945.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="191" y="-1930.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="191" y="-1915.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="191" y="-1900.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="191" y="-1885.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3096" xlink:title="ZcashFoundation/zebra#3096&#10;Epic: Zebra Release&#10;Candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-2031.5 75,-2031.5 75,-1978.5 307,-1978.5 307,-2031.5"/>
<text text-anchor="middle" x="191" y="-2016.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="191" y="-2001.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="191" y="-1986.3" font-family="Times,serif" font-size="14.00" fill="#000000">Candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node34"><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="307,-1570.5 75,-1570.5 75,-1487.5 307,-1487.5 307,-1570.5"/>
<text text-anchor="middle" x="191" y="-1555.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="191" y="-1540.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1525.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1510.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="191" y="-1495.3" 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="edge19" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1511.4C337.4,-1506.8 370.19,-1501.8 400.97,-1497.1"/>
<polygon fill="#000000" stroke="#000000" points="401.5257,-1500.5558 410.89,-1495.6 400.4791,-1493.6345 401.5257,-1500.5558"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node35"><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="307,-1469.5 75,-1469.5 75,-1386.5 307,-1386.5 307,-1469.5"/>
<text text-anchor="middle" x="191" y="-1454.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="191" y="-1439.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1424.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1409.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="191" y="-1394.3" 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="edge20" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1445.3C337.4,-1449.8 370.19,-1454.7 400.97,-1459.2"/>
<polygon fill="#000000" stroke="#000000" points="400.4791,-1462.6655 410.89,-1460.7 401.5257,-1455.7442 400.4791,-1462.6655"/>
</g>
<!-- ZcashFoundation/zebra#5305 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#5305</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5305" xlink:title="ZcashFoundation/zebra#5305&#10;Add a `getblocktemplate&#45;&#10;rpcs` feature to `zebrad`&#10;and `zebra&#45;rpc`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="643,-804 411,-804 411,-736 643,-736 643,-804"/>
<text text-anchor="middle" x="527" y="-788.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5305</text>
<text text-anchor="middle" x="527" y="-773.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a `getblocktemplate&#45;</text>
<text text-anchor="middle" x="527" y="-758.8" font-family="Times,serif" font-size="14.00" fill="#000000">rpcs` feature to `zebrad`</text>
<text text-anchor="middle" x="527" y="-743.8" font-family="Times,serif" font-size="14.00" fill="#000000">and `zebra&#45;rpc`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#4967 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M548.89,-735.74C575.26,-697.13 623.08,-635.04 679,-599 681.58,-597.34 684.23,-595.75 686.95,-594.23"/>
<polygon fill="#000000" stroke="#000000" points="688.5738,-597.3306 695.84,-589.62 685.3514,-591.1164 688.5738,-597.3306"/>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M603.38,-804.14C620.5,-814.26 637.55,-826.57 651,-841 670.52,-861.94 657.82,-879.74 679,-899 679.98,-899.89 680.99,-900.77 682.01,-901.63"/>
<polygon fill="#000000" stroke="#000000" points="680.1084,-904.5817 690.18,-907.87 684.3573,-899.0186 680.1084,-904.5817"/>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5236 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5236</title>
<path fill="none" stroke="#000000" d="M613.02,-804.05C634.47,-812.2 657.48,-820.66 679,-828 684.23,-829.78 689.6,-831.57 695.04,-833.34"/>
<polygon fill="#000000" stroke="#000000" points="694.2786,-836.7716 704.87,-836.5 696.421,-830.1075 694.2786,-836.7716"/>
</g>
<!-- ZcashFoundation/zebra#5268 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#5268</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5268" xlink:title="ZcashFoundation/zebra#5268&#10;Add support for&#10;`getblockhash` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-747.5 679,-747.5 679,-694.5 911,-694.5 911,-747.5"/>
<text text-anchor="middle" x="795" y="-732.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5268</text>
<text text-anchor="middle" x="795" y="-717.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-702.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblockhash` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5268 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5268</title>
<path fill="none" stroke="#000000" d="M643.38,-748.72C651.81,-747.18 660.33,-745.62 668.81,-744.07"/>
<polygon fill="#000000" stroke="#000000" points="669.5297,-747.4966 678.74,-742.26 668.2744,-740.61 669.5297,-747.4966"/>
</g>
<!-- ZcashFoundation/zebra#5302 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#5302</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5302" xlink:title="ZcashFoundation/zebra#5302&#10;Add support for&#10;`getblocksubsidy` RPC&#10;call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-676 679,-676 679,-608 911,-608 911,-676"/>
<text text-anchor="middle" x="795" y="-660.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5302</text>
<text text-anchor="middle" x="795" y="-645.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-630.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocksubsidy` RPC</text>
<text text-anchor="middle" x="795" y="-615.8" font-family="Times,serif" font-size="14.00" fill="#000000">call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5302 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5302</title>
<path fill="none" stroke="#000000" d="M584.1,-735.92C612.19,-719.8 646.85,-700.89 679,-686 683.35,-683.98 687.82,-681.99 692.36,-680.02"/>
<polygon fill="#000000" stroke="#000000" points="693.9225,-683.1591 701.76,-676.03 691.1874,-676.7155 693.9225,-683.1591"/>
</g>
<!-- ZcashFoundation/zebra#5303 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#5303</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5303" xlink:title="ZcashFoundation/zebra#5303&#10;Add support for&#10;`getblockcount` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-818.5 679,-818.5 679,-765.5 911,-765.5 911,-818.5"/>
<text text-anchor="middle" x="795" y="-803.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5303</text>
<text text-anchor="middle" x="795" y="-788.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-773.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblockcount` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5303 -->
<g id="edge26" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5303</title>
<path fill="none" stroke="#000000" d="M643.38,-779.55C651.71,-780.24 660.14,-780.93 668.53,-781.62"/>
<polygon fill="#000000" stroke="#000000" points="668.4867,-785.1282 678.74,-782.46 669.0607,-778.1517 668.4867,-785.1282"/>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node40"><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="307,-1657 75,-1657 75,-1589 307,-1589 307,-1657"/>
<text text-anchor="middle" x="191" y="-1641.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="191" y="-1626.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="191" y="-1611.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="191" y="-1596.8" 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="edge27" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M307.1,-1623C337.27,-1623 369.91,-1623 400.57,-1623"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1626.5001 410.89,-1623 400.89,-1619.5001 400.89,-1626.5001"/>
</g>
<!-- ZcashFoundation/zebra#5199 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#5199</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5199" xlink:title="ZcashFoundation/zebra#5199&#10;Consider using `nextest`&#10;to run tests faster and&#10;reduce Google Cloud costs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-244 75,-244 75,-176 307,-176 307,-244"/>
<text text-anchor="middle" x="191" y="-228.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="191" y="-213.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="191" y="-198.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster and</text>
<text text-anchor="middle" x="191" y="-183.8" font-family="Times,serif" font-size="14.00" fill="#000000">reduce Google Cloud costs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189 -->
<g id="edge28" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.1,-215.18C337.27,-216.53 369.91,-217.99 400.57,-219.36"/>
<polygon fill="#000000" stroke="#000000" points="400.744,-222.8711 410.89,-219.82 401.0558,-215.8781 400.744,-222.8711"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node42"><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="307,-2118 75,-2118 75,-2050 307,-2050 307,-2118"/>
<text text-anchor="middle" x="191" y="-2102.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="191" y="-2087.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="191" y="-2072.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="191" y="-2057.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node43"><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="307,-2219.5 75,-2219.5 75,-2136.5 307,-2136.5 307,-2219.5"/>
<text text-anchor="middle" x="191" y="-2204.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="191" y="-2189.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="191" y="-2174.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="191" y="-2159.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="191" y="-2144.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node44" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node44"><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="643,-2212 411,-2212 411,-2144 643,-2144 643,-2212"/>
<text text-anchor="middle" x="527" y="-2196.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="527" y="-2181.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="527" y="-2166.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="527" y="-2151.8" 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="edge29" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M307.1,-2178C337.27,-2178 369.91,-2178 400.57,-2178"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-2181.5001 410.89,-2178 400.89,-2174.5001 400.89,-2181.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>