developers/zcash-core-dag.svg

1318 lines
93 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="2068pt" height="2061pt"
viewBox="0.00 0.00 2068.00 2061.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 2057)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2057 2064,-2057 2064,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="197.5,-201.5 9.5,-201.5 9.5,-163.5 197.5,-163.5 197.5,-201.5"/>
<text text-anchor="middle" x="103.5" y="-186.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="103.5" y="-171.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="491.5,-209 299.5,-209 299.5,-156 491.5,-156 491.5,-209"/>
<text text-anchor="middle" x="395.5" y="-193.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="395.5" y="-178.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="395.5" y="-163.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="M197.9,-182.5C227.09,-182.5 259.44,-182.5 289.37,-182.5"/>
<polygon fill="#000000" stroke="#000000" points="289.42,-186.0001 299.42,-182.5 289.42,-179.0001 289.42,-186.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="196.5,-607 10.5,-607 10.5,-554 196.5,-554 196.5,-607"/>
<text text-anchor="middle" x="103.5" y="-591.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="103.5" y="-576.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="103.5" y="-561.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="1041.5,-1011 868.5,-1011 868.5,-958 1041.5,-958 1041.5,-1011"/>
<text text-anchor="middle" x="955" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="955" y="-980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="955" y="-965.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="1303,-800.5 1100,-800.5 1100,-732.5 1303,-732.5 1303,-800.5"/>
<text text-anchor="middle" x="1201.5" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="1201.5" y="-770.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1201.5" y="-755.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="1201.5" 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="M984.88,-957.76C1008.1,-936.12 1040.2,-904.14 1064,-872.5 1083.4,-846.74 1075.9,-830.91 1100,-809.5 1101.1,-808.51 1102.3,-807.53 1103.4,-806.58"/>
<polygon fill="#000000" stroke="#000000" points="1105.5407,-809.35 1111.5,-800.59 1101.3786,-803.7218 1105.5407,-809.35"/>
</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="1284,-1029 1119,-1029 1119,-976 1284,-976 1284,-1029"/>
<text text-anchor="middle" x="1201.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="1201.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="1201.5" 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="M1041.6,-990.82C1063.3,-992.41 1086.8,-994.12 1108.8,-995.73"/>
<polygon fill="#000000" stroke="#000000" points="1108.671,-999.2298 1118.9,-996.47 1109.1825,-992.2486 1108.671,-999.2298"/>
</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="1302,-886.5 1101,-886.5 1101,-818.5 1302,-818.5 1302,-886.5"/>
<text text-anchor="middle" x="1201.5" y="-871.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="1201.5" y="-856.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="1201.5" y="-841.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="1201.5" 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="M994.69,-957.9C1023.3,-939.28 1063.2,-914.43 1100,-895.5 1102.9,-893.99 1105.9,-892.49 1109,-891"/>
<polygon fill="#000000" stroke="#000000" points="1110.702,-894.0653 1118.2,-886.58 1107.6706,-887.7558 1110.702,-894.0653"/>
</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="1552.5,-836 1340.5,-836 1340.5,-783 1552.5,-783 1552.5,-836"/>
<text text-anchor="middle" x="1446.5" y="-820.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1446.5" y="-805.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1446.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="M1303.3,-784.36C1312.2,-785.92 1321.2,-787.51 1330.2,-789.08"/>
<polygon fill="#000000" stroke="#000000" points="1329.8443,-792.5712 1340.3,-790.86 1331.0593,-785.6774 1329.8443,-792.5712"/>
</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="1540.5,-933 1352.5,-933 1352.5,-880 1540.5,-880 1540.5,-933"/>
<text text-anchor="middle" x="1446.5" y="-917.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1446.5" y="-902.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1446.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="M1277.9,-975.92C1286.4,-972.81 1294.9,-969.63 1303,-966.5 1326.8,-957.31 1352.6,-946.73 1375.6,-937.04"/>
<polygon fill="#000000" stroke="#000000" points="1377.1368,-940.1907 1385,-933.09 1374.425,-933.7374 1377.1368,-940.1907"/>
</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="1540.5,-1029 1352.5,-1029 1352.5,-976 1540.5,-976 1540.5,-1029"/>
<text text-anchor="middle" x="1446.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1446.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1446.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="M1284.1,-1002.5C1302.8,-1002.5 1322.9,-1002.5 1342.3,-1002.5"/>
<polygon fill="#000000" stroke="#000000" points="1342.4,-1006.0001 1352.4,-1002.5 1342.4,-999.0001 1342.4,-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="M1302.2,-834.82C1311.4,-833.21 1320.8,-831.56 1330.1,-829.92"/>
<polygon fill="#000000" stroke="#000000" points="1330.9543,-833.3237 1340.2,-828.15 1329.7459,-826.4288 1330.9543,-833.3237"/>
</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="1802,-766.5 1593,-766.5 1593,-698.5 1802,-698.5 1802,-766.5"/>
<text text-anchor="middle" x="1697.5" y="-751.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1697.5" y="-736.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1697.5" y="-721.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1697.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="M1495.8,-879.97C1514.4,-869.48 1535.5,-856.96 1554,-844.5 1586.8,-822.4 1621.8,-795.14 1649.1,-773.05"/>
<polygon fill="#000000" stroke="#000000" points="1651.3755,-775.7105 1656.9,-766.67 1646.9436,-770.2922 1651.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="1791.5,-1029 1603.5,-1029 1603.5,-976 1791.5,-976 1791.5,-1029"/>
<text text-anchor="middle" x="1697.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1697.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1697.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="M1540.7,-1002.5C1557.8,-1002.5 1575.7,-1002.5 1593.1,-1002.5"/>
<polygon fill="#000000" stroke="#000000" points="1593.2,-1006.0001 1603.2,-1002.5 1593.2,-999.0001 1593.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="2044.5,-1029 1856.5,-1029 1856.5,-976 2044.5,-976 2044.5,-1029"/>
<text text-anchor="middle" x="1950.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1950.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1950.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="M1791.7,-1002.5C1809.4,-1002.5 1828,-1002.5 1846,-1002.5"/>
<polygon fill="#000000" stroke="#000000" points="1846.2,-1006.0001 1856.2,-1002.5 1846.2,-999.0001 1846.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="1039.5,-864 870.5,-864 870.5,-811 1039.5,-811 1039.5,-864"/>
<text text-anchor="middle" x="955" y="-848.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="955" y="-833.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="955" 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="M1039.8,-813.07C1056,-808.4 1073.2,-803.46 1090,-798.6"/>
<polygon fill="#000000" stroke="#000000" points="1091.2528,-801.8818 1099.9,-795.76 1089.3226,-795.1532 1091.2528,-801.8818"/>
</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="201,-1133 6,-1133 6,-1080 201,-1080 201,-1133"/>
<text text-anchor="middle" x="103.5" y="-1117.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="103.5" y="-1102.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="103.5" y="-1087.8" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/orchard#33 -->
<g id="node15" class="node">
<title>zcash/orchard#33</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="810,-696 584,-696 584,-643 810,-643 810,-696"/>
<text text-anchor="middle" x="697" y="-680.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="697" y="-665.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="697" y="-650.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="1041,-722 869,-722 869,-639 1041,-639 1041,-722"/>
<text text-anchor="middle" x="955" y="-706.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="955" y="-691.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="955" y="-676.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="955" y="-661.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="955" 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="M810.16,-674.32C826.27,-675.01 842.71,-675.71 858.45,-676.38"/>
<polygon fill="#000000" stroke="#000000" points="858.5489,-679.8874 868.69,-676.82 858.8495,-672.8938 858.5489,-679.8874"/>
</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="1289.5,-711 1113.5,-711 1113.5,-658 1289.5,-658 1289.5,-711"/>
<text text-anchor="middle" x="1201.5" y="-695.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="1201.5" y="-680.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="1201.5" 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="M1041.2,-681.9C1061.2,-682.22 1082.5,-682.57 1103,-682.9"/>
<polygon fill="#000000" stroke="#000000" points="1103.143,-686.4028 1113.2,-683.07 1103.2597,-679.4037 1103.143,-686.4028"/>
</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="M1275.1,-711.02C1284.6,-714.96 1294.1,-719.16 1303,-723.5 1335.6,-739.4 1370.6,-760.27 1397.9,-777.47"/>
<polygon fill="#000000" stroke="#000000" points="1396.0906,-780.4674 1406.4,-782.91 1399.864,-774.5715 1396.0906,-780.4674"/>
</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="1538,-323 1355,-323 1355,-270 1538,-270 1538,-323"/>
<text text-anchor="middle" x="1446.5" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1446.5" y="-292.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1446.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="M1538.2,-319.21C1544,-322.98 1549.4,-327.38 1554,-332.5 1603.9,-388.02 1566.4,-425.71 1590,-496.5 1613.2,-566.17 1650.5,-642.88 1674.5,-689.36"/>
<polygon fill="#000000" stroke="#000000" points="1671.3958,-690.977 1679.1,-698.25 1677.6129,-687.76 1671.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="1793.5,-330.5 1601.5,-330.5 1601.5,-262.5 1793.5,-262.5 1793.5,-330.5"/>
<text text-anchor="middle" x="1697.5" y="-315.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1697.5" y="-300.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1697.5" y="-285.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1697.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="M1538.2,-296.5C1555.4,-296.5 1573.5,-296.5 1591.1,-296.5"/>
<polygon fill="#000000" stroke="#000000" points="1591.4,-300.0001 1601.4,-296.5 1591.4,-293.0001 1591.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="1798.5,-416.5 1596.5,-416.5 1596.5,-348.5 1798.5,-348.5 1798.5,-416.5"/>
<text text-anchor="middle" x="1697.5" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1697.5" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1697.5" y="-371.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1697.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="M1526.1,-323.03C1535.5,-326.21 1545,-329.41 1554,-332.5 1565.9,-336.58 1578.4,-340.88 1590.8,-345.17"/>
<polygon fill="#000000" stroke="#000000" points="1589.7053,-348.4947 1600.3,-348.45 1591.9898,-341.878 1589.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="2060,-251.5 1841,-251.5 1841,-213.5 2060,-213.5 2060,-251.5"/>
<text text-anchor="middle" x="1950.5" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1950.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="M1794.2,-348.41C1798,-345.66 1801.7,-342.69 1805,-339.5 1832.9,-312.87 1811.4,-285.26 1841,-260.5 1842.4,-259.35 1843.8,-258.25 1845.2,-257.2"/>
<polygon fill="#000000" stroke="#000000" points="1847.3721,-259.9649 1853.9,-251.62 1843.593,-254.0727 1847.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="2044,-409 1857,-409 1857,-356 2044,-356 2044,-409"/>
<text text-anchor="middle" x="1950.5" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1950.5" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1950.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="M1798.6,-382.5C1814.4,-382.5 1830.7,-382.5 1846.6,-382.5"/>
<polygon fill="#000000" stroke="#000000" points="1847,-386.0001 1857,-382.5 1847,-379.0001 1847,-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="2045,-337.5 1856,-337.5 1856,-269.5 2045,-269.5 2045,-337.5"/>
<text text-anchor="middle" x="1950.5" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1950.5" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1950.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="1950.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="M1798.6,-350.94C1814.2,-346.06 1830.4,-341.02 1846,-336.12"/>
<polygon fill="#000000" stroke="#000000" points="1847.1984,-339.4125 1855.7,-333.09 1845.1113,-332.7309 1847.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="2044.5,-551 1856.5,-551 1856.5,-498 2044.5,-498 2044.5,-551"/>
<text text-anchor="middle" x="1950.5" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1950.5" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1950.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="M1793.4,-416.63C1797.5,-419.38 1801.4,-422.33 1805,-425.5 1829.3,-446.67 1816,-468.11 1841,-488.5 1843.1,-490.19 1845.2,-491.8 1847.4,-493.33"/>
<polygon fill="#000000" stroke="#000000" points="1845.9664,-496.5617 1856.3,-498.9 1849.68,-490.628 1845.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="2044.5,-480 1856.5,-480 1856.5,-427 2044.5,-427 2044.5,-480"/>
<text text-anchor="middle" x="1950.5" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1950.5" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1950.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="M1798.6,-410.87C1814.3,-415.28 1830.6,-419.85 1846.4,-424.28"/>
<polygon fill="#000000" stroke="#000000" points="1845.5251,-427.6698 1856.1,-427.02 1847.428,-420.9334 1845.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="1298.5,-248.5 1104.5,-248.5 1104.5,-180.5 1298.5,-180.5 1298.5,-248.5"/>
<text text-anchor="middle" x="1201.5" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="1201.5" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="1201.5" y="-203.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="1201.5" 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="M1298.7,-247.03C1318.1,-253.53 1338.4,-260.33 1357.6,-266.73"/>
<polygon fill="#000000" stroke="#000000" points="1356.5058,-270.0546 1367.1,-269.94 1358.7466,-263.423 1356.5058,-270.0546"/>
</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="1540.5,-246.5 1352.5,-246.5 1352.5,-178.5 1540.5,-178.5 1540.5,-246.5"/>
<text text-anchor="middle" x="1446.5" y="-231.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1446.5" y="-216.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1446.5" y="-201.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1446.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="M1298.7,-213.71C1312.9,-213.59 1327.5,-213.47 1341.9,-213.35"/>
<polygon fill="#000000" stroke="#000000" points="1342.2275,-216.8477 1352.2,-213.27 1342.1731,-209.8479 1342.2275,-216.8477"/>
</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="1805,-244.5 1590,-244.5 1590,-176.5 1805,-176.5 1805,-244.5"/>
<text text-anchor="middle" x="1697.5" y="-229.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1697.5" y="-214.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1697.5" y="-199.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1697.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="M1540.7,-211.75C1553.3,-211.65 1566.4,-211.54 1579.3,-211.44"/>
<polygon fill="#000000" stroke="#000000" points="1579.7273,-214.9369 1589.7,-211.36 1579.6733,-207.9371 1579.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="M1805.2,-219.86C1813.7,-220.6 1822.3,-221.35 1830.9,-222.1"/>
<polygon fill="#000000" stroke="#000000" points="1830.6342,-225.59 1840.9,-222.97 1831.241,-218.6164 1830.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="M1795,-244.72C1798.5,-247.43 1801.9,-250.36 1805,-253.5 1836.2,-285.02 1808.9,-315.98 1841,-346.5 1843.4,-348.77 1845.9,-350.9 1848.6,-352.9"/>
<polygon fill="#000000" stroke="#000000" points="1846.6505,-355.8068 1856.9,-358.49 1850.5609,-350.0008 1846.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="M1790.3,-244.6C1809.1,-251.52 1829,-258.83 1848.1,-265.87"/>
<polygon fill="#000000" stroke="#000000" points="1847.1065,-269.2337 1857.7,-269.4 1849.5223,-262.6638 1847.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="2035.5,-53 1865.5,-53 1865.5,0 2035.5,0 2035.5,-53"/>
<text text-anchor="middle" x="1950.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1950.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1950.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="M1722.1,-176.48C1748.1,-142.79 1792.1,-91.962 1841,-61.5 1845.8,-58.534 1850.8,-55.797 1856,-53.274"/>
<polygon fill="#000000" stroke="#000000" points="1857.8401,-56.2826 1865.5,-48.963 1854.9474,-49.9082 1857.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="2050.5,-195 1850.5,-195 1850.5,-142 2050.5,-142 2050.5,-195"/>
<text text-anchor="middle" x="1950.5" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1950.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1950.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="M1805.2,-192.63C1816.7,-190.71 1828.5,-188.76 1840,-186.84"/>
<polygon fill="#000000" stroke="#000000" points="1840.9018,-190.2387 1850.2,-185.16 1839.7641,-183.3318 1840.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="2035,-124 1866,-124 1866,-71 2035,-71 2035,-124"/>
<text text-anchor="middle" x="1950.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1950.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1950.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="M1754.2,-176.46C1780.1,-161.76 1811.5,-145.08 1841,-132.5 1846,-130.37 1851.2,-128.3 1856.4,-126.29"/>
<polygon fill="#000000" stroke="#000000" points="1857.7453,-129.524 1865.9,-122.76 1855.3071,-122.9623 1857.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="1287.5,-323 1115.5,-323 1115.5,-270 1287.5,-270 1287.5,-323"/>
<text text-anchor="middle" x="1201.5" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="1201.5" y="-292.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="1201.5" 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="M1287.5,-296.5C1306,-296.5 1325.7,-296.5 1344.7,-296.5"/>
<polygon fill="#000000" stroke="#000000" points="1344.8,-300.0001 1354.8,-296.5 1344.8,-293.0001 1344.8,-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="203.5,-1215 3.5,-1215 3.5,-1211 -.5,-1211 -.5,-1207 3.5,-1207 3.5,-1170 -.5,-1170 -.5,-1166 3.5,-1166 3.5,-1162 203.5,-1162 203.5,-1215"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="3.5,-1211 7.5,-1211 7.5,-1207 3.5,-1207 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="3.5,-1170 7.5,-1170 7.5,-1166 3.5,-1166 "/>
<text text-anchor="middle" x="103.5" y="-1199.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="103.5" y="-1184.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="103.5" y="-1169.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="501.5,-1243 289.5,-1243 289.5,-1239 285.5,-1239 285.5,-1235 289.5,-1235 289.5,-1198 285.5,-1198 285.5,-1194 289.5,-1194 289.5,-1190 501.5,-1190 501.5,-1243"/>
<polyline fill="none" stroke="#000000" points="289.5,-1239 293.5,-1239 293.5,-1235 289.5,-1235 "/>
<polyline fill="none" stroke="#000000" points="289.5,-1198 293.5,-1198 293.5,-1194 289.5,-1194 "/>
<text text-anchor="middle" x="395.5" y="-1227.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="395.5" y="-1212.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="395.5" y="-1197.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="M203.58,-1198.1C227.89,-1200.4 254.08,-1202.9 279.07,-1205.3"/>
<polygon fill="#000000" stroke="#000000" points="279.0274,-1208.8124 289.32,-1206.3 279.7071,-1201.8455 279.0274,-1208.8124"/>
</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="792.5,-1175.5 601.5,-1175.5 601.5,-1171.5 597.5,-1171.5 597.5,-1167.5 601.5,-1167.5 601.5,-1115.5 597.5,-1115.5 597.5,-1111.5 601.5,-1111.5 601.5,-1107.5 792.5,-1107.5 792.5,-1175.5"/>
<polyline fill="none" stroke="#000000" points="601.5,-1171.5 605.5,-1171.5 605.5,-1167.5 601.5,-1167.5 "/>
<polyline fill="none" stroke="#000000" points="601.5,-1115.5 605.5,-1115.5 605.5,-1111.5 601.5,-1111.5 "/>
<text text-anchor="middle" x="697" y="-1160.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="697" y="-1145.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="697" y="-1130.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="697" y="-1115.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="M203.51,-1180.6C311.15,-1172.1 481.64,-1158.6 591.4,-1149.9"/>
<polygon fill="#000000" stroke="#000000" points="591.8076,-1153.3788 601.5,-1149.1 591.2548,-1146.4006 591.8076,-1153.3788"/>
</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="784,-1277 610,-1277 610,-1273 606,-1273 606,-1269 610,-1269 610,-1202 606,-1202 606,-1198 610,-1198 610,-1194 784,-1194 784,-1277"/>
<polyline fill="none" stroke="#000000" points="610,-1273 614,-1273 614,-1269 610,-1269 "/>
<polyline fill="none" stroke="#000000" points="610,-1202 614,-1202 614,-1198 610,-1198 "/>
<text text-anchor="middle" x="697" y="-1261.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="697" y="-1246.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="697" y="-1231.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="697" y="-1216.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="697" y="-1201.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="M501.8,-1223.2C533.62,-1225.2 568.34,-1227.4 599.56,-1229.4"/>
<polygon fill="#000000" stroke="#000000" points="599.3785,-1232.8953 609.57,-1230 599.7974,-1225.9078 599.3785,-1232.8953"/>
</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="1064,-1207.5 846,-1207.5 846,-1203.5 842,-1203.5 842,-1199.5 846,-1199.5 846,-1177.5 842,-1177.5 842,-1173.5 846,-1173.5 846,-1169.5 1064,-1169.5 1064,-1207.5"/>
<polyline fill="none" stroke="#000000" points="846,-1203.5 850,-1203.5 850,-1199.5 846,-1199.5 "/>
<polyline fill="none" stroke="#000000" points="846,-1177.5 850,-1177.5 850,-1173.5 846,-1173.5 "/>
<text text-anchor="middle" x="955" y="-1192.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="955" y="-1177.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="M792.7,-1158.9C808.26,-1161.8 824.51,-1164.7 840.46,-1167.6"/>
<polygon fill="#000000" stroke="#000000" points="839.8849,-1171.0527 850.35,-1169.4 841.1384,-1164.1659 839.8849,-1171.0527"/>
</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="M784.35,-1219.6C802.31,-1216.3 821.49,-1212.8 840.26,-1209.4"/>
<polygon fill="#000000" stroke="#000000" points="841.1019,-1212.8051 850.33,-1207.6 839.8701,-1205.9143 841.1019,-1212.8051"/>
</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="1296,-1222.5 1107,-1222.5 1107,-1218.5 1103,-1218.5 1103,-1214.5 1107,-1214.5 1107,-1162.5 1103,-1162.5 1103,-1158.5 1107,-1158.5 1107,-1154.5 1296,-1154.5 1296,-1222.5"/>
<polyline fill="none" stroke="#000000" points="1107,-1218.5 1111,-1218.5 1111,-1214.5 1107,-1214.5 "/>
<polyline fill="none" stroke="#000000" points="1107,-1162.5 1111,-1162.5 1111,-1158.5 1107,-1158.5 "/>
<text text-anchor="middle" x="1201.5" y="-1207.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1201.5" y="-1192.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1201.5" y="-1177.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1201.5" y="-1162.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="M1064.2,-1188.5C1074.9,-1188.5 1085.8,-1188.5 1096.5,-1188.5"/>
<polygon fill="#000000" stroke="#000000" points="1096.7,-1192.0001 1106.7,-1188.5 1096.7,-1185.0001 1096.7,-1192.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="200,-1333.5 7,-1333.5 7,-1329.5 3,-1329.5 3,-1325.5 7,-1325.5 7,-1303.5 3,-1303.5 3,-1299.5 7,-1299.5 7,-1295.5 200,-1295.5 200,-1333.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="7,-1329.5 11,-1329.5 11,-1325.5 7,-1325.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="7,-1303.5 11,-1303.5 11,-1299.5 7,-1299.5 "/>
<text text-anchor="middle" x="103.5" y="-1318.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="103.5" y="-1303.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="492,-1333.5 299,-1333.5 299,-1329.5 295,-1329.5 295,-1325.5 299,-1325.5 299,-1303.5 295,-1303.5 295,-1299.5 299,-1299.5 299,-1295.5 492,-1295.5 492,-1333.5"/>
<polyline fill="none" stroke="#000000" points="299,-1329.5 303,-1329.5 303,-1325.5 299,-1325.5 "/>
<polyline fill="none" stroke="#000000" points="299,-1303.5 303,-1303.5 303,-1299.5 299,-1299.5 "/>
<text text-anchor="middle" x="395.5" y="-1318.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="395.5" y="-1303.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="M200.33,-1314.5C228.69,-1314.5 259.86,-1314.5 288.8,-1314.5"/>
<polygon fill="#000000" stroke="#000000" points="288.94,-1318.0001 298.94,-1314.5 288.94,-1311.0001 288.94,-1318.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="793.5,-1333.5 600.5,-1333.5 600.5,-1329.5 596.5,-1329.5 596.5,-1325.5 600.5,-1325.5 600.5,-1303.5 596.5,-1303.5 596.5,-1299.5 600.5,-1299.5 600.5,-1295.5 793.5,-1295.5 793.5,-1333.5"/>
<polyline fill="none" stroke="#000000" points="600.5,-1329.5 604.5,-1329.5 604.5,-1325.5 600.5,-1325.5 "/>
<polyline fill="none" stroke="#000000" points="600.5,-1303.5 604.5,-1303.5 604.5,-1299.5 600.5,-1299.5 "/>
<text text-anchor="middle" x="697" y="-1318.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="697" y="-1303.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="M492.14,-1314.5C523.38,-1314.5 558.19,-1314.5 590.13,-1314.5"/>
<polygon fill="#000000" stroke="#000000" points="590.39,-1318.0001 600.39,-1314.5 590.39,-1311.0001 590.39,-1318.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="1294,-398 1109,-398 1109,-345 1294,-345 1294,-398"/>
<text text-anchor="middle" x="1201.5" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="1201.5" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="1201.5" 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="M1288.2,-344.95C1308.3,-338.8 1329.8,-332.23 1350.3,-325.96"/>
<polygon fill="#000000" stroke="#000000" points="1351.3692,-329.293 1359.9,-323.01 1349.313,-322.6018 1351.3692,-329.293"/>
</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="1547.5,-409.5 1345.5,-409.5 1345.5,-341.5 1547.5,-341.5 1547.5,-409.5"/>
<text text-anchor="middle" x="1446.5" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1446.5" y="-379.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1446.5" y="-364.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1446.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="M1294.1,-373.01C1307.4,-373.23 1321.2,-373.45 1334.8,-373.68"/>
<polygon fill="#000000" stroke="#000000" points="1335.0436,-377.1844 1345.1,-373.85 1335.1592,-370.1854 1335.0436,-377.1844"/>
</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="M1547.5,-378.32C1560.2,-378.67 1573.2,-379.03 1586.1,-379.39"/>
<polygon fill="#000000" stroke="#000000" points="1586.2045,-382.8943 1596.3,-379.68 1586.4035,-375.8971 1586.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="1057.5,-398 852.5,-398 852.5,-345 1057.5,-345 1057.5,-398"/>
<text text-anchor="middle" x="955" y="-382.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="955" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="955" 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="M1057.8,-371.5C1071.2,-371.5 1085,-371.5 1098.5,-371.5"/>
<polygon fill="#000000" stroke="#000000" points="1098.7,-375.0001 1108.7,-371.5 1098.7,-368.0001 1098.7,-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="194.5,-1405 12.5,-1405 12.5,-1352 194.5,-1352 194.5,-1405"/>
<text text-anchor="middle" x="103.5" y="-1389.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="103.5" y="-1374.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="103.5" y="-1359.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="1554,-495.5 1339,-495.5 1339,-427.5 1554,-427.5 1554,-495.5"/>
<text text-anchor="middle" x="1446.5" y="-480.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1446.5" y="-465.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1446.5" y="-450.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1446.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="M1554,-427.65C1564.7,-424.29 1575.6,-420.86 1586.3,-417.49"/>
<polygon fill="#000000" stroke="#000000" points="1587.6154,-420.7452 1596.1,-414.4 1585.5103,-414.0692 1587.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="1805,-488 1590,-488 1590,-435 1805,-435 1805,-488"/>
<text text-anchor="middle" x="1697.5" y="-472.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1697.5" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1697.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="M1554,-461.5C1562.6,-461.5 1571.2,-461.5 1579.8,-461.5"/>
<polygon fill="#000000" stroke="#000000" points="1579.8,-465.0001 1589.8,-461.5 1579.8,-458.0001 1579.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="205,-1476 2,-1476 2,-1423 205,-1423 205,-1476"/>
<text text-anchor="middle" x="103.5" y="-1460.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="103.5" y="-1445.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="103.5" y="-1430.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="1303,-958 1100,-958 1100,-905 1303,-905 1303,-958"/>
<text text-anchor="middle" x="1201.5" y="-942.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="1201.5" y="-927.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="1201.5" 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="M1282.7,-904.93C1289.6,-901.98 1296.5,-898.83 1303,-895.5 1320.3,-886.61 1322.5,-880.87 1339,-870.5 1354.9,-860.52 1372.4,-850.25 1388.7,-841.05"/>
<polygon fill="#000000" stroke="#000000" points="1390.5276,-844.0373 1397.5,-836.06 1387.0747,-837.9481 1390.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="201.5,-1607 5.5,-1607 5.5,-1494 201.5,-1494 201.5,-1607"/>
<text text-anchor="middle" x="103.5" y="-1591.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="103.5" y="-1576.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="103.5" y="-1561.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="103.5" y="-1546.8" font-family="Times,serif" font-size="14.00" fill="#000000">in places where the node</text>
<text text-anchor="middle" x="103.5" y="-1531.8" font-family="Times,serif" font-size="14.00" fill="#000000">needs to commit to a</text>
<text text-anchor="middle" x="103.5" y="-1516.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="103.5" y="-1501.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="198,-1708 9,-1708 9,-1625 198,-1625 198,-1708"/>
<text text-anchor="middle" x="103.5" y="-1692.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="103.5" y="-1677.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="103.5" y="-1662.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="103.5" y="-1647.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="103.5" y="-1632.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="799,-868.5 595,-868.5 595,-800.5 799,-800.5 799,-868.5"/>
<text text-anchor="middle" x="697" y="-853.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="697" y="-838.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="697" y="-823.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="697" y="-808.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="M799.34,-835.69C819.35,-835.92 840.25,-836.17 860,-836.4"/>
<polygon fill="#000000" stroke="#000000" points="860.1829,-839.9021 870.22,-836.51 860.2583,-832.9025 860.1829,-839.9021"/>
</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="197.5,-1794.5 9.5,-1794.5 9.5,-1726.5 197.5,-1726.5 197.5,-1794.5"/>
<text text-anchor="middle" x="103.5" y="-1779.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="103.5" y="-1764.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add RPC test case that</text>
<text text-anchor="middle" x="103.5" y="-1749.3" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="103.5" y="-1734.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="785.5,-940 608.5,-940 608.5,-936 604.5,-936 604.5,-932 608.5,-932 608.5,-895 604.5,-895 604.5,-891 608.5,-891 608.5,-887 785.5,-887 785.5,-940"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="608.5,-936 612.5,-936 612.5,-932 608.5,-932 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="608.5,-895 612.5,-895 612.5,-891 608.5,-891 "/>
<text text-anchor="middle" x="697" y="-924.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#54</text>
<text text-anchor="middle" x="697" y="-909.8" font-family="Times,serif" font-size="14.00" fill="#000000">[book] Document ECC</text>
<text text-anchor="middle" x="697" y="-894.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="M785.79,-887.35C809.98,-880.22 836.27,-872.47 860.75,-865.26"/>
<polygon fill="#000000" stroke="#000000" points="861.795,-868.601 870.4,-862.42 859.8186,-861.8857 861.795,-868.601"/>
</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="1063,-793 847,-793 847,-740 1063,-740 1063,-793"/>
<text text-anchor="middle" x="955" y="-777.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="955" y="-762.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="955" 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="M1063.1,-766.5C1071.9,-766.5 1080.7,-766.5 1089.5,-766.5"/>
<polygon fill="#000000" stroke="#000000" points="1089.7,-770.0001 1099.7,-766.5 1089.7,-763.0001 1089.7,-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="548,-806 243,-806 243,-753 548,-753 548,-806"/>
<text text-anchor="middle" x="395.5" y="-790.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="395.5" y="-775.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="395.5" y="-760.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="M460.1,-752.93C496.31,-738.34 542.42,-720.27 584,-705.5 589.86,-703.42 595.9,-701.33 602.01,-699.26"/>
<polygon fill="#000000" stroke="#000000" points="603.2801,-702.5258 611.65,-696.03 601.0561,-695.8884 603.2801,-702.5258"/>
</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="790.5,-1011 603.5,-1011 603.5,-958 790.5,-958 790.5,-1011"/>
<text text-anchor="middle" x="697" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="697" y="-980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="697" 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="M418.42,-806.19C451.49,-843.12 516.09,-909.65 584,-948.5 587.28,-950.37 590.66,-952.16 594.12,-953.87"/>
<polygon fill="#000000" stroke="#000000" points="592.9067,-957.1657 603.45,-958.21 595.8592,-950.8188 592.9067,-957.1657"/>
</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="M790.51,-984.5C812.52,-984.5 836.02,-984.5 858.18,-984.5"/>
<polygon fill="#000000" stroke="#000000" points="858.25,-988.0001 868.25,-984.5 858.25,-981.0001 858.25,-988.0001"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node59" class="node">
<title>zcash/halo2#75</title>
<g id="a_node59"><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="1291,-544 1112,-544 1112,-491 1291,-491 1291,-544"/>
<text text-anchor="middle" x="1201.5" y="-528.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1201.5" y="-513.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1201.5" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node60" class="node">
<title>zcash/halo2#251</title>
<g id="a_node60"><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="1551.5,-567 1341.5,-567 1341.5,-514 1551.5,-514 1551.5,-567"/>
<text text-anchor="middle" x="1446.5" y="-551.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1446.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="1446.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="edge55" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1291.3,-525.93C1304.3,-527.15 1317.8,-528.41 1331.1,-529.67"/>
<polygon fill="#000000" stroke="#000000" points="1331.016,-533.1775 1341.3,-530.63 1331.672,-526.2083 1331.016,-533.1775"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node61" class="node">
<title>zcash/halo2#79</title>
<g id="a_node61"><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="1035.5,-621 874.5,-621 874.5,-538 1035.5,-538 1035.5,-621"/>
<text text-anchor="middle" x="955" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="955" y="-590.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="955" y="-575.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="955" y="-560.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="955" y="-545.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node62" class="node">
<title>zcash/halo2#78</title>
<g id="a_node62"><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="799,-617.5 595,-617.5 595,-549.5 799,-549.5 799,-617.5"/>
<text text-anchor="middle" x="697" y="-602.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="697" y="-587.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="697" y="-572.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="697" y="-557.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="edge56" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M799.34,-581.91C820.74,-581.58 843.16,-581.23 864.11,-580.91"/>
<polygon fill="#000000" stroke="#000000" points="864.3264,-584.4071 874.27,-580.75 864.2161,-577.408 864.3264,-584.4071"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node63" class="node">
<title>zcash/halo2#250</title>
<g id="a_node63"><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="1052,-520 858,-520 858,-467 1052,-467 1052,-520"/>
<text text-anchor="middle" x="955" y="-504.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="955" y="-489.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="955" 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="edge57" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M787.39,-549.43C806.68,-542.36 826.97,-535.06 846,-528.5 850.92,-526.8 855.98,-525.08 861.09,-523.37"/>
<polygon fill="#000000" stroke="#000000" points="862.588,-526.5602 870.97,-520.08 860.3764,-519.9187 862.588,-526.5602"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge58" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1052.1,-502.95C1068.4,-504.54 1085.3,-506.19 1101.6,-507.78"/>
<polygon fill="#000000" stroke="#000000" points="1101.4087,-511.2778 1111.7,-508.76 1102.0848,-504.3105 1101.4087,-511.2778"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node64" class="node">
<title>zcash/halo2#57</title>
<g id="a_node64"><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="175,-1880.5 32,-1880.5 32,-1812.5 175,-1812.5 175,-1880.5"/>
<text text-anchor="middle" x="103.5" y="-1865.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="103.5" y="-1850.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="103.5" y="-1835.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="103.5" y="-1820.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node65" class="node">
<title>zcash/halo2#82</title>
<g id="a_node65"><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="200,-1982 7,-1982 7,-1899 200,-1899 200,-1982"/>
<text text-anchor="middle" x="103.5" y="-1966.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="103.5" y="-1951.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="103.5" y="-1936.8" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="103.5" y="-1921.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="103.5" y="-1906.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node66" class="node">
<title>zcash/halo2#248</title>
<g id="a_node66"><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="798.5,-445 595.5,-445 595.5,-392 798.5,-392 798.5,-445"/>
<text text-anchor="middle" x="697" y="-429.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="697" y="-414.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="697" y="-399.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="edge59" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M788.32,-445.05C809.57,-451.22 832.31,-457.83 853.94,-464.12"/>
<polygon fill="#000000" stroke="#000000" points="853.2203,-467.5557 863.8,-466.99 855.1767,-460.8346 853.2203,-467.5557"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node67" class="node">
<title>zcash/halo2#249</title>
<g id="a_node67"><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="789.5,-373.5 604.5,-373.5 604.5,-305.5 789.5,-305.5 789.5,-373.5"/>
<text text-anchor="middle" x="697" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="697" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="697" y="-328.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="697" y="-313.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="edge60" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M789.6,-372.17C796.61,-375.42 803.49,-378.87 810,-382.5 831.34,-394.4 879.55,-432.21 914.54,-460.42"/>
<polygon fill="#000000" stroke="#000000" points="912.7028,-463.4354 922.68,-467 917.1034,-457.9916 912.7028,-463.4354"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node68" class="node">
<title>zcash/halo2#246</title>
<g id="a_node68"><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="485,-280 306,-280 306,-227 485,-227 485,-280"/>
<text text-anchor="middle" x="395.5" y="-264.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="395.5" y="-249.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="395.5" y="-234.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node69" class="node">
<title>zcash/halo2#247</title>
<g id="a_node69"><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="785,-287.5 609,-287.5 609,-219.5 785,-219.5 785,-287.5"/>
<text text-anchor="middle" x="697" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="697" y="-257.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="697" y="-242.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="697" y="-227.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="edge61" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M485.14,-253.5C520.92,-253.5 562.23,-253.5 598.81,-253.5"/>
<polygon fill="#000000" stroke="#000000" points="599,-257.0001 609,-253.5 599,-250.0001 599,-257.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge62" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M785.24,-277.78C794.38,-282.89 802.9,-289.06 810,-296.5 845.5,-333.72 816.67,-364.24 846,-406.5 860.8,-427.83 882.33,-446.55 902.35,-461.11"/>
<polygon fill="#000000" stroke="#000000" points="900.3267,-463.9659 910.51,-466.89 904.3728,-458.2537 900.3267,-463.9659"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node70" class="node">
<title>zcash/halo2#245</title>
<g id="a_node70"><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="800,-782.5 594,-782.5 594,-714.5 800,-714.5 800,-782.5"/>
<text text-anchor="middle" x="697" y="-767.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="697" y="-752.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="697" y="-737.3" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="697" y="-722.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="edge63" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M800.08,-755.69C812.03,-756.53 824.3,-757.38 836.43,-758.23"/>
<polygon fill="#000000" stroke="#000000" points="836.3703,-761.7343 846.59,-758.94 836.8584,-754.7513 836.3703,-761.7343"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge64" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M800.16,-714.29C803.71,-711.3 807.01,-708.04 810,-704.5 861.47,-643.47 792.7,-587.95 846,-528.5 847.34,-527 848.75,-525.57 850.22,-524.19"/>
<polygon fill="#000000" stroke="#000000" points="852.4713,-526.8702 857.98,-517.82 848.0299,-521.4596 852.4713,-526.8702"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node71" class="node">
<title>zcash/halo2#210</title>
<g id="a_node71"><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="806,-531.5 588,-531.5 588,-463.5 806,-463.5 806,-531.5"/>
<text text-anchor="middle" x="697" y="-516.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="697" y="-501.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="697" y="-486.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="697" y="-471.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="edge65" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M806.04,-495.81C819.74,-495.6 833.75,-495.38 847.42,-495.17"/>
<polygon fill="#000000" stroke="#000000" points="847.8651,-498.6637 857.81,-495.01 847.7573,-491.6645 847.8651,-498.6637"/>
</g>
<!-- zcash/halo2#312 -->
<g id="node72" class="node">
<title>zcash/halo2#312</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/halo2/issues/312" xlink:title="zcash/halo2#312&#10;[Book] Document gadget&#10;API" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="201,-2053 6,-2053 6,-2000 201,-2000 201,-2053"/>
<text text-anchor="middle" x="103.5" y="-2037.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#312</text>
<text text-anchor="middle" x="103.5" y="-2022.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Book] Document gadget</text>
<text text-anchor="middle" x="103.5" y="-2007.8" font-family="Times,serif" font-size="14.00" fill="#000000">API</text>
</a>
</g>
</g>
<!-- zcash/orchard#38 -->
<g id="node73" class="node">
<title>zcash/orchard#38</title>
<g id="a_node73"><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="491,-1093 300,-1093 300,-1040 491,-1040 491,-1093"/>
<text text-anchor="middle" x="395.5" y="-1077.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="395.5" y="-1062.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="395.5" y="-1047.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node74" class="node">
<title>zcash/orchard#96</title>
<g id="a_node74"><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="783.5,-1089 610.5,-1089 610.5,-1036 783.5,-1036 783.5,-1089"/>
<text text-anchor="middle" x="697" y="-1073.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="697" y="-1058.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="697" y="-1043.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="edge66" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M491.31,-1065.2C526.07,-1064.8 565.35,-1064.2 600.2,-1063.8"/>
<polygon fill="#000000" stroke="#000000" points="600.4507,-1067.2958 610.38,-1063.6 600.3131,-1060.2972 600.4507,-1067.2958"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge67" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M783.63,-1036.3C807.67,-1029 833.91,-1021.1 858.48,-1013.7"/>
<polygon fill="#000000" stroke="#000000" points="859.5851,-1017.0227 868.16,-1010.8 857.5762,-1010.3171 859.5851,-1017.0227"/>
</g>
<!-- zcash/orchard#132 -->
<g id="node75" class="node">
<title>zcash/orchard#132</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/orchard/pull/132" xlink:title="zcash/orchard#132&#10;Add short range check to&#10;`lookup_range_check` util" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="207,-1007 0,-1007 0,-1003 -4,-1003 -4,-999 0,-999 0,-962 -4,-962 -4,-958 0,-958 0,-954 207,-954 207,-1007"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-1003 4,-1003 4,-999 0,-999 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="0,-962 4,-962 4,-958 0,-958 "/>
<text text-anchor="middle" x="103.5" y="-991.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#132</text>
<text text-anchor="middle" x="103.5" y="-976.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add short range check to</text>
<text text-anchor="middle" x="103.5" y="-961.8" font-family="Times,serif" font-size="14.00" fill="#000000">`lookup_range_check` util</text>
</a>
</g>
</g>
<!-- zcash/orchard#133 -->
<g id="node76" class="node">
<title>zcash/orchard#133</title>
<g id="a_node76"><a xlink:href="https://github.com/zcash/orchard/pull/133" xlink:title="zcash/orchard#133&#10;Introduce&#10;`LookupRangeCheckConfig`s&#10;for each Sinsemilla&#10;advice column" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="510.5,-1022 280.5,-1022 280.5,-1018 276.5,-1018 276.5,-1014 280.5,-1014 280.5,-947 276.5,-947 276.5,-943 280.5,-943 280.5,-939 510.5,-939 510.5,-1022"/>
<polyline fill="none" stroke="#000000" points="280.5,-1018 284.5,-1018 284.5,-1014 280.5,-1014 "/>
<polyline fill="none" stroke="#000000" points="280.5,-947 284.5,-947 284.5,-943 280.5,-943 "/>
<text text-anchor="middle" x="395.5" y="-1006.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#133</text>
<text text-anchor="middle" x="395.5" y="-991.8" font-family="Times,serif" font-size="14.00" fill="#000000">Introduce</text>
<text text-anchor="middle" x="395.5" y="-976.8" font-family="Times,serif" font-size="14.00" fill="#000000">`LookupRangeCheckConfig`s</text>
<text text-anchor="middle" x="395.5" y="-961.8" font-family="Times,serif" font-size="14.00" fill="#000000">for each Sinsemilla</text>
<text text-anchor="middle" x="395.5" y="-946.8" font-family="Times,serif" font-size="14.00" fill="#000000">advice column</text>
</a>
</g>
</g>
<!-- zcash/orchard#132&#45;&gt;zcash/orchard#133 -->
<g id="edge68" class="edge">
<title>zcash/orchard#132&#45;&gt;zcash/orchard#133</title>
<path fill="none" stroke="#000000" d="M207.27,-980.5C227.63,-980.5 249.18,-980.5 270.15,-980.5"/>
<polygon fill="#000000" stroke="#000000" points="270.4,-984.0001 280.4,-980.5 270.4,-977.0001 270.4,-984.0001"/>
</g>
<!-- zcash/orchard#133&#45;&gt;zcash/orchard#95 -->
<g id="edge69" class="edge">
<title>zcash/orchard#133&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M510.77,-982.03C537.9,-982.39 566.65,-982.77 593.23,-983.12"/>
<polygon fill="#000000" stroke="#000000" points="593.2523,-986.6206 603.3,-983.26 593.3497,-979.6212 593.2523,-986.6206"/>
</g>
</g>
</svg>