developers/zcash-zf-dag.html

711 lines
54 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="1195pt" height="2250pt"
viewBox="0.00 0.00 1195.00 2249.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 2245.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2245.5 1191,-2245.5 1191,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="67,-420 67,-599 651,-599 651,-420 67,-420"/>
<text text-anchor="middle" x="359" y="-583.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidate</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="671,-76 671,-929 1187,-929 1187,-76 671,-76"/>
<text text-anchor="middle" x="929" y="-913.8" font-family="Times,serif" font-size="14.00" fill="#000000">DevOps Ticket Tracker</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-888 0,-1025 383,-1025 383,-888 0,-888"/>
<text text-anchor="middle" x="191.5" y="-1009.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to state using a separate task</text>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra 1.0.0&#45;rc.0&#10;stable release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-567.5 411,-567.5 411,-514.5 643,-514.5 643,-567.5"/>
<text text-anchor="middle" x="527" y="-552.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="527" y="-537.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="-522.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4955 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#4955</title>
<g id="a_node8"><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,-496 679,-496 679,-428 911,-428 911,-496"/>
<text text-anchor="middle" x="795" y="-480.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="795" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="795" y="-450.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="795" y="-435.8" font-family="Times,serif" font-size="14.00" fill="#000000">names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955</title>
<path fill="none" stroke="#000000" d="M616.99,-514.47C633.92,-509.48 651.91,-504.18 669.7,-498.94"/>
<polygon fill="#000000" stroke="#000000" points="670.9514,-502.2199 679.55,-496.03 668.9681,-495.5067 670.9514,-502.2199"/>
</g>
<!-- ZcashFoundation/zebra#4992 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#4992</title>
<g id="a_node10"><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,-811.5 679,-811.5 679,-758.5 911,-758.5 911,-811.5"/>
<text text-anchor="middle" x="795" y="-796.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="795" y="-781.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="795" y="-766.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="M538.22,-567.73C558.23,-612.15 604.34,-701.02 671,-749 673.11,-750.52 675.28,-751.97 677.51,-753.37"/>
<polygon fill="#000000" stroke="#000000" points="675.9251,-756.4958 686.34,-758.44 679.4106,-750.4253 675.9251,-756.4958"/>
</g>
<!-- ZcashFoundation/zebra#4967 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#4967</title>
<g id="a_node16"><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,-65.5 679,-65.5 679,-61.5 675,-61.5 675,-57.5 679,-57.5 679,-20.5 675,-20.5 675,-16.5 679,-16.5 679,-12.5 911,-12.5 911,-65.5"/>
<polyline fill="none" stroke="#000000" points="679,-61.5 683,-61.5 683,-57.5 679,-57.5 "/>
<polyline fill="none" stroke="#000000" points="679,-20.5 683,-20.5 683,-16.5 679,-16.5 "/>
<text text-anchor="middle" x="795" y="-50.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="795" y="-35.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="795" y="-20.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="edge5" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M565.64,-514.4C594.78,-491.92 632.75,-456.89 651,-416 682.2,-346.07 622.59,-131.33 671,-72 671.22,-71.725 671.45,-71.452 671.68,-71.181"/>
<polygon fill="#000000" stroke="#000000" points="674.314,-73.4942 678.83,-63.91 669.3229,-68.5861 674.314,-73.4942"/>
</g>
<!-- ZcashFoundation/zebra#4937 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#4937</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4937" xlink:title="ZcashFoundation/zebra#4937&#10;Epic: Commit blocks to&#10;state using a separate&#10;task" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-568 75,-568 75,-500 307,-500 307,-568"/>
<text text-anchor="middle" x="191" y="-552.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="191" y="-537.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="191" y="-522.8" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="191" y="-507.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,-536.42C337.27,-537.05 369.91,-537.73 400.57,-538.37"/>
<polygon fill="#000000" stroke="#000000" points="400.8208,-541.8757 410.89,-538.58 400.9633,-534.8772 400.8208,-541.8757"/>
</g>
<!-- ZcashFoundation/zebra#5189 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#5189</title>
<g id="a_node17"><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,-406.5 411,-406.5 411,-353.5 643,-353.5 643,-406.5"/>
<text text-anchor="middle" x="527" y="-391.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="527" y="-376.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="527" y="-361.3" font-family="Times,serif" font-size="14.00" fill="#000000">smaller instances</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.01,-526.98C334.43,-520.5 361.82,-509.46 383,-491 409.82,-467.62 385.14,-440.44 411,-416 412.26,-414.81 413.57,-413.65 414.91,-412.53"/>
<polygon fill="#000000" stroke="#000000" points="417.0054,-415.3335 422.93,-406.55 412.821,-409.7218 417.0054,-415.3335"/>
</g>
<!-- ZcashFoundation/zebra#5214 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5214</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5214" xlink:title="ZcashFoundation/zebra#5214&#10;Task: Make a list of&#10;Zebra dependencies" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-481.5 75,-481.5 75,-428.5 307,-428.5 307,-481.5"/>
<text text-anchor="middle" x="191" y="-466.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5214</text>
<text text-anchor="middle" x="191" y="-451.3" font-family="Times,serif" font-size="14.00" fill="#000000">Task: Make a list of</text>
<text text-anchor="middle" x="191" y="-436.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra dependencies</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node4"><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="911,-567.5 679,-567.5 679,-514.5 911,-514.5 911,-567.5"/>
<text text-anchor="middle" x="795" y="-552.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="795" y="-537.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="795" y="-522.3" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node18"><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="1179,-68 947,-68 947,0 1179,0 1179,-68"/>
<text text-anchor="middle" x="1063" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="1063" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="1063" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="1063" y="-7.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="edge7" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M901.78,-514.42C905.13,-511.58 908.23,-508.45 911,-505 969.5,-432.13 892.43,-165.72 944.64,-76.46"/>
<polygon fill="#000000" stroke="#000000" points="947.5641,-78.3842 950.29,-68.146 941.7744,-74.4496 947.5641,-78.3842"/>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node5"><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="911,-654 679,-654 679,-586 911,-586 911,-654"/>
<text text-anchor="middle" x="795" y="-638.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="795" y="-623.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="795" y="-608.8" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="795" y="-593.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="edge8" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M679.55,-585.97C662.05,-580.81 644.11,-575.52 626.98,-570.47"/>
<polygon fill="#000000" stroke="#000000" points="627.5714,-566.9957 616.99,-567.53 625.595,-573.7109 627.5714,-566.9957"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node6"><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="911,-740 679,-740 679,-672 911,-672 911,-740"/>
<text text-anchor="middle" x="795" y="-724.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="795" y="-709.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="795" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="795" y="-679.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node7" class="node closed">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node7"><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="1179,-898 947,-898 947,-830 1179,-830 1179,-898"/>
<text text-anchor="middle" x="1063" y="-882.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="1063" y="-867.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="1063" y="-852.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="1063" y="-837.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node9"><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="911,-898 679,-898 679,-830 911,-830 911,-898"/>
<text text-anchor="middle" x="795" y="-882.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="795" y="-867.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="795" y="-852.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="795" y="-837.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="edge2" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M911.38,-864C919.71,-864 928.14,-864 936.53,-864"/>
<polygon fill="#000000" stroke="#000000" points="936.74,-867.5001 946.74,-864 936.74,-860.5001 936.74,-867.5001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node11"><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="911,-410 679,-410 679,-342 911,-342 911,-410"/>
<text text-anchor="middle" x="795" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="795" y="-379.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="795" y="-364.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="795" y="-349.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4956 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#4956</title>
<g id="a_node12"><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="911,-324 679,-324 679,-256 911,-256 911,-324"/>
<text text-anchor="middle" x="795" y="-308.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4956</text>
<text text-anchor="middle" x="795" y="-293.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make file locations</text>
<text text-anchor="middle" x="795" y="-278.8" font-family="Times,serif" font-size="14.00" fill="#000000">appear in zebrad Docker</text>
<text text-anchor="middle" x="795" y="-263.8" font-family="Times,serif" font-size="14.00" fill="#000000">error messages</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4976 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#4976</title>
<g id="a_node13"><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="911,-238 679,-238 679,-170 911,-170 911,-238"/>
<text text-anchor="middle" x="795" y="-222.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4976</text>
<text text-anchor="middle" x="795" y="-207.8" font-family="Times,serif" font-size="14.00" fill="#000000">Move continuous</text>
<text text-anchor="middle" x="795" y="-192.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment to another</text>
<text text-anchor="middle" x="795" y="-177.8" font-family="Times,serif" font-size="14.00" fill="#000000">Google Cloud region</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4529 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#4529</title>
<g id="a_node14"><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="911,-152 679,-152 679,-84 911,-84 911,-152"/>
<text text-anchor="middle" x="795" y="-136.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4529</text>
<text text-anchor="middle" x="795" y="-121.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make PRs from external</text>
<text text-anchor="middle" x="795" y="-106.8" font-family="Times,serif" font-size="14.00" fill="#000000">repositories pass or skip</text>
<text text-anchor="middle" x="795" y="-91.8" font-family="Times,serif" font-size="14.00" fill="#000000">CI jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#2654</title>
<g id="a_node15"><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,-994 75,-994 75,-896 307,-896 307,-994"/>
<text text-anchor="middle" x="191" y="-978.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2654</text>
<text text-anchor="middle" x="191" y="-963.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if checkpoint</text>
<text text-anchor="middle" x="191" y="-948.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier and state</text>
<text text-anchor="middle" x="191" y="-933.8" font-family="Times,serif" font-size="14.00" fill="#000000">service are correctly</text>
<text text-anchor="middle" x="191" y="-918.8" font-family="Times,serif" font-size="14.00" fill="#000000">reset on block commit</text>
<text text-anchor="middle" x="191" y="-903.8" font-family="Times,serif" font-size="14.00" fill="#000000">errors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.16,-927.57C334.5,-918.98 361.82,-906.15 383,-887 476.21,-802.76 510.73,-648.76 522.07,-578.16"/>
<polygon fill="#000000" stroke="#000000" points="525.5779,-578.3761 523.64,-567.96 518.6594,-577.3111 525.5779,-578.3761"/>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node19"><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="302.5,-1086.5 79.5,-1086.5 79.5,-1033.5 302.5,-1033.5 302.5,-1086.5"/>
<text text-anchor="middle" x="191" y="-1071.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="191" y="-1056.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard Key</text>
<text text-anchor="middle" x="191" y="-1041.3" font-family="Times,serif" font-size="14.00" fill="#000000">Agreement and KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node20"><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="638.5,-1122 415.5,-1122 415.5,-1054 638.5,-1054 638.5,-1122"/>
<text text-anchor="middle" x="527" y="-1106.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="527" y="-1091.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard note</text>
<text text-anchor="middle" x="527" y="-1076.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption</text>
<text text-anchor="middle" x="527" y="-1061.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="edge10" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M302.88,-1069.3C335.67,-1072.1 371.67,-1075.1 405.05,-1077.8"/>
<polygon fill="#000000" stroke="#000000" points="405.0526,-1081.3136 415.32,-1078.7 405.6638,-1074.3403 405.0526,-1081.3136"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node21"><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="643,-1035.5 411,-1035.5 411,-982.5 643,-982.5 643,-1035.5"/>
<text text-anchor="middle" x="527" y="-1020.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="527" y="-1005.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="527" y="-990.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="edge11" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M302.88,-1043C334.28,-1038.3 368.64,-1033 400.81,-1028.2"/>
<polygon fill="#000000" stroke="#000000" points="401.4057,-1031.6492 410.72,-1026.6 400.2899,-1024.7387 401.4057,-1031.6492"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node22"><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="302.5,-1143 79.5,-1143 79.5,-1105 302.5,-1105 302.5,-1143"/>
<text text-anchor="middle" x="191" y="-1127.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="191" y="-1112.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node23"><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,-1229 75,-1229 75,-1161 307,-1161 307,-1229"/>
<text text-anchor="middle" x="191" y="-1213.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="191" y="-1198.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="191" y="-1183.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="191" y="-1168.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node24" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node24"><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,-1221.5 415.5,-1221.5 415.5,-1168.5 638.5,-1168.5 638.5,-1221.5"/>
<text text-anchor="middle" x="527" y="-1206.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="527" y="-1191.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="527" y="-1176.3" font-family="Times,serif" font-size="14.00" fill="#000000">agents conform to BIP&#45;14</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M307.1,-1195C338.77,-1195 373.16,-1195 405.14,-1195"/>
<polygon fill="#000000" stroke="#000000" points="405.43,-1198.5001 415.43,-1195 405.43,-1191.5001 405.43,-1198.5001"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node25"><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="307,-1315 75,-1315 75,-1247 307,-1247 307,-1315"/>
<text text-anchor="middle" x="191" y="-1299.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="191" y="-1284.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="191" y="-1269.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="191" y="-1254.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node26"><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,-1386.5 75,-1386.5 75,-1333.5 307,-1333.5 307,-1386.5"/>
<text text-anchor="middle" x="191" y="-1371.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="191" y="-1356.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="191" y="-1341.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node27"><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,-1457.5 75,-1457.5 75,-1404.5 307,-1404.5 307,-1457.5"/>
<text text-anchor="middle" x="191" y="-1442.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="191" y="-1427.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="191" y="-1412.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4894 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4894</title>
<g id="a_node28"><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,-877.5 75,-877.5 75,-794.5 307,-794.5 307,-877.5"/>
<text text-anchor="middle" x="191" y="-862.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4894</text>
<text text-anchor="middle" x="191" y="-847.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make tests wait until</text>
<text text-anchor="middle" x="191" y="-832.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd full sync</text>
<text text-anchor="middle" x="191" y="-817.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="-802.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="edge13" class="edge">
<title>ZcashFoundation/zebra#4894&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.04,-821.22C333.85,-813.79 360.95,-802.66 383,-786 454.52,-731.96 497.06,-631.22 515.72,-577.28"/>
<polygon fill="#000000" stroke="#000000" points="519.0446,-578.3742 518.93,-567.78 512.413,-576.1334 519.0446,-578.3742"/>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node29"><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,-1528.5 75,-1528.5 75,-1475.5 307,-1475.5 307,-1528.5"/>
<text text-anchor="middle" x="191" y="-1513.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="191" y="-1498.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="191" y="-1483.3" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node30" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node30"><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,-1664.5 411,-1664.5 411,-1611.5 643,-1611.5 643,-1664.5"/>
<text text-anchor="middle" x="527" y="-1649.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="527" y="-1634.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="527" y="-1619.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5091 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#5091</title>
<g id="a_node31"><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,-776.5 75,-776.5 75,-723.5 307,-723.5 307,-776.5"/>
<text text-anchor="middle" x="191" y="-761.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5091</text>
<text text-anchor="middle" x="191" y="-746.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix parameter download</text>
<text text-anchor="middle" x="191" y="-731.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="edge14" class="edge">
<title>ZcashFoundation/zebra#5091&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.05,-741.47C333.28,-736.02 360.12,-727.44 383,-714 439.7,-680.7 484.08,-616.43 507.84,-576.29"/>
<polygon fill="#000000" stroke="#000000" points="510.8791,-578.0261 512.87,-567.62 504.8243,-574.5133 510.8791,-578.0261"/>
</g>
<!-- ZcashFoundation/zebra#5253 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#5253</title>
<g id="a_node32"><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="307,-1831.5 75,-1831.5 75,-1748.5 307,-1748.5 307,-1831.5"/>
<text text-anchor="middle" x="191" y="-1816.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5253</text>
<text text-anchor="middle" x="191" y="-1801.3" font-family="Times,serif" font-size="14.00" fill="#000000">Disable code timers</text>
<text text-anchor="middle" x="191" y="-1786.3" font-family="Times,serif" font-size="14.00" fill="#000000">unless a specific</text>
<text text-anchor="middle" x="191" y="-1771.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zebrad` feature is</text>
<text text-anchor="middle" x="191" y="-1756.3" font-family="Times,serif" font-size="14.00" fill="#000000">activated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5164 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#5164</title>
<g id="a_node33"><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="643,-1839 411,-1839 411,-1835 407,-1835 407,-1831 411,-1831 411,-1749 407,-1749 407,-1745 411,-1745 411,-1741 643,-1741 643,-1839"/>
<polyline fill="none" stroke="#000000" points="411,-1835 415,-1835 415,-1831 411,-1831 "/>
<polyline fill="none" stroke="#000000" points="411,-1749 415,-1749 415,-1745 411,-1745 "/>
<text text-anchor="middle" x="527" y="-1823.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5164</text>
<text text-anchor="middle" x="527" y="-1808.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix(test): Wait for</text>
<text text-anchor="middle" x="527" y="-1793.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad and lightwalletd</text>
<text text-anchor="middle" x="527" y="-1778.8" font-family="Times,serif" font-size="14.00" fill="#000000">to reach the tip in</text>
<text text-anchor="middle" x="527" y="-1763.8" font-family="Times,serif" font-size="14.00" fill="#000000">tests, to improve test</text>
<text text-anchor="middle" x="527" y="-1748.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="M307.1,-1790C337.27,-1790 369.91,-1790 400.57,-1790"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1793.5001 410.89,-1790 400.89,-1786.5001 400.89,-1793.5001"/>
</g>
<!-- ZcashFoundation/zebra#5153 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#5153</title>
<g id="a_node34"><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,-1968 75,-1968 75,-1900 307,-1900 307,-1968"/>
<text text-anchor="middle" x="191" y="-1952.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5153</text>
<text text-anchor="middle" x="191" y="-1937.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Google Cloud</text>
<text text-anchor="middle" x="191" y="-1922.8" font-family="Times,serif" font-size="14.00" fill="#000000">instances with the name</text>
<text text-anchor="middle" x="191" y="-1907.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="node35" class="node closed">
<title>ZcashFoundation/zebra#5155</title>
<g id="a_node35"><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,-2011 411,-2011 411,-1943 643,-1943 643,-2011"/>
<text text-anchor="middle" x="527" y="-1995.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5155</text>
<text text-anchor="middle" x="527" y="-1980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we want to</text>
<text text-anchor="middle" x="527" y="-1965.8" font-family="Times,serif" font-size="14.00" fill="#000000">create cached states more</text>
<text text-anchor="middle" x="527" y="-1950.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="edge16" class="edge">
<title>ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5155</title>
<path fill="none" stroke="#000000" d="M307.1,-1948.9C337.27,-1952.7 369.91,-1956.9 400.57,-1960.8"/>
<polygon fill="#000000" stroke="#000000" points="400.5309,-1964.3227 410.89,-1962.1 401.4059,-1957.3775 400.5309,-1964.3227"/>
</g>
<!-- ZcashFoundation/zebra#5188 -->
<g id="node36" class="node closed">
<title>ZcashFoundation/zebra#5188</title>
<g id="a_node36"><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,-1925 411,-1925 411,-1857 643,-1857 643,-1925"/>
<text text-anchor="middle" x="527" y="-1909.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5188</text>
<text text-anchor="middle" x="527" y="-1894.8" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce continuous</text>
<text text-anchor="middle" x="527" y="-1879.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment instance group</text>
<text text-anchor="middle" x="527" y="-1864.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="edge17" class="edge">
<title>ZcashFoundation/zebra#5153&#45;&gt;ZcashFoundation/zebra#5188</title>
<path fill="none" stroke="#000000" d="M307.1,-1919.1C337.27,-1915.3 369.91,-1911.1 400.57,-1907.2"/>
<polygon fill="#000000" stroke="#000000" points="401.4059,-1910.6225 410.89,-1905.9 400.5309,-1903.6773 401.4059,-1910.6225"/>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node37"><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,-2069.5 75,-2069.5 75,-1986.5 307,-1986.5 307,-2069.5"/>
<text text-anchor="middle" x="191" y="-2054.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="191" y="-2039.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="191" y="-2024.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="191" y="-2009.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="191" y="-1994.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node38"><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,-2140.5 75,-2140.5 75,-2087.5 307,-2087.5 307,-2140.5"/>
<text text-anchor="middle" x="191" y="-2125.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="191" y="-2110.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="191" y="-2095.3" font-family="Times,serif" font-size="14.00" fill="#000000">Candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#5257</title>
<g id="a_node39"><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,-705 75,-705 75,-701 71,-701 71,-697 75,-697 75,-615 71,-615 71,-611 75,-611 75,-607 307,-607 307,-705"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-701 79,-701 79,-697 75,-697 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-615 79,-615 79,-611 75,-611 "/>
<text text-anchor="middle" x="191" y="-689.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5257</text>
<text text-anchor="middle" x="191" y="-674.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(state): Write non&#45;</text>
<text text-anchor="middle" x="191" y="-659.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized blocks to the</text>
<text text-anchor="middle" x="191" y="-644.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in a separate</text>
<text text-anchor="middle" x="191" y="-629.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread, to avoid network</text>
<text text-anchor="middle" x="191" y="-614.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="edge18" class="edge">
<title>ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.03,-626.73C332.28,-619.6 358.7,-611.54 383,-603 408.84,-593.92 436.62,-582.39 460.82,-571.75"/>
<polygon fill="#000000" stroke="#000000" points="462.5334,-574.8192 470.26,-567.57 459.6992,-568.4186 462.5334,-574.8192"/>
</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="307,-1730.5 75,-1730.5 75,-1647.5 307,-1647.5 307,-1730.5"/>
<text text-anchor="middle" x="191" y="-1715.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="191" y="-1700.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1685.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1670.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="191" y="-1655.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1671.4C337.4,-1666.8 370.19,-1661.8 400.97,-1657.1"/>
<polygon fill="#000000" stroke="#000000" points="401.5257,-1660.5558 410.89,-1655.6 400.4791,-1653.6345 401.5257,-1660.5558"/>
</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="307,-1629.5 75,-1629.5 75,-1546.5 307,-1546.5 307,-1629.5"/>
<text text-anchor="middle" x="191" y="-1614.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="191" y="-1599.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1584.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1569.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="191" y="-1554.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1605.3C337.4,-1609.8 370.19,-1614.7 400.97,-1619.2"/>
<polygon fill="#000000" stroke="#000000" points="400.4791,-1622.6655 410.89,-1620.7 401.5257,-1615.7442 400.4791,-1622.6655"/>
</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,-410 75,-410 75,-342 307,-342 307,-410"/>
<text text-anchor="middle" x="191" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="191" y="-379.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="191" y="-364.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster and</text>
<text text-anchor="middle" x="191" y="-349.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="edge21" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.1,-377.38C337.27,-377.74 369.91,-378.13 400.57,-378.49"/>
<polygon fill="#000000" stroke="#000000" points="400.8467,-381.9937 410.89,-378.62 400.9349,-374.9942 400.8467,-381.9937"/>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-2241.5 75,-2241.5 75,-2158.5 307,-2158.5 307,-2241.5"/>
<text text-anchor="middle" x="191" y="-2226.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="191" y="-2211.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="191" y="-2196.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="191" y="-2181.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="191" y="-2166.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node44" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-2234 411,-2234 411,-2166 643,-2166 643,-2234"/>
<text text-anchor="middle" x="527" y="-2218.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="527" y="-2203.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="527" y="-2188.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="527" y="-2173.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="edge22" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M307.1,-2200C337.27,-2200 369.91,-2200 400.57,-2200"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-2203.5001 410.89,-2200 400.89,-2196.5001 400.89,-2203.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>