developers/zcash-zf-dag.svg

500 lines
38 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet href="zcash-dag.css" type="text/css"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="792pt" height="2063pt"
viewBox="0.00 0.00 792.00 2063.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2059)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2059 788,-2059 788,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-91.5 0,-715.5 784,-715.5 784,-91.5 0,-91.5"/>
<text text-anchor="middle" x="392" y="-700.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5336" xlink:title="ZcashFoundation/zebra#5336&#10;Relay mempool&#10;transactions based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-551.5 544,-551.5 544,-483.5 776,-483.5 776,-551.5"/>
<text text-anchor="middle" x="660" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="660" y="-521.3" font-family="Times,serif" font-size="14.00" fill="#000000">Relay mempool</text>
<text text-anchor="middle" x="660" y="-506.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="660" y="-491.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#5235</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5235" xlink:title="ZcashFoundation/zebra#5235&#10;Tracking: Implement&#10;getblocktemplate RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-544 276,-544 276,-491 508,-491 508,-544"/>
<text text-anchor="middle" x="392" y="-528.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="392" y="-513.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Implement</text>
<text text-anchor="middle" x="392" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M508.38,-517.5C516.71,-517.5 525.14,-517.5 533.53,-517.5"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-521.0001 543.74,-517.5 533.74,-514.0001 533.74,-521.0001"/>
</g>
<!-- ZcashFoundation/zebra#5376 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5376</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5376" xlink:title="ZcashFoundation/zebra#5376&#10;Do contextual validation&#10;on mempool transactions&#10;using the state best tip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-598.5 8,-598.5 8,-530.5 240,-530.5 240,-598.5"/>
<text text-anchor="middle" x="124" y="-583.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5376</text>
<text text-anchor="middle" x="124" y="-568.3" font-family="Times,serif" font-size="14.00" fill="#000000">Do contextual validation</text>
<text text-anchor="middle" x="124" y="-553.3" font-family="Times,serif" font-size="14.00" fill="#000000">on mempool transactions</text>
<text text-anchor="middle" x="124" y="-538.3" font-family="Times,serif" font-size="14.00" fill="#000000">using the state best tip</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5376&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5376&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M240.38,-544.09C248.81,-542.61 257.33,-541.12 265.81,-539.63"/>
<polygon fill="#000000" stroke="#000000" points="266.4942,-543.0635 275.74,-537.89 265.286,-536.1686 266.4942,-543.0635"/>
</g>
<!-- ZcashFoundation/zebra#5455 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5455</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5455" xlink:title="ZcashFoundation/zebra#5455&#10;Populate `BlockTemplate`&#10;fields using a new state&#10;request" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-684.5 8,-684.5 8,-616.5 240,-616.5 240,-684.5"/>
<text text-anchor="middle" x="124" y="-669.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5455</text>
<text text-anchor="middle" x="124" y="-654.3" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `BlockTemplate`</text>
<text text-anchor="middle" x="124" y="-639.3" font-family="Times,serif" font-size="14.00" fill="#000000">fields using a new state</text>
<text text-anchor="middle" x="124" y="-624.3" font-family="Times,serif" font-size="14.00" fill="#000000">request</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5579 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5579</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5579" xlink:title="ZcashFoundation/zebra#5579&#10;Populate `BlockTemplate.b&#10;lockcommitmentshash` from&#10;the transactions and&#10;state request" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-684 276,-684 276,-601 508,-601 508,-684"/>
<text text-anchor="middle" x="392" y="-668.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5579</text>
<text text-anchor="middle" x="392" y="-653.8" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `BlockTemplate.b</text>
<text text-anchor="middle" x="392" y="-638.8" font-family="Times,serif" font-size="14.00" fill="#000000">lockcommitmentshash` from</text>
<text text-anchor="middle" x="392" y="-623.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transactions and</text>
<text text-anchor="middle" x="392" y="-608.8" font-family="Times,serif" font-size="14.00" fill="#000000">state request</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5455&#45;&gt;ZcashFoundation/zebra#5579 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5455&#45;&gt;ZcashFoundation/zebra#5579</title>
<path fill="none" stroke="#000000" d="M240.38,-647.03C248.71,-646.78 257.14,-646.53 265.53,-646.28"/>
<polygon fill="#000000" stroke="#000000" points="265.8509,-649.772 275.74,-645.97 265.6384,-642.7752 265.8509,-649.772"/>
</g>
<!-- ZcashFoundation/zebra#5473 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#5473</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5473" xlink:title="ZcashFoundation/zebra#5473&#10;Select `getblocktemplate`&#10;transactions according to&#10;ZIP&#45;317" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-512.5 8,-512.5 8,-444.5 240,-444.5 240,-512.5"/>
<text text-anchor="middle" x="124" y="-497.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5473</text>
<text text-anchor="middle" x="124" y="-482.3" font-family="Times,serif" font-size="14.00" fill="#000000">Select `getblocktemplate`</text>
<text text-anchor="middle" x="124" y="-467.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions according to</text>
<text text-anchor="middle" x="124" y="-452.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5473&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5473&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M240.38,-495.44C248.81,-496.66 257.33,-497.9 265.81,-499.14"/>
<polygon fill="#000000" stroke="#000000" points="265.3412,-502.6085 275.74,-500.58 266.3458,-495.681 265.3412,-502.6085"/>
</g>
<!-- ZcashFoundation/zebra#5652 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#5652</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5652" xlink:title="ZcashFoundation/zebra#5652&#10;Add an acceptance test&#10;for the getblocktemplate&#10;method" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-426.5 8,-426.5 8,-358.5 240,-358.5 240,-426.5"/>
<text text-anchor="middle" x="124" y="-411.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5652</text>
<text text-anchor="middle" x="124" y="-396.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an acceptance test</text>
<text text-anchor="middle" x="124" y="-381.3" font-family="Times,serif" font-size="14.00" fill="#000000">for the getblocktemplate</text>
<text text-anchor="middle" x="124" y="-366.3" font-family="Times,serif" font-size="14.00" fill="#000000">method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5685 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5685</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5685" xlink:title="ZcashFoundation/zebra#5685&#10;Test the&#10;getblocktemplate&#39;s&#10;response as a block&#10;template proposal" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-83 276,-83 276,0 508,0 508,-83"/>
<text text-anchor="middle" x="392" y="-67.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5685</text>
<text text-anchor="middle" x="392" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test the</text>
<text text-anchor="middle" x="392" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate&#39;s</text>
<text text-anchor="middle" x="392" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">response as a block</text>
<text text-anchor="middle" x="392" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">template proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5652&#45;&gt;ZcashFoundation/zebra#5685 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#5652&#45;&gt;ZcashFoundation/zebra#5685</title>
<path fill="none" stroke="#000000" d="M231.61,-358.36C234.63,-355.63 237.45,-352.68 240,-349.5 311.47,-260.42 209.57,-184.42 273.74,-91.24"/>
<polygon fill="#000000" stroke="#000000" points="276.6626,-93.1739 279.78,-83.048 271.0285,-89.0197 276.6626,-93.1739"/>
</g>
<!-- ZcashFoundation/zebra#5468 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5468</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5468" xlink:title="ZcashFoundation/zebra#5468&#10;Add support for&#10;`getmininginfo` RPC call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-340 8,-340 8,-287 240,-287 240,-340"/>
<text text-anchor="middle" x="124" y="-324.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5468</text>
<text text-anchor="middle" x="124" y="-309.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="124" y="-294.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getmininginfo` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5495 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5495</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5495" xlink:title="ZcashFoundation/zebra#5495&#10;Ignore the&#10;`jsonrequestobject`&#10;argument to the&#10;`getblocktemplate` RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-269 8,-269 8,-186 240,-186 240,-269"/>
<text text-anchor="middle" x="124" y="-253.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5495</text>
<text text-anchor="middle" x="124" y="-238.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ignore the</text>
<text text-anchor="middle" x="124" y="-223.8" font-family="Times,serif" font-size="14.00" fill="#000000">`jsonrequestobject`</text>
<text text-anchor="middle" x="124" y="-208.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument to the</text>
<text text-anchor="middle" x="124" y="-193.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5302 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5302</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5302" xlink:title="ZcashFoundation/zebra#5302&#10;Add support for&#10;`getblocksubsidy` RPC&#10;call" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-167.5 8,-167.5 8,-99.5 240,-99.5 240,-167.5"/>
<text text-anchor="middle" x="124" y="-152.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5302</text>
<text text-anchor="middle" x="124" y="-137.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="124" y="-122.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocksubsidy` RPC</text>
<text text-anchor="middle" x="124" y="-107.3" font-family="Times,serif" font-size="14.00" fill="#000000">call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-777 8,-777 8,-724 240,-724 240,-777"/>
<text text-anchor="middle" x="124" y="-761.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="124" y="-746.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="124" y="-731.8" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2375" xlink:title="ZcashFoundation/zebra#2375&#10;Allow different `zebra&#45;&#10;network` apps to use&#10;different user agents" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-863.5 8,-863.5 8,-795.5 240,-795.5 240,-863.5"/>
<text text-anchor="middle" x="124" y="-848.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="124" y="-833.3" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="124" y="-818.3" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="124" y="-803.3" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node14" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/794" xlink:title="ZcashFoundation/zebra#794&#10;Make sure custom user&#10;agents conform to BIP&#45;14" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="503.5,-856 280.5,-856 280.5,-803 503.5,-803 503.5,-856"/>
<text text-anchor="middle" x="392" y="-840.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="392" y="-825.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="392" y="-810.8" font-family="Times,serif" font-size="14.00" fill="#000000">agents conform to BIP&#45;14</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M240.38,-829.5C250.23,-829.5 260.22,-829.5 270.11,-829.5"/>
<polygon fill="#000000" stroke="#000000" points="270.39,-833.0001 280.39,-829.5 270.39,-826.0001 270.39,-833.0001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Tracking: Questions for&#10;Network Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-935 8,-935 8,-882 240,-882 240,-935"/>
<text text-anchor="middle" x="124" y="-919.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-904.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-889.8" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node16"><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="240,-1006 8,-1006 8,-953 240,-953 240,-1006"/>
<text text-anchor="middle" x="124" y="-990.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="124" y="-975.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="124" y="-960.8" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra release candidate&#10;binaries should be linked&#10;from ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1092.5 8,-1092.5 8,-1024.5 240,-1024.5 240,-1092.5"/>
<text text-anchor="middle" x="124" y="-1077.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-1062.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="124" y="-1047.3" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="124" y="-1032.3" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node18"><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="240,-1178.5 8,-1178.5 8,-1110.5 240,-1110.5 240,-1178.5"/>
<text text-anchor="middle" x="124" y="-1163.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="124" y="-1148.3" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="124" y="-1133.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="124" y="-1118.3" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4672" xlink:title="ZcashFoundation/zebra#4672&#10;Add support for Orchard&#10;proof batch verification" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1250 8,-1250 8,-1197 240,-1197 240,-1250"/>
<text text-anchor="middle" x="124" y="-1234.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="124" y="-1219.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="124" y="-1204.8" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node20" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4841" xlink:title="ZcashFoundation/zebra#4841&#10;Improve note commitment&#10;tree append performance" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1386 276,-1386 276,-1333 508,-1333 508,-1386"/>
<text text-anchor="middle" x="392" y="-1370.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="392" y="-1355.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="392" y="-1340.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5189 -->
<g id="node21" class="node closed">
<title>ZcashFoundation/zebra#5189</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5189" xlink:title="ZcashFoundation/zebra#5189&#10;Run some docker tests on&#10;smaller instances" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1523 276,-1523 276,-1470 508,-1470 508,-1523"/>
<text text-anchor="middle" x="392" y="-1507.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="392" y="-1492.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="392" y="-1477.8" font-family="Times,serif" font-size="14.00" fill="#000000">smaller instances</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1624 8,-1624 8,-1541 240,-1541 240,-1624"/>
<text text-anchor="middle" x="124" y="-1608.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="124" y="-1593.8" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="124" y="-1578.8" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="124" y="-1563.8" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="124" y="-1548.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5472" xlink:title="ZcashFoundation/zebra#5472&#10;Support shielded coinbase&#10;in `getblocktemplate`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1695 8,-1695 8,-1642 240,-1642 240,-1695"/>
<text text-anchor="middle" x="124" y="-1679.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="124" y="-1664.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="124" y="-1649.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2908" xlink:title="ZcashFoundation/zebra#2908&#10;Improve&#10;VerifyBlockError::Commit&#10;typing, so we don&#39;t&#10;accidentally break syncer&#10;error handling" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1811.5 8,-1811.5 8,-1713.5 240,-1713.5 240,-1811.5"/>
<text text-anchor="middle" x="124" y="-1796.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="124" y="-1781.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="124" y="-1766.3" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="124" y="-1751.3" font-family="Times,serif" font-size="14.00" fill="#000000">typing, so we don&#39;t</text>
<text text-anchor="middle" x="124" y="-1736.3" font-family="Times,serif" font-size="14.00" fill="#000000">accidentally break syncer</text>
<text text-anchor="middle" x="124" y="-1721.3" font-family="Times,serif" font-size="14.00" fill="#000000">error handling</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" points="508,-1796.5 276,-1796.5 276,-1728.5 508,-1728.5 508,-1796.5"/>
<text text-anchor="middle" x="392" y="-1781.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="392" y="-1766.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="392" y="-1751.3" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="392" y="-1736.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487</title>
<path fill="none" stroke="#000000" d="M240.38,-1762.5C248.71,-1762.5 257.14,-1762.5 265.53,-1762.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1766.0001 275.74,-1762.5 265.74,-1759.0001 265.74,-1766.0001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1452 8,-1452 8,-1369 240,-1369 240,-1452"/>
<text text-anchor="middle" x="124" y="-1436.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="124" y="-1421.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1406.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1391.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="124" y="-1376.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1388.4C248.81,-1386.7 257.33,-1385.1 265.81,-1383.5"/>
<polygon fill="#000000" stroke="#000000" points="266.576,-1386.917 275.74,-1381.6 265.2604,-1380.0417 266.576,-1386.917"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1351 8,-1351 8,-1268 240,-1268 240,-1351"/>
<text text-anchor="middle" x="124" y="-1335.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="124" y="-1320.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1305.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1290.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="124" y="-1275.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1331.2C248.81,-1332.8 257.33,-1334.4 265.81,-1336"/>
<polygon fill="#000000" stroke="#000000" points="265.2761,-1339.4602 275.74,-1337.8 266.5246,-1332.5724 265.2761,-1339.4602"/>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5502" xlink:title="ZcashFoundation/zebra#5502&#10;Migrate to Abscissa 0.6.0" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1867.5 8,-1867.5 8,-1829.5 240,-1829.5 240,-1867.5"/>
<text text-anchor="middle" x="124" y="-1852.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="124" y="-1837.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to Abscissa 0.6.0</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5624 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5624" xlink:title="ZcashFoundation/zebra#5624&#10;zebrad: obsolete help&#10;text with the wrong info" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-1875 276,-1875 276,-1822 508,-1822 508,-1875"/>
<text text-anchor="middle" x="392" y="-1859.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="392" y="-1844.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="392" y="-1829.8" font-family="Times,serif" font-size="14.00" fill="#000000">text with the wrong info</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M240.38,-1848.5C248.71,-1848.5 257.14,-1848.5 265.53,-1848.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1852.0001 275.74,-1848.5 265.74,-1845.0001 265.74,-1852.0001"/>
</g>
<!-- ZcashFoundation/zebra#5199 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5199</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5199" xlink:title="ZcashFoundation/zebra#5199&#10;Consider using `nextest`&#10;to run tests faster" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1523 8,-1523 8,-1470 240,-1470 240,-1523"/>
<text text-anchor="middle" x="124" y="-1507.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="124" y="-1492.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="124" y="-1477.8" font-family="Times,serif" font-size="14.00" fill="#000000">to run tests faster</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M240.38,-1496.5C248.71,-1496.5 257.14,-1496.5 265.53,-1496.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1500.0001 275.74,-1496.5 265.74,-1493.0001 265.74,-1500.0001"/>
</g>
<!-- ZcashFoundation/zebra#5684 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#5684</title>
<g id="a_node31"><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="240,-75.5 8,-75.5 8,-7.5 240,-7.5 240,-75.5"/>
<text text-anchor="middle" x="124" y="-60.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5684</text>
<text text-anchor="middle" x="124" y="-45.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for block</text>
<text text-anchor="middle" x="124" y="-30.3" font-family="Times,serif" font-size="14.00" fill="#000000">proposals to</text>
<text text-anchor="middle" x="124" y="-15.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5684&#45;&gt;ZcashFoundation/zebra#5685 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#5684&#45;&gt;ZcashFoundation/zebra#5685</title>
<path fill="none" stroke="#000000" d="M240.38,-41.5C248.71,-41.5 257.14,-41.5 265.53,-41.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-45.0001 275.74,-41.5 265.74,-38.0001 265.74,-45.0001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: surface&#10;zebrad mainnet sync time&#10;in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1953.5 8,-1953.5 8,-1885.5 240,-1885.5 240,-1953.5"/>
<text text-anchor="middle" x="124" y="-1938.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-1923.3" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-1908.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-1893.3" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4545" xlink:title="ZcashFoundation/zebra#4545&#10;Start disconnecting from&#10;outdated peers before&#10;network upgrade&#10;activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-2055 8,-2055 8,-1972 240,-1972 240,-2055"/>
<text text-anchor="middle" x="124" y="-2039.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="124" y="-2024.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="124" y="-2009.8" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="124" y="-1994.8" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="124" y="-1979.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node34" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4226" xlink:title="ZcashFoundation/zebra#4226&#10;Prefer faster peers, but&#10;if all peers are slow,&#10;still connect to them" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-2047.5 276,-2047.5 276,-1979.5 508,-1979.5 508,-2047.5"/>
<text text-anchor="middle" x="392" y="-2032.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="392" y="-2017.3" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="392" y="-2002.3" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="392" y="-1987.3" font-family="Times,serif" font-size="14.00" fill="#000000">still connect to them</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M240.38,-2013.5C248.71,-2013.5 257.14,-2013.5 265.53,-2013.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-2017.0001 275.74,-2013.5 265.74,-2010.0001 265.74,-2017.0001"/>
</g>
</g>
</svg>