developers/zcash-core-dag.svg

1385 lines
99 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="1827pt" height="2011pt"
viewBox="0.00 0.00 1827.00 2011.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2007)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2007 1823,-2007 1823,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,-537.5 58.5,-537.5 58.5,-499.5 246.5,-499.5 246.5,-537.5"/>
<text text-anchor="middle" x="152.5" y="-522.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-507.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node2" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node2"><a xlink:href="https://github.com/zcash/librustzcash/issues/225" xlink:title="zcash/librustzcash#225&#10;Add Bolt TZE support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550,-545 358,-545 358,-492 550,-492 550,-545"/>
<text text-anchor="middle" x="454" y="-529.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-514.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-499.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge1" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M246.66,-518.5C278.76,-518.5 314.86,-518.5 347.84,-518.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-522.0001 357.96,-518.5 347.96,-515.0001 347.96,-522.0001"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node3" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node3"><a xlink:href="https://github.com/zcash/zcash/issues/4190" xlink:title="zcash/zcash#4190&#10;TZE: implement zcashd&#10;&#39;host&#39; logic." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="245.5,-666 59.5,-666 59.5,-613 245.5,-613 245.5,-666"/>
<text text-anchor="middle" x="152.5" y="-650.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-635.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-620.8" 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,-834 351,-834 351,-751 557,-751 557,-834"/>
<text text-anchor="middle" x="454" y="-818.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#166</text>
<text text-anchor="middle" x="454" y="-803.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ensure our Poseidon</text>
<text text-anchor="middle" x="454" y="-788.8" font-family="Times,serif" font-size="14.00" fill="#000000">parameters are consistent</text>
<text text-anchor="middle" x="454" y="-773.8" font-family="Times,serif" font-size="14.00" fill="#000000">with the v1.1 reference</text>
<text text-anchor="middle" x="454" y="-758.8" 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="#c2e0c6" stroke="#000000" points="790,-819 621,-819 621,-766 790,-766 790,-819"/>
<text text-anchor="middle" x="705.5" y="-803.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="705.5" y="-788.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="705.5" y="-773.8" 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.02,-792.5C574.71,-792.5 593.02,-792.5 610.49,-792.5"/>
<polygon fill="#000000" stroke="#000000" points="610.67,-796.0001 620.67,-792.5 610.67,-789.0001 610.67,-796.0001"/>
</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="#c2e0c6" stroke="#000000" points="1054.5,-826.5 851.5,-826.5 851.5,-758.5 1054.5,-758.5 1054.5,-826.5"/>
<text text-anchor="middle" x="953" y="-811.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="953" y="-796.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="953" y="-781.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="953" y="-766.3" 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="M790.33,-792.5C806.71,-792.5 824.09,-792.5 841.18,-792.5"/>
<polygon fill="#000000" stroke="#000000" points="841.19,-796.0001 851.19,-792.5 841.19,-789.0001 841.19,-796.0001"/>
</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="#c2e0c6" stroke="#000000" points="1311.5,-862 1099.5,-862 1099.5,-809 1311.5,-809 1311.5,-862"/>
<text text-anchor="middle" x="1205.5" y="-846.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1205.5" y="-831.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1205.5" y="-816.8" font-family="Times,serif" font-size="14.00" fill="#000000">rules</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#320&#45;&gt;zcash/zcash#5024 -->
<g id="edge4" class="edge">
<title>zcash/librustzcash#320&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1054.6,-809.8C1066,-811.74 1077.6,-813.71 1089.1,-815.67"/>
<polygon fill="#000000" stroke="#000000" points="1088.6514,-819.1442 1099.1,-817.39 1089.838,-812.2455 1088.6514,-819.1442"/>
</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,-1053.5 57,-1053.5 57,-985.5 248,-985.5 248,-1053.5"/>
<text text-anchor="middle" x="152.5" y="-1038.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5260</text>
<text text-anchor="middle" x="152.5" y="-1023.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement network</text>
<text text-anchor="middle" x="152.5" y="-1008.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol support for ZIP</text>
<text text-anchor="middle" x="152.5" y="-993.3" 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,-1046 354,-1046 354,-993 554,-993 554,-1046"/>
<text text-anchor="middle" x="454" y="-1030.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5261</text>
<text text-anchor="middle" x="454" y="-1015.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement handling logic</text>
<text text-anchor="middle" x="454" y="-1000.8" 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,-1019.5C278.65,-1019.5 312.43,-1019.5 343.7,-1019.5"/>
<polygon fill="#000000" stroke="#000000" points="343.76,-1023.0001 353.76,-1019.5 343.76,-1016.0001 343.76,-1023.0001"/>
</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="800,-1061 611,-1061 611,-978 800,-978 800,-1061"/>
<text text-anchor="middle" x="705.5" y="-1045.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="705.5" y="-1030.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="705.5" y="-1015.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="705.5" y="-1000.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="705.5" y="-985.8" 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.12,-1019.5C569.4,-1019.5 585.21,-1019.5 600.6,-1019.5"/>
<polygon fill="#000000" stroke="#000000" points="600.63,-1023.0001 610.63,-1019.5 600.63,-1016.0001 600.63,-1023.0001"/>
</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="792,-905 619,-905 619,-852 792,-852 792,-905"/>
<text text-anchor="middle" x="705.5" y="-889.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="705.5" y="-874.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="705.5" y="-859.8" 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="M781.78,-852C801.94,-844.99 824.09,-837.29 845.58,-829.83"/>
<polygon fill="#000000" stroke="#000000" points="846.7665,-833.123 855.06,-826.53 844.4652,-826.5121 846.7665,-833.123"/>
</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="#fad8c7" stroke="#000000" points="1035.5,-1115 870.5,-1115 870.5,-1062 1035.5,-1062 1035.5,-1115"/>
<text text-anchor="middle" x="953" y="-1099.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="953" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="953" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge8" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M743.4,-905.1C764.58,-921.46 790.2,-943.96 808,-968.5 831.85,-1001.4 814.07,-1025 844,-1052.5 849.18,-1057.3 855,-1061.4 861.19,-1065"/>
<polygon fill="#000000" stroke="#000000" points="859.9985,-1068.3237 870.49,-1069.8 863.2091,-1062.1033 859.9985,-1068.3237"/>
</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="1053.5,-912.5 852.5,-912.5 852.5,-844.5 1053.5,-844.5 1053.5,-912.5"/>
<text text-anchor="middle" x="953" y="-897.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="953" y="-882.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="953" y="-867.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="953" y="-852.3" font-family="Times,serif" font-size="14.00" fill="#000000">rule</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/zcash#5195 -->
<g id="edge9" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/zcash#5195</title>
<path fill="none" stroke="#000000" d="M792.06,-878.5C808.22,-878.5 825.32,-878.5 842.1,-878.5"/>
<polygon fill="#000000" stroke="#000000" points="842.49,-882.0001 852.49,-878.5 842.49,-875.0001 842.49,-882.0001"/>
</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" stroke-width="2" points="1299.5,-1003 1111.5,-1003 1111.5,-950 1299.5,-950 1299.5,-1003"/>
<text text-anchor="middle" x="1205.5" y="-987.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1205.5" y="-972.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1205.5" y="-957.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge10" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M1035.7,-1062.8C1044.6,-1059.6 1053.6,-1056.1 1062,-1052.5 1092.2,-1039.6 1124.5,-1022.8 1150.9,-1008.2"/>
<polygon fill="#000000" stroke="#000000" points="1152.8582,-1011.116 1159.9,-1003.2 1149.4586,-1004.9969 1152.8582,-1011.116"/>
</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" stroke-width="2" points="1299.5,-1115 1111.5,-1115 1111.5,-1062 1299.5,-1062 1299.5,-1115"/>
<text text-anchor="middle" x="1205.5" y="-1099.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1205.5" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1205.5" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/librustzcash#406 -->
<g id="edge11" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/librustzcash#406</title>
<path fill="none" stroke="#000000" d="M1035.7,-1088.5C1056.5,-1088.5 1079.2,-1088.5 1101,-1088.5"/>
<polygon fill="#000000" stroke="#000000" points="1101.3,-1092.0001 1111.3,-1088.5 1101.3,-1085.0001 1101.3,-1092.0001"/>
</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="M1053.5,-861.38C1065.2,-859.39 1077.3,-857.34 1089.2,-855.31"/>
<polygon fill="#000000" stroke="#000000" points="1089.8316,-858.7529 1099.1,-853.62 1088.6536,-851.8527 1089.8316,-858.7529"/>
</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="1561,-970.5 1352,-970.5 1352,-902.5 1561,-902.5 1561,-970.5"/>
<text text-anchor="middle" x="1456.5" y="-955.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1456.5" y="-940.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1456.5" y="-925.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1456.5" y="-910.3" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge13" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1299.7,-961.49C1313.3,-959.32 1327.5,-957.05 1341.5,-954.82"/>
<polygon fill="#000000" stroke="#000000" points="1342.3728,-958.2253 1351.7,-953.2 1341.2748,-951.312 1342.3728,-958.2253"/>
</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="1550.5,-1115 1362.5,-1115 1362.5,-1062 1550.5,-1062 1550.5,-1115"/>
<text text-anchor="middle" x="1456.5" y="-1099.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1456.5" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1456.5" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_backend`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403 -->
<g id="edge14" class="edge">
<title>zcash/librustzcash#406&#45;&gt;zcash/librustzcash#403</title>
<path fill="none" stroke="#000000" d="M1299.7,-1088.5C1316.8,-1088.5 1334.7,-1088.5 1352.1,-1088.5"/>
<polygon fill="#000000" stroke="#000000" points="1352.2,-1092.0001 1362.2,-1088.5 1352.2,-1085.0001 1352.2,-1092.0001"/>
</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="1803.5,-1115 1615.5,-1115 1615.5,-1062 1803.5,-1062 1803.5,-1115"/>
<text text-anchor="middle" x="1709.5" y="-1099.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1709.5" y="-1084.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1709.5" y="-1069.8" font-family="Times,serif" font-size="14.00" fill="#000000">`zcash_client_sqlite`</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404 -->
<g id="edge19" class="edge">
<title>zcash/librustzcash#403&#45;&gt;zcash/librustzcash#404</title>
<path fill="none" stroke="#000000" d="M1550.7,-1088.5C1568.4,-1088.5 1587,-1088.5 1605,-1088.5"/>
<polygon fill="#000000" stroke="#000000" points="1605.2,-1092.0001 1615.2,-1088.5 1605.2,-1085.0001 1605.2,-1092.0001"/>
</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,-1132 55,-1132 55,-1079 250,-1079 250,-1132"/>
<text text-anchor="middle" x="152.5" y="-1116.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1101.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1086.8" 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,-733 341,-733 341,-680 567,-680 567,-733"/>
<text text-anchor="middle" x="454" y="-717.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-702.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-687.8" 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="791.5,-748 619.5,-748 619.5,-665 791.5,-665 791.5,-748"/>
<text text-anchor="middle" x="705.5" y="-732.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="705.5" y="-717.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="705.5" y="-702.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="705.5" y="-687.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="705.5" y="-672.8" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge15" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M567.24,-706.5C581.16,-706.5 595.29,-706.5 608.94,-706.5"/>
<polygon fill="#000000" stroke="#000000" points="609.26,-710.0001 619.26,-706.5 609.26,-703.0001 609.26,-710.0001"/>
</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="#c2e0c6" stroke="#000000" stroke-width="2" points="1041,-669 865,-669 865,-616 1041,-616 1041,-669"/>
<text text-anchor="middle" x="953" y="-653.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="953" y="-638.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="953" y="-623.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5197 -->
<g id="edge16" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M791.72,-684.21C812.19,-678.91 834.18,-673.23 855.13,-667.81"/>
<polygon fill="#000000" stroke="#000000" points="856.1934,-671.1503 865,-665.26 854.4424,-664.3728 856.1934,-671.1503"/>
</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="1049,-740 857,-740 857,-687 1049,-687 1049,-740"/>
<text text-anchor="middle" x="953" y="-724.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5240</text>
<text text-anchor="middle" x="953" y="-709.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an Orchard nullifier</text>
<text text-anchor="middle" x="953" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">test to `coins_tests`</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5240 -->
<g id="edge17" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5240</title>
<path fill="none" stroke="#000000" d="M791.72,-708.94C809.49,-709.44 828.41,-709.98 846.79,-710.5"/>
<polygon fill="#000000" stroke="#000000" points="846.8473,-714.0028 856.94,-710.78 847.0404,-707.0055 846.8473,-714.0028"/>
</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="M1041.1,-666.26C1048.4,-669.57 1055.5,-673.3 1062,-677.5 1112.6,-710.09 1156.8,-764.96 1182.3,-800.7"/>
<polygon fill="#000000" stroke="#000000" points="1179.4678,-802.757 1188.1,-808.9 1185.1828,-798.7147 1179.4678,-802.757"/>
</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="#c2e0c6" stroke="#000000" points="1297,-608 1114,-608 1114,-555 1297,-555 1297,-608"/>
<text text-anchor="middle" x="1205.5" y="-592.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1205.5" y="-577.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1205.5" y="-562.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses to the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5023 -->
<g id="edge20" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1224.4,-608.18C1267.6,-669.36 1374.2,-820.13 1426.6,-894.14"/>
<polygon fill="#000000" stroke="#000000" points="1423.7714,-896.202 1432.4,-902.35 1429.4886,-892.163 1423.7714,-896.202"/>
</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="1552.5,-693.5 1360.5,-693.5 1360.5,-625.5 1552.5,-625.5 1552.5,-693.5"/>
<text text-anchor="middle" x="1456.5" y="-678.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1456.5" y="-663.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1456.5" y="-648.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1456.5" y="-633.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5020 -->
<g id="edge21" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M1290.8,-608.02C1310,-613.97 1330.6,-620.37 1350.5,-626.55"/>
<polygon fill="#000000" stroke="#000000" points="1349.6116,-629.9391 1360.2,-629.57 1351.6925,-623.2555 1349.6116,-629.9391"/>
</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="1557.5,-266.5 1355.5,-266.5 1355.5,-198.5 1557.5,-198.5 1557.5,-266.5"/>
<text text-anchor="middle" x="1456.5" y="-251.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1456.5" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1456.5" y="-221.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1456.5" y="-206.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5179 -->
<g id="edge22" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1260.7,-554.85C1280,-542.92 1300.1,-527.07 1313,-507.5 1357.7,-439.76 1308.7,-398.92 1349,-328.5 1361.1,-307.32 1379.6,-288.34 1397.9,-272.96"/>
<polygon fill="#000000" stroke="#000000" points="1400.1685,-275.6263 1405.7,-266.59 1395.7408,-270.2045 1400.1685,-275.6263"/>
</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="1564,-607.5 1349,-607.5 1349,-539.5 1564,-539.5 1564,-607.5"/>
<text text-anchor="middle" x="1456.5" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5255</text>
<text text-anchor="middle" x="1456.5" y="-577.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add the ability to</text>
<text text-anchor="middle" x="1456.5" y="-562.3" font-family="Times,serif" font-size="14.00" fill="#000000">generate Orchard spending</text>
<text text-anchor="middle" x="1456.5" y="-547.3" 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="M1297.2,-578.58C1310.7,-578.15 1324.8,-577.7 1338.8,-577.25"/>
<polygon fill="#000000" stroke="#000000" points="1339.0159,-580.745 1348.9,-576.93 1338.7941,-573.7485 1339.0159,-580.745"/>
</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="1806.5,-744.5 1612.5,-744.5 1612.5,-676.5 1806.5,-676.5 1806.5,-744.5"/>
<text text-anchor="middle" x="1709.5" y="-729.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5256</text>
<text text-anchor="middle" x="1709.5" y="-714.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="1709.5" y="-699.3" font-family="Times,serif" font-size="14.00" fill="#000000">receiver inside Unified</text>
<text text-anchor="middle" x="1709.5" y="-684.3" 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="M1227,-608.23C1252.5,-637.63 1298.1,-683.26 1349,-702.5 1430,-733.1 1528.6,-732.98 1602.2,-726.4"/>
<polygon fill="#000000" stroke="#000000" points="1602.8722,-729.8523 1612.5,-725.43 1602.2159,-722.8831 1602.8722,-729.8523"/>
</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="1819,-251.5 1600,-251.5 1600,-213.5 1819,-213.5 1819,-251.5"/>
<text text-anchor="middle" x="1709.5" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1709.5" y="-221.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC: z_getnewaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5178 -->
<g id="edge25" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1557.6,-232.5C1568.1,-232.5 1578.9,-232.5 1589.6,-232.5"/>
<polygon fill="#000000" stroke="#000000" points="1589.9,-236.0001 1599.9,-232.5 1589.9,-229.0001 1589.9,-236.0001"/>
</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="#c2e0c6" stroke="#000000" points="1803,-195 1616,-195 1616,-142 1803,-142 1803,-195"/>
<text text-anchor="middle" x="1709.5" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1709.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1709.5" y="-149.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaddress</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5182 -->
<g id="edge26" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1557.6,-206.93C1573.5,-202.89 1590.1,-198.71 1606.1,-194.66"/>
<polygon fill="#000000" stroke="#000000" points="1607.1613,-198.0019 1616,-192.16 1605.4474,-191.215 1607.1613,-198.0019"/>
</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="1804,-337.5 1615,-337.5 1615,-269.5 1804,-269.5 1804,-337.5"/>
<text text-anchor="middle" x="1709.5" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1709.5" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1709.5" y="-292.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1709.5" y="-277.3" font-family="Times,serif" font-size="14.00" fill="#000000">account</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5185 -->
<g id="edge27" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1557.6,-260.87C1573.2,-265.25 1589.4,-269.78 1605,-274.19"/>
<polygon fill="#000000" stroke="#000000" points="1604.1264,-277.58 1614.7,-276.91 1606.0164,-270.8399 1604.1264,-277.58"/>
</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="1803.5,-124 1615.5,-124 1615.5,-71 1803.5,-71 1803.5,-124"/>
<text text-anchor="middle" x="1709.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1709.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1709.5" y="-78.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge28" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1550.4,-198.39C1555.1,-195.34 1559.7,-192.05 1564,-188.5 1586.7,-169.58 1576.5,-150.51 1600,-132.5 1602.1,-130.91 1604.2,-129.38 1606.4,-127.93"/>
<polygon fill="#000000" stroke="#000000" points="1608.4854,-130.7625 1615.3,-122.65 1604.9138,-124.7422 1608.4854,-130.7625"/>
</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="1803.5,-53 1615.5,-53 1615.5,0 1803.5,0 1803.5,-53"/>
<text text-anchor="middle" x="1709.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1709.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1709.5" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5183 -->
<g id="edge29" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1553.4,-198.48C1557.2,-195.43 1560.8,-192.11 1564,-188.5 1603.1,-144.75 1559.2,-103.67 1600,-61.5 1602.1,-59.281 1604.4,-57.203 1606.8,-55.256"/>
<polygon fill="#000000" stroke="#000000" points="1609.2864,-57.782 1615.4,-49.129 1605.2247,-52.0809 1609.2864,-57.782"/>
</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="#c2e0c6" stroke="#000000" stroke-width="2" points="1050,-507.5 856,-507.5 856,-439.5 1050,-439.5 1050,-507.5"/>
<text text-anchor="middle" x="953" y="-492.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="953" y="-477.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="953" y="-462.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="953" y="-447.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge30" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1024.1,-507.54C1047.5,-518.41 1073.7,-530.27 1098,-540.5 1106.5,-544.1 1115.5,-547.74 1124.5,-551.28"/>
<polygon fill="#000000" stroke="#000000" points="1123.2129,-554.5347 1133.8,-554.94 1125.7764,-548.021 1123.2129,-554.5347"/>
</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="1299.5,-498.5 1111.5,-498.5 1111.5,-430.5 1299.5,-430.5 1299.5,-498.5"/>
<text text-anchor="middle" x="1205.5" y="-483.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1205.5" y="-468.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1205.5" y="-453.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1205.5" y="-438.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge31" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1050.3,-470.03C1066.8,-469.44 1084.1,-468.83 1100.8,-468.23"/>
<polygon fill="#000000" stroke="#000000" points="1101.3308,-471.7134 1111.2,-467.86 1101.0818,-464.7178 1101.3308,-471.7134"/>
</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="#fad8c7" stroke="#000000" points="1564,-405.5 1349,-405.5 1349,-337.5 1564,-337.5 1564,-405.5"/>
<text text-anchor="middle" x="1456.5" y="-390.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1456.5" y="-375.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1456.5" y="-360.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1456.5" y="-345.3" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge32" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M1297.5,-430.4C1316.2,-423.48 1335.9,-416.17 1354.9,-409.13"/>
<polygon fill="#000000" stroke="#000000" points="1356.3223,-412.3362 1364.5,-405.6 1353.9065,-405.7663 1356.3223,-412.3362"/>
</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="1561.5,-521.5 1351.5,-521.5 1351.5,-423.5 1561.5,-423.5 1561.5,-521.5"/>
<text text-anchor="middle" x="1456.5" y="-506.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#372</text>
<text text-anchor="middle" x="1456.5" y="-491.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1456.5" y="-476.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1456.5" y="-461.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Incoming / Full] Viewing</text>
<text text-anchor="middle" x="1456.5" y="-446.3" font-family="Times,serif" font-size="14.00" fill="#000000">Keys and Unified Spending</text>
<text text-anchor="middle" x="1456.5" y="-431.3" 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="M1299.7,-467.5C1313.2,-467.93 1327.3,-468.38 1341.2,-468.82"/>
<polygon fill="#000000" stroke="#000000" points="1341.191,-472.3215 1351.3,-469.15 1341.4197,-465.3252 1341.191,-472.3215"/>
</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="M1555.8,-405.73C1558.7,-408.44 1561.5,-411.35 1564,-414.5 1629,-496.15 1541.3,-560.26 1600,-646.5 1606.1,-655.49 1614,-663.39 1622.6,-670.29"/>
<polygon fill="#000000" stroke="#000000" points="1620.6776,-673.2214 1630.8,-676.35 1624.838,-667.5918 1620.6776,-673.2214"/>
</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="M1492,-337.27C1519.5,-312.59 1559.5,-280.27 1600,-260.5 1604,-258.56 1608.1,-256.74 1612.3,-255.04"/>
<polygon fill="#000000" stroke="#000000" points="1613.5688,-258.3022 1621.7,-251.51 1611.1079,-251.7491 1613.5688,-258.3022"/>
</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="M1501.9,-337.41C1522.6,-320.38 1546.3,-298.51 1564,-275.5 1585.6,-247.45 1573.2,-227.55 1600,-204.5 1602.3,-202.54 1604.7,-200.69 1607.1,-198.94"/>
<polygon fill="#000000" stroke="#000000" points="1609.3222,-201.6757 1615.9,-193.37 1605.5784,-195.7609 1609.3222,-201.6757"/>
</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="M1564.2,-342.56C1577.7,-338.93 1591.5,-335.21 1605,-331.59"/>
<polygon fill="#000000" stroke="#000000" points="1605.9586,-334.9566 1614.7,-328.97 1604.1333,-328.1987 1605.9586,-334.9566"/>
</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" stroke-width="2" points="1794.5,-409 1624.5,-409 1624.5,-356 1794.5,-356 1794.5,-409"/>
<text text-anchor="middle" x="1709.5" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1709.5" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1709.5" y="-363.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5181 -->
<g id="edge38" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M1564.2,-376.18C1580.8,-376.9 1597.8,-377.64 1614.1,-378.35"/>
<polygon fill="#000000" stroke="#000000" points="1613.9558,-381.8469 1624.1,-378.79 1614.2636,-374.8537 1613.9558,-381.8469"/>
</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" stroke-width="2" points="1809.5,-551 1609.5,-551 1609.5,-498 1809.5,-498 1809.5,-551"/>
<text text-anchor="middle" x="1709.5" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1709.5" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1709.5" y="-505.8" font-family="Times,serif" font-size="14.00" fill="#000000">recipients to z_sendmany</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5184 -->
<g id="edge39" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M1553.1,-405.7C1557,-408.42 1560.6,-411.35 1564,-414.5 1590.8,-439.41 1572.5,-464.44 1600,-488.5 1601.5,-489.81 1603,-491.07 1604.6,-492.28"/>
<polygon fill="#000000" stroke="#000000" points="1602.6776,-495.2057 1612.9,-497.99 1606.6451,-489.4386 1602.6776,-495.2057"/>
</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" stroke-width="2" points="1794,-480 1625,-480 1625,-427 1794,-427 1794,-480"/>
<text text-anchor="middle" x="1709.5" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1709.5" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1709.5" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">error if given a UA</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5191 -->
<g id="edge40" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5191</title>
<path fill="none" stroke="#000000" d="M1561.6,-405.56C1580.2,-411.61 1599.5,-417.85 1617.8,-423.77"/>
<polygon fill="#000000" stroke="#000000" points="1616.9079,-427.1602 1627.5,-426.92 1619.07,-420.5024 1616.9079,-427.1602"/>
</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="1816.5,-637.5 1602.5,-637.5 1602.5,-569.5 1816.5,-569.5 1816.5,-637.5"/>
<text text-anchor="middle" x="1709.5" y="-622.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5257</text>
<text text-anchor="middle" x="1709.5" y="-607.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Viewing</text>
<text text-anchor="middle" x="1709.5" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">Key parsing and</text>
<text text-anchor="middle" x="1709.5" y="-577.3" 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="M1554.9,-405.63C1558.2,-408.37 1561.2,-411.32 1564,-414.5 1607.6,-464.56 1556.4,-509.41 1600,-559.5 1600.9,-560.5 1601.8,-561.48 1602.7,-562.43"/>
<polygon fill="#000000" stroke="#000000" points="1600.474,-565.1382 1610.2,-569.34 1605.2171,-559.99 1600.474,-565.1382"/>
</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="M1550.1,-521.61C1554.8,-524.54 1559.5,-527.51 1564,-530.5 1581.1,-541.87 1582.3,-549.11 1600,-559.5 1603.1,-561.29 1606.2,-563.04 1609.4,-564.74"/>
<polygon fill="#000000" stroke="#000000" points="1608.1012,-568.0064 1618.6,-569.43 1611.2805,-561.77 1608.1012,-568.0064"/>
</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="#c2e0c6" stroke="#000000" stroke-width="2" points="1039,-598 867,-598 867,-545 1039,-545 1039,-598"/>
<text text-anchor="middle" x="953" y="-582.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="953" y="-567.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="953" y="-552.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge43" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1039.2,-574.91C1059.9,-575.73 1082.2,-576.62 1103.6,-577.46"/>
<polygon fill="#000000" stroke="#000000" points="1103.5693,-580.9614 1113.7,-577.86 1103.8464,-573.9669 1103.5693,-580.9614"/>
</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,-1209 52.5,-1209 52.5,-1205 48.5,-1205 48.5,-1201 52.5,-1201 52.5,-1164 48.5,-1164 48.5,-1160 52.5,-1160 52.5,-1156 252.5,-1156 252.5,-1209"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1205 56.5,-1205 56.5,-1201 52.5,-1201 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1164 56.5,-1164 56.5,-1160 52.5,-1160 "/>
<text text-anchor="middle" x="152.5" y="-1193.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1178.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="152.5" y="-1163.8" 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,-1222 348,-1222 348,-1218 344,-1218 344,-1214 348,-1214 348,-1177 344,-1177 344,-1173 348,-1173 348,-1169 560,-1169 560,-1222"/>
<polyline fill="none" stroke="#000000" points="348,-1218 352,-1218 352,-1214 348,-1214 "/>
<polyline fill="none" stroke="#000000" points="348,-1177 352,-1177 352,-1173 348,-1173 "/>
<text text-anchor="middle" x="454" y="-1206.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1191.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1176.8" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge44" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M252.9,-1186.8C280.05,-1188 309.67,-1189.3 337.63,-1190.5"/>
<polygon fill="#000000" stroke="#000000" points="337.7106,-1194.0058 347.84,-1190.9 337.9847,-1187.0111 337.7106,-1194.0058"/>
</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="801,-1154.5 610,-1154.5 610,-1150.5 606,-1150.5 606,-1146.5 610,-1146.5 610,-1094.5 606,-1094.5 606,-1090.5 610,-1090.5 610,-1086.5 801,-1086.5 801,-1154.5"/>
<polyline fill="none" stroke="#000000" points="610,-1150.5 614,-1150.5 614,-1146.5 610,-1146.5 "/>
<polyline fill="none" stroke="#000000" points="610,-1094.5 614,-1094.5 614,-1090.5 610,-1090.5 "/>
<text text-anchor="middle" x="705.5" y="-1139.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="705.5" y="-1124.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="705.5" y="-1109.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="705.5" y="-1094.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge45" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M252.74,-1170C281.25,-1166.5 312.34,-1162.8 341,-1159.5 428.11,-1149.5 527.03,-1139 599.82,-1131.4"/>
<polygon fill="#000000" stroke="#000000" points="600.3482,-1134.8632 609.91,-1130.3 599.5896,-1127.9045 600.3482,-1134.8632"/>
</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="792.5,-1256 618.5,-1256 618.5,-1252 614.5,-1252 614.5,-1248 618.5,-1248 618.5,-1181 614.5,-1181 614.5,-1177 618.5,-1177 618.5,-1173 792.5,-1173 792.5,-1256"/>
<polyline fill="none" stroke="#000000" points="618.5,-1252 622.5,-1252 622.5,-1248 618.5,-1248 "/>
<polyline fill="none" stroke="#000000" points="618.5,-1181 622.5,-1181 622.5,-1177 618.5,-1177 "/>
<text text-anchor="middle" x="705.5" y="-1240.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="705.5" y="-1225.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="705.5" y="-1210.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="705.5" y="-1195.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="705.5" y="-1180.8" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge46" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M560.29,-1203.5C576.13,-1204.7 592.39,-1206 608.03,-1207.1"/>
<polygon fill="#000000" stroke="#000000" points="607.9665,-1210.6057 618.21,-1207.9 608.515,-1203.6272 607.9665,-1210.6057"/>
</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="1062,-1186.5 844,-1186.5 844,-1182.5 840,-1182.5 840,-1178.5 844,-1178.5 844,-1156.5 840,-1156.5 840,-1152.5 844,-1152.5 844,-1148.5 1062,-1148.5 1062,-1186.5"/>
<polyline fill="none" stroke="#000000" points="844,-1182.5 848,-1182.5 848,-1178.5 844,-1178.5 "/>
<polyline fill="none" stroke="#000000" points="844,-1156.5 848,-1156.5 848,-1152.5 844,-1152.5 "/>
<text text-anchor="middle" x="953" y="-1171.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="953" y="-1156.3" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge47" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M801.19,-1138.7C814.76,-1141.2 828.81,-1143.9 842.63,-1146.5"/>
<polygon fill="#000000" stroke="#000000" points="842.173,-1149.9756 852.65,-1148.4 843.4772,-1143.0982 842.173,-1149.9756"/>
</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="M792.76,-1197.9C808.78,-1194.9 825.7,-1191.7 842.3,-1188.5"/>
<polygon fill="#000000" stroke="#000000" points="843.3827,-1191.8593 852.58,-1186.6 842.1104,-1184.9758 843.3827,-1191.8593"/>
</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="1300,-1201.5 1111,-1201.5 1111,-1197.5 1107,-1197.5 1107,-1193.5 1111,-1193.5 1111,-1141.5 1107,-1141.5 1107,-1137.5 1111,-1137.5 1111,-1133.5 1300,-1133.5 1300,-1201.5"/>
<polyline fill="none" stroke="#000000" points="1111,-1197.5 1115,-1197.5 1115,-1193.5 1111,-1193.5 "/>
<polyline fill="none" stroke="#000000" points="1111,-1141.5 1115,-1141.5 1115,-1137.5 1111,-1137.5 "/>
<text text-anchor="middle" x="1205.5" y="-1186.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1205.5" y="-1171.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1205.5" y="-1156.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1205.5" y="-1141.3" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge49" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1062.3,-1167.5C1075,-1167.5 1088,-1167.5 1100.6,-1167.5"/>
<polygon fill="#000000" stroke="#000000" points="1100.7,-1171.0001 1110.7,-1167.5 1100.7,-1164.0001 1100.7,-1171.0001"/>
</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,-1312.5 56,-1312.5 56,-1308.5 52,-1308.5 52,-1304.5 56,-1304.5 56,-1282.5 52,-1282.5 52,-1278.5 56,-1278.5 56,-1274.5 249,-1274.5 249,-1312.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1308.5 60,-1308.5 60,-1304.5 56,-1304.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1282.5 60,-1282.5 60,-1278.5 56,-1278.5 "/>
<text text-anchor="middle" x="152.5" y="-1297.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050 -->
<g id="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,-1312.5 357.5,-1312.5 357.5,-1308.5 353.5,-1308.5 353.5,-1304.5 357.5,-1304.5 357.5,-1282.5 353.5,-1282.5 353.5,-1278.5 357.5,-1278.5 357.5,-1274.5 550.5,-1274.5 550.5,-1312.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1308.5 361.5,-1308.5 361.5,-1304.5 357.5,-1304.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1282.5 361.5,-1282.5 361.5,-1278.5 357.5,-1278.5 "/>
<text text-anchor="middle" x="454" y="-1297.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge50" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1293.5C280.38,-1293.5 315.19,-1293.5 347.13,-1293.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1297.0001 357.39,-1293.5 347.39,-1290.0001 347.39,-1297.0001"/>
</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="802,-1312.5 609,-1312.5 609,-1308.5 605,-1308.5 605,-1304.5 609,-1304.5 609,-1282.5 605,-1282.5 605,-1278.5 609,-1278.5 609,-1274.5 802,-1274.5 802,-1312.5"/>
<polyline fill="none" stroke="#000000" points="609,-1308.5 613,-1308.5 613,-1304.5 609,-1304.5 "/>
<polyline fill="none" stroke="#000000" points="609,-1282.5 613,-1282.5 613,-1278.5 609,-1278.5 "/>
<text text-anchor="middle" x="705.5" y="-1297.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="705.5" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge51" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.52,-1293.5C566.2,-1293.5 582.52,-1293.5 598.44,-1293.5"/>
<polygon fill="#000000" stroke="#000000" points="598.83,-1297.0001 608.83,-1293.5 598.83,-1290.0001 598.83,-1297.0001"/>
</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="1045.5,-393 860.5,-393 860.5,-340 1045.5,-340 1045.5,-393"/>
<text text-anchor="middle" x="953" y="-377.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="953" y="-362.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="953" y="-347.8" 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="M1012.9,-393.1C1030.3,-402.97 1048.3,-415.49 1062,-430.5 1087.4,-458.43 1068,-484.51 1098,-507.5 1175,-566.55 1217.6,-527.76 1313,-545.5 1321.4,-547.07 1330.1,-548.71 1338.9,-550.38"/>
<polygon fill="#000000" stroke="#000000" points="1338.321,-553.8326 1348.8,-552.27 1339.6338,-546.9568 1338.321,-553.8326"/>
</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="1306.5,-323.5 1104.5,-323.5 1104.5,-255.5 1306.5,-255.5 1306.5,-323.5"/>
<text text-anchor="middle" x="1205.5" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1205.5" y="-293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1205.5" y="-278.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1205.5" y="-263.3" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge53" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1040.2,-339.89C1057.8,-334.55 1076.4,-328.87 1094.6,-323.32"/>
<polygon fill="#000000" stroke="#000000" points="1095.8508,-326.598 1104.4,-320.34 1093.8143,-319.9007 1095.8508,-326.598"/>
</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="M1306.5,-266.56C1319.3,-263.65 1332.5,-260.66 1345.4,-257.72"/>
<polygon fill="#000000" stroke="#000000" points="1346.319,-261.1006 1355.3,-255.48 1344.7741,-254.2732 1346.319,-261.1006"/>
</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="808,-393 603,-393 603,-340 808,-340 808,-393"/>
<text text-anchor="middle" x="705.5" y="-377.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="705.5" y="-362.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="705.5" y="-347.8" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge55" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M808.31,-366.5C822.21,-366.5 836.46,-366.5 850.35,-366.5"/>
<polygon fill="#000000" stroke="#000000" points="850.39,-370.0001 860.39,-366.5 850.39,-363.0001 850.39,-370.0001"/>
</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,-1384 61.5,-1384 61.5,-1331 243.5,-1331 243.5,-1384"/>
<text text-anchor="middle" x="152.5" y="-1368.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1353.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1338.8" 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="#c2e0c6" stroke="#000000" stroke-width="2" points="1313,-227.5 1098,-227.5 1098,-159.5 1313,-159.5 1313,-227.5"/>
<text text-anchor="middle" x="1205.5" y="-212.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1205.5" y="-197.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1205.5" y="-182.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1205.5" y="-167.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge56" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1313,-210.21C1323.6,-211.85 1334.4,-213.53 1345,-215.18"/>
<polygon fill="#000000" stroke="#000000" points="1344.681,-218.6724 1355.1,-216.75 1345.7563,-211.7554 1344.681,-218.6724"/>
</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="1564,-180 1349,-180 1349,-127 1564,-127 1564,-180"/>
<text text-anchor="middle" x="1456.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1456.5" y="-149.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1456.5" y="-134.8" font-family="Times,serif" font-size="14.00" fill="#000000">key derivation</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/librustzcash#387 -->
<g id="edge57" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1313,-176.36C1321.6,-175.01 1330.2,-173.63 1338.8,-172.26"/>
<polygon fill="#000000" stroke="#000000" points="1339.4737,-175.6969 1348.8,-170.67 1338.3744,-168.7838 1339.4737,-175.6969"/>
</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,-1455 51,-1455 51,-1402 254,-1402 254,-1455"/>
<text text-anchor="middle" x="152.5" y="-1439.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1424.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1409.8" 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,-1586 54.5,-1586 54.5,-1473 250.5,-1473 250.5,-1586"/>
<text text-anchor="middle" x="152.5" y="-1570.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1555.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1540.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1525.8" font-family="Times,serif" font-size="14.00" fill="#000000">in places where the node</text>
<text text-anchor="middle" x="152.5" y="-1510.8" font-family="Times,serif" font-size="14.00" fill="#000000">needs to commit to a</text>
<text text-anchor="middle" x="152.5" y="-1495.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1480.8" 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,-1672.5 58.5,-1672.5 58.5,-1604.5 246.5,-1604.5 246.5,-1672.5"/>
<text text-anchor="middle" x="152.5" y="-1657.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="152.5" y="-1642.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add RPC test case that</text>
<text text-anchor="middle" x="152.5" y="-1627.3" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="152.5" y="-1612.3" 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="#c2e0c6" stroke="#000000" stroke-width="2" points="561.5,-631.5 346.5,-631.5 346.5,-563.5 561.5,-563.5 561.5,-631.5"/>
<text text-anchor="middle" x="454" y="-616.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#534</text>
<text text-anchor="middle" x="454" y="-601.3" font-family="Times,serif" font-size="14.00" fill="#000000">Adding to a full note</text>
<text text-anchor="middle" x="454" y="-586.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree should be</text>
<text text-anchor="middle" x="454" y="-571.3" 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="804,-646.5 607,-646.5 607,-642.5 603,-642.5 603,-638.5 607,-638.5 607,-556.5 603,-556.5 603,-552.5 607,-552.5 607,-548.5 804,-548.5 804,-646.5"/>
<polyline fill="none" stroke="#000000" points="607,-642.5 611,-642.5 611,-638.5 607,-638.5 "/>
<polyline fill="none" stroke="#000000" points="607,-556.5 611,-556.5 611,-552.5 607,-552.5 "/>
<text text-anchor="middle" x="705.5" y="-631.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5241</text>
<text text-anchor="middle" x="705.5" y="-616.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consensus: Add check to</text>
<text text-anchor="middle" x="705.5" y="-601.3" font-family="Times,serif" font-size="14.00" fill="#000000">ensure that the Orchard</text>
<text text-anchor="middle" x="705.5" y="-586.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree is not</text>
<text text-anchor="middle" x="705.5" y="-571.3" font-family="Times,serif" font-size="14.00" fill="#000000">overfull after</text>
<text text-anchor="middle" x="705.5" y="-556.3" 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.75,-597.5C573.3,-597.5 585.06,-597.5 596.62,-597.5"/>
<polygon fill="#000000" stroke="#000000" points="596.72,-601.0001 606.72,-597.5 596.72,-594.0001 596.72,-601.0001"/>
</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="M804.03,-615.41C820.66,-618.44 837.93,-621.58 854.56,-624.6"/>
<polygon fill="#000000" stroke="#000000" points="854.3545,-628.1201 864.82,-626.47 855.6097,-621.2336 854.3545,-628.1201"/>
</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="#c2e0c6" stroke="#000000" stroke-width="2" points="1061.5,-1044 844.5,-1044 844.5,-931 1061.5,-931 1061.5,-1044"/>
<text text-anchor="middle" x="953" y="-1028.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5245</text>
<text text-anchor="middle" x="953" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement consensus rule</text>
<text text-anchor="middle" x="953" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">that if effectiveVersion</text>
<text text-anchor="middle" x="953" y="-983.8" font-family="Times,serif" font-size="14.00" fill="#000000">≥ 5 and nActionsOrchard &gt;</text>
<text text-anchor="middle" x="953" y="-968.8" font-family="Times,serif" font-size="14.00" fill="#000000">0, at least one of</text>
<text text-anchor="middle" x="953" y="-953.8" font-family="Times,serif" font-size="14.00" fill="#000000">enableSpendsOrchard and</text>
<text text-anchor="middle" x="953" y="-938.8" 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="M1047,-930.9C1082.6,-909.47 1121.9,-885.83 1152.4,-867.44"/>
<polygon fill="#000000" stroke="#000000" points="1154.4258,-870.3062 1161.2,-862.16 1150.8243,-864.3038 1154.4258,-870.3062"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node64" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/36" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#10;Orchard Merkle path test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="305,-849 0,-849 0,-796 305,-796 305,-849"/>
<text text-anchor="middle" x="152.5" y="-833.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</text>
<text text-anchor="middle" x="152.5" y="-818.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-803.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33 -->
<g id="edge61" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M210.03,-795.9C247.04,-779.27 296.38,-757.94 341,-741.5 345.76,-739.75 350.64,-738.01 355.6,-736.29"/>
<polygon fill="#000000" stroke="#000000" points="356.8407,-739.565 365.18,-733.03 354.5856,-732.9382 356.8407,-739.565"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node65" class="node">
<title>zcash/orchard#95</title>
<g id="a_node65"><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,-905 360.5,-905 360.5,-852 547.5,-852 547.5,-905"/>
<text text-anchor="middle" x="454" y="-889.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-874.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-859.8" font-family="Times,serif" font-size="14.00" fill="#000000">validity chip</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95 -->
<g id="edge62" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M295.3,-849.02C313.75,-852.45 332.36,-855.91 350.02,-859.19"/>
<polygon fill="#000000" stroke="#000000" points="349.8289,-862.7143 360.3,-861.1 351.1076,-855.8321 349.8289,-862.7143"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge63" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.65,-878.5C567.6,-878.5 588.71,-878.5 608.77,-878.5"/>
<polygon fill="#000000" stroke="#000000" points="608.84,-882.0001 618.84,-878.5 608.84,-875.0001 608.84,-882.0001"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node66" class="node">
<title>zcash/halo2#75</title>
<g id="a_node66"><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="1042.5,-1787 863.5,-1787 863.5,-1734 1042.5,-1734 1042.5,-1787"/>
<text text-anchor="middle" x="953" y="-1771.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="953" y="-1756.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="953" y="-1741.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node67" class="node">
<title>zcash/halo2#251</title>
<g id="a_node67"><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="1310.5,-1787 1100.5,-1787 1100.5,-1734 1310.5,-1734 1310.5,-1787"/>
<text text-anchor="middle" x="1205.5" y="-1771.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1205.5" y="-1756.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1205.5" y="-1741.8" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge64" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1042.7,-1760.5C1058,-1760.5 1074,-1760.5 1089.8,-1760.5"/>
<polygon fill="#000000" stroke="#000000" points="1090.1,-1764.0001 1100.1,-1760.5 1090.1,-1757.0001 1090.1,-1764.0001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node68" class="node">
<title>zcash/halo2#79</title>
<g id="a_node68"><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="786,-2003 625,-2003 625,-1920 786,-1920 786,-2003"/>
<text text-anchor="middle" x="705.5" y="-1987.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="705.5" y="-1972.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="705.5" y="-1957.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="705.5" y="-1942.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="705.5" y="-1927.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node69" class="node">
<title>zcash/halo2#78</title>
<g id="a_node69"><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,-1995.5 352,-1995.5 352,-1927.5 556,-1927.5 556,-1995.5"/>
<text text-anchor="middle" x="454" y="-1980.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-1965.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-1950.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-1935.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge65" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.29,-1961.5C575.66,-1961.5 595.8,-1961.5 614.78,-1961.5"/>
<polygon fill="#000000" stroke="#000000" points="614.89,-1965.0001 624.89,-1961.5 614.89,-1958.0001 614.89,-1965.0001"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node70" class="node">
<title>zcash/halo2#250</title>
<g id="a_node70"><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="802.5,-1787 608.5,-1787 608.5,-1734 802.5,-1734 802.5,-1787"/>
<text text-anchor="middle" x="705.5" y="-1771.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="705.5" y="-1756.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="705.5" y="-1741.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge66" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M552.61,-1927.4C557.6,-1924.7 562.43,-1921.7 567,-1918.5 615.32,-1884.9 657.75,-1830.9 682.51,-1795.6"/>
<polygon fill="#000000" stroke="#000000" points="685.6408,-1797.2239 688.42,-1787 679.8718,-1793.2593 685.6408,-1797.2239"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge67" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M802.61,-1760.5C819.21,-1760.5 836.48,-1760.5 853.14,-1760.5"/>
<polygon fill="#000000" stroke="#000000" points="853.43,-1764.0001 863.43,-1760.5 853.43,-1757.0001 853.43,-1764.0001"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node71" class="node">
<title>zcash/halo2#57</title>
<g id="a_node71"><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,-1830.5 81,-1830.5 81,-1762.5 224,-1762.5 224,-1830.5"/>
<text text-anchor="middle" x="152.5" y="-1815.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1800.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1785.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1770.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node72" class="node">
<title>zcash/halo2#82</title>
<g id="a_node72"><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,-1932 56,-1932 56,-1849 249,-1849 249,-1932"/>
<text text-anchor="middle" x="152.5" y="-1916.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1901.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1886.8" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="152.5" y="-1871.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1856.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node73" class="node">
<title>zcash/halo2#248</title>
<g id="a_node73"><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,-1909 352.5,-1909 352.5,-1856 555.5,-1856 555.5,-1909"/>
<text text-anchor="middle" x="454" y="-1893.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-1878.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-1863.8" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge68" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M544.21,-1856C552.02,-1853 559.71,-1849.9 567,-1846.5 599.44,-1831.5 633.57,-1810.4 659.83,-1792.9"/>
<polygon fill="#000000" stroke="#000000" points="662.0854,-1795.6001 668.41,-1787.1 658.1652,-1789.8008 662.0854,-1795.6001"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node74" class="node">
<title>zcash/halo2#249</title>
<g id="a_node74"><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,-1837.5 361.5,-1837.5 361.5,-1769.5 546.5,-1769.5 546.5,-1837.5"/>
<text text-anchor="middle" x="454" y="-1822.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-1807.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-1792.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-1777.3" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge69" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.58,-1787.7C563.44,-1784.8 581.15,-1781.8 598.39,-1778.8"/>
<polygon fill="#000000" stroke="#000000" points="599.2005,-1782.2129 608.48,-1777.1 598.0375,-1775.3101 599.2005,-1782.2129"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node75" class="node">
<title>zcash/halo2#246</title>
<g id="a_node75"><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,-1744 63,-1744 63,-1691 242,-1691 242,-1744"/>
<text text-anchor="middle" x="152.5" y="-1728.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-1713.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-1698.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node76" class="node">
<title>zcash/halo2#247</title>
<g id="a_node76"><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,-1751.5 366,-1751.5 366,-1683.5 542,-1683.5 542,-1751.5"/>
<text text-anchor="middle" x="454" y="-1736.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-1721.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-1706.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-1691.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge70" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-1717.5C277.92,-1717.5 319.23,-1717.5 355.81,-1717.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-1721.0001 366,-1717.5 356,-1714.0001 356,-1721.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge71" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.32,-1732.6C560.43,-1735.7 579.69,-1739 598.38,-1742.2"/>
<polygon fill="#000000" stroke="#000000" points="597.9554,-1745.6779 608.4,-1743.9 599.1264,-1738.7765 597.9554,-1745.6779"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node77" class="node">
<title>zcash/halo2#245</title>
<g id="a_node77"><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,-1665.5 351,-1665.5 351,-1597.5 557,-1597.5 557,-1665.5"/>
<text text-anchor="middle" x="454" y="-1650.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-1635.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-1620.3" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="454" y="-1605.3" 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="edge72" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M547.72,-1665.5C554.31,-1668.4 560.79,-1671.4 567,-1674.5 598.68,-1690.2 632.41,-1711 658.65,-1728.3"/>
<polygon fill="#000000" stroke="#000000" points="656.981,-1731.3927 667.25,-1734 660.8482,-1725.558 656.981,-1731.3927"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node78" class="node">
<title>zcash/halo2#210</title>
<g id="a_node78"><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,-1579.5 345,-1579.5 345,-1511.5 563,-1511.5 563,-1579.5"/>
<text text-anchor="middle" x="454" y="-1564.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-1549.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-1534.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-1519.3" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge73" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M553.33,-1579.7C558.08,-1582.4 562.67,-1585.4 567,-1588.5 618.26,-1625.7 661.05,-1686.6 684.95,-1725"/>
<polygon fill="#000000" stroke="#000000" points="682.1277,-1727.0938 690.33,-1733.8 688.1,-1723.4425 682.1277,-1727.0938"/>
</g>
<!-- zcash/halo2#312 -->
<g id="node79" class="node">
<title>zcash/halo2#312</title>
<g id="a_node79"><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,-2003 55,-2003 55,-1950 250,-1950 250,-2003"/>
<text text-anchor="middle" x="152.5" y="-1987.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#312</text>
<text text-anchor="middle" x="152.5" y="-1972.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Book] Document gadget</text>
<text text-anchor="middle" x="152.5" y="-1957.8" font-family="Times,serif" font-size="14.00" fill="#000000">API</text>
</a>
</g>
</g>
</g>
</svg>