developers/zcash-zf-dag.html

771 lines
58 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="919pt" height="2278pt"
viewBox="0.00 0.00 919.00 2277.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 2273.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2273.5 915,-2273.5 915,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-575 0,-712 383,-712 383,-575 0,-575"/>
<text text-anchor="middle" x="191.5" y="-696.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_0</title>
<polygon fill="none" stroke="#0000ff" points="67,-194 67,-373 651,-373 651,-194 67,-194"/>
<text text-anchor="middle" x="359" y="-357.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,-681 75,-681 75,-583 307,-583 307,-681"/>
<text text-anchor="middle" x="191" y="-665.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2654</text>
<text text-anchor="middle" x="191" y="-650.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if checkpoint</text>
<text text-anchor="middle" x="191" y="-635.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier and state</text>
<text text-anchor="middle" x="191" y="-620.8" font-family="Times,serif" font-size="14.00" fill="#000000">service are correctly</text>
<text text-anchor="middle" x="191" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">reset on block commit</text>
<text text-anchor="middle" x="191" y="-590.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,-341.5 411,-341.5 411,-288.5 643,-288.5 643,-341.5"/>
<text text-anchor="middle" x="527" y="-326.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="527" y="-311.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="-296.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="edge6" class="edge">
<title>ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.21,-612.4C334.09,-603.85 361.18,-591.59 383,-574 456.35,-514.89 498.44,-407.83 516.46,-351.66"/>
<polygon fill="#000000" stroke="#000000" points="519.9024,-352.379 519.55,-341.79 513.2221,-350.2875 519.9024,-352.379"/>
</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,-420.5 679,-420.5 679,-416.5 675,-416.5 675,-412.5 679,-412.5 679,-375.5 675,-375.5 675,-371.5 679,-371.5 679,-367.5 911,-367.5 911,-420.5"/>
<polyline fill="none" stroke="#000000" points="679,-416.5 683,-416.5 683,-412.5 679,-412.5 "/>
<polyline fill="none" stroke="#000000" points="679,-375.5 683,-375.5 683,-371.5 679,-371.5 "/>
<text text-anchor="middle" x="795" y="-405.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="795" y="-390.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="795" y="-375.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="M616.99,-341.53C642.07,-348.92 669.46,-356.99 695.07,-364.54"/>
<polygon fill="#000000" stroke="#000000" points="694.2183,-367.9378 704.8,-367.41 696.1988,-361.2238 694.2183,-367.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,-349 679,-349 679,-281 911,-281 911,-349"/>
<text text-anchor="middle" x="795" y="-333.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="795" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="795" y="-303.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="795" y="-288.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="M643.38,-315C651.71,-315 660.14,-315 668.53,-315"/>
<polygon fill="#000000" stroke="#000000" points="668.74,-318.5001 678.74,-315 668.74,-311.5001 668.74,-318.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,-262.5 679,-262.5 679,-209.5 911,-209.5 911,-262.5"/>
<text text-anchor="middle" x="795" y="-247.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="795" y="-232.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="795" y="-217.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="M616.99,-288.47C642.07,-281.08 669.46,-273.01 695.07,-265.46"/>
<polygon fill="#000000" stroke="#000000" points="696.1988,-268.7762 704.8,-262.59 694.2183,-262.0622 696.1988,-268.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,-342 75,-342 75,-274 307,-274 307,-342"/>
<text text-anchor="middle" x="191" y="-326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="191" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="191" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="191" y="-281.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,-310.42C337.27,-311.05 369.91,-311.73 400.57,-312.37"/>
<polygon fill="#000000" stroke="#000000" points="400.8208,-315.8757 410.89,-312.58 400.9633,-308.8772 400.8208,-315.8757"/>
</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,-185.5 411,-185.5 411,-132.5 643,-132.5 643,-185.5"/>
<text text-anchor="middle" x="527" y="-170.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="527" y="-155.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="527" y="-140.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="M307.01,-300.98C334.43,-294.5 361.82,-283.46 383,-265 407.52,-243.63 388.6,-218.65 409.32,-192.88"/>
<polygon fill="#000000" stroke="#000000" points="411.9025,-195.2437 416.29,-185.6 406.8462,-190.4027 411.9025,-195.2437"/>
</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,-255.5 75,-255.5 75,-202.5 307,-202.5 307,-255.5"/>
<text text-anchor="middle" x="191" y="-240.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5214</text>
<text text-anchor="middle" x="191" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">Task: Make a list of</text>
<text text-anchor="middle" x="191" y="-210.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,-184 75,-184 75,-180 71,-180 71,-176 75,-176 75,-94 71,-94 71,-90 75,-90 75,-86 307,-86 307,-184"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-180 79,-180 79,-176 75,-176 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-94 79,-94 79,-90 75,-90 "/>
<text text-anchor="middle" x="191" y="-168.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5257</text>
<text text-anchor="middle" x="191" y="-153.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(state): Write non&#45;</text>
<text text-anchor="middle" x="191" y="-138.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized blocks to the</text>
<text text-anchor="middle" x="191" y="-123.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in a separate</text>
<text text-anchor="middle" x="191" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread, to avoid network</text>
<text text-anchor="middle" x="191" y="-93.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.17,-159.47C332.98,-167.29 359.61,-177.31 383,-190 426.94,-213.83 469.15,-253.04 496.38,-281.19"/>
<polygon fill="#000000" stroke="#000000" points="493.8768,-283.6366 503.31,-288.46 498.9436,-278.8067 493.8768,-283.6366"/>
</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,-114.5 411,-114.5 411,-61.5 643,-61.5 643,-114.5"/>
<text text-anchor="middle" x="527" y="-99.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="527" y="-84.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="527" y="-69.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,-118.76C337.4,-114.52 370.19,-109.93 400.97,-105.63"/>
<polygon fill="#000000" stroke="#000000" points="401.4725,-109.0939 410.89,-104.24 400.501,-102.1616 401.4725,-109.0939"/>
</g>
<!-- ZcashFoundation/zebra#5308 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5308</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5308" xlink:title="ZcashFoundation/zebra#5308&#10;fix(deps): Update yanked&#10;versions of cpufeatures&#10;(orchard/aes), ed25519&#10;(tor), and quick&#45;xml&#10;(flamegraph)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-565 75,-565 75,-561 71,-561 71,-557 75,-557 75,-475 71,-475 71,-471 75,-471 75,-467 307,-467 307,-565"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-561 79,-561 79,-557 75,-557 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-475 79,-475 79,-471 75,-471 "/>
<text text-anchor="middle" x="191" y="-549.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5308</text>
<text text-anchor="middle" x="191" y="-534.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(deps): Update yanked</text>
<text text-anchor="middle" x="191" y="-519.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions of cpufeatures</text>
<text text-anchor="middle" x="191" y="-504.8" font-family="Times,serif" font-size="14.00" fill="#000000">(orchard/aes), ed25519</text>
<text text-anchor="middle" x="191" y="-489.8" font-family="Times,serif" font-size="14.00" fill="#000000">(tor), and quick&#45;xml</text>
<text text-anchor="middle" x="191" y="-474.8" font-family="Times,serif" font-size="14.00" fill="#000000">(flamegraph)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5308&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#5308&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.06,-490.89C333.08,-482.59 359.82,-471.82 383,-458 430.71,-429.56 474.26,-381.92 500.69,-349.51"/>
<polygon fill="#000000" stroke="#000000" points="503.4945,-351.6075 507.03,-341.62 498.0378,-347.2229 503.4945,-351.6075"/>
</g>
<!-- ZcashFoundation/zebra#5312 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5312</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5312" xlink:title="ZcashFoundation/zebra#5312&#10;fix(docker): Add latest&#10;and edge tags to Docker&#10;images" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-449 75,-449 75,-445 71,-445 71,-441 75,-441 75,-389 71,-389 71,-385 75,-385 75,-381 307,-381 307,-449"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-445 79,-445 79,-441 75,-441 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-389 79,-389 79,-385 75,-385 "/>
<text text-anchor="middle" x="191" y="-433.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5312</text>
<text text-anchor="middle" x="191" y="-418.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(docker): Add latest</text>
<text text-anchor="middle" x="191" y="-403.8" font-family="Times,serif" font-size="14.00" fill="#000000">and edge tags to Docker</text>
<text text-anchor="middle" x="191" y="-388.8" font-family="Times,serif" font-size="14.00" fill="#000000">images</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5312&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#5312&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.22,-396.1C332.46,-390.86 358.82,-384.5 383,-377 409.97,-368.63 438.73,-356.86 463.4,-345.82"/>
<polygon fill="#000000" stroke="#000000" points="464.9715,-348.9506 472.64,-341.64 462.0863,-342.5729 464.9715,-348.9506"/>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node13"><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,-1047 75,-1047 75,-979 307,-979 307,-1047"/>
<text text-anchor="middle" x="191" y="-1031.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="191" y="-1016.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="191" y="-1001.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="191" y="-986.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node14" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node14"><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,-1039.5 415.5,-1039.5 415.5,-986.5 638.5,-986.5 638.5,-1039.5"/>
<text text-anchor="middle" x="527" y="-1024.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="527" y="-1009.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="527" y="-994.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="edge11" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M307.1,-1013C338.77,-1013 373.16,-1013 405.14,-1013"/>
<polygon fill="#000000" stroke="#000000" points="405.43,-1016.5001 415.43,-1013 405.43,-1009.5001 405.43,-1016.5001"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node15"><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,-755 411,-755 411,-687 643,-687 643,-755"/>
<text text-anchor="middle" x="527" y="-739.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="527" y="-724.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="527" y="-709.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="527" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#5235</title>
<g id="a_node16"><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,-736 679,-736 679,-668 911,-668 911,-736"/>
<text text-anchor="middle" x="795" y="-720.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="795" y="-705.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-690.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="795" y="-675.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="edge12" class="edge">
<title>ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M643.38,-712.75C651.71,-712.16 660.14,-711.56 668.53,-710.97"/>
<polygon fill="#000000" stroke="#000000" points="669.0151,-714.4443 678.74,-710.24 668.5158,-707.4622 669.0151,-714.4443"/>
</g>
<!-- ZcashFoundation/zebra#5236 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#5236</title>
<g id="a_node17"><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,-807.5 679,-807.5 679,-754.5 911,-754.5 911,-807.5"/>
<text text-anchor="middle" x="795" y="-792.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5236</text>
<text text-anchor="middle" x="795" y="-777.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-762.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="edge13" class="edge">
<title>ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5236</title>
<path fill="none" stroke="#000000" d="M643.38,-747.06C651.81,-748.94 660.33,-750.85 668.81,-752.75"/>
<polygon fill="#000000" stroke="#000000" points="668.2173,-756.2038 678.74,-754.97 669.7446,-749.3725 668.2173,-756.2038"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node18"><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,-1118.5 75,-1118.5 75,-1065.5 307,-1065.5 307,-1118.5"/>
<text text-anchor="middle" x="191" y="-1103.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="191" y="-1088.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="191" y="-1073.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node19"><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,-1189.5 75,-1189.5 75,-1136.5 307,-1136.5 307,-1189.5"/>
<text text-anchor="middle" x="191" y="-1174.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="191" y="-1159.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="191" y="-1144.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node20"><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,-1260.5 75,-1260.5 75,-1207.5 307,-1207.5 307,-1260.5"/>
<text text-anchor="middle" x="191" y="-1245.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="191" y="-1230.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="191" y="-1215.3" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node21"><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,-1268 411,-1268 411,-1200 643,-1200 643,-1268"/>
<text text-anchor="middle" x="527" y="-1252.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="527" y="-1237.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="527" y="-1222.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="527" y="-1207.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="edge14" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M307.1,-1234C337.27,-1234 369.91,-1234 400.57,-1234"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1237.5001 410.89,-1234 400.89,-1230.5001 400.89,-1237.5001"/>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node22"><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,-788 75,-788 75,-720 307,-720 307,-788"/>
<text text-anchor="middle" x="191" y="-772.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="191" y="-757.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="191" y="-742.8" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="191" y="-727.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="edge15" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.46,-753.16C335.45,-747.45 363,-736.36 383,-716 432.36,-665.75 389.52,-627.09 411,-560 435.96,-482.06 480.54,-396.95 506.56,-350.38"/>
<polygon fill="#000000" stroke="#000000" points="509.6528,-352.0208 511.51,-341.59 503.5534,-348.586 509.6528,-352.0208"/>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node23"><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,-960.5 75,-960.5 75,-877.5 307,-877.5 307,-960.5"/>
<text text-anchor="middle" x="191" y="-945.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="191" y="-930.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make tests wait until</text>
<text text-anchor="middle" x="191" y="-915.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd full sync</text>
<text text-anchor="middle" x="191" y="-900.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="-885.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="edge16" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.21,-912.03C335.89,-904.65 363.84,-891.6 383,-869 427.59,-816.41 392.86,-626.52 411,-560 432.48,-481.25 478.1,-396.75 505.29,-350.44"/>
<polygon fill="#000000" stroke="#000000" points="508.3823,-352.0871 510.47,-341.7 502.3605,-348.5181 508.3823,-352.0871"/>
</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,-1347 75,-1347 75,-1279 307,-1279 307,-1347"/>
<text text-anchor="middle" x="191" y="-1331.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="191" y="-1316.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="191" y="-1301.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="191" y="-1286.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,-1418.5 75,-1418.5 75,-1365.5 307,-1365.5 307,-1418.5"/>
<text text-anchor="middle" x="191" y="-1403.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="191" y="-1388.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="191" y="-1373.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,-1554.5 411,-1554.5 411,-1501.5 643,-1501.5 643,-1554.5"/>
<text text-anchor="middle" x="527" y="-1539.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="527" y="-1524.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="527" y="-1509.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,-1707 411,-1707 411,-1639 643,-1639 643,-1707"/>
<text text-anchor="middle" x="527" y="-1691.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="527" y="-1676.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="527" y="-1661.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="527" y="-1646.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5091 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#5091</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5091" xlink:title="ZcashFoundation/zebra#5091&#10;Fix parameter download&#10;hangs with Rust 1.64" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-859.5 75,-859.5 75,-806.5 307,-806.5 307,-859.5"/>
<text text-anchor="middle" x="191" y="-844.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5091</text>
<text text-anchor="middle" x="191" y="-829.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix parameter download</text>
<text text-anchor="middle" x="191" y="-814.3" font-family="Times,serif" font-size="14.00" fill="#000000">hangs with Rust 1.64</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5091&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#5091&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.21,-834.46C335.54,-829.11 363.32,-818.06 383,-797 419.21,-758.25 396.35,-610.97 411,-560 433.55,-481.55 478.79,-396.95 505.62,-350.53"/>
<polygon fill="#000000" stroke="#000000" points="508.7145,-352.1714 510.73,-341.77 502.668,-348.6442 508.7145,-352.1714"/>
</g>
<!-- ZcashFoundation/zebra#5164 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#5164</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5164" xlink:title="ZcashFoundation/zebra#5164&#10;2. 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,-1823 75,-1823 75,-1819 71,-1819 71,-1815 75,-1815 75,-1733 71,-1733 71,-1729 75,-1729 75,-1725 307,-1725 307,-1823"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-1819 79,-1819 79,-1815 75,-1815 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-1733 79,-1733 79,-1729 75,-1729 "/>
<text text-anchor="middle" x="191" y="-1807.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5164</text>
<text text-anchor="middle" x="191" y="-1792.8" font-family="Times,serif" font-size="14.00" fill="#000000">2. fix(test): Wait for</text>
<text text-anchor="middle" x="191" y="-1777.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad and lightwalletd</text>
<text text-anchor="middle" x="191" y="-1762.8" font-family="Times,serif" font-size="14.00" fill="#000000">to reach the tip in</text>
<text text-anchor="middle" x="191" y="-1747.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests, to improve test</text>
<text text-anchor="middle" x="191" y="-1732.8" font-family="Times,serif" font-size="14.00" fill="#000000">coverage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5153 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5153</title>
<g id="a_node30"><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,-1909 75,-1909 75,-1841 307,-1841 307,-1909"/>
<text text-anchor="middle" x="191" y="-1893.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5153</text>
<text text-anchor="middle" x="191" y="-1878.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Google Cloud</text>
<text text-anchor="middle" x="191" y="-1863.8" font-family="Times,serif" font-size="14.00" fill="#000000">instances with the name</text>
<text text-anchor="middle" x="191" y="-1848.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="node31" class="node closed">
<title>ZcashFoundation/zebra#5155</title>
<g id="a_node31"><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,-1952 411,-1952 411,-1884 643,-1884 643,-1952"/>
<text text-anchor="middle" x="527" y="-1936.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5155</text>
<text text-anchor="middle" x="527" y="-1921.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we want to</text>
<text text-anchor="middle" x="527" y="-1906.8" font-family="Times,serif" font-size="14.00" fill="#000000">create cached states more</text>
<text text-anchor="middle" x="527" y="-1891.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="edge18" class="edge">
<title>ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5155</title>
<path fill="none" stroke="#000000" d="M307.1,-1889.9C337.27,-1893.7 369.91,-1897.9 400.57,-1901.8"/>
<polygon fill="#000000" stroke="#000000" points="400.5309,-1905.3227 410.89,-1903.1 401.4059,-1898.3775 400.5309,-1905.3227"/>
</g>
<!-- ZcashFoundation/zebra#5188 -->
<g id="node32" class="node closed">
<title>ZcashFoundation/zebra#5188</title>
<g id="a_node32"><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,-1866 411,-1866 411,-1798 643,-1798 643,-1866"/>
<text text-anchor="middle" x="527" y="-1850.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5188</text>
<text text-anchor="middle" x="527" y="-1835.8" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce continuous</text>
<text text-anchor="middle" x="527" y="-1820.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment instance group</text>
<text text-anchor="middle" x="527" y="-1805.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="edge19" class="edge">
<title>ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5188</title>
<path fill="none" stroke="#000000" d="M307.1,-1860.1C337.27,-1856.3 369.91,-1852.1 400.57,-1848.2"/>
<polygon fill="#000000" stroke="#000000" points="401.4059,-1851.6225 410.89,-1846.9 400.5309,-1844.6773 401.4059,-1851.6225"/>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node33"><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,-2010.5 75,-2010.5 75,-1927.5 307,-1927.5 307,-2010.5"/>
<text text-anchor="middle" x="191" y="-1995.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="191" y="-1980.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="191" y="-1965.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="191" y="-1950.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="191" y="-1935.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node34"><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,-2081.5 75,-2081.5 75,-2028.5 307,-2028.5 307,-2081.5"/>
<text text-anchor="middle" x="191" y="-2066.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="191" y="-2051.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="191" y="-2036.3" font-family="Times,serif" font-size="14.00" fill="#000000">Candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node35"><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,-1620.5 75,-1620.5 75,-1537.5 307,-1537.5 307,-1620.5"/>
<text text-anchor="middle" x="191" y="-1605.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="191" y="-1590.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1575.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1560.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="191" y="-1545.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="edge20" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1561.4C337.4,-1556.8 370.19,-1551.8 400.97,-1547.1"/>
<polygon fill="#000000" stroke="#000000" points="401.5257,-1550.5558 410.89,-1545.6 400.4791,-1543.6345 401.5257,-1550.5558"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node36"><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,-1519.5 75,-1519.5 75,-1436.5 307,-1436.5 307,-1519.5"/>
<text text-anchor="middle" x="191" y="-1504.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="191" y="-1489.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1474.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1459.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="191" y="-1444.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="edge21" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1495.3C337.4,-1499.8 370.19,-1504.7 400.97,-1509.2"/>
<polygon fill="#000000" stroke="#000000" points="400.4791,-1512.6655 410.89,-1510.7 401.5257,-1505.7442 400.4791,-1512.6655"/>
</g>
<!-- ZcashFoundation/zebra#5305 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#5305</title>
<g id="a_node37"><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,-637 411,-637 411,-569 643,-569 643,-637"/>
<text text-anchor="middle" x="527" y="-621.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5305</text>
<text text-anchor="middle" x="527" y="-606.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a `getblocktemplate&#45;</text>
<text text-anchor="middle" x="527" y="-591.8" font-family="Times,serif" font-size="14.00" fill="#000000">rpcs` feature to `zebrad`</text>
<text text-anchor="middle" x="527" y="-576.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="edge22" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M548.56,-568.68C574.8,-529.63 622.65,-466.55 679,-430 681.57,-428.33 684.22,-426.74 686.94,-425.21"/>
<polygon fill="#000000" stroke="#000000" points="688.5646,-428.3102 695.81,-420.58 685.3254,-422.1047 688.5646,-428.3102"/>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M619.23,-637.07C643.02,-645.86 668.77,-655.37 693.03,-664.33"/>
<polygon fill="#000000" stroke="#000000" points="692.0068,-667.6832 702.6,-667.87 694.4354,-661.118 692.0068,-667.6832"/>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5236 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5236</title>
<path fill="none" stroke="#000000" d="M600.38,-637C618.68,-648.09 637.04,-661.8 651,-678 672.07,-702.45 655.12,-723.29 679,-745 680.31,-746.19 681.67,-747.35 683.05,-748.47"/>
<polygon fill="#000000" stroke="#000000" points="681.1988,-751.4499 691.36,-754.45 685.2875,-745.7681 681.1988,-751.4499"/>
</g>
<!-- ZcashFoundation/zebra#5268 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#5268</title>
<g id="a_node38"><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,-578.5 679,-578.5 679,-525.5 911,-525.5 911,-578.5"/>
<text text-anchor="middle" x="795" y="-563.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5268</text>
<text text-anchor="middle" x="795" y="-548.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-533.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="edge25" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5268</title>
<path fill="none" stroke="#000000" d="M643.38,-580.85C651.81,-579.25 660.33,-577.63 668.81,-576.01"/>
<polygon fill="#000000" stroke="#000000" points="669.5708,-579.4281 678.74,-574.12 668.2619,-572.5516 669.5708,-579.4281"/>
</g>
<!-- ZcashFoundation/zebra#5302 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#5302</title>
<g id="a_node39"><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,-507 679,-507 679,-439 911,-439 911,-507"/>
<text text-anchor="middle" x="795" y="-491.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5302</text>
<text text-anchor="middle" x="795" y="-476.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-461.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocksubsidy` RPC</text>
<text text-anchor="middle" x="795" y="-446.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="edge26" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5302</title>
<path fill="none" stroke="#000000" d="M582.58,-568.85C610.9,-552.15 646.2,-532.39 679,-517 683.28,-514.99 687.69,-513 692.16,-511.04"/>
<polygon fill="#000000" stroke="#000000" points="693.5945,-514.2332 701.41,-507.08 690.8395,-507.7981 693.5945,-514.2332"/>
</g>
<!-- ZcashFoundation/zebra#5303 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#5303</title>
<g id="a_node40"><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,-649.5 679,-649.5 679,-596.5 911,-596.5 911,-649.5"/>
<text text-anchor="middle" x="795" y="-634.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5303</text>
<text text-anchor="middle" x="795" y="-619.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-604.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="edge27" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5303</title>
<path fill="none" stroke="#000000" d="M643.38,-611.69C651.71,-612.31 660.14,-612.94 668.53,-613.56"/>
<polygon fill="#000000" stroke="#000000" points="668.5077,-617.0679 678.74,-614.32 669.0274,-610.0873 668.5077,-617.0679"/>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node41"><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,-1707 75,-1707 75,-1639 307,-1639 307,-1707"/>
<text text-anchor="middle" x="191" y="-1691.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="191" y="-1676.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="191" y="-1661.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="191" y="-1646.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="edge28" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M307.1,-1673C337.27,-1673 369.91,-1673 400.57,-1673"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1676.5001 410.89,-1673 400.89,-1669.5001 400.89,-1676.5001"/>
</g>
<!-- ZcashFoundation/zebra#5199 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#5199</title>
<g id="a_node42"><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,-68 75,-68 75,0 307,0 307,-68"/>
<text text-anchor="middle" x="191" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="191" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="191" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster and</text>
<text text-anchor="middle" x="191" y="-7.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="edge29" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.23,-44.505C333.89,-50.966 360.86,-61.124 383,-77 402.45,-90.949 392.13,-108.28 411,-123 412.79,-124.4 414.63,-125.74 416.53,-127.03"/>
<polygon fill="#000000" stroke="#000000" points="414.7511,-130.0453 425.09,-132.36 418.4511,-124.1031 414.7511,-130.0453"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node43"><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,-2168 75,-2168 75,-2100 307,-2100 307,-2168"/>
<text text-anchor="middle" x="191" y="-2152.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="191" y="-2137.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="191" y="-2122.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="191" y="-2107.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-2269.5 75,-2269.5 75,-2186.5 307,-2186.5 307,-2269.5"/>
<text text-anchor="middle" x="191" y="-2254.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="191" y="-2239.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="191" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="191" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="191" y="-2194.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node45" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-2262 411,-2262 411,-2194 643,-2194 643,-2262"/>
<text text-anchor="middle" x="527" y="-2246.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="527" y="-2231.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="527" y="-2216.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="527" y="-2201.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="edge30" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M307.1,-2228C337.27,-2228 369.91,-2228 400.57,-2228"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-2231.5001 410.89,-2228 400.89,-2224.5001 400.89,-2231.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>