developers/zcash-zf-dag.html

706 lines
53 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="1352pt" height="1835pt"
viewBox="0.00 0.00 1352.00 1834.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 1830.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1830.5 1348,-1830.5 1348,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="528,-78 528,-703 776,-703 776,-78 528,-78"/>
<text text-anchor="middle" x="652" y="-687.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidate</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="816,-266 816,-1033 1064,-1033 1064,-266 816,-266"/>
<text text-anchor="middle" x="940" y="-1017.8" font-family="Times,serif" font-size="14.00" fill="#000000">DevOps Ticket Tracker</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="796,-87 796,-194 1084,-194 1084,-87 796,-87"/>
<text text-anchor="middle" x="940" y="-178.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-1826.5 1344,-1826.5 1344,0 0,0"/>
<text text-anchor="middle" x="672" y="-1811.3" 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="768,-671.5 536,-671.5 536,-618.5 768,-618.5 768,-671.5"/>
<text text-anchor="middle" x="652" y="-656.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="652" y="-641.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="652" y="-626.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4955 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#4955</title>
<g id="a_node11"><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="1056,-758 824,-758 824,-690 1056,-690 1056,-758"/>
<text text-anchor="middle" x="940" y="-742.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="940" y="-727.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="940" y="-712.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="940" y="-697.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="edge1" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955</title>
<path fill="none" stroke="#000000" d="M748.7,-671.53C769.7,-677.29 792.2,-683.46 814.14,-689.48"/>
<polygon fill="#000000" stroke="#000000" points="813.2609,-692.868 823.83,-692.13 815.1075,-686.116 813.2609,-692.868"/>
</g>
<!-- ZcashFoundation/zebra#4992 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#4992</title>
<g id="a_node12"><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="1056,-671.5 824,-671.5 824,-618.5 1056,-618.5 1056,-671.5"/>
<text text-anchor="middle" x="940" y="-656.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="940" y="-641.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="940" y="-626.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="edge2" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M768.31,-645C783.15,-645 798.4,-645 813.39,-645"/>
<polygon fill="#000000" stroke="#000000" points="813.72,-648.5001 823.72,-645 813.72,-641.5001 813.72,-648.5001"/>
</g>
<!-- ZcashFoundation/zebra#4967 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#4967</title>
<g id="a_node18"><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="1056,-255.5 824,-255.5 824,-251.5 820,-251.5 820,-247.5 824,-247.5 824,-210.5 820,-210.5 820,-206.5 824,-206.5 824,-202.5 1056,-202.5 1056,-255.5"/>
<polyline fill="none" stroke="#000000" points="824,-251.5 828,-251.5 828,-247.5 824,-247.5 "/>
<polyline fill="none" stroke="#000000" points="824,-210.5 828,-210.5 828,-206.5 824,-206.5 "/>
<text text-anchor="middle" x="940" y="-240.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="940" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="940" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblockhash rpc method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M767.23,-618.13C770.4,-615.37 773.35,-612.33 776,-609 824.14,-548.6 746.15,-321 796,-262 801.41,-255.59 807.79,-250.29 814.8,-245.9"/>
<polygon fill="#000000" stroke="#000000" points="816.9248,-248.7251 823.99,-240.83 813.5434,-242.596 816.9248,-248.7251"/>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node2"><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="768,-600 536,-600 536,-532 768,-532 768,-600"/>
<text text-anchor="middle" x="652" y="-584.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="652" y="-569.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="652" y="-554.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="652" y="-539.8" font-family="Times,serif" font-size="14.00" fill="#000000">jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4612" xlink:title="ZcashFoundation/zebra#4612&#10;ci: Wait for lightwalletd&#10;image rebuild if it has&#10;changed" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1056,-163 824,-163 824,-95 1056,-95 1056,-163"/>
<text text-anchor="middle" x="940" y="-147.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="940" y="-132.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="940" y="-117.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="940" y="-102.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M768.31,-531.61C771.08,-528.95 773.66,-526.09 776,-523 820.26,-464.64 754.42,-254.3 796,-194 802.75,-184.21 811.35,-175.87 820.97,-168.77"/>
<polygon fill="#000000" stroke="#000000" points="822.9871,-171.6309 829.27,-163.1 819.0385,-165.8508 822.9871,-171.6309"/>
</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="768,-514 536,-514 536,-446 768,-446 768,-514"/>
<text text-anchor="middle" x="652" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="652" y="-483.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="652" y="-468.8" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="652" y="-453.8" font-family="Times,serif" font-size="14.00" fill="#000000">task</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5189 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5189</title>
<g id="a_node19"><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="1056,-68.5 824,-68.5 824,-15.5 1056,-15.5 1056,-68.5"/>
<text text-anchor="middle" x="940" y="-53.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="940" y="-38.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="940" y="-23.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="M768.33,-445.63C771.1,-442.96 773.67,-440.09 776,-437 823.48,-374.12 746.77,-144.52 796,-83 801.43,-76.217 807.89,-70.507 815.03,-65.704"/>
<polygon fill="#000000" stroke="#000000" points="816.9458,-68.6358 823.7,-60.473 813.3296,-62.6422 816.9458,-68.6358"/>
</g>
<!-- ZcashFoundation/zebra#5125 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5125</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5125" xlink:title="ZcashFoundation/zebra#5125&#10;Avoid temporary failures&#10;verifying the first non&#45;&#10;finalized block" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="768,-428 536,-428 536,-360 768,-360 768,-428"/>
<text text-anchor="middle" x="652" y="-412.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5125</text>
<text text-anchor="middle" x="652" y="-397.8" font-family="Times,serif" font-size="14.00" fill="#000000">Avoid temporary failures</text>
<text text-anchor="middle" x="652" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifying the first non&#45;</text>
<text text-anchor="middle" x="652" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized block</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5214 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5214</title>
<g id="a_node5"><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="768,-341.5 536,-341.5 536,-288.5 768,-288.5 768,-341.5"/>
<text text-anchor="middle" x="652" y="-326.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5214</text>
<text text-anchor="middle" x="652" y="-311.3" font-family="Times,serif" font-size="14.00" fill="#000000">Task: Make a list of</text>
<text text-anchor="middle" x="652" y="-296.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra dependencies</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5168 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#5168</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5168" xlink:title="ZcashFoundation/zebra#5168&#10;Add Docker tests for&#10;default config and&#10;$ZEBRA_CONF_PATH" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="768,-270 536,-270 536,-202 768,-202 768,-270"/>
<text text-anchor="middle" x="652" y="-254.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5168</text>
<text text-anchor="middle" x="652" y="-239.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Docker tests for</text>
<text text-anchor="middle" x="652" y="-224.8" font-family="Times,serif" font-size="14.00" fill="#000000">default config and</text>
<text text-anchor="middle" x="652" y="-209.8" font-family="Times,serif" font-size="14.00" fill="#000000">$ZEBRA_CONF_PATH</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#2654</title>
<g id="a_node7"><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="768,-184 536,-184 536,-86 768,-86 768,-184"/>
<text text-anchor="middle" x="652" y="-168.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2654</text>
<text text-anchor="middle" x="652" y="-153.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if checkpoint</text>
<text text-anchor="middle" x="652" y="-138.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier and state</text>
<text text-anchor="middle" x="652" y="-123.8" font-family="Times,serif" font-size="14.00" fill="#000000">service are correctly</text>
<text text-anchor="middle" x="652" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">reset on block commit</text>
<text text-anchor="middle" x="652" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">errors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node8"><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="1056,-1001.5 824,-1001.5 824,-948.5 1056,-948.5 1056,-1001.5"/>
<text text-anchor="middle" x="940" y="-986.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="940" y="-971.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="940" y="-956.3" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node20"><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="1344,-1009 1112,-1009 1112,-941 1344,-941 1344,-1009"/>
<text text-anchor="middle" x="1228" y="-993.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="1228" y="-978.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="1228" y="-963.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="1228" y="-948.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="edge6" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M1056.3,-975C1071.2,-975 1086.4,-975 1101.4,-975"/>
<polygon fill="#000000" stroke="#000000" points="1101.7,-978.5001 1111.7,-975 1101.7,-971.5001 1101.7,-978.5001"/>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4954" xlink:title="ZcashFoundation/zebra#4954&#10;Update release checklist&#10;PR template for the&#10;release candidate series" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1056,-930 824,-930 824,-862 1056,-862 1056,-930"/>
<text text-anchor="middle" x="940" y="-914.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="940" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="940" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="940" y="-869.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="edge7" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M823.85,-869.08C814,-864.52 804.55,-859.21 796,-853 733.81,-807.87 689.37,-727.28 667.46,-680.78"/>
<polygon fill="#000000" stroke="#000000" points="670.6253,-679.286 663.26,-671.67 664.2684,-682.2167 670.6253,-679.286"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node10"><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="1056,-844 824,-844 824,-776 1056,-776 1056,-844"/>
<text text-anchor="middle" x="940" y="-828.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="940" y="-813.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="940" y="-798.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="940" y="-783.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node13"><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="1056,-600 824,-600 824,-532 1056,-532 1056,-600"/>
<text text-anchor="middle" x="940" y="-584.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="940" y="-569.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="940" y="-554.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="940" y="-539.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4956 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#4956</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4956" xlink:title="ZcashFoundation/zebra#4956&#10;Make file locations&#10;appear in zebrad Docker&#10;error messages" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1056,-514 824,-514 824,-446 1056,-446 1056,-514"/>
<text text-anchor="middle" x="940" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4956</text>
<text text-anchor="middle" x="940" y="-483.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make file locations</text>
<text text-anchor="middle" x="940" y="-468.8" font-family="Times,serif" font-size="14.00" fill="#000000">appear in zebrad Docker</text>
<text text-anchor="middle" x="940" y="-453.8" font-family="Times,serif" font-size="14.00" fill="#000000">error messages</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4976 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#4976</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4976" xlink:title="ZcashFoundation/zebra#4976&#10;Move continuous&#10;deployment to another&#10;Google Cloud region" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1056,-428 824,-428 824,-360 1056,-360 1056,-428"/>
<text text-anchor="middle" x="940" y="-412.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4976</text>
<text text-anchor="middle" x="940" y="-397.8" font-family="Times,serif" font-size="14.00" fill="#000000">Move continuous</text>
<text text-anchor="middle" x="940" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment to another</text>
<text text-anchor="middle" x="940" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">Google Cloud region</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4529 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#4529</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4529" xlink:title="ZcashFoundation/zebra#4529&#10;Make PRs from external&#10;repositories pass or skip&#10;CI jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1056,-342 824,-342 824,-274 1056,-274 1056,-342"/>
<text text-anchor="middle" x="940" y="-326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4529</text>
<text text-anchor="middle" x="940" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make PRs from external</text>
<text text-anchor="middle" x="940" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">repositories pass or skip</text>
<text text-anchor="middle" x="940" y="-281.8" font-family="Times,serif" font-size="14.00" fill="#000000">CI jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/271" xlink:title="ZcashFoundation/zebra#271&#10;Sapling/Orchard Key&#10;Agreement and KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-871.5 4.5,-871.5 4.5,-818.5 227.5,-818.5 227.5,-871.5"/>
<text text-anchor="middle" x="116" y="-856.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="116" y="-841.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard Key</text>
<text text-anchor="middle" x="116" y="-826.3" font-family="Times,serif" font-size="14.00" fill="#000000">Agreement and KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/269" xlink:title="ZcashFoundation/zebra#269&#10;Sapling/Orchard note&#10;encryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="495.5,-945 272.5,-945 272.5,-877 495.5,-877 495.5,-945"/>
<text text-anchor="middle" x="384" y="-929.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="384" y="-914.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard note</text>
<text text-anchor="middle" x="384" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption</text>
<text text-anchor="middle" x="384" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M223.85,-871.56C236.6,-874.7 249.68,-877.92 262.6,-881.1"/>
<polygon fill="#000000" stroke="#000000" points="261.8925,-884.5304 272.44,-883.53 263.5708,-877.7345 261.8925,-884.5304"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3002" xlink:title="ZcashFoundation/zebra#3002&#10;Sapling note decryption&#10;implementation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-858.5 268,-858.5 268,-805.5 500,-805.5 500,-858.5"/>
<text text-anchor="middle" x="384" y="-843.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="384" y="-828.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="384" y="-813.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M227.72,-839.58C237.63,-839.1 247.7,-838.61 257.72,-838.13"/>
<polygon fill="#000000" stroke="#000000" points="257.8935,-841.6258 267.71,-837.64 257.5505,-834.6342 257.8935,-841.6258"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/325" xlink:title="ZcashFoundation/zebra#325&#10;Block Chain Scanning" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="227.5,-953 4.5,-953 4.5,-915 227.5,-915 227.5,-953"/>
<text text-anchor="middle" x="116" y="-937.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="116" y="-922.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node25"><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="232,-1052 0,-1052 0,-984 232,-984 232,-1052"/>
<text text-anchor="middle" x="116" y="-1036.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="116" y="-1021.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="116" y="-1006.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="116" y="-991.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node26" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node26"><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="495.5,-1044.5 272.5,-1044.5 272.5,-991.5 495.5,-991.5 495.5,-1044.5"/>
<text text-anchor="middle" x="384" y="-1029.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="384" y="-1014.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="384" y="-999.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="edge10" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M232.38,-1018C242.23,-1018 252.22,-1018 262.11,-1018"/>
<polygon fill="#000000" stroke="#000000" points="262.39,-1021.5001 272.39,-1018 262.39,-1014.5001 262.39,-1021.5001"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node27"><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="232,-1138 0,-1138 0,-1070 232,-1070 232,-1138"/>
<text text-anchor="middle" x="116" y="-1122.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="116" y="-1107.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="116" y="-1092.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="116" y="-1077.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node28"><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="232,-1209.5 0,-1209.5 0,-1156.5 232,-1156.5 232,-1209.5"/>
<text text-anchor="middle" x="116" y="-1194.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="116" y="-1179.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="116" y="-1164.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node29"><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="232,-1280.5 0,-1280.5 0,-1227.5 232,-1227.5 232,-1280.5"/>
<text text-anchor="middle" x="116" y="-1265.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="116" y="-1250.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="116" y="-1235.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4894" xlink:title="ZcashFoundation/zebra#4894&#10;Make tests wait until&#10;lightwalletd full sync&#10;goes all the way to the&#10;tip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-787.5 268,-787.5 268,-704.5 500,-704.5 500,-787.5"/>
<text text-anchor="middle" x="384" y="-772.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="384" y="-757.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make tests wait until</text>
<text text-anchor="middle" x="384" y="-742.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd full sync</text>
<text text-anchor="middle" x="384" y="-727.3" font-family="Times,serif" font-size="14.00" fill="#000000">goes all the way to the</text>
<text text-anchor="middle" x="384" y="-712.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="edge11" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M494.17,-704.48C520.17,-694.68 547.4,-684.42 571.79,-675.23"/>
<polygon fill="#000000" stroke="#000000" points="573.2173,-678.4324 581.34,-671.63 570.7482,-671.8824 573.2173,-678.4324"/>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node31"><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="232,-1351.5 0,-1351.5 0,-1298.5 232,-1298.5 232,-1351.5"/>
<text text-anchor="middle" x="116" y="-1336.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="116" y="-1321.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="116" y="-1306.3" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5193 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#5193</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5193" xlink:title="ZcashFoundation/zebra#5193&#10;doc(release): Update&#10;release template for&#10;Docker releases" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="768,-930 536,-930 536,-926 532,-926 532,-922 536,-922 536,-870 532,-870 532,-866 536,-866 536,-862 768,-862 768,-930"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="536,-926 540,-926 540,-922 536,-922 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="536,-870 540,-870 540,-866 536,-866 "/>
<text text-anchor="middle" x="652" y="-914.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5193</text>
<text text-anchor="middle" x="652" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">doc(release): Update</text>
<text text-anchor="middle" x="652" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">release template for</text>
<text text-anchor="middle" x="652" y="-869.8" font-family="Times,serif" font-size="14.00" fill="#000000">Docker releases</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5193&#45;&gt;ZcashFoundation/zebra#4954 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#5193&#45;&gt;ZcashFoundation/zebra#4954</title>
<path fill="none" stroke="#000000" d="M768.31,-896C783.15,-896 798.4,-896 813.39,-896"/>
<polygon fill="#000000" stroke="#000000" points="813.72,-899.5001 823.72,-896 813.72,-892.5001 813.72,-899.5001"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node33" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node33"><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="500,-1487.5 268,-1487.5 268,-1434.5 500,-1434.5 500,-1487.5"/>
<text text-anchor="middle" x="384" y="-1472.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="384" y="-1457.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="384" y="-1442.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5091 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#5091</title>
<g id="a_node34"><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="500,-569.5 268,-569.5 268,-516.5 500,-516.5 500,-569.5"/>
<text text-anchor="middle" x="384" y="-554.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5091</text>
<text text-anchor="middle" x="384" y="-539.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix parameter download</text>
<text text-anchor="middle" x="384" y="-524.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="edge13" class="edge">
<title>ZcashFoundation/zebra#5091&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M482.77,-569.63C488.76,-572.47 494.55,-575.58 500,-579 515.45,-588.69 512.46,-599.45 528,-609 530.82,-610.73 533.72,-612.38 536.69,-613.96"/>
<polygon fill="#000000" stroke="#000000" points="535.2746,-617.1646 545.79,-618.46 538.3776,-610.8899 535.2746,-617.1646"/>
</g>
<!-- ZcashFoundation/zebra#5253 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#5253</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5253" xlink:title="ZcashFoundation/zebra#5253&#10;Disable code timers&#10;unless a specific&#10;`zebrad` feature is&#10;activated" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-787.5 0,-787.5 0,-704.5 232,-704.5 232,-787.5"/>
<text text-anchor="middle" x="116" y="-772.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5253</text>
<text text-anchor="middle" x="116" y="-757.3" font-family="Times,serif" font-size="14.00" fill="#000000">Disable code timers</text>
<text text-anchor="middle" x="116" y="-742.3" font-family="Times,serif" font-size="14.00" fill="#000000">unless a specific</text>
<text text-anchor="middle" x="116" y="-727.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zebrad` feature is</text>
<text text-anchor="middle" x="116" y="-712.3" font-family="Times,serif" font-size="14.00" fill="#000000">activated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5253&#45;&gt;ZcashFoundation/zebra#4894 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#5253&#45;&gt;ZcashFoundation/zebra#4894</title>
<path fill="none" stroke="#000000" d="M232.38,-746C240.71,-746 249.14,-746 257.53,-746"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-749.5001 267.74,-746 257.74,-742.5001 257.74,-749.5001"/>
</g>
<!-- ZcashFoundation/zebra#5164 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#5164</title>
<g id="a_node36"><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" points="500,-686 268,-686 268,-682 264,-682 264,-678 268,-678 268,-596 264,-596 264,-592 268,-592 268,-588 500,-588 500,-686"/>
<polyline fill="none" stroke="#000000" points="268,-682 272,-682 272,-678 268,-678 "/>
<polyline fill="none" stroke="#000000" points="268,-596 272,-596 272,-592 268,-592 "/>
<text text-anchor="middle" x="384" y="-670.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5164</text>
<text text-anchor="middle" x="384" y="-655.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(test): Wait for</text>
<text text-anchor="middle" x="384" y="-640.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad and lightwalletd</text>
<text text-anchor="middle" x="384" y="-625.8" font-family="Times,serif" font-size="14.00" fill="#000000">to reach the tip in</text>
<text text-anchor="middle" x="384" y="-610.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests, to improve test</text>
<text text-anchor="middle" x="384" y="-595.8" font-family="Times,serif" font-size="14.00" fill="#000000">coverage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5253&#45;&gt;ZcashFoundation/zebra#5164 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#5253&#45;&gt;ZcashFoundation/zebra#5164</title>
<path fill="none" stroke="#000000" d="M218.08,-704.48C231.3,-699.1 244.97,-693.55 258.51,-688.04"/>
<polygon fill="#000000" stroke="#000000" points="259.9137,-691.2476 267.86,-684.24 257.2781,-684.7627 259.9137,-691.2476"/>
</g>
<!-- ZcashFoundation/zebra#5134 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#5134</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5134" xlink:title="ZcashFoundation/zebra#5134&#10;change(state): Write&#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="232,-686 0,-686 0,-682 -4,-682 -4,-678 0,-678 0,-596 -4,-596 -4,-592 0,-592 0,-588 232,-588 232,-686"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-682 4,-682 4,-678 0,-678 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-596 4,-596 4,-592 0,-592 "/>
<text text-anchor="middle" x="116" y="-670.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5134</text>
<text text-anchor="middle" x="116" y="-655.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(state): Write</text>
<text text-anchor="middle" x="116" y="-640.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized blocks to the</text>
<text text-anchor="middle" x="116" y="-625.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in a separate</text>
<text text-anchor="middle" x="116" y="-610.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread, to avoid network</text>
<text text-anchor="middle" x="116" y="-595.8" font-family="Times,serif" font-size="14.00" fill="#000000">and RPC hangs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5134&#45;&gt;ZcashFoundation/zebra#5164 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#5134&#45;&gt;ZcashFoundation/zebra#5164</title>
<path fill="none" stroke="#000000" d="M232.38,-637C240.71,-637 249.14,-637 257.53,-637"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-640.5001 267.74,-637 257.74,-633.5001 257.74,-640.5001"/>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1654.5 0,-1654.5 0,-1571.5 232,-1571.5 232,-1654.5"/>
<text text-anchor="middle" x="116" y="-1639.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="116" y="-1624.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="116" y="-1609.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="116" y="-1594.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="116" y="-1579.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3096" xlink:title="ZcashFoundation/zebra#3096&#10;Epic: Zebra Release&#10;Candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1725.5 0,-1725.5 0,-1672.5 232,-1672.5 232,-1725.5"/>
<text text-anchor="middle" x="116" y="-1710.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="116" y="-1695.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="116" y="-1680.3" font-family="Times,serif" font-size="14.00" fill="#000000">Candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1553.5 0,-1553.5 0,-1470.5 232,-1470.5 232,-1553.5"/>
<text text-anchor="middle" x="116" y="-1538.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="116" y="-1523.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1508.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1493.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="116" y="-1478.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="edge17" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1489.9C240.81,-1488.2 249.33,-1486.6 257.81,-1485"/>
<polygon fill="#000000" stroke="#000000" points="258.576,-1488.417 267.74,-1483.1 257.2604,-1481.5417 258.576,-1488.417"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1452.5 0,-1452.5 0,-1369.5 232,-1369.5 232,-1452.5"/>
<text text-anchor="middle" x="116" y="-1437.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="116" y="-1422.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1407.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1392.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="116" y="-1377.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="edge18" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1432.7C240.81,-1434.3 249.33,-1435.9 257.81,-1437.5"/>
<polygon fill="#000000" stroke="#000000" points="257.2761,-1440.9602 267.74,-1439.3 258.5246,-1434.0724 257.2761,-1440.9602"/>
</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="768,-68 536,-68 536,0 768,0 768,-68"/>
<text text-anchor="middle" x="652" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="652" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="652" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster and</text>
<text text-anchor="middle" x="652" 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="edge19" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M768.31,-37.231C783.15,-37.643 798.4,-38.067 813.39,-38.483"/>
<polygon fill="#000000" stroke="#000000" points="813.6266,-41.9908 823.72,-38.77 813.8211,-34.9935 813.6266,-41.9908"/>
</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="232,-1826.5 0,-1826.5 0,-1743.5 232,-1743.5 232,-1826.5"/>
<text text-anchor="middle" x="116" y="-1811.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="116" y="-1796.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="116" y="-1781.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="116" y="-1766.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="116" y="-1751.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="500,-1819 268,-1819 268,-1751 500,-1751 500,-1819"/>
<text text-anchor="middle" x="384" y="-1803.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="384" y="-1788.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="384" y="-1773.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="384" y="-1758.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="edge20" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M232.38,-1785C240.71,-1785 249.14,-1785 257.53,-1785"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1788.5001 267.74,-1785 257.74,-1781.5001 257.74,-1788.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>