developers/zcash-zf-dag.html

553 lines
41 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="1052pt" height="1770pt"
viewBox="0.00 0.00 1052.00 1769.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 1765.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1765.5 1048,-1765.5 1048,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="260,-76 260,-355 1044,-355 1044,-76 260,-76"/>
<text text-anchor="middle" x="652" y="-339.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5803 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5803</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5803" xlink:title="ZcashFoundation/zebra#5803&#10;Manually test the&#10;`getblocktemplate` RPC&#10;creates valid blocks" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-324 268,-324 268,-256 500,-256 500,-324"/>
<text text-anchor="middle" x="384" y="-308.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5803</text>
<text text-anchor="middle" x="384" y="-293.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test the</text>
<text text-anchor="middle" x="384" y="-278.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="384" y="-263.8" font-family="Times,serif" font-size="14.00" fill="#000000">creates valid blocks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5685 -->
<g id="node2" class="node closed">
<title>ZcashFoundation/zebra#5685</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5685" xlink:title="ZcashFoundation/zebra#5685&#10;Test the getblocktemplate&#10;RPC&#39;s response as a block&#10;template proposal in CI" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="768,-324 536,-324 536,-256 768,-256 768,-324"/>
<text text-anchor="middle" x="652" y="-308.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5685</text>
<text text-anchor="middle" x="652" y="-293.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test the getblocktemplate</text>
<text text-anchor="middle" x="652" y="-278.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC&#39;s response as a block</text>
<text text-anchor="middle" x="652" y="-263.8" font-family="Times,serif" font-size="14.00" fill="#000000">template proposal in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5803&#45;&gt;ZcashFoundation/zebra#5685 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5803&#45;&gt;ZcashFoundation/zebra#5685</title>
<path fill="none" stroke="#000000" d="M500.38,-290C508.71,-290 517.14,-290 525.53,-290"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-293.5001 535.74,-290 525.74,-286.5001 525.74,-293.5001"/>
</g>
<!-- ZcashFoundation/zebra#5934 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5934</title>
<g id="a_node3"><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="768,-237.5 536,-237.5 536,-154.5 768,-154.5 768,-237.5"/>
<text text-anchor="middle" x="652" y="-222.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5934</text>
<text text-anchor="middle" x="652" y="-207.3" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that Zcash</text>
<text text-anchor="middle" x="652" y="-192.3" font-family="Times,serif" font-size="14.00" fill="#000000">mining pools can use</text>
<text text-anchor="middle" x="652" y="-177.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra to mine blocks on</text>
<text text-anchor="middle" x="652" y="-162.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5686 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5686</title>
<g id="a_node4"><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="#c2e0c6" stroke="#000000" points="1036,-230 804,-230 804,-162 1036,-162 1036,-230"/>
<text text-anchor="middle" x="920" y="-214.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5686</text>
<text text-anchor="middle" x="920" y="-199.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that each</text>
<text text-anchor="middle" x="920" y="-184.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining RPC works</text>
<text text-anchor="middle" x="920" y="-169.8" 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="edge2" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686</title>
<path fill="none" stroke="#000000" d="M768.38,-196C776.71,-196 785.14,-196 793.53,-196"/>
<polygon fill="#000000" stroke="#000000" points="793.74,-199.5001 803.74,-196 793.74,-192.5001 793.74,-199.5001"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node7"><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="1036,-68 804,-68 804,0 1036,0 1036,-68"/>
<text text-anchor="middle" x="920" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="920" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="920" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">workflow for mining a</text>
<text text-anchor="middle" x="920" y="-7.8" 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="edge4" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M730.21,-154.5C743.55,-145.68 756.72,-135.76 768,-125 786.43,-107.42 782.49,-92.587 801.66,-74.617"/>
<polygon fill="#000000" stroke="#000000" points="804.0199,-77.2066 809.47,-68.121 799.5436,-71.8248 804.0199,-77.2066"/>
</g>
<!-- ZcashFoundation/zebra#5722 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5722</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5722" xlink:title="ZcashFoundation/zebra#5722&#10;Implement validateaddress&#10;and z_validateaddress&#10;RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="500,-238 268,-238 268,-170 500,-170 500,-238"/>
<text text-anchor="middle" x="384" y="-222.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5722</text>
<text text-anchor="middle" x="384" y="-207.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement validateaddress</text>
<text text-anchor="middle" x="384" y="-192.8" font-family="Times,serif" font-size="14.00" fill="#000000">and z_validateaddress</text>
<text text-anchor="middle" x="384" y="-177.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPCs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#5934 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#5934</title>
<path fill="none" stroke="#000000" d="M500.38,-200.53C508.71,-200.28 517.14,-200.03 525.53,-199.78"/>
<polygon fill="#000000" stroke="#000000" points="525.8509,-203.272 535.74,-199.47 525.6384,-196.2752 525.8509,-203.272"/>
</g>
<!-- ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M476.88,-169.94C484.72,-166.96 492.51,-163.95 500,-161 516.13,-154.65 519.65,-151.77 536,-146 583.67,-129.17 701.33,-95.259 793.94,-69.137"/>
<polygon fill="#000000" stroke="#000000" points="795.0038,-72.4736 803.68,-66.393 793.1056,-65.7359 795.0038,-72.4736"/>
</g>
<!-- ZcashFoundation/zebra#6030 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#6030</title>
<g id="a_node8"><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="768,-67.5 536,-67.5 536,-14.5 768,-14.5 768,-67.5"/>
<text text-anchor="middle" x="652" y="-52.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6030</text>
<text text-anchor="middle" x="652" y="-37.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="652" y="-22.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6030 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#5722&#45;&gt;ZcashFoundation/zebra#6030</title>
<path fill="none" stroke="#000000" d="M489.34,-169.96C493.11,-167.2 496.69,-164.22 500,-161 528.34,-133.48 507.66,-104.85 534.04,-74.892"/>
<polygon fill="#000000" stroke="#000000" points="536.702,-77.1819 541.35,-67.661 531.7792,-72.2053 536.702,-77.1819"/>
</g>
<!-- ZcashFoundation/zebra#6028 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#6028</title>
<g id="a_node6"><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="500,-152 268,-152 268,-84 500,-84 500,-152"/>
<text text-anchor="middle" x="384" y="-136.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6028</text>
<text text-anchor="middle" x="384" y="-121.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to mine on</text>
<text text-anchor="middle" x="384" y="-106.8" font-family="Times,serif" font-size="14.00" fill="#000000">testnet using Zebra and</text>
<text text-anchor="middle" x="384" y="-91.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining pool software</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node9"><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="232,-405.5 0,-405.5 0,-352.5 232,-352.5 232,-405.5"/>
<text text-anchor="middle" x="116" y="-390.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="116" y="-375.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="116" y="-360.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2375" xlink:title="ZcashFoundation/zebra#2375&#10;Allow different `zebra&#45;&#10;network` apps to use&#10;different user agents" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-495 0,-495 0,-427 232,-427 232,-495"/>
<text text-anchor="middle" x="116" y="-479.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="116" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="116" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="116" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node11" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/794" xlink:title="ZcashFoundation/zebra#794&#10;Make sure custom user&#10;agents conform to BIP&#45;14" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="495.5,-487.5 272.5,-487.5 272.5,-434.5 495.5,-434.5 495.5,-487.5"/>
<text text-anchor="middle" x="384" y="-472.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="384" y="-457.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="384" y="-442.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="edge7" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M232.38,-461C242.23,-461 252.22,-461 262.11,-461"/>
<polygon fill="#000000" stroke="#000000" points="262.39,-464.5001 272.39,-461 262.39,-457.5001 262.39,-464.5001"/>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node12"><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" stroke-width="2" points="232,-581 0,-581 0,-513 232,-513 232,-581"/>
<text text-anchor="middle" x="116" y="-565.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="116" y="-550.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="116" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="116" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node13"><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="500,-581 268,-581 268,-513 500,-513 500,-581"/>
<text text-anchor="middle" x="384" y="-565.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="384" y="-550.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="384" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="384" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Unified addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M232.38,-547C240.71,-547 249.14,-547 257.53,-547"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-550.5001 267.74,-547 257.74,-543.5001 257.74,-550.5001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Tracking: Questions for&#10;Network Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-652.5 0,-652.5 0,-599.5 232,-599.5 232,-652.5"/>
<text text-anchor="middle" x="116" y="-637.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="116" y="-622.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="116" y="-607.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node15"><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="232,-739 0,-739 0,-671 232,-671 232,-739"/>
<text text-anchor="middle" x="116" y="-723.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="116" y="-708.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="116" y="-693.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="116" y="-678.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node16"><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="232,-825 0,-825 0,-757 232,-757 232,-825"/>
<text text-anchor="middle" x="116" y="-809.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="116" y="-794.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="116" y="-779.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="116" y="-764.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#6055</title>
<g id="a_node17"><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="500,-416.5 268,-416.5 268,-363.5 500,-363.5 500,-416.5"/>
<text text-anchor="middle" x="384" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6055</text>
<text text-anchor="middle" x="384" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the</text>
<text text-anchor="middle" x="384" y="-371.3" 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="edge9" class="edge">
<title>ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#5934</title>
<path fill="none" stroke="#000000" d="M495.3,-363.12C496.92,-361.81 498.49,-360.44 500,-359 537.88,-322.96 500.98,-285.83 536,-247 536.76,-246.16 537.53,-245.34 538.31,-244.53"/>
<polygon fill="#000000" stroke="#000000" points="540.8495,-246.9477 545.78,-237.57 536.0776,-241.8262 540.8495,-246.9477"/>
</g>
<!-- ZcashFoundation/zebra#6013 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#6013</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/6013" xlink:title="ZcashFoundation/zebra#6013&#10;use `reddsa` crate and&#10;remove duplicated&#10;RedPallas code" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-911 0,-911 0,-907 -4,-907 -4,-903 0,-903 0,-851 -4,-851 -4,-847 0,-847 0,-843 232,-843 232,-911"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-907 4,-907 4,-903 0,-903 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-851 4,-851 4,-847 0,-847 "/>
<text text-anchor="middle" x="116" y="-895.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6013</text>
<text text-anchor="middle" x="116" y="-880.8" font-family="Times,serif" font-size="14.00" fill="#000000">use `reddsa` crate and</text>
<text text-anchor="middle" x="116" y="-865.8" font-family="Times,serif" font-size="14.00" fill="#000000">remove duplicated</text>
<text text-anchor="middle" x="116" y="-850.8" font-family="Times,serif" font-size="14.00" fill="#000000">RedPallas code</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5981 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5981</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5981" xlink:title="ZcashFoundation/zebra#5981&#10;Use the same format as&#10;`zcashd` for&#10;`getblocktemplate`&#10;proposal mode errors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-331.5 0,-331.5 0,-248.5 232,-248.5 232,-331.5"/>
<text text-anchor="middle" x="116" y="-316.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5981</text>
<text text-anchor="middle" x="116" y="-301.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the same format as</text>
<text text-anchor="middle" x="116" y="-286.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zcashd` for</text>
<text text-anchor="middle" x="116" y="-271.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate`</text>
<text text-anchor="middle" x="116" y="-256.3" font-family="Times,serif" font-size="14.00" fill="#000000">proposal mode errors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5981&#45;&gt;ZcashFoundation/zebra#5803 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#5981&#45;&gt;ZcashFoundation/zebra#5803</title>
<path fill="none" stroke="#000000" d="M232.38,-290C240.71,-290 249.14,-290 257.53,-290"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-293.5001 267.74,-290 257.74,-286.5001 257.74,-293.5001"/>
</g>
<!-- ZcashFoundation/zebra#6037 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#6037</title>
<g id="a_node20"><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="232,-1012.5 0,-1012.5 0,-929.5 232,-929.5 232,-1012.5"/>
<text text-anchor="middle" x="116" y="-997.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6037</text>
<text text-anchor="middle" x="116" y="-982.3" font-family="Times,serif" font-size="14.00" fill="#000000">Don&#39;t return from long</text>
<text text-anchor="middle" x="116" y="-967.3" font-family="Times,serif" font-size="14.00" fill="#000000">polling if the block</text>
<text text-anchor="middle" x="116" y="-952.3" font-family="Times,serif" font-size="14.00" fill="#000000">template is an invalid</text>
<text text-anchor="middle" x="116" y="-937.3" font-family="Times,serif" font-size="14.00" fill="#000000">block proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6047 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#6047</title>
<g id="a_node21"><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="500,-1016 268,-1016 268,-948 500,-948 500,-1016"/>
<text text-anchor="middle" x="384" y="-1000.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6047</text>
<text text-anchor="middle" x="384" y="-985.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify proposals are</text>
<text text-anchor="middle" x="384" y="-970.8" font-family="Times,serif" font-size="14.00" fill="#000000">valid after sending them</text>
<text text-anchor="middle" x="384" y="-955.8" 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="edge11" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047</title>
<path fill="none" stroke="#000000" d="M232.38,-975.78C240.71,-976.12 249.14,-976.46 257.53,-976.81"/>
<polygon fill="#000000" stroke="#000000" points="257.6046,-980.3159 267.74,-977.23 257.8923,-973.3218 257.6046,-980.3159"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node22"><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="500,-929.5 268,-929.5 268,-846.5 500,-846.5 500,-929.5"/>
<text text-anchor="middle" x="384" y="-914.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="384" y="-899.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="384" y="-884.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="384" y="-869.3" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="384" y="-854.3" 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="edge12" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="#000000" d="M232.38,-934.96C240.9,-932.32 249.51,-929.65 258.08,-927"/>
<polygon fill="#000000" stroke="#000000" points="259.2221,-930.3104 267.74,-924.01 257.1522,-923.6234 259.2221,-930.3104"/>
</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="500,-1148.5 268,-1148.5 268,-1095.5 500,-1095.5 500,-1148.5"/>
<text text-anchor="middle" x="384" y="-1133.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="384" y="-1118.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="384" y="-1103.3" 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="232,-1315.5 0,-1315.5 0,-1232.5 232,-1232.5 232,-1315.5"/>
<text text-anchor="middle" x="116" y="-1300.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="116" y="-1285.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="116" y="-1270.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="116" y="-1255.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="116" y="-1240.3" 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="232,-1402 0,-1402 0,-1334 232,-1334 232,-1402"/>
<text text-anchor="middle" x="116" y="-1386.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="116" y="-1371.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="116" y="-1356.8" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="116" y="-1341.8" 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="232,-1488 0,-1488 0,-1420 232,-1420 232,-1488"/>
<text text-anchor="middle" x="116" y="-1472.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="116" y="-1457.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="116" y="-1442.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="116" y="-1427.8" 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="500,-1488 268,-1488 268,-1420 500,-1420 500,-1488"/>
<text text-anchor="middle" x="384" y="-1472.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="384" y="-1457.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="384" y="-1442.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="384" y="-1427.8" 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="edge13" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M232.38,-1454C240.71,-1454 249.14,-1454 257.53,-1454"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1457.5001 267.74,-1454 257.74,-1450.5001 257.74,-1457.5001"/>
</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="232,-1214.5 0,-1214.5 0,-1131.5 232,-1131.5 232,-1214.5"/>
<text text-anchor="middle" x="116" y="-1199.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="116" y="-1184.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1169.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1154.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="116" y="-1139.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="edge14" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1150.9C240.81,-1149.2 249.33,-1147.6 257.81,-1146"/>
<polygon fill="#000000" stroke="#000000" points="258.576,-1149.417 267.74,-1144.1 257.2604,-1142.5417 258.576,-1149.417"/>
</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="232,-1113.5 0,-1113.5 0,-1030.5 232,-1030.5 232,-1113.5"/>
<text text-anchor="middle" x="116" y="-1098.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="116" y="-1083.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1068.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1053.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="116" y="-1038.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="edge15" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1093.7C240.81,-1095.3 249.33,-1096.9 257.81,-1098.5"/>
<polygon fill="#000000" stroke="#000000" points="257.2761,-1101.9602 267.74,-1100.3 258.5246,-1095.0724 257.2761,-1101.9602"/>
</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="232,-1574 0,-1574 0,-1506 232,-1506 232,-1574"/>
<text text-anchor="middle" x="116" y="-1558.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="116" y="-1543.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the latest</text>
<text text-anchor="middle" x="116" y="-1528.8" font-family="Times,serif" font-size="14.00" fill="#000000">version of Abscissa (0.7</text>
<text text-anchor="middle" x="116" y="-1513.8" 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="500,-1566.5 268,-1566.5 268,-1513.5 500,-1513.5 500,-1566.5"/>
<text text-anchor="middle" x="384" y="-1551.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="384" y="-1536.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="384" y="-1521.3" 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="edge16" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M232.38,-1540C240.71,-1540 249.14,-1540 257.53,-1540"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1543.5001 267.74,-1540 257.74,-1536.5001 257.74,-1543.5001"/>
</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="232,-1660 0,-1660 0,-1592 232,-1592 232,-1660"/>
<text text-anchor="middle" x="116" y="-1644.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="116" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="116" y="-1614.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="116" y="-1599.8" 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="232,-1761.5 0,-1761.5 0,-1678.5 232,-1678.5 232,-1761.5"/>
<text text-anchor="middle" x="116" y="-1746.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="116" y="-1731.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="116" y="-1716.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="116" y="-1701.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="116" y="-1686.3" 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="500,-1754 268,-1754 268,-1686 500,-1686 500,-1754"/>
<text text-anchor="middle" x="384" y="-1738.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="384" y="-1723.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="384" y="-1708.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="384" y="-1693.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="edge17" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M232.38,-1720C240.71,-1720 249.14,-1720 257.53,-1720"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1723.5001 267.74,-1720 257.74,-1716.5001 257.74,-1723.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>