developers/zcash-zf-dag.html

571 lines
42 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="1052pt" height="1685pt"
viewBox="0.00 0.00 1052.00 1685.00" 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 1681)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1681 1048,-1681 1048,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-63.5 0,-242.5 784,-242.5 784,-63.5 0,-63.5"/>
<text text-anchor="middle" x="392" y="-227.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5934 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5934</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5934" xlink:title="ZcashFoundation/zebra#5934&#10;Manually test that Zcash&#10;mining pools can use&#10;Zebra to mine blocks on&#10;testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-211 276,-211 276,-128 508,-128 508,-211"/>
<text text-anchor="middle" x="392" y="-195.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5934</text>
<text text-anchor="middle" x="392" y="-180.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that Zcash</text>
<text text-anchor="middle" x="392" y="-165.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining pools can use</text>
<text text-anchor="middle" x="392" y="-150.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra to mine blocks on</text>
<text text-anchor="middle" x="392" y="-135.8" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5686 -->
<g id="node2" class="node closed">
<title>ZcashFoundation/zebra#5686</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5686" xlink:title="ZcashFoundation/zebra#5686&#10;Manually test that each&#10;mining RPC works&#10;correctly" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="776,-203.5 544,-203.5 544,-135.5 776,-135.5 776,-203.5"/>
<text text-anchor="middle" x="660" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5686</text>
<text text-anchor="middle" x="660" y="-173.3" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that each</text>
<text text-anchor="middle" x="660" y="-158.3" font-family="Times,serif" font-size="14.00" fill="#000000">mining RPC works</text>
<text text-anchor="middle" x="660" y="-143.3" font-family="Times,serif" font-size="14.00" fill="#000000">correctly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686</title>
<path fill="none" stroke="#000000" d="M508.38,-169.5C516.71,-169.5 525.14,-169.5 533.53,-169.5"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-173.0001 543.74,-169.5 533.74,-166.0001 533.74,-173.0001"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6025" xlink:title="ZcashFoundation/zebra#6025&#10;Add a manually&#45;triggered&#10;workflow for mining a&#10;block on testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-318.5 544,-318.5 544,-250.5 776,-250.5 776,-318.5"/>
<text text-anchor="middle" x="660" y="-303.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="660" y="-288.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="660" y="-273.3" font-family="Times,serif" font-size="14.00" fill="#000000">workflow for mining a</text>
<text text-anchor="middle" x="660" y="-258.3" font-family="Times,serif" font-size="14.00" fill="#000000">block on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M468.65,-211.19C492.44,-223.35 518.99,-236.14 544,-246.5 544.1,-246.54 544.2,-246.58 544.3,-246.63"/>
<polygon fill="#000000" stroke="#000000" points="543.2858,-249.9943 553.87,-250.47 545.8926,-243.4977 543.2858,-249.9943"/>
</g>
<!-- ZcashFoundation/zebra#5722 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5722</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5722" xlink:title="ZcashFoundation/zebra#5722&#10;Implement validateaddress&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-211 8,-211 8,-158 240,-158 240,-211"/>
<text text-anchor="middle" x="124" y="-195.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5722</text>
<text text-anchor="middle" x="124" y="-180.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement validateaddress</text>
<text text-anchor="middle" x="124" y="-165.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#5934 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#5934</title>
<path fill="none" stroke="#000000" d="M240.38,-177.99C248.71,-177.52 257.14,-177.05 265.53,-176.58"/>
<polygon fill="#000000" stroke="#000000" points="265.9507,-180.0621 275.74,-176.01 265.5604,-173.0729 265.9507,-180.0621"/>
</g>
<!-- ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M232.16,-211.06C246.86,-214.39 261.78,-217.63 276,-220.5 361.6,-237.75 458.61,-253.89 533.7,-265.65"/>
<polygon fill="#000000" stroke="#000000" points="533.2613,-269.1237 543.68,-267.2 534.3356,-262.2067 533.2613,-269.1237"/>
</g>
<!-- ZcashFoundation/zebra#6083 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#6083</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6083" xlink:title="ZcashFoundation/zebra#6083&#10;Implement&#10;z_validateaddress RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-417 276,-417 276,-364 508,-364 508,-417"/>
<text text-anchor="middle" x="392" y="-401.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6083</text>
<text text-anchor="middle" x="392" y="-386.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="392" y="-371.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_validateaddress RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6083 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6083</title>
<path fill="none" stroke="#000000" d="M158.49,-211.01C207.2,-248.45 296.11,-316.79 349.04,-357.48"/>
<polygon fill="#000000" stroke="#000000" points="347.1592,-360.4488 357.22,-363.77 351.4262,-354.8997 347.1592,-360.4488"/>
</g>
<!-- ZcashFoundation/zebra#6028 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#6028</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6028" xlink:title="ZcashFoundation/zebra#6028&#10;Document how to mine on&#10;testnet using Zebra and&#10;mining pool software" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-139.5 8,-139.5 8,-71.5 240,-71.5 240,-139.5"/>
<text text-anchor="middle" x="124" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6028</text>
<text text-anchor="middle" x="124" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to mine on</text>
<text text-anchor="middle" x="124" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet using Zebra and</text>
<text text-anchor="middle" x="124" y="-79.3" font-family="Times,serif" font-size="14.00" fill="#000000">mining pool software</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5472" xlink:title="ZcashFoundation/zebra#5472&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Sapling addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-514.5 544,-514.5 544,-446.5 776,-446.5 776,-514.5"/>
<text text-anchor="middle" x="660" y="-499.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="660" y="-484.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="660" y="-469.3" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="660" y="-454.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5472 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5472</title>
<path fill="none" stroke="#000000" d="M478.9,-417.05C488.74,-420.18 498.6,-423.37 508,-426.5 523.77,-431.75 540.4,-437.46 556.64,-443.15"/>
<polygon fill="#000000" stroke="#000000" points="555.5552,-446.4785 566.15,-446.49 557.8748,-439.874 555.5552,-446.4785"/>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5929" xlink:title="ZcashFoundation/zebra#5929&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Orchard Unified addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1044,-452.5 812,-452.5 812,-384.5 1044,-384.5 1044,-452.5"/>
<text text-anchor="middle" x="928" y="-437.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="928" y="-422.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="928" y="-407.3" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="928" y="-392.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Unified addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M508.18,-397.5C520.27,-398.19 532.39,-398.87 544,-399.5 629.78,-404.16 726.36,-408.94 801.2,-412.54"/>
<polygon fill="#000000" stroke="#000000" points="801.4536,-416.0561 811.61,-413.04 801.7895,-409.0642 801.4536,-416.0561"/>
</g>
<!-- ZcashFoundation/zebra#6030 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#6030</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6030" xlink:title="ZcashFoundation/zebra#6030&#10;Implement&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-390 544,-390 544,-337 776,-337 776,-390"/>
<text text-anchor="middle" x="660" y="-374.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6030</text>
<text text-anchor="middle" x="660" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="660" y="-344.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#6030 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#6030</title>
<path fill="none" stroke="#000000" d="M508.38,-378.78C516.71,-377.94 525.14,-377.09 533.53,-376.24"/>
<polygon fill="#000000" stroke="#000000" points="534.1418,-379.6961 543.74,-375.21 533.4392,-372.7315 534.1418,-379.6961"/>
</g>
<!-- ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M776.38,-453.58C784.81,-451.63 793.33,-449.66 801.81,-447.69"/>
<polygon fill="#000000" stroke="#000000" points="802.7823,-451.0577 811.74,-445.4 801.2092,-444.2368 802.7823,-451.0577"/>
</g>
<!-- ZcashFoundation/zebra#6030&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#6030&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M776.38,-387.38C784.81,-389.11 793.33,-390.86 801.81,-392.6"/>
<polygon fill="#000000" stroke="#000000" points="801.2402,-396.056 811.74,-394.64 802.6489,-389.1992 801.2402,-396.056"/>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-370 8,-370 8,-317 240,-317 240,-370"/>
<text text-anchor="middle" x="124" y="-354.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="124" y="-339.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="124" y="-324.8" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node11"><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="240,-495.5 8,-495.5 8,-427.5 240,-427.5 240,-495.5"/>
<text text-anchor="middle" x="124" y="-480.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="124" y="-465.3" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="124" y="-450.3" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="124" y="-435.3" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node12" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node12"><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="503.5,-488 280.5,-488 280.5,-435 503.5,-435 503.5,-488"/>
<text text-anchor="middle" x="392" y="-472.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="392" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="392" y="-442.8" 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="edge9" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M240.38,-461.5C250.23,-461.5 260.22,-461.5 270.11,-461.5"/>
<polygon fill="#000000" stroke="#000000" points="270.39,-465.0001 280.39,-461.5 270.39,-458.0001 270.39,-465.0001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node13"><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="240,-567 8,-567 8,-514 240,-514 240,-567"/>
<text text-anchor="middle" x="124" y="-551.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-536.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-521.8" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5336" xlink:title="ZcashFoundation/zebra#5336&#10;Relay and accept mempool&#10;transactions based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-653.5 8,-653.5 8,-585.5 240,-585.5 240,-653.5"/>
<text text-anchor="middle" x="124" y="-638.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="124" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="124" y="-608.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="124" y="-593.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node15"><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="240,-739.5 8,-739.5 8,-671.5 240,-671.5 240,-739.5"/>
<text text-anchor="middle" x="124" y="-724.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-709.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="124" y="-694.3" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="124" y="-679.3" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#6055</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6055" xlink:title="ZcashFoundation/zebra#6055&#10;Implement the&#10;`getdifficulty` RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-53 8,-53 8,0 240,0 240,-53"/>
<text text-anchor="middle" x="124" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6055</text>
<text text-anchor="middle" x="124" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the</text>
<text text-anchor="middle" x="124" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getdifficulty` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#5934 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#5934</title>
<path fill="none" stroke="#000000" d="M225.39,-53.035C230.39,-55.061 235.29,-57.215 240,-59.5 274.01,-76.003 308.42,-100.15 335.88,-121.61"/>
<polygon fill="#000000" stroke="#000000" points="333.787,-124.4171 343.8,-127.88 338.132,-118.9288 333.787,-124.4171"/>
</g>
<!-- ZcashFoundation/zebra#6081 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#6081</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6081" xlink:title="ZcashFoundation/zebra#6081&#10;Implement missing mining&#10;status RPCs or fields" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-53 276,-53 276,0 508,0 508,-53"/>
<text text-anchor="middle" x="392" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6081</text>
<text text-anchor="middle" x="392" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement missing mining</text>
<text text-anchor="middle" x="392" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">status RPCs or fields</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#6081 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#6081</title>
<path fill="none" stroke="#000000" d="M240.38,-26.5C248.71,-26.5 257.14,-26.5 265.53,-26.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-30.0001 275.74,-26.5 265.74,-23.0001 265.74,-30.0001"/>
</g>
<!-- ZcashFoundation/zebra#6037 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#6037</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6037" xlink:title="ZcashFoundation/zebra#6037&#10;Don&#39;t return from long&#10;polling if the block&#10;template is an invalid&#10;block proposal" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-841 8,-841 8,-758 240,-758 240,-841"/>
<text text-anchor="middle" x="124" y="-825.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6037</text>
<text text-anchor="middle" x="124" y="-810.8" font-family="Times,serif" font-size="14.00" fill="#000000">Don&#39;t return from long</text>
<text text-anchor="middle" x="124" y="-795.8" font-family="Times,serif" font-size="14.00" fill="#000000">polling if the block</text>
<text text-anchor="middle" x="124" y="-780.8" font-family="Times,serif" font-size="14.00" fill="#000000">template is an invalid</text>
<text text-anchor="middle" x="124" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">block proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6047 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#6047</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6047" xlink:title="ZcashFoundation/zebra#6047&#10;Verify proposals are&#10;valid after sending them&#10;to miners" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-837.5 276,-837.5 276,-769.5 508,-769.5 508,-837.5"/>
<text text-anchor="middle" x="392" y="-822.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6047</text>
<text text-anchor="middle" x="392" y="-807.3" font-family="Times,serif" font-size="14.00" fill="#000000">Verify proposals are</text>
<text text-anchor="middle" x="392" y="-792.3" font-family="Times,serif" font-size="14.00" fill="#000000">valid after sending them</text>
<text text-anchor="middle" x="392" y="-777.3" font-family="Times,serif" font-size="14.00" fill="#000000">to miners</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047</title>
<path fill="none" stroke="#000000" d="M240.38,-801.24C248.71,-801.36 257.14,-801.49 265.53,-801.61"/>
<polygon fill="#000000" stroke="#000000" points="265.6896,-805.1126 275.74,-801.76 265.7925,-798.1134 265.6896,-805.1126"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5604" xlink:title="ZcashFoundation/zebra#5604&#10;Send the same&#10;getblocktemplate RPC&#10;response until the&#10;template would change" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-751 276,-751 276,-668 508,-668 508,-751"/>
<text text-anchor="middle" x="392" y="-735.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="392" y="-720.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="392" y="-705.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="392" y="-690.8" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="392" y="-675.8" font-family="Times,serif" font-size="14.00" fill="#000000">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="#000000" d="M240.38,-760.42C248.9,-757.56 257.51,-754.66 266.08,-751.78"/>
<polygon fill="#000000" stroke="#000000" points="267.3721,-755.0383 275.74,-748.54 265.1461,-748.4017 267.3721,-755.0383"/>
</g>
<!-- ZcashFoundation/zebra#5700 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#5700</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5700" xlink:title="ZcashFoundation/zebra#5700&#10;Re&#45;use blocks from the&#10;old state when the state&#10;version changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-927.5 8,-927.5 8,-859.5 240,-859.5 240,-927.5"/>
<text text-anchor="middle" x="124" y="-912.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5700</text>
<text text-anchor="middle" x="124" y="-897.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;use blocks from the</text>
<text text-anchor="middle" x="124" y="-882.3" font-family="Times,serif" font-size="14.00" fill="#000000">old state when the state</text>
<text text-anchor="middle" x="124" y="-867.3" font-family="Times,serif" font-size="14.00" fill="#000000">version changes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5911" xlink:title="ZcashFoundation/zebra#5911&#10;Store the serialized&#10;block size in the&#10;database" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-927.5 276,-927.5 276,-859.5 508,-859.5 508,-927.5"/>
<text text-anchor="middle" x="392" y="-912.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="392" y="-897.3" font-family="Times,serif" font-size="14.00" fill="#000000">Store the serialized</text>
<text text-anchor="middle" x="392" y="-882.3" font-family="Times,serif" font-size="14.00" fill="#000000">block size in the</text>
<text text-anchor="middle" x="392" y="-867.3" font-family="Times,serif" font-size="14.00" fill="#000000">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5700&#45;&gt;ZcashFoundation/zebra#5911 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#5700&#45;&gt;ZcashFoundation/zebra#5911</title>
<path fill="none" stroke="#000000" d="M240.38,-893.5C248.71,-893.5 257.14,-893.5 265.53,-893.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-897.0001 275.74,-893.5 265.74,-890.0001 265.74,-897.0001"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node23" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node23"><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="508,-1064 276,-1064 276,-1011 508,-1011 508,-1064"/>
<text text-anchor="middle" x="392" y="-1048.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="392" y="-1033.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="392" y="-1018.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node24"><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="240,-1231 8,-1231 8,-1148 240,-1148 240,-1231"/>
<text text-anchor="middle" x="124" y="-1215.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="124" y="-1200.8" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="124" y="-1185.8" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="124" y="-1170.8" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="124" y="-1155.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5487" xlink:title="ZcashFoundation/zebra#5487&#10;Return detailed errors&#10;from the `submitblock`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1317.5 8,-1317.5 8,-1249.5 240,-1249.5 240,-1317.5"/>
<text text-anchor="middle" x="124" y="-1302.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="124" y="-1287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="124" y="-1272.3" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="124" y="-1257.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5709" xlink:title="ZcashFoundation/zebra#5709&#10;Fix repeated block&#10;timeouts during initial&#10;sync" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1403.5 8,-1403.5 8,-1335.5 240,-1335.5 240,-1403.5"/>
<text text-anchor="middle" x="124" y="-1388.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="124" y="-1373.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="124" y="-1358.3" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="124" y="-1343.3" font-family="Times,serif" font-size="14.00" fill="#000000">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node27" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5425" xlink:title="ZcashFoundation/zebra#5425&#10;Parallelise note&#10;commitment tree point&#10;conversions" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1403.5 276,-1403.5 276,-1335.5 508,-1335.5 508,-1403.5"/>
<text text-anchor="middle" x="392" y="-1388.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="392" y="-1373.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="392" y="-1358.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="392" y="-1343.3" font-family="Times,serif" font-size="14.00" fill="#000000">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M240.38,-1369.5C248.71,-1369.5 257.14,-1369.5 265.53,-1369.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1373.0001 275.74,-1369.5 265.74,-1366.0001 265.74,-1373.0001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node28"><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="240,-1130 8,-1130 8,-1047 240,-1047 240,-1130"/>
<text text-anchor="middle" x="124" y="-1114.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="124" y="-1099.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="124" y="-1054.8" 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="M240.38,-1066.4C248.81,-1064.7 257.33,-1063.1 265.81,-1061.5"/>
<polygon fill="#000000" stroke="#000000" points="266.576,-1064.917 275.74,-1059.6 265.2604,-1058.0417 266.576,-1064.917"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node29"><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="240,-1029 8,-1029 8,-946 240,-946 240,-1029"/>
<text text-anchor="middle" x="124" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="124" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-983.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-968.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="124" y="-953.8" 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="M240.38,-1009.2C248.81,-1010.8 257.33,-1012.4 265.81,-1014"/>
<polygon fill="#000000" stroke="#000000" points="265.2761,-1017.4602 275.74,-1015.8 266.5246,-1010.5724 265.2761,-1017.4602"/>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5502" xlink:title="ZcashFoundation/zebra#5502&#10;Migrate to the latest&#10;version of Abscissa (0.7&#10;or later)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1489.5 8,-1489.5 8,-1421.5 240,-1421.5 240,-1489.5"/>
<text text-anchor="middle" x="124" y="-1474.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="124" y="-1459.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the latest</text>
<text text-anchor="middle" x="124" y="-1444.3" font-family="Times,serif" font-size="14.00" fill="#000000">version of Abscissa (0.7</text>
<text text-anchor="middle" x="124" y="-1429.3" font-family="Times,serif" font-size="14.00" fill="#000000">or later)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5624 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5624" xlink:title="ZcashFoundation/zebra#5624&#10;zebrad: obsolete help&#10;text with the wrong info" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-1482 276,-1482 276,-1429 508,-1429 508,-1482"/>
<text text-anchor="middle" x="392" y="-1466.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="392" y="-1451.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="392" y="-1436.8" font-family="Times,serif" font-size="14.00" fill="#000000">text with the wrong info</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M240.38,-1455.5C248.71,-1455.5 257.14,-1455.5 265.53,-1455.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1459.0001 275.74,-1455.5 265.74,-1452.0001 265.74,-1459.0001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node32"><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="240,-1575.5 8,-1575.5 8,-1507.5 240,-1507.5 240,-1575.5"/>
<text text-anchor="middle" x="124" y="-1560.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-1545.3" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-1530.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-1515.3" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node33"><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="240,-1677 8,-1677 8,-1594 240,-1594 240,-1677"/>
<text text-anchor="middle" x="124" y="-1661.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="124" y="-1646.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="124" y="-1631.8" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="124" y="-1616.8" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="124" y="-1601.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node34" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node34"><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="508,-1669.5 276,-1669.5 276,-1601.5 508,-1601.5 508,-1669.5"/>
<text text-anchor="middle" x="392" y="-1654.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="392" y="-1639.3" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="392" y="-1624.3" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="392" y="-1609.3" 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="edge21" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M240.38,-1635.5C248.71,-1635.5 257.14,-1635.5 265.53,-1635.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1639.0001 275.74,-1635.5 265.74,-1632.0001 265.74,-1639.0001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>