developers/zcash-zf-dag.html

584 lines
44 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="1060pt" height="2352pt"
viewBox="0.00 0.00 1060.00 2352.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 2348)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2348 1056,-2348 1056,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,-61.5 0,-943.5 1052,-943.5 1052,-61.5 0,-61.5"/>
<text text-anchor="middle" x="526" y="-928.3" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Support for RPC calls used by mining pools</text>
</g>
<!-- ZcashFoundation/zebra#5335 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#5335</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5335" xlink:title="ZcashFoundation/zebra#5335&#10;Evict transactions from&#10;the mempool based on the&#10;ZIP&#45;317 fee rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-912.5 8,-912.5 8,-844.5 240,-844.5 240,-912.5"/>
<text text-anchor="middle" x="124" y="-897.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5335</text>
<text text-anchor="middle" x="124" y="-882.3" font-family="Times,serif" font-size="14.00" fill="#000000">Evict transactions from</text>
<text text-anchor="middle" x="124" y="-867.3" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool based on the</text>
<text text-anchor="middle" x="124" y="-852.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5336 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#5336</title>
<g id="a_node2"><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="1044,-898.5 812,-898.5 812,-830.5 1044,-830.5 1044,-898.5"/>
<text text-anchor="middle" x="928" y="-883.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5336</text>
<text text-anchor="middle" x="928" y="-868.3" font-family="Times,serif" font-size="14.00" fill="#000000">Relay mempool</text>
<text text-anchor="middle" x="928" y="-853.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions based on the</text>
<text text-anchor="middle" x="928" y="-838.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317 fee rules</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M240.18,-881.03C252.28,-881.22 264.39,-881.39 276,-881.5 498.23,-883.69 553.99,-884.7 776,-874.5 784.35,-874.12 792.96,-873.67 801.64,-873.2"/>
<polygon fill="#000000" stroke="#000000" points="802.0549,-876.6822 811.84,-872.62 801.6574,-869.6934 802.0549,-876.6822"/>
</g>
<!-- ZcashFoundation/zebra#5473 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5473</title>
<g id="a_node3"><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" points="508,-872.5 276,-872.5 276,-804.5 508,-804.5 508,-872.5"/>
<text text-anchor="middle" x="392" y="-857.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5473</text>
<text text-anchor="middle" x="392" y="-842.3" font-family="Times,serif" font-size="14.00" fill="#000000">Select `getblocktemplate`</text>
<text text-anchor="middle" x="392" y="-827.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions according to</text>
<text text-anchor="middle" x="392" y="-812.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP&#45;317</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5473 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#5335&#45;&gt;ZcashFoundation/zebra#5473</title>
<path fill="none" stroke="#000000" d="M240.38,-861.13C248.81,-859.87 257.33,-858.6 265.81,-857.33"/>
<polygon fill="#000000" stroke="#000000" points="266.3652,-860.786 275.74,-855.85 265.3333,-853.8625 266.3652,-860.786"/>
</g>
<!-- ZcashFoundation/zebra#5235 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5235</title>
<g id="a_node4"><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="776,-865 544,-865 544,-812 776,-812 776,-865"/>
<text text-anchor="middle" x="660" y="-849.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5235</text>
<text text-anchor="middle" x="660" y="-834.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Implement</text>
<text text-anchor="middle" x="660" y="-819.8" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5473&#45;&gt;ZcashFoundation/zebra#5235 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#5473&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M508.38,-838.5C516.71,-838.5 525.14,-838.5 533.53,-838.5"/>
<polygon fill="#000000" stroke="#000000" points="533.74,-842.0001 543.74,-838.5 533.74,-835.0001 533.74,-842.0001"/>
</g>
<!-- ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#5235&#45;&gt;ZcashFoundation/zebra#5336</title>
<path fill="none" stroke="#000000" d="M776.38,-849.79C784.71,-850.6 793.14,-851.42 801.53,-852.23"/>
<polygon fill="#000000" stroke="#000000" points="801.4489,-855.7385 811.74,-853.22 802.1245,-848.7711 801.4489,-855.7385"/>
</g>
<!-- ZcashFoundation/zebra#5376 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5376</title>
<g id="a_node5"><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="508,-786.5 276,-786.5 276,-718.5 508,-718.5 508,-786.5"/>
<text text-anchor="middle" x="392" y="-771.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5376</text>
<text text-anchor="middle" x="392" y="-756.3" font-family="Times,serif" font-size="14.00" fill="#000000">Do contextual validation</text>
<text text-anchor="middle" x="392" y="-741.3" font-family="Times,serif" font-size="14.00" fill="#000000">on mempool transactions</text>
<text text-anchor="middle" x="392" y="-726.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="edge5" class="edge">
<title>ZcashFoundation/zebra#5376&#45;&gt;ZcashFoundation/zebra#5235</title>
<path fill="none" stroke="#000000" d="M498.31,-786.61C521.22,-793.97 545.26,-801.68 567.6,-808.85"/>
<polygon fill="#000000" stroke="#000000" points="566.7988,-812.2686 577.39,-811.99 568.9368,-805.603 566.7988,-812.2686"/>
</g>
<!-- ZcashFoundation/zebra#5455 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#5455</title>
<g id="a_node6"><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,-826.5 8,-826.5 8,-758.5 240,-758.5 240,-826.5"/>
<text text-anchor="middle" x="124" y="-811.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5455</text>
<text text-anchor="middle" x="124" y="-796.3" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `BlockTemplate`</text>
<text text-anchor="middle" x="124" y="-781.3" font-family="Times,serif" font-size="14.00" fill="#000000">fields using a new state</text>
<text text-anchor="middle" x="124" y="-766.3" font-family="Times,serif" font-size="14.00" fill="#000000">request</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5579 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#5579</title>
<g id="a_node7"><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,-638 276,-638 276,-555 508,-555 508,-638"/>
<text text-anchor="middle" x="392" y="-622.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5579</text>
<text text-anchor="middle" x="392" y="-607.8" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `BlockTemplate.b</text>
<text text-anchor="middle" x="392" y="-592.8" font-family="Times,serif" font-size="14.00" fill="#000000">lockcommitmentshash` from</text>
<text text-anchor="middle" x="392" y="-577.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transactions and</text>
<text text-anchor="middle" x="392" y="-562.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="edge6" class="edge">
<title>ZcashFoundation/zebra#5455&#45;&gt;ZcashFoundation/zebra#5579</title>
<path fill="none" stroke="#000000" d="M225.18,-758.5C230.31,-755.69 235.29,-752.7 240,-749.5 259.79,-736.06 259.42,-726.74 276,-709.5 296.65,-688.02 320.08,-664.96 340.46,-645.3"/>
<polygon fill="#000000" stroke="#000000" points="343.0293,-647.685 347.81,-638.23 338.1766,-642.64 343.0293,-647.685"/>
</g>
<!-- ZcashFoundation/zebra#5452 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5452</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5452" xlink:title="ZcashFoundation/zebra#5452&#10;Populate `Blocktemplate`&#10;responses with fixed&#10;values data" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-740.5 8,-740.5 8,-672.5 240,-672.5 240,-740.5"/>
<text text-anchor="middle" x="124" y="-725.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5452</text>
<text text-anchor="middle" x="124" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">Populate `Blocktemplate`</text>
<text text-anchor="middle" x="124" y="-695.3" font-family="Times,serif" font-size="14.00" fill="#000000">responses with fixed</text>
<text text-anchor="middle" x="124" y="-680.3" font-family="Times,serif" font-size="14.00" fill="#000000">values data</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5466 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#5466</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5466" xlink:title="ZcashFoundation/zebra#5466&#10;Return an error from&#10;getblocktemplate if Zebra&#10;isn&#39;t synced to the tip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-654.5 8,-654.5 8,-586.5 240,-586.5 240,-654.5"/>
<text text-anchor="middle" x="124" y="-639.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5466</text>
<text text-anchor="middle" x="124" y="-624.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return an error from</text>
<text text-anchor="middle" x="124" y="-609.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblocktemplate if Zebra</text>
<text text-anchor="middle" x="124" y="-594.3" font-family="Times,serif" font-size="14.00" fill="#000000">isn&#39;t synced to the tip</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5453 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5453</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5453" xlink:title="ZcashFoundation/zebra#5453&#10;Populate transparent&#10;coinbase transaction data&#10;for `BlockTemplate`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-568.5 8,-568.5 8,-500.5 240,-500.5 240,-568.5"/>
<text text-anchor="middle" x="124" y="-553.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5453</text>
<text text-anchor="middle" x="124" y="-538.3" font-family="Times,serif" font-size="14.00" fill="#000000">Populate transparent</text>
<text text-anchor="middle" x="124" y="-523.3" font-family="Times,serif" font-size="14.00" fill="#000000">coinbase transaction data</text>
<text text-anchor="middle" x="124" y="-508.3" font-family="Times,serif" font-size="14.00" fill="#000000">for `BlockTemplate`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5453&#45;&gt;ZcashFoundation/zebra#5579 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#5453&#45;&gt;ZcashFoundation/zebra#5579</title>
<path fill="none" stroke="#000000" d="M240.38,-561.42C248.81,-563.37 257.33,-565.34 265.81,-567.31"/>
<polygon fill="#000000" stroke="#000000" points="265.2092,-570.7632 275.74,-569.6 266.7823,-563.9423 265.2092,-570.7632"/>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node16"><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" points="508,-53 276,-53 276,0 508,0 508,-53"/>
<text text-anchor="middle" x="392" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="392" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support shielded coinbase</text>
<text text-anchor="middle" x="392" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `getblocktemplate`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5453&#45;&gt;ZcashFoundation/zebra#5472 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#5453&#45;&gt;ZcashFoundation/zebra#5472</title>
<path fill="none" stroke="#000000" d="M232.3,-500.09C235.08,-497.44 237.66,-494.58 240,-491.5 296.63,-416.9 219.24,-149.76 273.87,-61.569"/>
<polygon fill="#000000" stroke="#000000" points="276.773,-63.5272 279.78,-53.368 271.094,-59.4346 276.773,-63.5272"/>
</g>
<!-- ZcashFoundation/zebra#5527 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#5527</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5527" xlink:title="ZcashFoundation/zebra#5527&#10;Add submitblock test to&#10;CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-482 8,-482 8,-429 240,-429 240,-482"/>
<text text-anchor="middle" x="124" y="-466.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5527</text>
<text text-anchor="middle" x="124" y="-451.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add submitblock test to</text>
<text text-anchor="middle" x="124" y="-436.8" font-family="Times,serif" font-size="14.00" fill="#000000">CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5386 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#5386</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5386" xlink:title="ZcashFoundation/zebra#5386&#10;Use BestChainUtxo rather&#10;than AwaitUtxo in the&#10;mempool transaction&#10;validator" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-411 8,-411 8,-328 240,-328 240,-411"/>
<text text-anchor="middle" x="124" y="-395.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5386</text>
<text text-anchor="middle" x="124" y="-380.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use BestChainUtxo rather</text>
<text text-anchor="middle" x="124" y="-365.8" font-family="Times,serif" font-size="14.00" fill="#000000">than AwaitUtxo in the</text>
<text text-anchor="middle" x="124" y="-350.8" font-family="Times,serif" font-size="14.00" fill="#000000">mempool transaction</text>
<text text-anchor="middle" x="124" y="-335.8" font-family="Times,serif" font-size="14.00" fill="#000000">validator</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5468 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#5468</title>
<g id="a_node13"><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,-310 8,-310 8,-257 240,-257 240,-310"/>
<text text-anchor="middle" x="124" y="-294.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5468</text>
<text text-anchor="middle" x="124" y="-279.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="124" y="-264.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getmininginfo` RPC call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5495 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#5495</title>
<g id="a_node14"><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,-239 8,-239 8,-156 240,-156 240,-239"/>
<text text-anchor="middle" x="124" y="-223.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5495</text>
<text text-anchor="middle" x="124" y="-208.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ignore the</text>
<text text-anchor="middle" x="124" y="-193.8" font-family="Times,serif" font-size="14.00" fill="#000000">`jsonrequestobject`</text>
<text text-anchor="middle" x="124" y="-178.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument to the</text>
<text text-anchor="middle" x="124" y="-163.8" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocktemplate` RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5302 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#5302</title>
<g id="a_node15"><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,-137.5 8,-137.5 8,-69.5 240,-69.5 240,-137.5"/>
<text text-anchor="middle" x="124" y="-122.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5302</text>
<text text-anchor="middle" x="124" y="-107.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="124" y="-92.3" font-family="Times,serif" font-size="14.00" fill="#000000">`getblocksubsidy` RPC</text>
<text text-anchor="middle" x="124" y="-77.3" font-family="Times,serif" font-size="14.00" fill="#000000">call</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node17"><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,-1005 8,-1005 8,-952 240,-952 240,-1005"/>
<text text-anchor="middle" x="124" y="-989.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="124" y="-974.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add metrics for chain</text>
<text text-anchor="middle" x="124" y="-959.8" font-family="Times,serif" font-size="14.00" fill="#000000">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5316 -->
<g id="node18" class="node closed">
<title>ZcashFoundation/zebra#5316</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5316" xlink:title="ZcashFoundation/zebra#5316&#10;Only run the&#10;`lightwalletd` full sync&#10;on the `main` branch" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="508,-1091.5 276,-1091.5 276,-1023.5 508,-1023.5 508,-1091.5"/>
<text text-anchor="middle" x="392" y="-1076.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5316</text>
<text text-anchor="middle" x="392" y="-1061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Only run the</text>
<text text-anchor="middle" x="392" y="-1046.3" font-family="Times,serif" font-size="14.00" fill="#000000">`lightwalletd` full sync</text>
<text text-anchor="middle" x="392" y="-1031.3" font-family="Times,serif" font-size="14.00" fill="#000000">on the `main` branch</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5015 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#5015</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5015" xlink:title="ZcashFoundation/zebra#5015&#10;Get transactions from the&#10;non&#45;finalized state in&#10;the send transactions&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1193 8,-1193 8,-1110 240,-1110 240,-1193"/>
<text text-anchor="middle" x="124" y="-1177.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5015</text>
<text text-anchor="middle" x="124" y="-1162.8" font-family="Times,serif" font-size="14.00" fill="#000000">Get transactions from the</text>
<text text-anchor="middle" x="124" y="-1147.8" font-family="Times,serif" font-size="14.00" fill="#000000">non&#45;finalized state in</text>
<text text-anchor="middle" x="124" y="-1132.8" font-family="Times,serif" font-size="14.00" fill="#000000">the send transactions</text>
<text text-anchor="middle" x="124" y="-1117.8" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2375 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#2375</title>
<g id="a_node20"><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,-1279.5 8,-1279.5 8,-1211.5 240,-1211.5 240,-1279.5"/>
<text text-anchor="middle" x="124" y="-1264.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2375</text>
<text text-anchor="middle" x="124" y="-1249.3" font-family="Times,serif" font-size="14.00" fill="#000000">Allow different `zebra&#45;</text>
<text text-anchor="middle" x="124" y="-1234.3" font-family="Times,serif" font-size="14.00" fill="#000000">network` apps to use</text>
<text text-anchor="middle" x="124" y="-1219.3" font-family="Times,serif" font-size="14.00" fill="#000000">different user agents</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#794 -->
<g id="node21" class="node closed">
<title>ZcashFoundation/zebra#794</title>
<g id="a_node21"><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,-1272 280.5,-1272 280.5,-1219 503.5,-1219 503.5,-1272"/>
<text text-anchor="middle" x="392" y="-1256.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#794</text>
<text text-anchor="middle" x="392" y="-1241.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make sure custom user</text>
<text text-anchor="middle" x="392" y="-1226.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="edge9" class="edge">
<title>ZcashFoundation/zebra#2375&#45;&gt;ZcashFoundation/zebra#794</title>
<path fill="none" stroke="#000000" d="M240.38,-1245.5C250.23,-1245.5 260.22,-1245.5 270.11,-1245.5"/>
<polygon fill="#000000" stroke="#000000" points="270.39,-1249.0001 280.39,-1245.5 270.39,-1242.0001 270.39,-1249.0001"/>
</g>
<!-- ZcashFoundation/zebra#5069 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#5069</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5069" xlink:title="ZcashFoundation/zebra#5069&#10;Fix &quot;Connection closed by&#10;remote host&quot; error on&#10;Google Cloud ssh" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-1091.5 8,-1091.5 8,-1023.5 240,-1023.5 240,-1091.5"/>
<text text-anchor="middle" x="124" y="-1076.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5069</text>
<text text-anchor="middle" x="124" y="-1061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Fix &quot;Connection closed by</text>
<text text-anchor="middle" x="124" y="-1046.3" font-family="Times,serif" font-size="14.00" fill="#000000">remote host&quot; error on</text>
<text text-anchor="middle" x="124" y="-1031.3" font-family="Times,serif" font-size="14.00" fill="#000000">Google Cloud ssh</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5069&#45;&gt;ZcashFoundation/zebra#5316 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#5069&#45;&gt;ZcashFoundation/zebra#5316</title>
<path fill="none" stroke="#000000" d="M240.38,-1057.5C248.71,-1057.5 257.14,-1057.5 265.53,-1057.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1061.0001 275.74,-1057.5 265.74,-1054.0001 265.74,-1061.0001"/>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node23"><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,-1351 8,-1351 8,-1298 240,-1298 240,-1351"/>
<text text-anchor="middle" x="124" y="-1335.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="124" y="-1320.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="124" y="-1305.8" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node24"><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,-1422 8,-1422 8,-1369 240,-1369 240,-1422"/>
<text text-anchor="middle" x="124" y="-1406.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="124" y="-1391.8" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="124" y="-1376.8" font-family="Times,serif" font-size="14.00" fill="#000000">download` command</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node25"><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,-1508.5 8,-1508.5 8,-1440.5 240,-1440.5 240,-1508.5"/>
<text text-anchor="middle" x="124" y="-1493.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="124" y="-1478.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="124" y="-1463.3" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="124" y="-1448.3" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node26"><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,-1594.5 8,-1594.5 8,-1526.5 240,-1526.5 240,-1594.5"/>
<text text-anchor="middle" x="124" y="-1579.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="124" y="-1564.3" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="124" y="-1549.3" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="124" y="-1534.3" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4672 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#4672</title>
<g id="a_node27"><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,-1666 8,-1666 8,-1613 240,-1613 240,-1666"/>
<text text-anchor="middle" x="124" y="-1650.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4672</text>
<text text-anchor="middle" x="124" y="-1635.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="124" y="-1620.8" font-family="Times,serif" font-size="14.00" fill="#000000">proof batch verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node28" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node28"><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,-1802 276,-1802 276,-1749 508,-1749 508,-1802"/>
<text text-anchor="middle" x="392" y="-1786.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="392" y="-1771.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve note commitment</text>
<text text-anchor="middle" x="392" y="-1756.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5189 -->
<g id="node29" class="node closed">
<title>ZcashFoundation/zebra#5189</title>
<g id="a_node29"><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,-1939 276,-1939 276,-1886 508,-1886 508,-1939"/>
<text text-anchor="middle" x="392" y="-1923.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5189</text>
<text text-anchor="middle" x="392" y="-1908.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run some docker tests on</text>
<text text-anchor="middle" x="392" y="-1893.8" font-family="Times,serif" font-size="14.00" fill="#000000">smaller instances</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4794 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#4794</title>
<g id="a_node30"><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,-2040 8,-2040 8,-1957 240,-1957 240,-2040"/>
<text text-anchor="middle" x="124" y="-2024.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4794</text>
<text text-anchor="middle" x="124" y="-2009.8" font-family="Times,serif" font-size="14.00" fill="#000000">Revert note commitment</text>
<text text-anchor="middle" x="124" y="-1994.8" font-family="Times,serif" font-size="14.00" fill="#000000">and history trees when</text>
<text text-anchor="middle" x="124" y="-1979.8" font-family="Times,serif" font-size="14.00" fill="#000000">forking non&#45;finalized</text>
<text text-anchor="middle" x="124" y="-1964.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node31"><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,-2156.5 8,-2156.5 8,-2058.5 240,-2058.5 240,-2156.5"/>
<text text-anchor="middle" x="124" y="-2141.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="124" y="-2126.3" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="124" y="-2111.3" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="124" y="-2096.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="-2081.3" font-family="Times,serif" font-size="14.00" fill="#000000">accidentally break syncer</text>
<text text-anchor="middle" x="124" y="-2066.3" font-family="Times,serif" font-size="14.00" fill="#000000">error handling</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node32"><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,-2141.5 276,-2141.5 276,-2073.5 508,-2073.5 508,-2141.5"/>
<text text-anchor="middle" x="392" y="-2126.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="392" y="-2111.3" font-family="Times,serif" font-size="14.00" fill="#000000">Return detailed errors</text>
<text text-anchor="middle" x="392" y="-2096.3" font-family="Times,serif" font-size="14.00" fill="#000000">from the `submitblock`</text>
<text text-anchor="middle" x="392" y="-2081.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="edge11" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487</title>
<path fill="none" stroke="#000000" d="M240.38,-2107.5C248.71,-2107.5 257.14,-2107.5 265.53,-2107.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-2111.0001 275.74,-2107.5 265.74,-2104.0001 265.74,-2111.0001"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node33"><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,-1868 8,-1868 8,-1785 240,-1785 240,-1868"/>
<text text-anchor="middle" x="124" y="-1852.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="124" y="-1837.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1822.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1807.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Orchard</text>
<text text-anchor="middle" x="124" y="-1792.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="edge12" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1804.4C248.81,-1802.7 257.33,-1801.1 265.81,-1799.5"/>
<polygon fill="#000000" stroke="#000000" points="266.576,-1802.917 275.74,-1797.6 265.2604,-1796.0417 266.576,-1802.917"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node34"><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,-1767 8,-1767 8,-1684 240,-1684 240,-1767"/>
<text text-anchor="middle" x="124" y="-1751.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="124" y="-1736.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an NU5 block test</text>
<text text-anchor="middle" x="124" y="-1721.8" font-family="Times,serif" font-size="14.00" fill="#000000">vector that contains many</text>
<text text-anchor="middle" x="124" y="-1706.8" font-family="Times,serif" font-size="14.00" fill="#000000">shielded Sapling</text>
<text text-anchor="middle" x="124" y="-1691.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="edge13" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="#000000" d="M240.38,-1747.2C248.81,-1748.8 257.33,-1750.4 265.81,-1752"/>
<polygon fill="#000000" stroke="#000000" points="265.2761,-1755.4602 275.74,-1753.8 266.5246,-1748.5724 265.2761,-1755.4602"/>
</g>
<!-- ZcashFoundation/zebra#5199 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#5199</title>
<g id="a_node35"><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,-1939 8,-1939 8,-1886 240,-1886 240,-1939"/>
<text text-anchor="middle" x="124" y="-1923.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5199</text>
<text text-anchor="middle" x="124" y="-1908.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider using `nextest`</text>
<text text-anchor="middle" x="124" y="-1893.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="edge14" class="edge">
<title>ZcashFoundation/zebra#5199&#45;&gt;ZcashFoundation/zebra#5189</title>
<path fill="none" stroke="#000000" d="M240.38,-1912.5C248.71,-1912.5 257.14,-1912.5 265.53,-1912.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-1916.0001 275.74,-1912.5 265.74,-1909.0001 265.74,-1916.0001"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node36"><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,-2242.5 8,-2242.5 8,-2174.5 240,-2174.5 240,-2242.5"/>
<text text-anchor="middle" x="124" y="-2227.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-2212.3" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-2197.3" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-2182.3" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node37"><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,-2344 8,-2344 8,-2261 240,-2261 240,-2344"/>
<text text-anchor="middle" x="124" y="-2328.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="124" y="-2313.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start disconnecting from</text>
<text text-anchor="middle" x="124" y="-2298.8" font-family="Times,serif" font-size="14.00" fill="#000000">outdated peers before</text>
<text text-anchor="middle" x="124" y="-2283.8" font-family="Times,serif" font-size="14.00" fill="#000000">network upgrade</text>
<text text-anchor="middle" x="124" y="-2268.8" font-family="Times,serif" font-size="14.00" fill="#000000">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node38" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node38"><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,-2336.5 276,-2336.5 276,-2268.5 508,-2268.5 508,-2336.5"/>
<text text-anchor="middle" x="392" y="-2321.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="392" y="-2306.3" font-family="Times,serif" font-size="14.00" fill="#000000">Prefer faster peers, but</text>
<text text-anchor="middle" x="392" y="-2291.3" font-family="Times,serif" font-size="14.00" fill="#000000">if all peers are slow,</text>
<text text-anchor="middle" x="392" y="-2276.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="edge15" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="#000000" d="M240.38,-2302.5C248.71,-2302.5 257.14,-2302.5 265.53,-2302.5"/>
<polygon fill="#000000" stroke="#000000" points="265.74,-2306.0001 275.74,-2302.5 265.74,-2299.0001 265.74,-2306.0001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>