developers/zcash-core-dag.svg

1301 lines
92 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="2069pt"
viewBox="0.00 0.00 1838.00 2069.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 2065)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2065 1834,-2065 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,-192.5 58.5,-192.5 58.5,-154.5 246.5,-154.5 246.5,-192.5"/>
<text text-anchor="middle" x="152.5" y="-177.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-162.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,-200 358,-200 358,-147 550,-147 550,-200"/>
<text text-anchor="middle" x="454" y="-184.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-169.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-154.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,-173.5C278.76,-173.5 314.86,-173.5 347.84,-173.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-177.0001 357.96,-173.5 347.96,-170.0001 347.96,-177.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,-279 59.5,-279 59.5,-226 245.5,-226 245.5,-279"/>
<text text-anchor="middle" x="152.5" y="-263.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-248.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-233.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,-1015 624.5,-1015 624.5,-962 797.5,-962 797.5,-1015"/>
<text text-anchor="middle" x="711" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="711" y="-984.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="711" y="-969.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,-800.5 862.5,-800.5 862.5,-732.5 1065.5,-732.5 1065.5,-800.5"/>
<text text-anchor="middle" x="964" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="964" y="-770.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="964" y="-755.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="964" y="-740.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="M739.09,-961.95C762.1,-939.4 794.7,-905.52 819,-872.5 838.11,-846.53 830.62,-830.61 855,-809.5 856.15,-808.5 857.33,-807.52 858.54,-806.57"/>
<polygon fill="#000000" stroke="#000000" points="860.7681,-809.2771 866.79,-800.56 856.6464,-803.6192 860.7681,-809.2771"/>
</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,-1029 881.5,-1029 881.5,-976 1046.5,-976 1046.5,-1029"/>
<text text-anchor="middle" x="964" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="964" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="964" y="-983.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="M797.71,-993.3C821.37,-994.61 847.09,-996.03 871.08,-997.36"/>
<polygon fill="#000000" stroke="#000000" points="871.0625,-1000.8643 881.24,-997.92 871.4478,-993.8749 871.0625,-1000.8643"/>
</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="#fad8c7" stroke="#000000" points="1064.5,-886.5 863.5,-886.5 863.5,-818.5 1064.5,-818.5 1064.5,-886.5"/>
<text text-anchor="middle" x="964" y="-871.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="964" y="-856.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="964" y="-841.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="964" y="-826.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="M747.68,-961.92C776.08,-942.06 816.88,-915.08 855,-895.5 858.08,-893.92 861.23,-892.36 864.43,-890.82"/>
<polygon fill="#000000" stroke="#000000" points="865.9778,-893.9601 873.56,-886.56 863.018,-887.6166 865.9778,-893.9601"/>
</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,-836 1110.5,-836 1110.5,-783 1322.5,-783 1322.5,-836"/>
<text text-anchor="middle" x="1216.5" y="-820.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1216.5" y="-805.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1216.5" y="-790.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="M1065.6,-783.8C1077,-785.74 1088.6,-787.71 1100.1,-789.67"/>
<polygon fill="#000000" stroke="#000000" points="1099.6514,-793.1442 1110.1,-791.39 1100.838,-786.2455 1099.6514,-793.1442"/>
</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,-933 1122.5,-933 1122.5,-880 1310.5,-880 1310.5,-933"/>
<text text-anchor="middle" x="1216.5" y="-917.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1216.5" y="-902.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1216.5" y="-887.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,-975.94C1055.6,-972.86 1064.5,-969.67 1073,-966.5 1097.1,-957.49 1123.2,-946.87 1146.4,-937.08"/>
<polygon fill="#000000" stroke="#000000" points="1147.9625,-940.2191 1155.8,-933.09 1145.2274,-933.7755 1147.9625,-940.2191"/>
</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,-1029 1122.5,-1029 1122.5,-976 1310.5,-976 1310.5,-1029"/>
<text text-anchor="middle" x="1216.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1216.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1216.5" y="-983.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,-1002.5C1067.5,-1002.5 1090.2,-1002.5 1112,-1002.5"/>
<polygon fill="#000000" stroke="#000000" points="1112.3,-1006.0001 1122.3,-1002.5 1112.3,-999.0001 1112.3,-1006.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,-835.38C1076.2,-833.39 1088.3,-831.34 1100.2,-829.31"/>
<polygon fill="#000000" stroke="#000000" points="1100.8316,-832.7529 1110.1,-827.62 1099.6536,-825.8527 1100.8316,-832.7529"/>
</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,-766.5 1363,-766.5 1363,-698.5 1572,-698.5 1572,-766.5"/>
<text text-anchor="middle" x="1467.5" y="-751.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1467.5" y="-736.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1467.5" y="-721.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1467.5" y="-706.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="M1265.8,-879.97C1284.4,-869.48 1305.5,-856.96 1324,-844.5 1356.8,-822.4 1391.8,-795.14 1419.1,-773.05"/>
<polygon fill="#000000" stroke="#000000" points="1421.3755,-775.7105 1426.9,-766.67 1416.9436,-770.2922 1421.3755,-775.7105"/>
</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,-1029 1373.5,-1029 1373.5,-976 1561.5,-976 1561.5,-1029"/>
<text text-anchor="middle" x="1467.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1467.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1467.5" y="-983.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,-1002.5C1327.8,-1002.5 1345.7,-1002.5 1363.1,-1002.5"/>
<polygon fill="#000000" stroke="#000000" points="1363.2,-1006.0001 1373.2,-1002.5 1363.2,-999.0001 1363.2,-1006.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,-1029 1626.5,-1029 1626.5,-976 1814.5,-976 1814.5,-1029"/>
<text text-anchor="middle" x="1720.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1720.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1720.5" y="-983.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,-1002.5C1579.4,-1002.5 1598,-1002.5 1616,-1002.5"/>
<polygon fill="#000000" stroke="#000000" points="1616.2,-1006.0001 1626.2,-1002.5 1616.2,-999.0001 1616.2,-1006.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,-864 626.5,-864 626.5,-811 795.5,-811 795.5,-864"/>
<text text-anchor="middle" x="711" y="-848.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="711" y="-833.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="711" y="-818.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,-813.76C813.91,-808.62 833.54,-803.11 852.7,-797.74"/>
<polygon fill="#000000" stroke="#000000" points="853.6829,-801.0994 862.36,-795.02 851.7857,-794.3614 853.6829,-801.0994"/>
</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,-1224 55,-1224 55,-1171 250,-1171 250,-1224"/>
<text text-anchor="middle" x="152.5" y="-1208.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1193.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1178.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,-695 341,-695 341,-642 567,-642 567,-695"/>
<text text-anchor="middle" x="454" y="-679.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-664.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-649.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,-722 625,-722 625,-639 797,-639 797,-722"/>
<text text-anchor="middle" x="711" y="-706.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="711" y="-691.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="711" y="-676.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="711" y="-661.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="711" y="-646.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,-673.78C583.01,-674.52 599.23,-675.28 614.79,-676.01"/>
<polygon fill="#000000" stroke="#000000" points="614.7482,-679.5117 624.9,-676.48 615.0734,-672.5193 614.7482,-679.5117"/>
</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,-711 876,-711 876,-658 1052,-658 1052,-711"/>
<text text-anchor="middle" x="964" y="-695.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="964" y="-680.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="964" y="-665.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,-681.86C819,-682.21 842.81,-682.58 865.38,-682.94"/>
<polygon fill="#000000" stroke="#000000" points="865.5967,-686.4437 875.65,-683.1 865.7058,-679.4446 865.5967,-686.4437"/>
</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="M1043.9,-711.04C1053.8,-714.93 1063.7,-719.12 1073,-723.5 1105.9,-739.07 1141,-760.03 1168.3,-777.36"/>
<polygon fill="#000000" stroke="#000000" points="1166.5008,-780.3645 1176.8,-782.85 1170.2987,-774.4843 1166.5008,-780.3645"/>
</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,-323 1125,-323 1125,-270 1308,-270 1308,-323"/>
<text text-anchor="middle" x="1216.5" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1216.5" y="-292.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1216.5" y="-277.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,-319.21C1314,-322.98 1319.4,-327.38 1324,-332.5 1373.9,-388.02 1336.4,-425.71 1360,-496.5 1383.2,-566.17 1420.5,-642.88 1444.5,-689.36"/>
<polygon fill="#000000" stroke="#000000" points="1441.3958,-690.977 1449.1,-698.25 1447.6129,-687.76 1441.3958,-690.977"/>
</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,-330.5 1371.5,-330.5 1371.5,-262.5 1563.5,-262.5 1563.5,-330.5"/>
<text text-anchor="middle" x="1467.5" y="-315.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1467.5" y="-300.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1467.5" y="-285.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1467.5" y="-270.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,-296.5C1325.4,-296.5 1343.5,-296.5 1361.1,-296.5"/>
<polygon fill="#000000" stroke="#000000" points="1361.4,-300.0001 1371.4,-296.5 1361.4,-293.0001 1361.4,-300.0001"/>
</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,-416.5 1366.5,-416.5 1366.5,-348.5 1568.5,-348.5 1568.5,-416.5"/>
<text text-anchor="middle" x="1467.5" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1467.5" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1467.5" y="-371.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1467.5" y="-356.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="M1296.1,-323.03C1305.5,-326.21 1315,-329.41 1324,-332.5 1335.9,-336.58 1348.4,-340.88 1360.8,-345.17"/>
<polygon fill="#000000" stroke="#000000" points="1359.7053,-348.4947 1370.3,-348.45 1361.9898,-341.878 1359.7053,-348.4947"/>
</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,-251.5 1611,-251.5 1611,-213.5 1830,-213.5 1830,-251.5"/>
<text text-anchor="middle" x="1720.5" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1720.5" y="-221.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="M1564.2,-348.41C1568,-345.66 1571.7,-342.69 1575,-339.5 1602.9,-312.87 1581.4,-285.26 1611,-260.5 1612.4,-259.35 1613.8,-258.25 1615.2,-257.2"/>
<polygon fill="#000000" stroke="#000000" points="1617.3721,-259.9649 1623.9,-251.62 1613.593,-254.0727 1617.3721,-259.9649"/>
</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,-409 1627,-409 1627,-356 1814,-356 1814,-409"/>
<text text-anchor="middle" x="1720.5" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1720.5" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-363.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,-382.5C1584.4,-382.5 1600.7,-382.5 1616.6,-382.5"/>
<polygon fill="#000000" stroke="#000000" points="1617,-386.0001 1627,-382.5 1617,-379.0001 1617,-386.0001"/>
</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,-337.5 1626,-337.5 1626,-269.5 1815,-269.5 1815,-337.5"/>
<text text-anchor="middle" x="1720.5" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1720.5" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1720.5" y="-292.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="-277.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,-350.94C1584.2,-346.06 1600.4,-341.02 1616,-336.12"/>
<polygon fill="#000000" stroke="#000000" points="1617.1984,-339.4125 1625.7,-333.09 1615.1113,-332.7309 1617.1984,-339.4125"/>
</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,-551 1626.5,-551 1626.5,-498 1814.5,-498 1814.5,-551"/>
<text text-anchor="middle" x="1720.5" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1720.5" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-505.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="M1563.4,-416.63C1567.5,-419.38 1571.4,-422.33 1575,-425.5 1599.3,-446.67 1586,-468.11 1611,-488.5 1613.1,-490.19 1615.2,-491.8 1617.4,-493.33"/>
<polygon fill="#000000" stroke="#000000" points="1615.9664,-496.5617 1626.3,-498.9 1619.68,-490.628 1615.9664,-496.5617"/>
</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,-480 1626.5,-480 1626.5,-427 1814.5,-427 1814.5,-480"/>
<text text-anchor="middle" x="1720.5" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1720.5" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-434.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="M1568.6,-410.87C1584.3,-415.28 1600.6,-419.85 1616.4,-424.28"/>
<polygon fill="#000000" stroke="#000000" points="1615.5251,-427.6698 1626.1,-427.02 1617.428,-420.9334 1615.5251,-427.6698"/>
</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,-248.5 867,-248.5 867,-180.5 1061,-180.5 1061,-248.5"/>
<text text-anchor="middle" x="964" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="964" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="964" y="-203.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="964" y="-188.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,-246.09C1082.3,-252.9 1104.4,-260.08 1125.1,-266.82"/>
<polygon fill="#000000" stroke="#000000" points="1124.3082,-270.2424 1134.9,-269.99 1126.4626,-263.5821 1124.3082,-270.2424"/>
</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,-246.5 1122.5,-246.5 1122.5,-178.5 1310.5,-178.5 1310.5,-246.5"/>
<text text-anchor="middle" x="1216.5" y="-231.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1216.5" y="-216.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1216.5" y="-201.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1216.5" y="-186.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,-213.73C1077.8,-213.6 1095.1,-213.46 1111.8,-213.33"/>
<polygon fill="#000000" stroke="#000000" points="1112.2273,-216.8269 1122.2,-213.25 1112.1733,-209.8271 1112.2273,-216.8269"/>
</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,-244.5 1360,-244.5 1360,-176.5 1575,-176.5 1575,-244.5"/>
<text text-anchor="middle" x="1467.5" y="-229.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1467.5" y="-214.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1467.5" y="-199.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1467.5" y="-184.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,-211.75C1323.3,-211.65 1336.4,-211.54 1349.3,-211.44"/>
<polygon fill="#000000" stroke="#000000" points="1349.7273,-214.9369 1359.7,-211.36 1349.6733,-207.9371 1349.7273,-214.9369"/>
</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,-219.86C1583.7,-220.6 1592.3,-221.35 1600.9,-222.1"/>
<polygon fill="#000000" stroke="#000000" points="1600.6342,-225.59 1610.9,-222.97 1601.241,-218.6164 1600.6342,-225.59"/>
</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="M1565,-244.72C1568.5,-247.43 1571.9,-250.36 1575,-253.5 1606.2,-285.02 1578.9,-315.98 1611,-346.5 1613.4,-348.77 1615.9,-350.9 1618.6,-352.9"/>
<polygon fill="#000000" stroke="#000000" points="1616.6505,-355.8068 1626.9,-358.49 1620.5609,-350.0008 1616.6505,-355.8068"/>
</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="M1560.3,-244.6C1579.1,-251.52 1599,-258.83 1618.1,-265.87"/>
<polygon fill="#000000" stroke="#000000" points="1617.1065,-269.2337 1627.7,-269.4 1619.5223,-262.6638 1617.1065,-269.2337"/>
</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,-53 1635.5,-53 1635.5,0 1805.5,0 1805.5,-53"/>
<text text-anchor="middle" x="1720.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</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_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="M1492.1,-176.48C1518.1,-142.79 1562.1,-91.962 1611,-61.5 1615.8,-58.534 1620.8,-55.797 1626,-53.274"/>
<polygon fill="#000000" stroke="#000000" points="1627.8401,-56.2826 1635.5,-48.963 1624.9474,-49.9082 1627.8401,-56.2826"/>
</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,-195 1620.5,-195 1620.5,-142 1820.5,-142 1820.5,-195"/>
<text text-anchor="middle" x="1720.5" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1720.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1720.5" y="-149.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="M1575.2,-192.63C1586.7,-190.71 1598.5,-188.76 1610,-186.84"/>
<polygon fill="#000000" stroke="#000000" points="1610.9018,-190.2387 1620.2,-185.16 1609.7641,-183.3318 1610.9018,-190.2387"/>
</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,-124 1636,-124 1636,-71 1805,-71 1805,-124"/>
<text text-anchor="middle" x="1720.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1720.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1720.5" y="-78.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="M1524.2,-176.46C1550.1,-161.76 1581.5,-145.08 1611,-132.5 1616,-130.37 1621.2,-128.3 1626.4,-126.29"/>
<polygon fill="#000000" stroke="#000000" points="1627.7453,-129.524 1635.9,-122.76 1625.3071,-122.9623 1627.7453,-129.524"/>
</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,-323 878,-323 878,-270 1050,-270 1050,-323"/>
<text text-anchor="middle" x="964" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="964" y="-292.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="964" y="-277.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,-296.5C1070.9,-296.5 1093.2,-296.5 1114.6,-296.5"/>
<polygon fill="#000000" stroke="#000000" points="1114.7,-300.0001 1124.7,-296.5 1114.7,-293.0001 1114.7,-300.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,-1295 52.5,-1295 52.5,-1291 48.5,-1291 48.5,-1287 52.5,-1287 52.5,-1250 48.5,-1250 48.5,-1246 52.5,-1246 52.5,-1242 252.5,-1242 252.5,-1295"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1291 56.5,-1291 56.5,-1287 52.5,-1287 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1250 56.5,-1250 56.5,-1246 52.5,-1246 "/>
<text text-anchor="middle" x="152.5" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1264.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="-1249.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,-1330 348,-1330 348,-1326 344,-1326 344,-1322 348,-1322 348,-1285 344,-1285 344,-1281 348,-1281 348,-1277 560,-1277 560,-1330"/>
<polyline fill="none" stroke="#000000" points="348,-1326 352,-1326 352,-1322 348,-1322 "/>
<polyline fill="none" stroke="#000000" points="348,-1285 352,-1285 352,-1281 348,-1281 "/>
<text text-anchor="middle" x="454" y="-1314.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1299.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1284.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,-1280.2C280.05,-1283.3 309.67,-1286.7 337.63,-1290"/>
<polygon fill="#000000" stroke="#000000" points="337.4998,-1293.5087 347.84,-1291.2 338.3169,-1286.5566 337.4998,-1293.5087"/>
</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,-1254.5 615.5,-1254.5 615.5,-1250.5 611.5,-1250.5 611.5,-1246.5 615.5,-1246.5 615.5,-1194.5 611.5,-1194.5 611.5,-1190.5 615.5,-1190.5 615.5,-1186.5 806.5,-1186.5 806.5,-1254.5"/>
<polyline fill="none" stroke="#000000" points="615.5,-1250.5 619.5,-1250.5 619.5,-1246.5 615.5,-1246.5 "/>
<polyline fill="none" stroke="#000000" points="615.5,-1194.5 619.5,-1194.5 619.5,-1190.5 615.5,-1190.5 "/>
<text text-anchor="middle" x="711" y="-1239.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="711" y="-1224.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="711" y="-1209.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="711" y="-1194.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.67,-1259.9C352.06,-1251.3 503.8,-1238.3 605.14,-1229.6"/>
<polygon fill="#000000" stroke="#000000" points="605.7345,-1233.0614 615.39,-1228.7 605.1222,-1226.0882 605.7345,-1233.0614"/>
</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,-1356 624,-1356 624,-1352 620,-1352 620,-1348 624,-1348 624,-1281 620,-1281 620,-1277 624,-1277 624,-1273 798,-1273 798,-1356"/>
<polyline fill="none" stroke="#000000" points="624,-1352 628,-1352 628,-1348 624,-1348 "/>
<polyline fill="none" stroke="#000000" points="624,-1281 628,-1281 628,-1277 624,-1277 "/>
<text text-anchor="middle" x="711" y="-1340.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="711" y="-1325.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="711" y="-1310.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="711" y="-1295.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="711" y="-1280.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,-1308C577.7,-1308.8 595.97,-1309.6 613.43,-1310.3"/>
<polygon fill="#000000" stroke="#000000" points="613.4503,-1313.8051 623.61,-1310.8 613.7938,-1306.8136 613.4503,-1313.8051"/>
</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,-1286.5 855,-1286.5 855,-1282.5 851,-1282.5 851,-1278.5 855,-1278.5 855,-1256.5 851,-1256.5 851,-1252.5 855,-1252.5 855,-1248.5 1073,-1248.5 1073,-1286.5"/>
<polyline fill="none" stroke="#000000" points="855,-1282.5 859,-1282.5 859,-1278.5 855,-1278.5 "/>
<polyline fill="none" stroke="#000000" points="855,-1256.5 859,-1256.5 859,-1252.5 855,-1252.5 "/>
<text text-anchor="middle" x="964" y="-1271.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="964" y="-1256.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,-1238.3C821.2,-1241 836.33,-1243.8 851.21,-1246.5"/>
<polygon fill="#000000" stroke="#000000" points="850.9748,-1250.02 861.46,-1248.5 852.3154,-1243.1496 850.9748,-1250.02"/>
</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,-1298.3C815.31,-1295.1 833.65,-1291.7 851.6,-1288.4"/>
<polygon fill="#000000" stroke="#000000" points="852.3569,-1291.8187 861.52,-1286.5 851.0401,-1284.9437 852.3569,-1291.8187"/>
</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,-1301.5 1122,-1301.5 1122,-1297.5 1118,-1297.5 1118,-1293.5 1122,-1293.5 1122,-1241.5 1118,-1241.5 1118,-1237.5 1122,-1237.5 1122,-1233.5 1311,-1233.5 1311,-1301.5"/>
<polyline fill="none" stroke="#000000" points="1122,-1297.5 1126,-1297.5 1126,-1293.5 1122,-1293.5 "/>
<polyline fill="none" stroke="#000000" points="1122,-1241.5 1126,-1241.5 1126,-1237.5 1122,-1237.5 "/>
<text text-anchor="middle" x="1216.5" y="-1286.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1216.5" y="-1271.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1216.5" y="-1256.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1216.5" y="-1241.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,-1267.5C1086,-1267.5 1099,-1267.5 1111.6,-1267.5"/>
<polygon fill="#000000" stroke="#000000" points="1111.7,-1271.0001 1121.7,-1267.5 1111.7,-1264.0001 1111.7,-1271.0001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node40" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node40"><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,-1412.5 56,-1412.5 56,-1408.5 52,-1408.5 52,-1404.5 56,-1404.5 56,-1382.5 52,-1382.5 52,-1378.5 56,-1378.5 56,-1374.5 249,-1374.5 249,-1412.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1408.5 60,-1408.5 60,-1404.5 56,-1404.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1382.5 60,-1382.5 60,-1378.5 56,-1378.5 "/>
<text text-anchor="middle" x="152.5" y="-1397.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1382.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="node41" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node41"><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,-1412.5 357.5,-1412.5 357.5,-1408.5 353.5,-1408.5 353.5,-1404.5 357.5,-1404.5 357.5,-1382.5 353.5,-1382.5 353.5,-1378.5 357.5,-1378.5 357.5,-1374.5 550.5,-1374.5 550.5,-1412.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1408.5 361.5,-1408.5 361.5,-1404.5 357.5,-1404.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1382.5 361.5,-1382.5 361.5,-1378.5 357.5,-1378.5 "/>
<text text-anchor="middle" x="454" y="-1397.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1382.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="edge40" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1393.5C280.38,-1393.5 315.19,-1393.5 347.13,-1393.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1397.0001 357.39,-1393.5 347.39,-1390.0001 347.39,-1397.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node42" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node42"><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,-1412.5 614.5,-1412.5 614.5,-1408.5 610.5,-1408.5 610.5,-1404.5 614.5,-1404.5 614.5,-1382.5 610.5,-1382.5 610.5,-1378.5 614.5,-1378.5 614.5,-1374.5 807.5,-1374.5 807.5,-1412.5"/>
<polyline fill="none" stroke="#000000" points="614.5,-1408.5 618.5,-1408.5 618.5,-1404.5 614.5,-1404.5 "/>
<polyline fill="none" stroke="#000000" points="614.5,-1382.5 618.5,-1382.5 618.5,-1378.5 614.5,-1378.5 "/>
<text text-anchor="middle" x="711" y="-1397.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="711" y="-1382.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="edge41" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.79,-1393.5C568.16,-1393.5 586.35,-1393.5 603.98,-1393.5"/>
<polygon fill="#000000" stroke="#000000" points="604.29,-1397.0001 614.29,-1393.5 604.29,-1390.0001 604.29,-1397.0001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node43" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node43"><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,-398 871.5,-398 871.5,-345 1056.5,-345 1056.5,-398"/>
<text text-anchor="middle" x="964" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="964" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="964" y="-352.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="edge42" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1053.4,-344.95C1074.2,-338.78 1096.4,-332.17 1117.6,-325.88"/>
<polygon fill="#000000" stroke="#000000" points="1118.6215,-329.2277 1127.2,-323.01 1116.6165,-322.521 1118.6215,-329.2277"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node44" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node44"><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,-409.5 1115.5,-409.5 1115.5,-341.5 1317.5,-341.5 1317.5,-409.5"/>
<text text-anchor="middle" x="1216.5" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1216.5" y="-379.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1216.5" y="-364.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1216.5" y="-349.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="edge43" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1056.6,-372.97C1072.4,-373.22 1089.1,-373.48 1105.3,-373.74"/>
<polygon fill="#000000" stroke="#000000" points="1105.3458,-377.2411 1115.4,-373.9 1105.4567,-370.2419 1105.3458,-377.2411"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge44" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1317.5,-378.32C1330.2,-378.67 1343.2,-379.03 1356.1,-379.39"/>
<polygon fill="#000000" stroke="#000000" points="1356.2045,-382.8943 1366.3,-379.68 1356.4035,-375.8971 1356.2045,-382.8943"/>
</g>
<!-- zcash/zips#364 -->
<g id="node45" class="node">
<title>zcash/zips#364</title>
<g id="a_node45"><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,-398 608.5,-398 608.5,-345 813.5,-345 813.5,-398"/>
<text text-anchor="middle" x="711" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="711" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="711" y="-352.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="edge45" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M813.54,-371.5C829.16,-371.5 845.28,-371.5 860.91,-371.5"/>
<polygon fill="#000000" stroke="#000000" points="861.1,-375.0001 871.1,-371.5 861.1,-368.0001 861.1,-375.0001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node46" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node46"><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,-1484 61.5,-1484 61.5,-1431 243.5,-1431 243.5,-1484"/>
<text text-anchor="middle" x="152.5" y="-1468.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1453.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1438.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node47" class="node">
<title>zcash/zips#511</title>
<g id="a_node47"><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,-495.5 1109,-495.5 1109,-427.5 1324,-427.5 1324,-495.5"/>
<text text-anchor="middle" x="1216.5" y="-480.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1216.5" y="-465.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1216.5" y="-450.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1216.5" y="-435.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="edge46" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1324,-427.65C1334.7,-424.29 1345.6,-420.86 1356.3,-417.49"/>
<polygon fill="#000000" stroke="#000000" points="1357.6154,-420.7452 1366.1,-414.4 1355.5103,-414.0692 1357.6154,-420.7452"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node48" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node48"><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,-488 1360,-488 1360,-435 1575,-435 1575,-488"/>
<text text-anchor="middle" x="1467.5" y="-472.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1467.5" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1467.5" y="-442.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="edge47" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1324,-461.5C1332.6,-461.5 1341.2,-461.5 1349.8,-461.5"/>
<polygon fill="#000000" stroke="#000000" points="1349.8,-465.0001 1359.8,-461.5 1349.8,-458.0001 1349.8,-465.0001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node49" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node49"><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,-1555 51,-1555 51,-1502 254,-1502 254,-1555"/>
<text text-anchor="middle" x="152.5" y="-1539.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1524.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1509.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="node50" class="node">
<title>zcash/zcash#5196</title>
<g id="a_node50"><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,-958 862.5,-958 862.5,-905 1065.5,-905 1065.5,-958"/>
<text text-anchor="middle" x="964" y="-942.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="964" y="-927.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="964" y="-912.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="edge48" class="edge">
<title>zcash/zcash#5196&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1052.1,-904.89C1059.2,-901.97 1066.3,-898.84 1073,-895.5 1090.4,-886.8 1092.5,-880.87 1109,-870.5 1124.9,-860.52 1142.4,-850.25 1158.7,-841.05"/>
<polygon fill="#000000" stroke="#000000" points="1160.5276,-844.0373 1167.5,-836.06 1157.0747,-837.9481 1160.5276,-844.0373"/>
</g>
<!-- zcash/zcash#5198 -->
<g id="node51" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node51"><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,-1686 54.5,-1686 54.5,-1573 250.5,-1573 250.5,-1686"/>
<text text-anchor="middle" x="152.5" y="-1670.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1655.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1640.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1625.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="-1610.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="-1595.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1580.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5199 -->
<g id="node52" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node52"><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,-1787 58,-1787 58,-1704 247,-1704 247,-1787"/>
<text text-anchor="middle" x="152.5" y="-1771.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="152.5" y="-1756.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="152.5" y="-1741.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="152.5" y="-1726.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="152.5" y="-1711.8" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zips#506 -->
<g id="node53" class="node">
<title>zcash/zips#506</title>
<g id="a_node53"><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,-939.5 352,-939.5 352,-871.5 556,-871.5 556,-939.5"/>
<text text-anchor="middle" x="454" y="-924.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="454" y="-909.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="454" y="-894.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="454" y="-879.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="edge49" class="edge">
<title>zcash/zips#506&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M556.31,-878.43C576.19,-873.17 596.94,-867.68 616.55,-862.49"/>
<polygon fill="#000000" stroke="#000000" points="617.6074,-865.8308 626.38,-859.89 615.8175,-859.0635 617.6074,-865.8308"/>
</g>
<!-- zcash/zcash#5223 -->
<g id="node54" class="node">
<title>zcash/zcash#5223</title>
<g id="a_node54"><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,-1873.5 58.5,-1873.5 58.5,-1805.5 246.5,-1805.5 246.5,-1873.5"/>
<text text-anchor="middle" x="152.5" y="-1858.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="152.5" y="-1843.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="-1828.3" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="152.5" y="-1813.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitments for v4 txs</text>
</a>
</g>
</g>
<!-- zcash/orchard#54 -->
<g id="node55" class="node">
<title>zcash/orchard#54</title>
<g id="a_node55"><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,-853 365.5,-853 365.5,-849 361.5,-849 361.5,-845 365.5,-845 365.5,-808 361.5,-808 361.5,-804 365.5,-804 365.5,-800 542.5,-800 542.5,-853"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="365.5,-849 369.5,-849 369.5,-845 365.5,-845 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="365.5,-808 369.5,-808 369.5,-804 365.5,-804 "/>
<text text-anchor="middle" x="454" y="-837.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#54</text>
<text text-anchor="middle" x="454" y="-822.8" font-family="Times,serif" font-size="14.00" fill="#000000">[book] Document ECC</text>
<text text-anchor="middle" x="454" y="-807.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="edge50" class="edge">
<title>zcash/orchard#54&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M542.8,-830.3C566.42,-831.31 592.01,-832.41 615.95,-833.43"/>
<polygon fill="#000000" stroke="#000000" points="615.9476,-836.9331 626.09,-833.87 616.2512,-829.9397 615.9476,-836.9331"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node56" class="node">
<title>zcash/halo2#63</title>
<g id="a_node56"><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,-793 603,-793 603,-740 819,-740 819,-793"/>
<text text-anchor="middle" x="711" y="-777.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="711" y="-762.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="711" y="-747.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="edge51" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M819.03,-766.5C830.03,-766.5 841.22,-766.5 852.27,-766.5"/>
<polygon fill="#000000" stroke="#000000" points="852.35,-770.0001 862.35,-766.5 852.35,-763.0001 852.35,-770.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node57" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node57"><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,-853 0,-853 0,-800 305,-800 305,-853"/>
<text text-anchor="middle" x="152.5" y="-837.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="-822.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-807.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="edge52" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M187.33,-799.9C223.96,-772.91 284.08,-731.4 341,-704.5 345.09,-702.57 349.31,-700.7 353.61,-698.91"/>
<polygon fill="#000000" stroke="#000000" points="355.1515,-702.0624 363.12,-695.08 352.5365,-695.5692 355.1515,-702.0624"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node58" class="node">
<title>zcash/orchard#95</title>
<g id="a_node58"><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,-1011 360.5,-1011 360.5,-958 547.5,-958 547.5,-1011"/>
<text text-anchor="middle" x="454" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-965.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="edge53" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M187.33,-853.1C223.96,-880.09 284.08,-921.6 341,-948.5 345.09,-950.43 349.31,-952.3 353.61,-954.09"/>
<polygon fill="#000000" stroke="#000000" points="352.5365,-957.4308 363.12,-957.92 355.1515,-950.9376 352.5365,-957.4308"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge54" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.51,-985.96C569.19,-986.29 592.31,-986.65 614.14,-986.99"/>
<polygon fill="#000000" stroke="#000000" points="614.3466,-990.4936 624.4,-987.15 614.4558,-983.4944 614.3466,-990.4936"/>
</g>
<!-- zcash/halo2#64 -->
<g id="node59" class="node">
<title>zcash/halo2#64</title>
<g id="a_node59"><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,-1153 67.5,-1153 67.5,-1100 237.5,-1100 237.5,-1153"/>
<text text-anchor="middle" x="152.5" y="-1137.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="152.5" y="-1122.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="152.5" y="-1107.8" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#235 -->
<g id="node60" class="node">
<title>zcash/halo2#235</title>
<g id="a_node60"><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,-1153 366,-1153 366,-1100 542,-1100 542,-1153"/>
<text text-anchor="middle" x="454" y="-1137.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="454" y="-1122.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="454" y="-1107.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="edge55" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M237.69,-1126.5C274.45,-1126.5 317.68,-1126.5 355.79,-1126.5"/>
<polygon fill="#000000" stroke="#000000" points="355.87,-1130.0001 365.87,-1126.5 355.87,-1123.0001 355.87,-1130.0001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge56" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M542.05,-1101.4C550.63,-1098.1 559.08,-1094.4 567,-1090.5 604.93,-1071.6 643.92,-1043.3 671.75,-1021.4"/>
<polygon fill="#000000" stroke="#000000" points="674.083,-1024.0144 679.65,-1015 669.6766,-1018.5753 674.083,-1024.0144"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node61" class="node">
<title>zcash/halo2#75</title>
<g id="a_node61"><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,-544 874.5,-544 874.5,-491 1053.5,-491 1053.5,-544"/>
<text text-anchor="middle" x="964" y="-528.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="964" y="-513.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="964" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node62" class="node">
<title>zcash/halo2#251</title>
<g id="a_node62"><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,-567 1111.5,-567 1111.5,-514 1321.5,-514 1321.5,-567"/>
<text text-anchor="middle" x="1216.5" y="-551.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1216.5" y="-536.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="-521.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="edge57" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1053.7,-525.67C1069,-527.06 1085,-528.52 1100.8,-529.96"/>
<polygon fill="#000000" stroke="#000000" points="1100.8233,-533.4766 1111.1,-530.9 1101.4595,-526.5056 1100.8233,-533.4766"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node63" class="node">
<title>zcash/halo2#79</title>
<g id="a_node63"><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,-621 630.5,-621 630.5,-538 791.5,-538 791.5,-621"/>
<text text-anchor="middle" x="711" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="711" y="-590.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="711" y="-575.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="711" y="-560.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="711" y="-545.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node64" class="node">
<title>zcash/halo2#78</title>
<g id="a_node64"><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,-616.5 352,-616.5 352,-548.5 556,-548.5 556,-616.5"/>
<text text-anchor="middle" x="454" y="-601.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-586.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-571.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-556.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="edge58" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.31,-581.31C577.48,-581.06 599.65,-580.8 620.37,-580.56"/>
<polygon fill="#000000" stroke="#000000" points="620.4526,-584.0594 630.41,-580.44 620.3689,-577.0599 620.4526,-584.0594"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node65" class="node">
<title>zcash/halo2#250</title>
<g id="a_node65"><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,-520 614,-520 614,-467 808,-467 808,-520"/>
<text text-anchor="middle" x="711" y="-504.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="711" y="-489.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="711" y="-474.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="edge59" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.42,-548.45C565.11,-541.72 584.65,-534.8 603,-528.5 608.07,-526.76 613.28,-525 618.54,-523.23"/>
<polygon fill="#000000" stroke="#000000" points="619.6779,-526.5401 628.06,-520.06 617.4664,-519.8986 619.6779,-526.5401"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge60" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M808.09,-502.71C826.43,-504.45 845.65,-506.27 864.08,-508.02"/>
<polygon fill="#000000" stroke="#000000" points="863.9346,-511.5218 874.22,-508.98 864.5944,-504.553 863.9346,-511.5218"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node66" class="node">
<title>zcash/halo2#57</title>
<g id="a_node66"><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,-1959.5 81,-1959.5 81,-1891.5 224,-1891.5 224,-1959.5"/>
<text text-anchor="middle" x="152.5" y="-1944.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1929.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1914.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1899.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node67" class="node">
<title>zcash/halo2#82</title>
<g id="a_node67"><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,-2061 56,-2061 56,-1978 249,-1978 249,-2061"/>
<text text-anchor="middle" x="152.5" y="-2045.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-2030.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-2015.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="-2000.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1985.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node68" class="node">
<title>zcash/halo2#248</title>
<g id="a_node68"><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,-530 352.5,-530 352.5,-477 555.5,-477 555.5,-530"/>
<text text-anchor="middle" x="454" y="-514.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-499.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-484.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="edge61" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M555.57,-499.55C571.34,-498.93 587.68,-498.3 603.57,-497.68"/>
<polygon fill="#000000" stroke="#000000" points="604.0824,-501.1629 613.94,-497.28 603.8125,-494.1681 604.0824,-501.1629"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node69" class="node">
<title>zcash/halo2#249</title>
<g id="a_node69"><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,-458.5 361.5,-458.5 361.5,-390.5 546.5,-390.5 546.5,-458.5"/>
<text text-anchor="middle" x="454" y="-443.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-428.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-413.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-398.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="edge62" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.78,-449.41C565.27,-454.37 584.83,-459.63 603.76,-464.71"/>
<polygon fill="#000000" stroke="#000000" points="603.0244,-468.1364 613.59,-467.35 604.8401,-461.376 603.0244,-468.1364"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node70" class="node">
<title>zcash/halo2#246</title>
<g id="a_node70"><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,-365 63,-365 63,-312 242,-312 242,-365"/>
<text text-anchor="middle" x="152.5" y="-349.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-334.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-319.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node71" class="node">
<title>zcash/halo2#247</title>
<g id="a_node71"><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,-372.5 366,-372.5 366,-304.5 542,-304.5 542,-372.5"/>
<text text-anchor="middle" x="454" y="-357.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-342.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-327.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-312.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="edge63" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-338.5C277.92,-338.5 319.23,-338.5 355.81,-338.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-342.0001 366,-338.5 356,-335.0001 356,-342.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge64" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.17,-369.08C550.72,-372.92 559.13,-377.08 567,-381.5 578.02,-387.7 631.29,-429.72 669.84,-460.48"/>
<polygon fill="#000000" stroke="#000000" points="667.8211,-463.3468 677.82,-466.85 672.1881,-457.876 667.8211,-463.3468"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node72" class="node">
<title>zcash/halo2#245</title>
<g id="a_node72"><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,-781.5 351,-781.5 351,-713.5 557,-713.5 557,-781.5"/>
<text text-anchor="middle" x="454" y="-766.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-751.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-736.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="-721.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="edge65" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M557.05,-755.12C568.83,-755.99 580.91,-756.88 592.87,-757.77"/>
<polygon fill="#000000" stroke="#000000" points="592.6491,-761.2631 602.88,-758.51 593.1653,-754.2822 592.6491,-761.2631"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge66" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M557.15,-713.29C560.7,-710.29 564.01,-707.04 567,-703.5 618.23,-642.83 550.04,-587.66 603,-528.5 604.03,-527.35 605.09,-526.24 606.19,-525.17"/>
<polygon fill="#000000" stroke="#000000" points="608.567,-527.7431 613.92,-518.6 604.0337,-522.4094 608.567,-527.7431"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node73" class="node">
<title>zcash/halo2#210</title>
<g id="a_node73"><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,-286.5 345,-286.5 345,-218.5 563,-218.5 563,-286.5"/>
<text text-anchor="middle" x="454" y="-271.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-256.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-241.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-226.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="edge67" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M557.16,-286.61C560.66,-289.35 563.96,-292.31 567,-295.5 602.74,-333.08 573.58,-363.79 603,-406.5 617.58,-427.67 638.78,-446.31 658.54,-460.85"/>
<polygon fill="#000000" stroke="#000000" points="656.7303,-463.8587 666.9,-466.83 660.8029,-458.1654 656.7303,-463.8587"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node74" class="node">
<title>zcash/orchard#38</title>
<g id="a_node74"><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,-1082 57,-1082 57,-1029 248,-1029 248,-1082"/>
<text text-anchor="middle" x="152.5" y="-1066.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="152.5" y="-1051.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="152.5" y="-1036.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node75" class="node">
<title>zcash/orchard#96</title>
<g id="a_node75"><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,-1082 367.5,-1082 367.5,-1029 540.5,-1029 540.5,-1082"/>
<text text-anchor="middle" x="454" y="-1066.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="454" y="-1051.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="454" y="-1036.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="edge68" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M248.31,-1055.5C283.07,-1055.5 322.35,-1055.5 357.2,-1055.5"/>
<polygon fill="#000000" stroke="#000000" points="357.38,-1059.0001 367.38,-1055.5 357.38,-1052.0001 357.38,-1059.0001"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge69" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M540.65,-1032.9C564.34,-1026.7 590.17,-1020 614.38,-1013.7"/>
<polygon fill="#000000" stroke="#000000" points="615.5056,-1017.0232 624.29,-1011.1 613.7291,-1010.2524 615.5056,-1017.0232"/>
</g>
</g>
</svg>