developers/zcash-core-dag.svg

1295 lines
91 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1838pt" height="1914pt"
viewBox="0.00 0.00 1838.00 1914.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 1910)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1910 1834,-1910 1834,4 -4,4"/>
<!-- zcash/librustzcash#226 -->
<g id="node1" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/librustzcash/issues/226" xlink:title="zcash/librustzcash#226&#10;Bring in Bolt TZE" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-45.5 58.5,-45.5 58.5,-7.5 246.5,-7.5 246.5,-45.5"/>
<text text-anchor="middle" x="152.5" y="-30.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-15.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node2" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node2"><a xlink:href="https://github.com/zcash/librustzcash/issues/225" xlink:title="zcash/librustzcash#225&#10;Add Bolt TZE support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550,-53 358,-53 358,0 550,0 550,-53"/>
<text text-anchor="middle" x="454" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge1" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M246.66,-26.5C278.76,-26.5 314.86,-26.5 347.84,-26.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-30.0001 357.96,-26.5 347.96,-23.0001 347.96,-30.0001"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node3" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node3"><a xlink:href="https://github.com/zcash/zcash/issues/4190" xlink:title="zcash/zcash#4190&#10;TZE: implement zcashd&#10;&#39;host&#39; logic." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="245.5,-132 59.5,-132 59.5,-79 245.5,-79 245.5,-132"/>
<text text-anchor="middle" x="152.5" y="-116.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-101.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-86.8" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/orchard#4 -->
<g id="node4" class="node">
<title>zcash/orchard#4</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/orchard/issues/4" xlink:title="zcash/orchard#4&#10;Implement the Action&#10;circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="797.5,-785 624.5,-785 624.5,-732 797.5,-732 797.5,-785"/>
<text text-anchor="middle" x="711" y="-769.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="711" y="-754.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="711" y="-739.8" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node5" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node5"><a xlink:href="https://github.com/zcash/librustzcash/issues/320" xlink:title="zcash/librustzcash#320&#10;Implement Orchard&#10;consensus rules as an NU&#10;feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1065.5,-615.5 862.5,-615.5 862.5,-547.5 1065.5,-547.5 1065.5,-615.5"/>
<text text-anchor="middle" x="964" y="-600.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="964" y="-585.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="964" y="-570.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="964" y="-555.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="M733.86,-731.94C760.46,-702.39 806.9,-654.83 855,-624.5 857.18,-623.12 859.42,-621.78 861.69,-620.46"/>
<polygon fill="#000000" stroke="#000000" points="863.5624,-623.4251 870.65,-615.55 860.1984,-617.2863 863.5624,-623.4251"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node6" class="node">
<title>zcash/orchard#35</title>
<g id="a_node6"><a xlink:href="https://github.com/zcash/orchard/issues/35" xlink:title="zcash/orchard#35&#10;Transaction building&#10;support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1046.5,-915 881.5,-915 881.5,-862 1046.5,-862 1046.5,-915"/>
<text text-anchor="middle" x="964" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="964" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="964" y="-869.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="M745.49,-785.15C773.71,-805.97 815.3,-834.47 855,-853.5 860.34,-856.06 865.91,-858.5 871.59,-860.81"/>
<polygon fill="#000000" stroke="#000000" points="870.6417,-864.1969 881.23,-864.57 873.1854,-857.6754 870.6417,-864.1969"/>
</g>
<!-- zcash/zcash#5195 -->
<g id="node7" class="node">
<title>zcash/zcash#5195</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/5195" xlink:title="zcash/zcash#5195&#10;Implement Orchard proof&#10;verification consensus&#10;rule" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1064.5,-701.5 863.5,-701.5 863.5,-633.5 1064.5,-633.5 1064.5,-701.5"/>
<text text-anchor="middle" x="964" y="-686.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="964" y="-671.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="964" y="-656.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="964" y="-641.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="M784.86,-731.93C808.27,-723.51 834.6,-714.04 859.73,-705"/>
<polygon fill="#000000" stroke="#000000" points="861.0657,-708.2391 869.29,-701.56 858.6956,-701.6526 861.0657,-708.2391"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node8" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/5024" xlink:title="zcash/zcash#5024&#10;Implement NU5 consensus&#10;rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1322.5,-716 1110.5,-716 1110.5,-663 1322.5,-663 1322.5,-716"/>
<text text-anchor="middle" x="1216.5" y="-700.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1216.5" y="-685.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1216.5" y="-670.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="M1051.3,-615.5C1058.7,-618.5 1066,-621.53 1073,-624.5 1098.5,-635.28 1126.2,-647.68 1150.4,-658.74"/>
<polygon fill="#000000" stroke="#000000" points="1148.951,-661.9259 1159.5,-662.91 1151.8671,-655.5622 1148.951,-661.9259"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node9" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1310.5,-822 1122.5,-822 1122.5,-769 1310.5,-769 1310.5,-822"/>
<text text-anchor="middle" x="1216.5" y="-806.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1216.5" y="-791.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1216.5" y="-776.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge6" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M1046.6,-862.67C1055.6,-859.67 1064.5,-856.58 1073,-853.5 1096.3,-845.05 1121.5,-835.16 1144.1,-825.96"/>
<polygon fill="#000000" stroke="#000000" points="1145.7527,-829.0665 1153.7,-822.06 1143.118,-822.5812 1145.7527,-829.0665"/>
</g>
<!-- zcash/librustzcash#406 -->
<g id="node10" class="node">
<title>zcash/librustzcash#406</title>
<g id="a_node10"><a xlink:href="https://github.com/zcash/librustzcash/issues/406" xlink:title="zcash/librustzcash#406&#10;Add Orchard support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1310.5,-915 1122.5,-915 1122.5,-862 1310.5,-862 1310.5,-915"/>
<text text-anchor="middle" x="1216.5" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1216.5" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1216.5" y="-869.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/librustzcash#406 -->
<g id="edge7" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/librustzcash#406</title>
<path fill="none" stroke="#000000" d="M1046.7,-888.5C1067.5,-888.5 1090.2,-888.5 1112,-888.5"/>
<polygon fill="#000000" stroke="#000000" points="1112.3,-892.0001 1122.3,-888.5 1112.3,-885.0001 1112.3,-892.0001"/>
</g>
<!-- zcash/zcash#5195&#45;&gt;zcash/zcash#5024 -->
<g id="edge8" class="edge">
<title>zcash/zcash#5195&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1064.5,-676.26C1076.1,-677.27 1088,-678.3 1099.8,-679.33"/>
<polygon fill="#000000" stroke="#000000" points="1099.8333,-682.8462 1110.1,-680.23 1100.4427,-675.8727 1099.8333,-682.8462"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node11" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node11"><a xlink:href="https://github.com/zcash/zcash/issues/5023" xlink:title="zcash/zcash#5023&#10;Implement support for&#10;Orchard shielded coinbase&#10;output" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1572,-694.5 1363,-694.5 1363,-626.5 1572,-626.5 1572,-694.5"/>
<text text-anchor="middle" x="1467.5" y="-679.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1467.5" y="-664.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1467.5" y="-649.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1467.5" y="-634.3" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge9" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1265.8,-768.99C1302.6,-749.17 1353.6,-721.77 1395.1,-699.47"/>
<polygon fill="#000000" stroke="#000000" points="1396.8803,-702.4861 1404,-694.64 1393.5414,-696.3337 1396.8803,-702.4861"/>
</g>
<!-- zcash/librustzcash#403 -->
<g id="node12" class="node">
<title>zcash/librustzcash#403</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/librustzcash/issues/403" xlink:title="zcash/librustzcash#403&#10;Add Orchard support to&#10;`zcash_client_backend`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1561.5,-915 1373.5,-915 1373.5,-862 1561.5,-862 1561.5,-915"/>
<text text-anchor="middle" x="1467.5" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1467.5" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1467.5" y="-869.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_backend`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403 -->
<g id="edge10" class="edge">
<title>zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403</title>
<path fill="none" stroke="#000000" d="M1310.7,-888.5C1327.8,-888.5 1345.7,-888.5 1363.1,-888.5"/>
<polygon fill="#000000" stroke="#000000" points="1363.2,-892.0001 1373.2,-888.5 1363.2,-885.0001 1363.2,-892.0001"/>
</g>
<!-- zcash/librustzcash#404 -->
<g id="node19" class="node">
<title>zcash/librustzcash#404</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/librustzcash/issues/404" xlink:title="zcash/librustzcash#404&#10;Add Orchard support to&#10;`zcash_client_sqlite`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814.5,-915 1626.5,-915 1626.5,-862 1814.5,-862 1814.5,-915"/>
<text text-anchor="middle" x="1720.5" y="-899.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1720.5" y="-884.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1720.5" y="-869.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="edge16" class="edge">
<title>zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404</title>
<path fill="none" stroke="#000000" d="M1561.7,-888.5C1579.4,-888.5 1598,-888.5 1616,-888.5"/>
<polygon fill="#000000" stroke="#000000" points="1616.2,-892.0001 1626.2,-888.5 1616.2,-885.0001 1616.2,-892.0001"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node13" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/zcash/issues/4707" xlink:title="zcash/zcash#4707&#10;[Orchard] Consensus&#10;specification" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="795.5,-627 626.5,-627 626.5,-574 795.5,-574 795.5,-627"/>
<text text-anchor="middle" x="711" y="-611.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="711" y="-596.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="711" y="-581.8" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge11" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M795.6,-594.15C813.74,-592.78 833.18,-591.32 852.17,-589.9"/>
<polygon fill="#000000" stroke="#000000" points="852.6522,-593.3736 862.36,-589.13 852.1247,-586.3935 852.6522,-593.3736"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node14" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/4819" xlink:title="zcash/zcash#4819&#10;Backport upstream PRs&#10;that remove Boost usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250,-966 55,-966 55,-913 250,-913 250,-966"/>
<text text-anchor="middle" x="152.5" y="-950.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-935.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-920.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="#fad8c7" stroke="#000000" points="567,-927 341,-927 341,-874 567,-874 567,-927"/>
<text text-anchor="middle" x="454" y="-911.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-896.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-881.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="#fad8c7" stroke="#000000" points="797,-942 625,-942 625,-859 797,-859 797,-942"/>
<text text-anchor="middle" x="711" y="-926.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="711" y="-911.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="711" y="-896.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="711" y="-881.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="711" y="-866.8" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge12" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M567.1,-900.5C583.01,-900.5 599.23,-900.5 614.79,-900.5"/>
<polygon fill="#000000" stroke="#000000" points="614.9,-904.0001 624.9,-900.5 614.9,-897.0001 614.9,-904.0001"/>
</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" stroke-width="2" points="1052,-844 876,-844 876,-791 1052,-791 1052,-844"/>
<text text-anchor="middle" x="964" y="-828.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="964" y="-813.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="964" y="-798.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5197 -->
<g id="edge13" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M797.01,-872.28C821.54,-864.24 848.35,-855.44 873.16,-847.3"/>
<polygon fill="#000000" stroke="#000000" points="874.5162,-850.5388 882.93,-844.1 872.3373,-843.8866 874.5162,-850.5388"/>
</g>
<!-- zcash/zcash#5240 -->
<g id="node18" class="node">
<title>zcash/zcash#5240</title>
<g id="a_node18"><a xlink:href="https://github.com/zcash/zcash/issues/5240" xlink:title="zcash/zcash#5240&#10;Add an Orchard nullifier&#10;test to `coins_tests`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1060,-986 868,-986 868,-933 1060,-933 1060,-986"/>
<text text-anchor="middle" x="964" y="-970.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5240</text>
<text text-anchor="middle" x="964" y="-955.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an Orchard nullifier</text>
<text text-anchor="middle" x="964" y="-940.8" font-family="Times,serif" font-size="14.00" fill="#000000">test to `coins_tests`</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5240 -->
<g id="edge14" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5240</title>
<path fill="none" stroke="#000000" d="M797.01,-920.56C816.58,-925.12 837.6,-930.02 857.9,-934.76"/>
<polygon fill="#000000" stroke="#000000" points="857.2663,-938.2061 867.8,-937.07 858.8569,-931.3892 857.2663,-938.2061"/>
</g>
<!-- zcash/zcash#5197&#45;&gt;zcash/zcash#5024 -->
<g id="edge15" class="edge">
<title>zcash/zcash#5197&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1051.1,-790.96C1058.6,-788 1066,-784.84 1073,-781.5 1078.1,-779.09 1127.4,-747.3 1166.8,-721.75"/>
<polygon fill="#000000" stroke="#000000" points="1169.0895,-724.4385 1175.6,-716.08 1165.2981,-718.5541 1169.0895,-724.4385"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node20" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node20"><a xlink:href="https://github.com/zcash/zcash/issues/5019" xlink:title="zcash/zcash#5019&#10;Add Orchard keys and&#10;addresses to the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1308,-437 1125,-437 1125,-384 1308,-384 1308,-437"/>
<text text-anchor="middle" x="1216.5" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1216.5" y="-406.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1216.5" y="-391.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="edge17" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1308.1,-435.43C1313.7,-438.42 1319.1,-441.77 1324,-445.5 1383.7,-490.73 1426.5,-568.35 1449.1,-616.91"/>
<polygon fill="#000000" stroke="#000000" points="1446.0294,-618.6091 1453.4,-626.22 1452.3843,-615.674 1446.0294,-618.6091"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node21" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node21"><a xlink:href="https://github.com/zcash/zcash/issues/5020" xlink:title="zcash/zcash#5020&#10;Add Orchard note&#10;detection and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1563.5,-451.5 1371.5,-451.5 1371.5,-383.5 1563.5,-383.5 1563.5,-451.5"/>
<text text-anchor="middle" x="1467.5" y="-436.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1467.5" y="-421.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1467.5" y="-406.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1467.5" y="-391.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="edge18" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M1308.2,-413.06C1325.4,-413.54 1343.5,-414.04 1361.1,-414.53"/>
<polygon fill="#000000" stroke="#000000" points="1361.3054,-418.0371 1371.4,-414.82 1361.5025,-411.0399 1361.3054,-418.0371"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node22" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1568.5,-275.5 1366.5,-275.5 1366.5,-207.5 1568.5,-207.5 1568.5,-275.5"/>
<text text-anchor="middle" x="1467.5" y="-260.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1467.5" y="-245.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1467.5" y="-230.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1467.5" y="-215.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="edge19" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1308,-386.36C1313.8,-382.92 1319.2,-378.99 1324,-374.5 1354.4,-346.29 1330.9,-318.03 1360,-288.5 1362.3,-286.14 1364.8,-283.89 1367.4,-281.75"/>
<polygon fill="#000000" stroke="#000000" points="1369.5841,-284.4859 1375.4,-275.63 1365.3309,-278.9261 1369.5841,-284.4859"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node23" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1830,-200.5 1611,-200.5 1611,-162.5 1830,-162.5 1830,-200.5"/>
<text text-anchor="middle" x="1720.5" y="-185.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1720.5" y="-170.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="edge20" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1568.6,-217.53C1589,-212.7 1610.2,-207.65 1630.2,-202.91"/>
<polygon fill="#000000" stroke="#000000" points="1631.2767,-206.2519 1640.2,-200.54 1629.6624,-199.4405 1631.2767,-206.2519"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node24" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node24"><a xlink:href="https://github.com/zcash/zcash/issues/5182" xlink:title="zcash/zcash#5182&#10;New RPC:&#10;z_getbalanceforaddress" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814,-358 1627,-358 1627,-305 1814,-305 1814,-358"/>
<text text-anchor="middle" x="1720.5" y="-342.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1720.5" y="-327.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-312.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="edge21" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1556.1,-275.5C1574.2,-282.27 1593.2,-289.22 1611,-295.5 1616.8,-297.55 1622.8,-299.63 1628.9,-301.7"/>
<polygon fill="#000000" stroke="#000000" points="1627.9058,-305.0584 1638.5,-304.94 1630.1443,-298.4259 1627.9058,-305.0584"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node25" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/zcash/issues/5185" xlink:title="zcash/zcash#5185&#10;Add support for funding&#10;z_sendmany from a UA&#10;account" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1815,-286.5 1626,-286.5 1626,-218.5 1815,-218.5 1815,-286.5"/>
<text text-anchor="middle" x="1720.5" y="-271.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1720.5" y="-256.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1720.5" y="-241.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1720.5" y="-226.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="edge22" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1568.6,-245.89C1584.1,-246.57 1600,-247.26 1615.6,-247.94"/>
<polygon fill="#000000" stroke="#000000" points="1615.5571,-251.4414 1625.7,-248.38 1615.8618,-244.448 1615.5571,-251.4414"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node26" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814.5,-73 1626.5,-73 1626.5,-20 1814.5,-20 1814.5,-73"/>
<text text-anchor="middle" x="1720.5" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1720.5" y="-42.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-27.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="edge23" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1560.9,-207.27C1566,-203.43 1570.8,-199.19 1575,-194.5 1610.3,-155.35 1573.7,-118.79 1611,-81.5 1613.1,-79.349 1615.4,-77.33 1617.8,-75.435"/>
<polygon fill="#000000" stroke="#000000" points="1620.1331,-78.0731 1626.3,-69.458 1616.1067,-72.3471 1620.1331,-78.0731"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node27" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/zcash/issues/5183" xlink:title="zcash/zcash#5183&#10;New RPC:&#10;z_getbalanceforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1814.5,-144 1626.5,-144 1626.5,-91 1814.5,-91 1814.5,-144"/>
<text text-anchor="middle" x="1720.5" y="-128.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1720.5" y="-113.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-98.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="edge24" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1554.7,-207.39C1561.8,-203.43 1568.7,-199.13 1575,-194.5 1594.6,-180.19 1590.8,-166.87 1611,-153.5 1613.4,-151.9 1615.9,-150.36 1618.5,-148.89"/>
<polygon fill="#000000" stroke="#000000" points="1620.2394,-151.9288 1627.4,-144.12 1616.9327,-145.759 1620.2394,-151.9288"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node28" class="node">
<title>zcash/orchard#36</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/orchard/issues/36" xlink:title="zcash/orchard#36&#10;Parsing and serialization&#10;of Orchard keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1061,-365.5 867,-365.5 867,-297.5 1061,-297.5 1061,-365.5"/>
<text text-anchor="middle" x="964" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="964" y="-335.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="964" y="-320.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="964" y="-305.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="edge25" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1061.3,-361.93C1081.2,-368.17 1102.2,-374.73 1122,-380.93"/>
<polygon fill="#000000" stroke="#000000" points="1121.0105,-384.2878 1131.6,-383.95 1123.1112,-377.6104 1121.0105,-384.2878"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node29" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1310.5,-365.5 1122.5,-365.5 1122.5,-297.5 1310.5,-297.5 1310.5,-365.5"/>
<text text-anchor="middle" x="1216.5" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1216.5" y="-335.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1216.5" y="-320.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1216.5" y="-305.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="edge26" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1061.3,-331.5C1077.8,-331.5 1095.1,-331.5 1111.8,-331.5"/>
<polygon fill="#000000" stroke="#000000" points="1112.2,-335.0001 1122.2,-331.5 1112.2,-328.0001 1112.2,-335.0001"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node30" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node30"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1575,-365.5 1360,-365.5 1360,-297.5 1575,-297.5 1575,-365.5"/>
<text text-anchor="middle" x="1467.5" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1467.5" y="-335.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1467.5" y="-320.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1467.5" y="-305.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="edge27" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M1310.7,-331.5C1323.3,-331.5 1336.4,-331.5 1349.3,-331.5"/>
<polygon fill="#000000" stroke="#000000" points="1349.7,-335.0001 1359.7,-331.5 1349.7,-328.0001 1349.7,-335.0001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge28" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1558.8,-297.44C1564.6,-293.54 1570.1,-289.24 1575,-284.5 1601.6,-258.82 1582.4,-232.94 1611,-209.5 1612.5,-208.24 1614.1,-207.04 1615.8,-205.89"/>
<polygon fill="#000000" stroke="#000000" points="1617.6245,-208.8774 1624.2,-200.57 1613.8791,-202.9637 1617.6245,-208.8774"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge29" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1575.2,-331.5C1588.9,-331.5 1602.9,-331.5 1616.6,-331.5"/>
<polygon fill="#000000" stroke="#000000" points="1616.9,-335.0001 1626.9,-331.5 1616.9,-328.0001 1616.9,-335.0001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge30" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1575.2,-297.88C1588.7,-293.66 1602.5,-289.34 1616,-285.13"/>
<polygon fill="#000000" stroke="#000000" points="1617.2044,-288.4205 1625.7,-282.09 1615.1109,-281.7408 1617.2044,-288.4205"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node31" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node31"><a xlink:href="https://github.com/zcash/zcash/issues/5181" xlink:title="zcash/zcash#5181&#10;New RPC:&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1805.5,-571 1635.5,-571 1635.5,-518 1805.5,-518 1805.5,-571"/>
<text text-anchor="middle" x="1720.5" y="-555.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1720.5" y="-540.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1720.5" y="-525.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="edge31" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M1565.9,-365.7C1569.1,-368.42 1572.2,-371.34 1575,-374.5 1616,-420.6 1568.6,-463.71 1611,-508.5 1615.5,-513.27 1620.7,-517.41 1626.2,-521"/>
<polygon fill="#000000" stroke="#000000" points="1624.8811,-524.2774 1635.3,-526.2 1628.3541,-518.1997 1624.8811,-524.2774"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node32" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node32"><a xlink:href="https://github.com/zcash/zcash/issues/5184" xlink:title="zcash/zcash#5184&#10;Add support for UA&#10;recipients to z_sendmany" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1820.5,-500 1620.5,-500 1620.5,-447 1820.5,-447 1820.5,-500"/>
<text text-anchor="middle" x="1720.5" y="-484.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1720.5" y="-469.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1720.5" y="-454.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="edge32" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M1563.4,-365.63C1567.5,-368.38 1571.4,-371.33 1575,-374.5 1599.3,-395.67 1586,-417.11 1611,-437.5 1612.6,-438.81 1614.2,-440.06 1615.9,-441.28"/>
<polygon fill="#000000" stroke="#000000" points="1614.4021,-444.4793 1624.7,-446.97 1618.2029,-438.6011 1614.4021,-444.4793"/>
</g>
<!-- zcash/zcash#5191 -->
<g id="node33" class="node">
<title>zcash/zcash#5191</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/zcash/issues/5191" xlink:title="zcash/zcash#5191&#10;z_getbalance: Return&#10;error if given a UA" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1805,-429 1636,-429 1636,-376 1805,-376 1805,-429"/>
<text text-anchor="middle" x="1720.5" y="-413.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1720.5" y="-398.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1720.5" y="-383.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="edge33" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5191</title>
<path fill="none" stroke="#000000" d="M1575.2,-361.71C1592.1,-366.48 1609.6,-371.37 1626.2,-376.04"/>
<polygon fill="#000000" stroke="#000000" points="1625.3264,-379.43 1635.9,-378.76 1627.2164,-372.6899 1625.3264,-379.43"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node34" class="node">
<title>zcash/orchard#30</title>
<g id="a_node34"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1050,-437 878,-437 878,-384 1050,-384 1050,-437"/>
<text text-anchor="middle" x="964" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="964" y="-406.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="964" y="-391.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="edge34" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1050.2,-410.5C1070.9,-410.5 1093.2,-410.5 1114.6,-410.5"/>
<polygon fill="#000000" stroke="#000000" points="1114.7,-414.0001 1124.7,-410.5 1114.7,-407.0001 1114.7,-414.0001"/>
</g>
<!-- zcash/zcash#2534 -->
<g id="node35" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node35"><a xlink:href="https://github.com/zcash/zcash/pull/2534" xlink:title="zcash/zcash#2534&#10;Bitcoin 0.12 P2P/Net PRs&#10;1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="252.5,-1068 52.5,-1068 52.5,-1064 48.5,-1064 48.5,-1060 52.5,-1060 52.5,-1023 48.5,-1023 48.5,-1019 52.5,-1019 52.5,-1015 252.5,-1015 252.5,-1068"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1064 56.5,-1064 56.5,-1060 52.5,-1060 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1023 56.5,-1023 56.5,-1019 52.5,-1019 "/>
<text text-anchor="middle" x="152.5" y="-1052.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1037.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="152.5" y="-1022.8" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003 -->
<g id="node36" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node36"><a xlink:href="https://github.com/zcash/zcash/pull/5003" xlink:title="zcash/zcash#5003&#10;net: prerequisites for&#10;p2p encapsulation changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="560,-1103 348,-1103 348,-1099 344,-1099 344,-1095 348,-1095 348,-1058 344,-1058 344,-1054 348,-1054 348,-1050 560,-1050 560,-1103"/>
<polyline fill="none" stroke="#000000" points="348,-1099 352,-1099 352,-1095 348,-1095 "/>
<polyline fill="none" stroke="#000000" points="348,-1058 352,-1058 352,-1054 348,-1054 "/>
<text text-anchor="middle" x="454" y="-1087.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1072.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1057.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="edge35" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M252.9,-1053.2C280.05,-1056.3 309.67,-1059.7 337.63,-1063"/>
<polygon fill="#000000" stroke="#000000" points="337.4998,-1066.5087 347.84,-1064.2 338.3169,-1059.5566 337.4998,-1066.5087"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node37" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="806.5,-1028.5 615.5,-1028.5 615.5,-1024.5 611.5,-1024.5 611.5,-1020.5 615.5,-1020.5 615.5,-968.5 611.5,-968.5 611.5,-964.5 615.5,-964.5 615.5,-960.5 806.5,-960.5 806.5,-1028.5"/>
<polyline fill="none" stroke="#000000" points="615.5,-1024.5 619.5,-1024.5 619.5,-1020.5 615.5,-1020.5 "/>
<polyline fill="none" stroke="#000000" points="615.5,-968.5 619.5,-968.5 619.5,-964.5 615.5,-964.5 "/>
<text text-anchor="middle" x="711" y="-1013.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="711" y="-998.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="711" y="-983.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="711" y="-968.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="edge36" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M252.67,-1033.1C352.06,-1024.7 503.8,-1011.9 605.14,-1003.4"/>
<polygon fill="#000000" stroke="#000000" points="605.7345,-1006.8614 615.39,-1002.5 605.1222,-999.8882 605.7345,-1006.8614"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node38" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="798,-1130 624,-1130 624,-1126 620,-1126 620,-1122 624,-1122 624,-1055 620,-1055 620,-1051 624,-1051 624,-1047 798,-1047 798,-1130"/>
<polyline fill="none" stroke="#000000" points="624,-1126 628,-1126 628,-1122 624,-1122 "/>
<polyline fill="none" stroke="#000000" points="624,-1055 628,-1055 628,-1051 624,-1051 "/>
<text text-anchor="middle" x="711" y="-1114.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="711" y="-1099.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="711" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="711" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="711" y="-1054.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="edge37" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M560.02,-1081.5C577.7,-1082.3 595.97,-1083.1 613.43,-1083.9"/>
<polygon fill="#000000" stroke="#000000" points="613.4503,-1087.4051 623.61,-1084.4 613.7938,-1080.4136 613.4503,-1087.4051"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node39" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node39"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1073,-1075.5 855,-1075.5 855,-1071.5 851,-1071.5 851,-1067.5 855,-1067.5 855,-1045.5 851,-1045.5 851,-1041.5 855,-1041.5 855,-1037.5 1073,-1037.5 1073,-1075.5"/>
<polyline fill="none" stroke="#000000" points="855,-1071.5 859,-1071.5 859,-1067.5 855,-1067.5 "/>
<polyline fill="none" stroke="#000000" points="855,-1045.5 859,-1045.5 859,-1041.5 855,-1041.5 "/>
<text text-anchor="middle" x="964" y="-1060.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="964" y="-1045.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="edge38" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M806.65,-1017.9C829.56,-1023.6 853.92,-1029.5 876.45,-1035"/>
<polygon fill="#000000" stroke="#000000" points="875.7667,-1038.4374 886.32,-1037.5 877.4855,-1031.6517 875.7667,-1038.4374"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge39" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M798.07,-1077.5C813.08,-1075.6 828.91,-1073.6 844.59,-1071.6"/>
<polygon fill="#000000" stroke="#000000" points="845.3882,-1075.027 854.87,-1070.3 844.5099,-1068.0823 845.3882,-1075.027"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node40" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node40"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1311,-1090.5 1122,-1090.5 1122,-1086.5 1118,-1086.5 1118,-1082.5 1122,-1082.5 1122,-1030.5 1118,-1030.5 1118,-1026.5 1122,-1026.5 1122,-1022.5 1311,-1022.5 1311,-1090.5"/>
<polyline fill="none" stroke="#000000" points="1122,-1086.5 1126,-1086.5 1126,-1082.5 1122,-1082.5 "/>
<polyline fill="none" stroke="#000000" points="1122,-1030.5 1126,-1030.5 1126,-1026.5 1122,-1026.5 "/>
<text text-anchor="middle" x="1216.5" y="-1075.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1216.5" y="-1060.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1216.5" y="-1045.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1216.5" y="-1030.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="edge40" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1073.3,-1056.5C1086,-1056.5 1099,-1056.5 1111.6,-1056.5"/>
<polygon fill="#000000" stroke="#000000" points="1111.7,-1060.0001 1121.7,-1056.5 1111.7,-1053.0001 1111.7,-1060.0001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node41" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/zcash/pull/5034" xlink:title="zcash/zcash#5034&#10;Bitcoin 0.17 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-1186.5 56,-1186.5 56,-1182.5 52,-1182.5 52,-1178.5 56,-1178.5 56,-1156.5 52,-1156.5 52,-1152.5 56,-1152.5 56,-1148.5 249,-1148.5 249,-1186.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1182.5 60,-1182.5 60,-1178.5 56,-1178.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1156.5 60,-1156.5 60,-1152.5 56,-1152.5 "/>
<text text-anchor="middle" x="152.5" y="-1171.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1156.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050 -->
<g id="node42" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node42"><a xlink:href="https://github.com/zcash/zcash/pull/5050" xlink:title="zcash/zcash#5050&#10;Bitcoin 0.18 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550.5,-1186.5 357.5,-1186.5 357.5,-1182.5 353.5,-1182.5 353.5,-1178.5 357.5,-1178.5 357.5,-1156.5 353.5,-1156.5 353.5,-1152.5 357.5,-1152.5 357.5,-1148.5 550.5,-1148.5 550.5,-1186.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1182.5 361.5,-1182.5 361.5,-1178.5 357.5,-1178.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1156.5 361.5,-1156.5 361.5,-1152.5 357.5,-1152.5 "/>
<text text-anchor="middle" x="454" y="-1171.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1156.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge41" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1167.5C280.38,-1167.5 315.19,-1167.5 347.13,-1167.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1171.0001 357.39,-1167.5 347.39,-1164.0001 347.39,-1171.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node43" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node43"><a xlink:href="https://github.com/zcash/zcash/pull/5163" xlink:title="zcash/zcash#5163&#10;Bitcoin 0.19 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="807.5,-1186.5 614.5,-1186.5 614.5,-1182.5 610.5,-1182.5 610.5,-1178.5 614.5,-1178.5 614.5,-1156.5 610.5,-1156.5 610.5,-1152.5 614.5,-1152.5 614.5,-1148.5 807.5,-1148.5 807.5,-1186.5"/>
<polyline fill="none" stroke="#000000" points="614.5,-1182.5 618.5,-1182.5 618.5,-1178.5 614.5,-1178.5 "/>
<polyline fill="none" stroke="#000000" points="614.5,-1156.5 618.5,-1156.5 618.5,-1152.5 614.5,-1152.5 "/>
<text text-anchor="middle" x="711" y="-1171.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="711" y="-1156.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge42" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.79,-1167.5C568.16,-1167.5 586.35,-1167.5 603.98,-1167.5"/>
<polygon fill="#000000" stroke="#000000" points="604.29,-1171.0001 614.29,-1167.5 604.29,-1164.0001 604.29,-1171.0001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node44" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node44"><a xlink:href="https://github.com/zcash/zcash/issues/5176" xlink:title="zcash/zcash#5176&#10;Implement BIP 39 seed&#10;phrase support" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="1056.5,-275 871.5,-275 871.5,-222 1056.5,-222 1056.5,-275"/>
<text text-anchor="middle" x="964" y="-259.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="964" y="-244.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="964" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5019 -->
<g id="edge43" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1055.3,-275.08C1061.7,-278.97 1067.7,-283.42 1073,-288.5 1102.9,-317.14 1078.6,-346.29 1109,-374.5 1111.4,-376.74 1114,-378.85 1116.6,-380.82"/>
<polygon fill="#000000" stroke="#000000" points="1114.7251,-383.7761 1125,-386.36 1118.5791,-377.9325 1114.7251,-383.7761"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node45" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1317.5,-279.5 1115.5,-279.5 1115.5,-211.5 1317.5,-211.5 1317.5,-279.5"/>
<text text-anchor="middle" x="1216.5" y="-264.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1216.5" y="-249.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1216.5" y="-234.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1216.5" y="-219.3" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge44" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1056.6,-247.4C1072.4,-247.21 1089.1,-247.01 1105.3,-246.82"/>
<polygon fill="#000000" stroke="#000000" points="1105.4423,-250.3187 1115.4,-246.7 1105.3591,-243.3191 1105.4423,-250.3187"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge45" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1317.5,-243.89C1330.2,-243.69 1343.2,-243.48 1356.1,-243.28"/>
<polygon fill="#000000" stroke="#000000" points="1356.3597,-246.7763 1366.3,-243.11 1356.243,-239.7772 1356.3597,-246.7763"/>
</g>
<!-- zcash/zips#364 -->
<g id="node46" class="node">
<title>zcash/zips#364</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="813.5,-275 608.5,-275 608.5,-222 813.5,-222 813.5,-275"/>
<text text-anchor="middle" x="711" y="-259.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="711" y="-244.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="711" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge46" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M813.54,-248.5C829.16,-248.5 845.28,-248.5 860.91,-248.5"/>
<polygon fill="#000000" stroke="#000000" points="861.1,-252.0001 871.1,-248.5 861.1,-245.0001 861.1,-252.0001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node47" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash/zcash/issues/5177" xlink:title="zcash/zcash#5177&#10;Deprecate old address&#45;&#10;related RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="243.5,-1258 61.5,-1258 61.5,-1205 243.5,-1205 243.5,-1258"/>
<text text-anchor="middle" x="152.5" y="-1242.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1227.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1212.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node48" class="node">
<title>zcash/zips#511</title>
<g id="a_node48"><a xlink:href="https://github.com/zcash/zips/issues/511" xlink:title="zcash/zips#511&#10;ZIP 32: Document standard&#10;key structure for Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1324,-193.5 1109,-193.5 1109,-125.5 1324,-125.5 1324,-193.5"/>
<text text-anchor="middle" x="1216.5" y="-178.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1216.5" y="-163.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1216.5" y="-148.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1216.5" y="-133.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge47" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1320.8,-193.56C1332.7,-197.45 1344.8,-201.43 1356.8,-205.34"/>
<polygon fill="#000000" stroke="#000000" points="1355.8076,-208.6977 1366.4,-208.47 1357.9775,-202.0425 1355.8076,-208.6977"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node49" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node49"><a xlink:href="https://github.com/zcash/librustzcash/issues/387" xlink:title="zcash/librustzcash#387&#10;Implement Unified Address&#10;key derivation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1575,-186 1360,-186 1360,-133 1575,-133 1575,-186"/>
<text text-anchor="middle" x="1467.5" y="-170.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1467.5" y="-155.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1467.5" y="-140.8" font-family="Times,serif" font-size="14.00" fill="#000000">key derivation</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/librustzcash#387 -->
<g id="edge48" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1324,-159.5C1332.6,-159.5 1341.2,-159.5 1349.8,-159.5"/>
<polygon fill="#000000" stroke="#000000" points="1349.8,-163.0001 1359.8,-159.5 1349.8,-156.0001 1349.8,-163.0001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node50" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node50"><a xlink:href="https://github.com/zcash/zcash/issues/5186" xlink:title="zcash/zcash#5186&#10;z_viewtransaction: Figure&#10;out how to render UAs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="254,-1329 51,-1329 51,-1276 254,-1276 254,-1329"/>
<text text-anchor="middle" x="152.5" y="-1313.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1298.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1283.8" font-family="Times,serif" font-size="14.00" fill="#000000">out how to render UAs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196 -->
<g id="node51" class="node">
<title>zcash/zcash#5196</title>
<g id="a_node51"><a xlink:href="https://github.com/zcash/zcash/issues/5196" xlink:title="zcash/zcash#5196&#10;Implement v5 transaction&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1065.5,-773 862.5,-773 862.5,-720 1065.5,-720 1065.5,-773"/>
<text text-anchor="middle" x="964" y="-757.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="964" y="-742.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="964" y="-727.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196&#45;&gt;zcash/zcash#5024 -->
<g id="edge49" class="edge">
<title>zcash/zcash#5196&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1065.6,-723.56C1077,-721 1088.6,-718.38 1100.1,-715.78"/>
<polygon fill="#000000" stroke="#000000" points="1101.1229,-719.1369 1110.1,-713.51 1099.5733,-712.3106 1101.1229,-719.1369"/>
</g>
<!-- zcash/zcash#5198 -->
<g id="node52" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node52"><a xlink:href="https://github.com/zcash/zcash/issues/5198" xlink:title="zcash/zcash#5198&#10;Switch to a `(txid,&#10;auth_digest)` identifier&#10;in places where the node&#10;needs to commit to a&#10;specific instance of a&#10;transaction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250.5,-1460 54.5,-1460 54.5,-1347 250.5,-1347 250.5,-1460"/>
<text text-anchor="middle" x="152.5" y="-1444.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1429.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1414.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1399.8" font-family="Times,serif" font-size="14.00" fill="#000000">in places where the node</text>
<text text-anchor="middle" x="152.5" y="-1384.8" font-family="Times,serif" font-size="14.00" fill="#000000">needs to commit to a</text>
<text text-anchor="middle" x="152.5" y="-1369.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1354.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5199 -->
<g id="node53" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zcash/issues/5199" xlink:title="zcash/zcash#5199&#10;[ZIP 239] Relay v5+&#10;transactions with a&#10;(txid, auth_digest) tuple&#10;(or digest thereof)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="247,-1561 58,-1561 58,-1478 247,-1478 247,-1561"/>
<text text-anchor="middle" x="152.5" y="-1545.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="152.5" y="-1530.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="152.5" y="-1515.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="152.5" y="-1500.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="152.5" y="-1485.8" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zips#506 -->
<g id="node54" class="node">
<title>zcash/zips#506</title>
<g id="a_node54"><a xlink:href="https://github.com/zcash/zips/issues/506" xlink:title="zcash/zips#506&#10;Orchard anchor should be&#10;a base field element, not&#10;a bitstring" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="556,-713.5 352,-713.5 352,-645.5 556,-645.5 556,-713.5"/>
<text text-anchor="middle" x="454" y="-698.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="454" y="-683.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="454" y="-668.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="454" y="-653.3" font-family="Times,serif" font-size="14.00" fill="#000000">a bitstring</text>
</a>
</g>
</g>
<!-- zcash/zips#506&#45;&gt;zcash/zcash#4707 -->
<g id="edge50" class="edge">
<title>zcash/zips#506&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M556.31,-648.05C576.28,-641.91 597.13,-635.5 616.82,-629.45"/>
<polygon fill="#000000" stroke="#000000" points="617.8506,-632.7949 626.38,-626.51 615.7929,-626.1041 617.8506,-632.7949"/>
</g>
<!-- zcash/zcash#5223 -->
<g id="node55" class="node">
<title>zcash/zcash#5223</title>
<g id="a_node55"><a xlink:href="https://github.com/zcash/zcash/issues/5223" xlink:title="zcash/zcash#5223&#10;Add RPC test case that&#10;checks the auth data&#10;commitments for v4 txs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-1647.5 58.5,-1647.5 58.5,-1579.5 246.5,-1579.5 246.5,-1647.5"/>
<text text-anchor="middle" x="152.5" y="-1632.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="152.5" y="-1617.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add RPC test case that</text>
<text text-anchor="middle" x="152.5" y="-1602.3" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="152.5" y="-1587.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitments for v4 txs</text>
</a>
</g>
</g>
<!-- zcash/orchard#54 -->
<g id="node56" class="node">
<title>zcash/orchard#54</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash/orchard/pull/54" xlink:title="zcash/orchard#54&#10;[book] Document ECC&#10;gadget in circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="542.5,-627 365.5,-627 365.5,-623 361.5,-623 361.5,-619 365.5,-619 365.5,-582 361.5,-582 361.5,-578 365.5,-578 365.5,-574 542.5,-574 542.5,-627"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="365.5,-623 369.5,-623 369.5,-619 365.5,-619 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="365.5,-582 369.5,-582 369.5,-578 365.5,-578 "/>
<text text-anchor="middle" x="454" y="-611.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#54</text>
<text text-anchor="middle" x="454" y="-596.8" font-family="Times,serif" font-size="14.00" fill="#000000">[book] Document ECC</text>
<text text-anchor="middle" x="454" y="-581.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget in circuit</text>
</a>
</g>
</g>
<!-- zcash/orchard#54&#45;&gt;zcash/zcash#4707 -->
<g id="edge51" class="edge">
<title>zcash/orchard#54&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M542.8,-600.5C566.42,-600.5 592.01,-600.5 615.95,-600.5"/>
<polygon fill="#000000" stroke="#000000" points="616.09,-604.0001 626.09,-600.5 616.09,-597.0001 616.09,-604.0001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node57" class="node">
<title>zcash/halo2#63</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/halo2/issues/63" xlink:title="zcash/halo2#63&#10;Implement zero&#45;knowledge&#45;&#10;ness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="819,-552 603,-552 603,-499 819,-499 819,-552"/>
<text text-anchor="middle" x="711" y="-536.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="711" y="-521.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="711" y="-506.8" font-family="Times,serif" font-size="14.00" fill="#000000">ness</text>
</a>
</g>
</g>
<!-- zcash/halo2#63&#45;&gt;zcash/librustzcash#320 -->
<g id="edge52" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M819.03,-549.41C830.03,-551.85 841.22,-554.32 852.27,-556.77"/>
<polygon fill="#000000" stroke="#000000" points="851.83,-560.2572 862.35,-559 853.3421,-553.4225 851.83,-560.2572"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node58" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/36" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#10;Orchard Merkle path test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="305,-864 0,-864 0,-811 305,-811 305,-864"/>
<text text-anchor="middle" x="152.5" y="-848.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</text>
<text text-anchor="middle" x="152.5" y="-833.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-818.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33 -->
<g id="edge53" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M279.49,-864.04C296.44,-867.58 313.8,-871.2 330.69,-874.73"/>
<polygon fill="#000000" stroke="#000000" points="330.0648,-878.1749 340.57,-876.8 331.5003,-871.3237 330.0648,-878.1749"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node59" class="node">
<title>zcash/orchard#95</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/orchard/issues/95" xlink:title="zcash/orchard#95&#10;Implement Merkle path&#10;validity chip" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="547.5,-856 360.5,-856 360.5,-803 547.5,-803 547.5,-856"/>
<text text-anchor="middle" x="454" y="-840.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-825.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-810.8" font-family="Times,serif" font-size="14.00" fill="#000000">validity chip</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95 -->
<g id="edge54" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M305.02,-833.45C320.33,-833.05 335.61,-832.64 350.24,-832.25"/>
<polygon fill="#000000" stroke="#000000" points="350.3443,-835.7486 360.25,-831.99 350.1625,-828.7509 350.3443,-835.7486"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge55" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.51,-803.67C569.39,-797.62 592.73,-791.17 614.73,-785.1"/>
<polygon fill="#000000" stroke="#000000" points="615.6922,-788.4654 624.4,-782.43 613.8291,-781.7178 615.6922,-788.4654"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node60" class="node">
<title>zcash/halo2#75</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1053.5,-508 874.5,-508 874.5,-455 1053.5,-455 1053.5,-508"/>
<text text-anchor="middle" x="964" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="964" y="-477.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="964" y="-462.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node61" class="node">
<title>zcash/halo2#251</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1321.5,-508 1111.5,-508 1111.5,-455 1321.5,-455 1321.5,-508"/>
<text text-anchor="middle" x="1216.5" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1216.5" y="-477.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1216.5" y="-462.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="edge56" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1053.7,-481.5C1069,-481.5 1085,-481.5 1100.8,-481.5"/>
<polygon fill="#000000" stroke="#000000" points="1101.1,-485.0001 1111.1,-481.5 1101.1,-478.0001 1101.1,-485.0001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node62" class="node">
<title>zcash/halo2#79</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="791.5,-479 630.5,-479 630.5,-396 791.5,-396 791.5,-479"/>
<text text-anchor="middle" x="711" y="-463.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="711" y="-448.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="711" y="-433.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="711" y="-418.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="711" y="-403.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node63" class="node">
<title>zcash/halo2#78</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/halo2/issues/78" xlink:title="zcash/halo2#78&#10;Implement algebraic hash&#10;/ random oracle&#10;abstraction gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="556,-469.5 352,-469.5 352,-401.5 556,-401.5 556,-469.5"/>
<text text-anchor="middle" x="454" y="-454.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-439.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-424.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-409.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="edge57" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.31,-436.3C577.48,-436.46 599.65,-436.63 620.37,-436.79"/>
<polygon fill="#000000" stroke="#000000" points="620.3824,-440.2901 630.41,-436.87 620.4382,-433.2903 620.3824,-440.2901"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node64" class="node">
<title>zcash/halo2#250</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="808,-378 614,-378 614,-325 808,-325 808,-378"/>
<text text-anchor="middle" x="711" y="-362.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="711" y="-347.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="711" y="-332.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="edge58" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M556.17,-401.83C571.85,-396.69 587.86,-391.44 603,-386.5 608.27,-384.78 613.69,-383.01 619.15,-381.24"/>
<polygon fill="#000000" stroke="#000000" points="620.5928,-384.4513 629.02,-378.03 618.4278,-377.7945 620.5928,-384.4513"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge59" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M806.66,-378.11C810.99,-380.66 815.13,-383.45 819,-386.5 843.11,-405.53 830.94,-426.4 855,-445.5 858.34,-448.15 861.88,-450.61 865.56,-452.89"/>
<polygon fill="#000000" stroke="#000000" points="863.9727,-456.0132 874.4,-457.89 867.419,-449.9203 863.9727,-456.0132"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node65" class="node">
<title>zcash/halo2#57</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/halo2/issues/57" xlink:title="zcash/halo2#57&#10;Remove unused&#10;fixed_values from&#10;ProvingKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="224,-1733.5 81,-1733.5 81,-1665.5 224,-1665.5 224,-1733.5"/>
<text text-anchor="middle" x="152.5" y="-1718.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1703.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1688.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1673.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node66" class="node">
<title>zcash/halo2#82</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/halo2/issues/82" xlink:title="zcash/halo2#82&#10;Consider not sampling&#10;beta and gamma if there&#10;are no permutations or&#10;lookups" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-1835 56,-1835 56,-1752 249,-1752 249,-1835"/>
<text text-anchor="middle" x="152.5" y="-1819.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1804.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1789.8" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="152.5" y="-1774.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1759.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node67" class="node">
<title>zcash/halo2#248</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/halo2/issues/248" xlink:title="zcash/halo2#248&#10;Implement endoscaling in&#10;the circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="555.5,-383 352.5,-383 352.5,-330 555.5,-330 555.5,-383"/>
<text text-anchor="middle" x="454" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-352.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-337.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="edge60" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M555.57,-354.52C571.34,-354.22 587.68,-353.9 603.57,-353.59"/>
<polygon fill="#000000" stroke="#000000" points="604.0094,-357.0823 613.94,-353.39 603.8743,-350.0836 604.0094,-357.0823"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node68" class="node">
<title>zcash/halo2#249</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/halo2/issues/249" xlink:title="zcash/halo2#249&#10;Implement circuit logic&#10;for handling public&#10;inputs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="546.5,-311.5 361.5,-311.5 361.5,-243.5 546.5,-243.5 546.5,-311.5"/>
<text text-anchor="middle" x="454" y="-296.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-281.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-266.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-251.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="edge61" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.78,-304.22C567.01,-310.04 588.53,-316.24 609.09,-322.16"/>
<polygon fill="#000000" stroke="#000000" points="608.202,-325.5464 618.78,-324.95 610.1388,-318.8197 608.202,-325.5464"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node69" class="node">
<title>zcash/halo2#246</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/halo2/issues/246" xlink:title="zcash/halo2#246&#10;Create recursive proof&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="242,-218 63,-218 63,-165 242,-165 242,-218"/>
<text text-anchor="middle" x="152.5" y="-202.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-187.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node70" class="node">
<title>zcash/halo2#247</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/halo2/issues/247" xlink:title="zcash/halo2#247&#10;Implement underlying&#10;scaffolding for the&#10;recursive circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="542,-225.5 366,-225.5 366,-157.5 542,-157.5 542,-225.5"/>
<text text-anchor="middle" x="454" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-165.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="edge62" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-191.5C277.92,-191.5 319.23,-191.5 355.81,-191.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-195.0001 366,-191.5 356,-188.0001 356,-195.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge63" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.14,-219.18C550.93,-223.63 559.4,-228.72 567,-234.5 588.51,-250.86 583.22,-265.09 603,-283.5 617.5,-297 635.05,-309.36 651.74,-319.74"/>
<polygon fill="#000000" stroke="#000000" points="650.0146,-322.7869 660.38,-324.98 653.6446,-316.8017 650.0146,-322.7869"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node71" class="node">
<title>zcash/halo2#245</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/halo2/issues/245" xlink:title="zcash/halo2#245&#10;Remove the need to&#10;multiply by powers of x^n&#10;in verifier" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="557,-555.5 351,-555.5 351,-487.5 557,-487.5 557,-555.5"/>
<text text-anchor="middle" x="454" y="-540.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-525.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-510.3" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="454" y="-495.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="edge64" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M557.05,-523.1C568.83,-523.29 580.91,-523.48 592.87,-523.66"/>
<polygon fill="#000000" stroke="#000000" points="592.8253,-527.1596 602.88,-523.82 592.9372,-520.1605 592.8253,-527.1596"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge65" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M556.67,-487.35C560.33,-484.62 563.79,-481.68 567,-478.5 598.19,-447.6 571.04,-416.61 603,-386.5 603.82,-385.72 604.67,-384.96 605.53,-384.22"/>
<polygon fill="#000000" stroke="#000000" points="607.8582,-386.8451 613.66,-377.98 603.5962,-381.2922 607.8582,-386.8451"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node72" class="node">
<title>zcash/halo2#210</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/halo2/issues/210" xlink:title="zcash/halo2#210&#10;Make multiopen&#10;point_index_map dependent&#10;only on the rotation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="563,-139.5 345,-139.5 345,-71.5 563,-71.5 563,-139.5"/>
<text text-anchor="middle" x="454" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-79.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="edge66" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M557.87,-139.81C561.13,-142.49 564.19,-145.38 567,-148.5 608.59,-194.61 566.18,-233.5 603,-283.5 613.49,-297.74 627.94,-309.72 642.86,-319.45"/>
<polygon fill="#000000" stroke="#000000" points="641.3281,-322.6186 651.67,-324.92 645.0205,-316.6716 641.3281,-322.6186"/>
</g>
<!-- zcash/halo2#312 -->
<g id="node73" class="node">
<title>zcash/halo2#312</title>
<g id="a_node73"><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="250,-1906 55,-1906 55,-1853 250,-1853 250,-1906"/>
<text text-anchor="middle" x="152.5" y="-1890.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#312</text>
<text text-anchor="middle" x="152.5" y="-1875.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Book] Document gadget</text>
<text text-anchor="middle" x="152.5" y="-1860.8" font-family="Times,serif" font-size="14.00" fill="#000000">API</text>
</a>
</g>
</g>
<!-- zcash/orchard#38 -->
<g id="node74" class="node">
<title>zcash/orchard#38</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="248,-785 57,-785 57,-732 248,-732 248,-785"/>
<text text-anchor="middle" x="152.5" y="-769.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="152.5" y="-754.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="152.5" y="-739.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node75" class="node">
<title>zcash/orchard#96</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/orchard/issues/96" xlink:title="zcash/orchard#96&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="540.5,-785 367.5,-785 367.5,-732 540.5,-732 540.5,-785"/>
<text text-anchor="middle" x="454" y="-769.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="454" y="-754.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="454" y="-739.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="edge67" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M248.31,-758.5C283.07,-758.5 322.35,-758.5 357.2,-758.5"/>
<polygon fill="#000000" stroke="#000000" points="357.38,-762.0001 367.38,-758.5 357.38,-755.0001 357.38,-762.0001"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge68" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M540.65,-758.5C564.24,-758.5 589.94,-758.5 614.06,-758.5"/>
<polygon fill="#000000" stroke="#000000" points="614.29,-762.0001 624.29,-758.5 614.29,-755.0001 614.29,-762.0001"/>
</g>
</g>
</svg>