developers/zcash-core-dag.svg

1343 lines
94 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1838pt" height="1954pt"
viewBox="0.00 0.00 1838.00 1954.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 1950)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1950 1834,-1950 1834,4 -4,4"/>
<!-- zcash/librustzcash#226 -->
<g id="node1" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/librustzcash/issues/226" xlink:title="zcash/librustzcash#226&#10;Bring in Bolt TZE" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-86.5 58.5,-86.5 58.5,-48.5 246.5,-48.5 246.5,-86.5"/>
<text text-anchor="middle" x="152.5" y="-71.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-56.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node2" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node2"><a xlink:href="https://github.com/zcash/librustzcash/issues/225" xlink:title="zcash/librustzcash#225&#10;Add Bolt TZE support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550,-94 358,-94 358,-41 550,-41 550,-94"/>
<text text-anchor="middle" x="454" y="-78.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-63.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-48.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge1" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M246.66,-67.5C278.76,-67.5 314.86,-67.5 347.84,-67.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-71.0001 357.96,-67.5 347.96,-64.0001 347.96,-71.0001"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node3" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node3"><a xlink:href="https://github.com/zcash/zcash/issues/4190" xlink:title="zcash/zcash#4190&#10;TZE: implement zcashd&#10;&#39;host&#39; logic." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="245.5,-209 59.5,-209 59.5,-156 245.5,-156 245.5,-209"/>
<text text-anchor="middle" x="152.5" y="-193.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-178.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-163.8" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/orchard#4 -->
<g id="node4" class="node">
<title>zcash/orchard#4</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/orchard/issues/4" xlink:title="zcash/orchard#4&#10;Implement the Action&#10;circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="797.5,-895 624.5,-895 624.5,-842 797.5,-842 797.5,-895"/>
<text text-anchor="middle" x="711" y="-879.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="711" y="-864.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="711" y="-849.8" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node5" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node5"><a xlink:href="https://github.com/zcash/librustzcash/issues/320" xlink:title="zcash/librustzcash#320&#10;Implement Orchard&#10;consensus rules as an NU&#10;feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1065.5,-673.5 862.5,-673.5 862.5,-605.5 1065.5,-605.5 1065.5,-673.5"/>
<text text-anchor="middle" x="964" y="-658.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="964" y="-643.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="964" y="-628.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="964" y="-613.3" font-family="Times,serif" font-size="14.00" fill="#000000">feature</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/librustzcash#320 -->
<g id="edge2" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M725.43,-841.72C748.11,-801.89 795.72,-726.99 855,-682.5 856.59,-681.31 858.21,-680.15 859.87,-679.01"/>
<polygon fill="#000000" stroke="#000000" points="861.8451,-681.9016 868.39,-673.57 858.078,-676.0016 861.8451,-681.9016"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node6" class="node">
<title>zcash/orchard#35</title>
<g id="a_node6"><a xlink:href="https://github.com/zcash/orchard/issues/35" xlink:title="zcash/orchard#35&#10;Transaction building&#10;support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1046.5,-1045 881.5,-1045 881.5,-992 1046.5,-992 1046.5,-1045"/>
<text text-anchor="middle" x="964" y="-1029.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="964" y="-1014.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="964" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge3" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M743.98,-895.08C784.56,-927.73 848.9,-979.21 855,-982.5 860.47,-985.45 866.22,-988.21 872.11,-990.79"/>
<polygon fill="#000000" stroke="#000000" points="870.8741,-994.0669 881.45,-994.7 873.5772,-987.6098 870.8741,-994.0669"/>
</g>
<!-- zcash/zcash#5195 -->
<g id="node7" class="node">
<title>zcash/zcash#5195</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/5195" xlink:title="zcash/zcash#5195&#10;Implement Orchard proof&#10;verification consensus&#10;rule" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1064.5,-902.5 863.5,-902.5 863.5,-834.5 1064.5,-834.5 1064.5,-902.5"/>
<text text-anchor="middle" x="964" y="-887.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="964" y="-872.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="964" y="-857.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="964" y="-842.3" font-family="Times,serif" font-size="14.00" fill="#000000">rule</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/zcash#5195 -->
<g id="edge4" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/zcash#5195</title>
<path fill="none" stroke="#000000" d="M797.71,-868.5C815.66,-868.5 834.79,-868.5 853.46,-868.5"/>
<polygon fill="#000000" stroke="#000000" points="853.47,-872.0001 863.47,-868.5 853.47,-865.0001 853.47,-872.0001"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node8" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/5024" xlink:title="zcash/zcash#5024&#10;Implement NU5 consensus&#10;rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1322.5,-816 1110.5,-816 1110.5,-763 1322.5,-763 1322.5,-816"/>
<text text-anchor="middle" x="1216.5" y="-800.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1216.5" y="-785.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1216.5" y="-770.8" font-family="Times,serif" font-size="14.00" fill="#000000">rules</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#320&#45;&gt;zcash/zcash#5024 -->
<g id="edge5" class="edge">
<title>zcash/librustzcash#320&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1055.5,-673.51C1061.5,-676.38 1067.4,-679.38 1073,-682.5 1110.9,-703.63 1150.2,-733.56 1178,-756.4"/>
<polygon fill="#000000" stroke="#000000" points="1175.9651,-759.2591 1185.9,-762.94 1180.4289,-753.867 1175.9651,-759.2591"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node9" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1310.5,-970 1122.5,-970 1122.5,-917 1310.5,-917 1310.5,-970"/>
<text text-anchor="middle" x="1216.5" y="-954.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1216.5" y="-939.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1216.5" y="-924.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge6" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M1046.7,-993.94C1069.3,-987.22 1094.1,-979.87 1117.5,-972.91"/>
<polygon fill="#000000" stroke="#000000" points="1118.5156,-976.2595 1127.1,-970.05 1116.5169,-969.5509 1118.5156,-976.2595"/>
</g>
<!-- zcash/librustzcash#406 -->
<g id="node10" class="node">
<title>zcash/librustzcash#406</title>
<g id="a_node10"><a xlink:href="https://github.com/zcash/librustzcash/issues/406" xlink:title="zcash/librustzcash#406&#10;Add Orchard support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1310.5,-1045 1122.5,-1045 1122.5,-992 1310.5,-992 1310.5,-1045"/>
<text text-anchor="middle" x="1216.5" y="-1029.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1216.5" y="-1014.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1216.5" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/librustzcash#406 -->
<g id="edge7" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/librustzcash#406</title>
<path fill="none" stroke="#000000" d="M1046.7,-1018.5C1067.5,-1018.5 1090.2,-1018.5 1112,-1018.5"/>
<polygon fill="#000000" stroke="#000000" points="1112.3,-1022.0001 1122.3,-1018.5 1112.3,-1015.0001 1112.3,-1022.0001"/>
</g>
<!-- zcash/zcash#5195&#45;&gt;zcash/zcash#5024 -->
<g id="edge8" class="edge">
<title>zcash/zcash#5195&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1064.5,-837.05C1083.5,-831.11 1103.3,-824.93 1122.1,-819.05"/>
<polygon fill="#000000" stroke="#000000" points="1123.3044,-822.3405 1131.8,-816.01 1121.2109,-815.6608 1123.3044,-822.3405"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node11" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node11"><a xlink:href="https://github.com/zcash/zcash/issues/5023" xlink:title="zcash/zcash#5023&#10;Implement support for&#10;Orchard shielded coinbase&#10;output" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1572,-792.5 1363,-792.5 1363,-724.5 1572,-724.5 1572,-792.5"/>
<text text-anchor="middle" x="1467.5" y="-777.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1467.5" y="-762.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1467.5" y="-747.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1467.5" y="-732.3" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge9" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1252.5,-916.99C1294.4,-886.11 1364.1,-834.75 1412.7,-798.89"/>
<polygon fill="#000000" stroke="#000000" points="1414.938,-801.5882 1420.9,-792.83 1410.7776,-795.9586 1414.938,-801.5882"/>
</g>
<!-- zcash/librustzcash#403 -->
<g id="node12" class="node">
<title>zcash/librustzcash#403</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/librustzcash/issues/403" xlink:title="zcash/librustzcash#403&#10;Add Orchard support to&#10;`zcash_client_backend`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1561.5,-1045 1373.5,-1045 1373.5,-992 1561.5,-992 1561.5,-1045"/>
<text text-anchor="middle" x="1467.5" y="-1029.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1467.5" y="-1014.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1467.5" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_backend`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403 -->
<g id="edge10" class="edge">
<title>zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403</title>
<path fill="none" stroke="#000000" d="M1310.7,-1018.5C1327.8,-1018.5 1345.7,-1018.5 1363.1,-1018.5"/>
<polygon fill="#000000" stroke="#000000" points="1363.2,-1022.0001 1373.2,-1018.5 1363.2,-1015.0001 1363.2,-1022.0001"/>
</g>
<!-- zcash/librustzcash#404 -->
<g id="node18" class="node">
<title>zcash/librustzcash#404</title>
<g id="a_node18"><a xlink:href="https://github.com/zcash/librustzcash/issues/404" xlink:title="zcash/librustzcash#404&#10;Add Orchard support to&#10;`zcash_client_sqlite`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814.5,-1045 1626.5,-1045 1626.5,-992 1814.5,-992 1814.5,-1045"/>
<text text-anchor="middle" x="1720.5" y="-1029.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1720.5" y="-1014.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1720.5" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_sqlite`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404 -->
<g id="edge15" class="edge">
<title>zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404</title>
<path fill="none" stroke="#000000" d="M1561.7,-1018.5C1579.4,-1018.5 1598,-1018.5 1616,-1018.5"/>
<polygon fill="#000000" stroke="#000000" points="1616.2,-1022.0001 1626.2,-1018.5 1616.2,-1015.0001 1616.2,-1022.0001"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node13" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/zcash/issues/4707" xlink:title="zcash/zcash#4707&#10;[Orchard] Consensus&#10;specification" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="795.5,-674 626.5,-674 626.5,-621 795.5,-621 795.5,-674"/>
<text text-anchor="middle" x="711" y="-658.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="711" y="-643.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="711" y="-628.8" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge11" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M795.6,-644.82C813.74,-644.25 833.18,-643.64 852.17,-643.04"/>
<polygon fill="#000000" stroke="#000000" points="852.4786,-646.5319 862.36,-642.71 852.2519,-639.5356 852.4786,-646.5319"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node14" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/4819" xlink:title="zcash/zcash#4819&#10;Backport upstream PRs&#10;that remove Boost usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250,-1133 55,-1133 55,-1080 250,-1080 250,-1133"/>
<text text-anchor="middle" x="152.5" y="-1117.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1102.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1087.8" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/orchard#33 -->
<g id="node15" class="node">
<title>zcash/orchard#33</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="567,-1037 341,-1037 341,-984 567,-984 567,-1037"/>
<text text-anchor="middle" x="454" y="-1021.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-1006.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-991.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018 -->
<g id="node16" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="797,-1048 625,-1048 625,-965 797,-965 797,-1048"/>
<text text-anchor="middle" x="711" y="-1032.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="711" y="-1017.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="711" y="-1002.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="711" y="-987.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="711" y="-972.8" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge12" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M567.1,-1008.7C583.01,-1008.5 599.23,-1008.2 614.79,-1008"/>
<polygon fill="#000000" stroke="#000000" points="614.9712,-1011.4972 624.9,-1007.8 614.8327,-1004.4986 614.9712,-1011.4972"/>
</g>
<!-- zcash/zcash#5197 -->
<g id="node17" class="node">
<title>zcash/zcash#5197</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/zcash/issues/5197" xlink:title="zcash/zcash#5197&#10;Implement NU5 block&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1052,-974 876,-974 876,-921 1052,-921 1052,-974"/>
<text text-anchor="middle" x="964" y="-958.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="964" y="-943.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="964" y="-928.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5197 -->
<g id="edge13" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M797.01,-986.44C819.09,-981.29 843.02,-975.71 865.68,-970.43"/>
<polygon fill="#000000" stroke="#000000" points="866.7089,-973.7839 875.65,-968.1 865.1159,-966.9676 866.7089,-973.7839"/>
</g>
<!-- zcash/zcash#5197&#45;&gt;zcash/zcash#5024 -->
<g id="edge14" class="edge">
<title>zcash/zcash#5197&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1052.1,-921.71C1059.4,-918.61 1066.4,-915.21 1073,-911.5 1115.3,-887.71 1156.9,-850.46 1184.3,-823.37"/>
<polygon fill="#000000" stroke="#000000" points="1187.0364,-825.5816 1191.6,-816.02 1182.0698,-820.6488 1187.0364,-825.5816"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node19" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/zcash/issues/5019" xlink:title="zcash/zcash#5019&#10;Add Orchard keys and&#10;addresses to the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1308,-425 1125,-425 1125,-372 1308,-372 1308,-425"/>
<text text-anchor="middle" x="1216.5" y="-409.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1216.5" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1216.5" y="-379.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses to the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5023 -->
<g id="edge16" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1308.2,-422.02C1313.8,-425.35 1319.2,-429.16 1324,-433.5 1408.3,-509.71 1445.6,-644.62 1459.9,-714.22"/>
<polygon fill="#000000" stroke="#000000" points="1456.5395,-715.2713 1461.9,-724.41 1463.4084,-713.9231 1456.5395,-715.2713"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node20" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node20"><a xlink:href="https://github.com/zcash/zcash/issues/5020" xlink:title="zcash/zcash#5020&#10;Add Orchard note&#10;detection and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1563.5,-439.5 1371.5,-439.5 1371.5,-371.5 1563.5,-371.5 1563.5,-439.5"/>
<text text-anchor="middle" x="1467.5" y="-424.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1467.5" y="-409.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1467.5" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1467.5" y="-379.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5020 -->
<g id="edge17" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M1308.2,-401.06C1325.4,-401.54 1343.5,-402.04 1361.1,-402.53"/>
<polygon fill="#000000" stroke="#000000" points="1361.3054,-406.0371 1371.4,-402.82 1361.5025,-399.0399 1361.3054,-406.0371"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node21" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node21"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1568.5,-263.5 1366.5,-263.5 1366.5,-195.5 1568.5,-195.5 1568.5,-263.5"/>
<text text-anchor="middle" x="1467.5" y="-248.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1467.5" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1467.5" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1467.5" y="-203.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5179 -->
<g id="edge18" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1308,-374.36C1313.8,-370.92 1319.2,-366.99 1324,-362.5 1354.4,-334.29 1330.9,-306.03 1360,-276.5 1362.3,-274.14 1364.8,-271.89 1367.4,-269.75"/>
<polygon fill="#000000" stroke="#000000" points="1369.5841,-272.4859 1375.4,-263.63 1365.3309,-266.9261 1369.5841,-272.4859"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node22" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1830,-338.5 1611,-338.5 1611,-300.5 1830,-300.5 1830,-338.5"/>
<text text-anchor="middle" x="1720.5" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1720.5" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC: z_getnewaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5178 -->
<g id="edge19" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1545.1,-263.65C1571.5,-275.01 1597.7,-285.93 1611,-290.5 1618.2,-292.97 1625.7,-295.35 1633.3,-297.62"/>
<polygon fill="#000000" stroke="#000000" points="1632.3194,-300.9798 1642.9,-300.43 1634.2859,-294.2617 1632.3194,-300.9798"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node23" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/zcash/issues/5182" xlink:title="zcash/zcash#5182&#10;New RPC:&#10;z_getbalanceforaddress" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814,-282 1627,-282 1627,-229 1814,-229 1814,-282"/>
<text text-anchor="middle" x="1720.5" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1720.5" y="-251.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-236.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaddress</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5182 -->
<g id="edge20" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1568.6,-239.89C1584.4,-241.51 1600.7,-243.19 1616.6,-244.82"/>
<polygon fill="#000000" stroke="#000000" points="1616.6943,-248.3481 1627,-245.89 1617.4107,-241.3848 1616.6943,-248.3481"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node24" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node24"><a xlink:href="https://github.com/zcash/zcash/issues/5185" xlink:title="zcash/zcash#5185&#10;Add support for funding&#10;z_sendmany from a UA&#10;account" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1815,-210.5 1626,-210.5 1626,-142.5 1815,-142.5 1815,-210.5"/>
<text text-anchor="middle" x="1720.5" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1720.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1720.5" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1720.5" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">account</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5185 -->
<g id="edge21" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1568.6,-208.32C1584.1,-205.08 1600,-201.73 1615.6,-198.48"/>
<polygon fill="#000000" stroke="#000000" points="1616.6375,-201.8383 1625.7,-196.35 1615.193,-194.9889 1616.6375,-201.8383"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node25" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814.5,-53 1626.5,-53 1626.5,0 1814.5,0 1814.5,-53"/>
<text text-anchor="middle" x="1720.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1720.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge22" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1561,-195.36C1566.1,-191.51 1570.8,-187.23 1575,-182.5 1612.2,-140.46 1571.7,-101.57 1611,-61.5 1613.2,-59.295 1615.5,-57.229 1617.9,-55.293"/>
<polygon fill="#000000" stroke="#000000" points="1620.3657,-57.8354 1626.5,-49.197 1616.3176,-52.1245 1620.3657,-57.8354"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node26" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/zcash/issues/5183" xlink:title="zcash/zcash#5183&#10;New RPC:&#10;z_getbalanceforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814.5,-124 1626.5,-124 1626.5,-71 1814.5,-71 1814.5,-124"/>
<text text-anchor="middle" x="1720.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1720.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-78.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5183 -->
<g id="edge23" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1556,-195.5C1562.7,-191.54 1569.1,-187.21 1575,-182.5 1596.1,-165.62 1589.1,-149.36 1611,-133.5 1613.1,-131.98 1615.2,-130.53 1617.5,-129.13"/>
<polygon fill="#000000" stroke="#000000" points="1619.3961,-132.0766 1626.3,-124.04 1615.8913,-126.0172 1619.3961,-132.0766"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node27" class="node">
<title>zcash/orchard#36</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/orchard/issues/36" xlink:title="zcash/orchard#36&#10;Parsing and serialization&#10;of Orchard keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1061,-353.5 867,-353.5 867,-285.5 1061,-285.5 1061,-353.5"/>
<text text-anchor="middle" x="964" y="-338.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="964" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="964" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="964" y="-293.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge24" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1061.3,-349.93C1081.2,-356.17 1102.2,-362.73 1122,-368.93"/>
<polygon fill="#000000" stroke="#000000" points="1121.0105,-372.2878 1131.6,-371.95 1123.1112,-365.6104 1121.0105,-372.2878"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node28" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1310.5,-353.5 1122.5,-353.5 1122.5,-285.5 1310.5,-285.5 1310.5,-353.5"/>
<text text-anchor="middle" x="1216.5" y="-338.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1216.5" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1216.5" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1216.5" y="-293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge25" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1061.3,-319.5C1077.8,-319.5 1095.1,-319.5 1111.8,-319.5"/>
<polygon fill="#000000" stroke="#000000" points="1112.2,-323.0001 1122.2,-319.5 1112.2,-316.0001 1112.2,-323.0001"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node29" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1575,-353.5 1360,-353.5 1360,-285.5 1575,-285.5 1575,-353.5"/>
<text text-anchor="middle" x="1467.5" y="-338.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1467.5" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1467.5" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1467.5" y="-293.3" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge26" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M1310.7,-319.5C1323.3,-319.5 1336.4,-319.5 1349.3,-319.5"/>
<polygon fill="#000000" stroke="#000000" points="1349.7,-323.0001 1359.7,-319.5 1349.7,-316.0001 1349.7,-323.0001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge27" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1575.2,-319.5C1583.7,-319.5 1592.3,-319.5 1600.9,-319.5"/>
<polygon fill="#000000" stroke="#000000" points="1600.9,-323.0001 1610.9,-319.5 1600.9,-316.0001 1600.9,-323.0001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge28" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1575.2,-292.27C1589,-288.76 1603.2,-285.18 1617,-281.69"/>
<polygon fill="#000000" stroke="#000000" points="1618.0724,-285.0287 1626.9,-279.17 1616.3456,-278.245 1618.0724,-285.0287"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge29" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1556.7,-285.41C1563.2,-281.48 1569.4,-277.19 1575,-272.5 1596.9,-254.31 1588.8,-237.28 1611,-219.5 1613,-217.88 1615.1,-216.32 1617.3,-214.81"/>
<polygon fill="#000000" stroke="#000000" points="1619.3473,-217.6532 1625.8,-209.25 1615.5154,-211.7951 1619.3473,-217.6532"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node30" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node30"><a xlink:href="https://github.com/zcash/zcash/issues/5181" xlink:title="zcash/zcash#5181&#10;New RPC:&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1805.5,-552 1635.5,-552 1635.5,-499 1805.5,-499 1805.5,-552"/>
<text text-anchor="middle" x="1720.5" y="-536.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1720.5" y="-521.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-506.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5181 -->
<g id="edge30" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M1565.8,-353.75C1569.1,-356.45 1572.2,-359.36 1575,-362.5 1614.3,-406.09 1570.4,-447.17 1611,-489.5 1615.5,-494.24 1620.7,-498.35 1626.3,-501.93"/>
<polygon fill="#000000" stroke="#000000" points="1624.9779,-505.2047 1635.4,-507.11 1628.4408,-499.1212 1624.9779,-505.2047"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node31" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node31"><a xlink:href="https://github.com/zcash/zcash/issues/5184" xlink:title="zcash/zcash#5184&#10;Add support for UA&#10;recipients to z_sendmany" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1820.5,-481 1620.5,-481 1620.5,-428 1820.5,-428 1820.5,-481"/>
<text text-anchor="middle" x="1720.5" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1720.5" y="-450.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1720.5" y="-435.8" font-family="Times,serif" font-size="14.00" fill="#000000">recipients to z_sendmany</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5184 -->
<g id="edge31" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M1562.7,-353.54C1567,-356.32 1571.1,-359.3 1575,-362.5 1597.8,-381.33 1587.6,-400.39 1611,-418.5 1612.8,-419.89 1614.7,-421.23 1616.6,-422.52"/>
<polygon fill="#000000" stroke="#000000" points="1614.8582,-425.5583 1625.2,-427.86 1618.5508,-419.6114 1614.8582,-425.5583"/>
</g>
<!-- zcash/zcash#5191 -->
<g id="node32" class="node">
<title>zcash/zcash#5191</title>
<g id="a_node32"><a xlink:href="https://github.com/zcash/zcash/issues/5191" xlink:title="zcash/zcash#5191&#10;z_getbalance: Return&#10;error if given a UA" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1805,-410 1636,-410 1636,-357 1805,-357 1805,-410"/>
<text text-anchor="middle" x="1720.5" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1720.5" y="-379.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1720.5" y="-364.8" font-family="Times,serif" font-size="14.00" fill="#000000">error if given a UA</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5191 -->
<g id="edge32" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5191</title>
<path fill="none" stroke="#000000" d="M1575.2,-346.73C1592.1,-351.03 1609.6,-355.44 1626.2,-359.65"/>
<polygon fill="#000000" stroke="#000000" points="1625.3473,-363.0445 1635.9,-362.1 1627.0616,-356.2576 1625.3473,-363.0445"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node33" class="node">
<title>zcash/orchard#30</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1050,-425 878,-425 878,-372 1050,-372 1050,-425"/>
<text text-anchor="middle" x="964" y="-409.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="964" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="964" y="-379.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge33" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1050.2,-398.5C1070.9,-398.5 1093.2,-398.5 1114.6,-398.5"/>
<polygon fill="#000000" stroke="#000000" points="1114.7,-402.0001 1124.7,-398.5 1114.7,-395.0001 1114.7,-402.0001"/>
</g>
<!-- zcash/zcash#2534 -->
<g id="node34" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node34"><a xlink:href="https://github.com/zcash/zcash/pull/2534" xlink:title="zcash/zcash#2534&#10;Bitcoin 0.12 P2P/Net PRs&#10;1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="252.5,-1217 52.5,-1217 52.5,-1213 48.5,-1213 48.5,-1209 52.5,-1209 52.5,-1172 48.5,-1172 48.5,-1168 52.5,-1168 52.5,-1164 252.5,-1164 252.5,-1217"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1213 56.5,-1213 56.5,-1209 52.5,-1209 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1172 56.5,-1172 56.5,-1168 52.5,-1168 "/>
<text text-anchor="middle" x="152.5" y="-1201.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1186.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="152.5" y="-1171.8" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003 -->
<g id="node35" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node35"><a xlink:href="https://github.com/zcash/zcash/pull/5003" xlink:title="zcash/zcash#5003&#10;net: prerequisites for&#10;p2p encapsulation changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="560,-1223 348,-1223 348,-1219 344,-1219 344,-1215 348,-1215 348,-1178 344,-1178 344,-1174 348,-1174 348,-1170 560,-1170 560,-1223"/>
<polyline fill="none" stroke="#000000" points="348,-1219 352,-1219 352,-1215 348,-1215 "/>
<polyline fill="none" stroke="#000000" points="348,-1178 352,-1178 352,-1174 348,-1174 "/>
<text text-anchor="middle" x="454" y="-1207.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1192.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1177.8" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge34" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M252.9,-1192.5C280.05,-1193 309.67,-1193.6 337.63,-1194.2"/>
<polygon fill="#000000" stroke="#000000" points="337.7733,-1197.7034 347.84,-1194.4 337.9105,-1190.7047 337.7733,-1197.7034"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node36" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node36"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="806.5,-1139.5 615.5,-1139.5 615.5,-1135.5 611.5,-1135.5 611.5,-1131.5 615.5,-1131.5 615.5,-1079.5 611.5,-1079.5 611.5,-1075.5 615.5,-1075.5 615.5,-1071.5 806.5,-1071.5 806.5,-1139.5"/>
<polyline fill="none" stroke="#000000" points="615.5,-1135.5 619.5,-1135.5 619.5,-1131.5 615.5,-1131.5 "/>
<polyline fill="none" stroke="#000000" points="615.5,-1079.5 619.5,-1079.5 619.5,-1075.5 615.5,-1075.5 "/>
<text text-anchor="middle" x="711" y="-1124.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="711" y="-1109.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="711" y="-1094.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="711" y="-1079.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge35" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M252.77,-1175C281.28,-1170.6 312.36,-1165.9 341,-1161.5 429.94,-1147.9 530.93,-1132.7 604.91,-1121.5"/>
<polygon fill="#000000" stroke="#000000" points="605.8195,-1124.9005 615.16,-1119.9 604.7398,-1117.9843 605.8195,-1124.9005"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node37" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="798,-1241 624,-1241 624,-1237 620,-1237 620,-1233 624,-1233 624,-1166 620,-1166 620,-1162 624,-1162 624,-1158 798,-1158 798,-1241"/>
<polyline fill="none" stroke="#000000" points="624,-1237 628,-1237 628,-1233 624,-1233 "/>
<polyline fill="none" stroke="#000000" points="624,-1166 628,-1166 628,-1162 624,-1162 "/>
<text text-anchor="middle" x="711" y="-1225.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="711" y="-1210.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="711" y="-1195.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="711" y="-1180.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="711" y="-1165.8" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge36" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M560.02,-1197.7C577.7,-1197.9 595.97,-1198.2 613.43,-1198.4"/>
<polygon fill="#000000" stroke="#000000" points="613.5761,-1201.9015 623.61,-1198.5 613.6449,-1194.9018 613.5761,-1201.9015"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node38" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1073,-1143.5 855,-1143.5 855,-1139.5 851,-1139.5 851,-1135.5 855,-1135.5 855,-1113.5 851,-1113.5 851,-1109.5 855,-1109.5 855,-1105.5 1073,-1105.5 1073,-1143.5"/>
<polyline fill="none" stroke="#000000" points="855,-1139.5 859,-1139.5 859,-1135.5 855,-1135.5 "/>
<polyline fill="none" stroke="#000000" points="855,-1113.5 859,-1113.5 859,-1109.5 855,-1109.5 "/>
<text text-anchor="middle" x="964" y="-1128.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="964" y="-1113.3" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge37" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M806.65,-1112.7C819.01,-1113.6 831.8,-1114.6 844.49,-1115.5"/>
<polygon fill="#000000" stroke="#000000" points="844.3959,-1119.0033 854.64,-1116.3 844.946,-1112.025 844.3959,-1119.0033"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge38" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M798.07,-1173.7C827.86,-1164.9 860.89,-1155.1 889.59,-1146.6"/>
<polygon fill="#000000" stroke="#000000" points="890.9844,-1149.8354 899.55,-1143.6 888.9655,-1143.1328 890.9844,-1149.8354"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node39" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node39"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1311,-1158.5 1122,-1158.5 1122,-1154.5 1118,-1154.5 1118,-1150.5 1122,-1150.5 1122,-1098.5 1118,-1098.5 1118,-1094.5 1122,-1094.5 1122,-1090.5 1311,-1090.5 1311,-1158.5"/>
<polyline fill="none" stroke="#000000" points="1122,-1154.5 1126,-1154.5 1126,-1150.5 1122,-1150.5 "/>
<polyline fill="none" stroke="#000000" points="1122,-1098.5 1126,-1098.5 1126,-1094.5 1122,-1094.5 "/>
<text text-anchor="middle" x="1216.5" y="-1143.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1216.5" y="-1128.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1216.5" y="-1113.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1216.5" y="-1098.3" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge39" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1073.3,-1124.5C1086,-1124.5 1099,-1124.5 1111.6,-1124.5"/>
<polygon fill="#000000" stroke="#000000" points="1111.7,-1128.0001 1121.7,-1124.5 1111.7,-1121.0001 1111.7,-1128.0001"/>
</g>
<!-- zcash/zcash#5037 -->
<g id="node40" class="node">
<title>zcash/zcash#5037</title>
<g id="a_node40"><a xlink:href="https://github.com/zcash/zcash/issues/5037" xlink:title="zcash/zcash#5037&#10;Add Orchard metadata to&#10;history trees" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1064,-816 864,-816 864,-763 1064,-763 1064,-816"/>
<text text-anchor="middle" x="964" y="-800.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="964" y="-785.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="964" y="-770.8" font-family="Times,serif" font-size="14.00" fill="#000000">history trees</text>
</a>
</g>
</g>
<!-- zcash/zcash#5037&#45;&gt;zcash/zcash#5024 -->
<g id="edge40" class="edge">
<title>zcash/zcash#5037&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1064.2,-789.5C1076,-789.5 1088.1,-789.5 1100.2,-789.5"/>
<polygon fill="#000000" stroke="#000000" points="1100.2,-793.0001 1110.2,-789.5 1100.2,-786.0001 1100.2,-793.0001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node41" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/zcash/pull/5034" xlink:title="zcash/zcash#5034&#10;Bitcoin 0.17 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-1297.5 56,-1297.5 56,-1293.5 52,-1293.5 52,-1289.5 56,-1289.5 56,-1267.5 52,-1267.5 52,-1263.5 56,-1263.5 56,-1259.5 249,-1259.5 249,-1297.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1293.5 60,-1293.5 60,-1289.5 56,-1289.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1267.5 60,-1267.5 60,-1263.5 56,-1263.5 "/>
<text text-anchor="middle" x="152.5" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1267.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050 -->
<g id="node42" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node42"><a xlink:href="https://github.com/zcash/zcash/pull/5050" xlink:title="zcash/zcash#5050&#10;Bitcoin 0.18 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550.5,-1297.5 357.5,-1297.5 357.5,-1293.5 353.5,-1293.5 353.5,-1289.5 357.5,-1289.5 357.5,-1267.5 353.5,-1267.5 353.5,-1263.5 357.5,-1263.5 357.5,-1259.5 550.5,-1259.5 550.5,-1297.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1293.5 361.5,-1293.5 361.5,-1289.5 357.5,-1289.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1267.5 361.5,-1267.5 361.5,-1263.5 357.5,-1263.5 "/>
<text text-anchor="middle" x="454" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1267.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge41" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1278.5C280.38,-1278.5 315.19,-1278.5 347.13,-1278.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1282.0001 357.39,-1278.5 347.39,-1275.0001 347.39,-1282.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node43" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node43"><a xlink:href="https://github.com/zcash/zcash/pull/5163" xlink:title="zcash/zcash#5163&#10;Bitcoin 0.19 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="807.5,-1297.5 614.5,-1297.5 614.5,-1293.5 610.5,-1293.5 610.5,-1289.5 614.5,-1289.5 614.5,-1267.5 610.5,-1267.5 610.5,-1263.5 614.5,-1263.5 614.5,-1259.5 807.5,-1259.5 807.5,-1297.5"/>
<polyline fill="none" stroke="#000000" points="614.5,-1293.5 618.5,-1293.5 618.5,-1289.5 614.5,-1289.5 "/>
<polyline fill="none" stroke="#000000" points="614.5,-1267.5 618.5,-1267.5 618.5,-1263.5 614.5,-1263.5 "/>
<text text-anchor="middle" x="711" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="711" y="-1267.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge42" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.79,-1278.5C568.16,-1278.5 586.35,-1278.5 603.98,-1278.5"/>
<polygon fill="#000000" stroke="#000000" points="604.29,-1282.0001 614.29,-1278.5 604.29,-1275.0001 604.29,-1282.0001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node44" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node44"><a xlink:href="https://github.com/zcash/zcash/issues/5176" xlink:title="zcash/zcash#5176&#10;Implement BIP 39 seed&#10;phrase support" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="1056.5,-263 871.5,-263 871.5,-210 1056.5,-210 1056.5,-263"/>
<text text-anchor="middle" x="964" y="-247.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="964" y="-232.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="964" y="-217.8" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5019 -->
<g id="edge43" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1055.3,-263.08C1061.7,-266.97 1067.7,-271.42 1073,-276.5 1102.9,-305.14 1078.6,-334.29 1109,-362.5 1111.4,-364.74 1114,-366.85 1116.6,-368.82"/>
<polygon fill="#000000" stroke="#000000" points="1114.7251,-371.7761 1125,-374.36 1118.5791,-365.9325 1114.7251,-371.7761"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node45" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1317.5,-267.5 1115.5,-267.5 1115.5,-199.5 1317.5,-199.5 1317.5,-267.5"/>
<text text-anchor="middle" x="1216.5" y="-252.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1216.5" y="-237.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1216.5" y="-222.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1216.5" y="-207.3" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge44" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1056.6,-235.4C1072.4,-235.21 1089.1,-235.01 1105.3,-234.82"/>
<polygon fill="#000000" stroke="#000000" points="1105.4423,-238.3187 1115.4,-234.7 1105.3591,-231.3191 1105.4423,-238.3187"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge45" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1317.5,-231.89C1330.2,-231.69 1343.2,-231.48 1356.1,-231.28"/>
<polygon fill="#000000" stroke="#000000" points="1356.3597,-234.7763 1366.3,-231.11 1356.243,-227.7772 1356.3597,-234.7763"/>
</g>
<!-- zcash/zips#364 -->
<g id="node46" class="node">
<title>zcash/zips#364</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="813.5,-263 608.5,-263 608.5,-210 813.5,-210 813.5,-263"/>
<text text-anchor="middle" x="711" y="-247.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="711" y="-232.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="711" y="-217.8" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge46" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M813.54,-236.5C829.16,-236.5 845.28,-236.5 860.91,-236.5"/>
<polygon fill="#000000" stroke="#000000" points="861.1,-240.0001 871.1,-236.5 861.1,-233.0001 861.1,-240.0001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node47" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash/zcash/issues/5177" xlink:title="zcash/zcash#5177&#10;Deprecate old address&#45;&#10;related RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="243.5,-1369 61.5,-1369 61.5,-1316 243.5,-1316 243.5,-1369"/>
<text text-anchor="middle" x="152.5" y="-1353.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1338.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1323.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node48" class="node">
<title>zcash/zips#511</title>
<g id="a_node48"><a xlink:href="https://github.com/zcash/zips/issues/511" xlink:title="zcash/zips#511&#10;ZIP 32: Document standard&#10;key structure for Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1324,-181.5 1109,-181.5 1109,-113.5 1324,-113.5 1324,-181.5"/>
<text text-anchor="middle" x="1216.5" y="-166.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1216.5" y="-151.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1216.5" y="-136.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1216.5" y="-121.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge47" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1320.8,-181.56C1332.7,-185.45 1344.8,-189.43 1356.8,-193.34"/>
<polygon fill="#000000" stroke="#000000" points="1355.8076,-196.6977 1366.4,-196.47 1357.9775,-190.0425 1355.8076,-196.6977"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node49" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node49"><a xlink:href="https://github.com/zcash/librustzcash/issues/387" xlink:title="zcash/librustzcash#387&#10;Implement Unified Address&#10;key derivation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1575,-174 1360,-174 1360,-121 1575,-121 1575,-174"/>
<text text-anchor="middle" x="1467.5" y="-158.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1467.5" y="-143.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1467.5" y="-128.8" font-family="Times,serif" font-size="14.00" fill="#000000">key derivation</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/librustzcash#387 -->
<g id="edge48" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1324,-147.5C1332.6,-147.5 1341.2,-147.5 1349.8,-147.5"/>
<polygon fill="#000000" stroke="#000000" points="1349.8,-151.0001 1359.8,-147.5 1349.8,-144.0001 1349.8,-151.0001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node50" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node50"><a xlink:href="https://github.com/zcash/zcash/issues/5186" xlink:title="zcash/zcash#5186&#10;z_viewtransaction: Figure&#10;out how to render UAs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="254,-1440 51,-1440 51,-1387 254,-1387 254,-1440"/>
<text text-anchor="middle" x="152.5" y="-1424.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1409.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1394.8" font-family="Times,serif" font-size="14.00" fill="#000000">out how to render UAs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196 -->
<g id="node51" class="node">
<title>zcash/zcash#5196</title>
<g id="a_node51"><a xlink:href="https://github.com/zcash/zcash/issues/5196" xlink:title="zcash/zcash#5196&#10;Implement v5 transaction&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1065.5,-745 862.5,-745 862.5,-692 1065.5,-692 1065.5,-745"/>
<text text-anchor="middle" x="964" y="-729.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="964" y="-714.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="964" y="-699.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196&#45;&gt;zcash/zcash#5024 -->
<g id="edge49" class="edge">
<title>zcash/zcash#5196&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1058.4,-745.04C1076,-749.99 1094.5,-755.19 1112.4,-760.22"/>
<polygon fill="#000000" stroke="#000000" points="1111.625,-763.638 1122.2,-762.99 1113.529,-756.9019 1111.625,-763.638"/>
</g>
<!-- zcash/zcash#5198 -->
<g id="node52" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node52"><a xlink:href="https://github.com/zcash/zcash/issues/5198" xlink:title="zcash/zcash#5198&#10;Switch to a `(txid,&#10;auth_digest)` identifier&#10;in places where the node&#10;needs to commit to a&#10;specific instance of a&#10;transaction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250.5,-1571 54.5,-1571 54.5,-1458 250.5,-1458 250.5,-1571"/>
<text text-anchor="middle" x="152.5" y="-1555.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1540.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1525.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1510.8" font-family="Times,serif" font-size="14.00" fill="#000000">in places where the node</text>
<text text-anchor="middle" x="152.5" y="-1495.8" font-family="Times,serif" font-size="14.00" fill="#000000">needs to commit to a</text>
<text text-anchor="middle" x="152.5" y="-1480.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1465.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5199 -->
<g id="node53" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zcash/issues/5199" xlink:title="zcash/zcash#5199&#10;[ZIP 239] Relay v5+&#10;transactions with a&#10;(txid, auth_digest) tuple&#10;(or digest thereof)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="247,-1672 58,-1672 58,-1589 247,-1589 247,-1672"/>
<text text-anchor="middle" x="152.5" y="-1656.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="152.5" y="-1641.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="152.5" y="-1626.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="152.5" y="-1611.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="152.5" y="-1596.8" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zips#506 -->
<g id="node54" class="node">
<title>zcash/zips#506</title>
<g id="a_node54"><a xlink:href="https://github.com/zcash/zips/issues/506" xlink:title="zcash/zips#506&#10;Orchard anchor should be&#10;a base field element, not&#10;a bitstring" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="556,-681.5 352,-681.5 352,-613.5 556,-613.5 556,-681.5"/>
<text text-anchor="middle" x="454" y="-666.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="454" y="-651.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="454" y="-636.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="454" y="-621.3" font-family="Times,serif" font-size="14.00" fill="#000000">a bitstring</text>
</a>
</g>
</g>
<!-- zcash/zips#506&#45;&gt;zcash/zcash#4707 -->
<g id="edge50" class="edge">
<title>zcash/zips#506&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M556.31,-647.5C576.1,-647.5 596.75,-647.5 616.28,-647.5"/>
<polygon fill="#000000" stroke="#000000" points="616.38,-651.0001 626.38,-647.5 616.38,-644.0001 616.38,-651.0001"/>
</g>
<!-- zcash/zcash#5223 -->
<g id="node55" class="node">
<title>zcash/zcash#5223</title>
<g id="a_node55"><a xlink:href="https://github.com/zcash/zcash/issues/5223" xlink:title="zcash/zcash#5223&#10;Add RPC test case that&#10;checks the auth data&#10;commitments for v4 txs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-1758.5 58.5,-1758.5 58.5,-1690.5 246.5,-1690.5 246.5,-1758.5"/>
<text text-anchor="middle" x="152.5" y="-1743.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="152.5" y="-1728.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add RPC test case that</text>
<text text-anchor="middle" x="152.5" y="-1713.3" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="152.5" y="-1698.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitments for v4 txs</text>
</a>
</g>
</g>
<!-- zcash/orchard#54 -->
<g id="node56" class="node">
<title>zcash/orchard#54</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash/orchard/pull/54" xlink:title="zcash/orchard#54&#10;[book] Document ECC&#10;gadget in circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="542.5,-753 365.5,-753 365.5,-749 361.5,-749 361.5,-745 365.5,-745 365.5,-708 361.5,-708 361.5,-704 365.5,-704 365.5,-700 542.5,-700 542.5,-753"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="365.5,-749 369.5,-749 369.5,-745 365.5,-745 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="365.5,-708 369.5,-708 369.5,-704 365.5,-704 "/>
<text text-anchor="middle" x="454" y="-737.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#54</text>
<text text-anchor="middle" x="454" y="-722.8" font-family="Times,serif" font-size="14.00" fill="#000000">[book] Document ECC</text>
<text text-anchor="middle" x="454" y="-707.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget in circuit</text>
</a>
</g>
</g>
<!-- zcash/orchard#54&#45;&gt;zcash/zcash#4707 -->
<g id="edge51" class="edge">
<title>zcash/orchard#54&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M540.29,-699.97C564.75,-692.46 591.51,-684.23 616.43,-676.57"/>
<polygon fill="#000000" stroke="#000000" points="617.7124,-679.8374 626.24,-673.55 615.6528,-673.1472 617.7124,-679.8374"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node57" class="node">
<title>zcash/halo2#63</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/halo2/issues/63" xlink:title="zcash/halo2#63&#10;Implement zero&#45;knowledge&#45;&#10;ness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="819,-595 603,-595 603,-542 819,-542 819,-595"/>
<text text-anchor="middle" x="711" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="711" y="-564.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="711" y="-549.8" font-family="Times,serif" font-size="14.00" fill="#000000">ness</text>
</a>
</g>
</g>
<!-- zcash/halo2#63&#45;&gt;zcash/librustzcash#320 -->
<g id="edge52" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M805.57,-595.04C820.91,-599.34 836.92,-603.84 852.62,-608.24"/>
<polygon fill="#000000" stroke="#000000" points="851.7763,-611.6384 862.35,-610.97 853.6673,-604.8986 851.7763,-611.6384"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node58" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/36" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#10;Orchard Merkle path test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="305,-1037 0,-1037 0,-984 305,-984 305,-1037"/>
<text text-anchor="middle" x="152.5" y="-1021.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</text>
<text text-anchor="middle" x="152.5" y="-1006.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-991.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33 -->
<g id="edge53" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M305.02,-1010.5C313.53,-1010.5 322.04,-1010.5 330.43,-1010.5"/>
<polygon fill="#000000" stroke="#000000" points="330.6,-1014.0001 340.6,-1010.5 330.6,-1007.0001 330.6,-1014.0001"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node59" class="node">
<title>zcash/orchard#95</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/orchard/issues/95" xlink:title="zcash/orchard#95&#10;Implement Merkle path&#10;validity chip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="547.5,-966 360.5,-966 360.5,-913 547.5,-913 547.5,-966"/>
<text text-anchor="middle" x="454" y="-950.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-935.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-920.8" font-family="Times,serif" font-size="14.00" fill="#000000">validity chip</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95 -->
<g id="edge54" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M265.2,-983.96C293.05,-977.4 322.76,-970.4 350.18,-963.95"/>
<polygon fill="#000000" stroke="#000000" points="351.2284,-967.2989 360.16,-961.6 349.624,-960.4853 351.2284,-967.2989"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge55" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.51,-913.67C569.39,-907.62 592.73,-901.17 614.73,-895.1"/>
<polygon fill="#000000" stroke="#000000" points="615.6922,-898.4654 624.4,-892.43 613.8291,-891.7178 615.6922,-898.4654"/>
</g>
<!-- zcash/halo2#64 -->
<g id="node60" class="node">
<title>zcash/halo2#64</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237.5,-824 67.5,-824 67.5,-771 237.5,-771 237.5,-824"/>
<text text-anchor="middle" x="152.5" y="-808.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="152.5" y="-793.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="152.5" y="-778.8" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#235 -->
<g id="node61" class="node">
<title>zcash/halo2#235</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="542,-824 366,-824 366,-771 542,-771 542,-824"/>
<text text-anchor="middle" x="454" y="-808.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="454" y="-793.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="454" y="-778.8" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge56" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M237.69,-797.5C274.45,-797.5 317.68,-797.5 355.79,-797.5"/>
<polygon fill="#000000" stroke="#000000" points="355.87,-801.0001 365.87,-797.5 355.87,-794.0001 355.87,-801.0001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge57" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M542.09,-821.83C565.46,-828.29 590.81,-835.3 614.6,-841.87"/>
<polygon fill="#000000" stroke="#000000" points="613.7691,-845.2715 624.34,-844.56 615.6326,-838.5241 613.7691,-845.2715"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node62" class="node">
<title>zcash/halo2#75</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1053.5,-496 874.5,-496 874.5,-443 1053.5,-443 1053.5,-496"/>
<text text-anchor="middle" x="964" y="-480.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="964" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="964" y="-450.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node63" class="node">
<title>zcash/halo2#251</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1321.5,-496 1111.5,-496 1111.5,-443 1321.5,-443 1321.5,-496"/>
<text text-anchor="middle" x="1216.5" y="-480.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1216.5" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1216.5" y="-450.8" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge58" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1053.7,-469.5C1069,-469.5 1085,-469.5 1100.8,-469.5"/>
<polygon fill="#000000" stroke="#000000" points="1101.1,-473.0001 1111.1,-469.5 1101.1,-466.0001 1101.1,-473.0001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node64" class="node">
<title>zcash/halo2#79</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="791.5,-517 630.5,-517 630.5,-434 791.5,-434 791.5,-517"/>
<text text-anchor="middle" x="711" y="-501.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="711" y="-486.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="711" y="-471.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="711" y="-456.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="711" y="-441.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node65" class="node">
<title>zcash/halo2#78</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/halo2/issues/78" xlink:title="zcash/halo2#78&#10;Implement algebraic hash&#10;/ random oracle&#10;abstraction gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="556,-509.5 352,-509.5 352,-441.5 556,-441.5 556,-509.5"/>
<text text-anchor="middle" x="454" y="-494.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-479.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-464.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-449.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge59" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.31,-475.5C577.48,-475.5 599.65,-475.5 620.37,-475.5"/>
<polygon fill="#000000" stroke="#000000" points="620.41,-479.0001 630.41,-475.5 620.41,-472.0001 620.41,-479.0001"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node66" class="node">
<title>zcash/halo2#250</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="808,-416 614,-416 614,-363 808,-363 808,-416"/>
<text text-anchor="middle" x="711" y="-400.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="711" y="-385.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="711" y="-370.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge60" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M552.91,-441.39C569.61,-435.7 586.79,-429.9 603,-424.5 608.2,-422.77 613.55,-421 618.94,-419.22"/>
<polygon fill="#000000" stroke="#000000" points="620.2801,-422.4639 628.69,-416.02 618.0972,-415.813 620.2801,-422.4639"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge61" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M794.89,-416.03C819.02,-423.66 845.49,-432.03 870.17,-439.83"/>
<polygon fill="#000000" stroke="#000000" points="869.31,-443.2289 879.9,-442.91 871.4225,-436.5552 869.31,-443.2289"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node67" class="node">
<title>zcash/halo2#57</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/halo2/issues/57" xlink:title="zcash/halo2#57&#10;Remove unused&#10;fixed_values from&#10;ProvingKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="224,-1844.5 81,-1844.5 81,-1776.5 224,-1776.5 224,-1844.5"/>
<text text-anchor="middle" x="152.5" y="-1829.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1814.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1799.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1784.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node68" class="node">
<title>zcash/halo2#82</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/halo2/issues/82" xlink:title="zcash/halo2#82&#10;Consider not sampling&#10;beta and gamma if there&#10;are no permutations or&#10;lookups" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-1946 56,-1946 56,-1863 249,-1863 249,-1946"/>
<text text-anchor="middle" x="152.5" y="-1930.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1915.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1900.8" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="152.5" y="-1885.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1870.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node69" class="node">
<title>zcash/halo2#248</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/halo2/issues/248" xlink:title="zcash/halo2#248&#10;Implement endoscaling in&#10;the circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="555.5,-165 352.5,-165 352.5,-112 555.5,-112 555.5,-165"/>
<text text-anchor="middle" x="454" y="-149.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-134.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-119.8" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge62" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M555.14,-165.03C559.36,-167.87 563.35,-171.02 567,-174.5 600.27,-206.24 579.03,-232.26 603,-271.5 622.25,-303.01 650.64,-333.63 673.48,-355.77"/>
<polygon fill="#000000" stroke="#000000" points="671.3402,-358.566 680.99,-362.94 676.174,-353.503 671.3402,-358.566"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node70" class="node">
<title>zcash/halo2#249</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/halo2/issues/249" xlink:title="zcash/halo2#249&#10;Implement circuit logic&#10;for handling public&#10;inputs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="546.5,-423.5 361.5,-423.5 361.5,-355.5 546.5,-355.5 546.5,-423.5"/>
<text text-anchor="middle" x="454" y="-408.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-393.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-378.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-363.3" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge63" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.78,-389.5C565.19,-389.5 584.65,-389.5 603.5,-389.5"/>
<polygon fill="#000000" stroke="#000000" points="603.59,-393.0001 613.59,-389.5 603.59,-386.0001 603.59,-393.0001"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node71" class="node">
<title>zcash/halo2#246</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/halo2/issues/246" xlink:title="zcash/halo2#246&#10;Create recursive proof&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="242,-330 63,-330 63,-277 242,-277 242,-330"/>
<text text-anchor="middle" x="152.5" y="-314.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-299.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-284.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node72" class="node">
<title>zcash/halo2#247</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/halo2/issues/247" xlink:title="zcash/halo2#247&#10;Implement underlying&#10;scaffolding for the&#10;recursive circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="542,-337.5 366,-337.5 366,-269.5 542,-269.5 542,-337.5"/>
<text text-anchor="middle" x="454" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-292.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-277.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge64" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-303.5C277.92,-303.5 319.23,-303.5 355.81,-303.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-307.0001 366,-303.5 356,-300.0001 356,-307.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge65" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.09,-332.98C567.85,-341.6 596.04,-351.03 621.87,-359.67"/>
<polygon fill="#000000" stroke="#000000" points="621.0561,-363.0886 631.65,-362.95 623.2819,-356.4519 621.0561,-363.0886"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node73" class="node">
<title>zcash/halo2#245</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/halo2/issues/245" xlink:title="zcash/halo2#245&#10;Remove the need to&#10;multiply by powers of x^n&#10;in verifier" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="557,-595.5 351,-595.5 351,-527.5 557,-527.5 557,-595.5"/>
<text text-anchor="middle" x="454" y="-580.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-565.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-550.3" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="454" y="-535.3" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#63 -->
<g id="edge66" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M557.05,-564.31C568.83,-564.63 580.91,-564.96 592.87,-565.28"/>
<polygon fill="#000000" stroke="#000000" points="592.786,-568.7789 602.88,-565.56 592.9818,-561.7817 592.786,-568.7789"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge67" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M556.7,-527.38C560.35,-524.64 563.81,-521.69 567,-518.5 598.67,-486.9 570.55,-455.29 603,-424.5 603.82,-423.72 604.66,-422.96 605.52,-422.21"/>
<polygon fill="#000000" stroke="#000000" points="607.8525,-424.831 613.63,-415.95 603.5753,-419.2897 607.8525,-424.831"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node74" class="node">
<title>zcash/halo2#210</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/halo2/issues/210" xlink:title="zcash/halo2#210&#10;Make multiopen&#10;point_index_map dependent&#10;only on the rotation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="563,-251.5 345,-251.5 345,-183.5 563,-183.5 563,-251.5"/>
<text text-anchor="middle" x="454" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-221.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-206.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-191.3" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge68" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M550.72,-251.5C556.33,-254.33 561.8,-257.33 567,-260.5 610.29,-286.86 652.61,-327.01 680.05,-355.51"/>
<polygon fill="#000000" stroke="#000000" points="677.6025,-358.0153 687.03,-362.85 682.6751,-353.1915 677.6025,-358.0153"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node75" class="node">
<title>zcash/orchard#38</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="248,-895 57,-895 57,-842 248,-842 248,-895"/>
<text text-anchor="middle" x="152.5" y="-879.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="152.5" y="-864.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="152.5" y="-849.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node76" class="node">
<title>zcash/orchard#96</title>
<g id="a_node76"><a xlink:href="https://github.com/zcash/orchard/issues/96" xlink:title="zcash/orchard#96&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="540.5,-895 367.5,-895 367.5,-842 540.5,-842 540.5,-895"/>
<text text-anchor="middle" x="454" y="-879.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="454" y="-864.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="454" y="-849.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#96 -->
<g id="edge69" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M248.31,-868.5C283.07,-868.5 322.35,-868.5 357.2,-868.5"/>
<polygon fill="#000000" stroke="#000000" points="357.38,-872.0001 367.38,-868.5 357.38,-865.0001 357.38,-872.0001"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge70" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M540.65,-868.5C564.24,-868.5 589.94,-868.5 614.06,-868.5"/>
<polygon fill="#000000" stroke="#000000" points="614.29,-872.0001 624.29,-868.5 614.29,-865.0001 614.29,-872.0001"/>
</g>
<!-- zcash/orchard#67 -->
<g id="node77" class="node">
<title>zcash/orchard#67</title>
<g id="a_node77"><a xlink:href="https://github.com/zcash/orchard/pull/67" xlink:title="zcash/orchard#67&#10;Sinsemilla chip with&#10;HashDomain" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="233.5,-966 71.5,-966 71.5,-962 67.5,-962 67.5,-958 71.5,-958 71.5,-921 67.5,-921 67.5,-917 71.5,-917 71.5,-913 233.5,-913 233.5,-966"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-962 75.5,-962 75.5,-958 71.5,-958 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-921 75.5,-921 75.5,-917 71.5,-917 "/>
<text text-anchor="middle" x="152.5" y="-950.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#67</text>
<text text-anchor="middle" x="152.5" y="-935.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla chip with</text>
<text text-anchor="middle" x="152.5" y="-920.8" font-family="Times,serif" font-size="14.00" fill="#000000">HashDomain</text>
</a>
</g>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#95 -->
<g id="edge71" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M233.69,-939.5C269.56,-939.5 312.15,-939.5 350.28,-939.5"/>
<polygon fill="#000000" stroke="#000000" points="350.39,-943.0001 360.39,-939.5 350.39,-936.0001 350.39,-943.0001"/>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#96 -->
<g id="edge72" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M233.69,-920.38C271.88,-911.39 317.69,-900.6 357.63,-891.19"/>
<polygon fill="#000000" stroke="#000000" points="358.4452,-894.5939 367.38,-888.9 356.8446,-887.7793 358.4452,-894.5939"/>
</g>
</g>
</svg>