developers/zcash-zf-dag.svg

521 lines
40 KiB
XML
Raw Normal View History

<?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="784pt" height="1728pt"
viewBox="0.00 0.00 784.00 1727.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 1723.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1723.5 780,-1723.5 780,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="260,-76 260,-285 776,-285 776,-76 260,-76"/>
<text text-anchor="middle" x="518" y="-269.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5934 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5934</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5934" xlink:title="ZcashFoundation/zebra#5934&#10;Manually test that Zcash&#10;mining pools can use&#10;Zebra to mine blocks on&#10;testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-253.5 268,-253.5 268,-170.5 500,-170.5 500,-253.5"/>
<text text-anchor="middle" x="384" y="-238.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5934</text>
<text text-anchor="middle" x="384" y="-223.3" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that Zcash</text>
<text text-anchor="middle" x="384" y="-208.3" font-family="Times,serif" font-size="14.00" fill="#000000">mining pools can use</text>
<text text-anchor="middle" x="384" y="-193.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra to mine blocks on</text>
<text text-anchor="middle" x="384" y="-178.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5686 -->
<g id="node2" class="node closed">
<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="#fad8c7" stroke="#000000" points="768,-246 536,-246 536,-178 768,-178 768,-246"/>
<text text-anchor="middle" x="652" y="-230.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5686</text>
<text text-anchor="middle" x="652" y="-215.8" font-family="Times,serif" font-size="14.00" fill="#000000">Manually test that each</text>
<text text-anchor="middle" x="652" y="-200.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining RPC works</text>
<text text-anchor="middle" x="652" y="-185.8" font-family="Times,serif" font-size="14.00" fill="#000000">correctly</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#5686</title>
<path fill="none" stroke="#000000" d="M500.38,-212C508.71,-212 517.14,-212 525.53,-212"/>
<polygon fill="#000000" stroke="#000000" points="525.74,-215.5001 535.74,-212 525.74,-208.5001 525.74,-215.5001"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6025" xlink:title="ZcashFoundation/zebra#6025&#10;Add a manually&#45;triggered&#10;workflow for mining a&#10;block on testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-68 536,-68 536,0 768,0 768,-68"/>
<text text-anchor="middle" x="652" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="652" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="652" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">workflow for mining a</text>
<text text-anchor="middle" x="652" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">block on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5934&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="#000000" d="M489.65,-170.35C493.31,-167.43 496.78,-164.32 500,-161 527.51,-132.65 508.22,-105.48 533.36,-75.494"/>
<polygon fill="#000000" stroke="#000000" points="535.9284,-77.8724 540.31,-68.226 530.8692,-73.0345 535.9284,-77.8724"/>
</g>
<!-- ZcashFoundation/zebra#6028 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#6028</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6028" xlink:title="ZcashFoundation/zebra#6028&#10;Document how to mine on&#10;testnet using Zebra and&#10;mining pool software" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="500,-152 268,-152 268,-84 500,-84 500,-152"/>
<text text-anchor="middle" x="384" y="-136.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6028</text>
<text text-anchor="middle" x="384" y="-121.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to mine on</text>
<text text-anchor="middle" x="384" y="-106.8" font-family="Times,serif" font-size="14.00" fill="#000000">testnet using Zebra and</text>
<text text-anchor="middle" x="384" y="-91.8" font-family="Times,serif" font-size="14.00" fill="#000000">mining pool software</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-250.5 0,-250.5 0,-197.5 232,-197.5 232,-250.5"/>
<text text-anchor="middle" x="116" y="-235.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="116" y="-220.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="116" y="-205.3" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2375" xlink:title="ZcashFoundation/zebra#2375&#10;Allow different `zebra&#45;&#10;network` apps to use&#10;different user agents" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-375 0,-375 0,-307 232,-307 232,-375"/>
<text text-anchor="middle" x="116" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="116" y="-344.8" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="116" y="-329.8" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="116" y="-314.8" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node7" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/794" xlink:title="ZcashFoundation/zebra#794&#10;Make sure custom user&#10;agents conform to BIP&#45;14" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="495.5,-367.5 272.5,-367.5 272.5,-314.5 495.5,-314.5 495.5,-367.5"/>
<text text-anchor="middle" x="384" y="-352.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="384" y="-337.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="384" y="-322.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="edge3" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M232.38,-341C242.23,-341 252.22,-341 262.11,-341"/>
<polygon fill="#000000" stroke="#000000" points="262.39,-344.5001 272.39,-341 262.39,-337.5001 262.39,-344.5001"/>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node8"><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" points="500,-563 268,-563 268,-495 500,-495 500,-563"/>
<text text-anchor="middle" x="384" y="-547.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="384" y="-532.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="384" y="-517.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="384" y="-502.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5929" xlink:title="ZcashFoundation/zebra#5929&#10;Support shielded coinbase&#10;in `getblocktemplate` for&#10;Orchard Unified addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="768,-501 536,-501 536,-433 768,-433 768,-501"/>
<text text-anchor="middle" x="652" y="-485.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="652" y="-470.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="652" y="-455.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate` for</text>
<text text-anchor="middle" x="652" y="-440.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Unified addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M500.38,-502.08C508.81,-500.13 517.33,-498.16 525.81,-496.19"/>
<polygon fill="#000000" stroke="#000000" points="526.7823,-499.5577 535.74,-493.9 525.2092,-492.7368 526.7823,-499.5577"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Tracking: Questions for&#10;Network Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-564.5 0,-564.5 0,-511.5 232,-511.5 232,-564.5"/>
<text text-anchor="middle" x="116" y="-549.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="116" y="-534.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="116" y="-519.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5336" xlink:title="ZcashFoundation/zebra#5336&#10;Relay and accept mempool&#10;transactions based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-651 0,-651 0,-583 232,-583 232,-651"/>
<text text-anchor="middle" x="116" y="-635.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="116" y="-620.8" font-family="Times,serif" font-size="14.00" fill="#000000">Relay and accept mempool</text>
<text text-anchor="middle" x="116" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="116" y="-590.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="node12" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra release candidate&#10;binaries should be linked&#10;from ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-737 0,-737 0,-669 232,-669 232,-737"/>
<text text-anchor="middle" x="116" y="-721.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="116" y="-706.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="116" y="-691.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="116" y="-676.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#6055</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6055" xlink:title="ZcashFoundation/zebra#6055&#10;Implement the&#10;`getdifficulty` RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-103.5 0,-103.5 0,-50.5 232,-50.5 232,-103.5"/>
<text text-anchor="middle" x="116" y="-88.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6055</text>
<text text-anchor="middle" x="116" y="-73.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the</text>
<text text-anchor="middle" x="116" y="-58.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getdifficulty` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#5934 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#5934</title>
<path fill="none" stroke="#000000" d="M158,-103.57C186.28,-120.94 224.71,-143.56 260,-161 263.54,-162.75 267.15,-164.49 270.81,-166.22"/>
<polygon fill="#000000" stroke="#000000" points="269.464,-169.4536 280.01,-170.47 272.3997,-163.0989 269.464,-169.4536"/>
</g>
<!-- ZcashFoundation/zebra#6081 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#6081</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6081" xlink:title="ZcashFoundation/zebra#6081&#10;Implement missing mining&#10;status RPCs or fields" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-65.5 268,-65.5 268,-12.5 500,-12.5 500,-65.5"/>
<text text-anchor="middle" x="384" y="-50.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6081</text>
<text text-anchor="middle" x="384" y="-35.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement missing mining</text>
<text text-anchor="middle" x="384" y="-20.3" font-family="Times,serif" font-size="14.00" fill="#000000">status RPCs or fields</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#6081 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#6055&#45;&gt;ZcashFoundation/zebra#6081</title>
<path fill="none" stroke="#000000" d="M232.38,-60.498C240.81,-59.304 249.33,-58.095 257.81,-56.893"/>
<polygon fill="#000000" stroke="#000000" points="258.3304,-60.3543 267.74,-55.485 257.3476,-53.4236 258.3304,-60.3543"/>
</g>
<!-- ZcashFoundation/zebra#6037 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#6037</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6037" xlink:title="ZcashFoundation/zebra#6037&#10;Don&#39;t return from long&#10;polling if the block&#10;template is an invalid&#10;block proposal" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-838.5 0,-838.5 0,-755.5 232,-755.5 232,-838.5"/>
<text text-anchor="middle" x="116" y="-823.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6037</text>
<text text-anchor="middle" x="116" y="-808.3" font-family="Times,serif" font-size="14.00" fill="#000000">Don&#39;t return from long</text>
<text text-anchor="middle" x="116" y="-793.3" font-family="Times,serif" font-size="14.00" fill="#000000">polling if the block</text>
<text text-anchor="middle" x="116" y="-778.3" font-family="Times,serif" font-size="14.00" fill="#000000">template is an invalid</text>
<text text-anchor="middle" x="116" y="-763.3" font-family="Times,serif" font-size="14.00" fill="#000000">block proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6047 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#6047</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6047" xlink:title="ZcashFoundation/zebra#6047&#10;Verify proposals are&#10;valid after sending them&#10;to miners" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-880 268,-880 268,-812 500,-812 500,-880"/>
<text text-anchor="middle" x="384" y="-864.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6047</text>
<text text-anchor="middle" x="384" y="-849.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify proposals are</text>
<text text-anchor="middle" x="384" y="-834.8" font-family="Times,serif" font-size="14.00" fill="#000000">valid after sending them</text>
<text text-anchor="middle" x="384" y="-819.8" font-family="Times,serif" font-size="14.00" fill="#000000">to miners</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047</title>
<path fill="none" stroke="#000000" d="M232.38,-818.28C240.81,-819.82 249.33,-821.38 257.81,-822.93"/>
<polygon fill="#000000" stroke="#000000" points="257.2744,-826.39 267.74,-824.74 258.5297,-819.5034 257.2744,-826.39"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5604" xlink:title="ZcashFoundation/zebra#5604&#10;Send the same&#10;getblocktemplate RPC&#10;response until the&#10;template would change" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-793.5 268,-793.5 268,-710.5 500,-710.5 500,-793.5"/>
<text text-anchor="middle" x="384" y="-778.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="384" y="-763.3" font-family="Times,serif" font-size="14.00" fill="#000000">Send the same</text>
<text text-anchor="middle" x="384" y="-748.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
<text text-anchor="middle" x="384" y="-733.3" font-family="Times,serif" font-size="14.00" fill="#000000">response until the</text>
<text text-anchor="middle" x="384" y="-718.3" font-family="Times,serif" font-size="14.00" fill="#000000">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="#000000" d="M232.38,-777.46C240.81,-776.04 249.33,-774.61 257.81,-773.19"/>
<polygon fill="#000000" stroke="#000000" points="258.459,-776.6301 267.74,-771.52 257.298,-769.727 258.459,-776.6301"/>
</g>
<!-- ZcashFoundation/zebra#6083 -->
<g id="node18" class="node open">
<title>ZcashFoundation/zebra#6083</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6083" xlink:title="ZcashFoundation/zebra#6083&#10;Implement&#10;z_validateaddress RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-493.5 0,-493.5 0,-440.5 232,-440.5 232,-493.5"/>
<text text-anchor="middle" x="116" y="-478.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6083</text>
<text text-anchor="middle" x="116" y="-463.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="116" y="-448.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_validateaddress RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5472 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5472</title>
<path fill="none" stroke="#000000" d="M230.82,-493.56C239.79,-495.64 248.88,-497.74 257.93,-499.83"/>
<polygon fill="#000000" stroke="#000000" points="257.1776,-503.2483 267.71,-502.1 258.7603,-496.4296 257.1776,-503.2483"/>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M232.3,-467C318.87,-467 436.93,-467 525.78,-467"/>
<polygon fill="#000000" stroke="#000000" points="525.92,-470.5001 535.92,-467 525.92,-463.5001 525.92,-470.5001"/>
</g>
<!-- ZcashFoundation/zebra#6030 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#6030</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6030" xlink:title="ZcashFoundation/zebra#6030&#10;Implement&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-438.5 268,-438.5 268,-385.5 500,-385.5 500,-438.5"/>
<text text-anchor="middle" x="384" y="-423.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#6030</text>
<text text-anchor="middle" x="384" y="-408.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="384" y="-393.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#6030 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#6083&#45;&gt;ZcashFoundation/zebra#6030</title>
<path fill="none" stroke="#000000" d="M232.38,-443.12C240.81,-441.39 249.33,-439.64 257.81,-437.9"/>
<polygon fill="#000000" stroke="#000000" points="258.6489,-441.3008 267.74,-435.86 257.2402,-434.444 258.6489,-441.3008"/>
</g>
<!-- ZcashFoundation/zebra#6030&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#6030&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="#000000" d="M500.38,-435.88C508.81,-437.61 517.33,-439.36 525.81,-441.1"/>
<polygon fill="#000000" stroke="#000000" points="525.2402,-444.556 535.74,-443.14 526.6489,-437.6992 525.2402,-444.556"/>
</g>
<!-- ZcashFoundation/zebra#5700 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#5700</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5700" xlink:title="ZcashFoundation/zebra#5700&#10;Re&#45;use blocks from the&#10;old state when the state&#10;version changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-970 0,-970 0,-902 232,-902 232,-970"/>
<text text-anchor="middle" x="116" y="-954.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5700</text>
<text text-anchor="middle" x="116" y="-939.8" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;use blocks from the</text>
<text text-anchor="middle" x="116" y="-924.8" font-family="Times,serif" font-size="14.00" fill="#000000">old state when the state</text>
<text text-anchor="middle" x="116" y="-909.8" font-family="Times,serif" font-size="14.00" fill="#000000">version changes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5911" xlink:title="ZcashFoundation/zebra#5911&#10;Store the serialized&#10;block size in the&#10;database" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-970 268,-970 268,-902 500,-902 500,-970"/>
<text text-anchor="middle" x="384" y="-954.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="384" y="-939.8" font-family="Times,serif" font-size="14.00" fill="#000000">Store the serialized</text>
<text text-anchor="middle" x="384" y="-924.8" font-family="Times,serif" font-size="14.00" fill="#000000">block size in the</text>
<text text-anchor="middle" x="384" y="-909.8" font-family="Times,serif" font-size="14.00" fill="#000000">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5700&#45;&gt;ZcashFoundation/zebra#5911 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#5700&#45;&gt;ZcashFoundation/zebra#5911</title>
<path fill="none" stroke="#000000" d="M232.38,-936C240.71,-936 249.14,-936 257.53,-936"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-939.5001 267.74,-936 257.74,-932.5001 257.74,-939.5001"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node22" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4841" xlink:title="ZcashFoundation/zebra#4841&#10;Improve note commitment&#10;tree append performance" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="500,-1107.5 268,-1107.5 268,-1054.5 500,-1054.5 500,-1107.5"/>
<text text-anchor="middle" x="384" y="-1092.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="384" y="-1077.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="384" y="-1062.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4794" xlink:title="ZcashFoundation/zebra#4794&#10;Revert note commitment&#10;and history trees when&#10;forking non&#45;finalized&#10;chains" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1273.5 0,-1273.5 0,-1190.5 232,-1190.5 232,-1273.5"/>
<text text-anchor="middle" x="116" y="-1258.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="116" y="-1243.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="116" y="-1228.3" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="116" y="-1213.3" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="116" y="-1198.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5487" xlink:title="ZcashFoundation/zebra#5487&#10;Return detailed errors&#10;from the `submitblock`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1360 0,-1360 0,-1292 232,-1292 232,-1360"/>
<text text-anchor="middle" x="116" y="-1344.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="116" y="-1329.8" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="116" y="-1314.8" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="116" y="-1299.8" font-family="Times,serif" font-size="14.00" fill="#000000">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5709" xlink:title="ZcashFoundation/zebra#5709&#10;Fix repeated block&#10;timeouts during initial&#10;sync" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1446 0,-1446 0,-1378 232,-1378 232,-1446"/>
<text text-anchor="middle" x="116" y="-1430.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="116" y="-1415.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix repeated block</text>
<text text-anchor="middle" x="116" y="-1400.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeouts during initial</text>
<text text-anchor="middle" x="116" y="-1385.8" font-family="Times,serif" font-size="14.00" fill="#000000">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node26" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5425" xlink:title="ZcashFoundation/zebra#5425&#10;Parallelise note&#10;commitment tree point&#10;conversions" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="500,-1446 268,-1446 268,-1378 500,-1378 500,-1446"/>
<text text-anchor="middle" x="384" y="-1430.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="384" y="-1415.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parallelise note</text>
<text text-anchor="middle" x="384" y="-1400.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree point</text>
<text text-anchor="middle" x="384" y="-1385.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="edge14" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="#000000" d="M232.38,-1412C240.71,-1412 249.14,-1412 257.53,-1412"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1415.5001 267.74,-1412 257.74,-1408.5001 257.74,-1415.5001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4774" xlink:title="ZcashFoundation/zebra#4774&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Orchard&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1172.5 0,-1172.5 0,-1089.5 232,-1089.5 232,-1172.5"/>
<text text-anchor="middle" x="116" y="-1157.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="116" y="-1142.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1127.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1112.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="116" y="-1097.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="edge15" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1109.3C240.81,-1107.7 249.33,-1106.1 257.81,-1104.5"/>
<polygon fill="#000000" stroke="#000000" points="258.5246,-1107.9276 267.74,-1102.7 257.2761,-1101.0398 258.5246,-1107.9276"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4775" xlink:title="ZcashFoundation/zebra#4775&#10;Add an NU5 block test&#10;vector that contains many&#10;shielded Sapling&#10;transactions" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1071.5 0,-1071.5 0,-988.5 232,-988.5 232,-1071.5"/>
<text text-anchor="middle" x="116" y="-1056.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="116" y="-1041.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="116" y="-1026.3" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="116" y="-1011.3" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="116" y="-996.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="edge16" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M232.38,-1052.1C240.81,-1053.8 249.33,-1055.4 257.81,-1057"/>
<polygon fill="#000000" stroke="#000000" points="257.2604,-1060.4583 267.74,-1058.9 258.576,-1053.583 257.2604,-1060.4583"/>
</g>
<!-- ZcashFoundation/zebra#5502 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#5502</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5502" xlink:title="ZcashFoundation/zebra#5502&#10;Migrate to the latest&#10;version of Abscissa (0.7&#10;or later)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-1532 0,-1532 0,-1464 232,-1464 232,-1532"/>
<text text-anchor="middle" x="116" y="-1516.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5502</text>
<text text-anchor="middle" x="116" y="-1501.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the latest</text>
<text text-anchor="middle" x="116" y="-1486.8" font-family="Times,serif" font-size="14.00" fill="#000000">version of Abscissa (0.7</text>
<text text-anchor="middle" x="116" y="-1471.8" font-family="Times,serif" font-size="14.00" fill="#000000">or later)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5624 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#5624</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5624" xlink:title="ZcashFoundation/zebra#5624&#10;zebrad: obsolete help&#10;text with the wrong info" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="500,-1524.5 268,-1524.5 268,-1471.5 500,-1471.5 500,-1524.5"/>
<text text-anchor="middle" x="384" y="-1509.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5624</text>
<text text-anchor="middle" x="384" y="-1494.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad: obsolete help</text>
<text text-anchor="middle" x="384" y="-1479.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="edge17" class="edge">
<title>ZcashFoundation/zebra#5502&#45;&gt;ZcashFoundation/zebra#5624</title>
<path fill="none" stroke="#000000" d="M232.38,-1498C240.71,-1498 249.14,-1498 257.53,-1498"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1501.5001 267.74,-1498 257.74,-1494.5001 257.74,-1501.5001"/>
</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="232,-1618 0,-1618 0,-1550 232,-1550 232,-1618"/>
<text text-anchor="middle" x="116" y="-1602.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="116" y="-1587.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="116" y="-1572.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="116" y="-1557.8" 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="232,-1719.5 0,-1719.5 0,-1636.5 232,-1636.5 232,-1719.5"/>
<text text-anchor="middle" x="116" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="116" y="-1689.3" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="116" y="-1674.3" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="116" y="-1659.3" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="116" y="-1644.3" 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="500,-1712 268,-1712 268,-1644 500,-1644 500,-1712"/>
<text text-anchor="middle" x="384" y="-1696.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="384" y="-1681.8" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="384" y="-1666.8" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="384" y="-1651.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="edge18" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M232.38,-1678C240.71,-1678 249.14,-1678 257.53,-1678"/>
<polygon fill="#000000" stroke="#000000" points="257.74,-1681.5001 267.74,-1678 257.74,-1674.5001 257.74,-1681.5001"/>
</g>
</g>
</svg>