developers/zcash-zf-dag.html

750 lines
56 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="1187pt" height="2320pt"
viewBox="0.00 0.00 1187.00 2319.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 2315.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2315.5 1183,-2315.5 1183,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="67,-429 67,-608 651,-608 651,-429 67,-429"/>
<text text-anchor="middle" x="359" y="-592.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidate</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-284 0,-421 383,-421 383,-284 0,-284"/>
<text text-anchor="middle" x="191.5" y="-405.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to state using a separate task</text>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node1"><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,-490.5 411,-490.5 411,-437.5 643,-437.5 643,-490.5"/>
<text text-anchor="middle" x="527" y="-475.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="527" y="-460.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="-445.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</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,-561.5 679,-561.5 679,-557.5 675,-557.5 675,-553.5 679,-553.5 679,-516.5 675,-516.5 675,-512.5 679,-512.5 679,-508.5 911,-508.5 911,-561.5"/>
<polyline fill="none" stroke="#000000" points="679,-557.5 683,-557.5 683,-553.5 679,-553.5 "/>
<polyline fill="none" stroke="#000000" points="679,-516.5 683,-516.5 683,-512.5 679,-512.5 "/>
<text text-anchor="middle" x="795" y="-546.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="795" y="-531.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="795" y="-516.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="edge2" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M627.17,-490.54C646.13,-495.56 666.04,-500.84 685.27,-505.93"/>
<polygon fill="#000000" stroke="#000000" points="684.3875,-509.3169 694.95,-508.49 686.1772,-502.5495 684.3875,-509.3169"/>
</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,-419 679,-419 679,-351 911,-351 911,-419"/>
<text text-anchor="middle" x="795" y="-403.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="795" y="-388.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="795" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="795" y="-358.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="edge3" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955</title>
<path fill="none" stroke="#000000" d="M616.99,-437.47C633.92,-432.48 651.91,-427.18 669.7,-421.94"/>
<polygon fill="#000000" stroke="#000000" points="670.9514,-425.2199 679.55,-419.03 668.9681,-418.5067 670.9514,-425.2199"/>
</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,-490.5 679,-490.5 679,-437.5 911,-437.5 911,-490.5"/>
<text text-anchor="middle" x="795" y="-475.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="795" y="-460.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="795" y="-445.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="edge4" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M643.38,-464C651.71,-464 660.14,-464 668.53,-464"/>
<polygon fill="#000000" stroke="#000000" points="668.74,-467.5001 678.74,-464 668.74,-460.5001 668.74,-467.5001"/>
</g>
<!-- ZcashFoundation/zebra#4937 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#4937</title>
<g id="a_node2"><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,-577 75,-577 75,-509 307,-509 307,-577"/>
<text text-anchor="middle" x="191" y="-561.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="191" y="-546.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="191" y="-531.8" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="191" y="-516.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,-517.48C332.16,-511.84 358.49,-505.81 383,-500 392.5,-497.75 402.34,-495.38 412.21,-492.97"/>
<polygon fill="#000000" stroke="#000000" points="413.2012,-496.3307 422.08,-490.55 411.5342,-489.5321 413.2012,-496.3307"/>
</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,-673.5 411,-673.5 411,-620.5 643,-620.5 643,-673.5"/>
<text text-anchor="middle" x="527" y="-658.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="527" y="-643.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="527" y="-628.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="edge5" class="edge">
<title>ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M298.63,-577.01C334.36,-588.24 374.37,-600.73 411,-612 416.87,-613.81 422.91,-615.66 429.01,-617.52"/>
<polygon fill="#000000" stroke="#000000" points="428.0344,-620.8815 438.62,-620.44 430.0695,-614.1838 428.0344,-620.8815"/>
</g>
<!-- ZcashFoundation/zebra#5214 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5214</title>
<g id="a_node3"><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,-490.5 75,-490.5 75,-437.5 307,-437.5 307,-490.5"/>
<text text-anchor="middle" x="191" y="-475.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5214</text>
<text text-anchor="middle" x="191" y="-460.3" font-family="Times,serif" font-size="14.00" fill="#000000">Task: Make a list of</text>
<text text-anchor="middle" x="191" y="-445.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra dependencies</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#2654</title>
<g id="a_node4"><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,-390 75,-390 75,-292 307,-292 307,-390"/>
<text text-anchor="middle" x="191" y="-374.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2654</text>
<text text-anchor="middle" x="191" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if checkpoint</text>
<text text-anchor="middle" x="191" y="-344.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier and state</text>
<text text-anchor="middle" x="191" y="-329.8" font-family="Times,serif" font-size="14.00" fill="#000000">service are correctly</text>
<text text-anchor="middle" x="191" y="-314.8" font-family="Times,serif" font-size="14.00" fill="#000000">reset on block commit</text>
<text text-anchor="middle" x="191" y="-299.8" font-family="Times,serif" font-size="14.00" fill="#000000">errors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.1,-383.5C352.51,-400.12 403.52,-418.8 444.97,-433.97"/>
<polygon fill="#000000" stroke="#000000" points="443.8763,-437.2967 454.47,-437.45 446.2841,-430.7239 443.8763,-437.2967"/>
</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,-274 75,-274 75,-270 71,-270 71,-266 75,-266 75,-184 71,-184 71,-180 75,-180 75,-176 307,-176 307,-274"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-270 79,-270 79,-266 75,-266 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-184 79,-184 79,-180 75,-180 "/>
<text text-anchor="middle" x="191" y="-258.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5257</text>
<text text-anchor="middle" x="191" y="-243.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(state): Write non&#45;</text>
<text text-anchor="middle" x="191" y="-228.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized blocks to the</text>
<text text-anchor="middle" x="191" y="-213.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in a separate</text>
<text text-anchor="middle" x="191" y="-198.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread, to avoid network</text>
<text text-anchor="middle" x="191" y="-183.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.1,-245.65C333.47,-253.67 360.35,-264.74 383,-280 440.08,-318.46 484.75,-386.76 508.39,-428.46"/>
<polygon fill="#000000" stroke="#000000" points="505.4673,-430.4057 513.39,-437.44 511.5832,-427.0003 505.4673,-430.4057"/>
</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,-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#5297</text>
<text text-anchor="middle" x="527" y="-221.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="527" y="-206.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,-225C337.27,-225 369.91,-225 400.57,-225"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-228.5001 410.89,-225 400.89,-221.5001 400.89,-228.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.36,-127.12C335.01,-134.73 362.43,-147.09 383,-167 414.02,-197.02 394,-220.32 411,-260 437.55,-321.97 478.25,-389.07 503.71,-428.77"/>
<polygon fill="#000000" stroke="#000000" points="500.8459,-430.7867 509.21,-437.29 506.727,-426.9902 500.8459,-430.7867"/>
</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,-1074 75,-1074 75,-1006 307,-1006 307,-1074"/>
<text text-anchor="middle" x="191" y="-1058.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="191" y="-1043.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="191" y="-1028.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="191" y="-1013.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,-1066.5 415.5,-1066.5 415.5,-1013.5 638.5,-1013.5 638.5,-1066.5"/>
<text text-anchor="middle" x="527" y="-1051.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="527" y="-1036.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="527" y="-1021.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,-1040C338.77,-1040 373.16,-1040 405.14,-1040"/>
<polygon fill="#000000" stroke="#000000" points="405.43,-1043.5001 415.43,-1040 405.43,-1036.5001 405.43,-1043.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,-995 411,-995 411,-927 643,-927 643,-995"/>
<text text-anchor="middle" x="527" y="-979.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="527" y="-964.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="527" y="-949.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="527" y="-934.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,-1035 679,-1035 679,-967 911,-967 911,-1035"/>
<text text-anchor="middle" x="795" y="-1019.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="795" y="-1004.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-989.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="795" y="-974.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,-978.37C651.81,-979.63 660.33,-980.9 668.81,-982.17"/>
<polygon fill="#000000" stroke="#000000" points="668.3333,-985.6375 678.74,-983.65 669.3652,-978.714 668.3333,-985.6375"/>
</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,-948.5 679,-948.5 679,-895.5 911,-895.5 911,-948.5"/>
<text text-anchor="middle" x="795" y="-933.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5236</text>
<text text-anchor="middle" x="795" y="-918.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-903.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,-944.06C651.81,-942.84 660.33,-941.6 668.81,-940.36"/>
<polygon fill="#000000" stroke="#000000" points="669.3458,-943.819 678.74,-938.92 668.3412,-936.8915 669.3458,-943.819"/>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5336" xlink:title="ZcashFoundation/zebra#5336&#10;Relay mempool&#10;transactions based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1179,-956 947,-956 947,-888 1179,-888 1179,-956"/>
<text text-anchor="middle" x="1063" y="-940.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="1063" y="-925.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay mempool</text>
<text text-anchor="middle" x="1063" y="-910.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="1063" y="-895.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M910.6,-966.92C919.55,-964.29 928.61,-961.62 937.61,-958.96"/>
<polygon fill="#000000" stroke="#000000" points="938.7553,-962.2714 947.36,-956.09 936.7786,-955.5563 938.7553,-962.2714"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node20"><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,-1145.5 75,-1145.5 75,-1092.5 307,-1092.5 307,-1145.5"/>
<text text-anchor="middle" x="191" y="-1130.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="191" y="-1115.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="191" y="-1100.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node21"><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,-1216.5 75,-1216.5 75,-1163.5 307,-1163.5 307,-1216.5"/>
<text text-anchor="middle" x="191" y="-1201.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="191" y="-1186.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="191" y="-1171.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5335 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#5335</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5335" xlink:title="ZcashFoundation/zebra#5335&#10;Evict transactions from&#10;the mempool based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="911,-877 679,-877 679,-809 911,-809 911,-877"/>
<text text-anchor="middle" x="795" y="-861.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5335</text>
<text text-anchor="middle" x="795" y="-846.8" font-family="Times,serif" font-size="14.00" fill="#000000">Evict transactions from</text>
<text text-anchor="middle" x="795" y="-831.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool based on the</text>
<text text-anchor="middle" x="795" y="-816.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M910.6,-877.08C919.55,-879.71 928.61,-882.38 937.61,-885.04"/>
<polygon fill="#000000" stroke="#000000" points="936.7786,-888.4437 947.36,-887.91 938.7553,-881.7286 936.7786,-888.4437"/>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node23"><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" stroke-width="2" points="307,-1303 75,-1303 75,-1235 307,-1235 307,-1303"/>
<text text-anchor="middle" x="191" y="-1287.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="191" y="-1272.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="191" y="-1257.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="191" y="-1242.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</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,-1389 75,-1389 75,-1321 307,-1321 307,-1389"/>
<text text-anchor="middle" x="191" y="-1373.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="191" y="-1358.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="191" y="-1343.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="191" y="-1328.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,-1460.5 75,-1460.5 75,-1407.5 307,-1407.5 307,-1460.5"/>
<text text-anchor="middle" x="191" y="-1445.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="191" y="-1430.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="191" y="-1415.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,-1596.5 411,-1596.5 411,-1543.5 643,-1543.5 643,-1596.5"/>
<text text-anchor="middle" x="527" y="-1581.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="527" y="-1566.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="527" y="-1551.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,-1749 411,-1749 411,-1681 643,-1681 643,-1749"/>
<text text-anchor="middle" x="527" y="-1733.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="527" y="-1718.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="527" y="-1703.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="527" y="-1688.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,-1865 75,-1865 75,-1861 71,-1861 71,-1857 75,-1857 75,-1775 71,-1775 71,-1771 75,-1771 75,-1767 307,-1767 307,-1865"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-1861 79,-1861 79,-1857 75,-1857 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-1775 79,-1775 79,-1771 75,-1771 "/>
<text text-anchor="middle" x="191" y="-1849.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5164</text>
<text text-anchor="middle" x="191" y="-1834.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(test): Wait for</text>
<text text-anchor="middle" x="191" y="-1819.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad and lightwalletd</text>
<text text-anchor="middle" x="191" y="-1804.8" font-family="Times,serif" font-size="14.00" fill="#000000">to reach the tip in</text>
<text text-anchor="middle" x="191" y="-1789.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests, to improve test</text>
<text text-anchor="middle" x="191" y="-1774.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,-1951 75,-1951 75,-1883 307,-1883 307,-1951"/>
<text text-anchor="middle" x="191" y="-1935.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5153</text>
<text text-anchor="middle" x="191" y="-1920.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Google Cloud</text>
<text text-anchor="middle" x="191" y="-1905.8" font-family="Times,serif" font-size="14.00" fill="#000000">instances with the name</text>
<text text-anchor="middle" x="191" y="-1890.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,-1994 411,-1994 411,-1926 643,-1926 643,-1994"/>
<text text-anchor="middle" x="527" y="-1978.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5155</text>
<text text-anchor="middle" x="527" y="-1963.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we want to</text>
<text text-anchor="middle" x="527" y="-1948.8" font-family="Times,serif" font-size="14.00" fill="#000000">create cached states more</text>
<text text-anchor="middle" x="527" y="-1933.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,-1931.9C337.27,-1935.7 369.91,-1939.9 400.57,-1943.8"/>
<polygon fill="#000000" stroke="#000000" points="400.5309,-1947.3227 410.89,-1945.1 401.4059,-1940.3775 400.5309,-1947.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,-1908 411,-1908 411,-1840 643,-1840 643,-1908"/>
<text text-anchor="middle" x="527" y="-1892.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5188</text>
<text text-anchor="middle" x="527" y="-1877.8" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce continuous</text>
<text text-anchor="middle" x="527" y="-1862.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment instance group</text>
<text text-anchor="middle" x="527" y="-1847.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,-1902.1C337.27,-1898.3 369.91,-1894.1 400.57,-1890.2"/>
<polygon fill="#000000" stroke="#000000" points="401.4059,-1893.6225 410.89,-1888.9 400.5309,-1886.6773 401.4059,-1893.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,-2052.5 75,-2052.5 75,-1969.5 307,-1969.5 307,-2052.5"/>
<text text-anchor="middle" x="191" y="-2037.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="191" y="-2022.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="191" y="-2007.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="191" y="-1992.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="191" y="-1977.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,-2123.5 75,-2123.5 75,-2070.5 307,-2070.5 307,-2123.5"/>
<text text-anchor="middle" x="191" y="-2108.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="191" y="-2093.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="191" y="-2078.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,-1662.5 75,-1662.5 75,-1579.5 307,-1579.5 307,-1662.5"/>
<text text-anchor="middle" x="191" y="-1647.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="191" y="-1632.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1617.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1602.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="191" y="-1587.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,-1603.4C337.4,-1598.8 370.19,-1593.8 400.97,-1589.1"/>
<polygon fill="#000000" stroke="#000000" points="401.5257,-1592.5558 410.89,-1587.6 400.4791,-1585.6345 401.5257,-1592.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,-1561.5 75,-1561.5 75,-1478.5 307,-1478.5 307,-1561.5"/>
<text text-anchor="middle" x="191" y="-1546.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="191" y="-1531.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1516.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1501.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="191" y="-1486.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,-1537.3C337.4,-1541.8 370.19,-1546.7 400.97,-1551.2"/>
<polygon fill="#000000" stroke="#000000" points="400.4791,-1554.6655 410.89,-1552.7 401.5257,-1547.7442 400.4791,-1554.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,-779 411,-779 411,-711 643,-711 643,-779"/>
<text text-anchor="middle" x="527" y="-763.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5305</text>
<text text-anchor="middle" x="527" y="-748.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a `getblocktemplate&#45;</text>
<text text-anchor="middle" x="527" y="-733.8" font-family="Times,serif" font-size="14.00" fill="#000000">rpcs` feature to `zebrad`</text>
<text text-anchor="middle" x="527" y="-718.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="M618.8,-710.84C630.93,-703.18 642.19,-693.98 651,-683 683.11,-642.98 643.75,-608.28 679,-571 679.92,-570.03 680.86,-569.09 681.83,-568.17"/>
<polygon fill="#000000" stroke="#000000" points="684.2467,-570.7115 689.67,-561.61 679.7546,-565.343 684.2467,-570.7115"/>
</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="M551.58,-779.06C576.68,-813.89 616.72,-869.6 651,-918 663.54,-935.71 661.82,-944.74 679,-958 680.56,-959.21 682.16,-960.38 683.79,-961.53"/>
<polygon fill="#000000" stroke="#000000" points="681.9088,-964.4816 692.2,-967 685.7255,-958.6136 681.9088,-964.4816"/>
</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="M555.67,-779.26C584,-811.08 630.08,-857.71 679,-886 682.06,-887.77 685.21,-889.46 688.44,-891.08"/>
<polygon fill="#000000" stroke="#000000" points="687.1617,-894.3467 697.7,-895.44 690.1437,-888.0135 687.1617,-894.3467"/>
</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,-790.5 679,-790.5 679,-737.5 911,-737.5 911,-790.5"/>
<text text-anchor="middle" x="795" y="-775.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5268</text>
<text text-anchor="middle" x="795" y="-760.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-745.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,-753.25C651.71,-753.84 660.14,-754.44 668.53,-755.03"/>
<polygon fill="#000000" stroke="#000000" points="668.5158,-758.5378 678.74,-755.76 669.0151,-751.5557 668.5158,-758.5378"/>
</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,-719 679,-719 679,-651 911,-651 911,-719"/>
<text text-anchor="middle" x="795" y="-703.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5302</text>
<text text-anchor="middle" x="795" y="-688.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-673.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocksubsidy` RPC</text>
<text text-anchor="middle" x="795" y="-658.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="M643.38,-718.94C651.81,-717.06 660.33,-715.15 668.81,-713.25"/>
<polygon fill="#000000" stroke="#000000" points="669.7446,-716.6275 678.74,-711.03 668.2173,-709.7962 669.7446,-716.6275"/>
</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,-632.5 679,-632.5 679,-579.5 911,-579.5 911,-632.5"/>
<text text-anchor="middle" x="795" y="-617.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5303</text>
<text text-anchor="middle" x="795" y="-602.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-587.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="M610.1,-710.86C624.57,-702.91 638.85,-693.6 651,-683 667.62,-668.49 661.25,-655.11 679,-642 680.89,-640.6 682.85,-639.25 684.84,-637.96"/>
<polygon fill="#000000" stroke="#000000" points="687.0567,-640.7152 693.88,-632.61 683.4915,-634.6911 687.0567,-640.7152"/>
</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,-1749 75,-1749 75,-1681 307,-1681 307,-1749"/>
<text text-anchor="middle" x="191" y="-1733.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="191" y="-1718.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="191" y="-1703.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="191" y="-1688.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,-1715C337.27,-1715 369.91,-1715 400.57,-1715"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1718.5001 410.89,-1715 400.89,-1711.5001 400.89,-1718.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,-684 75,-684 75,-616 307,-616 307,-684"/>
<text text-anchor="middle" x="191" y="-668.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="191" y="-653.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="191" y="-638.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster and</text>
<text text-anchor="middle" x="191" y="-623.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,-648.96C337.27,-648.69 369.91,-648.4 400.57,-648.13"/>
<polygon fill="#000000" stroke="#000000" points="400.9209,-651.6272 410.89,-648.04 400.8598,-644.6274 400.9209,-651.6272"/>
</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,-2210 75,-2210 75,-2142 307,-2142 307,-2210"/>
<text text-anchor="middle" x="191" y="-2194.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="191" y="-2179.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="191" y="-2164.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="191" y="-2149.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,-2311.5 75,-2311.5 75,-2228.5 307,-2228.5 307,-2311.5"/>
<text text-anchor="middle" x="191" y="-2296.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="191" y="-2281.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="191" y="-2266.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="191" y="-2251.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="191" y="-2236.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,-2304 411,-2304 411,-2236 643,-2236 643,-2304"/>
<text text-anchor="middle" x="527" y="-2288.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="527" y="-2273.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="527" y="-2258.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="527" y="-2243.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,-2270C337.27,-2270 369.91,-2270 400.57,-2270"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-2273.5001 410.89,-2270 400.89,-2266.5001 400.89,-2273.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>