developers/zcash-core-dag.svg

1446 lines
104 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="1927pt" height="2108pt"
viewBox="0.00 0.00 1927.00 2107.50" 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 2103.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2103.5 1923,-2103.5 1923,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,-652 58.5,-652 58.5,-614 246.5,-614 246.5,-652"/>
<text text-anchor="middle" x="152.5" y="-636.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-621.8" 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,-659.5 358,-659.5 358,-606.5 550,-606.5 550,-659.5"/>
<text text-anchor="middle" x="454" y="-644.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-629.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-614.3" 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,-633C278.76,-633 314.86,-633 347.84,-633"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-636.5001 357.96,-633 347.96,-629.5001 347.96,-636.5001"/>
</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,-799.5 59.5,-799.5 59.5,-746.5 245.5,-746.5 245.5,-799.5"/>
<text text-anchor="middle" x="152.5" y="-784.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-769.3" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-754.3" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/orchard#166 -->
<g id="node4" class="node">
<title>zcash/orchard#166</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/orchard/issues/166" xlink:title="zcash/orchard#166&#10;Ensure our Poseidon&#10;parameters are consistent&#10;with the v1.1 reference&#10;implementation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="557,-933.5 351,-933.5 351,-850.5 557,-850.5 557,-933.5"/>
<text text-anchor="middle" x="454" y="-918.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#166</text>
<text text-anchor="middle" x="454" y="-903.3" font-family="Times,serif" font-size="14.00" fill="#000000">Ensure our Poseidon</text>
<text text-anchor="middle" x="454" y="-888.3" font-family="Times,serif" font-size="14.00" fill="#000000">parameters are consistent</text>
<text text-anchor="middle" x="454" y="-873.3" font-family="Times,serif" font-size="14.00" fill="#000000">with the v1.1 reference</text>
<text text-anchor="middle" x="454" y="-858.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707 -->
<g id="node5" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node5"><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="840,-918.5 671,-918.5 671,-865.5 840,-865.5 840,-918.5"/>
<text text-anchor="middle" x="755.5" y="-903.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="755.5" y="-888.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="755.5" y="-873.3" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/orchard#166&#45;&gt;zcash/zcash#4707 -->
<g id="edge2" class="edge">
<title>zcash/orchard#166&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M557.34,-892C590.86,-892 627.87,-892 660.73,-892"/>
<polygon fill="#000000" stroke="#000000" points="660.79,-895.5001 670.79,-892 660.79,-888.5001 660.79,-895.5001"/>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node6" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node6"><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="#a6cfff" stroke="#000000" points="1154.5,-873 951.5,-873 951.5,-805 1154.5,-805 1154.5,-873"/>
<text text-anchor="middle" x="1053" y="-857.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="1053" y="-842.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1053" y="-827.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="1053" y="-812.8" font-family="Times,serif" font-size="14.00" fill="#000000">feature</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge3" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M840.35,-876.88C871.72,-871.3 907.76,-864.88 941.15,-858.93"/>
<polygon fill="#000000" stroke="#000000" points="942.1891,-862.3001 951.42,-857.1 940.9611,-855.4086 942.1891,-862.3001"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node7" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node7"><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="#a6cfff" stroke="#000000" points="1411.5,-919.5 1199.5,-919.5 1199.5,-866.5 1411.5,-866.5 1411.5,-919.5"/>
<text text-anchor="middle" x="1305.5" y="-904.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1305.5" y="-889.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1305.5" y="-874.3" 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="edge4" class="edge">
<title>zcash/librustzcash#320&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1154.6,-860.73C1166,-863.16 1177.6,-865.64 1189.1,-868.1"/>
<polygon fill="#000000" stroke="#000000" points="1188.5864,-871.5697 1199.1,-870.26 1190.0644,-864.7275 1188.5864,-871.5697"/>
</g>
<!-- zcash/zcash#5260 -->
<g id="node8" class="node">
<title>zcash/zcash#5260</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/5260" xlink:title="zcash/zcash#5260&#10;Implement network&#10;protocol support for ZIP&#10;239 messages" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="248,-1157 57,-1157 57,-1089 248,-1089 248,-1157"/>
<text text-anchor="middle" x="152.5" y="-1141.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5260</text>
<text text-anchor="middle" x="152.5" y="-1126.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement network</text>
<text text-anchor="middle" x="152.5" y="-1111.8" font-family="Times,serif" font-size="14.00" fill="#000000">protocol support for ZIP</text>
<text text-anchor="middle" x="152.5" y="-1096.8" font-family="Times,serif" font-size="14.00" fill="#000000">239 messages</text>
</a>
</g>
</g>
<!-- zcash/zcash#5261 -->
<g id="node9" class="node">
<title>zcash/zcash#5261</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/5261" xlink:title="zcash/zcash#5261&#10;Implement handling logic&#10;for ZIP 239 messages" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="554,-1149.5 354,-1149.5 354,-1096.5 554,-1096.5 554,-1149.5"/>
<text text-anchor="middle" x="454" y="-1134.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5261</text>
<text text-anchor="middle" x="454" y="-1119.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement handling logic</text>
<text text-anchor="middle" x="454" y="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">for ZIP 239 messages</text>
</a>
</g>
</g>
<!-- zcash/zcash#5260&#45;&gt;zcash/zcash#5261 -->
<g id="edge5" class="edge">
<title>zcash/zcash#5260&#45;&gt;zcash/zcash#5261</title>
<path fill="none" stroke="#000000" d="M248.31,-1123C278.65,-1123 312.43,-1123 343.7,-1123"/>
<polygon fill="#000000" stroke="#000000" points="343.76,-1126.5001 353.76,-1123 343.76,-1119.5001 343.76,-1126.5001"/>
</g>
<!-- zcash/zcash#5199 -->
<g id="node10" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node10"><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" points="850,-1164.5 661,-1164.5 661,-1081.5 850,-1081.5 850,-1164.5"/>
<text text-anchor="middle" x="755.5" y="-1149.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="755.5" y="-1134.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="755.5" y="-1119.3" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="755.5" y="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="755.5" y="-1089.3" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5261&#45;&gt;zcash/zcash#5199 -->
<g id="edge6" class="edge">
<title>zcash/zcash#5261&#45;&gt;zcash/zcash#5199</title>
<path fill="none" stroke="#000000" d="M554.4,-1123C585.39,-1123 619.59,-1123 650.86,-1123"/>
<polygon fill="#000000" stroke="#000000" points="650.9,-1126.5001 660.9,-1123 650.9,-1119.5001 650.9,-1126.5001"/>
</g>
<!-- zcash/orchard#4 -->
<g id="node11" class="node">
<title>zcash/orchard#4</title>
<g id="a_node11"><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="#fad8c7" stroke="#000000" points="842,-1063.5 669,-1063.5 669,-1010.5 842,-1010.5 842,-1063.5"/>
<text text-anchor="middle" x="755.5" y="-1048.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="755.5" y="-1033.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="755.5" y="-1018.3" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/librustzcash#320 -->
<g id="edge7" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M798.64,-1010.4C830.56,-989.73 874.18,-959.18 908,-927 926.56,-909.35 923.39,-897.21 944,-882 945.6,-880.82 947.23,-879.67 948.89,-878.55"/>
<polygon fill="#000000" stroke="#000000" points="950.8597,-881.4457 957.45,-873.15 947.1248,-875.5253 950.8597,-881.4457"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node12" class="node">
<title>zcash/orchard#35</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/orchard/issues/35" xlink:title="zcash/orchard#35&#10;Transaction building&#10;support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1135.5,-1162.5 970.5,-1162.5 970.5,-1109.5 1135.5,-1109.5 1135.5,-1162.5"/>
<text text-anchor="middle" x="1053" y="-1147.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="1053" y="-1132.3" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="1053" y="-1117.3" 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="edge8" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M842,-1050C864.16,-1055.2 887.51,-1062.3 908,-1072 926.31,-1080.7 926.12,-1090.5 944,-1100 949.48,-1102.9 955.24,-1105.7 961.14,-1108.2"/>
<polygon fill="#000000" stroke="#000000" points="959.9133,-1111.4805 970.49,-1112.1 962.6081,-1105.02 959.9133,-1111.4805"/>
</g>
<!-- zcash/zcash#5195 -->
<g id="node13" class="node">
<title>zcash/zcash#5195</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/zcash/issues/5195" xlink:title="zcash/zcash#5195&#10;Implement Orchard proof&#10;verification consensus&#10;rule" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1153.5,-1091 952.5,-1091 952.5,-1023 1153.5,-1023 1153.5,-1091"/>
<text text-anchor="middle" x="1053" y="-1075.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="1053" y="-1060.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="1053" y="-1045.8" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="1053" y="-1030.8" 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="edge9" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/zcash#5195</title>
<path fill="none" stroke="#000000" d="M842.35,-1042.8C873.59,-1044.9 909.26,-1047.3 942.26,-1049.6"/>
<polygon fill="#000000" stroke="#000000" points="942.2209,-1053.1037 952.41,-1050.2 942.634,-1046.1159 942.2209,-1053.1037"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node14" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1399.5,-1087.5 1211.5,-1087.5 1211.5,-1034.5 1399.5,-1034.5 1399.5,-1087.5"/>
<text text-anchor="middle" x="1305.5" y="-1072.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1305.5" y="-1057.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1305.5" y="-1042.3" 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="edge10" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M1135.7,-1111.4C1158.3,-1104.7 1183.1,-1097.4 1206.5,-1090.4"/>
<polygon fill="#000000" stroke="#000000" points="1207.48,-1093.7601 1216.1,-1087.6 1205.52,-1087.0401 1207.48,-1093.7601"/>
</g>
<!-- zcash/librustzcash#406 -->
<g id="node15" class="node">
<title>zcash/librustzcash#406</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/librustzcash/issues/406" xlink:title="zcash/librustzcash#406&#10;Add Orchard support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1399.5,-1162.5 1211.5,-1162.5 1211.5,-1109.5 1399.5,-1109.5 1399.5,-1162.5"/>
<text text-anchor="middle" x="1305.5" y="-1147.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1305.5" y="-1132.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1305.5" y="-1117.3" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/librustzcash#406 -->
<g id="edge11" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/librustzcash#406</title>
<path fill="none" stroke="#000000" d="M1135.7,-1136C1156.5,-1136 1179.2,-1136 1201,-1136"/>
<polygon fill="#000000" stroke="#000000" points="1201.3,-1139.5001 1211.3,-1136 1201.3,-1132.5001 1201.3,-1139.5001"/>
</g>
<!-- zcash/zcash#5195&#45;&gt;zcash/zcash#5024 -->
<g id="edge12" class="edge">
<title>zcash/zcash#5195&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1143.9,-1022.9C1150.1,-1019.8 1156.2,-1016.5 1162,-1013 1202.7,-988.58 1243.8,-952.9 1271.5,-926.79"/>
<polygon fill="#000000" stroke="#000000" points="1274.1007,-929.1455 1278.9,-919.7 1269.2579,-924.091 1274.1007,-929.1455"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node16" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node16"><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="1661,-941 1452,-941 1452,-873 1661,-873 1661,-941"/>
<text text-anchor="middle" x="1556.5" y="-925.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1556.5" y="-910.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1556.5" y="-895.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1556.5" y="-880.8" 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="edge13" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1348.9,-1034.4C1388.4,-1010.1 1447.1,-974.1 1492.1,-946.53"/>
<polygon fill="#000000" stroke="#000000" points="1494.2006,-949.3478 1500.9,-941.14 1490.5443,-943.3785 1494.2006,-949.3478"/>
</g>
<!-- zcash/librustzcash#403 -->
<g id="node17" class="node">
<title>zcash/librustzcash#403</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/librustzcash/issues/403" xlink:title="zcash/librustzcash#403&#10;Add Orchard support to&#10;`zcash_client_backend`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1650.5,-1162.5 1462.5,-1162.5 1462.5,-1109.5 1650.5,-1109.5 1650.5,-1162.5"/>
<text text-anchor="middle" x="1556.5" y="-1147.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1556.5" y="-1132.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1556.5" y="-1117.3" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_backend`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403 -->
<g id="edge14" class="edge">
<title>zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403</title>
<path fill="none" stroke="#000000" d="M1399.7,-1136C1416.8,-1136 1434.7,-1136 1452.1,-1136"/>
<polygon fill="#000000" stroke="#000000" points="1452.2,-1139.5001 1462.2,-1136 1452.2,-1132.5001 1452.2,-1139.5001"/>
</g>
<!-- zcash/librustzcash#404 -->
<g id="node23" class="node">
<title>zcash/librustzcash#404</title>
<g id="a_node23"><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="1903.5,-1162.5 1715.5,-1162.5 1715.5,-1109.5 1903.5,-1109.5 1903.5,-1162.5"/>
<text text-anchor="middle" x="1809.5" y="-1147.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1809.5" y="-1132.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1809.5" y="-1117.3" 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="edge19" class="edge">
<title>zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404</title>
<path fill="none" stroke="#000000" d="M1650.7,-1136C1668.4,-1136 1687,-1136 1705,-1136"/>
<polygon fill="#000000" stroke="#000000" points="1705.2,-1139.5001 1715.2,-1136 1705.2,-1132.5001 1705.2,-1139.5001"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node18" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node18"><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,-1233.5 55,-1233.5 55,-1180.5 250,-1180.5 250,-1233.5"/>
<text text-anchor="middle" x="152.5" y="-1218.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1203.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1188.3" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/orchard#33 -->
<g id="node19" class="node">
<title>zcash/orchard#33</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="567,-730.5 341,-730.5 341,-677.5 567,-677.5 567,-730.5"/>
<text text-anchor="middle" x="454" y="-715.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-700.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-685.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018 -->
<g id="node20" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node20"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="841.5,-730.5 669.5,-730.5 669.5,-647.5 841.5,-647.5 841.5,-730.5"/>
<text text-anchor="middle" x="755.5" y="-715.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="755.5" y="-700.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="755.5" y="-685.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="755.5" y="-670.3" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="755.5" y="-655.3" 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="edge15" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M567.13,-698.37C597.32,-696.87 629.66,-695.26 658.88,-693.81"/>
<polygon fill="#000000" stroke="#000000" points="659.2575,-697.2956 669.07,-693.3 658.9075,-690.3043 659.2575,-697.2956"/>
</g>
<!-- zcash/zcash#5197 -->
<g id="node21" class="node">
<title>zcash/zcash#5197</title>
<g id="a_node21"><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="#a6cfff" stroke="#000000" stroke-width="2" points="1141,-786.5 965,-786.5 965,-733.5 1141,-733.5 1141,-786.5"/>
<text text-anchor="middle" x="1053" y="-771.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="1053" y="-756.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="1053" y="-741.3" 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="edge16" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M841.55,-709.54C876.92,-717.98 918.08,-727.8 954.64,-736.53"/>
<polygon fill="#000000" stroke="#000000" points="954.2806,-740.0425 964.82,-738.96 955.9059,-733.2338 954.2806,-740.0425"/>
</g>
<!-- zcash/zcash#5240 -->
<g id="node22" class="node">
<title>zcash/zcash#5240</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/zcash/issues/5240" xlink:title="zcash/zcash#5240&#10;Add an Orchard nullifier&#10;test to `coins_tests`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1149,-715.5 957,-715.5 957,-662.5 1149,-662.5 1149,-715.5"/>
<text text-anchor="middle" x="1053" y="-700.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5240</text>
<text text-anchor="middle" x="1053" y="-685.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add an Orchard nullifier</text>
<text text-anchor="middle" x="1053" y="-670.3" font-family="Times,serif" font-size="14.00" fill="#000000">test to `coins_tests`</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5240 -->
<g id="edge17" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5240</title>
<path fill="none" stroke="#000000" d="M841.55,-689C874.43,-689 912.31,-689 946.84,-689"/>
<polygon fill="#000000" stroke="#000000" points="946.96,-692.5001 956.96,-689 946.96,-685.5001 946.96,-692.5001"/>
</g>
<!-- zcash/zcash#5197&#45;&gt;zcash/zcash#5024 -->
<g id="edge18" class="edge">
<title>zcash/zcash#5197&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1140.7,-786.59C1148,-789.52 1155.2,-792.66 1162,-796 1198.3,-813.85 1236.1,-839.74 1263.8,-860.28"/>
<polygon fill="#000000" stroke="#000000" points="1261.91,-863.2385 1272,-866.47 1266.1274,-857.6516 1261.91,-863.2385"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node24" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node24"><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="#a6cfff" stroke="#000000" points="1397,-644.5 1214,-644.5 1214,-591.5 1397,-591.5 1397,-644.5"/>
<text text-anchor="middle" x="1305.5" y="-629.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1305.5" y="-614.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1305.5" y="-599.3" 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="edge20" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1328.7,-644.67C1372.5,-695.09 1467.7,-804.72 1520.1,-865.07"/>
<polygon fill="#000000" stroke="#000000" points="1517.6971,-867.6406 1526.9,-872.89 1522.9793,-863.0473 1517.6971,-867.6406"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node25" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node25"><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="1652.5,-663 1460.5,-663 1460.5,-595 1652.5,-595 1652.5,-663"/>
<text text-anchor="middle" x="1556.5" y="-647.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1556.5" y="-632.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1556.5" y="-617.8" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1556.5" y="-602.8" 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="edge21" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M1397.2,-622.02C1414.4,-622.77 1432.5,-623.57 1450.1,-624.34"/>
<polygon fill="#000000" stroke="#000000" points="1450.2567,-627.8501 1460.4,-624.79 1450.5623,-620.8568 1450.2567,-627.8501"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node26" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node26"><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="1657.5,-491 1455.5,-491 1455.5,-423 1657.5,-423 1657.5,-491"/>
<text text-anchor="middle" x="1556.5" y="-475.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1556.5" y="-460.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1556.5" y="-445.8" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1556.5" y="-430.8" 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="edge22" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1332.7,-591.26C1360.2,-565.31 1404.9,-526.12 1449,-500 1451.5,-498.54 1454,-497.1 1456.6,-495.7"/>
<polygon fill="#000000" stroke="#000000" points="1458.2576,-498.7829 1465.5,-491.05 1455.016,-492.5787 1458.2576,-498.7829"/>
</g>
<!-- zcash/zcash#5255 -->
<g id="node27" class="node">
<title>zcash/zcash#5255</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/zcash/issues/5255" xlink:title="zcash/zcash#5255&#10;Add the ability to&#10;generate Orchard spending&#10;keys in the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1664,-577 1449,-577 1449,-509 1664,-509 1664,-577"/>
<text text-anchor="middle" x="1556.5" y="-561.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5255</text>
<text text-anchor="middle" x="1556.5" y="-546.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add the ability to</text>
<text text-anchor="middle" x="1556.5" y="-531.8" font-family="Times,serif" font-size="14.00" fill="#000000">generate Orchard spending</text>
<text text-anchor="middle" x="1556.5" y="-516.8" font-family="Times,serif" font-size="14.00" fill="#000000">keys in the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5255 -->
<g id="edge23" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5255</title>
<path fill="none" stroke="#000000" d="M1394.3,-591.45C1408.8,-587.13 1424,-582.6 1439,-578.11"/>
<polygon fill="#000000" stroke="#000000" points="1440.2275,-581.3959 1448.8,-575.17 1438.216,-574.6912 1440.2275,-581.3959"/>
</g>
<!-- zcash/zcash#5256 -->
<g id="node28" class="node">
<title>zcash/zcash#5256</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/zcash/issues/5256" xlink:title="zcash/zcash#5256&#10;Add support for Orchard&#10;receiver inside Unified&#10;Address logic" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1906.5,-725 1712.5,-725 1712.5,-657 1906.5,-657 1906.5,-725"/>
<text text-anchor="middle" x="1809.5" y="-709.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5256</text>
<text text-anchor="middle" x="1809.5" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="1809.5" y="-679.8" font-family="Times,serif" font-size="14.00" fill="#000000">receiver inside Unified</text>
<text text-anchor="middle" x="1809.5" y="-664.8" font-family="Times,serif" font-size="14.00" fill="#000000">Address logic</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5256 -->
<g id="edge24" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5256</title>
<path fill="none" stroke="#000000" d="M1363.6,-644.52C1389.3,-654.99 1420.1,-665.95 1449,-672 1532.9,-689.56 1630.1,-693.78 1702.4,-693.9"/>
<polygon fill="#000000" stroke="#000000" points="1702.4035,-697.4001 1712.4,-693.89 1702.3965,-690.4001 1702.4035,-697.4001"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node29" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node29"><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="1919,-496 1700,-496 1700,-458 1919,-458 1919,-496"/>
<text text-anchor="middle" x="1809.5" y="-480.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1809.5" y="-465.8" 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="edge25" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1657.6,-464.99C1668.1,-465.82 1678.9,-466.68 1689.6,-467.52"/>
<polygon fill="#000000" stroke="#000000" points="1689.6564,-471.0352 1699.9,-468.33 1690.2052,-464.0567 1689.6564,-471.0352"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node30" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node30"><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="#a6cfff" stroke="#000000" points="1903,-439.5 1716,-439.5 1716,-386.5 1903,-386.5 1903,-439.5"/>
<text text-anchor="middle" x="1809.5" y="-424.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1809.5" y="-409.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-394.3" 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="edge26" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1657.6,-439.42C1673.5,-436.65 1690.1,-433.77 1706.1,-430.99"/>
<polygon fill="#000000" stroke="#000000" points="1706.7467,-434.4302 1716,-429.27 1705.5485,-427.5335 1706.7467,-434.4302"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node31" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node31"><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="1904,-368 1715,-368 1715,-300 1904,-300 1904,-368"/>
<text text-anchor="middle" x="1809.5" y="-352.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1809.5" y="-337.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1809.5" y="-322.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1809.5" y="-307.8" 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="edge27" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1639.7,-422.95C1648.1,-418.6 1656.4,-413.93 1664,-409 1682,-397.39 1681.8,-388.2 1700,-377 1702.3,-375.57 1704.7,-374.18 1707.1,-372.81"/>
<polygon fill="#000000" stroke="#000000" points="1708.9168,-375.808 1716.1,-368.02 1705.628,-369.6286 1708.9168,-375.808"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node32" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node32"><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="1903.5,-638.5 1715.5,-638.5 1715.5,-585.5 1903.5,-585.5 1903.5,-638.5"/>
<text text-anchor="middle" x="1809.5" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1809.5" y="-608.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-593.3" 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="edge28" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1653.2,-491.15C1657,-493.89 1660.6,-496.83 1664,-500 1691.2,-525.6 1672,-551.27 1700,-576 1702.2,-577.96 1704.5,-579.8 1707,-581.55"/>
<polygon fill="#000000" stroke="#000000" points="1705.2175,-584.5664 1715.5,-587.12 1709.0542,-578.7115 1705.2175,-584.5664"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node33" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node33"><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="1903.5,-567.5 1715.5,-567.5 1715.5,-514.5 1903.5,-514.5 1903.5,-567.5"/>
<text text-anchor="middle" x="1809.5" y="-552.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1809.5" y="-537.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-522.3" 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="edge29" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1657.6,-490.89C1671.8,-495.64 1686.3,-500.45 1700,-505 1706,-507 1712.3,-509.07 1718.6,-511.14"/>
<polygon fill="#000000" stroke="#000000" points="1717.9068,-514.597 1728.5,-514.41 1720.1023,-507.9502 1717.9068,-514.597"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node34" class="node">
<title>zcash/orchard#36</title>
<g id="a_node34"><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="#a6cfff" stroke="#000000" stroke-width="2" points="1150,-573 956,-573 956,-505 1150,-505 1150,-573"/>
<text text-anchor="middle" x="1053" y="-557.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="1053" y="-542.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="1053" y="-527.8" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="1053" y="-512.8" 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="edge30" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1150.3,-569.43C1170.2,-575.67 1191.2,-582.23 1211,-588.43"/>
<polygon fill="#000000" stroke="#000000" points="1210.0105,-591.7878 1220.6,-591.45 1212.1112,-585.1104 1210.0105,-591.7878"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node35" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node35"><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="#a6cfff" stroke="#000000" points="1399.5,-303 1211.5,-303 1211.5,-235 1399.5,-235 1399.5,-303"/>
<text text-anchor="middle" x="1305.5" y="-287.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1305.5" y="-272.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1305.5" y="-257.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1305.5" y="-242.8" 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="edge31" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1150.1,-506.47C1154.4,-503.02 1158.4,-499.21 1162,-495 1210.2,-438 1153.9,-391.22 1198,-331 1204,-322.85 1211.3,-315.61 1219.4,-309.21"/>
<polygon fill="#000000" stroke="#000000" points="1221.7285,-311.8417 1227.7,-303.09 1217.5742,-306.2077 1221.7285,-311.8417"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node36" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node36"><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="#a6cfff" stroke="#000000" points="1664,-304 1449,-304 1449,-236 1664,-236 1664,-304"/>
<text text-anchor="middle" x="1556.5" y="-288.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1556.5" y="-273.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1556.5" y="-258.8" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1556.5" y="-243.8" 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="edge32" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M1399.7,-269.38C1412.3,-269.43 1425.4,-269.48 1438.3,-269.53"/>
<polygon fill="#000000" stroke="#000000" points="1438.6866,-273.0314 1448.7,-269.57 1438.7136,-266.0315 1438.6866,-273.0314"/>
</g>
<!-- zcash/librustzcash#372 -->
<g id="node37" class="node">
<title>zcash/librustzcash#372</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/librustzcash/issues/372" xlink:title="zcash/librustzcash#372&#10;Implement parsing and&#10;serialization of Unified&#10;[Incoming / Full] Viewing&#10;Keys and Unified Spending&#10;Keys" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1661.5,-218 1451.5,-218 1451.5,-120 1661.5,-120 1661.5,-218"/>
<text text-anchor="middle" x="1556.5" y="-202.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#372</text>
<text text-anchor="middle" x="1556.5" y="-187.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1556.5" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1556.5" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Incoming / Full] Viewing</text>
<text text-anchor="middle" x="1556.5" y="-142.8" font-family="Times,serif" font-size="14.00" fill="#000000">Keys and Unified Spending</text>
<text text-anchor="middle" x="1556.5" y="-127.8" font-family="Times,serif" font-size="14.00" fill="#000000">Keys</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/librustzcash#372 -->
<g id="edge33" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/librustzcash#372</title>
<path fill="none" stroke="#000000" d="M1391.2,-234.87C1407.5,-228.37 1424.8,-221.48 1441.8,-214.7"/>
<polygon fill="#000000" stroke="#000000" points="1443.2151,-217.9036 1451.2,-210.94 1440.6153,-211.4043 1443.2151,-217.9036"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5256 -->
<g id="edge34" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5256</title>
<path fill="none" stroke="#000000" d="M1630.2,-304.03C1643.3,-313.27 1655.5,-324.54 1664,-338 1737.6,-455.04 1616.1,-537.13 1700,-647 1701.6,-649.07 1703.3,-651.03 1705.1,-652.91"/>
<polygon fill="#000000" stroke="#000000" points="1702.694,-655.4521 1712.4,-659.7 1707.4615,-650.3265 1702.694,-655.4521"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge35" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1626.2,-304.12C1640.2,-313.53 1653.8,-324.84 1664,-338 1695.6,-378.59 1662.6,-412.68 1700,-448 1701.5,-449.42 1703.1,-450.77 1704.7,-452.05"/>
<polygon fill="#000000" stroke="#000000" points="1702.9915,-455.125 1713.2,-457.96 1706.9876,-449.3776 1702.9915,-455.125"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge36" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1616.5,-304.05C1632.5,-314.18 1649.4,-325.84 1664,-338 1682.1,-353.1 1680.2,-364.24 1700,-377 1702.5,-378.6 1705,-380.13 1707.7,-381.6"/>
<polygon fill="#000000" stroke="#000000" points="1706.3181,-384.8273 1716.8,-386.37 1709.5679,-378.6274 1706.3181,-384.8273"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge37" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1664.2,-297.23C1677.7,-300.66 1691.5,-304.15 1705,-307.56"/>
<polygon fill="#000000" stroke="#000000" points="1704.1455,-310.954 1714.7,-310.03 1705.8729,-304.1705 1704.1455,-310.954"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node38" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node38"><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="1894.5,-281.5 1724.5,-281.5 1724.5,-228.5 1894.5,-228.5 1894.5,-281.5"/>
<text text-anchor="middle" x="1809.5" y="-266.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1809.5" y="-251.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-236.3" 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="edge38" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M1664.2,-263.62C1680.8,-262.63 1697.8,-261.62 1714.1,-260.66"/>
<polygon fill="#000000" stroke="#000000" points="1714.3276,-264.1527 1724.1,-260.06 1713.9083,-257.1653 1714.3276,-264.1527"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node39" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node39"><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="1909.5,-210.5 1709.5,-210.5 1709.5,-157.5 1909.5,-157.5 1909.5,-210.5"/>
<text text-anchor="middle" x="1809.5" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1809.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1809.5" y="-165.3" 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="edge39" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M1650.9,-235.96C1667.2,-230.21 1684.1,-224.37 1700,-219 1705.1,-217.27 1710.4,-215.5 1715.8,-213.74"/>
<polygon fill="#000000" stroke="#000000" points="1717.0018,-217.0291 1725.4,-210.57 1714.8068,-210.3821 1717.0018,-217.0291"/>
</g>
<!-- zcash/zcash#5191 -->
<g id="node40" class="node">
<title>zcash/zcash#5191</title>
<g id="a_node40"><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="1894,-139.5 1725,-139.5 1725,-86.5 1894,-86.5 1894,-139.5"/>
<text text-anchor="middle" x="1809.5" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1809.5" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1809.5" y="-94.3" 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="edge40" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5191</title>
<path fill="none" stroke="#000000" d="M1653.2,-235.91C1657,-233.16 1660.7,-230.19 1664,-227 1691.9,-200.37 1671.2,-173.62 1700,-148 1704.8,-143.74 1710.1,-139.99 1715.8,-136.71"/>
<polygon fill="#000000" stroke="#000000" points="1717.6235,-139.7042 1724.8,-131.91 1714.3294,-133.5277 1717.6235,-139.7042"/>
</g>
<!-- zcash/zcash#5257 -->
<g id="node41" class="node">
<title>zcash/zcash#5257</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/zcash/issues/5257" xlink:title="zcash/zcash#5257&#10;Implement Unified Viewing&#10;Key parsing and&#10;serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1916.5,-68 1702.5,-68 1702.5,0 1916.5,0 1916.5,-68"/>
<text text-anchor="middle" x="1809.5" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5257</text>
<text text-anchor="middle" x="1809.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Viewing</text>
<text text-anchor="middle" x="1809.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Key parsing and</text>
<text text-anchor="middle" x="1809.5" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5257 -->
<g id="edge41" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5257</title>
<path fill="none" stroke="#000000" d="M1655,-235.89C1658.2,-233.15 1661.2,-230.19 1664,-227 1708.8,-175.14 1655,-128.72 1700,-77 1700.4,-76.519 1700.8,-76.042 1701.3,-75.572"/>
<polygon fill="#000000" stroke="#000000" points="1703.957,-77.8709 1708.7,-68.397 1699.0842,-72.8453 1703.957,-77.8709"/>
</g>
<!-- zcash/librustzcash#372&#45;&gt;zcash/zcash#5257 -->
<g id="edge42" class="edge">
<title>zcash/librustzcash#372&#45;&gt;zcash/zcash#5257</title>
<path fill="none" stroke="#000000" d="M1627.1,-119.83C1649.8,-105.08 1675.5,-89.517 1700,-77 1703.1,-75.419 1706.3,-73.859 1709.5,-72.323"/>
<polygon fill="#000000" stroke="#000000" points="1711.0963,-75.4409 1718.7,-68.063 1708.1549,-69.0889 1711.0963,-75.4409"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node42" class="node">
<title>zcash/orchard#30</title>
<g id="a_node42"><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="#a6cfff" stroke="#000000" stroke-width="2" points="1139,-644.5 967,-644.5 967,-591.5 1139,-591.5 1139,-644.5"/>
<text text-anchor="middle" x="1053" y="-629.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="1053" y="-614.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="1053" y="-599.3" 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="edge43" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1139.2,-618C1159.9,-618 1182.2,-618 1203.6,-618"/>
<polygon fill="#000000" stroke="#000000" points="1203.7,-621.5001 1213.7,-618 1203.7,-614.5001 1203.7,-621.5001"/>
</g>
<!-- zcash/zcash#2534 -->
<g id="node43" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node43"><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,-1313.5 52.5,-1313.5 52.5,-1309.5 48.5,-1309.5 48.5,-1305.5 52.5,-1305.5 52.5,-1268.5 48.5,-1268.5 48.5,-1264.5 52.5,-1264.5 52.5,-1260.5 252.5,-1260.5 252.5,-1313.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1309.5 56.5,-1309.5 56.5,-1305.5 52.5,-1305.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1268.5 56.5,-1268.5 56.5,-1264.5 52.5,-1264.5 "/>
<text text-anchor="middle" x="152.5" y="-1298.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1283.3" 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="-1268.3" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003 -->
<g id="node44" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node44"><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.5 348,-1332.5 348,-1328.5 344,-1328.5 344,-1324.5 348,-1324.5 348,-1287.5 344,-1287.5 344,-1283.5 348,-1283.5 348,-1279.5 560,-1279.5 560,-1332.5"/>
<polyline fill="none" stroke="#000000" points="348,-1328.5 352,-1328.5 352,-1324.5 348,-1324.5 "/>
<polyline fill="none" stroke="#000000" points="348,-1287.5 352,-1287.5 352,-1283.5 348,-1283.5 "/>
<text text-anchor="middle" x="454" y="-1317.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1302.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1287.3" 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="edge44" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M252.9,-1293.3C280.05,-1295 309.67,-1296.9 337.63,-1298.7"/>
<polygon fill="#000000" stroke="#000000" points="337.6519,-1302.2072 347.84,-1299.3 338.0626,-1295.2193 337.6519,-1302.2072"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node45" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node45"><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="851,-1251 660,-1251 660,-1247 656,-1247 656,-1243 660,-1243 660,-1191 656,-1191 656,-1187 660,-1187 660,-1183 851,-1183 851,-1251"/>
<polyline fill="none" stroke="#000000" points="660,-1247 664,-1247 664,-1243 660,-1243 "/>
<polyline fill="none" stroke="#000000" points="660,-1191 664,-1191 664,-1187 660,-1187 "/>
<text text-anchor="middle" x="755.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="755.5" y="-1220.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="755.5" y="-1205.8" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="755.5" y="-1190.8" 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="edge45" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M252.75,-1275.4C362.63,-1262.6 538.13,-1242.2 650.04,-1229.2"/>
<polygon fill="#000000" stroke="#000000" points="650.4352,-1232.6777 659.99,-1228.1 649.6659,-1225.7201 650.4352,-1232.6777"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node46" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node46"><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="842.5,-1352.5 668.5,-1352.5 668.5,-1348.5 664.5,-1348.5 664.5,-1344.5 668.5,-1344.5 668.5,-1277.5 664.5,-1277.5 664.5,-1273.5 668.5,-1273.5 668.5,-1269.5 842.5,-1269.5 842.5,-1352.5"/>
<polyline fill="none" stroke="#000000" points="668.5,-1348.5 672.5,-1348.5 672.5,-1344.5 668.5,-1344.5 "/>
<polyline fill="none" stroke="#000000" points="668.5,-1277.5 672.5,-1277.5 672.5,-1273.5 668.5,-1273.5 "/>
<text text-anchor="middle" x="755.5" y="-1337.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="755.5" y="-1322.3" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="755.5" y="-1307.3" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="755.5" y="-1292.3" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="755.5" y="-1277.3" 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="edge46" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M560.3,-1307.8C592.12,-1308.3 626.84,-1308.9 658.06,-1309.4"/>
<polygon fill="#000000" stroke="#000000" points="658.002,-1312.8994 668.07,-1309.6 658.1419,-1305.9008 658.002,-1312.8994"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node47" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node47"><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="1162,-1283 944,-1283 944,-1279 940,-1279 940,-1275 944,-1275 944,-1253 940,-1253 940,-1249 944,-1249 944,-1245 1162,-1245 1162,-1283"/>
<polyline fill="none" stroke="#000000" points="944,-1279 948,-1279 948,-1275 944,-1275 "/>
<polyline fill="none" stroke="#000000" points="944,-1253 948,-1253 948,-1249 944,-1249 "/>
<text text-anchor="middle" x="1053" y="-1267.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1053" y="-1252.8" 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="edge47" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M851.27,-1232.1C877.59,-1236.3 906.46,-1240.8 933.92,-1245.2"/>
<polygon fill="#000000" stroke="#000000" points="933.5441,-1248.6841 943.97,-1246.8 934.6447,-1241.7712 933.5441,-1248.6841"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge48" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M842.75,-1297.2C871.17,-1292.7 903.23,-1287.7 933.58,-1282.9"/>
<polygon fill="#000000" stroke="#000000" points="934.471,-1286.3033 943.81,-1281.3 933.3892,-1279.3874 934.471,-1286.3033"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node48" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node48"><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="1400,-1298 1211,-1298 1211,-1294 1207,-1294 1207,-1290 1211,-1290 1211,-1238 1207,-1238 1207,-1234 1211,-1234 1211,-1230 1400,-1230 1400,-1298"/>
<polyline fill="none" stroke="#000000" points="1211,-1294 1215,-1294 1215,-1290 1211,-1290 "/>
<polyline fill="none" stroke="#000000" points="1211,-1238 1215,-1238 1215,-1234 1211,-1234 "/>
<text text-anchor="middle" x="1305.5" y="-1282.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1305.5" y="-1267.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1305.5" y="-1252.8" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1305.5" y="-1237.8" 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="edge49" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1162.3,-1264C1175,-1264 1188,-1264 1200.6,-1264"/>
<polygon fill="#000000" stroke="#000000" points="1200.7,-1267.5001 1210.7,-1264 1200.7,-1260.5001 1200.7,-1267.5001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node49" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node49"><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,-1409 56,-1409 56,-1405 52,-1405 52,-1401 56,-1401 56,-1379 52,-1379 52,-1375 56,-1375 56,-1371 249,-1371 249,-1409"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1405 60,-1405 60,-1401 56,-1401 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1379 60,-1379 60,-1375 56,-1375 "/>
<text text-anchor="middle" x="152.5" y="-1393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1378.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050 -->
<g id="node50" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node50"><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,-1409 357.5,-1409 357.5,-1405 353.5,-1405 353.5,-1401 357.5,-1401 357.5,-1379 353.5,-1379 353.5,-1375 357.5,-1375 357.5,-1371 550.5,-1371 550.5,-1409"/>
<polyline fill="none" stroke="#000000" points="357.5,-1405 361.5,-1405 361.5,-1401 357.5,-1401 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1379 361.5,-1379 361.5,-1375 357.5,-1375 "/>
<text text-anchor="middle" x="454" y="-1393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1378.8" 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="edge50" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1390C280.38,-1390 315.19,-1390 347.13,-1390"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1393.5001 357.39,-1390 347.39,-1386.5001 347.39,-1393.5001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node51" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node51"><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="852,-1409 659,-1409 659,-1405 655,-1405 655,-1401 659,-1401 659,-1379 655,-1379 655,-1375 659,-1375 659,-1371 852,-1371 852,-1409"/>
<polyline fill="none" stroke="#000000" points="659,-1405 663,-1405 663,-1401 659,-1401 "/>
<polyline fill="none" stroke="#000000" points="659,-1379 663,-1379 663,-1375 659,-1375 "/>
<text text-anchor="middle" x="755.5" y="-1393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="755.5" y="-1378.8" 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="edge51" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.64,-1390C581.88,-1390 616.69,-1390 648.63,-1390"/>
<polygon fill="#000000" stroke="#000000" points="648.89,-1393.5001 658.89,-1390 648.89,-1386.5001 648.89,-1393.5001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node52" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node52"><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="#c2e0c6" stroke="#000000" points="1145.5,-486.5 960.5,-486.5 960.5,-433.5 1145.5,-433.5 1145.5,-486.5"/>
<text text-anchor="middle" x="1053" y="-471.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="1053" y="-456.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="1053" y="-441.3" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5255 -->
<g id="edge52" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5255</title>
<path fill="none" stroke="#000000" d="M1133.3,-486.56C1154.2,-492.71 1176.8,-498.7 1198,-503 1277.4,-519.07 1368.1,-529.12 1438.4,-535.12"/>
<polygon fill="#000000" stroke="#000000" points="1438.4434,-538.6357 1448.7,-535.98 1439.0259,-531.66 1438.4434,-538.6357"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node53" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node53"><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="1406.5,-494 1204.5,-494 1204.5,-426 1406.5,-426 1406.5,-494"/>
<text text-anchor="middle" x="1305.5" y="-478.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1305.5" y="-463.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1305.5" y="-448.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1305.5" y="-433.8" 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="edge53" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1145.6,-460C1161.4,-460 1178.1,-460 1194.3,-460"/>
<polygon fill="#000000" stroke="#000000" points="1194.4,-463.5001 1204.4,-460 1194.4,-456.5001 1194.4,-463.5001"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge54" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1406.5,-458.79C1419.2,-458.64 1432.2,-458.49 1445.1,-458.33"/>
<polygon fill="#000000" stroke="#000000" points="1445.3419,-461.8275 1455.3,-458.21 1445.2595,-454.828 1445.3419,-461.8275"/>
</g>
<!-- zcash/zips#364 -->
<g id="node54" class="node">
<title>zcash/zips#364</title>
<g id="a_node54"><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="#c2e0c6" stroke="#000000" stroke-width="2" points="858,-486.5 653,-486.5 653,-433.5 858,-433.5 858,-486.5"/>
<text text-anchor="middle" x="755.5" y="-471.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="755.5" y="-456.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="755.5" y="-441.3" 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="edge55" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M858.3,-460C887.9,-460 920.18,-460 949.8,-460"/>
<polygon fill="#000000" stroke="#000000" points="950.16,-463.5001 960.16,-460 950.16,-456.5001 950.16,-463.5001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node55" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node55"><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,-1480.5 61.5,-1480.5 61.5,-1427.5 243.5,-1427.5 243.5,-1480.5"/>
<text text-anchor="middle" x="152.5" y="-1465.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1450.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1435.3" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node56" class="node">
<title>zcash/zips#511</title>
<g id="a_node56"><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="#a6cfff" stroke="#000000" stroke-width="2" points="1413,-408 1198,-408 1198,-340 1413,-340 1413,-408"/>
<text text-anchor="middle" x="1305.5" y="-392.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1305.5" y="-377.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1305.5" y="-362.8" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1305.5" y="-347.8" 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="edge56" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1408.7,-408.12C1420.8,-412.14 1433.3,-416.26 1445.6,-420.31"/>
<polygon fill="#000000" stroke="#000000" points="1444.7062,-423.7015 1455.3,-423.55 1446.924,-417.0621 1444.7062,-423.7015"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node57" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node57"><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="1664,-400.5 1449,-400.5 1449,-347.5 1664,-347.5 1664,-400.5"/>
<text text-anchor="middle" x="1556.5" y="-385.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1556.5" y="-370.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1556.5" y="-355.3" 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="edge57" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1413,-374C1421.6,-374 1430.2,-374 1438.8,-374"/>
<polygon fill="#000000" stroke="#000000" points="1438.8,-377.5001 1448.8,-374 1438.8,-370.5001 1438.8,-377.5001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node58" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node58"><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,-1551.5 51,-1551.5 51,-1498.5 254,-1498.5 254,-1551.5"/>
<text text-anchor="middle" x="152.5" y="-1536.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1521.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1506.3" font-family="Times,serif" font-size="14.00" fill="#000000">out how to render UAs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5198 -->
<g id="node59" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node59"><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,-1682.5 54.5,-1682.5 54.5,-1569.5 250.5,-1569.5 250.5,-1682.5"/>
<text text-anchor="middle" x="152.5" y="-1667.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1652.3" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1637.3" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1622.3" font-family="Times,serif" font-size="14.00" fill="#000000">in places where the node</text>
<text text-anchor="middle" x="152.5" y="-1607.3" font-family="Times,serif" font-size="14.00" fill="#000000">needs to commit to a</text>
<text text-anchor="middle" x="152.5" y="-1592.3" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1577.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5223 -->
<g id="node60" class="node">
<title>zcash/zcash#5223</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/zcash/issues/5223" xlink:title="zcash/zcash#5223&#10;Add RPC test case that&#10;checks the auth data&#10;commitments for v4 txs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-1769 58.5,-1769 58.5,-1701 246.5,-1701 246.5,-1769"/>
<text text-anchor="middle" x="152.5" y="-1753.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="152.5" y="-1738.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add RPC test case that</text>
<text text-anchor="middle" x="152.5" y="-1723.8" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="152.5" y="-1708.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitments for v4 txs</text>
</a>
</g>
</g>
<!-- zcash/zips#534 -->
<g id="node61" class="node">
<title>zcash/zips#534</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/zips/issues/534" xlink:title="zcash/zips#534&#10;Adding to a full note&#10;commitment tree should be&#10;a consensus error" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="561.5,-832 346.5,-832 346.5,-764 561.5,-764 561.5,-832"/>
<text text-anchor="middle" x="454" y="-816.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#534</text>
<text text-anchor="middle" x="454" y="-801.8" font-family="Times,serif" font-size="14.00" fill="#000000">Adding to a full note</text>
<text text-anchor="middle" x="454" y="-786.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree should be</text>
<text text-anchor="middle" x="454" y="-771.8" font-family="Times,serif" font-size="14.00" fill="#000000">a consensus error</text>
</a>
</g>
</g>
<!-- zcash/zcash#5241 -->
<g id="node62" class="node">
<title>zcash/zcash#5241</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/zcash/pull/5241" xlink:title="zcash/zcash#5241&#10;Consensus: Add check to&#10;ensure that the Orchard&#10;commitment tree is not&#10;overfull after&#10;AppendBundle." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="854,-847 657,-847 657,-843 653,-843 653,-839 657,-839 657,-757 653,-757 653,-753 657,-753 657,-749 854,-749 854,-847"/>
<polyline fill="none" stroke="#000000" points="657,-843 661,-843 661,-839 657,-839 "/>
<polyline fill="none" stroke="#000000" points="657,-757 661,-757 661,-753 657,-753 "/>
<text text-anchor="middle" x="755.5" y="-831.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5241</text>
<text text-anchor="middle" x="755.5" y="-816.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consensus: Add check to</text>
<text text-anchor="middle" x="755.5" y="-801.8" font-family="Times,serif" font-size="14.00" fill="#000000">ensure that the Orchard</text>
<text text-anchor="middle" x="755.5" y="-786.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree is not</text>
<text text-anchor="middle" x="755.5" y="-771.8" font-family="Times,serif" font-size="14.00" fill="#000000">overfull after</text>
<text text-anchor="middle" x="755.5" y="-756.8" font-family="Times,serif" font-size="14.00" fill="#000000">AppendBundle.</text>
</a>
</g>
</g>
<!-- zcash/zips#534&#45;&gt;zcash/zcash#5241 -->
<g id="edge58" class="edge">
<title>zcash/zips#534&#45;&gt;zcash/zcash#5241</title>
<path fill="none" stroke="#000000" d="M561.57,-798C589.13,-798 618.8,-798 646.44,-798"/>
<polygon fill="#000000" stroke="#000000" points="646.52,-801.5001 656.52,-798 646.52,-794.5001 646.52,-801.5001"/>
</g>
<!-- zcash/zcash#5241&#45;&gt;zcash/zcash#5197 -->
<g id="edge59" class="edge">
<title>zcash/zcash#5241&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M854.15,-785.4C886.35,-781.29 922.1,-776.72 954.31,-772.61"/>
<polygon fill="#000000" stroke="#000000" points="955.1549,-776.0305 964.63,-771.29 954.2667,-769.0871 955.1549,-776.0305"/>
</g>
<!-- zcash/zcash#5245 -->
<g id="node63" class="node">
<title>zcash/zcash#5245</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/zcash/issues/5245" xlink:title="zcash/zcash#5245&#10;Implement consensus rule&#10;that if effectiveVersion&#10;≥ 5 and nActionsOrchard &gt;&#10;0, at least one of&#10;enableSpendsOrchard and&#10;enableOutputsOrchard is 1" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="1161.5,-1004.5 944.5,-1004.5 944.5,-891.5 1161.5,-891.5 1161.5,-1004.5"/>
<text text-anchor="middle" x="1053" y="-989.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5245</text>
<text text-anchor="middle" x="1053" y="-974.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement consensus rule</text>
<text text-anchor="middle" x="1053" y="-959.3" font-family="Times,serif" font-size="14.00" fill="#000000">that if effectiveVersion</text>
<text text-anchor="middle" x="1053" y="-944.3" font-family="Times,serif" font-size="14.00" fill="#000000">≥ 5 and nActionsOrchard &gt;</text>
<text text-anchor="middle" x="1053" y="-929.3" font-family="Times,serif" font-size="14.00" fill="#000000">0, at least one of</text>
<text text-anchor="middle" x="1053" y="-914.3" font-family="Times,serif" font-size="14.00" fill="#000000">enableSpendsOrchard and</text>
<text text-anchor="middle" x="1053" y="-899.3" font-family="Times,serif" font-size="14.00" fill="#000000">enableOutputsOrchard is 1</text>
</a>
</g>
</g>
<!-- zcash/zcash#5245&#45;&gt;zcash/zcash#5024 -->
<g id="edge60" class="edge">
<title>zcash/zcash#5245&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1161.5,-924.36C1170.8,-922.35 1180.1,-920.31 1189.4,-918.29"/>
<polygon fill="#000000" stroke="#000000" points="1190.3803,-921.6583 1199.4,-916.1 1188.8827,-914.8204 1190.3803,-921.6583"/>
</g>
<!-- zcash/zips#538 -->
<g id="node64" class="node">
<title>zcash/zips#538</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/zips/pull/538" xlink:title="zcash/zips#538&#10;ZIP 316: Define HRPs for&#10;Unified Viewing Keys, and&#10;include the HRP in the&#10;padding" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="858,-215.5 653,-215.5 653,-211.5 649,-211.5 649,-207.5 653,-207.5 653,-140.5 649,-140.5 649,-136.5 653,-136.5 653,-132.5 858,-132.5 858,-215.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="653,-211.5 657,-211.5 657,-207.5 653,-207.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="653,-140.5 657,-140.5 657,-136.5 653,-136.5 "/>
<text text-anchor="middle" x="755.5" y="-200.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#538</text>
<text text-anchor="middle" x="755.5" y="-185.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 316: Define HRPs for</text>
<text text-anchor="middle" x="755.5" y="-170.3" font-family="Times,serif" font-size="14.00" fill="#000000">Unified Viewing Keys, and</text>
<text text-anchor="middle" x="755.5" y="-155.3" font-family="Times,serif" font-size="14.00" fill="#000000">include the HRP in the</text>
<text text-anchor="middle" x="755.5" y="-140.3" font-family="Times,serif" font-size="14.00" fill="#000000">padding</text>
</a>
</g>
</g>
<!-- zcash/zips#538&#45;&gt;zcash/librustzcash#372 -->
<g id="edge61" class="edge">
<title>zcash/zips#538&#45;&gt;zcash/librustzcash#372</title>
<path fill="none" stroke="#000000" d="M858.17,-173.36C1007.8,-172.43 1285,-170.69 1441.4,-169.72"/>
<polygon fill="#000000" stroke="#000000" points="1441.521,-173.2194 1451.5,-169.66 1441.4794,-166.2196 1441.521,-173.2194"/>
</g>
<!-- zcash/librustzcash#418 -->
<g id="node65" class="node">
<title>zcash/librustzcash#418</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/librustzcash/issues/418" xlink:title="zcash/librustzcash#418&#10;zcash_address: Add HRPs&#10;to padding of UAs" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="1154.5,-288.5 951.5,-288.5 951.5,-235.5 1154.5,-235.5 1154.5,-288.5"/>
<text text-anchor="middle" x="1053" y="-273.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#418</text>
<text text-anchor="middle" x="1053" y="-258.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_address: Add HRPs</text>
<text text-anchor="middle" x="1053" y="-243.3" font-family="Times,serif" font-size="14.00" fill="#000000">to padding of UAs</text>
</a>
</g>
</g>
<!-- zcash/zips#538&#45;&gt;zcash/librustzcash#418 -->
<g id="edge62" class="edge">
<title>zcash/zips#538&#45;&gt;zcash/librustzcash#418</title>
<path fill="none" stroke="#000000" d="M858.3,-204.41C889.06,-213.51 922.74,-223.47 953.3,-232.51"/>
<polygon fill="#000000" stroke="#000000" points="952.5179,-235.9285 963.1,-235.41 954.5042,-229.2162 952.5179,-235.9285"/>
</g>
<!-- zcash/librustzcash#418&#45;&gt;zcash/librustzcash#371 -->
<g id="edge63" class="edge">
<title>zcash/librustzcash#418&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1154.6,-264.82C1170,-265.24 1185.9,-265.68 1201.4,-266.11"/>
<polygon fill="#000000" stroke="#000000" points="1201.4068,-269.6114 1211.5,-266.39 1201.6009,-262.6141 1201.4068,-269.6114"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#43 -->
<g id="node66" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#43</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/43" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#43&#10;Update padding in Unified&#10;Address test vectors" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="908,-288.5 603,-288.5 603,-235.5 908,-235.5 908,-288.5"/>
<text text-anchor="middle" x="755.5" y="-273.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#43</text>
<text text-anchor="middle" x="755.5" y="-258.3" font-family="Times,serif" font-size="14.00" fill="#000000">Update padding in Unified</text>
<text text-anchor="middle" x="755.5" y="-243.3" font-family="Times,serif" font-size="14.00" fill="#000000">Address test vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#43&#45;&gt;zcash/librustzcash#418 -->
<g id="edge64" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#43&#45;&gt;zcash/librustzcash#418</title>
<path fill="none" stroke="#000000" d="M908.17,-262C919.2,-262 930.2,-262 940.93,-262"/>
<polygon fill="#000000" stroke="#000000" points="941.12,-265.5001 951.12,-262 941.12,-258.5001 941.12,-265.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node67" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node67"><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="#a6cfff" stroke="#000000" stroke-width="2" points="305,-967.5 0,-967.5 0,-914.5 305,-914.5 305,-967.5"/>
<text text-anchor="middle" x="152.5" y="-952.3" 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="-937.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-922.3" 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="edge65" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M188.12,-914.26C220.6,-888.91 268.89,-848.75 305,-808 323.89,-786.69 319.2,-773.32 341,-755 349.88,-747.53 360.03,-740.95 370.53,-735.21"/>
<polygon fill="#000000" stroke="#000000" points="372.1546,-738.3102 379.4,-730.58 368.9154,-732.1047 372.1546,-738.3102"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node68" class="node">
<title>zcash/orchard#95</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/orchard/issues/95" xlink:title="zcash/orchard#95&#10;Implement Merkle path&#10;validity chip" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="547.5,-1043.5 360.5,-1043.5 360.5,-990.5 547.5,-990.5 547.5,-1043.5"/>
<text text-anchor="middle" x="454" y="-1028.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-1013.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-998.3" 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="edge66" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M257.95,-967.58C287.85,-975.12 320.38,-983.32 350.18,-990.83"/>
<polygon fill="#000000" stroke="#000000" points="349.6279,-994.3002 360.18,-993.35 351.3384,-987.5124 349.6279,-994.3002"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge67" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.74,-1023.2C582.91,-1025.6 622.92,-1028.2 658.39,-1030.6"/>
<polygon fill="#000000" stroke="#000000" points="658.5643,-1034.1159 668.75,-1031.2 658.9691,-1027.1276 658.5643,-1034.1159"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node69" class="node">
<title>zcash/halo2#75</title>
<g id="a_node69"><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="1142.5,-1883.5 963.5,-1883.5 963.5,-1830.5 1142.5,-1830.5 1142.5,-1883.5"/>
<text text-anchor="middle" x="1053" y="-1868.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1053" y="-1853.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1053" y="-1838.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node70" class="node">
<title>zcash/halo2#251</title>
<g id="a_node70"><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="1410.5,-1883.5 1200.5,-1883.5 1200.5,-1830.5 1410.5,-1830.5 1410.5,-1883.5"/>
<text text-anchor="middle" x="1305.5" y="-1868.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1305.5" y="-1853.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1305.5" y="-1838.3" 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="edge68" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1142.7,-1857C1158,-1857 1174,-1857 1189.8,-1857"/>
<polygon fill="#000000" stroke="#000000" points="1190.1,-1860.5001 1200.1,-1857 1190.1,-1853.5001 1190.1,-1860.5001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node71" class="node">
<title>zcash/halo2#79</title>
<g id="a_node71"><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="836,-2099.5 675,-2099.5 675,-2016.5 836,-2016.5 836,-2099.5"/>
<text text-anchor="middle" x="755.5" y="-2084.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="755.5" y="-2069.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="755.5" y="-2054.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="755.5" y="-2039.3" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="755.5" y="-2024.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node72" class="node">
<title>zcash/halo2#78</title>
<g id="a_node72"><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,-2092 352,-2092 352,-2024 556,-2024 556,-2092"/>
<text text-anchor="middle" x="454" y="-2076.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-2061.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-2046.8" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-2031.8" 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="edge69" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.07,-2058C591.37,-2058 630.65,-2058 664.96,-2058"/>
<polygon fill="#000000" stroke="#000000" points="664.96,-2061.5001 674.96,-2058 664.96,-2054.5001 664.96,-2061.5001"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node73" class="node">
<title>zcash/halo2#250</title>
<g id="a_node73"><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="852.5,-1883.5 658.5,-1883.5 658.5,-1830.5 852.5,-1830.5 852.5,-1883.5"/>
<text text-anchor="middle" x="755.5" y="-1868.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="755.5" y="-1853.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="755.5" y="-1838.3" 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="edge70" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M550.3,-2023.9C556.05,-2021.1 561.66,-2018.1 567,-2015 626.83,-1979.9 686.63,-1925.7 722.35,-1890.8"/>
<polygon fill="#000000" stroke="#000000" points="724.9008,-1893.2007 729.59,-1883.7 719.9996,-1888.2028 724.9008,-1893.2007"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge71" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M852.5,-1857C884.63,-1857 920.44,-1857 952.81,-1857"/>
<polygon fill="#000000" stroke="#000000" points="953.19,-1860.5001 963.19,-1857 953.19,-1853.5001 953.19,-1860.5001"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node74" class="node">
<title>zcash/halo2#57</title>
<g id="a_node74"><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,-1927 81,-1927 81,-1859 224,-1859 224,-1927"/>
<text text-anchor="middle" x="152.5" y="-1911.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1896.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1881.8" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1866.8" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node75" class="node">
<title>zcash/halo2#82</title>
<g id="a_node75"><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,-2028.5 56,-2028.5 56,-1945.5 249,-1945.5 249,-2028.5"/>
<text text-anchor="middle" x="152.5" y="-2013.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1998.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1983.3" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="152.5" y="-1968.3" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1953.3" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node76" class="node">
<title>zcash/halo2#248</title>
<g id="a_node76"><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,-2005.5 352.5,-2005.5 352.5,-1952.5 555.5,-1952.5 555.5,-2005.5"/>
<text text-anchor="middle" x="454" y="-1990.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-1975.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-1960.3" 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="edge72" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M541.05,-1952.4C549.86,-1949.4 558.64,-1946.2 567,-1943 609.51,-1926.6 656.11,-1905.4 692.34,-1888.1"/>
<polygon fill="#000000" stroke="#000000" points="694.2662,-1891.0594 701.79,-1883.6 691.2566,-1884.7394 694.2662,-1891.0594"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node77" class="node">
<title>zcash/halo2#249</title>
<g id="a_node77"><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,-1934 361.5,-1934 361.5,-1866 546.5,-1866 546.5,-1934"/>
<text text-anchor="middle" x="454" y="-1918.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-1903.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-1888.8" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-1873.8" 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="edge73" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.51,-1886.8C578.67,-1882.2 615,-1877 648.25,-1872.3"/>
<polygon fill="#000000" stroke="#000000" points="649.0843,-1875.7151 658.47,-1870.8 648.0677,-1868.7893 649.0843,-1875.7151"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node78" class="node">
<title>zcash/halo2#246</title>
<g id="a_node78"><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,-1840.5 63,-1840.5 63,-1787.5 242,-1787.5 242,-1840.5"/>
<text text-anchor="middle" x="152.5" y="-1825.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-1810.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-1795.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node79" class="node">
<title>zcash/halo2#247</title>
<g id="a_node79"><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,-1848 366,-1848 366,-1780 542,-1780 542,-1848"/>
<text text-anchor="middle" x="454" y="-1832.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-1817.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-1802.8" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-1787.8" 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="edge74" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-1814C277.92,-1814 319.23,-1814 355.81,-1814"/>
<polygon fill="#000000" stroke="#000000" points="356,-1817.5001 366,-1814 356,-1810.5001 356,-1817.5001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge75" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.02,-1826.6C575.24,-1831.3 613.41,-1836.7 648.2,-1841.7"/>
<polygon fill="#000000" stroke="#000000" points="647.9971,-1845.2077 658.4,-1843.2 649.0157,-1838.2822 647.9971,-1845.2077"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node80" class="node">
<title>zcash/halo2#245</title>
<g id="a_node80"><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,-1762 351,-1762 351,-1694 557,-1694 557,-1762"/>
<text text-anchor="middle" x="454" y="-1746.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-1731.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-1716.8" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="454" y="-1701.8" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge76" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M545.17,-1762.1C552.58,-1765.1 559.93,-1768 567,-1771 608.44,-1788.3 654.29,-1809.2 690.39,-1826"/>
<polygon fill="#000000" stroke="#000000" points="689.2971,-1829.3563 699.83,-1830.5 692.3092,-1823.0375 689.2971,-1829.3563"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node81" class="node">
<title>zcash/halo2#210</title>
<g id="a_node81"><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,-1676 345,-1676 345,-1608 563,-1608 563,-1676"/>
<text text-anchor="middle" x="454" y="-1660.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-1645.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-1630.8" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-1615.8" 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="edge77" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M551.04,-1676.1C556.54,-1678.9 561.91,-1681.9 567,-1685 629.7,-1723.6 690.43,-1784.6 725.32,-1822.6"/>
<polygon fill="#000000" stroke="#000000" points="723.0356,-1825.288 732.37,-1830.3 728.1985,-1820.5609 723.0356,-1825.288"/>
</g>
<!-- zcash/halo2#312 -->
<g id="node82" class="node">
<title>zcash/halo2#312</title>
<g id="a_node82"><a xlink:href="https://github.com/zcash/halo2/issues/312" xlink:title="zcash/halo2#312&#10;[Book] Document gadget&#10;API" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250,-2099.5 55,-2099.5 55,-2046.5 250,-2046.5 250,-2099.5"/>
<text text-anchor="middle" x="152.5" y="-2084.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#312</text>
<text text-anchor="middle" x="152.5" y="-2069.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Book] Document gadget</text>
<text text-anchor="middle" x="152.5" y="-2054.3" font-family="Times,serif" font-size="14.00" fill="#000000">API</text>
</a>
</g>
</g>
</g>
</svg>