developers/zcash-zf-dag.html

461 lines
35 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="638pt" height="1940pt"
viewBox="0.00 0.00 638.00 1939.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 1935.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1935.5 634,-1935.5 634,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-193 370,-193 370,0 0,0"/>
<text text-anchor="middle" x="185" y="-177.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" stroke-width="2" points="301,-162 69,-162 69,-94 301,-94 301,-162"/>
<text text-anchor="middle" x="185" y="-146.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5803</text>
<text text-anchor="middle" x="185" y="-131.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test the</text>
<text text-anchor="middle" x="185" y="-116.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
<text text-anchor="middle" x="185" y="-101.8" font-family="Times,serif" font-size="14.00" fill="#000000">creates valid blocks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5686 -->
<g id="node2" class="node open">
<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="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-76 69,-76 69,-8 301,-8 301,-76"/>
<text text-anchor="middle" x="185" y="-60.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5686</text>
<text text-anchor="middle" x="185" y="-45.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that each</text>
<text text-anchor="middle" x="185" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining RPC works</text>
<text text-anchor="middle" x="185" y="-15.8" font-family="Times,serif" font-size="14.00" fill="#000000">correctly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node3"><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="301,-254.5 69,-254.5 69,-201.5 301,-201.5 301,-254.5"/>
<text text-anchor="middle" x="185" y="-239.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="185" y="-224.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="185" y="-209.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node4"><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="301,-341 69,-341 69,-273 301,-273 301,-341"/>
<text text-anchor="middle" x="185" y="-325.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="185" y="-310.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="185" y="-295.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="185" y="-280.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node5" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node5"><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="625.5,-333.5 402.5,-333.5 402.5,-280.5 625.5,-280.5 625.5,-333.5"/>
<text text-anchor="middle" x="514" y="-318.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="514" y="-303.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="514" y="-288.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="edge1" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M301.46,-307C330.81,-307 362.39,-307 392.01,-307"/>
<polygon fill="#000000" stroke="#000000" points="392.39,-310.5001 402.39,-307 392.39,-303.5001 392.39,-310.5001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node6"><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="301,-412.5 69,-412.5 69,-359.5 301,-359.5 301,-412.5"/>
<text text-anchor="middle" x="185" y="-397.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="185" y="-382.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="185" y="-367.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3383" xlink:title="ZcashFoundation/zebra#3383&#10;Document `zebrad&#10;download` command" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-483.5 69,-483.5 69,-430.5 301,-430.5 301,-483.5"/>
<text text-anchor="middle" x="185" y="-468.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="185" y="-453.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="185" y="-438.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</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="301,-570 69,-570 69,-502 301,-502 301,-570"/>
<text text-anchor="middle" x="185" y="-554.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="185" y="-539.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="185" y="-524.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="185" y="-509.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="301,-656 69,-656 69,-588 301,-588 301,-656"/>
<text text-anchor="middle" x="185" y="-640.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="185" y="-625.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="185" y="-610.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="185" y="-595.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5870 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5870</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5870" xlink:title="ZcashFoundation/zebra#5870&#10;change(rpc): Add proposal&#10;capability to&#10;getblocktemplate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-742 69,-742 69,-738 65,-738 65,-734 69,-734 69,-682 65,-682 65,-678 69,-678 69,-674 301,-674 301,-742"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="69,-738 73,-738 73,-734 69,-734 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="69,-682 73,-682 73,-678 69,-678 "/>
<text text-anchor="middle" x="185" y="-726.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5870</text>
<text text-anchor="middle" x="185" y="-711.8" font-family="Times,serif" font-size="14.00" fill="#000000">change(rpc): Add proposal</text>
<text text-anchor="middle" x="185" y="-696.8" font-family="Times,serif" font-size="14.00" fill="#000000">capability to</text>
<text text-anchor="middle" x="185" y="-681.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5884 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5884</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5884" xlink:title="ZcashFoundation/zebra#5884&#10;change(test): Call&#10;getblocktemplate in&#10;proposal mode from&#10;acceptance test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="630,-749.5 398,-749.5 398,-745.5 394,-745.5 394,-741.5 398,-741.5 398,-674.5 394,-674.5 394,-670.5 398,-670.5 398,-666.5 630,-666.5 630,-749.5"/>
<polyline fill="none" stroke="#000000" points="398,-745.5 402,-745.5 402,-741.5 398,-741.5 "/>
<polyline fill="none" stroke="#000000" points="398,-674.5 402,-674.5 402,-670.5 398,-670.5 "/>
<text text-anchor="middle" x="514" y="-734.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5884</text>
<text text-anchor="middle" x="514" y="-719.3" font-family="Times,serif" font-size="14.00" fill="#000000">change(test): Call</text>
<text text-anchor="middle" x="514" y="-704.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate in</text>
<text text-anchor="middle" x="514" y="-689.3" font-family="Times,serif" font-size="14.00" fill="#000000">proposal mode from</text>
<text text-anchor="middle" x="514" y="-674.3" font-family="Times,serif" font-size="14.00" fill="#000000">acceptance test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5870&#45;&gt;ZcashFoundation/zebra#5884 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5870&#45;&gt;ZcashFoundation/zebra#5884</title>
<path fill="none" stroke="#000000" d="M301.46,-708C329.36,-708 359.29,-708 387.62,-708"/>
<polygon fill="#000000" stroke="#000000" points="387.98,-711.5001 397.98,-708 387.98,-704.5001 387.98,-711.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="301,-828 69,-828 69,-760 301,-760 301,-828"/>
<text text-anchor="middle" x="185" y="-812.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="185" y="-797.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="185" y="-782.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="185" y="-767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5925 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#5925</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5925" xlink:title="ZcashFoundation/zebra#5925&#10;fix(rpc): Calculate&#10;getblocktemplate RPC&#10;testnet min time&#10;correctly" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-929.5 69,-929.5 69,-925.5 65,-925.5 65,-921.5 69,-921.5 69,-854.5 65,-854.5 65,-850.5 69,-850.5 69,-846.5 301,-846.5 301,-929.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="69,-925.5 73,-925.5 73,-921.5 69,-921.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="69,-854.5 73,-854.5 73,-850.5 69,-850.5 "/>
<text text-anchor="middle" x="185" y="-914.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5925</text>
<text text-anchor="middle" x="185" y="-899.3" font-family="Times,serif" font-size="14.00" fill="#000000">fix(rpc): Calculate</text>
<text text-anchor="middle" x="185" y="-884.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="185" y="-869.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet min time</text>
<text text-anchor="middle" x="185" y="-854.3" font-family="Times,serif" font-size="14.00" fill="#000000">correctly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5944 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#5944</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/5944" xlink:title="ZcashFoundation/zebra#5944&#10;WIP: test(rpc): Create a&#10;script that submits block&#10;proposals to zcashd" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="630,-922 398,-922 398,-918 394,-918 394,-914 398,-914 398,-862 394,-862 394,-858 398,-858 398,-854 630,-854 630,-922"/>
<polyline fill="none" stroke="#000000" points="398,-918 402,-918 402,-914 398,-914 "/>
<polyline fill="none" stroke="#000000" points="398,-862 402,-862 402,-858 398,-858 "/>
<text text-anchor="middle" x="514" y="-906.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5944</text>
<text text-anchor="middle" x="514" y="-891.8" font-family="Times,serif" font-size="14.00" fill="#000000">WIP: test(rpc): Create a</text>
<text text-anchor="middle" x="514" y="-876.8" font-family="Times,serif" font-size="14.00" fill="#000000">script that submits block</text>
<text text-anchor="middle" x="514" y="-861.8" font-family="Times,serif" font-size="14.00" fill="#000000">proposals to zcashd</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5925&#45;&gt;ZcashFoundation/zebra#5944 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5925&#45;&gt;ZcashFoundation/zebra#5944</title>
<path fill="none" stroke="#000000" d="M301.46,-888C329.36,-888 359.29,-888 387.62,-888"/>
<polygon fill="#000000" stroke="#000000" points="387.98,-891.5001 397.98,-888 387.98,-884.5001 387.98,-891.5001"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4412" xlink:title="ZcashFoundation/zebra#4412&#10;Automate pinning CI&#10;dependencies to specific&#10;commit hashes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-1016 69,-1016 69,-948 301,-948 301,-1016"/>
<text text-anchor="middle" x="185" y="-1000.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="185" y="-985.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="185" y="-970.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="185" y="-955.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node16" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node16"><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="630,-1152.5 398,-1152.5 398,-1099.5 630,-1099.5 630,-1152.5"/>
<text text-anchor="middle" x="514" y="-1137.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="514" y="-1122.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="514" y="-1107.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node17"><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="301,-1319.5 69,-1319.5 69,-1236.5 301,-1236.5 301,-1319.5"/>
<text text-anchor="middle" x="185" y="-1304.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="185" y="-1289.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="185" y="-1274.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="185" y="-1259.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="185" y="-1244.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node18"><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="301,-1406 69,-1406 69,-1338 301,-1338 301,-1406"/>
<text text-anchor="middle" x="185" y="-1390.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="185" y="-1375.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="185" y="-1360.8" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="185" y="-1345.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node19"><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="301,-1492 69,-1492 69,-1424 301,-1424 301,-1492"/>
<text text-anchor="middle" x="185" y="-1476.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="185" y="-1461.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="185" y="-1446.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="185" y="-1431.8" font-family="Times,serif" font-size="14.00" fill="#000000">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node20" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node20"><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="630,-1492 398,-1492 398,-1424 630,-1424 630,-1492"/>
<text text-anchor="middle" x="514" y="-1476.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="514" y="-1461.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="514" y="-1446.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="514" y="-1431.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="edge4" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M301.46,-1458C329.36,-1458 359.29,-1458 387.62,-1458"/>
<polygon fill="#000000" stroke="#000000" points="387.98,-1461.5001 397.98,-1458 387.98,-1454.5001 387.98,-1461.5001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node21"><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="301,-1218.5 69,-1218.5 69,-1135.5 301,-1135.5 301,-1218.5"/>
<text text-anchor="middle" x="185" y="-1203.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="185" y="-1188.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="185" y="-1173.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="185" y="-1158.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="185" y="-1143.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="edge5" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M301.46,-1158.9C329.48,-1154.6 359.55,-1149.9 387.99,-1145.5"/>
<polygon fill="#000000" stroke="#000000" points="388.6106,-1148.9461 397.98,-1144 387.5711,-1142.0237 388.6106,-1148.9461"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node22"><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="301,-1117.5 69,-1117.5 69,-1034.5 301,-1034.5 301,-1117.5"/>
<text text-anchor="middle" x="185" y="-1102.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="185" y="-1087.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="185" y="-1072.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="185" y="-1057.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="185" y="-1042.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="edge6" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M301.46,-1093.7C329.48,-1098 359.55,-1102.5 387.99,-1106.8"/>
<polygon fill="#000000" stroke="#000000" points="387.5523,-1110.2744 397.98,-1108.4 388.6594,-1103.3625 387.5523,-1110.2744"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node23"><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="301,-1593.5 69,-1593.5 69,-1510.5 301,-1510.5 301,-1593.5"/>
<text text-anchor="middle" x="185" y="-1578.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="185" y="-1563.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="185" y="-1548.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="185" y="-1533.3" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="185" y="-1518.3" font-family="Times,serif" font-size="14.00" fill="#000000">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5502" xlink:title="ZcashFoundation/zebra#5502&#10;Migrate to Abscissa 0.6" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-1650 69,-1650 69,-1612 301,-1612 301,-1650"/>
<text text-anchor="middle" x="185" y="-1634.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="185" y="-1619.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to Abscissa 0.6</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5624 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node25"><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="630,-1657.5 398,-1657.5 398,-1604.5 630,-1604.5 630,-1657.5"/>
<text text-anchor="middle" x="514" y="-1642.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="514" y="-1627.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="514" y="-1612.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="edge7" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M301.46,-1631C329.36,-1631 359.29,-1631 387.62,-1631"/>
<polygon fill="#000000" stroke="#000000" points="387.98,-1634.5001 397.98,-1631 387.98,-1627.5001 387.98,-1634.5001"/>
</g>
<!-- ZcashFoundation/zebra#5684 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#5684</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5684" xlink:title="ZcashFoundation/zebra#5684&#10;Add support for block&#10;proposals to&#10;`getblocktemplate` method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="301,-1744 69,-1744 69,-1676 301,-1676 301,-1744"/>
<text text-anchor="middle" x="185" y="-1728.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5684</text>
<text text-anchor="middle" x="185" y="-1713.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for block</text>
<text text-anchor="middle" x="185" y="-1698.8" font-family="Times,serif" font-size="14.00" fill="#000000">proposals to</text>
<text text-anchor="middle" x="185" y="-1683.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5685 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#5685</title>
<g id="a_node27"><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="630,-1744 398,-1744 398,-1676 630,-1676 630,-1744"/>
<text text-anchor="middle" x="514" y="-1728.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5685</text>
<text text-anchor="middle" x="514" y="-1713.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test the getblocktemplate</text>
<text text-anchor="middle" x="514" y="-1698.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC&#39;s response as a block</text>
<text text-anchor="middle" x="514" y="-1683.8" font-family="Times,serif" font-size="14.00" fill="#000000">template proposal in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5684&#45;&gt;ZcashFoundation/zebra#5685 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#5684&#45;&gt;ZcashFoundation/zebra#5685</title>
<path fill="none" stroke="#000000" d="M301.46,-1710C329.36,-1710 359.29,-1710 387.62,-1710"/>
<polygon fill="#000000" stroke="#000000" points="387.98,-1713.5001 397.98,-1710 387.98,-1706.5001 387.98,-1713.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="301,-1830 69,-1830 69,-1762 301,-1762 301,-1830"/>
<text text-anchor="middle" x="185" y="-1814.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="185" y="-1799.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="185" y="-1784.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="185" y="-1769.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="301,-1931.5 69,-1931.5 69,-1848.5 301,-1848.5 301,-1931.5"/>
<text text-anchor="middle" x="185" y="-1916.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="185" y="-1901.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="185" y="-1886.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="185" y="-1871.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="185" y="-1856.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="630,-1924 398,-1924 398,-1856 630,-1856 630,-1924"/>
<text text-anchor="middle" x="514" y="-1908.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="514" y="-1893.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="514" y="-1878.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="514" y="-1863.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="edge9" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M301.46,-1890C329.36,-1890 359.29,-1890 387.62,-1890"/>
<polygon fill="#000000" stroke="#000000" points="387.98,-1893.5001 397.98,-1890 387.98,-1886.5001 387.98,-1893.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>