developers/zcash-zf-dag.html

658 lines
47 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="920pt" height="1881pt"
viewBox="0.00 0.00 920.00 1881.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 1877)">
<polygon fill="white" stroke="transparent" points="-4,4 -4,-1877 916,-1877 916,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="blue" points="624,0 624,-179 912,-179 912,0 624,0"/>
<text text-anchor="middle" x="768" y="-163.8" font-family="Times,serif" font-size="14.00">Epic: Improvements from Zebra Audit</text>
</g>
<!-- ZcashFoundation/zebra#6681 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#6681</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6681" xlink:title="ZcashFoundation/zebra#6681&#10;Update documentation to&#10;clarify terminology&#10;around block verification" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="883,-148 652,-148 652,-80 883,-80 883,-148"/>
<text text-anchor="middle" x="767.5" y="-132.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6681</text>
<text text-anchor="middle" x="767.5" y="-117.8" font-family="Times,serif" font-size="14.00">Update documentation to</text>
<text text-anchor="middle" x="767.5" y="-102.8" font-family="Times,serif" font-size="14.00">clarify terminology</text>
<text text-anchor="middle" x="767.5" y="-87.8" font-family="Times,serif" font-size="14.00">around block verification</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6281 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#6281</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6281" xlink:title="ZcashFoundation/zebra#6281&#10;Tracking: TODOs with&#10;closed tasks" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="883,-61.5 652,-61.5 652,-8.5 883,-8.5 883,-61.5"/>
<text text-anchor="middle" x="767.5" y="-46.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6281</text>
<text text-anchor="middle" x="767.5" y="-31.3" font-family="Times,serif" font-size="14.00">Tracking: TODOs with</text>
<text text-anchor="middle" x="767.5" y="-16.3" font-family="Times,serif" font-size="14.00">closed tasks</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5297 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#5297</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5297" xlink:title="ZcashFoundation/zebra#5297&#10;Add metrics for chain&#10;fork work and lengths" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-228.5 24.5,-228.5 24.5,-175.5 255.5,-175.5 255.5,-228.5"/>
<text text-anchor="middle" x="140" y="-213.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5297</text>
<text text-anchor="middle" x="140" y="-198.3" font-family="Times,serif" font-size="14.00">Add metrics for chain</text>
<text text-anchor="middle" x="140" y="-183.3" font-family="Times,serif" font-size="14.00">fork work and lengths</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#5472</title>
<g id="a_node4"><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="black" stroke-width="2" points="255.5,-315 24.5,-315 24.5,-247 255.5,-247 255.5,-315"/>
<text text-anchor="middle" x="140" y="-299.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5472</text>
<text text-anchor="middle" x="140" y="-284.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="140" y="-269.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="140" y="-254.8" font-family="Times,serif" font-size="14.00">Sapling addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5929 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#5929</title>
<g id="a_node5"><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="black" points="571.5,-315 340.5,-315 340.5,-247 571.5,-247 571.5,-315"/>
<text text-anchor="middle" x="456" y="-299.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5929</text>
<text text-anchor="middle" x="456" y="-284.8" font-family="Times,serif" font-size="14.00">Support shielded coinbase</text>
<text text-anchor="middle" x="456" y="-269.8" font-family="Times,serif" font-size="14.00">in `getblocktemplate` for</text>
<text text-anchor="middle" x="456" y="-254.8" font-family="Times,serif" font-size="14.00">Orchard Unified addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#5472&#45;&gt;ZcashFoundation/zebra#5929</title>
<path fill="none" stroke="black" d="M255.69,-281C279.95,-281 305.65,-281 330.25,-281"/>
<polygon fill="black" stroke="black" points="330.35,-284.5 340.35,-281 330.35,-277.5 330.35,-284.5"/>
</g>
<!-- ZcashFoundation/zebra#6037 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#6037</title>
<g id="a_node6"><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="black" stroke-width="2" points="255.5,-483.5 24.5,-483.5 24.5,-400.5 255.5,-400.5 255.5,-483.5"/>
<text text-anchor="middle" x="140" y="-468.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6037</text>
<text text-anchor="middle" x="140" y="-453.3" font-family="Times,serif" font-size="14.00">Don&#39;t return from long</text>
<text text-anchor="middle" x="140" y="-438.3" font-family="Times,serif" font-size="14.00">polling if the block</text>
<text text-anchor="middle" x="140" y="-423.3" font-family="Times,serif" font-size="14.00">template is an invalid</text>
<text text-anchor="middle" x="140" y="-408.3" font-family="Times,serif" font-size="14.00">block proposal</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6047 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#6047</title>
<g id="a_node7"><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="black" points="571.5,-503 340.5,-503 340.5,-435 571.5,-435 571.5,-503"/>
<text text-anchor="middle" x="456" y="-487.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6047</text>
<text text-anchor="middle" x="456" y="-472.8" font-family="Times,serif" font-size="14.00">Verify proposals are</text>
<text text-anchor="middle" x="456" y="-457.8" font-family="Times,serif" font-size="14.00">valid after sending them</text>
<text text-anchor="middle" x="456" y="-442.8" font-family="Times,serif" font-size="14.00">to miners</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#6047</title>
<path fill="none" stroke="black" d="M255.69,-451.86C279.95,-453.95 305.65,-456.16 330.25,-458.27"/>
<polygon fill="black" stroke="black" points="330.09,-461.77 340.35,-459.14 330.69,-454.79 330.09,-461.77"/>
</g>
<!-- ZcashFoundation/zebra#5604 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#5604</title>
<g id="a_node8"><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="black" points="571.5,-416.5 340.5,-416.5 340.5,-333.5 571.5,-333.5 571.5,-416.5"/>
<text text-anchor="middle" x="456" y="-401.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5604</text>
<text text-anchor="middle" x="456" y="-386.3" font-family="Times,serif" font-size="14.00">Send the same</text>
<text text-anchor="middle" x="456" y="-371.3" font-family="Times,serif" font-size="14.00">getblocktemplate RPC</text>
<text text-anchor="middle" x="456" y="-356.3" font-family="Times,serif" font-size="14.00">response until the</text>
<text text-anchor="middle" x="456" y="-341.3" font-family="Times,serif" font-size="14.00">template would change</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#6037&#45;&gt;ZcashFoundation/zebra#5604</title>
<path fill="none" stroke="black" d="M255.69,-417.53C279.95,-412.35 305.65,-406.87 330.25,-401.62"/>
<polygon fill="black" stroke="black" points="331.3,-404.97 340.35,-399.46 329.84,-398.13 331.3,-404.97"/>
</g>
<!-- ZcashFoundation/zebra#6025 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#6025</title>
<g id="a_node9"><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="black" points="571.5,-616 340.5,-616 340.5,-548 571.5,-548 571.5,-616"/>
<text text-anchor="middle" x="456" y="-600.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6025</text>
<text text-anchor="middle" x="456" y="-585.8" font-family="Times,serif" font-size="14.00">Add a manually&#45;triggered</text>
<text text-anchor="middle" x="456" y="-570.8" font-family="Times,serif" font-size="14.00">workflow for mining a</text>
<text text-anchor="middle" x="456" y="-555.8" font-family="Times,serif" font-size="14.00">block on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5911 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#5911</title>
<g id="a_node10"><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="black" stroke-width="2" points="255.5,-710 24.5,-710 24.5,-642 255.5,-642 255.5,-710"/>
<text text-anchor="middle" x="140" y="-694.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5911</text>
<text text-anchor="middle" x="140" y="-679.8" font-family="Times,serif" font-size="14.00">Store the serialized</text>
<text text-anchor="middle" x="140" y="-664.8" font-family="Times,serif" font-size="14.00">block size in the</text>
<text text-anchor="middle" x="140" y="-649.8" font-family="Times,serif" font-size="14.00">database</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6118 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#6118</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6118" xlink:title="ZcashFoundation/zebra#6118&#10;Create a Docker images&#10;and docker&#45;compose for&#10;mining with Zebra on&#10;Testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-623.5 24.5,-623.5 24.5,-540.5 255.5,-540.5 255.5,-623.5"/>
<text text-anchor="middle" x="140" y="-608.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6118</text>
<text text-anchor="middle" x="140" y="-593.3" font-family="Times,serif" font-size="14.00">Create a Docker images</text>
<text text-anchor="middle" x="140" y="-578.3" font-family="Times,serif" font-size="14.00">and docker&#45;compose for</text>
<text text-anchor="middle" x="140" y="-563.3" font-family="Times,serif" font-size="14.00">mining with Zebra on</text>
<text text-anchor="middle" x="140" y="-548.3" font-family="Times,serif" font-size="14.00">Testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6118&#45;&gt;ZcashFoundation/zebra#6025 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#6118&#45;&gt;ZcashFoundation/zebra#6025</title>
<path fill="none" stroke="black" d="M255.69,-582C279.95,-582 305.65,-582 330.25,-582"/>
<polygon fill="black" stroke="black" points="330.35,-585.5 340.35,-582 330.35,-578.5 330.35,-585.5"/>
</g>
<!-- ZcashFoundation/zebra#4841 -->
<g id="node12" class="node closed">
<title>ZcashFoundation/zebra#4841</title>
<g id="a_node12"><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="black" points="571.5,-847.5 340.5,-847.5 340.5,-794.5 571.5,-794.5 571.5,-847.5"/>
<text text-anchor="middle" x="456" y="-832.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4841</text>
<text text-anchor="middle" x="456" y="-817.3" font-family="Times,serif" font-size="14.00">Improve note commitment</text>
<text text-anchor="middle" x="456" y="-802.3" font-family="Times,serif" font-size="14.00">tree append performance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4784 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#4784</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4784" xlink:title="ZcashFoundation/zebra#4784&#10;Store only the first tree&#10;state in each identical&#10;series of tree states" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-999 340.5,-999 340.5,-931 571.5,-931 571.5,-999"/>
<text text-anchor="middle" x="456" y="-983.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4784</text>
<text text-anchor="middle" x="456" y="-968.8" font-family="Times,serif" font-size="14.00">Store only the first tree</text>
<text text-anchor="middle" x="456" y="-953.8" font-family="Times,serif" font-size="14.00">state in each identical</text>
<text text-anchor="middle" x="456" y="-938.8" font-family="Times,serif" font-size="14.00">series of tree states</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6642 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#6642</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6642" xlink:title="ZcashFoundation/zebra#6642&#10;Update `lightwalletd`&#10;RPCs for &quot;fast&#10;spendability&quot; algorithm" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="883,-999 652,-999 652,-931 883,-931 883,-999"/>
<text text-anchor="middle" x="767.5" y="-983.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6642</text>
<text text-anchor="middle" x="767.5" y="-968.8" font-family="Times,serif" font-size="14.00">Update `lightwalletd`</text>
<text text-anchor="middle" x="767.5" y="-953.8" font-family="Times,serif" font-size="14.00">RPCs for &quot;fast</text>
<text text-anchor="middle" x="767.5" y="-938.8" font-family="Times,serif" font-size="14.00">spendability&quot; algorithm</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4784&#45;&gt;ZcashFoundation/zebra#6642 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#4784&#45;&gt;ZcashFoundation/zebra#6642</title>
<path fill="none" stroke="black" d="M571.81,-965C594.58,-965 618.6,-965 641.69,-965"/>
<polygon fill="black" stroke="black" points="641.88,-968.5 651.88,-965 641.88,-961.5 641.88,-968.5"/>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node15"><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="black" stroke-width="2" points="255.5,-1115 24.5,-1115 24.5,-1017 255.5,-1017 255.5,-1115"/>
<text text-anchor="middle" x="140" y="-1099.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="140" y="-1084.8" font-family="Times,serif" font-size="14.00">Improve</text>
<text text-anchor="middle" x="140" y="-1069.8" font-family="Times,serif" font-size="14.00">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="140" y="-1054.8" font-family="Times,serif" font-size="14.00">typing, so we don&#39;t</text>
<text text-anchor="middle" x="140" y="-1039.8" font-family="Times,serif" font-size="14.00">accidentally break syncer</text>
<text text-anchor="middle" x="140" y="-1024.8" font-family="Times,serif" font-size="14.00">error handling</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5487 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#5487</title>
<g id="a_node16"><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="black" points="571.5,-1100 340.5,-1100 340.5,-1032 571.5,-1032 571.5,-1100"/>
<text text-anchor="middle" x="456" y="-1084.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5487</text>
<text text-anchor="middle" x="456" y="-1069.8" font-family="Times,serif" font-size="14.00">Return detailed errors</text>
<text text-anchor="middle" x="456" y="-1054.8" font-family="Times,serif" font-size="14.00">from the `submitblock`</text>
<text text-anchor="middle" x="456" y="-1039.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#2908&#45;&gt;ZcashFoundation/zebra#5487</title>
<path fill="none" stroke="black" d="M255.69,-1066C279.95,-1066 305.65,-1066 330.25,-1066"/>
<polygon fill="black" stroke="black" points="330.35,-1069.5 340.35,-1066 330.35,-1062.5 330.35,-1069.5"/>
</g>
<!-- ZcashFoundation/zebra#5709 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#5709</title>
<g id="a_node17"><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="black" stroke-width="2" points="255.5,-1201 24.5,-1201 24.5,-1133 255.5,-1133 255.5,-1201"/>
<text text-anchor="middle" x="140" y="-1185.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5709</text>
<text text-anchor="middle" x="140" y="-1170.8" font-family="Times,serif" font-size="14.00">Fix repeated block</text>
<text text-anchor="middle" x="140" y="-1155.8" font-family="Times,serif" font-size="14.00">timeouts during initial</text>
<text text-anchor="middle" x="140" y="-1140.8" font-family="Times,serif" font-size="14.00">sync</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5425 -->
<g id="node18" class="node closed">
<title>ZcashFoundation/zebra#5425</title>
<g id="a_node18"><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="black" points="571.5,-1201 340.5,-1201 340.5,-1133 571.5,-1133 571.5,-1201"/>
<text text-anchor="middle" x="456" y="-1185.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5425</text>
<text text-anchor="middle" x="456" y="-1170.8" font-family="Times,serif" font-size="14.00">Parallelise note</text>
<text text-anchor="middle" x="456" y="-1155.8" font-family="Times,serif" font-size="14.00">commitment tree point</text>
<text text-anchor="middle" x="456" y="-1140.8" font-family="Times,serif" font-size="14.00">conversions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#5709&#45;&gt;ZcashFoundation/zebra#5425</title>
<path fill="none" stroke="black" d="M255.69,-1167C279.95,-1167 305.65,-1167 330.25,-1167"/>
<polygon fill="black" stroke="black" points="330.35,-1170.5 340.35,-1167 330.35,-1163.5 330.35,-1170.5"/>
</g>
<!-- ZcashFoundation/zebra#4774 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#4774</title>
<g id="a_node19"><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="black" stroke-width="2" points="255.5,-912.5 24.5,-912.5 24.5,-829.5 255.5,-829.5 255.5,-912.5"/>
<text text-anchor="middle" x="140" y="-897.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4774</text>
<text text-anchor="middle" x="140" y="-882.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="140" y="-867.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="140" y="-852.3" font-family="Times,serif" font-size="14.00">shielded Orchard</text>
<text text-anchor="middle" x="140" y="-837.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#4774&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M255.69,-852.74C279.95,-848.87 305.65,-844.78 330.25,-840.86"/>
<polygon fill="black" stroke="black" points="331.02,-844.28 340.35,-839.26 329.93,-837.37 331.02,-844.28"/>
</g>
<!-- ZcashFoundation/zebra#4775 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#4775</title>
<g id="a_node20"><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="black" stroke-width="2" points="255.5,-811.5 24.5,-811.5 24.5,-728.5 255.5,-728.5 255.5,-811.5"/>
<text text-anchor="middle" x="140" y="-796.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4775</text>
<text text-anchor="middle" x="140" y="-781.3" font-family="Times,serif" font-size="14.00">Add an NU5 block test</text>
<text text-anchor="middle" x="140" y="-766.3" font-family="Times,serif" font-size="14.00">vector that contains many</text>
<text text-anchor="middle" x="140" y="-751.3" font-family="Times,serif" font-size="14.00">shielded Sapling</text>
<text text-anchor="middle" x="140" y="-736.3" font-family="Times,serif" font-size="14.00">transactions</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841 -->
<g id="edge9" class="edge">
<title>ZcashFoundation/zebra#4775&#45;&gt;ZcashFoundation/zebra#4841</title>
<path fill="none" stroke="black" d="M255.69,-788.63C279.95,-792.57 305.65,-796.74 330.25,-800.74"/>
<polygon fill="black" stroke="black" points="329.92,-804.23 340.35,-802.38 331.04,-797.32 329.92,-804.23"/>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node21"><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="black" stroke-width="2" points="255.5,-1287 24.5,-1287 24.5,-1219 255.5,-1219 255.5,-1287"/>
<text text-anchor="middle" x="140" y="-1271.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="140" y="-1256.8" font-family="Times,serif" font-size="14.00">benchmarks: surface</text>
<text text-anchor="middle" x="140" y="-1241.8" font-family="Times,serif" font-size="14.00">zebrad mainnet sync time</text>
<text text-anchor="middle" x="140" y="-1226.8" font-family="Times,serif" font-size="14.00">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545 -->
<g id="node22" class="node open">
<title>ZcashFoundation/zebra#4545</title>
<g id="a_node22"><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="black" stroke-width="2" points="255.5,-1388.5 24.5,-1388.5 24.5,-1305.5 255.5,-1305.5 255.5,-1388.5"/>
<text text-anchor="middle" x="140" y="-1373.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4545</text>
<text text-anchor="middle" x="140" y="-1358.3" font-family="Times,serif" font-size="14.00">Start disconnecting from</text>
<text text-anchor="middle" x="140" y="-1343.3" font-family="Times,serif" font-size="14.00">outdated peers before</text>
<text text-anchor="middle" x="140" y="-1328.3" font-family="Times,serif" font-size="14.00">network upgrade</text>
<text text-anchor="middle" x="140" y="-1313.3" font-family="Times,serif" font-size="14.00">activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4226 -->
<g id="node23" class="node closed">
<title>ZcashFoundation/zebra#4226</title>
<g id="a_node23"><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="black" points="571.5,-1381 340.5,-1381 340.5,-1313 571.5,-1313 571.5,-1381"/>
<text text-anchor="middle" x="456" y="-1365.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#4226</text>
<text text-anchor="middle" x="456" y="-1350.8" font-family="Times,serif" font-size="14.00">Prefer faster peers, but</text>
<text text-anchor="middle" x="456" y="-1335.8" font-family="Times,serif" font-size="14.00">if all peers are slow,</text>
<text text-anchor="middle" x="456" y="-1320.8" font-family="Times,serif" font-size="14.00">still connect to them</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226 -->
<g id="edge10" class="edge">
<title>ZcashFoundation/zebra#4545&#45;&gt;ZcashFoundation/zebra#4226</title>
<path fill="none" stroke="black" d="M255.69,-1347C279.95,-1347 305.65,-1347 330.25,-1347"/>
<polygon fill="black" stroke="black" points="330.35,-1350.5 340.35,-1347 330.35,-1343.5 330.35,-1350.5"/>
</g>
<!-- ZcashFoundation/zebra#6611 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#6611</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6611" xlink:title="ZcashFoundation/zebra#6611&#10;Document how to switch&#10;from Testnet to Mainnet&#10;in Docker images" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1475 340.5,-1475 340.5,-1407 571.5,-1407 571.5,-1475"/>
<text text-anchor="middle" x="456" y="-1459.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6611</text>
<text text-anchor="middle" x="456" y="-1444.8" font-family="Times,serif" font-size="14.00">Document how to switch</text>
<text text-anchor="middle" x="456" y="-1429.8" font-family="Times,serif" font-size="14.00">from Testnet to Mainnet</text>
<text text-anchor="middle" x="456" y="-1414.8" font-family="Times,serif" font-size="14.00">in Docker images</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6159 -->
<g id="node25" class="node closed">
<title>ZcashFoundation/zebra#6159</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6159" xlink:title="ZcashFoundation/zebra#6159&#10;Documentation: Write a&#10;blog post to share how we&#10;used Zebra and s&#45;nomp to&#10;mine on testnet" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="883,-1482.5 652,-1482.5 652,-1399.5 883,-1399.5 883,-1482.5"/>
<text text-anchor="middle" x="767.5" y="-1467.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6159</text>
<text text-anchor="middle" x="767.5" y="-1452.3" font-family="Times,serif" font-size="14.00">Documentation: Write a</text>
<text text-anchor="middle" x="767.5" y="-1437.3" font-family="Times,serif" font-size="14.00">blog post to share how we</text>
<text text-anchor="middle" x="767.5" y="-1422.3" font-family="Times,serif" font-size="14.00">used Zebra and s&#45;nomp to</text>
<text text-anchor="middle" x="767.5" y="-1407.3" font-family="Times,serif" font-size="14.00">mine on testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6611&#45;&gt;ZcashFoundation/zebra#6159 -->
<g id="edge11" class="edge">
<title>ZcashFoundation/zebra#6611&#45;&gt;ZcashFoundation/zebra#6159</title>
<path fill="none" stroke="black" d="M571.81,-1441C594.58,-1441 618.6,-1441 641.69,-1441"/>
<polygon fill="black" stroke="black" points="641.88,-1444.5 651.88,-1441 641.88,-1437.5 641.88,-1444.5"/>
</g>
<!-- ZcashFoundation/zebra#6388 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#6388</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6388" xlink:title="ZcashFoundation/zebra#6388&#10;can_fork_chain_at()&#10;should ignore blocks&#10;below the finalized tip" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-157 24.5,-157 24.5,-89 255.5,-89 255.5,-157"/>
<text text-anchor="middle" x="140" y="-141.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6388</text>
<text text-anchor="middle" x="140" y="-126.8" font-family="Times,serif" font-size="14.00">can_fork_chain_at()</text>
<text text-anchor="middle" x="140" y="-111.8" font-family="Times,serif" font-size="14.00">should ignore blocks</text>
<text text-anchor="middle" x="140" y="-96.8" font-family="Times,serif" font-size="14.00">below the finalized tip</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6681 -->
<g id="edge12" class="edge">
<title>ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6681</title>
<path fill="none" stroke="black" d="M255.58,-155.33C275.57,-159.76 296.28,-163.61 316,-166 439.54,-180.96 472.92,-184.35 596,-166 618,-162.72 641.08,-157.18 662.91,-150.92"/>
<polygon fill="black" stroke="black" points="663.91,-154.27 672.51,-148.09 661.93,-147.56 663.91,-154.27"/>
</g>
<!-- ZcashFoundation/zebra#5125 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#5125</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5125" xlink:title="ZcashFoundation/zebra#5125&#10;Avoid temporary failures&#10;verifying the first non&#45;&#10;finalized block" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-157 340.5,-157 340.5,-89 571.5,-89 571.5,-157"/>
<text text-anchor="middle" x="456" y="-141.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#5125</text>
<text text-anchor="middle" x="456" y="-126.8" font-family="Times,serif" font-size="14.00">Avoid temporary failures</text>
<text text-anchor="middle" x="456" y="-111.8" font-family="Times,serif" font-size="14.00">verifying the first non&#45;</text>
<text text-anchor="middle" x="456" y="-96.8" font-family="Times,serif" font-size="14.00">finalized block</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#5125 -->
<g id="edge13" class="edge">
<title>ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#5125</title>
<path fill="none" stroke="black" d="M255.69,-123C279.95,-123 305.65,-123 330.25,-123"/>
<polygon fill="black" stroke="black" points="330.35,-126.5 340.35,-123 330.35,-119.5 330.35,-126.5"/>
</g>
<!-- ZcashFoundation/zebra#6793 -->
<g id="node28" class="node closed">
<title>ZcashFoundation/zebra#6793</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6793" xlink:title="ZcashFoundation/zebra#6793&#10;Do the state renames that&#10;were not done in #6762" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="571.5,-70.5 340.5,-70.5 340.5,-17.5 571.5,-17.5 571.5,-70.5"/>
<text text-anchor="middle" x="456" y="-55.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6793</text>
<text text-anchor="middle" x="456" y="-40.3" font-family="Times,serif" font-size="14.00">Do the state renames that</text>
<text text-anchor="middle" x="456" y="-25.3" font-family="Times,serif" font-size="14.00">were not done in #6762</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6793 -->
<g id="edge14" class="edge">
<title>ZcashFoundation/zebra#6388&#45;&gt;ZcashFoundation/zebra#6793</title>
<path fill="none" stroke="black" d="M255.69,-94.14C283,-87.27 312.15,-79.94 339.49,-73.06"/>
<polygon fill="black" stroke="black" points="340.64,-76.38 349.48,-70.55 338.93,-69.59 340.64,-76.38"/>
</g>
<!-- ZcashFoundation/zebra#6793&#45;&gt;ZcashFoundation/zebra#6681 -->
<g id="edge15" class="edge">
<title>ZcashFoundation/zebra#6793&#45;&gt;ZcashFoundation/zebra#6681</title>
<path fill="none" stroke="black" d="M571.81,-69.97C594.69,-75.14 618.82,-80.6 642.01,-85.84"/>
<polygon fill="black" stroke="black" points="641.35,-89.28 651.88,-88.08 642.9,-82.46 641.35,-89.28"/>
</g>
<!-- ZcashFoundation/zebra#6390 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#6390</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6390" xlink:title="ZcashFoundation/zebra#6390&#10;Epic: Zebra Stable&#10;Release" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1546.5 24.5,-1546.5 24.5,-1493.5 255.5,-1493.5 255.5,-1546.5"/>
<text text-anchor="middle" x="140" y="-1531.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6390</text>
<text text-anchor="middle" x="140" y="-1516.3" font-family="Times,serif" font-size="14.00">Epic: Zebra Stable</text>
<text text-anchor="middle" x="140" y="-1501.3" font-family="Times,serif" font-size="14.00">Release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6692 -->
<g id="node30" class="node closed">
<title>ZcashFoundation/zebra#6692</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6692" xlink:title="ZcashFoundation/zebra#6692&#10;Tag Zebra Stable Release:&#10;Zebra 1.0.0" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="571.5,-1546.5 340.5,-1546.5 340.5,-1493.5 571.5,-1493.5 571.5,-1546.5"/>
<text text-anchor="middle" x="456" y="-1531.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6692</text>
<text text-anchor="middle" x="456" y="-1516.3" font-family="Times,serif" font-size="14.00">Tag Zebra Stable Release:</text>
<text text-anchor="middle" x="456" y="-1501.3" font-family="Times,serif" font-size="14.00">Zebra 1.0.0</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6390&#45;&gt;ZcashFoundation/zebra#6692 -->
<g id="edge16" class="edge">
<title>ZcashFoundation/zebra#6390&#45;&gt;ZcashFoundation/zebra#6692</title>
<path fill="none" stroke="black" d="M255.69,-1520C279.95,-1520 305.65,-1520 330.25,-1520"/>
<polygon fill="black" stroke="black" points="330.35,-1523.5 340.35,-1520 330.35,-1516.5 330.35,-1523.5"/>
</g>
<!-- ZcashFoundation/zebra#6752 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#6752</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6752" xlink:title="ZcashFoundation/zebra#6752&#10;Pass mining config to the&#10;mining Docker container&#10;at runtime" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1475 24.5,-1475 24.5,-1407 255.5,-1407 255.5,-1475"/>
<text text-anchor="middle" x="140" y="-1459.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6752</text>
<text text-anchor="middle" x="140" y="-1444.8" font-family="Times,serif" font-size="14.00">Pass mining config to the</text>
<text text-anchor="middle" x="140" y="-1429.8" font-family="Times,serif" font-size="14.00">mining Docker container</text>
<text text-anchor="middle" x="140" y="-1414.8" font-family="Times,serif" font-size="14.00">at runtime</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6752&#45;&gt;ZcashFoundation/zebra#6611 -->
<g id="edge17" class="edge">
<title>ZcashFoundation/zebra#6752&#45;&gt;ZcashFoundation/zebra#6611</title>
<path fill="none" stroke="black" d="M255.69,-1441C279.95,-1441 305.65,-1441 330.25,-1441"/>
<polygon fill="black" stroke="black" points="330.35,-1444.5 340.35,-1441 330.35,-1437.5 330.35,-1444.5"/>
</g>
<!-- ZcashFoundation/zebra#6812 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#6812</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6812" xlink:title="ZcashFoundation/zebra#6812&#10;Process abort in state&#10;tests on some macOS&#10;versions with Rust 1.70" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1633 24.5,-1633 24.5,-1565 255.5,-1565 255.5,-1633"/>
<text text-anchor="middle" x="140" y="-1617.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6812</text>
<text text-anchor="middle" x="140" y="-1602.8" font-family="Times,serif" font-size="14.00">Process abort in state</text>
<text text-anchor="middle" x="140" y="-1587.8" font-family="Times,serif" font-size="14.00">tests on some macOS</text>
<text text-anchor="middle" x="140" y="-1572.8" font-family="Times,serif" font-size="14.00">versions with Rust 1.70</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6824 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#6824</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6824" xlink:title="ZcashFoundation/zebra#6824&#10;Restore macOS tests" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1618 340.5,-1618 340.5,-1580 571.5,-1580 571.5,-1618"/>
<text text-anchor="middle" x="456" y="-1602.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6824</text>
<text text-anchor="middle" x="456" y="-1587.8" font-family="Times,serif" font-size="14.00">Restore macOS tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6812&#45;&gt;ZcashFoundation/zebra#6824 -->
<g id="edge18" class="edge">
<title>ZcashFoundation/zebra#6812&#45;&gt;ZcashFoundation/zebra#6824</title>
<path fill="none" stroke="black" d="M255.69,-1599C279.95,-1599 305.65,-1599 330.25,-1599"/>
<polygon fill="black" stroke="black" points="330.35,-1602.5 340.35,-1599 330.35,-1595.5 330.35,-1602.5"/>
</g>
<!-- ZcashFoundation/zebra#6859 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#6859</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6859" xlink:title="ZcashFoundation/zebra#6859&#10;Upgrade shared ECC&#10;dependencies and&#10;zcash_script for zcashd&#10;5.6.0" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-1770.5 24.5,-1770.5 24.5,-1687.5 255.5,-1687.5 255.5,-1770.5"/>
<text text-anchor="middle" x="140" y="-1755.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6859</text>
<text text-anchor="middle" x="140" y="-1740.3" font-family="Times,serif" font-size="14.00">Upgrade shared ECC</text>
<text text-anchor="middle" x="140" y="-1725.3" font-family="Times,serif" font-size="14.00">dependencies and</text>
<text text-anchor="middle" x="140" y="-1710.3" font-family="Times,serif" font-size="14.00">zcash_script for zcashd</text>
<text text-anchor="middle" x="140" y="-1695.3" font-family="Times,serif" font-size="14.00">5.6.0</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6952 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#6952</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6952" xlink:title="ZcashFoundation/zebra#6952&#10;Add note tree size fields&#10;to the &#160;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1775.5 340.5,-1775.5 340.5,-1722.5 571.5,-1722.5 571.5,-1775.5"/>
<text text-anchor="middle" x="456" y="-1760.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6952</text>
<text text-anchor="middle" x="456" y="-1745.3" font-family="Times,serif" font-size="14.00">Add note tree size fields</text>
<text text-anchor="middle" x="456" y="-1730.3" font-family="Times,serif" font-size="14.00">to the &#160;RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6952 -->
<g id="edge19" class="edge">
<title>ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6952</title>
<path fill="none" stroke="black" d="M255.69,-1736.3C279.95,-1737.9 305.65,-1739.5 330.25,-1741.1"/>
<polygon fill="black" stroke="black" points="330.16,-1744.6 340.35,-1741.7 330.58,-1737.61 330.16,-1744.6"/>
</g>
<!-- ZcashFoundation/zebra#6953 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#6953</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6953" xlink:title="ZcashFoundation/zebra#6953&#10;Add note subtree indexes&#10;to the finalized and non&#45;&#10;finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="571.5,-1704 340.5,-1704 340.5,-1636 571.5,-1636 571.5,-1704"/>
<text text-anchor="middle" x="456" y="-1688.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6953</text>
<text text-anchor="middle" x="456" y="-1673.8" font-family="Times,serif" font-size="14.00">Add note subtree indexes</text>
<text text-anchor="middle" x="456" y="-1658.8" font-family="Times,serif" font-size="14.00">to the finalized and non&#45;</text>
<text text-anchor="middle" x="456" y="-1643.8" font-family="Times,serif" font-size="14.00">finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6953 -->
<g id="edge20" class="edge">
<title>ZcashFoundation/zebra#6859&#45;&gt;ZcashFoundation/zebra#6953</title>
<path fill="none" stroke="black" d="M255.69,-1707.4C279.95,-1702.9 305.65,-1698.1 330.25,-1693.4"/>
<polygon fill="black" stroke="black" points="331.17,-1696.79 340.35,-1691.5 329.88,-1689.91 331.17,-1696.79"/>
</g>
<!-- ZcashFoundation/zebra#6954 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#6954</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6954" xlink:title="ZcashFoundation/zebra#6954&#10;Implement&#10;`z_getsubtreesbyindex`&#10;RPC" target="_blank">
<polygon fill="#c2e0c6" stroke="black" points="883,-1704 652,-1704 652,-1636 883,-1636 883,-1704"/>
<text text-anchor="middle" x="767.5" y="-1688.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6954</text>
<text text-anchor="middle" x="767.5" y="-1673.8" font-family="Times,serif" font-size="14.00">Implement</text>
<text text-anchor="middle" x="767.5" y="-1658.8" font-family="Times,serif" font-size="14.00">`z_getsubtreesbyindex`</text>
<text text-anchor="middle" x="767.5" y="-1643.8" font-family="Times,serif" font-size="14.00">RPC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6953&#45;&gt;ZcashFoundation/zebra#6954 -->
<g id="edge21" class="edge">
<title>ZcashFoundation/zebra#6953&#45;&gt;ZcashFoundation/zebra#6954</title>
<path fill="none" stroke="black" d="M571.81,-1670C594.58,-1670 618.6,-1670 641.69,-1670"/>
<polygon fill="black" stroke="black" points="641.88,-1673.5 651.88,-1670 641.88,-1666.5 641.88,-1673.5"/>
</g>
<!-- ZcashFoundation/zebra#6955 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#6955</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/6955" xlink:title="ZcashFoundation/zebra#6955&#10;Create an empty database&#10;format update task and&#10;format update tests" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="255.5,-999 24.5,-999 24.5,-931 255.5,-931 255.5,-999"/>
<text text-anchor="middle" x="140" y="-983.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/zebra#6955</text>
<text text-anchor="middle" x="140" y="-968.8" font-family="Times,serif" font-size="14.00">Create an empty database</text>
<text text-anchor="middle" x="140" y="-953.8" font-family="Times,serif" font-size="14.00">format update task and</text>
<text text-anchor="middle" x="140" y="-938.8" font-family="Times,serif" font-size="14.00">format update tests</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#6955&#45;&gt;ZcashFoundation/zebra#4784 -->
<g id="edge22" class="edge">
<title>ZcashFoundation/zebra#6955&#45;&gt;ZcashFoundation/zebra#4784</title>
<path fill="none" stroke="black" d="M255.69,-965C279.95,-965 305.65,-965 330.25,-965"/>
<polygon fill="black" stroke="black" points="330.35,-968.5 340.35,-965 330.35,-961.5 330.35,-968.5"/>
</g>
<!-- ZcashFoundation/ed25519&#45;zebra#77 -->
<g id="node39" class="node open">
<title>ZcashFoundation/ed25519&#45;zebra#77</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/ed25519-zebra/issues/77" xlink:title="ZcashFoundation/ed25519&#45;zebra#77&#10;Add instructions to the&#10;README for updating this&#10;crate" target="_blank">
<polygon fill="#c2e0c6" stroke="black" stroke-width="2" points="280,-1873 0,-1873 0,-1805 280,-1805 280,-1873"/>
<text text-anchor="middle" x="140" y="-1857.8" font-family="Times,serif" font-size="14.00">ZcashFoundation/ed25519&#45;zebra#77</text>
<text text-anchor="middle" x="140" y="-1842.8" font-family="Times,serif" font-size="14.00">Add instructions to the</text>
<text text-anchor="middle" x="140" y="-1827.8" font-family="Times,serif" font-size="14.00">README for updating this</text>
<text text-anchor="middle" x="140" y="-1812.8" font-family="Times,serif" font-size="14.00">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/ed25519&#45;zebra#79 -->
<g id="node40" class="node closed">
<title>ZcashFoundation/ed25519&#45;zebra#79</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/ed25519-zebra/issues/79" xlink:title="ZcashFoundation/ed25519&#45;zebra#79&#10;Tag a new &#160;ed25519&#45;zebra&#10;release" target="_blank">
<polygon fill="#fad8c7" stroke="black" points="596,-1865.5 316,-1865.5 316,-1812.5 596,-1812.5 596,-1865.5"/>
<text text-anchor="middle" x="456" y="-1850.3" font-family="Times,serif" font-size="14.00">ZcashFoundation/ed25519&#45;zebra#79</text>
<text text-anchor="middle" x="456" y="-1835.3" font-family="Times,serif" font-size="14.00">Tag a new &#160;ed25519&#45;zebra</text>
<text text-anchor="middle" x="456" y="-1820.3" font-family="Times,serif" font-size="14.00">release</text>
</a>
</g>
</g>
<!-- ZcashFoundation/ed25519&#45;zebra#77&#45;&gt;ZcashFoundation/ed25519&#45;zebra#79 -->
<g id="edge23" class="edge">
<title>ZcashFoundation/ed25519&#45;zebra#77&#45;&gt;ZcashFoundation/ed25519&#45;zebra#79</title>
<path fill="none" stroke="black" d="M280.1,-1839C288.49,-1839 296.96,-1839 305.4,-1839"/>
<polygon fill="black" stroke="black" points="305.67,-1842.5 315.67,-1839 305.67,-1835.5 305.67,-1842.5"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>