developers/zcash-zf-dag.html

498 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="2143pt"
viewBox="0.00 0.00 784.00 2143.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 2139)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2139 780,-2139 780,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-169.5 0,-779.5 516,-779.5 516,-169.5 0,-169.5"/>
<text text-anchor="middle" x="258" y="-764.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5235 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5235</title>
<g id="a_node1"><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" stroke-width="2" points="240,-662 8,-662 8,-609 240,-609 240,-662"/>
<text text-anchor="middle" x="124" y="-646.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="124" y="-631.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Implement</text>
<text text-anchor="middle" x="124" y="-616.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node9"><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" points="508,-161.5 276,-161.5 276,-93.5 508,-93.5 508,-161.5"/>
<text text-anchor="middle" x="392" y="-146.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="392" y="-131.3" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="392" y="-116.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="392" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M232.19,-608.63C235,-606.15 237.62,-603.44 240,-600.5 299.04,-527.52 221.22,-259.68 273.61,-170"/>
<polygon fill="#000000" stroke="#000000" points="276.5651,-171.8785 279.29,-161.64 270.7751,-167.9445 276.5651,-171.8785"/>
</g>
<!-- ZcashFoundation/zebra#5455 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#5455</title>
<g id="a_node2"><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,-748.5 8,-748.5 8,-680.5 240,-680.5 240,-748.5"/>
<text text-anchor="middle" x="124" y="-733.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5455</text>
<text text-anchor="middle" x="124" y="-718.3" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `BlockTemplate`</text>
<text text-anchor="middle" x="124" y="-703.3" font-family="Times,serif" font-size="14.00" fill="#000000">fields using a new state</text>
<text text-anchor="middle" x="124" y="-688.3" font-family="Times,serif" font-size="14.00" fill="#000000">request</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5579 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5579</title>
<g id="a_node3"><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,-748 276,-748 276,-665 508,-665 508,-748"/>
<text text-anchor="middle" x="392" y="-732.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5579</text>
<text text-anchor="middle" x="392" y="-717.8" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `BlockTemplate.b</text>
<text text-anchor="middle" x="392" y="-702.8" font-family="Times,serif" font-size="14.00" fill="#000000">lockcommitmentshash` from</text>
<text text-anchor="middle" x="392" y="-687.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transactions and</text>
<text text-anchor="middle" x="392" y="-672.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="edge1" class="edge">
<title>ZcashFoundation/zebra#5455&#45;&gt;ZcashFoundation/zebra#5579</title>
<path fill="none" stroke="#000000" d="M240.38,-711.03C248.71,-710.78 257.14,-710.53 265.53,-710.28"/>
<polygon fill="#000000" stroke="#000000" points="265.8509,-713.772 275.74,-709.97 265.6384,-706.7752 265.8509,-713.772"/>
</g>
<!-- ZcashFoundation/zebra#5720 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5720</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5720" xlink:title="ZcashFoundation/zebra#5720&#10;Support long polling in&#10;the getblocktemplate RPC&#10;(excluding mempool&#10;changes)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-591 8,-591 8,-508 240,-508 240,-591"/>
<text text-anchor="middle" x="124" y="-575.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5720</text>
<text text-anchor="middle" x="124" y="-560.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support long polling in</text>
<text text-anchor="middle" x="124" y="-545.8" font-family="Times,serif" font-size="14.00" fill="#000000">the getblocktemplate RPC</text>
<text text-anchor="middle" x="124" y="-530.8" font-family="Times,serif" font-size="14.00" fill="#000000">(excluding mempool</text>
<text text-anchor="middle" x="124" y="-515.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5782 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5782</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5782" xlink:title="ZcashFoundation/zebra#5782&#10;Return from long polling&#10;whenever the mempool&#10;transactions change" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-75.5 276,-75.5 276,-7.5 508,-7.5 508,-75.5"/>
<text text-anchor="middle" x="392" y="-60.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5782</text>
<text text-anchor="middle" x="392" y="-45.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return from long polling</text>
<text text-anchor="middle" x="392" y="-30.3" font-family="Times,serif" font-size="14.00" fill="#000000">whenever the mempool</text>
<text text-anchor="middle" x="392" y="-15.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5720&#45;&gt;ZcashFoundation/zebra#5782 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5720&#45;&gt;ZcashFoundation/zebra#5782</title>
<path fill="none" stroke="#000000" d="M232.38,-507.57C235.14,-504.74 237.69,-501.72 240,-498.5 293.78,-423.43 220.02,-157.94 276,-84.5 276.29,-84.116 276.59,-83.735 276.89,-83.357"/>
<polygon fill="#000000" stroke="#000000" points="279.5337,-85.6527 283.72,-75.92 274.378,-80.9178 279.5337,-85.6527"/>
</g>
<!-- ZcashFoundation/zebra#5719 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5719</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5719" xlink:title="ZcashFoundation/zebra#5719&#10;Implement transparent&#10;P2PKH mining address&#10;support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-489.5 8,-489.5 8,-421.5 240,-421.5 240,-489.5"/>
<text text-anchor="middle" x="124" y="-474.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5719</text>
<text text-anchor="middle" x="124" y="-459.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement transparent</text>
<text text-anchor="middle" x="124" y="-444.3" font-family="Times,serif" font-size="14.00" fill="#000000">P2PKH mining address</text>
<text text-anchor="middle" x="124" y="-429.3" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5468 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#5468</title>
<g id="a_node6"><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,-403 8,-403 8,-350 240,-350 240,-403"/>
<text text-anchor="middle" x="124" y="-387.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5468</text>
<text text-anchor="middle" x="124" y="-372.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="124" y="-357.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getmininginfo` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5721 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#5721</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5721" xlink:title="ZcashFoundation/zebra#5721&#10;Implement getnetworksolps&#10;and getnetworkhashps RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-332 8,-332 8,-279 240,-279 240,-332"/>
<text text-anchor="middle" x="124" y="-316.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5721</text>
<text text-anchor="middle" x="124" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement getnetworksolps</text>
<text text-anchor="middle" x="124" y="-286.8" font-family="Times,serif" font-size="14.00" fill="#000000">and getnetworkhashps RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5495 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5495</title>
<g id="a_node8"><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,-261 8,-261 8,-178 240,-178 240,-261"/>
<text text-anchor="middle" x="124" y="-245.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5495</text>
<text text-anchor="middle" x="124" y="-230.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ignore the</text>
<text text-anchor="middle" x="124" y="-215.8" font-family="Times,serif" font-size="14.00" fill="#000000">`jsonrequestobject`</text>
<text text-anchor="middle" x="124" y="-200.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument to the</text>
<text text-anchor="middle" x="124" y="-185.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5604" xlink:title="ZcashFoundation/zebra#5604&#10;Send the same&#10;getblocktemplate RPC&#10;response until the&#10;template would change" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="776,-83 544,-83 544,0 776,0 776,-83"/>
<text text-anchor="middle" x="660" y="-67.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="660" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="660" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="660" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="660" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5782&#45;&gt;ZcashFoundation/zebra#5604 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5782&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="#000000" d="M508.38,-41.5C516.71,-41.5 525.14,-41.5 533.53,-41.5"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-45.0001 543.74,-41.5 533.74,-38.0001 533.74,-45.0001"/>
</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,-841 8,-841 8,-788 240,-788 240,-841"/>
<text text-anchor="middle" x="124" y="-825.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="124" y="-810.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="124" y="-795.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,-927.5 8,-927.5 8,-859.5 240,-859.5 240,-927.5"/>
<text text-anchor="middle" x="124" y="-912.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="124" y="-897.3" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="124" y="-882.3" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="124" y="-867.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,-920 280.5,-920 280.5,-867 503.5,-867 503.5,-920"/>
<text text-anchor="middle" x="392" y="-904.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="392" y="-889.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="392" y="-874.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="edge5" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M240.38,-893.5C250.23,-893.5 260.22,-893.5 270.11,-893.5"/>
<polygon fill="#000000" stroke="#000000" points="270.39,-897.0001 280.39,-893.5 270.39,-890.0001 270.39,-897.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,-999 8,-999 8,-946 240,-946 240,-999"/>
<text text-anchor="middle" x="124" y="-983.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-968.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-953.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,-1070 8,-1070 8,-1017 240,-1017 240,-1070"/>
<text text-anchor="middle" x="124" y="-1054.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="124" y="-1039.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="124" y="-1024.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,-1156.5 8,-1156.5 8,-1088.5 240,-1088.5 240,-1156.5"/>
<text text-anchor="middle" x="124" y="-1141.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-1126.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="124" y="-1111.3" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="124" y="-1096.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,-1242.5 8,-1242.5 8,-1174.5 240,-1174.5 240,-1242.5"/>
<text text-anchor="middle" x="124" y="-1227.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="124" y="-1212.3" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="124" y="-1197.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="124" y="-1182.3" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node19" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node19"><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,-1379 276,-1379 276,-1326 508,-1326 508,-1379"/>
<text text-anchor="middle" x="392" y="-1363.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="392" y="-1348.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="392" y="-1333.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node20"><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,-1546 8,-1546 8,-1463 240,-1463 240,-1546"/>
<text text-anchor="middle" x="124" y="-1530.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="124" y="-1515.8" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="124" y="-1500.8" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="124" y="-1485.8" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="124" y="-1470.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node21"><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,-1617 8,-1617 8,-1564 240,-1564 240,-1617"/>
<text text-anchor="middle" x="124" y="-1601.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="124" y="-1586.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="124" y="-1571.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5487" xlink:title="ZcashFoundation/zebra#5487&#10;Return detailed errors&#10;from the `submitblock`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1703.5 8,-1703.5 8,-1635.5 240,-1635.5 240,-1703.5"/>
<text text-anchor="middle" x="124" y="-1688.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="124" y="-1673.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="124" y="-1658.3" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="124" y="-1643.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5709" xlink:title="ZcashFoundation/zebra#5709&#10;Fix repeated block&#10;timeouts during initial&#10;sync" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1789.5 8,-1789.5 8,-1721.5 240,-1721.5 240,-1789.5"/>
<text text-anchor="middle" x="124" y="-1774.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="124" y="-1759.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="124" y="-1744.3" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="124" y="-1729.3" font-family="Times,serif" font-size="14.00" fill="#000000">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node24" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5425" xlink:title="ZcashFoundation/zebra#5425&#10;Parallelise note&#10;commitment tree point&#10;conversions" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1789.5 276,-1789.5 276,-1721.5 508,-1721.5 508,-1789.5"/>
<text text-anchor="middle" x="392" y="-1774.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="392" y="-1759.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="392" y="-1744.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="392" y="-1729.3" font-family="Times,serif" font-size="14.00" fill="#000000">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M240.38,-1755.5C248.71,-1755.5 257.14,-1755.5 265.53,-1755.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1759.0001 275.74,-1755.5 265.74,-1752.0001 265.74,-1759.0001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node25"><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,-1445 8,-1445 8,-1362 240,-1362 240,-1445"/>
<text text-anchor="middle" x="124" y="-1429.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="124" y="-1414.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1399.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1384.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="124" y="-1369.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="edge7" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1381.4C248.81,-1379.7 257.33,-1378.1 265.81,-1376.5"/>
<polygon fill="#000000" stroke="#000000" points="266.576,-1379.917 275.74,-1374.6 265.2604,-1373.0417 266.576,-1379.917"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node26"><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,-1344 8,-1344 8,-1261 240,-1261 240,-1344"/>
<text text-anchor="middle" x="124" y="-1328.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="124" y="-1313.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1298.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1283.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="124" y="-1268.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="edge8" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1324.2C248.81,-1325.8 257.33,-1327.4 265.81,-1329"/>
<polygon fill="#000000" stroke="#000000" points="265.2761,-1332.4602 275.74,-1330.8 266.5246,-1325.5724 265.2761,-1332.4602"/>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node27"><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,-1853.5 8,-1853.5 8,-1815.5 240,-1815.5 240,-1853.5"/>
<text text-anchor="middle" x="124" y="-1838.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="124" y="-1823.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="node28" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node28"><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,-1861 276,-1861 276,-1808 508,-1808 508,-1861"/>
<text text-anchor="middle" x="392" y="-1845.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="392" y="-1830.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="392" y="-1815.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="edge9" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M240.38,-1834.5C248.71,-1834.5 257.14,-1834.5 265.53,-1834.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1838.0001 275.74,-1834.5 265.74,-1831.0001 265.74,-1838.0001"/>
</g>
<!-- ZcashFoundation/zebra#5684 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#5684</title>
<g id="a_node29"><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,-1947.5 8,-1947.5 8,-1879.5 240,-1879.5 240,-1947.5"/>
<text text-anchor="middle" x="124" y="-1932.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5684</text>
<text text-anchor="middle" x="124" y="-1917.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for block</text>
<text text-anchor="middle" x="124" y="-1902.3" font-family="Times,serif" font-size="14.00" fill="#000000">proposals to</text>
<text text-anchor="middle" x="124" y="-1887.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5685 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5685</title>
<g id="a_node30"><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" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="508,-1947.5 276,-1947.5 276,-1879.5 508,-1879.5 508,-1947.5"/>
<text text-anchor="middle" x="392" y="-1932.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5685</text>
<text text-anchor="middle" x="392" y="-1917.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test the getblocktemplate</text>
<text text-anchor="middle" x="392" y="-1902.3" font-family="Times,serif" font-size="14.00" fill="#000000">RPC&#39;s response as a block</text>
<text text-anchor="middle" x="392" y="-1887.3" font-family="Times,serif" font-size="14.00" fill="#000000">template proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5684&#45;&gt;ZcashFoundation/zebra#5685 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#5684&#45;&gt;ZcashFoundation/zebra#5685</title>
<path fill="none" stroke="#000000" d="M240.38,-1913.5C248.71,-1913.5 257.14,-1913.5 265.53,-1913.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1917.0001 275.74,-1913.5 265.74,-1910.0001 265.74,-1917.0001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node31"><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,-2033.5 8,-2033.5 8,-1965.5 240,-1965.5 240,-2033.5"/>
<text text-anchor="middle" x="124" y="-2018.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-2003.3" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-1988.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-1973.3" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node32"><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,-2135 8,-2135 8,-2052 240,-2052 240,-2135"/>
<text text-anchor="middle" x="124" y="-2119.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="124" y="-2104.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="124" y="-2089.8" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="124" y="-2074.8" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="124" y="-2059.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node33" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node33"><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,-2127.5 276,-2127.5 276,-2059.5 508,-2059.5 508,-2127.5"/>
<text text-anchor="middle" x="392" y="-2112.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="392" y="-2097.3" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="392" y="-2082.3" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="392" y="-2067.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="edge11" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M240.38,-2093.5C248.71,-2093.5 257.14,-2093.5 265.53,-2093.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-2097.0001 275.74,-2093.5 265.74,-2090.0001 265.74,-2097.0001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>