developers/zcash-core-dag.svg

1312 lines
92 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1925pt" height="2010pt"
viewBox="0.00 0.00 1925.00 2010.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 2006)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2006 1921,-2006 1921,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,-148.5 58.5,-148.5 58.5,-110.5 246.5,-110.5 246.5,-148.5"/>
<text text-anchor="middle" x="152.5" y="-133.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-118.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,-156 358,-156 358,-103 550,-103 550,-156"/>
<text text-anchor="middle" x="454" y="-140.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-125.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-110.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,-129.5C278.76,-129.5 314.86,-129.5 347.84,-129.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-133.0001 357.96,-129.5 347.96,-126.0001 347.96,-133.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,-220 59.5,-220 59.5,-167 245.5,-167 245.5,-220"/>
<text text-anchor="middle" x="152.5" y="-204.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-189.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-174.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,-931 624.5,-931 624.5,-878 797.5,-878 797.5,-931"/>
<text text-anchor="middle" x="711" y="-915.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="711" y="-900.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="711" y="-885.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="1109,-768.5 906,-768.5 906,-700.5 1109,-700.5 1109,-768.5"/>
<text text-anchor="middle" x="1007.5" y="-753.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="1007.5" y="-738.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1007.5" y="-723.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="1007.5" y="-708.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="M734.34,-877.74C760.84,-848.96 806.7,-803.81 855,-777.5 867.76,-770.55 881.74,-764.64 895.9,-759.63"/>
<polygon fill="#000000" stroke="#000000" points="897.3677,-762.8285 905.72,-756.31 895.1258,-756.1972 897.3677,-762.8285"/>
</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="#fad8c7" stroke="#000000" points="1090,-1069 925,-1069 925,-1016 1090,-1016 1090,-1069"/>
<text text-anchor="middle" x="1007.5" y="-1053.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="1007.5" y="-1038.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="1007.5" y="-1023.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="M741.16,-931.16C768.9,-954.33 812.14,-987.15 855,-1006.5 873.75,-1015 894.73,-1021.6 914.99,-1026.7"/>
<polygon fill="#000000" stroke="#000000" points="914.3161,-1030.1381 924.86,-1029.1 915.9701,-1023.3363 914.3161,-1030.1381"/>
</g>
<!-- zcash/zcash#5195 -->
<g id="node7" class="node">
<title>zcash/zcash#5195</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/5195" xlink:title="zcash/zcash#5195&#10;Implement Orchard proof&#10;verification consensus&#10;rule" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1108,-926.5 907,-926.5 907,-858.5 1108,-858.5 1108,-926.5"/>
<text text-anchor="middle" x="1007.5" y="-911.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="1007.5" y="-896.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="1007.5" y="-881.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="1007.5" y="-866.3" font-family="Times,serif" font-size="14.00" fill="#000000">rule</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/zcash#5195 -->
<g id="edge4" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/zcash#5195</title>
<path fill="none" stroke="#000000" d="M797.56,-901C828.62,-899.74 864.07,-898.3 896.89,-896.98"/>
<polygon fill="#000000" stroke="#000000" points="897.1304,-900.4732 906.98,-896.57 896.8461,-893.479 897.1304,-900.4732"/>
</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="1409.5,-919 1197.5,-919 1197.5,-866 1409.5,-866 1409.5,-919"/>
<text text-anchor="middle" x="1303.5" y="-903.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1303.5" y="-888.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1303.5" y="-873.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="M1109.4,-757.06C1126.7,-762.63 1144.2,-769.38 1160,-777.5 1201.5,-798.86 1242.4,-833.35 1269.9,-858.99"/>
<polygon fill="#000000" stroke="#000000" points="1267.6239,-861.6544 1277.3,-865.97 1272.4271,-856.5623 1267.6239,-861.6544"/>
</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" stroke-width="2" points="1397.5,-1030 1209.5,-1030 1209.5,-977 1397.5,-977 1397.5,-1030"/>
<text text-anchor="middle" x="1303.5" y="-1014.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1303.5" y="-999.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1303.5" y="-984.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="M1090.3,-1031.6C1124.2,-1027.1 1163.7,-1021.9 1199.5,-1017.2"/>
<polygon fill="#000000" stroke="#000000" points="1200.0347,-1020.66 1209.5,-1015.9 1199.1322,-1013.7184 1200.0347,-1020.66"/>
</g>
<!-- zcash/zcash#5195&#45;&gt;zcash/zcash#5024 -->
<g id="edge7" class="edge">
<title>zcash/zcash#5195&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1108.1,-892.5C1133.5,-892.5 1161,-892.5 1187,-892.5"/>
<polygon fill="#000000" stroke="#000000" points="1187.3,-896.0001 1197.3,-892.5 1187.3,-889.0001 1187.3,-896.0001"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node10" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node10"><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="1659,-822.5 1450,-822.5 1450,-754.5 1659,-754.5 1659,-822.5"/>
<text text-anchor="middle" x="1554.5" y="-807.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1554.5" y="-792.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1554.5" y="-777.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1554.5" y="-762.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="edge8" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1344.2,-976.94C1364.7,-962.95 1389.8,-945.08 1411,-927.5 1448,-896.81 1487,-858.6 1515,-830.02"/>
<polygon fill="#000000" stroke="#000000" points="1517.7544,-832.207 1522.2,-822.59 1512.7274,-827.3357 1517.7544,-832.207"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node11" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node11"><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,-789 626.5,-789 626.5,-736 795.5,-736 795.5,-789"/>
<text text-anchor="middle" x="711" y="-773.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="711" y="-758.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="711" y="-743.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="edge9" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M795.57,-754.51C826.75,-751.57 862.57,-748.19 895.78,-745.05"/>
<polygon fill="#000000" stroke="#000000" points="896.3616,-748.5108 905.99,-744.09 895.7062,-741.5416 896.3616,-748.5108"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node12" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node12"><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,-1165 55,-1165 55,-1112 250,-1112 250,-1165"/>
<text text-anchor="middle" x="152.5" y="-1149.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1134.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1119.8" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/orchard#33 -->
<g id="node13" class="node">
<title>zcash/orchard#33</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="567,-1085 341,-1085 341,-1032 567,-1032 567,-1085"/>
<text text-anchor="middle" x="454" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-1054.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-1039.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018 -->
<g id="node14" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="797,-1100 625,-1100 625,-1017 797,-1017 797,-1100"/>
<text text-anchor="middle" x="711" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="711" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="711" y="-1054.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="711" y="-1039.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="711" y="-1024.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="edge10" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M567.1,-1058.5C583.01,-1058.5 599.23,-1058.5 614.79,-1058.5"/>
<polygon fill="#000000" stroke="#000000" points="614.9,-1062.0001 624.9,-1058.5 614.9,-1055.0001 614.9,-1062.0001"/>
</g>
<!-- zcash/zcash#5037 -->
<g id="node15" class="node">
<title>zcash/zcash#5037</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/zcash/issues/5037" xlink:title="zcash/zcash#5037&#10;Add Orchard metadata to&#10;history trees" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1107.5,-998 907.5,-998 907.5,-945 1107.5,-945 1107.5,-998"/>
<text text-anchor="middle" x="1007.5" y="-982.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="1007.5" y="-967.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="1007.5" y="-952.8" font-family="Times,serif" font-size="14.00" fill="#000000">history trees</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5037 -->
<g id="edge11" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M797.25,-1025.4C816.14,-1018.7 836.13,-1012.1 855,-1006.5 868.66,-1002.5 883.11,-998.64 897.47,-995.08"/>
<polygon fill="#000000" stroke="#000000" points="898.5013,-998.4309 907.38,-992.65 896.8342,-991.6323 898.5013,-998.4309"/>
</g>
<!-- zcash/zcash#5197 -->
<g id="node16" class="node">
<title>zcash/zcash#5197</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/zcash/issues/5197" xlink:title="zcash/zcash#5197&#10;Implement NU5 block&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1095.5,-1140 919.5,-1140 919.5,-1087 1095.5,-1087 1095.5,-1140"/>
<text text-anchor="middle" x="1007.5" y="-1124.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="1007.5" y="-1109.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="1007.5" y="-1094.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="edge12" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M797.16,-1074.5C832.24,-1081 873,-1088.5 909.23,-1095.3"/>
<polygon fill="#000000" stroke="#000000" points="908.871,-1098.7911 919.33,-1097.1 910.0992,-1091.8997 908.871,-1098.7911"/>
</g>
<!-- zcash/zcash#5037&#45;&gt;zcash/zcash#5024 -->
<g id="edge13" class="edge">
<title>zcash/zcash#5037&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1107.8,-948.72C1125.2,-944.5 1143.2,-940 1160,-935.5 1175.6,-931.32 1192.1,-926.64 1208.1,-921.95"/>
<polygon fill="#000000" stroke="#000000" points="1209.3987,-925.2161 1218,-919.03 1207.4183,-918.5021 1209.3987,-925.2161"/>
</g>
<!-- zcash/zcash#5197&#45;&gt;zcash/zcash#5024 -->
<g id="edge14" class="edge">
<title>zcash/zcash#5197&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1095.6,-1108.3C1118.8,-1103 1142.4,-1093.7 1160,-1077.5 1197.9,-1042.7 1165.3,-1008.8 1196,-967.5 1208.5,-950.62 1226,-936.16 1243.3,-924.57"/>
<polygon fill="#000000" stroke="#000000" points="1245.223,-927.4945 1251.7,-919.11 1241.4081,-921.6254 1245.223,-927.4945"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node17" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node17"><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="1395,-500 1212,-500 1212,-447 1395,-447 1395,-500"/>
<text text-anchor="middle" x="1303.5" y="-484.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1303.5" y="-469.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1303.5" y="-454.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="edge15" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1395.1,-497.49C1400.8,-500.71 1406.1,-504.36 1411,-508.5 1485.2,-571.78 1525.7,-683 1543.4,-744.51"/>
<polygon fill="#000000" stroke="#000000" points="1540.085,-745.648 1546.2,-754.3 1546.8152,-743.723 1540.085,-745.648"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node18" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node18"><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="1650.5,-510.5 1458.5,-510.5 1458.5,-442.5 1650.5,-442.5 1650.5,-510.5"/>
<text text-anchor="middle" x="1554.5" y="-495.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1554.5" y="-480.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1554.5" y="-465.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1554.5" y="-450.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="edge16" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M1395.2,-474.6C1412.4,-474.8 1430.5,-475.02 1448.1,-475.23"/>
<polygon fill="#000000" stroke="#000000" points="1448.3599,-478.7332 1458.4,-475.35 1448.4415,-471.7336 1448.3599,-478.7332"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node19" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node19"><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="1655.5,-424.5 1453.5,-424.5 1453.5,-356.5 1655.5,-356.5 1655.5,-424.5"/>
<text text-anchor="middle" x="1554.5" y="-409.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1554.5" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1554.5" y="-379.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1554.5" y="-364.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="edge17" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1384,-446.9C1403,-440.59 1423.7,-433.76 1443.8,-427.1"/>
<polygon fill="#000000" stroke="#000000" points="1444.9098,-430.4195 1453.3,-423.95 1442.7066,-423.7752 1444.9098,-430.4195"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node20" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node20"><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="1917,-409.5 1698,-409.5 1698,-371.5 1917,-371.5 1917,-409.5"/>
<text text-anchor="middle" x="1807.5" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1807.5" y="-379.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="edge18" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1655.6,-390.5C1666.1,-390.5 1676.9,-390.5 1687.6,-390.5"/>
<polygon fill="#000000" stroke="#000000" points="1687.9,-394.0001 1697.9,-390.5 1687.9,-387.0001 1687.9,-394.0001"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node21" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node21"><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="1901,-353 1714,-353 1714,-300 1901,-300 1901,-353"/>
<text text-anchor="middle" x="1807.5" y="-337.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1807.5" y="-322.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-307.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="edge19" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1655.6,-364.93C1671.5,-360.89 1688.1,-356.71 1704.1,-352.66"/>
<polygon fill="#000000" stroke="#000000" points="1705.1613,-356.0019 1714,-350.16 1703.4474,-349.215 1705.1613,-356.0019"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node22" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node22"><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="1902,-281.5 1713,-281.5 1713,-213.5 1902,-213.5 1902,-281.5"/>
<text text-anchor="middle" x="1807.5" y="-266.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1807.5" y="-251.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1807.5" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1807.5" y="-221.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="edge20" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1643.7,-356.41C1650.2,-352.48 1656.4,-348.19 1662,-343.5 1683.9,-325.31 1675.8,-308.28 1698,-290.5 1700,-288.88 1702.1,-287.32 1704.3,-285.81"/>
<polygon fill="#000000" stroke="#000000" points="1706.3473,-288.6532 1712.8,-280.25 1702.5154,-282.7951 1706.3473,-288.6532"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node23" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node23"><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="1901.5,-552 1713.5,-552 1713.5,-499 1901.5,-499 1901.5,-552"/>
<text text-anchor="middle" x="1807.5" y="-536.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1807.5" y="-521.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-506.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="edge21" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1649.7,-424.54C1654,-427.32 1658.1,-430.3 1662,-433.5 1684.8,-452.33 1674.6,-471.39 1698,-489.5 1700.1,-491.11 1702.2,-492.64 1704.4,-494.11"/>
<polygon fill="#000000" stroke="#000000" points="1702.9261,-497.3077 1713.3,-499.46 1706.5325,-491.3082 1702.9261,-497.3077"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node24" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node24"><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="1901.5,-481 1713.5,-481 1713.5,-428 1901.5,-428 1901.5,-481"/>
<text text-anchor="middle" x="1807.5" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1807.5" y="-450.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-435.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="edge22" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1655.6,-416.07C1671.3,-420.05 1687.6,-424.17 1703.4,-428.16"/>
<polygon fill="#000000" stroke="#000000" points="1702.5455,-431.554 1713.1,-430.63 1704.2729,-424.7705 1702.5455,-431.554"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node25" class="node">
<title>zcash/orchard#36</title>
<g id="a_node25"><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="1104.5,-346.5 910.5,-346.5 910.5,-278.5 1104.5,-278.5 1104.5,-346.5"/>
<text text-anchor="middle" x="1007.5" y="-331.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="1007.5" y="-316.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="1007.5" y="-301.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="1007.5" y="-286.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="edge23" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1104.8,-331.47C1124.7,-338.72 1144.3,-348.72 1160,-362.5 1187.8,-386.88 1168.3,-413.03 1196,-437.5 1198.3,-439.51 1200.7,-441.42 1203.2,-443.21"/>
<polygon fill="#000000" stroke="#000000" points="1201.7081,-446.4146 1212,-448.93 1205.523,-440.5455 1201.7081,-446.4146"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node26" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node26"><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="1397.5,-256.5 1209.5,-256.5 1209.5,-188.5 1397.5,-188.5 1397.5,-256.5"/>
<text text-anchor="middle" x="1303.5" y="-241.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1303.5" y="-226.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1303.5" y="-211.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1303.5" y="-196.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="edge24" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1104.8,-282.91C1135.2,-273.68 1168.7,-263.48 1199.5,-254.12"/>
<polygon fill="#000000" stroke="#000000" points="1200.8448,-257.3697 1209.4,-251.12 1198.8147,-250.6706 1200.8448,-257.3697"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node27" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node27"><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="1662,-256.5 1447,-256.5 1447,-188.5 1662,-188.5 1662,-256.5"/>
<text text-anchor="middle" x="1554.5" y="-241.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1554.5" y="-226.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1554.5" y="-211.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1554.5" y="-196.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="edge25" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M1397.7,-222.5C1410.3,-222.5 1423.4,-222.5 1436.3,-222.5"/>
<polygon fill="#000000" stroke="#000000" points="1436.7,-226.0001 1446.7,-222.5 1436.7,-219.0001 1436.7,-226.0001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge26" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1643.1,-256.65C1650,-261.34 1656.4,-266.61 1662,-272.5 1691.4,-303.43 1666,-333.28 1698,-361.5 1699.7,-363.03 1701.5,-364.49 1703.4,-365.86"/>
<polygon fill="#000000" stroke="#000000" points="1701.704,-368.9315 1712,-371.43 1705.5093,-363.0561 1701.704,-368.9315"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge27" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1628.4,-256.52C1639.7,-261.82 1651.2,-267.27 1662,-272.5 1678.1,-280.27 1681.5,-283.69 1698,-290.5 1702.8,-292.47 1707.7,-294.42 1712.8,-296.31"/>
<polygon fill="#000000" stroke="#000000" points="1711.9068,-299.7114 1722.5,-299.9 1714.3365,-293.1466 1711.9068,-299.7114"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge28" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1662.2,-233.14C1675.6,-234.46 1689.2,-235.81 1702.6,-237.13"/>
<polygon fill="#000000" stroke="#000000" points="1702.4013,-240.6275 1712.7,-238.14 1703.0979,-233.6622 1702.4013,-240.6275"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node28" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node28"><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="1892.5,-195 1722.5,-195 1722.5,-142 1892.5,-142 1892.5,-195"/>
<text text-anchor="middle" x="1807.5" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1807.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-149.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="edge29" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M1662.2,-199.52C1678.8,-195.98 1695.8,-192.34 1712.1,-188.86"/>
<polygon fill="#000000" stroke="#000000" points="1713.0538,-192.2352 1722.1,-186.72 1711.589,-185.3902 1713.0538,-192.2352"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node29" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node29"><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="1907.5,-124 1707.5,-124 1707.5,-71 1907.5,-71 1907.5,-124"/>
<text text-anchor="middle" x="1807.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1807.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1807.5" y="-78.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="edge30" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M1602.3,-188.3C1629.4,-169.98 1664.5,-148.05 1698,-132.5 1701.4,-130.91 1704.9,-129.37 1708.5,-127.88"/>
<polygon fill="#000000" stroke="#000000" points="1710.0467,-131.0297 1718,-124.03 1707.4175,-124.5422 1710.0467,-131.0297"/>
</g>
<!-- zcash/zcash#5191 -->
<g id="node30" class="node">
<title>zcash/zcash#5191</title>
<g id="a_node30"><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="1892,-53 1723,-53 1723,0 1892,0 1892,-53"/>
<text text-anchor="middle" x="1807.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1807.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1807.5" y="-7.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="edge31" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5191</title>
<path fill="none" stroke="#000000" d="M1576.6,-188.36C1601.8,-151.96 1646.3,-95.053 1698,-61.5 1702.9,-58.296 1708.2,-55.366 1713.6,-52.689"/>
<polygon fill="#000000" stroke="#000000" points="1715.2719,-55.7727 1722.9,-48.42 1712.3516,-49.411 1715.2719,-55.7727"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node31" class="node">
<title>zcash/orchard#30</title>
<g id="a_node31"><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="1093.5,-500 921.5,-500 921.5,-447 1093.5,-447 1093.5,-500"/>
<text text-anchor="middle" x="1007.5" y="-484.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="1007.5" y="-469.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="1007.5" y="-454.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="edge32" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1093.5,-473.5C1127.3,-473.5 1166.4,-473.5 1201.5,-473.5"/>
<polygon fill="#000000" stroke="#000000" points="1201.8,-477.0001 1211.8,-473.5 1201.8,-470.0001 1201.8,-477.0001"/>
</g>
<!-- zcash/zcash#2534 -->
<g id="node32" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node32"><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,-1271 52.5,-1271 52.5,-1267 48.5,-1267 48.5,-1263 52.5,-1263 52.5,-1226 48.5,-1226 48.5,-1222 52.5,-1222 52.5,-1218 252.5,-1218 252.5,-1271"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1267 56.5,-1267 56.5,-1263 52.5,-1263 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1226 56.5,-1226 56.5,-1222 52.5,-1222 "/>
<text text-anchor="middle" x="152.5" y="-1255.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1240.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="-1225.8" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003 -->
<g id="node33" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node33"><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,-1288 348,-1288 348,-1284 344,-1284 344,-1280 348,-1280 348,-1243 344,-1243 344,-1239 348,-1239 348,-1235 560,-1235 560,-1288"/>
<polyline fill="none" stroke="#000000" points="348,-1284 352,-1284 352,-1280 348,-1280 "/>
<polyline fill="none" stroke="#000000" points="348,-1243 352,-1243 352,-1239 348,-1239 "/>
<text text-anchor="middle" x="454" y="-1272.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1257.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1242.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="edge33" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M252.9,-1250.2C280.05,-1251.7 309.67,-1253.4 337.63,-1254.9"/>
<polygon fill="#000000" stroke="#000000" points="337.6519,-1258.4072 347.84,-1255.5 338.0626,-1251.4193 337.6519,-1258.4072"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node34" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node34"><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,-1210.5 615.5,-1210.5 615.5,-1206.5 611.5,-1206.5 611.5,-1202.5 615.5,-1202.5 615.5,-1150.5 611.5,-1150.5 611.5,-1146.5 615.5,-1146.5 615.5,-1142.5 806.5,-1142.5 806.5,-1210.5"/>
<polyline fill="none" stroke="#000000" points="615.5,-1206.5 619.5,-1206.5 619.5,-1202.5 615.5,-1202.5 "/>
<polyline fill="none" stroke="#000000" points="615.5,-1150.5 619.5,-1150.5 619.5,-1146.5 615.5,-1146.5 "/>
<text text-anchor="middle" x="711" y="-1195.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="711" y="-1180.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="711" y="-1165.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="711" y="-1150.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="edge34" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M252.67,-1232.3C352.16,-1220.2 504.11,-1201.7 605.44,-1189.4"/>
<polygon fill="#000000" stroke="#000000" points="605.9277,-1192.8661 615.39,-1188.1 605.0208,-1185.9251 605.9277,-1192.8661"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node35" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node35"><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,-1312 624,-1312 624,-1308 620,-1308 620,-1304 624,-1304 624,-1237 620,-1237 620,-1233 624,-1233 624,-1229 798,-1229 798,-1312"/>
<polyline fill="none" stroke="#000000" points="624,-1308 628,-1308 628,-1304 624,-1304 "/>
<polyline fill="none" stroke="#000000" points="624,-1237 628,-1237 628,-1233 624,-1233 "/>
<text text-anchor="middle" x="711" y="-1296.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="711" y="-1281.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="711" y="-1266.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="711" y="-1251.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="711" y="-1236.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="edge35" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M560.02,-1265.2C577.7,-1265.8 595.97,-1266.5 613.43,-1267.1"/>
<polygon fill="#000000" stroke="#000000" points="613.5112,-1270.6038 623.61,-1267.4 613.7175,-1263.6069 613.5112,-1270.6038"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node36" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node36"><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="1116.5,-1219.5 898.5,-1219.5 898.5,-1215.5 894.5,-1215.5 894.5,-1211.5 898.5,-1211.5 898.5,-1189.5 894.5,-1189.5 894.5,-1185.5 898.5,-1185.5 898.5,-1181.5 1116.5,-1181.5 1116.5,-1219.5"/>
<polyline fill="none" stroke="#000000" points="898.5,-1215.5 902.5,-1215.5 902.5,-1211.5 898.5,-1211.5 "/>
<polyline fill="none" stroke="#000000" points="898.5,-1189.5 902.5,-1189.5 902.5,-1185.5 898.5,-1185.5 "/>
<text text-anchor="middle" x="1007.5" y="-1204.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1007.5" y="-1189.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="edge36" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M806.86,-1184.3C832.74,-1186.4 861.06,-1188.6 888.06,-1190.8"/>
<polygon fill="#000000" stroke="#000000" points="888.0626,-1194.3136 898.33,-1191.7 888.6738,-1187.3403 888.0626,-1194.3136"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge37" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M798.36,-1249.9C835.68,-1241.1 879.23,-1230.8 916.9,-1221.9"/>
<polygon fill="#000000" stroke="#000000" points="917.9495,-1225.2473 926.85,-1219.5 916.3081,-1218.4425 917.9495,-1225.2473"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node37" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node37"><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="1398,-1234.5 1209,-1234.5 1209,-1230.5 1205,-1230.5 1205,-1226.5 1209,-1226.5 1209,-1174.5 1205,-1174.5 1205,-1170.5 1209,-1170.5 1209,-1166.5 1398,-1166.5 1398,-1234.5"/>
<polyline fill="none" stroke="#000000" points="1209,-1230.5 1213,-1230.5 1213,-1226.5 1209,-1226.5 "/>
<polyline fill="none" stroke="#000000" points="1209,-1174.5 1213,-1174.5 1213,-1170.5 1209,-1170.5 "/>
<text text-anchor="middle" x="1303.5" y="-1219.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1303.5" y="-1204.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1303.5" y="-1189.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1303.5" y="-1174.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="edge38" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1116.9,-1200.5C1143.6,-1200.5 1172.1,-1200.5 1198.6,-1200.5"/>
<polygon fill="#000000" stroke="#000000" points="1198.7,-1204.0001 1208.7,-1200.5 1198.7,-1197.0001 1198.7,-1204.0001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node38" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node38"><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,-1368.5 56,-1368.5 56,-1364.5 52,-1364.5 52,-1360.5 56,-1360.5 56,-1338.5 52,-1338.5 52,-1334.5 56,-1334.5 56,-1330.5 249,-1330.5 249,-1368.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1364.5 60,-1364.5 60,-1360.5 56,-1360.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1338.5 60,-1338.5 60,-1334.5 56,-1334.5 "/>
<text text-anchor="middle" x="152.5" y="-1353.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1338.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="node39" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node39"><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,-1368.5 357.5,-1368.5 357.5,-1364.5 353.5,-1364.5 353.5,-1360.5 357.5,-1360.5 357.5,-1338.5 353.5,-1338.5 353.5,-1334.5 357.5,-1334.5 357.5,-1330.5 550.5,-1330.5 550.5,-1368.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1364.5 361.5,-1364.5 361.5,-1360.5 357.5,-1360.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1338.5 361.5,-1338.5 361.5,-1334.5 357.5,-1334.5 "/>
<text text-anchor="middle" x="454" y="-1353.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1338.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="edge39" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1349.5C280.38,-1349.5 315.19,-1349.5 347.13,-1349.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1353.0001 357.39,-1349.5 347.39,-1346.0001 347.39,-1353.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node40" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node40"><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,-1368.5 614.5,-1368.5 614.5,-1364.5 610.5,-1364.5 610.5,-1360.5 614.5,-1360.5 614.5,-1338.5 610.5,-1338.5 610.5,-1334.5 614.5,-1334.5 614.5,-1330.5 807.5,-1330.5 807.5,-1368.5"/>
<polyline fill="none" stroke="#000000" points="614.5,-1364.5 618.5,-1364.5 618.5,-1360.5 614.5,-1360.5 "/>
<polyline fill="none" stroke="#000000" points="614.5,-1338.5 618.5,-1338.5 618.5,-1334.5 614.5,-1334.5 "/>
<text text-anchor="middle" x="711" y="-1353.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="711" y="-1338.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="edge40" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.79,-1349.5C568.16,-1349.5 586.35,-1349.5 603.98,-1349.5"/>
<polygon fill="#000000" stroke="#000000" points="604.29,-1353.0001 614.29,-1349.5 604.29,-1346.0001 604.29,-1353.0001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node41" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node41"><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="1100,-425 915,-425 915,-372 1100,-372 1100,-425"/>
<text text-anchor="middle" x="1007.5" y="-409.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="1007.5" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="1007.5" y="-379.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="edge41" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1100.3,-422.02C1132.5,-430.18 1168.8,-439.37 1201.7,-447.7"/>
<polygon fill="#000000" stroke="#000000" points="1201.1452,-451.1705 1211.7,-450.25 1202.8749,-444.3875 1201.1452,-451.1705"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node42" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node42"><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="1404.5,-428.5 1202.5,-428.5 1202.5,-360.5 1404.5,-360.5 1404.5,-428.5"/>
<text text-anchor="middle" x="1303.5" y="-413.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1303.5" y="-398.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1303.5" y="-383.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1303.5" y="-368.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="edge42" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1100.3,-397.25C1129.4,-396.85 1161.9,-396.41 1192.1,-396.01"/>
<polygon fill="#000000" stroke="#000000" points="1192.349,-399.507 1202.3,-395.87 1192.2529,-392.5077 1192.349,-399.507"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge43" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1404.5,-392.89C1417.2,-392.69 1430.2,-392.48 1443.1,-392.28"/>
<polygon fill="#000000" stroke="#000000" points="1443.3597,-395.7763 1453.3,-392.11 1443.243,-388.7772 1443.3597,-395.7763"/>
</g>
<!-- zcash/zips#364 -->
<g id="node43" class="node">
<title>zcash/zips#364</title>
<g id="a_node43"><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,-425 608.5,-425 608.5,-372 813.5,-372 813.5,-425"/>
<text text-anchor="middle" x="711" y="-409.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="711" y="-394.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="711" y="-379.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="edge44" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M813.87,-398.5C843.19,-398.5 875.14,-398.5 904.48,-398.5"/>
<polygon fill="#000000" stroke="#000000" points="904.73,-402.0001 914.73,-398.5 904.73,-395.0001 904.73,-402.0001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node44" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node44"><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,-1440 61.5,-1440 61.5,-1387 243.5,-1387 243.5,-1440"/>
<text text-anchor="middle" x="152.5" y="-1424.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1409.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1394.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node45" class="node">
<title>zcash/zips#511</title>
<g id="a_node45"><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="1411,-342.5 1196,-342.5 1196,-274.5 1411,-274.5 1411,-342.5"/>
<text text-anchor="middle" x="1303.5" y="-327.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1303.5" y="-312.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1303.5" y="-297.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1303.5" y="-282.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="edge45" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1407.8,-342.56C1419.7,-346.45 1431.8,-350.43 1443.8,-354.34"/>
<polygon fill="#000000" stroke="#000000" points="1442.8076,-357.6977 1453.4,-357.47 1444.9775,-351.0425 1442.8076,-357.6977"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node46" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node46"><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="1662,-335 1447,-335 1447,-282 1662,-282 1662,-335"/>
<text text-anchor="middle" x="1554.5" y="-319.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1554.5" y="-304.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1554.5" y="-289.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="edge46" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1411,-308.5C1419.6,-308.5 1428.2,-308.5 1436.8,-308.5"/>
<polygon fill="#000000" stroke="#000000" points="1436.8,-312.0001 1446.8,-308.5 1436.8,-305.0001 1436.8,-312.0001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node47" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node47"><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,-1511 51,-1511 51,-1458 254,-1458 254,-1511"/>
<text text-anchor="middle" x="152.5" y="-1495.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1480.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1465.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="node48" class="node">
<title>zcash/zcash#5196</title>
<g id="a_node48"><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="1109,-840 906,-840 906,-787 1109,-787 1109,-840"/>
<text text-anchor="middle" x="1007.5" y="-824.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="1007.5" y="-809.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="1007.5" y="-794.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="edge47" class="edge">
<title>zcash/zcash#5196&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1109,-836.58C1126.1,-840.71 1143.6,-845.1 1160,-849.5 1175.6,-853.68 1192.1,-858.36 1208.1,-863.05"/>
<polygon fill="#000000" stroke="#000000" points="1207.4183,-866.4979 1218,-865.97 1209.3987,-859.7839 1207.4183,-866.4979"/>
</g>
<!-- zcash/zcash#5198 -->
<g id="node49" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node49"><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,-1642 54.5,-1642 54.5,-1529 250.5,-1529 250.5,-1642"/>
<text text-anchor="middle" x="152.5" y="-1626.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1611.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1596.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1581.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="-1566.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="-1551.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1536.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5199 -->
<g id="node50" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node50"><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,-1743 58,-1743 58,-1660 247,-1660 247,-1743"/>
<text text-anchor="middle" x="152.5" y="-1727.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="152.5" y="-1712.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="152.5" y="-1697.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="152.5" y="-1682.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="152.5" y="-1667.8" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zips#506 -->
<g id="node51" class="node">
<title>zcash/zips#506</title>
<g id="a_node51"><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,-800.5 352,-800.5 352,-732.5 556,-732.5 556,-800.5"/>
<text text-anchor="middle" x="454" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="454" y="-770.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="454" y="-755.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="454" y="-740.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="edge48" class="edge">
<title>zcash/zips#506&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M556.31,-764.91C576.1,-764.6 596.75,-764.28 616.28,-763.97"/>
<polygon fill="#000000" stroke="#000000" points="616.4331,-767.4682 626.38,-763.82 616.3291,-760.469 616.4331,-767.4682"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node52" class="node">
<title>zcash/halo2#63</title>
<g id="a_node52"><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,-714 603,-714 603,-661 819,-661 819,-714"/>
<text text-anchor="middle" x="711" y="-698.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="711" y="-683.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="711" y="-668.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="edge49" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M819.3,-704.67C844.28,-708.63 870.88,-712.84 895.99,-716.82"/>
<polygon fill="#000000" stroke="#000000" points="895.4736,-720.2818 905.9,-718.4 896.5758,-713.3691 895.4736,-720.2818"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="node53" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/26" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#10;Implement Unified Address&#10;encodings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1160,-249 855,-249 855,-196 1160,-196 1160,-249"/>
<text text-anchor="middle" x="1007.5" y="-233.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</text>
<text text-anchor="middle" x="1007.5" y="-218.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1007.5" y="-203.8" font-family="Times,serif" font-size="14.00" fill="#000000">encodings</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371 -->
<g id="edge50" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1160.3,-222.5C1173.4,-222.5 1186.5,-222.5 1199.2,-222.5"/>
<polygon fill="#000000" stroke="#000000" points="1199.2,-226.0001 1209.2,-222.5 1199.2,-219.0001 1199.2,-226.0001"/>
</g>
<!-- zcash/librustzcash#403 -->
<g id="node54" class="node">
<title>zcash/librustzcash#403</title>
<g id="a_node54"><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" stroke-width="2" points="246.5,-1814 58.5,-1814 58.5,-1761 246.5,-1761 246.5,-1814"/>
<text text-anchor="middle" x="152.5" y="-1798.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="152.5" y="-1783.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="152.5" y="-1768.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_backend`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#404 -->
<g id="node55" class="node">
<title>zcash/librustzcash#404</title>
<g id="a_node55"><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="548,-1814 360,-1814 360,-1761 548,-1761 548,-1814"/>
<text text-anchor="middle" x="454" y="-1798.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="454" y="-1783.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="454" y="-1768.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="edge51" class="edge">
<title>zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404</title>
<path fill="none" stroke="#000000" d="M246.66,-1787.5C279.3,-1787.5 316.09,-1787.5 349.52,-1787.5"/>
<polygon fill="#000000" stroke="#000000" points="349.78,-1791.0001 359.78,-1787.5 349.78,-1784.0001 349.78,-1791.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node56" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node56"><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,-1085 0,-1085 0,-1032 305,-1032 305,-1085"/>
<text text-anchor="middle" x="152.5" y="-1069.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="-1054.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-1039.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33 -->
<g id="edge52" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M305.02,-1058.5C313.53,-1058.5 322.04,-1058.5 330.43,-1058.5"/>
<polygon fill="#000000" stroke="#000000" points="330.6,-1062.0001 340.6,-1058.5 330.6,-1055.0001 330.6,-1062.0001"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node57" class="node">
<title>zcash/orchard#95</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/orchard/issues/95" xlink:title="zcash/orchard#95&#10;Implement Merkle path&#10;validity chip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="547.5,-1014 360.5,-1014 360.5,-961 547.5,-961 547.5,-1014"/>
<text text-anchor="middle" x="454" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-983.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-968.8" font-family="Times,serif" font-size="14.00" fill="#000000">validity chip</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95 -->
<g id="edge53" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M265.2,-1032C293.05,-1025.4 322.76,-1018.4 350.18,-1011.9"/>
<polygon fill="#000000" stroke="#000000" points="351.2015,-1015.2564 360.16,-1009.6 349.6294,-1008.4352 351.2015,-1015.2564"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge54" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M537.64,-960.93C547.54,-957.76 557.5,-954.56 567,-951.5 584.21,-945.95 602.57,-939.99 620.21,-934.24"/>
<polygon fill="#000000" stroke="#000000" points="621.5,-937.5007 629.92,-931.07 619.3275,-930.8464 621.5,-937.5007"/>
</g>
<!-- zcash/halo2#64 -->
<g id="node58" class="node">
<title>zcash/halo2#64</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237.5,-872 67.5,-872 67.5,-819 237.5,-819 237.5,-872"/>
<text text-anchor="middle" x="152.5" y="-856.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="152.5" y="-841.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="152.5" y="-826.8" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#235 -->
<g id="node59" class="node">
<title>zcash/halo2#235</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="542,-872 366,-872 366,-819 542,-819 542,-872"/>
<text text-anchor="middle" x="454" y="-856.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="454" y="-841.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="454" y="-826.8" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge55" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M237.69,-845.5C274.45,-845.5 317.68,-845.5 355.79,-845.5"/>
<polygon fill="#000000" stroke="#000000" points="355.87,-849.0001 365.87,-845.5 355.87,-842.0001 355.87,-849.0001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge56" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M542.09,-865.72C565.35,-871.06 590.59,-876.86 614.28,-882.3"/>
<polygon fill="#000000" stroke="#000000" points="613.8114,-885.7831 624.34,-884.6 615.3716,-878.9592 613.8114,-885.7831"/>
</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="1097,-571 918,-571 918,-518 1097,-518 1097,-571"/>
<text text-anchor="middle" x="1007.5" y="-555.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1007.5" y="-540.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1007.5" y="-525.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="1408.5,-571 1198.5,-571 1198.5,-518 1408.5,-518 1408.5,-571"/>
<text text-anchor="middle" x="1303.5" y="-555.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1303.5" y="-540.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1303.5" y="-525.8" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge57" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1097.1,-544.5C1125.8,-544.5 1157.9,-544.5 1188.2,-544.5"/>
<polygon fill="#000000" stroke="#000000" points="1188.3,-548.0001 1198.3,-544.5 1188.3,-541.0001 1188.3,-548.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,-636 630.5,-636 630.5,-553 791.5,-553 791.5,-636"/>
<text text-anchor="middle" x="711" y="-620.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="711" y="-605.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="711" y="-590.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="711" y="-575.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="711" y="-560.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,-628.5 352,-628.5 352,-560.5 556,-560.5 556,-628.5"/>
<text text-anchor="middle" x="454" y="-613.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-598.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-583.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-568.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge58" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.31,-594.5C577.48,-594.5 599.65,-594.5 620.37,-594.5"/>
<polygon fill="#000000" stroke="#000000" points="620.41,-598.0001 630.41,-594.5 620.41,-591.0001 620.41,-598.0001"/>
</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,-535 614,-535 614,-482 808,-482 808,-535"/>
<text text-anchor="middle" x="711" y="-519.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="711" y="-504.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="711" y="-489.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge59" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M552.91,-560.39C569.61,-554.7 586.79,-548.9 603,-543.5 608.2,-541.77 613.55,-540 618.94,-538.22"/>
<polygon fill="#000000" stroke="#000000" points="620.2801,-541.4639 628.69,-535.02 618.0972,-534.813 620.2801,-541.4639"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge60" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M808.09,-520.29C839.94,-524.15 875.38,-528.46 907.45,-532.35"/>
<polygon fill="#000000" stroke="#000000" points="907.3806,-535.8673 917.73,-533.6 908.2256,-528.9184 907.3806,-535.8673"/>
</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,-1900.5 81,-1900.5 81,-1832.5 224,-1832.5 224,-1900.5"/>
<text text-anchor="middle" x="152.5" y="-1885.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1870.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1855.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1840.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,-2002 56,-2002 56,-1919 249,-1919 249,-2002"/>
<text text-anchor="middle" x="152.5" y="-1986.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1971.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1956.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="-1941.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1926.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,-456 352.5,-456 352.5,-403 555.5,-403 555.5,-456"/>
<text text-anchor="middle" x="454" y="-440.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-425.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-410.8" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge61" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M540.29,-456.03C564.24,-463.39 590.38,-471.42 614.85,-478.94"/>
<polygon fill="#000000" stroke="#000000" points="613.9129,-482.3135 624.5,-481.91 615.972,-475.6232 613.9129,-482.3135"/>
</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,-384.5 361.5,-384.5 361.5,-316.5 546.5,-316.5 546.5,-384.5"/>
<text text-anchor="middle" x="454" y="-369.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-354.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-339.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-324.3" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge62" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.54,-381.43C553.68,-385.09 560.59,-389.11 567,-393.5 586.73,-407.02 585.06,-417.68 603,-433.5 620.45,-448.88 641.12,-463.9 659.68,-476.41"/>
<polygon fill="#000000" stroke="#000000" points="657.7751,-479.3465 668.04,-481.97 661.6516,-473.5178 657.7751,-479.3465"/>
</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,-291 63,-291 63,-238 242,-238 242,-291"/>
<text text-anchor="middle" x="152.5" y="-275.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-260.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-245.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,-298.5 366,-298.5 366,-230.5 542,-230.5 542,-298.5"/>
<text text-anchor="middle" x="454" y="-283.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-268.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-253.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-238.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge63" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-264.5C277.92,-264.5 319.23,-264.5 355.81,-264.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-268.0001 366,-264.5 356,-261.0001 356,-268.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge64" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.24,-288.36C551.44,-293.54 559.97,-299.85 567,-307.5 606.39,-350.4 569.11,-386.13 603,-433.5 615.05,-450.34 632.11,-464.66 649.13,-476.13"/>
<polygon fill="#000000" stroke="#000000" points="647.703,-479.3755 658,-481.87 651.5061,-473.4986 647.703,-479.3755"/>
</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,-714.5 351,-714.5 351,-646.5 557,-646.5 557,-714.5"/>
<text text-anchor="middle" x="454" y="-699.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-684.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-669.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="-654.3" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#63 -->
<g id="edge65" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M557.05,-683.31C568.83,-683.63 580.91,-683.96 592.87,-684.28"/>
<polygon fill="#000000" stroke="#000000" points="592.786,-687.7789 602.88,-684.56 592.9818,-680.7817 592.786,-687.7789"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge66" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M556.7,-646.38C560.35,-643.64 563.81,-640.69 567,-637.5 598.67,-605.9 570.55,-574.29 603,-543.5 603.82,-542.72 604.66,-541.96 605.52,-541.21"/>
<polygon fill="#000000" stroke="#000000" points="607.8525,-543.831 613.63,-534.95 603.5753,-538.2897 607.8525,-543.831"/>
</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,-542.5 345,-542.5 345,-474.5 563,-474.5 563,-542.5"/>
<text text-anchor="middle" x="454" y="-527.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-512.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-497.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-482.3" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge67" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M563.36,-508.5C576.75,-508.5 590.43,-508.5 603.79,-508.5"/>
<polygon fill="#000000" stroke="#000000" points="603.93,-512.0001 613.93,-508.5 603.93,-505.0001 603.93,-512.0001"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node73" class="node">
<title>zcash/orchard#38</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="248,-943 57,-943 57,-890 248,-890 248,-943"/>
<text text-anchor="middle" x="152.5" y="-927.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="152.5" y="-912.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="152.5" y="-897.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node74" class="node">
<title>zcash/orchard#96</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/orchard/issues/96" xlink:title="zcash/orchard#96&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="540.5,-943 367.5,-943 367.5,-890 540.5,-890 540.5,-943"/>
<text text-anchor="middle" x="454" y="-927.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="454" y="-912.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="454" y="-897.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#96 -->
<g id="edge68" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M248.31,-916.5C283.07,-916.5 322.35,-916.5 357.2,-916.5"/>
<polygon fill="#000000" stroke="#000000" points="357.38,-920.0001 367.38,-916.5 357.38,-913.0001 357.38,-920.0001"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge69" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M540.65,-912.45C564.24,-911.35 589.94,-910.15 614.06,-909.03"/>
<polygon fill="#000000" stroke="#000000" points="614.4651,-912.5149 624.29,-908.55 614.1369,-905.5226 614.4651,-912.5149"/>
</g>
<!-- zcash/orchard#67 -->
<g id="node75" class="node">
<title>zcash/orchard#67</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/orchard/pull/67" xlink:title="zcash/orchard#67&#10;Sinsemilla chip with&#10;HashDomain" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="233.5,-1014 71.5,-1014 71.5,-1010 67.5,-1010 67.5,-1006 71.5,-1006 71.5,-969 67.5,-969 67.5,-965 71.5,-965 71.5,-961 233.5,-961 233.5,-1014"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-1010 75.5,-1010 75.5,-1006 71.5,-1006 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-969 75.5,-969 75.5,-965 71.5,-965 "/>
<text text-anchor="middle" x="152.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#67</text>
<text text-anchor="middle" x="152.5" y="-983.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla chip with</text>
<text text-anchor="middle" x="152.5" y="-968.8" font-family="Times,serif" font-size="14.00" fill="#000000">HashDomain</text>
</a>
</g>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#95 -->
<g id="edge70" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M233.69,-987.5C269.56,-987.5 312.15,-987.5 350.28,-987.5"/>
<polygon fill="#000000" stroke="#000000" points="350.39,-991.0001 360.39,-987.5 350.39,-984.0001 350.39,-991.0001"/>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#96 -->
<g id="edge71" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M233.69,-968.38C271.88,-959.39 317.69,-948.6 357.63,-939.19"/>
<polygon fill="#000000" stroke="#000000" points="358.4452,-942.5939 367.38,-936.9 356.8446,-935.7793 358.4452,-942.5939"/>
</g>
</g>
</svg>