developers/zcash-core-dag.svg

1341 lines
95 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1927pt" height="1959pt"
viewBox="0.00 0.00 1927.00 1959.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 1955)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1955 1923,-1955 1923,4 -4,4"/>
<!-- zcash/librustzcash#226 -->
<g id="node1" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/librustzcash/issues/226" xlink:title="zcash/librustzcash#226&#10;Bring in Bolt TZE" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-631.5 58.5,-631.5 58.5,-593.5 246.5,-593.5 246.5,-631.5"/>
<text text-anchor="middle" x="152.5" y="-616.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-601.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,-639 358,-639 358,-586 550,-586 550,-639"/>
<text text-anchor="middle" x="454" y="-623.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-608.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-593.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,-612.5C278.76,-612.5 314.86,-612.5 347.84,-612.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-616.0001 357.96,-612.5 347.96,-609.0001 347.96,-616.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,-730 59.5,-730 59.5,-677 245.5,-677 245.5,-730"/>
<text text-anchor="middle" x="152.5" y="-714.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-699.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-684.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,-811 351,-811 351,-728 557,-728 557,-811"/>
<text text-anchor="middle" x="454" y="-795.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#166</text>
<text text-anchor="middle" x="454" y="-780.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ensure our Poseidon</text>
<text text-anchor="middle" x="454" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">parameters are consistent</text>
<text text-anchor="middle" x="454" y="-750.8" font-family="Times,serif" font-size="14.00" fill="#000000">with the v1.1 reference</text>
<text text-anchor="middle" x="454" y="-735.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="840,-796 671,-796 671,-743 840,-743 840,-796"/>
<text text-anchor="middle" x="755.5" y="-780.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="755.5" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="755.5" y="-750.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.34,-769.5C590.86,-769.5 627.87,-769.5 660.73,-769.5"/>
<polygon fill="#000000" stroke="#000000" points="660.79,-773.0001 670.79,-769.5 660.79,-766.0001 660.79,-773.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="1154.5,-803.5 951.5,-803.5 951.5,-735.5 1154.5,-735.5 1154.5,-803.5"/>
<text text-anchor="middle" x="1053" y="-788.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="1053" y="-773.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1053" y="-758.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="1053" y="-743.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="M840.35,-769.5C871.72,-769.5 907.76,-769.5 941.15,-769.5"/>
<polygon fill="#000000" stroke="#000000" points="941.42,-773.0001 951.42,-769.5 941.42,-766.0001 941.42,-773.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="1411.5,-796 1199.5,-796 1199.5,-743 1411.5,-743 1411.5,-796"/>
<text text-anchor="middle" x="1305.5" y="-780.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1305.5" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1305.5" y="-750.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="M1154.6,-769.5C1166,-769.5 1177.6,-769.5 1189.1,-769.5"/>
<polygon fill="#000000" stroke="#000000" points="1189.1,-773.0001 1199.1,-769.5 1189.1,-766.0001 1189.1,-773.0001"/>
</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,-990.5 57,-990.5 57,-922.5 248,-922.5 248,-990.5"/>
<text text-anchor="middle" x="152.5" y="-975.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5260</text>
<text text-anchor="middle" x="152.5" y="-960.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement network</text>
<text text-anchor="middle" x="152.5" y="-945.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol support for ZIP</text>
<text text-anchor="middle" x="152.5" y="-930.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,-983 354,-983 354,-930 554,-930 554,-983"/>
<text text-anchor="middle" x="454" y="-967.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5261</text>
<text text-anchor="middle" x="454" y="-952.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement handling logic</text>
<text text-anchor="middle" x="454" y="-937.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,-956.5C278.65,-956.5 312.43,-956.5 343.7,-956.5"/>
<polygon fill="#000000" stroke="#000000" points="343.76,-960.0001 353.76,-956.5 343.76,-953.0001 343.76,-960.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="850,-998 661,-998 661,-915 850,-915 850,-998"/>
<text text-anchor="middle" x="755.5" y="-982.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="755.5" y="-967.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="755.5" y="-952.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="755.5" y="-937.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="755.5" y="-922.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.4,-956.5C585.39,-956.5 619.59,-956.5 650.86,-956.5"/>
<polygon fill="#000000" stroke="#000000" points="650.9,-960.0001 660.9,-956.5 650.9,-953.0001 650.9,-960.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="842,-710 669,-710 669,-657 842,-657 842,-710"/>
<text text-anchor="middle" x="755.5" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="755.5" y="-679.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="755.5" y="-664.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="M842.35,-708.61C873.41,-717.59 908.86,-727.83 941.7,-737.33"/>
<polygon fill="#000000" stroke="#000000" points="940.7617,-740.702 951.34,-740.11 942.7014,-733.9761 940.7617,-740.702"/>
</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="1135.5,-631 970.5,-631 970.5,-578 1135.5,-578 1135.5,-631"/>
<text text-anchor="middle" x="1053" y="-615.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="1053" y="-600.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="1053" y="-585.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="M842.35,-660.44C879.43,-650.59 922.75,-639.09 960.43,-629.08"/>
<polygon fill="#000000" stroke="#000000" points="961.6206,-632.3854 970.39,-626.44 959.827,-625.619 961.6206,-632.3854"/>
</g>
<!-- zcash/zcash#5195 -->
<g id="node13" class="node">
<title>zcash/zcash#5195</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/zcash/issues/5195" xlink:title="zcash/zcash#5195&#10;Implement Orchard proof&#10;verification consensus&#10;rule" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1153.5,-717.5 952.5,-717.5 952.5,-649.5 1153.5,-649.5 1153.5,-717.5"/>
<text text-anchor="middle" x="1053" y="-702.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="1053" y="-687.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="1053" y="-672.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="1053" y="-657.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="M842.35,-683.5C873.59,-683.5 909.26,-683.5 942.26,-683.5"/>
<polygon fill="#000000" stroke="#000000" points="942.41,-687.0001 952.41,-683.5 942.41,-680.0001 942.41,-687.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="1399.5,-411 1211.5,-411 1211.5,-358 1399.5,-358 1399.5,-411"/>
<text text-anchor="middle" x="1305.5" y="-395.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1305.5" y="-380.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1305.5" y="-365.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="M1077.4,-577.61C1100.2,-552.05 1134.7,-512.17 1162,-475.5 1179.5,-452.08 1174.9,-438.35 1198,-420.5 1199.8,-419.11 1201.7,-417.77 1203.6,-416.48"/>
<polygon fill="#000000" stroke="#000000" points="1205.5508,-419.3886 1212.2,-411.14 1201.8582,-413.4417 1205.5508,-419.3886"/>
</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="1399.5,-702 1211.5,-702 1211.5,-649 1399.5,-649 1399.5,-702"/>
<text text-anchor="middle" x="1305.5" y="-686.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#406</text>
<text text-anchor="middle" x="1305.5" y="-671.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1305.5" y="-656.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="M1135.7,-627.75C1156.7,-633.67 1179.6,-640.1 1201.6,-646.28"/>
<polygon fill="#000000" stroke="#000000" points="1200.7264,-649.67 1211.3,-649 1202.6164,-642.9299 1200.7264,-649.67"/>
</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="M1153.2,-717.61C1174.6,-724.93 1197.2,-732.61 1218.2,-739.75"/>
<polygon fill="#000000" stroke="#000000" points="1217.1055,-743.0746 1227.7,-742.99 1219.3651,-736.4493 1217.1055,-743.0746"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node16" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/zcash/issues/5023" xlink:title="zcash/zcash#5023&#10;Implement support for&#10;Orchard shielded coinbase&#10;output" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1661,-418.5 1452,-418.5 1452,-350.5 1661,-350.5 1661,-418.5"/>
<text text-anchor="middle" x="1556.5" y="-403.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1556.5" y="-388.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1556.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1556.5" y="-358.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="M1399.7,-384.5C1413.3,-384.5 1427.5,-384.5 1441.5,-384.5"/>
<polygon fill="#000000" stroke="#000000" points="1441.7,-388.0001 1451.7,-384.5 1441.7,-381.0001 1441.7,-388.0001"/>
</g>
<!-- zcash/librustzcash#403 -->
<g id="node17" class="node">
<title>zcash/librustzcash#403</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/librustzcash/issues/403" xlink:title="zcash/librustzcash#403&#10;Add Orchard support to&#10;`zcash_client_backend`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1650.5,-786 1462.5,-786 1462.5,-733 1650.5,-733 1650.5,-786"/>
<text text-anchor="middle" x="1556.5" y="-770.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#403</text>
<text text-anchor="middle" x="1556.5" y="-755.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1556.5" y="-740.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="M1384.9,-702.08C1411.1,-710.85 1440.5,-720.67 1467.4,-729.67"/>
<polygon fill="#000000" stroke="#000000" points="1466.6062,-733.0951 1477.2,-732.95 1468.8279,-726.457 1466.6062,-733.0951"/>
</g>
<!-- zcash/librustzcash#404 -->
<g id="node23" class="node">
<title>zcash/librustzcash#404</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/librustzcash/issues/404" xlink:title="zcash/librustzcash#404&#10;Add Orchard support to&#10;`zcash_client_sqlite`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1903.5,-796 1715.5,-796 1715.5,-743 1903.5,-743 1903.5,-796"/>
<text text-anchor="middle" x="1809.5" y="-780.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#404</text>
<text text-anchor="middle" x="1809.5" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1809.5" y="-750.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="M1650.7,-763.22C1668.4,-763.92 1687,-764.66 1705,-765.37"/>
<polygon fill="#000000" stroke="#000000" points="1705.0705,-768.8754 1715.2,-765.77 1705.3449,-761.8807 1705.0705,-768.8754"/>
</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,-1062 55,-1062 55,-1009 250,-1009 250,-1062"/>
<text text-anchor="middle" x="152.5" y="-1046.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1031.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1016.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,-882 341,-882 341,-829 567,-829 567,-882"/>
<text text-anchor="middle" x="454" y="-866.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-851.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-836.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="841.5,-897 669.5,-897 669.5,-814 841.5,-814 841.5,-897"/>
<text text-anchor="middle" x="755.5" y="-881.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="755.5" y="-866.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="755.5" y="-851.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="755.5" y="-836.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="755.5" y="-821.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.13,-855.5C597.32,-855.5 629.66,-855.5 658.88,-855.5"/>
<polygon fill="#000000" stroke="#000000" points="659.07,-859.0001 669.07,-855.5 659.07,-852.0001 659.07,-859.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="1141,-875 965,-875 965,-822 1141,-822 1141,-875"/>
<text text-anchor="middle" x="1053" y="-859.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="1053" y="-844.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="1053" y="-829.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="M841.55,-853.48C876.92,-852.64 918.08,-851.67 954.64,-850.81"/>
<polygon fill="#000000" stroke="#000000" points="954.9053,-854.3048 964.82,-850.57 954.7403,-847.3068 954.9053,-854.3048"/>
</g>
<!-- zcash/zcash#5240 -->
<g id="node22" class="node">
<title>zcash/zcash#5240</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/zcash/issues/5240" xlink:title="zcash/zcash#5240&#10;Add an Orchard nullifier&#10;test to `coins_tests`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1149,-946 957,-946 957,-893 1149,-893 1149,-946"/>
<text text-anchor="middle" x="1053" y="-930.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5240</text>
<text text-anchor="middle" x="1053" y="-915.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add an Orchard nullifier</text>
<text text-anchor="middle" x="1053" y="-900.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="M841.55,-874.01C874.43,-881.08 912.31,-889.23 946.84,-896.66"/>
<polygon fill="#000000" stroke="#000000" points="946.4472,-900.1556 956.96,-898.84 947.9213,-893.3126 946.4472,-900.1556"/>
</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="M1137.8,-821.97C1161.2,-814.65 1186.8,-806.65 1210.7,-799.16"/>
<polygon fill="#000000" stroke="#000000" points="1212.0036,-802.4194 1220.5,-796.09 1209.911,-795.7395 1212.0036,-802.4194"/>
</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="1397,-313 1214,-313 1214,-260 1397,-260 1397,-313"/>
<text text-anchor="middle" x="1305.5" y="-297.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1305.5" y="-282.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1305.5" y="-267.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="M1373.4,-313.02C1399.9,-323.36 1430.7,-335.4 1459.5,-346.62"/>
<polygon fill="#000000" stroke="#000000" points="1458.5126,-349.9924 1469.1,-350.39 1461.0714,-343.4768 1458.5126,-349.9924"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node25" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/zcash/issues/5020" xlink:title="zcash/zcash#5020&#10;Add Orchard note&#10;detection and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1652.5,-294.5 1460.5,-294.5 1460.5,-226.5 1652.5,-226.5 1652.5,-294.5"/>
<text text-anchor="middle" x="1556.5" y="-279.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1556.5" y="-264.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1556.5" y="-249.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1556.5" y="-234.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="M1397.2,-277C1414.4,-275.22 1432.5,-273.34 1450.1,-271.52"/>
<polygon fill="#000000" stroke="#000000" points="1450.8152,-274.9646 1460.4,-270.45 1450.0918,-268.0021 1450.8152,-274.9646"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node26" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1657.5,-208.5 1455.5,-208.5 1455.5,-140.5 1657.5,-140.5 1657.5,-208.5"/>
<text text-anchor="middle" x="1556.5" y="-193.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1556.5" y="-178.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1556.5" y="-163.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1556.5" y="-148.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="M1358.6,-259.91C1385.5,-246.72 1418.8,-230.8 1449,-217.5 1452.7,-215.88 1456.4,-214.26 1460.2,-212.64"/>
<polygon fill="#000000" stroke="#000000" points="1461.8609,-215.7374 1469.7,-208.61 1459.1272,-209.2932 1461.8609,-215.7374"/>
</g>
<!-- zcash/zcash#5255 -->
<g id="node27" class="node">
<title>zcash/zcash#5255</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/zcash/issues/5255" xlink:title="zcash/zcash#5255&#10;Add the ability to&#10;generate Orchard spending&#10;keys in the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1664,-122.5 1449,-122.5 1449,-54.5 1664,-54.5 1664,-122.5"/>
<text text-anchor="middle" x="1556.5" y="-107.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5255</text>
<text text-anchor="middle" x="1556.5" y="-92.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add the ability to</text>
<text text-anchor="middle" x="1556.5" y="-77.3" font-family="Times,serif" font-size="14.00" fill="#000000">generate Orchard spending</text>
<text text-anchor="middle" x="1556.5" y="-62.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="M1350,-260C1371.1,-245.82 1395.4,-226.88 1413,-205.5 1436.3,-177.27 1422.2,-156.41 1449,-131.5 1450,-130.61 1450.9,-129.75 1451.9,-128.89"/>
<polygon fill="#000000" stroke="#000000" points="1454.1329,-131.5877 1459.9,-122.7 1449.8492,-126.0514 1454.1329,-131.5877"/>
</g>
<!-- zcash/zcash#5256 -->
<g id="node28" class="node">
<title>zcash/zcash#5256</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/zcash/issues/5256" xlink:title="zcash/zcash#5256&#10;Add support for Orchard&#10;receiver inside Unified&#10;Address logic" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1906.5,-424.5 1712.5,-424.5 1712.5,-356.5 1906.5,-356.5 1906.5,-424.5"/>
<text text-anchor="middle" x="1809.5" y="-409.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5256</text>
<text text-anchor="middle" x="1809.5" y="-394.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for Orchard</text>
<text text-anchor="middle" x="1809.5" y="-379.3" font-family="Times,serif" font-size="14.00" fill="#000000">receiver inside Unified</text>
<text text-anchor="middle" x="1809.5" y="-364.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="M1397,-298.71C1486.1,-310.92 1614.8,-329.54 1664,-341.5 1677.9,-344.88 1692.3,-348.99 1706.5,-353.38"/>
<polygon fill="#000000" stroke="#000000" points="1705.7106,-356.8006 1716.3,-356.46 1707.8095,-350.1227 1705.7106,-356.8006"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node29" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1919,-338.5 1700,-338.5 1700,-300.5 1919,-300.5 1919,-338.5"/>
<text text-anchor="middle" x="1809.5" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1809.5" y="-308.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="M1653.1,-208.72C1657,-211.44 1660.6,-214.36 1664,-217.5 1690.6,-242.07 1672,-267.59 1700,-290.5 1702,-292.16 1704.1,-293.73 1706.3,-295.21"/>
<polygon fill="#000000" stroke="#000000" points="1704.7225,-298.3449 1715.1,-300.48 1708.319,-292.3394 1704.7225,-298.3449"/>
</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="1903,-282 1716,-282 1716,-229 1903,-229 1903,-282"/>
<text text-anchor="middle" x="1809.5" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1809.5" y="-251.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-236.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="M1657.6,-206.86C1677.1,-213.12 1697.5,-219.65 1716.8,-225.82"/>
<polygon fill="#000000" stroke="#000000" points="1715.8085,-229.1777 1726.4,-228.91 1717.9534,-222.5143 1715.8085,-229.1777"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node31" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node31"><a xlink:href="https://github.com/zcash/zcash/issues/5185" xlink:title="zcash/zcash#5185&#10;Add support for funding&#10;z_sendmany from a UA&#10;account" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1904,-210.5 1715,-210.5 1715,-142.5 1904,-142.5 1904,-210.5"/>
<text text-anchor="middle" x="1809.5" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1809.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1809.5" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1809.5" y="-150.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="M1657.6,-175.3C1673.1,-175.42 1689,-175.55 1704.6,-175.67"/>
<polygon fill="#000000" stroke="#000000" points="1704.6726,-179.1706 1714.7,-175.75 1704.7281,-172.1708 1704.6726,-179.1706"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node32" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node32"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1903.5,-53 1715.5,-53 1715.5,0 1903.5,0 1903.5,-53"/>
<text text-anchor="middle" x="1809.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1809.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-7.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="M1652.8,-140.39C1656.7,-137.64 1660.5,-134.68 1664,-131.5 1689.9,-107.96 1673.3,-84.106 1700,-61.5 1702.1,-59.751 1704.2,-58.089 1706.4,-56.51"/>
<polygon fill="#000000" stroke="#000000" points="1708.8179,-59.1222 1715.4,-50.82 1705.0772,-53.2055 1708.8179,-59.1222"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node33" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/zcash/issues/5183" xlink:title="zcash/zcash#5183&#10;New RPC:&#10;z_getbalanceforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1903.5,-124 1715.5,-124 1715.5,-71 1903.5,-71 1903.5,-124"/>
<text text-anchor="middle" x="1809.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1809.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-78.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="M1657.6,-143.74C1675.6,-138.26 1694.3,-132.56 1712.2,-127.12"/>
<polygon fill="#000000" stroke="#000000" points="1713.4625,-130.3939 1722,-124.12 1711.4135,-123.7005 1713.4625,-130.3939"/>
</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="1150,-466.5 956,-466.5 956,-398.5 1150,-398.5 1150,-466.5"/>
<text text-anchor="middle" x="1053" y="-451.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="1053" y="-436.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="1053" y="-421.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="1053" y="-406.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="M1111.9,-398.35C1138.2,-383.08 1169.7,-364.88 1198,-348.5 1215.2,-338.58 1233.9,-327.79 1250.8,-318.03"/>
<polygon fill="#000000" stroke="#000000" points="1252.5739,-321.0474 1259.5,-313.03 1249.0858,-314.9783 1252.5739,-321.0474"/>
</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="#fad8c7" stroke="#000000" points="1399.5,-583.5 1211.5,-583.5 1211.5,-515.5 1399.5,-515.5 1399.5,-583.5"/>
<text text-anchor="middle" x="1305.5" y="-568.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1305.5" y="-553.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1305.5" y="-538.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1305.5" y="-523.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="M1116.6,-466.56C1141.7,-479.58 1171,-494.23 1198,-506.5 1201.6,-508.14 1205.3,-509.77 1209,-511.41"/>
<polygon fill="#000000" stroke="#000000" points="1207.8299,-514.7164 1218.4,-515.44 1210.5882,-508.2827 1207.8299,-514.7164"/>
</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="1664,-576.5 1449,-576.5 1449,-508.5 1664,-508.5 1664,-576.5"/>
<text text-anchor="middle" x="1556.5" y="-561.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1556.5" y="-546.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1556.5" y="-531.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1556.5" y="-516.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="M1399.7,-546.87C1412.3,-546.52 1425.4,-546.16 1438.3,-545.8"/>
<polygon fill="#000000" stroke="#000000" points="1438.8015,-549.2875 1448.7,-545.51 1438.6063,-542.2902 1438.8015,-549.2875"/>
</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" stroke-width="2" points="1661.5,-707.5 1451.5,-707.5 1451.5,-609.5 1661.5,-609.5 1661.5,-707.5"/>
<text text-anchor="middle" x="1556.5" y="-692.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#372</text>
<text text-anchor="middle" x="1556.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1556.5" y="-662.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1556.5" y="-647.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Incoming / Full] Viewing</text>
<text text-anchor="middle" x="1556.5" y="-632.3" font-family="Times,serif" font-size="14.00" fill="#000000">Keys and Unified Spending</text>
<text text-anchor="middle" x="1556.5" y="-617.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="M1383.9,-583.54C1402.3,-591.52 1422.2,-600.19 1441.8,-608.7"/>
<polygon fill="#000000" stroke="#000000" points="1440.5328,-611.9653 1451.1,-612.73 1443.3161,-605.5424 1440.5328,-611.9653"/>
</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="M1651.2,-508.38C1655.7,-505.34 1660,-502.05 1664,-498.5 1688.7,-476.56 1675.2,-455.27 1700,-433.5 1701.3,-432.34 1702.7,-431.22 1704.1,-430.12"/>
<polygon fill="#000000" stroke="#000000" points="1706.2895,-432.855 1712.3,-424.13 1702.1604,-427.2025 1706.2895,-432.855"/>
</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="M1654.1,-508.26C1657.6,-505.27 1661,-502.02 1664,-498.5 1708.9,-446.1 1651.6,-396.68 1700,-347.5 1700.9,-346.56 1701.9,-345.64 1702.9,-344.76"/>
<polygon fill="#000000" stroke="#000000" points="1705.1082,-347.4761 1710.8,-338.54 1700.7779,-341.9762 1705.1082,-347.4761"/>
</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="M1654.3,-508.48C1657.8,-505.43 1661.1,-502.11 1664,-498.5 1722.5,-425.73 1638.9,-362.15 1700,-291.5 1702.4,-288.77 1704.9,-286.24 1707.7,-283.91"/>
<polygon fill="#000000" stroke="#000000" points="1709.9104,-286.627 1715.8,-277.82 1705.7038,-281.032 1709.9104,-286.627"/>
</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="M1655,-508.24C1658.3,-505.26 1661.3,-502.02 1664,-498.5 1740.2,-399.37 1623.1,-318.08 1700,-219.5 1702.1,-216.76 1704.5,-214.2 1707,-211.8"/>
<polygon fill="#000000" stroke="#000000" points="1709.5574,-214.2192 1714.9,-205.07 1705.018,-208.8906 1709.5574,-214.2192"/>
</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="1894.5,-496 1724.5,-496 1724.5,-443 1894.5,-443 1894.5,-496"/>
<text text-anchor="middle" x="1809.5" y="-480.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1809.5" y="-465.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1809.5" y="-450.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="M1664.2,-511.44C1680.8,-506.65 1697.8,-501.73 1714.1,-497.03"/>
<polygon fill="#000000" stroke="#000000" points="1715.4706,-500.2768 1724.1,-494.13 1713.5208,-493.5538 1715.4706,-500.2768"/>
</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="1909.5,-638 1709.5,-638 1709.5,-585 1909.5,-585 1909.5,-638"/>
<text text-anchor="middle" x="1809.5" y="-622.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1809.5" y="-607.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1809.5" y="-592.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="M1664.2,-571.86C1676.7,-575.28 1689.5,-578.76 1702,-582.18"/>
<polygon fill="#000000" stroke="#000000" points="1701.4319,-585.6526 1712,-584.9 1703.2692,-578.898 1701.4319,-585.6526"/>
</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="1894,-567 1725,-567 1725,-514 1894,-514 1894,-567"/>
<text text-anchor="middle" x="1809.5" y="-551.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1809.5" y="-536.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1809.5" y="-521.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="M1664.2,-541.65C1681,-541.52 1698.3,-541.38 1714.8,-541.25"/>
<polygon fill="#000000" stroke="#000000" points="1714.9281,-544.7492 1724.9,-541.17 1714.8726,-537.7494 1714.9281,-544.7492"/>
</g>
<!-- zcash/zcash#5257 -->
<g id="node41" class="node">
<title>zcash/zcash#5257</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/zcash/issues/5257" xlink:title="zcash/zcash#5257&#10;Implement Unified Viewing&#10;Key parsing and&#10;serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1916.5,-724.5 1702.5,-724.5 1702.5,-656.5 1916.5,-656.5 1916.5,-724.5"/>
<text text-anchor="middle" x="1809.5" y="-709.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5257</text>
<text text-anchor="middle" x="1809.5" y="-694.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Viewing</text>
<text text-anchor="middle" x="1809.5" y="-679.3" font-family="Times,serif" font-size="14.00" fill="#000000">Key parsing and</text>
<text text-anchor="middle" x="1809.5" y="-664.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="M1629.4,-576.5C1641.5,-583.62 1653.5,-591.68 1664,-600.5 1683.8,-617.24 1679.2,-630.9 1700,-646.5 1702.1,-648.06 1704.2,-649.58 1706.4,-651.05"/>
<polygon fill="#000000" stroke="#000000" points="1704.7655,-654.1558 1715.1,-656.49 1708.4767,-648.2206 1704.7655,-654.1558"/>
</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="M1661.6,-671.79C1671.7,-673.07 1681.9,-674.37 1692.1,-675.66"/>
<polygon fill="#000000" stroke="#000000" points="1691.942,-679.1675 1702.3,-676.94 1692.8136,-672.222 1691.942,-679.1675"/>
</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" points="1139,-313 967,-313 967,-260 1139,-260 1139,-313"/>
<text text-anchor="middle" x="1053" y="-297.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="1053" y="-282.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="1053" y="-267.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="M1139.2,-286.5C1159.9,-286.5 1182.2,-286.5 1203.6,-286.5"/>
<polygon fill="#000000" stroke="#000000" points="1203.7,-290.0001 1213.7,-286.5 1203.7,-283.0001 1203.7,-290.0001"/>
</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,-1133 52.5,-1133 52.5,-1129 48.5,-1129 48.5,-1125 52.5,-1125 52.5,-1088 48.5,-1088 48.5,-1084 52.5,-1084 52.5,-1080 252.5,-1080 252.5,-1133"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1129 56.5,-1129 56.5,-1125 52.5,-1125 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1088 56.5,-1088 56.5,-1084 52.5,-1084 "/>
<text text-anchor="middle" x="152.5" y="-1117.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1102.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="-1087.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,-1170 348,-1170 348,-1166 344,-1166 344,-1162 348,-1162 348,-1125 344,-1125 344,-1121 348,-1121 348,-1117 560,-1117 560,-1170"/>
<polyline fill="none" stroke="#000000" points="348,-1166 352,-1166 352,-1162 348,-1162 "/>
<polyline fill="none" stroke="#000000" points="348,-1125 352,-1125 352,-1121 348,-1121 "/>
<text text-anchor="middle" x="454" y="-1154.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1139.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1124.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,-1118.8C280.05,-1122.2 309.67,-1125.8 337.63,-1129.2"/>
<polygon fill="#000000" stroke="#000000" points="337.478,-1132.7088 347.84,-1130.5 338.3622,-1125.7649 337.478,-1132.7088"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node45" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="851,-1102.5 660,-1102.5 660,-1098.5 656,-1098.5 656,-1094.5 660,-1094.5 660,-1042.5 656,-1042.5 656,-1038.5 660,-1038.5 660,-1034.5 851,-1034.5 851,-1102.5"/>
<polyline fill="none" stroke="#000000" points="660,-1098.5 664,-1098.5 664,-1094.5 660,-1094.5 "/>
<polyline fill="none" stroke="#000000" points="660,-1042.5 664,-1042.5 664,-1038.5 660,-1038.5 "/>
<text text-anchor="middle" x="755.5" y="-1087.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="755.5" y="-1072.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="755.5" y="-1057.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="755.5" y="-1042.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.75,-1100.2C362.52,-1093.3 537.78,-1082.2 649.7,-1075.2"/>
<polygon fill="#000000" stroke="#000000" points="650.2506,-1078.6707 659.99,-1074.5 649.7755,-1071.6869 650.2506,-1078.6707"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node46" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="842.5,-1204 668.5,-1204 668.5,-1200 664.5,-1200 664.5,-1196 668.5,-1196 668.5,-1129 664.5,-1129 664.5,-1125 668.5,-1125 668.5,-1121 842.5,-1121 842.5,-1204"/>
<polyline fill="none" stroke="#000000" points="668.5,-1200 672.5,-1200 672.5,-1196 668.5,-1196 "/>
<polyline fill="none" stroke="#000000" points="668.5,-1129 672.5,-1129 672.5,-1125 668.5,-1125 "/>
<text text-anchor="middle" x="755.5" y="-1188.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="755.5" y="-1173.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="755.5" y="-1158.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="755.5" y="-1143.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="755.5" y="-1128.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.3,-1150.2C592.12,-1152.2 626.84,-1154.4 658.06,-1156.4"/>
<polygon fill="#000000" stroke="#000000" points="657.8785,-1159.8953 668.07,-1157 658.2974,-1152.9078 657.8785,-1159.8953"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node47" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1162,-1134.5 944,-1134.5 944,-1130.5 940,-1130.5 940,-1126.5 944,-1126.5 944,-1104.5 940,-1104.5 940,-1100.5 944,-1100.5 944,-1096.5 1162,-1096.5 1162,-1134.5"/>
<polyline fill="none" stroke="#000000" points="944,-1130.5 948,-1130.5 948,-1126.5 944,-1126.5 "/>
<polyline fill="none" stroke="#000000" points="944,-1104.5 948,-1104.5 948,-1100.5 944,-1100.5 "/>
<text text-anchor="middle" x="1053" y="-1119.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1053" y="-1104.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="M851.27,-1083.6C877.59,-1087.8 906.46,-1092.3 933.92,-1096.7"/>
<polygon fill="#000000" stroke="#000000" points="933.5441,-1100.1841 943.97,-1098.3 934.6447,-1093.2712 933.5441,-1100.1841"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge48" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M842.75,-1148.7C871.17,-1144.2 903.23,-1139.2 933.58,-1134.4"/>
<polygon fill="#000000" stroke="#000000" points="934.471,-1137.8033 943.81,-1132.8 933.3892,-1130.8874 934.471,-1137.8033"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node48" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node48"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1400,-1149.5 1211,-1149.5 1211,-1145.5 1207,-1145.5 1207,-1141.5 1211,-1141.5 1211,-1089.5 1207,-1089.5 1207,-1085.5 1211,-1085.5 1211,-1081.5 1400,-1081.5 1400,-1149.5"/>
<polyline fill="none" stroke="#000000" points="1211,-1145.5 1215,-1145.5 1215,-1141.5 1211,-1141.5 "/>
<polyline fill="none" stroke="#000000" points="1211,-1089.5 1215,-1089.5 1215,-1085.5 1211,-1085.5 "/>
<text text-anchor="middle" x="1305.5" y="-1134.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1305.5" y="-1119.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1305.5" y="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1305.5" y="-1089.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="M1162.3,-1115.5C1175,-1115.5 1188,-1115.5 1200.6,-1115.5"/>
<polygon fill="#000000" stroke="#000000" points="1200.7,-1119.0001 1210.7,-1115.5 1200.7,-1112.0001 1200.7,-1119.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,-1260.5 56,-1260.5 56,-1256.5 52,-1256.5 52,-1252.5 56,-1252.5 56,-1230.5 52,-1230.5 52,-1226.5 56,-1226.5 56,-1222.5 249,-1222.5 249,-1260.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1256.5 60,-1256.5 60,-1252.5 56,-1252.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1230.5 60,-1230.5 60,-1226.5 56,-1226.5 "/>
<text text-anchor="middle" x="152.5" y="-1245.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1230.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,-1260.5 357.5,-1260.5 357.5,-1256.5 353.5,-1256.5 353.5,-1252.5 357.5,-1252.5 357.5,-1230.5 353.5,-1230.5 353.5,-1226.5 357.5,-1226.5 357.5,-1222.5 550.5,-1222.5 550.5,-1260.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1256.5 361.5,-1256.5 361.5,-1252.5 357.5,-1252.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1230.5 361.5,-1230.5 361.5,-1226.5 357.5,-1226.5 "/>
<text text-anchor="middle" x="454" y="-1245.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1230.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,-1241.5C280.38,-1241.5 315.19,-1241.5 347.13,-1241.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1245.0001 357.39,-1241.5 347.39,-1238.0001 347.39,-1245.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="852,-1260.5 659,-1260.5 659,-1256.5 655,-1256.5 655,-1252.5 659,-1252.5 659,-1230.5 655,-1230.5 655,-1226.5 659,-1226.5 659,-1222.5 852,-1222.5 852,-1260.5"/>
<polyline fill="none" stroke="#000000" points="659,-1256.5 663,-1256.5 663,-1252.5 659,-1252.5 "/>
<polyline fill="none" stroke="#000000" points="659,-1230.5 663,-1230.5 663,-1226.5 659,-1226.5 "/>
<text text-anchor="middle" x="755.5" y="-1245.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="755.5" y="-1230.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.64,-1241.5C581.88,-1241.5 616.69,-1241.5 648.63,-1241.5"/>
<polygon fill="#000000" stroke="#000000" points="648.89,-1245.0001 658.89,-1241.5 648.89,-1238.0001 648.89,-1245.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="1145.5,-155 960.5,-155 960.5,-102 1145.5,-102 1145.5,-155"/>
<text text-anchor="middle" x="1053" y="-139.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="1053" y="-124.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="1053" y="-109.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="M1145.6,-121.14C1228.1,-114.59 1349.1,-104.97 1438.5,-97.874"/>
<polygon fill="#000000" stroke="#000000" points="1439.0081,-101.3448 1448.7,-97.065 1438.4545,-94.3667 1439.0081,-101.3448"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node53" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1406.5,-196.5 1204.5,-196.5 1204.5,-128.5 1406.5,-128.5 1406.5,-196.5"/>
<text text-anchor="middle" x="1305.5" y="-181.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1305.5" y="-166.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1305.5" y="-151.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1305.5" y="-136.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="M1145.6,-140.97C1161.4,-143.1 1178.1,-145.34 1194.3,-147.53"/>
<polygon fill="#000000" stroke="#000000" points="1194.0223,-151.0241 1204.4,-148.89 1194.9565,-144.0867 1194.0223,-151.0241"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge54" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1406.5,-167.33C1419.2,-167.94 1432.2,-168.56 1445.1,-169.17"/>
<polygon fill="#000000" stroke="#000000" points="1445.1435,-172.676 1455.3,-169.66 1445.4795,-165.6841 1445.1435,-172.676"/>
</g>
<!-- zcash/zips#364 -->
<g id="node54" class="node">
<title>zcash/zips#364</title>
<g id="a_node54"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="858,-155 653,-155 653,-102 858,-102 858,-155"/>
<text text-anchor="middle" x="755.5" y="-139.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="755.5" y="-124.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="755.5" y="-109.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="M858.3,-128.5C887.9,-128.5 920.18,-128.5 949.8,-128.5"/>
<polygon fill="#000000" stroke="#000000" points="950.16,-132.0001 960.16,-128.5 950.16,-125.0001 950.16,-132.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,-1332 61.5,-1332 61.5,-1279 243.5,-1279 243.5,-1332"/>
<text text-anchor="middle" x="152.5" y="-1316.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1301.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1286.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="1413,-497.5 1198,-497.5 1198,-429.5 1413,-429.5 1413,-497.5"/>
<text text-anchor="middle" x="1305.5" y="-482.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1305.5" y="-467.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1305.5" y="-452.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1305.5" y="-437.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="M1403.3,-429.47C1406.8,-426.42 1410.1,-423.11 1413,-419.5 1470.3,-348.55 1391.4,-288.22 1449,-217.5 1449.4,-217.01 1449.8,-216.53 1450.2,-216.06"/>
<polygon fill="#000000" stroke="#000000" points="1452.8038,-218.4035 1457.3,-208.81 1447.8026,-213.5057 1452.8038,-218.4035"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node57" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/librustzcash/issues/387" xlink:title="zcash/librustzcash#387&#10;Implement Unified Address&#10;key derivation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1664,-490 1449,-490 1449,-437 1664,-437 1664,-490"/>
<text text-anchor="middle" x="1556.5" y="-474.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1556.5" y="-459.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1556.5" y="-444.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="M1413,-463.5C1421.6,-463.5 1430.2,-463.5 1438.8,-463.5"/>
<polygon fill="#000000" stroke="#000000" points="1438.8,-467.0001 1448.8,-463.5 1438.8,-460.0001 1438.8,-467.0001"/>
</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,-1403 51,-1403 51,-1350 254,-1350 254,-1403"/>
<text text-anchor="middle" x="152.5" y="-1387.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1372.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1357.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,-1534 54.5,-1534 54.5,-1421 250.5,-1421 250.5,-1534"/>
<text text-anchor="middle" x="152.5" y="-1518.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1503.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1488.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1473.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="-1458.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="-1443.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1428.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,-1620.5 58.5,-1620.5 58.5,-1552.5 246.5,-1552.5 246.5,-1620.5"/>
<text text-anchor="middle" x="152.5" y="-1605.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5223</text>
<text text-anchor="middle" x="152.5" y="-1590.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="-1575.3" font-family="Times,serif" font-size="14.00" fill="#000000">checks the auth data</text>
<text text-anchor="middle" x="152.5" y="-1560.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitments for v4 txs</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#41 -->
<g id="node61" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#41</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/41" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#41&#10;Orchard ZIP32 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="908,-313 603,-313 603,-260 908,-260 908,-313"/>
<text text-anchor="middle" x="755.5" y="-297.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#41</text>
<text text-anchor="middle" x="755.5" y="-282.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard ZIP32 test</text>
<text text-anchor="middle" x="755.5" y="-267.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#41&#45;&gt;zcash/orchard#30 -->
<g id="edge58" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#41&#45;&gt;zcash/orchard#30</title>
<path fill="none" stroke="#000000" d="M908.17,-286.5C924.67,-286.5 941.11,-286.5 956.67,-286.5"/>
<polygon fill="#000000" stroke="#000000" points="956.76,-290.0001 966.76,-286.5 956.76,-283.0001 956.76,-290.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node62" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node62"><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,-828 0,-828 0,-775 305,-775 305,-828"/>
<text text-anchor="middle" x="152.5" y="-812.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="-797.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-782.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="edge59" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M300.6,-828.03C310.76,-829.85 320.94,-831.67 330.96,-833.46"/>
<polygon fill="#000000" stroke="#000000" points="330.4396,-836.9224 340.9,-835.24 331.6736,-830.032 330.4396,-836.9224"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node63" class="node">
<title>zcash/orchard#95</title>
<g id="a_node63"><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,-710 360.5,-710 360.5,-657 547.5,-657 547.5,-710"/>
<text text-anchor="middle" x="454" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-679.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-664.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="edge60" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M221.56,-774.93C247.97,-764.27 278.17,-751.44 305,-738.5 321.49,-730.55 324.17,-725.69 341,-718.5 344.88,-716.84 348.86,-715.23 352.91,-713.66"/>
<polygon fill="#000000" stroke="#000000" points="354.3158,-716.8706 362.44,-710.07 351.8481,-710.32 354.3158,-716.8706"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge61" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.74,-683.5C582.91,-683.5 622.92,-683.5 658.39,-683.5"/>
<polygon fill="#000000" stroke="#000000" points="658.75,-687.0001 668.75,-683.5 658.75,-680.0001 658.75,-687.0001"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node64" class="node">
<title>zcash/halo2#75</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1142.5,-1735 963.5,-1735 963.5,-1682 1142.5,-1682 1142.5,-1735"/>
<text text-anchor="middle" x="1053" y="-1719.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1053" y="-1704.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1053" y="-1689.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node65" class="node">
<title>zcash/halo2#251</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1410.5,-1735 1200.5,-1735 1200.5,-1682 1410.5,-1682 1410.5,-1735"/>
<text text-anchor="middle" x="1305.5" y="-1719.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1305.5" y="-1704.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1305.5" y="-1689.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="edge62" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1142.7,-1708.5C1158,-1708.5 1174,-1708.5 1189.8,-1708.5"/>
<polygon fill="#000000" stroke="#000000" points="1190.1,-1712.0001 1200.1,-1708.5 1190.1,-1705.0001 1190.1,-1712.0001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node66" class="node">
<title>zcash/halo2#79</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="836,-1951 675,-1951 675,-1868 836,-1868 836,-1951"/>
<text text-anchor="middle" x="755.5" y="-1935.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="755.5" y="-1920.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="755.5" y="-1905.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="755.5" y="-1890.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="755.5" y="-1875.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node67" class="node">
<title>zcash/halo2#78</title>
<g id="a_node67"><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,-1943.5 352,-1943.5 352,-1875.5 556,-1875.5 556,-1943.5"/>
<text text-anchor="middle" x="454" y="-1928.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-1913.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-1898.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-1883.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="edge63" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.07,-1909.5C591.37,-1909.5 630.65,-1909.5 664.96,-1909.5"/>
<polygon fill="#000000" stroke="#000000" points="664.96,-1913.0001 674.96,-1909.5 664.96,-1906.0001 664.96,-1913.0001"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node68" class="node">
<title>zcash/halo2#250</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="852.5,-1735 658.5,-1735 658.5,-1682 852.5,-1682 852.5,-1735"/>
<text text-anchor="middle" x="755.5" y="-1719.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="755.5" y="-1704.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="755.5" y="-1689.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="edge64" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M550.3,-1875.4C556.05,-1872.6 561.66,-1869.6 567,-1866.5 626.83,-1831.4 686.63,-1777.2 722.35,-1742.3"/>
<polygon fill="#000000" stroke="#000000" points="724.9008,-1744.7007 729.59,-1735.2 719.9996,-1739.7028 724.9008,-1744.7007"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge65" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M852.5,-1708.5C884.63,-1708.5 920.44,-1708.5 952.81,-1708.5"/>
<polygon fill="#000000" stroke="#000000" points="953.19,-1712.0001 963.19,-1708.5 953.19,-1705.0001 953.19,-1712.0001"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node69" class="node">
<title>zcash/halo2#57</title>
<g id="a_node69"><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,-1778.5 81,-1778.5 81,-1710.5 224,-1710.5 224,-1778.5"/>
<text text-anchor="middle" x="152.5" y="-1763.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1748.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1733.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1718.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node70" class="node">
<title>zcash/halo2#82</title>
<g id="a_node70"><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,-1880 56,-1880 56,-1797 249,-1797 249,-1880"/>
<text text-anchor="middle" x="152.5" y="-1864.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1849.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1834.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="-1819.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1804.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node71" class="node">
<title>zcash/halo2#248</title>
<g id="a_node71"><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,-1857 352.5,-1857 352.5,-1804 555.5,-1804 555.5,-1857"/>
<text text-anchor="middle" x="454" y="-1841.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-1826.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-1811.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="edge66" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M541.05,-1803.9C549.86,-1800.9 558.64,-1797.7 567,-1794.5 609.51,-1778.1 656.11,-1756.9 692.34,-1739.6"/>
<polygon fill="#000000" stroke="#000000" points="694.2662,-1742.5594 701.79,-1735.1 691.2566,-1736.2394 694.2662,-1742.5594"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node72" class="node">
<title>zcash/halo2#249</title>
<g id="a_node72"><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,-1785.5 361.5,-1785.5 361.5,-1717.5 546.5,-1717.5 546.5,-1785.5"/>
<text text-anchor="middle" x="454" y="-1770.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-1755.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-1740.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-1725.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="edge67" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.51,-1738.3C578.67,-1733.7 615,-1728.5 648.25,-1723.8"/>
<polygon fill="#000000" stroke="#000000" points="649.0843,-1727.2151 658.47,-1722.3 648.0677,-1720.2893 649.0843,-1727.2151"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node73" class="node">
<title>zcash/halo2#246</title>
<g id="a_node73"><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,-1692 63,-1692 63,-1639 242,-1639 242,-1692"/>
<text text-anchor="middle" x="152.5" y="-1676.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-1661.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-1646.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node74" class="node">
<title>zcash/halo2#247</title>
<g id="a_node74"><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,-1699.5 366,-1699.5 366,-1631.5 542,-1631.5 542,-1699.5"/>
<text text-anchor="middle" x="454" y="-1684.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-1669.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-1654.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-1639.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="edge68" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-1665.5C277.92,-1665.5 319.23,-1665.5 355.81,-1665.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-1669.0001 366,-1665.5 356,-1662.0001 356,-1669.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge69" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.02,-1678.1C575.24,-1682.8 613.41,-1688.2 648.2,-1693.2"/>
<polygon fill="#000000" stroke="#000000" points="647.9971,-1696.7077 658.4,-1694.7 649.0157,-1689.7822 647.9971,-1696.7077"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node75" class="node">
<title>zcash/halo2#245</title>
<g id="a_node75"><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,-1613.5 351,-1613.5 351,-1545.5 557,-1545.5 557,-1613.5"/>
<text text-anchor="middle" x="454" y="-1598.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-1583.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-1568.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="-1553.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="edge70" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M545.17,-1613.6C552.58,-1616.6 559.93,-1619.5 567,-1622.5 608.44,-1639.8 654.29,-1660.7 690.39,-1677.5"/>
<polygon fill="#000000" stroke="#000000" points="689.2971,-1680.8563 699.83,-1682 692.3092,-1674.5375 689.2971,-1680.8563"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node76" class="node">
<title>zcash/halo2#210</title>
<g id="a_node76"><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,-1527.5 345,-1527.5 345,-1459.5 563,-1459.5 563,-1527.5"/>
<text text-anchor="middle" x="454" y="-1512.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-1497.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-1482.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-1467.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="edge71" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M551.04,-1527.6C556.54,-1530.4 561.91,-1533.4 567,-1536.5 629.7,-1575.1 690.43,-1636.1 725.32,-1674.1"/>
<polygon fill="#000000" stroke="#000000" points="723.0356,-1676.788 732.37,-1681.8 728.1985,-1672.0609 723.0356,-1676.788"/>
</g>
<!-- zcash/halo2#312 -->
<g id="node77" class="node">
<title>zcash/halo2#312</title>
<g id="a_node77"><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,-1951 55,-1951 55,-1898 250,-1898 250,-1951"/>
<text text-anchor="middle" x="152.5" y="-1935.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#312</text>
<text text-anchor="middle" x="152.5" y="-1920.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Book] Document gadget</text>
<text text-anchor="middle" x="152.5" y="-1905.8" font-family="Times,serif" font-size="14.00" fill="#000000">API</text>
</a>
</g>
</g>
</g>
</svg>