developers/zcash-zf-dag.html

486 lines
37 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="784pt" height="1895pt"
viewBox="0.00 0.00 784.00 1894.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 1890.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1890.5 780,-1890.5 780,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="260,-180 260,-373 776,-373 776,-180 260,-180"/>
<text text-anchor="middle" x="518" y="-357.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,-342 268,-342 268,-274 500,-274 500,-342"/>
<text text-anchor="middle" x="384" y="-326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5803</text>
<text text-anchor="middle" x="384" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test the</text>
<text text-anchor="middle" x="384" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="384" y="-281.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 open">
<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="#c2e0c6" stroke="#000000" points="768,-342 536,-342 536,-274 768,-274 768,-342"/>
<text text-anchor="middle" x="652" y="-326.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5685</text>
<text text-anchor="middle" x="652" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test the getblocktemplate</text>
<text text-anchor="middle" x="652" y="-296.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="-281.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,-308C508.71,-308 517.14,-308 525.53,-308"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-311.5001 535.74,-308 525.74,-304.5001 525.74,-311.5001"/>
</g>
<!-- ZcashFoundation/zebra#5686 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5686</title>
<g id="a_node3"><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="500,-256 268,-256 268,-188 500,-188 500,-256"/>
<text text-anchor="middle" x="384" y="-240.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5686</text>
<text text-anchor="middle" x="384" y="-225.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that each</text>
<text text-anchor="middle" x="384" y="-210.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining RPC works</text>
<text text-anchor="middle" x="384" y="-195.8" font-family="Times,serif" font-size="14.00" fill="#000000">correctly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node4"><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,-532.5 0,-532.5 0,-479.5 232,-479.5 232,-532.5"/>
<text text-anchor="middle" x="116" y="-517.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="116" y="-502.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="116" y="-487.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node5"><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,-619 0,-619 0,-551 232,-551 232,-619"/>
<text text-anchor="middle" x="116" y="-603.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="116" y="-588.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="116" y="-573.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="116" y="-558.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node6" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node6"><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,-611.5 272.5,-611.5 272.5,-558.5 495.5,-558.5 495.5,-611.5"/>
<text text-anchor="middle" x="384" y="-596.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="384" y="-581.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="384" y="-566.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="edge2" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M232.38,-585C242.23,-585 252.22,-585 262.11,-585"/>
<polygon fill="#000000" stroke="#000000" points="262.39,-588.5001 272.39,-585 262.39,-581.5001 262.39,-588.5001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node7"><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,-690.5 0,-690.5 0,-637.5 232,-637.5 232,-690.5"/>
<text text-anchor="middle" x="116" y="-675.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="116" y="-660.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="116" y="-645.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node8"><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,-777 0,-777 0,-709 232,-709 232,-777"/>
<text text-anchor="middle" x="116" y="-761.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="116" y="-746.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="116" y="-731.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="116" y="-716.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="node9" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node9"><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,-863 0,-863 0,-795 232,-795 232,-863"/>
<text text-anchor="middle" x="116" y="-847.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="116" y="-832.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="116" y="-817.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="116" y="-802.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5963 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5963</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5963" xlink:title="ZcashFoundation/zebra#5963&#10;change(ci): Run block&#10;proposal tests in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-438.5 268,-438.5 268,-434.5 264,-434.5 264,-430.5 268,-430.5 268,-393.5 264,-393.5 264,-389.5 268,-389.5 268,-385.5 500,-385.5 500,-438.5"/>
<polyline fill="none" stroke="#000000" points="268,-434.5 272,-434.5 272,-430.5 268,-430.5 "/>
<polyline fill="none" stroke="#000000" points="268,-393.5 272,-393.5 272,-389.5 268,-389.5 "/>
<text text-anchor="middle" x="384" y="-423.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5963</text>
<text text-anchor="middle" x="384" y="-408.3" font-family="Times,serif" font-size="14.00" fill="#000000">change(ci): Run block</text>
<text text-anchor="middle" x="384" y="-393.3" font-family="Times,serif" font-size="14.00" fill="#000000">proposal tests in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node11"><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,-949 0,-949 0,-881 232,-881 232,-949"/>
<text text-anchor="middle" x="116" y="-933.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="116" y="-918.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="116" y="-903.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="116" y="-888.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5984 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5984</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5984" xlink:title="ZcashFoundation/zebra#5984&#10;Transaction nLockTIme&#10;check (CheckFinalTx)&#10;against MTP when adding&#10;to mempool possible&#10;missed" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-461 0,-461 0,-363 232,-363 232,-461"/>
<text text-anchor="middle" x="116" y="-445.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5984</text>
<text text-anchor="middle" x="116" y="-430.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction nLockTIme</text>
<text text-anchor="middle" x="116" y="-415.8" font-family="Times,serif" font-size="14.00" fill="#000000">check (CheckFinalTx)</text>
<text text-anchor="middle" x="116" y="-400.8" font-family="Times,serif" font-size="14.00" fill="#000000">against MTP when adding</text>
<text text-anchor="middle" x="116" y="-385.8" font-family="Times,serif" font-size="14.00" fill="#000000">to mempool possible</text>
<text text-anchor="middle" x="116" y="-370.8" font-family="Times,serif" font-size="14.00" fill="#000000">missed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5984&#45;&gt;ZcashFoundation/zebra#5803 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5984&#45;&gt;ZcashFoundation/zebra#5803</title>
<path fill="none" stroke="#000000" d="M232.38,-366.84C250.5,-359.81 269.05,-352.61 286.69,-345.76"/>
<polygon fill="#000000" stroke="#000000" points="288.3234,-348.8805 296.38,-342 285.7911,-342.3546 288.3234,-348.8805"/>
</g>
<!-- ZcashFoundation/zebra#5984&#45;&gt;ZcashFoundation/zebra#5963 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5984&#45;&gt;ZcashFoundation/zebra#5963</title>
<path fill="none" stroke="#000000" d="M232.38,-412C240.71,-412 249.14,-412 257.53,-412"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-415.5001 267.74,-412 257.74,-408.5001 257.74,-415.5001"/>
</g>
<!-- ZcashFoundation/zebra#6013 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#6013</title>
<g id="a_node13"><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,-1035 0,-1035 0,-1031 -4,-1031 -4,-1027 0,-1027 0,-975 -4,-975 -4,-971 0,-971 0,-967 232,-967 232,-1035"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-1031 4,-1031 4,-1027 0,-1027 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-975 4,-975 4,-971 0,-971 "/>
<text text-anchor="middle" x="116" y="-1019.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6013</text>
<text text-anchor="middle" x="116" y="-1004.8" font-family="Times,serif" font-size="14.00" fill="#000000">use `reddsa` crate and</text>
<text text-anchor="middle" x="116" y="-989.8" font-family="Times,serif" font-size="14.00" fill="#000000">remove duplicated</text>
<text text-anchor="middle" x="116" y="-974.8" font-family="Times,serif" font-size="14.00" fill="#000000">RedPallas code</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5981 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#5981</title>
<g id="a_node14"><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,-344.5 0,-344.5 0,-261.5 232,-261.5 232,-344.5"/>
<text text-anchor="middle" x="116" y="-329.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5981</text>
<text text-anchor="middle" x="116" y="-314.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the same format as</text>
<text text-anchor="middle" x="116" y="-299.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zcashd` for</text>
<text text-anchor="middle" x="116" y="-284.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate`</text>
<text text-anchor="middle" x="116" y="-269.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="edge5" class="edge">
<title>ZcashFoundation/zebra#5981&#45;&gt;ZcashFoundation/zebra#5803</title>
<path fill="none" stroke="#000000" d="M232.38,-305.17C240.71,-305.33 249.14,-305.48 257.53,-305.64"/>
<polygon fill="#000000" stroke="#000000" points="257.6766,-309.1432 267.74,-305.83 257.8069,-302.1444 257.6766,-309.1432"/>
</g>
<!-- ZcashFoundation/zebra#5934 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#5934</title>
<g id="a_node15"><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" stroke-width="2" points="232,-169.5 0,-169.5 0,-86.5 232,-86.5 232,-169.5"/>
<text text-anchor="middle" x="116" y="-154.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5934</text>
<text text-anchor="middle" x="116" y="-139.3" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that Zcash</text>
<text text-anchor="middle" x="116" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">mining pools can use</text>
<text text-anchor="middle" x="116" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra to mine blocks on</text>
<text text-anchor="middle" x="116" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686</title>
<path fill="none" stroke="#000000" d="M232.29,-169.26C241.67,-172.56 250.99,-175.84 260,-179 265.17,-180.81 270.47,-182.67 275.82,-184.53"/>
<polygon fill="#000000" stroke="#000000" points="274.9052,-187.9177 285.5,-187.91 277.2128,-181.309 274.9052,-187.9177"/>
</g>
<!-- ZcashFoundation/zebra#5304 -->
<g id="node16" class="node closed">
<title>ZcashFoundation/zebra#5304</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5304" xlink:title="ZcashFoundation/zebra#5304&#10;Check that mining pool&#10;software can connect to&#10;Zebra in CI, but don&#39;t&#10;mine any blocks" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="500,-169.5 268,-169.5 268,-86.5 500,-86.5 500,-169.5"/>
<text text-anchor="middle" x="384" y="-154.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5304</text>
<text text-anchor="middle" x="384" y="-139.3" font-family="Times,serif" font-size="14.00" fill="#000000">Check that mining pool</text>
<text text-anchor="middle" x="384" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">software can connect to</text>
<text text-anchor="middle" x="384" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra in CI, but don&#39;t</text>
<text text-anchor="middle" x="384" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">mine any blocks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5304 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5304</title>
<path fill="none" stroke="#000000" d="M232.38,-128C240.71,-128 249.14,-128 257.53,-128"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-131.5001 267.74,-128 257.74,-124.5001 257.74,-131.5001"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node17"><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="500,-68 268,-68 268,0 500,0 500,-68"/>
<text text-anchor="middle" x="384" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="384" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="384" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">workflow for mining a</text>
<text text-anchor="middle" x="384" 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="edge8" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M232.29,-86.738C241.67,-83.436 250.99,-80.158 260,-77 265.17,-75.187 270.47,-73.334 275.82,-71.466"/>
<polygon fill="#000000" stroke="#000000" points="277.2092,-74.6884 285.5,-68.092 274.9052,-68.0784 277.2092,-74.6884"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node18" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node18"><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,-1171.5 268,-1171.5 268,-1118.5 500,-1118.5 500,-1171.5"/>
<text text-anchor="middle" x="384" y="-1156.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="384" y="-1141.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="384" y="-1126.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node19"><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,-1338.5 0,-1338.5 0,-1255.5 232,-1255.5 232,-1338.5"/>
<text text-anchor="middle" x="116" y="-1323.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="116" y="-1308.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="116" y="-1293.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="116" y="-1278.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="116" y="-1263.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node20"><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,-1425 0,-1425 0,-1357 232,-1357 232,-1425"/>
<text text-anchor="middle" x="116" y="-1409.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="116" y="-1394.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="116" y="-1379.8" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="116" y="-1364.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node21"><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,-1511 0,-1511 0,-1443 232,-1443 232,-1511"/>
<text text-anchor="middle" x="116" y="-1495.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="116" y="-1480.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="116" y="-1465.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="116" y="-1450.8" font-family="Times,serif" font-size="14.00" fill="#000000">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node22" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node22"><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,-1511 268,-1511 268,-1443 500,-1443 500,-1511"/>
<text text-anchor="middle" x="384" y="-1495.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="384" y="-1480.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="384" y="-1465.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="384" y="-1450.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="edge9" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M232.38,-1477C240.71,-1477 249.14,-1477 257.53,-1477"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1480.5001 267.74,-1477 257.74,-1473.5001 257.74,-1480.5001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node23"><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,-1237.5 0,-1237.5 0,-1154.5 232,-1154.5 232,-1237.5"/>
<text text-anchor="middle" x="116" y="-1222.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="116" y="-1207.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1192.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1177.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="116" y="-1162.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="edge10" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1173.9C240.81,-1172.2 249.33,-1170.6 257.81,-1169"/>
<polygon fill="#000000" stroke="#000000" points="258.576,-1172.417 267.74,-1167.1 257.2604,-1165.5417 258.576,-1172.417"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node24"><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,-1136.5 0,-1136.5 0,-1053.5 232,-1053.5 232,-1136.5"/>
<text text-anchor="middle" x="116" y="-1121.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="116" y="-1106.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1091.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1076.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="116" y="-1061.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="edge11" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1116.7C240.81,-1118.3 249.33,-1119.9 257.81,-1121.5"/>
<polygon fill="#000000" stroke="#000000" points="257.2761,-1124.9602 267.74,-1123.3 258.5246,-1118.0724 257.2761,-1124.9602"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node25"><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" stroke-width="2" points="232,-1612.5 0,-1612.5 0,-1529.5 232,-1529.5 232,-1612.5"/>
<text text-anchor="middle" x="116" y="-1597.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="116" y="-1582.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="116" y="-1567.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="116" y="-1552.3" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="116" y="-1537.3" font-family="Times,serif" font-size="14.00" fill="#000000">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node26"><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,-1699 0,-1699 0,-1631 232,-1631 232,-1699"/>
<text text-anchor="middle" x="116" y="-1683.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="116" y="-1668.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the latest</text>
<text text-anchor="middle" x="116" y="-1653.8" font-family="Times,serif" font-size="14.00" fill="#000000">version of Abscissa (0.7</text>
<text text-anchor="middle" x="116" y="-1638.8" font-family="Times,serif" font-size="14.00" fill="#000000">or later)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5624 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node27"><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,-1691.5 268,-1691.5 268,-1638.5 500,-1638.5 500,-1691.5"/>
<text text-anchor="middle" x="384" y="-1676.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="384" y="-1661.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="384" y="-1646.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="edge12" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M232.38,-1665C240.71,-1665 249.14,-1665 257.53,-1665"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1668.5001 267.74,-1665 257.74,-1661.5001 257.74,-1668.5001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node28"><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,-1785 0,-1785 0,-1717 232,-1717 232,-1785"/>
<text text-anchor="middle" x="116" y="-1769.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="116" y="-1754.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="116" y="-1739.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="116" y="-1724.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node29"><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,-1886.5 0,-1886.5 0,-1803.5 232,-1803.5 232,-1886.5"/>
<text text-anchor="middle" x="116" y="-1871.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="116" y="-1856.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="116" y="-1841.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="116" y="-1826.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="116" y="-1811.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node30" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node30"><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,-1879 268,-1879 268,-1811 500,-1811 500,-1879"/>
<text text-anchor="middle" x="384" y="-1863.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="384" y="-1848.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="384" y="-1833.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="384" y="-1818.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="edge13" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M232.38,-1845C240.71,-1845 249.14,-1845 257.53,-1845"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1848.5001 267.74,-1845 257.74,-1841.5001 257.74,-1848.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>