developers/zcash-zf-dag.html

755 lines
57 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="1187pt" height="2190pt"
viewBox="0.00 0.00 1187.00 2189.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 2185.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2185.5 1183,-2185.5 1183,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-467 0,-604 383,-604 383,-467 0,-467"/>
<text text-anchor="middle" x="191.5" y="-588.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to state using a separate task</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="67,-194 67,-459 651,-459 651,-194 67,-194"/>
<text text-anchor="middle" x="359" y="-443.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidate</text>
</g>
<!-- ZcashFoundation/zebra#2654 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#2654</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2654" xlink:title="ZcashFoundation/zebra#2654&#10;Test if checkpoint&#10;verifier and state&#10;service are correctly&#10;reset on block commit&#10;errors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-573 75,-573 75,-475 307,-475 307,-573"/>
<text text-anchor="middle" x="191" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2654</text>
<text text-anchor="middle" x="191" y="-542.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if checkpoint</text>
<text text-anchor="middle" x="191" y="-527.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier and state</text>
<text text-anchor="middle" x="191" y="-512.8" font-family="Times,serif" font-size="14.00" fill="#000000">service are correctly</text>
<text text-anchor="middle" x="191" y="-497.8" font-family="Times,serif" font-size="14.00" fill="#000000">reset on block commit</text>
<text text-anchor="middle" x="191" y="-482.8" font-family="Times,serif" font-size="14.00" fill="#000000">errors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra 1.0.0&#45;rc.0&#10;stable release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-423.5 411,-423.5 411,-370.5 643,-370.5 643,-423.5"/>
<text text-anchor="middle" x="527" y="-408.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="527" y="-393.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="-378.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#2654&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.03,-489.65C332.28,-481.48 358.69,-472.39 383,-463 409.95,-452.59 439.04,-439.6 463.97,-427.91"/>
<polygon fill="#000000" stroke="#000000" points="465.7617,-430.9346 473.31,-423.5 462.7729,-424.6047 465.7617,-430.9346"/>
</g>
<!-- ZcashFoundation/zebra#4967 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4967</title>
<g id="a_node6"><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,-541.5 679,-541.5 679,-537.5 675,-537.5 675,-533.5 679,-533.5 679,-496.5 675,-496.5 675,-492.5 679,-492.5 679,-488.5 911,-488.5 911,-541.5"/>
<polyline fill="none" stroke="#000000" points="679,-537.5 683,-537.5 683,-533.5 679,-533.5 "/>
<polyline fill="none" stroke="#000000" points="679,-496.5 683,-496.5 683,-492.5 679,-492.5 "/>
<text text-anchor="middle" x="795" y="-526.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="795" y="-511.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="795" y="-496.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="M570.78,-423.56C600.56,-440.88 641.27,-463.14 679,-479 683.8,-481.02 688.75,-482.98 693.78,-484.88"/>
<polygon fill="#000000" stroke="#000000" points="692.9362,-488.2982 703.53,-488.45 695.3431,-481.725 692.9362,-488.2982"/>
</g>
<!-- ZcashFoundation/zebra#5357 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#5357</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5357" xlink:title="ZcashFoundation/zebra#5357&#10;feat(rpc): introduce&#10;`getblocktemplate&#45;rpcs`&#10;feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-312 679,-312 679,-308 675,-308 675,-304 679,-304 679,-252 675,-252 675,-248 679,-248 679,-244 911,-244 911,-312"/>
<polyline fill="none" stroke="#000000" points="679,-308 683,-308 683,-304 679,-304 "/>
<polyline fill="none" stroke="#000000" points="679,-252 683,-252 683,-248 679,-248 "/>
<text text-anchor="middle" x="795" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5357</text>
<text text-anchor="middle" x="795" y="-281.8" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): introduce</text>
<text text-anchor="middle" x="795" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate&#45;rpcs`</text>
<text text-anchor="middle" x="795" y="-251.8" font-family="Times,serif" font-size="14.00" fill="#000000">feature</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#5357 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#5357</title>
<path fill="none" stroke="#000000" d="M577.79,-370.42C607.06,-355.49 644.73,-336.91 679,-322 683.69,-319.96 688.52,-317.91 693.4,-315.89"/>
<polygon fill="#000000" stroke="#000000" points="694.9298,-319.0458 702.86,-312.02 692.2793,-312.567 694.9298,-319.0458"/>
</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,-470 679,-470 679,-402 911,-402 911,-470"/>
<text text-anchor="middle" x="795" y="-454.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="795" y="-439.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="795" y="-424.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="795" y="-409.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="edge5" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955</title>
<path fill="none" stroke="#000000" d="M643.38,-413.94C651.81,-415.16 660.33,-416.4 668.81,-417.64"/>
<polygon fill="#000000" stroke="#000000" points="668.3412,-421.1085 678.74,-419.08 669.3458,-414.181 668.3412,-421.1085"/>
</g>
<!-- ZcashFoundation/zebra#4992 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4992</title>
<g id="a_node9"><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,-383.5 679,-383.5 679,-330.5 911,-330.5 911,-383.5"/>
<text text-anchor="middle" x="795" y="-368.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="795" y="-353.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="795" y="-338.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="edge6" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M643.38,-379.63C651.81,-378.37 660.33,-377.1 668.81,-375.83"/>
<polygon fill="#000000" stroke="#000000" points="669.3652,-379.286 678.74,-374.35 668.3333,-372.3625 669.3652,-379.286"/>
</g>
<!-- ZcashFoundation/zebra#4937 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#4937</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4937" xlink:title="ZcashFoundation/zebra#4937&#10;Epic: Commit blocks to&#10;state using a separate&#10;task" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-428 75,-428 75,-360 307,-360 307,-428"/>
<text text-anchor="middle" x="191" y="-412.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4937</text>
<text text-anchor="middle" x="191" y="-397.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Commit blocks to</text>
<text text-anchor="middle" x="191" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">state using a separate</text>
<text text-anchor="middle" x="191" y="-367.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,-395.04C337.27,-395.31 369.91,-395.6 400.57,-395.87"/>
<polygon fill="#000000" stroke="#000000" points="400.8598,-399.3726 410.89,-395.96 400.9209,-392.3728 400.8598,-399.3726"/>
</g>
<!-- ZcashFoundation/zebra#5189 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5189</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5189" xlink:title="ZcashFoundation/zebra#5189&#10;Run some docker tests on&#10;smaller instances" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-185.5 411,-185.5 411,-132.5 643,-132.5 643,-185.5"/>
<text text-anchor="middle" x="527" y="-170.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="527" y="-155.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="527" y="-140.3" font-family="Times,serif" font-size="14.00" fill="#000000">smaller instances</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#4937&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.24,-390.1C335.4,-383.68 363.09,-371.9 383,-351 430.86,-300.78 368.12,-248.51 408.95,-193.4"/>
<polygon fill="#000000" stroke="#000000" points="411.727,-195.5341 415.41,-185.6 406.3359,-191.0691 411.727,-195.5341"/>
</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="307,-342 75,-342 75,-274 307,-274 307,-342"/>
<text text-anchor="middle" x="191" y="-326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5125</text>
<text text-anchor="middle" x="191" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Avoid temporary failures</text>
<text text-anchor="middle" x="191" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifying the first non&#45;</text>
<text text-anchor="middle" x="191" y="-281.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="307,-255.5 75,-255.5 75,-202.5 307,-202.5 307,-255.5"/>
<text text-anchor="middle" x="191" y="-240.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5214</text>
<text text-anchor="middle" x="191" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">Task: Make a list of</text>
<text text-anchor="middle" x="191" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra dependencies</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5257</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5257" xlink:title="ZcashFoundation/zebra#5257&#10;change(state): Write non&#45;&#10;finalized blocks to the&#10;state in a separate&#10;thread, to avoid network&#10;and RPC hangs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-184 75,-184 75,-180 71,-180 71,-176 75,-176 75,-94 71,-94 71,-90 75,-90 75,-86 307,-86 307,-184"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-180 79,-180 79,-176 75,-176 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-94 79,-94 79,-90 75,-90 "/>
<text text-anchor="middle" x="191" y="-168.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5257</text>
<text text-anchor="middle" x="191" y="-153.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(state): Write non&#45;</text>
<text text-anchor="middle" x="191" y="-138.8" font-family="Times,serif" font-size="14.00" fill="#000000">finalized blocks to the</text>
<text text-anchor="middle" x="191" y="-123.8" font-family="Times,serif" font-size="14.00" fill="#000000">state in a separate</text>
<text text-anchor="middle" x="191" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">thread, to avoid network</text>
<text text-anchor="middle" x="191" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">and RPC hangs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.23,-154.59C333.74,-162.65 360.65,-174.01 383,-190 445.29,-234.56 489.69,-314.89 511.57,-361.29"/>
<polygon fill="#000000" stroke="#000000" points="508.3951,-362.7633 515.77,-370.37 514.7484,-359.8245 508.3951,-362.7633"/>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="643,-114.5 411,-114.5 411,-61.5 643,-61.5 643,-114.5"/>
<text text-anchor="middle" x="527" y="-99.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="527" y="-84.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="527" y="-69.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#5297 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#5257&#45;&gt;ZcashFoundation/zebra#5297</title>
<path fill="none" stroke="#000000" d="M307.1,-118.76C337.4,-114.52 370.19,-109.93 400.97,-105.63"/>
<polygon fill="#000000" stroke="#000000" points="401.4725,-109.0939 410.89,-104.24 400.501,-102.1616 401.4725,-109.0939"/>
</g>
<!-- ZcashFoundation/zebra#5316 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#5316</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5316" xlink:title="ZcashFoundation/zebra#5316&#10;Only run the&#10;`lightwalletd` full sync&#10;on the `main` branch" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-854 75,-854 75,-786 307,-786 307,-854"/>
<text text-anchor="middle" x="191" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5316</text>
<text text-anchor="middle" x="191" y="-823.8" font-family="Times,serif" font-size="14.00" fill="#000000">Only run the</text>
<text text-anchor="middle" x="191" y="-808.8" font-family="Times,serif" font-size="14.00" fill="#000000">`lightwalletd` full sync</text>
<text text-anchor="middle" x="191" y="-793.8" font-family="Times,serif" font-size="14.00" fill="#000000">on the `main` branch</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5015 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#5015</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5015" xlink:title="ZcashFoundation/zebra#5015&#10;Get transactions from the&#10;non&#45;finalized state in&#10;the send transactions&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-967.5 75,-967.5 75,-884.5 307,-884.5 307,-967.5"/>
<text text-anchor="middle" x="191" y="-952.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5015</text>
<text text-anchor="middle" x="191" y="-937.3" font-family="Times,serif" font-size="14.00" fill="#000000">Get transactions from the</text>
<text text-anchor="middle" x="191" y="-922.3" font-family="Times,serif" font-size="14.00" fill="#000000">non&#45;finalized state in</text>
<text text-anchor="middle" x="191" y="-907.3" font-family="Times,serif" font-size="14.00" fill="#000000">the send transactions</text>
<text text-anchor="middle" x="191" y="-892.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node15"><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,-1060 75,-1060 75,-992 307,-992 307,-1060"/>
<text text-anchor="middle" x="191" y="-1044.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="191" y="-1029.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="191" y="-1014.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="191" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node16" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node16"><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,-1052.5 415.5,-1052.5 415.5,-999.5 638.5,-999.5 638.5,-1052.5"/>
<text text-anchor="middle" x="527" y="-1037.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="527" y="-1022.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="527" y="-1007.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="M307.1,-1026C338.77,-1026 373.16,-1026 405.14,-1026"/>
<polygon fill="#000000" stroke="#000000" points="405.43,-1029.5001 415.43,-1026 405.43,-1022.5001 405.43,-1029.5001"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2631" xlink:title="ZcashFoundation/zebra#2631&#10;Send committed spent&#10;OutPoints &amp; nullifiers to&#10;the mempool for rejection" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="643,-981 411,-981 411,-913 643,-913 643,-981"/>
<text text-anchor="middle" x="527" y="-965.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="527" y="-950.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="527" y="-935.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="527" y="-920.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#5235</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5235" xlink:title="ZcashFoundation/zebra#5235&#10;Add support for&#10;`getblocktemplate` RPC&#10;call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-942 679,-942 679,-874 911,-874 911,-942"/>
<text text-anchor="middle" x="795" y="-926.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="795" y="-911.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-896.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="795" y="-881.8" font-family="Times,serif" font-size="14.00" fill="#000000">call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M643.38,-930.06C651.81,-928.84 660.33,-927.6 668.81,-926.36"/>
<polygon fill="#000000" stroke="#000000" points="669.3458,-929.819 678.74,-924.92 668.3412,-922.8915 669.3458,-929.819"/>
</g>
<!-- ZcashFoundation/zebra#5236 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5236</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5236" xlink:title="ZcashFoundation/zebra#5236&#10;Add support for&#10;`submitblock` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-1013.5 679,-1013.5 679,-960.5 911,-960.5 911,-1013.5"/>
<text text-anchor="middle" x="795" y="-998.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5236</text>
<text text-anchor="middle" x="795" y="-983.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-968.3" font-family="Times,serif" font-size="14.00" fill="#000000">`submitblock` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5236 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#2631&#45;&gt;ZcashFoundation/zebra#5236</title>
<path fill="none" stroke="#000000" d="M643.38,-964.37C651.81,-965.63 660.33,-966.9 668.81,-968.17"/>
<polygon fill="#000000" stroke="#000000" points="668.3333,-971.6375 678.74,-969.65 669.3652,-964.714 668.3333,-971.6375"/>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5336" xlink:title="ZcashFoundation/zebra#5336&#10;Relay mempool&#10;transactions based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1179,-899 947,-899 947,-831 1179,-831 1179,-899"/>
<text text-anchor="middle" x="1063" y="-883.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="1063" y="-868.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay mempool</text>
<text text-anchor="middle" x="1063" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="1063" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M911.38,-889.33C919.81,-887.98 928.33,-886.61 936.81,-885.25"/>
<polygon fill="#000000" stroke="#000000" points="937.4241,-888.6963 946.74,-883.65 936.3105,-881.7854 937.4241,-888.6963"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node21"><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,-1131.5 75,-1131.5 75,-1078.5 307,-1078.5 307,-1131.5"/>
<text text-anchor="middle" x="191" y="-1116.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="191" y="-1101.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="191" y="-1086.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node22"><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,-1202.5 75,-1202.5 75,-1149.5 307,-1149.5 307,-1202.5"/>
<text text-anchor="middle" x="191" y="-1187.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="191" y="-1172.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="191" y="-1157.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5335 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#5335</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5335" xlink:title="ZcashFoundation/zebra#5335&#10;Evict transactions from&#10;the mempool based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="911,-856 679,-856 679,-788 911,-788 911,-856"/>
<text text-anchor="middle" x="795" y="-840.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5335</text>
<text text-anchor="middle" x="795" y="-825.8" font-family="Times,serif" font-size="14.00" fill="#000000">Evict transactions from</text>
<text text-anchor="middle" x="795" y="-810.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool based on the</text>
<text text-anchor="middle" x="795" y="-795.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M911.38,-840.67C919.81,-842.02 928.33,-843.39 936.81,-844.75"/>
<polygon fill="#000000" stroke="#000000" points="936.3105,-848.2146 946.74,-846.35 937.4241,-841.3037 936.3105,-848.2146"/>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra release candidate&#10;binaries should be linked&#10;from ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1289 75,-1289 75,-1221 307,-1221 307,-1289"/>
<text text-anchor="middle" x="191" y="-1273.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="191" y="-1258.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="191" y="-1243.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="191" y="-1228.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5360 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5360</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5360" xlink:title="ZcashFoundation/zebra#5360&#10;change(consensus): Update&#10;mainnet and testnet&#10;checkpoints" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-680 75,-680 75,-676 71,-676 71,-672 75,-672 75,-620 71,-620 71,-616 75,-616 75,-612 307,-612 307,-680"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-676 79,-676 79,-672 75,-672 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="75,-620 79,-620 79,-616 75,-616 "/>
<text text-anchor="middle" x="191" y="-664.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5360</text>
<text text-anchor="middle" x="191" y="-649.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(consensus): Update</text>
<text text-anchor="middle" x="191" y="-634.8" font-family="Times,serif" font-size="14.00" fill="#000000">mainnet and testnet</text>
<text text-anchor="middle" x="191" y="-619.8" font-family="Times,serif" font-size="14.00" fill="#000000">checkpoints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5360&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#5360&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M307.06,-637.89C333.57,-632.13 360.53,-622.84 383,-608 448.26,-564.9 491.94,-481.05 512.81,-433.05"/>
<polygon fill="#000000" stroke="#000000" points="516.1104,-434.2324 516.8,-423.66 509.6679,-431.4948 516.1104,-434.2324"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4412" xlink:title="ZcashFoundation/zebra#4412&#10;Automate pinning CI&#10;dependencies to specific&#10;commit hashes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1375 75,-1375 75,-1307 307,-1307 307,-1375"/>
<text text-anchor="middle" x="191" y="-1359.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="191" y="-1344.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="191" y="-1329.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="191" y="-1314.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node27"><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,-1446.5 75,-1446.5 75,-1393.5 307,-1393.5 307,-1446.5"/>
<text text-anchor="middle" x="191" y="-1431.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="191" y="-1416.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="191" y="-1401.3" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node28" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node28"><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,-1582.5 411,-1582.5 411,-1529.5 643,-1529.5 643,-1582.5"/>
<text text-anchor="middle" x="527" y="-1567.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="527" y="-1552.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="527" y="-1537.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node29" class="node closed">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4612" xlink:title="ZcashFoundation/zebra#4612&#10;ci: Wait for lightwalletd&#10;image rebuild if it has&#10;changed" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-1735 411,-1735 411,-1667 643,-1667 643,-1735"/>
<text text-anchor="middle" x="527" y="-1719.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="527" y="-1704.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="527" y="-1689.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="527" y="-1674.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5153 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5153</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5153" xlink:title="ZcashFoundation/zebra#5153&#10;Tag Google Cloud&#10;instances with the name&#10;of the test or workflow" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1821 75,-1821 75,-1753 307,-1753 307,-1821"/>
<text text-anchor="middle" x="191" y="-1805.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5153</text>
<text text-anchor="middle" x="191" y="-1790.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Google Cloud</text>
<text text-anchor="middle" x="191" y="-1775.8" font-family="Times,serif" font-size="14.00" fill="#000000">instances with the name</text>
<text text-anchor="middle" x="191" y="-1760.8" font-family="Times,serif" font-size="14.00" fill="#000000">of the test or workflow</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5155 -->
<g id="node31" class="node closed">
<title>ZcashFoundation/zebra#5155</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5155" xlink:title="ZcashFoundation/zebra#5155&#10;Decide if we want to&#10;create cached states more&#10;often" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-1907 411,-1907 411,-1839 643,-1839 643,-1907"/>
<text text-anchor="middle" x="527" y="-1891.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5155</text>
<text text-anchor="middle" x="527" y="-1876.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if we want to</text>
<text text-anchor="middle" x="527" y="-1861.8" font-family="Times,serif" font-size="14.00" fill="#000000">create cached states more</text>
<text text-anchor="middle" x="527" y="-1846.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.01,-1812.4C332.13,-1818.3 358.51,-1824.6 383,-1831 389.43,-1832.7 396.02,-1834.4 402.66,-1836.2"/>
<polygon fill="#000000" stroke="#000000" points="401.8386,-1839.6042 412.41,-1838.9 403.7068,-1832.8581 401.8386,-1839.6042"/>
</g>
<!-- ZcashFoundation/zebra#5188 -->
<g id="node32" class="node closed">
<title>ZcashFoundation/zebra#5188</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5188" xlink:title="ZcashFoundation/zebra#5188&#10;Reduce continuous&#10;deployment instance group&#10;size to 1" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-1821 411,-1821 411,-1753 643,-1753 643,-1821"/>
<text text-anchor="middle" x="527" y="-1805.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5188</text>
<text text-anchor="middle" x="527" y="-1790.8" font-family="Times,serif" font-size="14.00" fill="#000000">Reduce continuous</text>
<text text-anchor="middle" x="527" y="-1775.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment instance group</text>
<text text-anchor="middle" x="527" y="-1760.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,-1787C337.27,-1787 369.91,-1787 400.57,-1787"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1790.5001 410.89,-1787 400.89,-1783.5001 400.89,-1790.5001"/>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1922.5 75,-1922.5 75,-1839.5 307,-1839.5 307,-1922.5"/>
<text text-anchor="middle" x="191" y="-1907.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="191" y="-1892.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="191" y="-1877.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="191" y="-1862.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="191" y="-1847.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3096 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#3096</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3096" xlink:title="ZcashFoundation/zebra#3096&#10;Epic: Zebra Release&#10;Candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1993.5 75,-1993.5 75,-1940.5 307,-1940.5 307,-1993.5"/>
<text text-anchor="middle" x="191" y="-1978.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3096</text>
<text text-anchor="middle" x="191" y="-1963.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release</text>
<text text-anchor="middle" x="191" y="-1948.3" font-family="Times,serif" font-size="14.00" fill="#000000">Candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1648.5 75,-1648.5 75,-1565.5 307,-1565.5 307,-1648.5"/>
<text text-anchor="middle" x="191" y="-1633.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="191" y="-1618.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1603.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1588.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="191" y="-1573.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="edge18" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1589.4C337.4,-1584.8 370.19,-1579.8 400.97,-1575.1"/>
<polygon fill="#000000" stroke="#000000" points="401.5257,-1578.5558 410.89,-1573.6 400.4791,-1571.6345 401.5257,-1578.5558"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1547.5 75,-1547.5 75,-1464.5 307,-1464.5 307,-1547.5"/>
<text text-anchor="middle" x="191" y="-1532.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="191" y="-1517.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="191" y="-1502.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="191" y="-1487.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="191" y="-1472.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="edge19" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M307.1,-1523.3C337.4,-1527.8 370.19,-1532.7 400.97,-1537.2"/>
<polygon fill="#000000" stroke="#000000" points="400.4791,-1540.6655 410.89,-1538.7 401.5257,-1533.7442 400.4791,-1540.6655"/>
</g>
<!-- ZcashFoundation/zebra#5305 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#5305</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5305" xlink:title="ZcashFoundation/zebra#5305&#10;Add a `getblocktemplate&#45;&#10;rpcs` feature to `zebrad`&#10;and `zebra&#45;rpc`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="643,-731 411,-731 411,-663 643,-663 643,-731"/>
<text text-anchor="middle" x="527" y="-715.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5305</text>
<text text-anchor="middle" x="527" y="-700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a `getblocktemplate&#45;</text>
<text text-anchor="middle" x="527" y="-685.8" font-family="Times,serif" font-size="14.00" fill="#000000">rpcs` feature to `zebrad`</text>
<text text-anchor="middle" x="527" y="-670.8" font-family="Times,serif" font-size="14.00" fill="#000000">and `zebra&#45;rpc`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#4967 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M554.35,-662.74C582.39,-629.73 628.89,-580.57 679,-551 682,-549.23 685.09,-547.54 688.25,-545.93"/>
<polygon fill="#000000" stroke="#000000" points="689.8237,-549.0571 697.33,-541.58 686.7993,-542.7441 689.8237,-549.0571"/>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M550.1,-731.12C577.07,-768.62 624.93,-828.39 679,-865 680.91,-866.3 682.87,-867.56 684.87,-868.79"/>
<polygon fill="#000000" stroke="#000000" points="683.4225,-871.9963 693.83,-873.98 686.9311,-865.9391 683.4225,-871.9963"/>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5236 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5236</title>
<path fill="none" stroke="#000000" d="M547.43,-731.05C572.03,-772.06 614.58,-843.04 651,-904 663.47,-924.87 659.9,-935.95 679,-951 680.78,-952.4 682.62,-953.75 684.51,-955.05"/>
<polygon fill="#000000" stroke="#000000" points="682.7282,-958.0639 693.06,-960.41 686.4463,-952.1329 682.7282,-958.0639"/>
</g>
<!-- ZcashFoundation/zebra#5268 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#5268</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5268" xlink:title="ZcashFoundation/zebra#5268&#10;Add support for&#10;`getblockhash` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-612.5 679,-612.5 679,-559.5 911,-559.5 911,-612.5"/>
<text text-anchor="middle" x="795" y="-597.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5268</text>
<text text-anchor="middle" x="795" y="-582.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-567.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblockhash` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5268 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5268</title>
<path fill="none" stroke="#000000" d="M590.33,-662.97C617.23,-649.25 649.21,-633.89 679,-622 684.14,-619.95 689.45,-617.94 694.83,-615.99"/>
<polygon fill="#000000" stroke="#000000" points="696.3342,-619.1702 704.59,-612.53 693.9952,-612.5726 696.3342,-619.1702"/>
</g>
<!-- ZcashFoundation/zebra#5302 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#5302</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5302" xlink:title="ZcashFoundation/zebra#5302&#10;Add support for&#10;`getblocksubsidy` RPC&#10;call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-770 679,-770 679,-702 911,-702 911,-770"/>
<text text-anchor="middle" x="795" y="-754.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5302</text>
<text text-anchor="middle" x="795" y="-739.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-724.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocksubsidy` RPC</text>
<text text-anchor="middle" x="795" y="-709.8" font-family="Times,serif" font-size="14.00" fill="#000000">call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5302 -->
<g id="edge24" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5302</title>
<path fill="none" stroke="#000000" d="M643.38,-713.94C651.81,-715.16 660.33,-716.4 668.81,-717.64"/>
<polygon fill="#000000" stroke="#000000" points="668.3412,-721.1085 678.74,-719.08 669.3458,-714.181 668.3412,-721.1085"/>
</g>
<!-- ZcashFoundation/zebra#5303 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#5303</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5303" xlink:title="ZcashFoundation/zebra#5303&#10;Add support for&#10;`getblockcount` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="911,-683.5 679,-683.5 679,-630.5 911,-630.5 911,-683.5"/>
<text text-anchor="middle" x="795" y="-668.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5303</text>
<text text-anchor="middle" x="795" y="-653.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="795" y="-638.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblockcount` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5303 -->
<g id="edge25" class="edge">
<title>ZcashFoundation/zebra#5305&#45;&gt;ZcashFoundation/zebra#5303</title>
<path fill="none" stroke="#000000" d="M643.38,-679.63C651.81,-678.37 660.33,-677.1 668.81,-675.83"/>
<polygon fill="#000000" stroke="#000000" points="669.3652,-679.286 678.74,-674.35 668.3333,-672.3625 669.3652,-679.286"/>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4882" xlink:title="ZcashFoundation/zebra#4882&#10;Add zcash&#45;lightwalletd /&#10;Build images to required&#10;jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-1735 75,-1735 75,-1667 307,-1667 307,-1735"/>
<text text-anchor="middle" x="191" y="-1719.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="191" y="-1704.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="191" y="-1689.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="191" y="-1674.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="edge26" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M307.1,-1701C337.27,-1701 369.91,-1701 400.57,-1701"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-1704.5001 410.89,-1701 400.89,-1697.5001 400.89,-1704.5001"/>
</g>
<!-- ZcashFoundation/zebra#5199 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#5199</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5199" xlink:title="ZcashFoundation/zebra#5199&#10;Consider using `nextest`&#10;to run tests faster and&#10;reduce Google Cloud costs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-68 75,-68 75,0 307,0 307,-68"/>
<text text-anchor="middle" x="191" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="191" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="191" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster and</text>
<text text-anchor="middle" x="191" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">reduce Google Cloud costs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189 -->
<g id="edge27" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M307.23,-44.505C333.89,-50.966 360.86,-61.124 383,-77 402.45,-90.949 392.13,-108.28 411,-123 412.79,-124.4 414.63,-125.74 416.53,-127.03"/>
<polygon fill="#000000" stroke="#000000" points="414.7511,-130.0453 425.09,-132.36 418.4511,-124.1031 414.7511,-130.0453"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: surface&#10;zebrad mainnet sync time&#10;in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-2080 75,-2080 75,-2012 307,-2012 307,-2080"/>
<text text-anchor="middle" x="191" y="-2064.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="191" y="-2049.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="191" y="-2034.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="191" y="-2019.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="307,-2181.5 75,-2181.5 75,-2098.5 307,-2098.5 307,-2181.5"/>
<text text-anchor="middle" x="191" y="-2166.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="191" y="-2151.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="191" y="-2136.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="191" y="-2121.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="191" y="-2106.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node45" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="643,-2174 411,-2174 411,-2106 643,-2106 643,-2174"/>
<text text-anchor="middle" x="527" y="-2158.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="527" y="-2143.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="527" y="-2128.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="527" y="-2113.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="edge28" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M307.1,-2140C337.27,-2140 369.91,-2140 400.57,-2140"/>
<polygon fill="#000000" stroke="#000000" points="400.89,-2143.5001 410.89,-2140 400.89,-2136.5001 400.89,-2143.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>