developers/zcash-core-dag.svg

1329 lines
94 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1925pt" height="2056pt"
viewBox="0.00 0.00 1925.00 2056.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 2052)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2052 1921,-2052 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,-231.5 58.5,-231.5 58.5,-193.5 246.5,-193.5 246.5,-231.5"/>
<text text-anchor="middle" x="152.5" y="-216.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-201.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,-239 358,-239 358,-186 550,-186 550,-239"/>
<text text-anchor="middle" x="454" y="-223.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-208.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-193.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,-212.5C278.76,-212.5 314.86,-212.5 347.84,-212.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-216.0001 357.96,-212.5 347.96,-209.0001 347.96,-216.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,-397 59.5,-397 59.5,-344 245.5,-344 245.5,-397"/>
<text text-anchor="middle" x="152.5" y="-381.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-366.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-351.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,-1049 624.5,-1049 624.5,-996 797.5,-996 797.5,-1049"/>
<text text-anchor="middle" x="711" y="-1033.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="711" y="-1018.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="711" y="-1003.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,-870.5 906,-870.5 906,-802.5 1109,-802.5 1109,-870.5"/>
<text text-anchor="middle" x="1007.5" y="-855.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="1007.5" y="-840.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1007.5" y="-825.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="-810.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="M755.11,-995.95C776.14,-981.85 800.64,-963.17 819,-942.5 840.41,-918.39 829.59,-899.35 855,-879.5 867.18,-869.98 881.36,-862.57 896.08,-856.8"/>
<polygon fill="#000000" stroke="#000000" points="897.6215,-859.963 905.81,-853.24 895.2162,-853.3892 897.6215,-859.963"/>
</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,-1099 925,-1099 925,-1046 1090,-1046 1090,-1099"/>
<text text-anchor="middle" x="1007.5" y="-1083.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="1007.5" y="-1068.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="1007.5" y="-1053.8" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge3" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M797.56,-1037.1C834.43,-1043.3 877.5,-1050.6 915,-1056.9"/>
<polygon fill="#000000" stroke="#000000" points="914.4622,-1060.3588 924.91,-1058.6 915.6458,-1053.4596 914.4622,-1060.3588"/>
</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,-956.5 907,-956.5 907,-888.5 1108,-888.5 1108,-956.5"/>
<text text-anchor="middle" x="1007.5" y="-941.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="1007.5" y="-926.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="1007.5" y="-911.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="1007.5" y="-896.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="M773.93,-995.98C798.95,-985.86 828.13,-974.58 855,-965.5 868.55,-960.92 882.89,-956.43 897.14,-952.17"/>
<polygon fill="#000000" stroke="#000000" points="898.3691,-955.4566 906.97,-949.27 896.3883,-948.7427 898.3691,-955.4566"/>
</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,-863 1197.5,-863 1197.5,-810 1409.5,-810 1409.5,-863"/>
<text text-anchor="middle" x="1303.5" y="-847.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1303.5" y="-832.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1303.5" y="-817.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,-836.5C1134.5,-836.5 1161.5,-836.5 1187.3,-836.5"/>
<polygon fill="#000000" stroke="#000000" points="1187.4,-840.0001 1197.4,-836.5 1187.4,-833.0001 1187.4,-840.0001"/>
</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,-1017 1209.5,-1017 1209.5,-964 1397.5,-964 1397.5,-1017"/>
<text text-anchor="middle" x="1303.5" y="-1001.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1303.5" y="-986.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1303.5" y="-971.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.1,-1054.2C1112.9,-1048.9 1137.5,-1042.8 1160,-1036.5 1177.8,-1031.6 1196.6,-1025.9 1214.6,-1020.2"/>
<polygon fill="#000000" stroke="#000000" points="1216.0612,-1023.4061 1224.5,-1017 1213.9082,-1016.7454 1216.0612,-1023.4061"/>
</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,-894.4C1125.4,-889.48 1143.2,-884.38 1160,-879.5 1174.7,-875.21 1190.3,-870.61 1205.6,-866.07"/>
<polygon fill="#000000" stroke="#000000" points="1206.9217,-869.328 1215.5,-863.11 1204.9164,-862.6213 1206.9217,-869.328"/>
</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,-800.5 1450,-800.5 1450,-732.5 1659,-732.5 1659,-800.5"/>
<text text-anchor="middle" x="1554.5" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1554.5" y="-770.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1554.5" y="-755.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1554.5" y="-740.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="M1333.3,-963.92C1376.6,-925.23 1457.5,-853.06 1508.5,-807.52"/>
<polygon fill="#000000" stroke="#000000" points="1511.0213,-809.9629 1516.2,-800.72 1506.3876,-804.716 1511.0213,-809.9629"/>
</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,-934 626.5,-934 626.5,-881 795.5,-881 795.5,-934"/>
<text text-anchor="middle" x="711" y="-918.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="711" y="-903.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="711" y="-888.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,-887.25C826.88,-879.75 862.88,-871.13 896.21,-863.15"/>
<polygon fill="#000000" stroke="#000000" points="897.079,-866.541 905.99,-860.81 895.45,-859.7331 897.079,-866.541"/>
</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,-1226 55,-1226 55,-1173 250,-1173 250,-1226"/>
<text text-anchor="middle" x="152.5" y="-1210.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1195.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1180.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,-769 341,-769 341,-716 567,-716 567,-769"/>
<text text-anchor="middle" x="454" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-738.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-723.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,-792 625,-792 625,-709 797,-709 797,-792"/>
<text text-anchor="middle" x="711" y="-776.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="711" y="-761.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="711" y="-746.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="711" y="-731.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="711" y="-716.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,-746.02C583.01,-746.52 599.23,-747.02 614.79,-747.5"/>
<polygon fill="#000000" stroke="#000000" points="614.7942,-751.0018 624.9,-747.82 615.0158,-744.0053 614.7942,-751.0018"/>
</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,-713 907.5,-713 907.5,-660 1107.5,-660 1107.5,-713"/>
<text text-anchor="middle" x="1007.5" y="-697.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="1007.5" y="-682.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="1007.5" y="-667.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.16,-731.9C828.38,-725.16 864.09,-717.46 897.11,-710.33"/>
<polygon fill="#000000" stroke="#000000" points="898.2232,-713.6704 907.26,-708.14 896.7467,-706.8279 898.2232,-713.6704"/>
</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,-784 919.5,-784 919.5,-731 1095.5,-731 1095.5,-784"/>
<text text-anchor="middle" x="1007.5" y="-768.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="1007.5" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="1007.5" y="-738.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,-752.53C832.24,-753.36 873,-754.32 909.23,-755.18"/>
<polygon fill="#000000" stroke="#000000" points="909.2496,-758.6814 919.33,-755.42 909.416,-751.6833 909.2496,-758.6814"/>
</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.7,-702.71C1125.6,-707.49 1143.7,-713.63 1160,-721.5 1202.3,-741.96 1243.4,-776.9 1270.7,-802.91"/>
<polygon fill="#000000" stroke="#000000" points="1268.3848,-805.5404 1278,-809.99 1273.2583,-800.5154 1268.3848,-805.5404"/>
</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,-777.36C1116.8,-782.39 1139.2,-787.94 1160,-793.5 1175.6,-797.68 1192.1,-802.36 1208.1,-807.05"/>
<polygon fill="#000000" stroke="#000000" points="1207.4183,-810.4979 1218,-809.97 1209.3987,-803.7839 1207.4183,-810.4979"/>
</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,-484 1212,-484 1212,-431 1395,-431 1395,-484"/>
<text text-anchor="middle" x="1303.5" y="-468.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1303.5" y="-453.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1303.5" y="-438.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,-481.54C1400.8,-484.75 1406.1,-488.38 1411,-492.5 1483.9,-554.06 1524.7,-662.09 1542.9,-722.48"/>
<polygon fill="#000000" stroke="#000000" points="1539.5447,-723.4766 1545.7,-732.1 1546.2658,-721.5203 1539.5447,-723.4766"/>
</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,-494.5 1458.5,-494.5 1458.5,-426.5 1650.5,-426.5 1650.5,-494.5"/>
<text text-anchor="middle" x="1554.5" y="-479.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1554.5" y="-464.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1554.5" y="-449.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1554.5" y="-434.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,-458.6C1412.4,-458.8 1430.5,-459.02 1448.1,-459.23"/>
<polygon fill="#000000" stroke="#000000" points="1448.3599,-462.7332 1458.4,-459.35 1448.4415,-455.7336 1448.3599,-462.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,-408.5 1453.5,-408.5 1453.5,-340.5 1655.5,-340.5 1655.5,-408.5"/>
<text text-anchor="middle" x="1554.5" y="-393.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1554.5" y="-378.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1554.5" y="-363.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1554.5" y="-348.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,-430.9C1403,-424.59 1423.7,-417.76 1443.8,-411.1"/>
<polygon fill="#000000" stroke="#000000" points="1444.9098,-414.4195 1453.3,-407.95 1442.7066,-407.7752 1444.9098,-414.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,-322.5 1698,-322.5 1698,-284.5 1917,-284.5 1917,-322.5"/>
<text text-anchor="middle" x="1807.5" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1807.5" y="-292.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.9,-343.56C1670,-339.42 1684.3,-335.29 1698,-331.5 1705.7,-329.37 1713.6,-327.22 1721.6,-325.1"/>
<polygon fill="#000000" stroke="#000000" points="1722.6149,-328.4523 1731.4,-322.53 1720.8392,-321.6812 1722.6149,-328.4523"/>
</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,-266 1714,-266 1714,-213 1901,-213 1901,-266"/>
<text text-anchor="middle" x="1807.5" y="-250.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1807.5" y="-235.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-220.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="M1643.7,-340.35C1650.1,-336.44 1656.3,-332.16 1662,-327.5 1683.7,-309.64 1675.5,-292.32 1698,-275.5 1700.3,-273.76 1702.7,-272.1 1705.2,-270.52"/>
<polygon fill="#000000" stroke="#000000" points="1707.0292,-273.5049 1713.9,-265.44 1703.4995,-267.46 1707.0292,-273.5049"/>
</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,-408.5 1713,-408.5 1713,-340.5 1902,-340.5 1902,-408.5"/>
<text text-anchor="middle" x="1807.5" y="-393.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1807.5" y="-378.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1807.5" y="-363.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="-348.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="M1655.6,-374.5C1671.1,-374.5 1687,-374.5 1702.6,-374.5"/>
<polygon fill="#000000" stroke="#000000" points="1702.7,-378.0001 1712.7,-374.5 1702.7,-371.0001 1702.7,-378.0001"/>
</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,-551 1713.5,-551 1713.5,-498 1901.5,-498 1901.5,-551"/>
<text text-anchor="middle" x="1807.5" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1807.5" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-505.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge21" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1650.8,-408.59C1654.8,-411.35 1658.5,-414.31 1662,-417.5 1688.1,-441.38 1671.2,-465.45 1698,-488.5 1700.2,-490.39 1702.5,-492.19 1704.9,-493.89"/>
<polygon fill="#000000" stroke="#000000" points="1703.0018,-496.8305 1713.3,-499.32 1706.802,-490.9518 1703.0018,-496.8305"/>
</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,-480 1713.5,-480 1713.5,-427 1901.5,-427 1901.5,-480"/>
<text text-anchor="middle" x="1807.5" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1807.5" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5183 -->
<g id="edge22" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1655.6,-406.06C1674.5,-411.96 1694.1,-418.09 1712.8,-423.92"/>
<polygon fill="#000000" stroke="#000000" points="1711.8105,-427.2778 1722.4,-426.94 1713.9112,-420.6004 1711.8105,-427.2778"/>
</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,-330.5 910.5,-330.5 910.5,-262.5 1104.5,-262.5 1104.5,-330.5"/>
<text text-anchor="middle" x="1007.5" y="-315.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="1007.5" y="-300.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="1007.5" y="-285.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="1007.5" y="-270.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,-315.47C1124.7,-322.72 1144.3,-332.72 1160,-346.5 1187.8,-370.88 1168.3,-397.03 1196,-421.5 1198.3,-423.51 1200.7,-425.42 1203.2,-427.21"/>
<polygon fill="#000000" stroke="#000000" points="1201.7081,-430.4146 1212,-432.93 1205.523,-424.5455 1201.7081,-430.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,-240.5 1209.5,-240.5 1209.5,-172.5 1397.5,-172.5 1397.5,-240.5"/>
<text text-anchor="middle" x="1303.5" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1303.5" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1303.5" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1303.5" y="-180.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,-266.91C1135.2,-257.68 1168.7,-247.48 1199.5,-238.12"/>
<polygon fill="#000000" stroke="#000000" points="1200.8448,-241.3697 1209.4,-235.12 1198.8147,-234.6706 1200.8448,-241.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,-240.5 1447,-240.5 1447,-172.5 1662,-172.5 1662,-240.5"/>
<text text-anchor="middle" x="1554.5" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1554.5" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1554.5" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1554.5" y="-180.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,-206.5C1410.3,-206.5 1423.4,-206.5 1436.3,-206.5"/>
<polygon fill="#000000" stroke="#000000" points="1436.7,-210.0001 1446.7,-206.5 1436.7,-203.0001 1436.7,-210.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="M1628.4,-240.52C1639.7,-245.82 1651.2,-251.27 1662,-256.5 1678.1,-264.27 1681.3,-268.18 1698,-274.5 1704.4,-276.93 1711.1,-279.23 1717.9,-281.41"/>
<polygon fill="#000000" stroke="#000000" points="1717.3128,-284.8913 1727.9,-284.49 1719.3733,-278.2014 1717.3128,-284.8913"/>
</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="M1662.2,-220.54C1676,-222.35 1690.2,-224.2 1704,-225.99"/>
<polygon fill="#000000" stroke="#000000" points="1703.5294,-229.4582 1713.9,-227.29 1704.4408,-222.5177 1703.5294,-229.4582"/>
</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="M1641.9,-240.51C1649.2,-245.26 1656,-250.57 1662,-256.5 1688.3,-282.49 1670.9,-306.33 1698,-331.5 1700.1,-333.49 1702.4,-335.39 1704.7,-337.2"/>
<polygon fill="#000000" stroke="#000000" points="1702.729,-340.0933 1712.9,-343.06 1706.799,-334.3981 1702.729,-340.0933"/>
</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,-124 1722.5,-124 1722.5,-71 1892.5,-71 1892.5,-124"/>
<text text-anchor="middle" x="1807.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1807.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-78.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="M1615.2,-172.33C1640.4,-158.93 1670.2,-144.03 1698,-132.5 1702.8,-130.52 1707.7,-128.59 1712.7,-126.7"/>
<polygon fill="#000000" stroke="#000000" points="1714.2121,-129.8737 1722.4,-123.15 1711.8062,-123.3001 1714.2121,-129.8737"/>
</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,-53 1707.5,-53 1707.5,0 1907.5,0 1907.5,-53"/>
<text text-anchor="middle" x="1807.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1807.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1807.5" y="-7.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="M1580.3,-172.19C1606.5,-139.43 1650.1,-90.841 1698,-61.5 1700,-60.271 1702.1,-59.081 1704.1,-57.929"/>
<polygon fill="#000000" stroke="#000000" points="1706.1921,-60.7901 1713.5,-53.119 1703.0034,-54.5586 1706.1921,-60.7901"/>
</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,-195 1723,-195 1723,-142 1892,-142 1892,-195"/>
<text text-anchor="middle" x="1807.5" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1807.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1807.5" y="-149.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="M1662.2,-190.33C1679,-187.8 1696.3,-185.21 1712.8,-182.73"/>
<polygon fill="#000000" stroke="#000000" points="1713.537,-186.1584 1722.9,-181.2 1712.4886,-179.2373 1713.537,-186.1584"/>
</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,-484 921.5,-484 921.5,-431 1093.5,-431 1093.5,-484"/>
<text text-anchor="middle" x="1007.5" y="-468.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="1007.5" y="-453.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="1007.5" y="-438.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,-457.5C1127.3,-457.5 1166.4,-457.5 1201.5,-457.5"/>
<polygon fill="#000000" stroke="#000000" points="1201.8,-461.0001 1211.8,-457.5 1201.8,-454.0001 1201.8,-461.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,-1297 52.5,-1297 52.5,-1293 48.5,-1293 48.5,-1289 52.5,-1289 52.5,-1252 48.5,-1252 48.5,-1248 52.5,-1248 52.5,-1244 252.5,-1244 252.5,-1297"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1293 56.5,-1293 56.5,-1289 52.5,-1289 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1252 56.5,-1252 56.5,-1248 52.5,-1248 "/>
<text text-anchor="middle" x="152.5" y="-1281.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1266.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="-1251.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,-1332 348,-1332 348,-1328 344,-1328 344,-1324 348,-1324 348,-1287 344,-1287 344,-1283 348,-1283 348,-1279 560,-1279 560,-1332"/>
<polyline fill="none" stroke="#000000" points="348,-1328 352,-1328 352,-1324 348,-1324 "/>
<polyline fill="none" stroke="#000000" points="348,-1287 352,-1287 352,-1283 348,-1283 "/>
<text text-anchor="middle" x="454" y="-1316.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1301.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1286.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,-1282.2C280.05,-1285.3 309.67,-1288.7 337.63,-1292"/>
<polygon fill="#000000" stroke="#000000" points="337.4998,-1295.5087 347.84,-1293.2 338.3169,-1288.5566 337.4998,-1295.5087"/>
</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,-1256.5 615.5,-1256.5 615.5,-1252.5 611.5,-1252.5 611.5,-1248.5 615.5,-1248.5 615.5,-1196.5 611.5,-1196.5 611.5,-1192.5 615.5,-1192.5 615.5,-1188.5 806.5,-1188.5 806.5,-1256.5"/>
<polyline fill="none" stroke="#000000" points="615.5,-1252.5 619.5,-1252.5 619.5,-1248.5 615.5,-1248.5 "/>
<polyline fill="none" stroke="#000000" points="615.5,-1196.5 619.5,-1196.5 619.5,-1192.5 615.5,-1192.5 "/>
<text text-anchor="middle" x="711" y="-1241.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="711" y="-1226.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="711" y="-1211.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="711" y="-1196.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,-1261.9C352.06,-1253.3 503.8,-1240.3 605.14,-1231.6"/>
<polygon fill="#000000" stroke="#000000" points="605.7345,-1235.0614 615.39,-1230.7 605.1222,-1228.0882 605.7345,-1235.0614"/>
</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,-1358 624,-1358 624,-1354 620,-1354 620,-1350 624,-1350 624,-1283 620,-1283 620,-1279 624,-1279 624,-1275 798,-1275 798,-1358"/>
<polyline fill="none" stroke="#000000" points="624,-1354 628,-1354 628,-1350 624,-1350 "/>
<polyline fill="none" stroke="#000000" points="624,-1283 628,-1283 628,-1279 624,-1279 "/>
<text text-anchor="middle" x="711" y="-1342.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="711" y="-1327.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="711" y="-1312.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="711" y="-1297.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="711" y="-1282.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,-1310C577.7,-1310.8 595.97,-1311.6 613.43,-1312.3"/>
<polygon fill="#000000" stroke="#000000" points="613.4503,-1315.8051 623.61,-1312.8 613.7938,-1308.8136 613.4503,-1315.8051"/>
</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,-1288.5 898.5,-1288.5 898.5,-1284.5 894.5,-1284.5 894.5,-1280.5 898.5,-1280.5 898.5,-1258.5 894.5,-1258.5 894.5,-1254.5 898.5,-1254.5 898.5,-1250.5 1116.5,-1250.5 1116.5,-1288.5"/>
<polyline fill="none" stroke="#000000" points="898.5,-1284.5 902.5,-1284.5 902.5,-1280.5 898.5,-1280.5 "/>
<polyline fill="none" stroke="#000000" points="898.5,-1258.5 902.5,-1258.5 902.5,-1254.5 898.5,-1254.5 "/>
<text text-anchor="middle" x="1007.5" y="-1273.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1007.5" y="-1258.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,-1237.7C832.85,-1241.8 861.31,-1246.3 888.41,-1250.6"/>
<polygon fill="#000000" stroke="#000000" points="887.9002,-1254.0629 898.33,-1252.2 889.0149,-1247.1522 887.9002,-1254.0629"/>
</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,-1302.7C826.52,-1298.2 858.23,-1293.2 888.28,-1288.4"/>
<polygon fill="#000000" stroke="#000000" points="889.0693,-1291.8188 898.4,-1286.8 887.9761,-1284.9047 889.0693,-1291.8188"/>
</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,-1303.5 1209,-1303.5 1209,-1299.5 1205,-1299.5 1205,-1295.5 1209,-1295.5 1209,-1243.5 1205,-1243.5 1205,-1239.5 1209,-1239.5 1209,-1235.5 1398,-1235.5 1398,-1303.5"/>
<polyline fill="none" stroke="#000000" points="1209,-1299.5 1213,-1299.5 1213,-1295.5 1209,-1295.5 "/>
<polyline fill="none" stroke="#000000" points="1209,-1243.5 1213,-1243.5 1213,-1239.5 1209,-1239.5 "/>
<text text-anchor="middle" x="1303.5" y="-1288.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1303.5" y="-1273.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1303.5" y="-1258.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1303.5" y="-1243.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,-1269.5C1143.6,-1269.5 1172.1,-1269.5 1198.6,-1269.5"/>
<polygon fill="#000000" stroke="#000000" points="1198.7,-1273.0001 1208.7,-1269.5 1198.7,-1266.0001 1198.7,-1273.0001"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node38" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/librustzcash/issues/368" xlink:title="zcash/librustzcash#368&#10;zcash_history: Add&#10;Orchard support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="805,-691 617,-691 617,-638 805,-638 805,-691"/>
<text text-anchor="middle" x="711" y="-675.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="711" y="-660.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="711" y="-645.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard support</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#368&#45;&gt;zcash/zcash#5037 -->
<g id="edge39" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M805.22,-671.49C834.47,-673.66 866.97,-676.07 897.22,-678.32"/>
<polygon fill="#000000" stroke="#000000" points="897.1494,-681.8242 907.38,-679.07 897.6648,-674.8432 897.1494,-681.8242"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node39" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node39"><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,-1414.5 56,-1414.5 56,-1410.5 52,-1410.5 52,-1406.5 56,-1406.5 56,-1384.5 52,-1384.5 52,-1380.5 56,-1380.5 56,-1376.5 249,-1376.5 249,-1414.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1410.5 60,-1410.5 60,-1406.5 56,-1406.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1384.5 60,-1384.5 60,-1380.5 56,-1380.5 "/>
<text text-anchor="middle" x="152.5" y="-1399.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1384.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="node40" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node40"><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,-1414.5 357.5,-1414.5 357.5,-1410.5 353.5,-1410.5 353.5,-1406.5 357.5,-1406.5 357.5,-1384.5 353.5,-1384.5 353.5,-1380.5 357.5,-1380.5 357.5,-1376.5 550.5,-1376.5 550.5,-1414.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1410.5 361.5,-1410.5 361.5,-1406.5 357.5,-1406.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1384.5 361.5,-1384.5 361.5,-1380.5 357.5,-1380.5 "/>
<text text-anchor="middle" x="454" y="-1399.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1384.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge40" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1395.5C280.38,-1395.5 315.19,-1395.5 347.13,-1395.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1399.0001 357.39,-1395.5 347.39,-1392.0001 347.39,-1399.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node41" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node41"><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,-1414.5 614.5,-1414.5 614.5,-1410.5 610.5,-1410.5 610.5,-1406.5 614.5,-1406.5 614.5,-1384.5 610.5,-1384.5 610.5,-1380.5 614.5,-1380.5 614.5,-1376.5 807.5,-1376.5 807.5,-1414.5"/>
<polyline fill="none" stroke="#000000" points="614.5,-1410.5 618.5,-1410.5 618.5,-1406.5 614.5,-1406.5 "/>
<polyline fill="none" stroke="#000000" points="614.5,-1384.5 618.5,-1384.5 618.5,-1380.5 614.5,-1380.5 "/>
<text text-anchor="middle" x="711" y="-1399.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="711" y="-1384.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge41" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.79,-1395.5C568.16,-1395.5 586.35,-1395.5 603.98,-1395.5"/>
<polygon fill="#000000" stroke="#000000" points="604.29,-1399.0001 614.29,-1395.5 604.29,-1392.0001 604.29,-1399.0001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node42" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node42"><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,-409 915,-409 915,-356 1100,-356 1100,-409"/>
<text text-anchor="middle" x="1007.5" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="1007.5" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="1007.5" y="-363.8" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5019 -->
<g id="edge42" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1100.3,-406.02C1132.5,-414.18 1168.8,-423.37 1201.7,-431.7"/>
<polygon fill="#000000" stroke="#000000" points="1201.1452,-435.1705 1211.7,-434.25 1202.8749,-428.3875 1201.1452,-435.1705"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node43" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node43"><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,-412.5 1202.5,-412.5 1202.5,-344.5 1404.5,-344.5 1404.5,-412.5"/>
<text text-anchor="middle" x="1303.5" y="-397.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1303.5" y="-382.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1303.5" y="-367.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1303.5" y="-352.3" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge43" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1100.3,-381.25C1129.4,-380.85 1161.9,-380.41 1192.1,-380.01"/>
<polygon fill="#000000" stroke="#000000" points="1192.349,-383.507 1202.3,-379.87 1192.2529,-376.5077 1192.349,-383.507"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge44" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1404.5,-376.89C1417.2,-376.69 1430.2,-376.48 1443.1,-376.28"/>
<polygon fill="#000000" stroke="#000000" points="1443.3597,-379.7763 1453.3,-376.11 1443.243,-372.7772 1443.3597,-379.7763"/>
</g>
<!-- zcash/zips#364 -->
<g id="node44" class="node">
<title>zcash/zips#364</title>
<g id="a_node44"><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,-409 608.5,-409 608.5,-356 813.5,-356 813.5,-409"/>
<text text-anchor="middle" x="711" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="711" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="711" y="-363.8" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge45" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M813.87,-382.5C843.19,-382.5 875.14,-382.5 904.48,-382.5"/>
<polygon fill="#000000" stroke="#000000" points="904.73,-386.0001 914.73,-382.5 904.73,-379.0001 904.73,-386.0001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node45" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node45"><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,-1486 61.5,-1486 61.5,-1433 243.5,-1433 243.5,-1486"/>
<text text-anchor="middle" x="152.5" y="-1470.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1455.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1440.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node46" class="node">
<title>zcash/zips#511</title>
<g id="a_node46"><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,-326.5 1196,-326.5 1196,-258.5 1411,-258.5 1411,-326.5"/>
<text text-anchor="middle" x="1303.5" y="-311.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1303.5" y="-296.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1303.5" y="-281.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1303.5" y="-266.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge46" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1407.8,-326.56C1419.7,-330.45 1431.8,-334.43 1443.8,-338.34"/>
<polygon fill="#000000" stroke="#000000" points="1442.8076,-341.6977 1453.4,-341.47 1444.9775,-335.0425 1442.8076,-341.6977"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node47" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node47"><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,-319 1447,-319 1447,-266 1662,-266 1662,-319"/>
<text text-anchor="middle" x="1554.5" y="-303.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1554.5" y="-288.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1554.5" y="-273.8" font-family="Times,serif" font-size="14.00" fill="#000000">key derivation</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/librustzcash#387 -->
<g id="edge47" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1411,-292.5C1419.6,-292.5 1428.2,-292.5 1436.8,-292.5"/>
<polygon fill="#000000" stroke="#000000" points="1436.8,-296.0001 1446.8,-292.5 1436.8,-289.0001 1436.8,-296.0001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node48" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node48"><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,-1557 51,-1557 51,-1504 254,-1504 254,-1557"/>
<text text-anchor="middle" x="152.5" y="-1541.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1526.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1511.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="node49" class="node">
<title>zcash/zcash#5196</title>
<g id="a_node49"><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,-1028 906,-1028 906,-975 1109,-975 1109,-1028"/>
<text text-anchor="middle" x="1007.5" y="-1012.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="1007.5" y="-997.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="1007.5" y="-982.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196&#45;&gt;zcash/zcash#5024 -->
<g id="edge48" class="edge">
<title>zcash/zcash#5196&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1109.3,-984.97C1126.8,-980.05 1144.3,-973.7 1160,-965.5 1205.5,-941.69 1248,-900.14 1274.7,-870.63"/>
<polygon fill="#000000" stroke="#000000" points="1277.4404,-872.8162 1281.5,-863.03 1272.2237,-868.1486 1277.4404,-872.8162"/>
</g>
<!-- zcash/zcash#5198 -->
<g id="node50" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node50"><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,-1688 54.5,-1688 54.5,-1575 250.5,-1575 250.5,-1688"/>
<text text-anchor="middle" x="152.5" y="-1672.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1657.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1642.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1627.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="-1612.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="-1597.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1582.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5199 -->
<g id="node51" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node51"><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,-1789 58,-1789 58,-1706 247,-1706 247,-1789"/>
<text text-anchor="middle" x="152.5" y="-1773.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="152.5" y="-1758.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="152.5" y="-1743.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="152.5" y="-1728.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="152.5" y="-1713.8" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zips#506 -->
<g id="node52" class="node">
<title>zcash/zips#506</title>
<g id="a_node52"><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,-941.5 352,-941.5 352,-873.5 556,-873.5 556,-941.5"/>
<text text-anchor="middle" x="454" y="-926.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="454" y="-911.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="454" y="-896.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="454" y="-881.3" font-family="Times,serif" font-size="14.00" fill="#000000">a bitstring</text>
</a>
</g>
</g>
<!-- zcash/zips#506&#45;&gt;zcash/zcash#4707 -->
<g id="edge49" class="edge">
<title>zcash/zips#506&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M556.31,-907.5C576.1,-907.5 596.75,-907.5 616.28,-907.5"/>
<polygon fill="#000000" stroke="#000000" points="616.38,-911.0001 626.38,-907.5 616.38,-904.0001 616.38,-911.0001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node53" class="node">
<title>zcash/halo2#63</title>
<g id="a_node53"><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,-863 603,-863 603,-810 819,-810 819,-863"/>
<text text-anchor="middle" x="711" y="-847.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="711" y="-832.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="711" y="-817.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="edge50" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M819.3,-836.5C844.16,-836.5 870.65,-836.5 895.66,-836.5"/>
<polygon fill="#000000" stroke="#000000" points="895.9,-840.0001 905.9,-836.5 895.9,-833.0001 895.9,-840.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="node54" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<g id="a_node54"><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,-233 855,-233 855,-180 1160,-180 1160,-233"/>
<text text-anchor="middle" x="1007.5" y="-217.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="-202.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1007.5" y="-187.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="edge51" 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,-206.5C1173.4,-206.5 1186.5,-206.5 1199.2,-206.5"/>
<polygon fill="#000000" stroke="#000000" points="1199.2,-210.0001 1209.2,-206.5 1199.2,-203.0001 1199.2,-210.0001"/>
</g>
<!-- zcash/librustzcash#403 -->
<g id="node55" class="node">
<title>zcash/librustzcash#403</title>
<g id="a_node55"><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,-1860 58.5,-1860 58.5,-1807 246.5,-1807 246.5,-1860"/>
<text text-anchor="middle" x="152.5" y="-1844.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="152.5" y="-1829.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="152.5" y="-1814.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_backend`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#404 -->
<g id="node56" class="node">
<title>zcash/librustzcash#404</title>
<g id="a_node56"><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,-1860 360,-1860 360,-1807 548,-1807 548,-1860"/>
<text text-anchor="middle" x="454" y="-1844.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="454" y="-1829.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="454" y="-1814.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="edge52" class="edge">
<title>zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404</title>
<path fill="none" stroke="#000000" d="M246.66,-1833.5C279.3,-1833.5 316.09,-1833.5 349.52,-1833.5"/>
<polygon fill="#000000" stroke="#000000" points="349.78,-1837.0001 359.78,-1833.5 349.78,-1830.0001 349.78,-1837.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node57" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/36" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#10;Orchard Merkle path test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="305,-856 0,-856 0,-803 305,-803 305,-856"/>
<text text-anchor="middle" x="152.5" y="-840.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="-825.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-810.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33 -->
<g id="edge53" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M244.6,-802.92C278.63,-793.1 317.39,-781.92 352.23,-771.87"/>
<polygon fill="#000000" stroke="#000000" points="353.3154,-775.1996 361.95,-769.06 351.3713,-768.475 353.3154,-775.1996"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node58" class="node">
<title>zcash/orchard#95</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/orchard/issues/95" xlink:title="zcash/orchard#95&#10;Implement Merkle path&#10;validity chip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="547.5,-1013 360.5,-1013 360.5,-960 547.5,-960 547.5,-1013"/>
<text text-anchor="middle" x="454" y="-997.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-982.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-967.8" font-family="Times,serif" font-size="14.00" fill="#000000">validity chip</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95 -->
<g id="edge54" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M187.7,-856.12C224.39,-882.87 284.34,-923.86 341,-950.5 345.09,-952.42 349.32,-954.28 353.62,-956.08"/>
<polygon fill="#000000" stroke="#000000" points="352.5456,-959.4199 363.13,-959.89 355.1489,-952.922 352.5456,-959.4199"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge55" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.51,-999.6C569.29,-1002.6 592.52,-1005.9 614.43,-1009"/>
<polygon fill="#000000" stroke="#000000" points="614.0104,-1012.4753 624.4,-1010.4 614.9839,-1005.5433 614.0104,-1012.4753"/>
</g>
<!-- zcash/halo2#64 -->
<g id="node59" class="node">
<title>zcash/halo2#64</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237.5,-1155 67.5,-1155 67.5,-1102 237.5,-1102 237.5,-1155"/>
<text text-anchor="middle" x="152.5" y="-1139.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="152.5" y="-1124.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="152.5" y="-1109.8" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#235 -->
<g id="node60" class="node">
<title>zcash/halo2#235</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="542,-1155 366,-1155 366,-1102 542,-1102 542,-1155"/>
<text text-anchor="middle" x="454" y="-1139.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="454" y="-1124.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="454" y="-1109.8" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge56" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M237.69,-1128.5C274.45,-1128.5 317.68,-1128.5 355.79,-1128.5"/>
<polygon fill="#000000" stroke="#000000" points="355.87,-1132.0001 365.87,-1128.5 355.87,-1125.0001 355.87,-1132.0001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge57" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M541.74,-1101.9C550.33,-1098.9 558.88,-1095.7 567,-1092.5 595.39,-1081.1 625.97,-1066.6 651.61,-1053.8"/>
<polygon fill="#000000" stroke="#000000" points="653.5037,-1056.7631 660.82,-1049.1 650.3218,-1050.528 653.5037,-1056.7631"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node61" class="node">
<title>zcash/halo2#75</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1097,-555 918,-555 918,-502 1097,-502 1097,-555"/>
<text text-anchor="middle" x="1007.5" y="-539.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1007.5" y="-524.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1007.5" y="-509.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node62" class="node">
<title>zcash/halo2#251</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1408.5,-555 1198.5,-555 1198.5,-502 1408.5,-502 1408.5,-555"/>
<text text-anchor="middle" x="1303.5" y="-539.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1303.5" y="-524.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="-509.8" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge58" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1097.1,-528.5C1125.8,-528.5 1157.9,-528.5 1188.2,-528.5"/>
<polygon fill="#000000" stroke="#000000" points="1188.3,-532.0001 1198.3,-528.5 1188.3,-525.0001 1188.3,-532.0001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node63" class="node">
<title>zcash/halo2#79</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="791.5,-620 630.5,-620 630.5,-537 791.5,-537 791.5,-620"/>
<text text-anchor="middle" x="711" y="-604.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="711" y="-589.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="711" y="-574.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="711" y="-559.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="711" y="-544.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node64" class="node">
<title>zcash/halo2#78</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/halo2/issues/78" xlink:title="zcash/halo2#78&#10;Implement algebraic hash&#10;/ random oracle&#10;abstraction gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="556,-655.5 352,-655.5 352,-587.5 556,-587.5 556,-655.5"/>
<text text-anchor="middle" x="454" y="-640.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-625.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-610.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-595.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge59" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.31,-604.38C577.48,-600.84 599.65,-597.13 620.37,-593.66"/>
<polygon fill="#000000" stroke="#000000" points="621.1248,-597.0825 630.41,-591.98 619.9695,-590.1784 621.1248,-597.0825"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node65" class="node">
<title>zcash/halo2#250</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="808,-519 614,-519 614,-466 808,-466 808,-519"/>
<text text-anchor="middle" x="711" y="-503.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="711" y="-488.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="711" y="-473.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge60" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M554.13,-587.34C558.62,-584.6 562.94,-581.65 567,-578.5 588.92,-561.49 580.66,-543.95 603,-527.5 604.42,-526.46 605.87,-525.44 607.35,-524.46"/>
<polygon fill="#000000" stroke="#000000" points="609.3863,-527.318 616.11,-519.13 605.7478,-521.3379 609.3863,-527.318"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge61" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M808.09,-504.29C839.94,-508.15 875.38,-512.46 907.45,-516.35"/>
<polygon fill="#000000" stroke="#000000" points="907.3806,-519.8673 917.73,-517.6 908.2256,-512.9184 907.3806,-519.8673"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node66" class="node">
<title>zcash/halo2#57</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/halo2/issues/57" xlink:title="zcash/halo2#57&#10;Remove unused&#10;fixed_values from&#10;ProvingKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="224,-1946.5 81,-1946.5 81,-1878.5 224,-1878.5 224,-1946.5"/>
<text text-anchor="middle" x="152.5" y="-1931.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1916.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1901.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1886.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node67" class="node">
<title>zcash/halo2#82</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/halo2/issues/82" xlink:title="zcash/halo2#82&#10;Consider not sampling&#10;beta and gamma if there&#10;are no permutations or&#10;lookups" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-2048 56,-2048 56,-1965 249,-1965 249,-2048"/>
<text text-anchor="middle" x="152.5" y="-2032.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-2017.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-2002.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="-1987.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1972.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node68" class="node">
<title>zcash/halo2#248</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/halo2/issues/248" xlink:title="zcash/halo2#248&#10;Implement endoscaling in&#10;the circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="555.5,-397 352.5,-397 352.5,-344 555.5,-344 555.5,-397"/>
<text text-anchor="middle" x="454" y="-381.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-366.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-351.8" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge62" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M543.85,-397.02C551.77,-399.99 559.59,-403.16 567,-406.5 600.54,-421.61 636.04,-442.75 663.4,-460.29"/>
<polygon fill="#000000" stroke="#000000" points="661.6932,-463.3545 671.99,-465.85 665.4969,-457.478 661.6932,-463.3545"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node69" class="node">
<title>zcash/halo2#249</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/halo2/issues/249" xlink:title="zcash/halo2#249&#10;Implement circuit logic&#10;for handling public&#10;inputs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="546.5,-325.5 361.5,-325.5 361.5,-257.5 546.5,-257.5 546.5,-325.5"/>
<text text-anchor="middle" x="454" y="-310.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-295.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-280.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-265.3" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge63" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.62,-319.29C554,-323.66 560.93,-328.7 567,-334.5 596.07,-362.28 577.51,-386.4 603,-417.5 616.62,-434.11 634.81,-448.65 652.39,-460.39"/>
<polygon fill="#000000" stroke="#000000" points="650.6424,-463.4279 660.94,-465.92 654.4441,-457.5502 650.6424,-463.4279"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node70" class="node">
<title>zcash/halo2#246</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/halo2/issues/246" xlink:title="zcash/halo2#246&#10;Create recursive proof&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="242,-562 63,-562 63,-509 242,-509 242,-562"/>
<text text-anchor="middle" x="152.5" y="-546.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-531.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-516.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node71" class="node">
<title>zcash/halo2#247</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/halo2/issues/247" xlink:title="zcash/halo2#247&#10;Implement underlying&#10;scaffolding for the&#10;recursive circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="542,-569.5 366,-569.5 366,-501.5 542,-501.5 542,-569.5"/>
<text text-anchor="middle" x="454" y="-554.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-539.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-524.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-509.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge64" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-535.5C277.92,-535.5 319.23,-535.5 355.81,-535.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-539.0001 366,-535.5 356,-532.0001 356,-539.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge65" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.09,-520.76C561.94,-517.44 583.23,-513.88 603.77,-510.44"/>
<polygon fill="#000000" stroke="#000000" points="604.4923,-513.868 613.78,-508.77 603.3403,-506.9634 604.4923,-513.868"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node72" class="node">
<title>zcash/halo2#245</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/halo2/issues/245" xlink:title="zcash/halo2#245&#10;Remove the need to&#10;multiply by powers of x^n&#10;in verifier" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="557,-855.5 351,-855.5 351,-787.5 557,-787.5 557,-855.5"/>
<text text-anchor="middle" x="454" y="-840.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-825.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-810.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="-795.3" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#63 -->
<g id="edge66" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M557.05,-827.51C568.83,-828.2 580.91,-828.91 592.87,-829.61"/>
<polygon fill="#000000" stroke="#000000" points="592.6943,-833.1056 602.88,-830.19 593.0992,-826.1173 592.6943,-833.1056"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge67" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M557.42,-787.51C560.9,-784.46 564.12,-781.13 567,-777.5 636.82,-689.6 530.66,-613.34 603,-527.5 603.99,-526.32 605.02,-525.18 606.09,-524.08"/>
<polygon fill="#000000" stroke="#000000" points="608.4973,-526.623 613.64,-517.36 603.8432,-521.3942 608.4973,-526.623"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node73" class="node">
<title>zcash/halo2#210</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/halo2/issues/210" xlink:title="zcash/halo2#210&#10;Make multiopen&#10;point_index_map dependent&#10;only on the rotation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="563,-483.5 345,-483.5 345,-415.5 563,-415.5 563,-483.5"/>
<text text-anchor="middle" x="454" y="-468.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-453.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-438.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-423.3" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge68" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M563.36,-467.8C576.75,-470.04 590.43,-472.33 603.79,-474.56"/>
<polygon fill="#000000" stroke="#000000" points="603.4889,-478.0583 613.93,-476.26 604.6464,-471.1546 603.4889,-478.0583"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node74" class="node">
<title>zcash/orchard#38</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="248,-1084 57,-1084 57,-1031 248,-1031 248,-1084"/>
<text text-anchor="middle" x="152.5" y="-1068.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="152.5" y="-1053.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="152.5" y="-1038.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node75" class="node">
<title>zcash/orchard#96</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/orchard/issues/96" xlink:title="zcash/orchard#96&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="540.5,-1084 367.5,-1084 367.5,-1031 540.5,-1031 540.5,-1084"/>
<text text-anchor="middle" x="454" y="-1068.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="454" y="-1053.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="454" y="-1038.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#96 -->
<g id="edge69" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M248.31,-1057.5C283.07,-1057.5 322.35,-1057.5 357.2,-1057.5"/>
<polygon fill="#000000" stroke="#000000" points="357.38,-1061.0001 367.38,-1057.5 357.38,-1054.0001 357.38,-1061.0001"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge70" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M540.65,-1045.7C564.24,-1042.5 589.94,-1039 614.06,-1035.7"/>
<polygon fill="#000000" stroke="#000000" points="614.8569,-1039.1236 624.29,-1034.3 613.9078,-1032.1883 614.8569,-1039.1236"/>
</g>
<!-- zcash/orchard#67 -->
<g id="node76" class="node">
<title>zcash/orchard#67</title>
<g id="a_node76"><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,-1013 71.5,-1013 71.5,-1009 67.5,-1009 67.5,-1005 71.5,-1005 71.5,-968 67.5,-968 67.5,-964 71.5,-964 71.5,-960 233.5,-960 233.5,-1013"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-1009 75.5,-1009 75.5,-1005 71.5,-1005 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-968 75.5,-968 75.5,-964 71.5,-964 "/>
<text text-anchor="middle" x="152.5" y="-997.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#67</text>
<text text-anchor="middle" x="152.5" y="-982.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla chip with</text>
<text text-anchor="middle" x="152.5" y="-967.8" font-family="Times,serif" font-size="14.00" fill="#000000">HashDomain</text>
</a>
</g>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#95 -->
<g id="edge71" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M233.69,-986.5C269.56,-986.5 312.15,-986.5 350.28,-986.5"/>
<polygon fill="#000000" stroke="#000000" points="350.39,-990.0001 360.39,-986.5 350.39,-983.0001 350.39,-990.0001"/>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#96 -->
<g id="edge72" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M233.66,-1004.9C256.73,-1010.2 281.86,-1016.1 305,-1021.5 321.89,-1025.5 339.84,-1029.8 357.22,-1033.9"/>
<polygon fill="#000000" stroke="#000000" points="356.8231,-1037.4068 367.37,-1036.4 358.4973,-1030.6099 356.8231,-1037.4068"/>
</g>
</g>
</svg>