developers/zcash-core-dag.svg

2236 lines
160 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="2909pt" height="3012pt"
viewBox="0.00 0.00 2909.00 3011.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 3007.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-3007.5 2905,-3007.5 2905,4 -4,4"/>
<!-- zcash/zcash#4506 -->
<g id="node1" class="node">
<title>zcash/zcash#4506</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/zcash/issues/4506" xlink:title="zcash/zcash#4506&#10;TZE: Add transaction&#10;builder support to&#10;librustzcash" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="194,-282 24,-282 24,-214 194,-214 194,-282"/>
<text text-anchor="middle" x="109" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4506</text>
<text text-anchor="middle" x="109" y="-251.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: Add transaction</text>
<text text-anchor="middle" x="109" y="-236.8" font-family="Times,serif" font-size="14.00" fill="#000000">builder support to</text>
<text text-anchor="middle" x="109" y="-221.8" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226 -->
<g id="node2" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node2"><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="448,-188 260,-188 260,-150 448,-150 448,-188"/>
<text text-anchor="middle" x="354" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="354" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/zcash#4506&#45;&gt;zcash/librustzcash#226 -->
<g id="edge1" class="edge">
<title>zcash/zcash#4506&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M194,-220.59C223.8,-210.98 256.87,-200.32 285.17,-191.19"/>
<polygon fill="#000000" stroke="#000000" points="286.5267,-194.4301 294.97,-188.03 284.3784,-187.7679 286.5267,-194.4301"/>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node3" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node3"><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="738.5,-195.5 546.5,-195.5 546.5,-142.5 738.5,-142.5 738.5,-195.5"/>
<text text-anchor="middle" x="642.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="642.5" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="642.5" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge2" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M448.07,-169C476.16,-169 507.16,-169 535.99,-169"/>
<polygon fill="#000000" stroke="#000000" points="536.09,-172.5001 546.09,-169 536.09,-165.5001 536.09,-172.5001"/>
</g>
<!-- zcash/librustzcash#224 -->
<g id="node4" class="node">
<title>zcash/librustzcash#224</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/librustzcash/issues/224" xlink:title="zcash/librustzcash#224&#10;Refactor TZE Rust logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="203.5,-124 14.5,-124 14.5,-86 203.5,-86 203.5,-124"/>
<text text-anchor="middle" x="109" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#224</text>
<text text-anchor="middle" x="109" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor TZE Rust logic</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#224&#45;&gt;zcash/librustzcash#226 -->
<g id="edge3" class="edge">
<title>zcash/librustzcash#224&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M183.48,-124.06C195.04,-127.04 206.85,-130.09 218,-133 235.65,-137.6 254.57,-142.58 272.53,-147.33"/>
<polygon fill="#000000" stroke="#000000" points="271.8273,-150.7645 282.39,-149.94 273.6186,-143.9975 271.8273,-150.7645"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node5" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node5"><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="447,-96.5 261,-96.5 261,-43.5 447,-43.5 447,-96.5"/>
<text text-anchor="middle" x="354" y="-81.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="354" y="-66.3" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="354" y="-51.3" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#224&#45;&gt;zcash/zcash#4190 -->
<g id="edge4" class="edge">
<title>zcash/librustzcash#224&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M203.72,-91.468C219.08,-89.275 235.05,-86.994 250.59,-84.772"/>
<polygon fill="#000000" stroke="#000000" points="251.335,-88.2012 260.74,-83.323 250.3457,-81.2715 251.335,-88.2012"/>
</g>
<!-- zcash/zcash#4877 -->
<g id="node6" class="node">
<title>zcash/zcash#4877</title>
<g id="a_node6"><a xlink:href="https://github.com/zcash/zcash/pull/4877" xlink:title="zcash/zcash#4877&#10;Backport Boost removal&#10;PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="204,-353.5 14,-353.5 14,-349.5 10,-349.5 10,-345.5 14,-345.5 14,-308.5 10,-308.5 10,-304.5 14,-304.5 14,-300.5 204,-300.5 204,-353.5"/>
<polyline fill="none" stroke="#000000" points="14,-349.5 18,-349.5 18,-345.5 14,-345.5 "/>
<polyline fill="none" stroke="#000000" points="14,-308.5 18,-308.5 18,-304.5 14,-304.5 "/>
<text text-anchor="middle" x="109" y="-338.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4877</text>
<text text-anchor="middle" x="109" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport Boost removal</text>
<text text-anchor="middle" x="109" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821 -->
<g id="node7" class="node">
<title>zcash/zcash#4821</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/4821" xlink:title="zcash/zcash#4821&#10;Replace boost::variant&#10;with std::variant" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="442.5,-388.5 265.5,-388.5 265.5,-335.5 442.5,-335.5 442.5,-388.5"/>
<text text-anchor="middle" x="354" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4821</text>
<text text-anchor="middle" x="354" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::variant</text>
<text text-anchor="middle" x="354" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">with std::variant</text>
</a>
</g>
</g>
<!-- zcash/zcash#4877&#45;&gt;zcash/zcash#4821 -->
<g id="edge5" class="edge">
<title>zcash/zcash#4877&#45;&gt;zcash/zcash#4821</title>
<path fill="none" stroke="#000000" d="M204.07,-340.58C220.94,-342.99 238.54,-345.51 255.5,-347.93"/>
<polygon fill="#000000" stroke="#000000" points="255.0064,-351.3949 265.4,-349.34 255.9934,-344.4649 255.0064,-351.3949"/>
</g>
<!-- zcash/zcash#4822 -->
<g id="node8" class="node">
<title>zcash/zcash#4822</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/4822" xlink:title="zcash/zcash#4822&#10;Replace boost::optional&#10;with std::optional" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="446,-317.5 262,-317.5 262,-264.5 446,-264.5 446,-317.5"/>
<text text-anchor="middle" x="354" y="-302.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4822</text>
<text text-anchor="middle" x="354" y="-287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::optional</text>
<text text-anchor="middle" x="354" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">with std::optional</text>
</a>
</g>
</g>
<!-- zcash/zcash#4877&#45;&gt;zcash/zcash#4822 -->
<g id="edge6" class="edge">
<title>zcash/zcash#4877&#45;&gt;zcash/zcash#4822</title>
<path fill="none" stroke="#000000" d="M204.07,-313.03C219.63,-310.74 235.81,-308.37 251.54,-306.06"/>
<polygon fill="#000000" stroke="#000000" points="252.4162,-309.4688 261.8,-304.55 251.3969,-302.5434 252.4162,-309.4688"/>
</g>
<!-- zcash/zcash#4879 -->
<g id="node9" class="node">
<title>zcash/zcash#4879</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/4879" xlink:title="zcash/zcash#4879&#10;Refactor zcashconsensus&#10;library into zcash_script" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="741,-388.5 544,-388.5 544,-335.5 741,-335.5 741,-388.5"/>
<text text-anchor="middle" x="642.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4879</text>
<text text-anchor="middle" x="642.5" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor zcashconsensus</text>
<text text-anchor="middle" x="642.5" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">library into zcash_script</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821&#45;&gt;zcash/zcash#4879 -->
<g id="edge7" class="edge">
<title>zcash/zcash#4821&#45;&gt;zcash/zcash#4879</title>
<path fill="none" stroke="#000000" d="M442.52,-362C471.32,-362 503.61,-362 533.71,-362"/>
<polygon fill="#000000" stroke="#000000" points="533.83,-365.5001 543.83,-362 533.83,-358.5001 533.83,-365.5001"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node10" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node10"><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="740,-317.5 545,-317.5 545,-264.5 740,-264.5 740,-317.5"/>
<text text-anchor="middle" x="642.5" y="-302.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="642.5" y="-287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="642.5" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821&#45;&gt;zcash/zcash#4819 -->
<g id="edge8" class="edge">
<title>zcash/zcash#4821&#45;&gt;zcash/zcash#4819</title>
<path fill="none" stroke="#000000" d="M442.78,-338.05C458.49,-333.94 474.71,-329.78 490,-326 504.49,-322.42 519.79,-318.76 534.88,-315.23"/>
<polygon fill="#000000" stroke="#000000" points="535.814,-318.6062 544.76,-312.93 534.2268,-311.7885 535.814,-318.6062"/>
</g>
<!-- zcash/zcash#4822&#45;&gt;zcash/zcash#4879 -->
<g id="edge9" class="edge">
<title>zcash/zcash#4822&#45;&gt;zcash/zcash#4879</title>
<path fill="none" stroke="#000000" d="M446.11,-314.97C460.78,-318.71 475.8,-322.5 490,-326 504.3,-329.53 519.37,-333.17 534.25,-336.73"/>
<polygon fill="#000000" stroke="#000000" points="533.4511,-340.1376 543.99,-339.05 535.0732,-333.3281 533.4511,-340.1376"/>
</g>
<!-- zcash/zcash#4822&#45;&gt;zcash/zcash#4819 -->
<g id="edge10" class="edge">
<title>zcash/zcash#4822&#45;&gt;zcash/zcash#4819</title>
<path fill="none" stroke="#000000" d="M446.08,-291C474.25,-291 505.5,-291 534.62,-291"/>
<polygon fill="#000000" stroke="#000000" points="534.83,-294.5001 544.83,-291 534.83,-287.5001 534.83,-294.5001"/>
</g>
<!-- zcash/zcash#4876 -->
<g id="node11" class="node">
<title>zcash/zcash#4876</title>
<g id="a_node11"><a xlink:href="https://github.com/zcash/zcash/issues/4876" xlink:title="zcash/zcash#4876&#10;libzcash_script: Expose&#10;precomputation APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1076,-388.5 891,-388.5 891,-335.5 1076,-335.5 1076,-388.5"/>
<text text-anchor="middle" x="983.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4876</text>
<text text-anchor="middle" x="983.5" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">libzcash_script: Expose</text>
<text text-anchor="middle" x="983.5" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">precomputation APIs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4879&#45;&gt;zcash/zcash#4876 -->
<g id="edge11" class="edge">
<title>zcash/zcash#4879&#45;&gt;zcash/zcash#4876</title>
<path fill="none" stroke="#000000" d="M741.13,-362C784.93,-362 836.47,-362 880.73,-362"/>
<polygon fill="#000000" stroke="#000000" points="880.94,-365.5001 890.94,-362 880.94,-358.5001 880.94,-365.5001"/>
</g>
<!-- zcash/zcash#4786 -->
<g id="node12" class="node">
<title>zcash/zcash#4786</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/zcash/issues/4786" xlink:title="zcash/zcash#4786&#10;[Orchard] Document&#10;Sinsemilla hash function&#10;and commitment scheme" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1082,-2137 885,-2137 885,-2069 1082,-2069 1082,-2137"/>
<text text-anchor="middle" x="983.5" y="-2121.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4786</text>
<text text-anchor="middle" x="983.5" y="-2106.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Document</text>
<text text-anchor="middle" x="983.5" y="-2091.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla hash function</text>
<text text-anchor="middle" x="983.5" y="-2076.8" font-family="Times,serif" font-size="14.00" fill="#000000">and commitment scheme</text>
</a>
</g>
</g>
<!-- zcash/halo2#73 -->
<g id="node13" class="node">
<title>zcash/halo2#73</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/halo2/issues/73" xlink:title="zcash/halo2#73&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1752,-1783.5 1579,-1783.5 1579,-1730.5 1752,-1730.5 1752,-1783.5"/>
<text text-anchor="middle" x="1665.5" y="-1768.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#73</text>
<text text-anchor="middle" x="1665.5" y="-1753.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1665.5" y="-1738.3" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/halo2#73 -->
<g id="edge12" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1030.2,-2068.8C1119.5,-2005.1 1322.5,-1867.7 1513,-1792 1530.6,-1785 1550,-1779.2 1568.8,-1774.5"/>
<polygon fill="#000000" stroke="#000000" points="1569.7196,-1777.8783 1578.6,-1772.1 1568.0545,-1771.0792 1569.7196,-1777.8783"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node14" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node14"><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="2091,-2239.5 1922,-2239.5 1922,-2186.5 2091,-2186.5 2091,-2239.5"/>
<text text-anchor="middle" x="2006.5" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="2006.5" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="2006.5" y="-2194.3" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/zcash#4707 -->
<g id="edge13" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1082.4,-2123.7C1111.2,-2129.1 1142.8,-2134.4 1172,-2138 1457.5,-2173 1532.6,-2141.3 1818,-2177 1848.7,-2180.8 1882,-2186.6 1911.9,-2192.5"/>
<polygon fill="#000000" stroke="#000000" points="1911.4078,-2195.9708 1921.9,-2194.5 1912.7806,-2189.1067 1911.4078,-2195.9708"/>
</g>
<!-- zcash/orchard#21 -->
<g id="node15" class="node">
<title>zcash/orchard#21</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/orchard/pull/21" xlink:title="zcash/orchard#21&#10;Implement Sinsemilla&#10;primitives" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1411,-2129.5 1238,-2129.5 1238,-2125.5 1234,-2125.5 1234,-2121.5 1238,-2121.5 1238,-2084.5 1234,-2084.5 1234,-2080.5 1238,-2080.5 1238,-2076.5 1411,-2076.5 1411,-2129.5"/>
<polyline fill="none" stroke="#000000" points="1238,-2125.5 1242,-2125.5 1242,-2121.5 1238,-2121.5 "/>
<polyline fill="none" stroke="#000000" points="1238,-2084.5 1242,-2084.5 1242,-2080.5 1238,-2080.5 "/>
<text text-anchor="middle" x="1324.5" y="-2114.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#21</text>
<text text-anchor="middle" x="1324.5" y="-2099.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1324.5" y="-2084.3" font-family="Times,serif" font-size="14.00" fill="#000000">primitives</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/orchard#21 -->
<g id="edge14" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/orchard#21</title>
<path fill="none" stroke="#000000" d="M1082.1,-2103C1127.9,-2103 1182.2,-2103 1227.8,-2103"/>
<polygon fill="#000000" stroke="#000000" points="1228,-2106.5001 1238,-2103 1228,-2099.5001 1228,-2106.5001"/>
</g>
<!-- zcash/orchard#4 -->
<g id="node16" class="node">
<title>zcash/orchard#4</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/orchard/issues/4" xlink:title="zcash/orchard#4&#10;Implement the Action&#10;circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2093,-1734.5 1920,-1734.5 1920,-1681.5 2093,-1681.5 2093,-1734.5"/>
<text text-anchor="middle" x="2006.5" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="2006.5" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="2006.5" y="-1689.3" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#73&#45;&gt;zcash/orchard#4 -->
<g id="edge15" class="edge">
<title>zcash/halo2#73&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1752.4,-1744.5C1800.4,-1737.6 1860.2,-1729 1909.7,-1721.9"/>
<polygon fill="#000000" stroke="#000000" points="1910.2819,-1725.3528 1919.7,-1720.5 1909.3113,-1718.4204 1910.2819,-1725.3528"/>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node17" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/librustzcash/issues/320" xlink:title="zcash/librustzcash#320&#10;Implement Orchard as a&#10;future NU feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2396,-2146.5 2204,-2146.5 2204,-2093.5 2396,-2093.5 2396,-2146.5"/>
<text text-anchor="middle" x="2300" y="-2131.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="2300" y="-2116.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard as a</text>
<text text-anchor="middle" x="2300" y="-2101.3" font-family="Times,serif" font-size="14.00" fill="#000000">future NU feature</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge16" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2090.2,-2186.5C2126.5,-2175 2169,-2161.5 2206.3,-2149.7"/>
<polygon fill="#000000" stroke="#000000" points="2207.7028,-2152.9284 2216.2,-2146.6 2205.611,-2146.2482 2207.7028,-2152.9284"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node18" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node18"><a xlink:href="https://github.com/zcash/zcash/issues/5024" xlink:title="zcash/zcash#5024&#10;Implement Orchard&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2628,-2404.5 2469,-2404.5 2469,-2351.5 2628,-2351.5 2628,-2404.5"/>
<text text-anchor="middle" x="2548.5" y="-2389.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="2548.5" y="-2374.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="2548.5" y="-2359.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/zcash#5024 -->
<g id="edge17" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2080.6,-2239.5C2115.1,-2251.2 2156.8,-2264.4 2195,-2274 2287,-2297.1 2314.5,-2283.5 2405,-2312 2433.8,-2321.1 2464.3,-2334.5 2489.8,-2346.9"/>
<polygon fill="#000000" stroke="#000000" points="2488.3846,-2350.1046 2498.9,-2351.4 2491.4876,-2343.8299 2488.3846,-2350.1046"/>
</g>
<!-- zcash/orchard#31 -->
<g id="node19" class="node">
<title>zcash/orchard#31</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/orchard/issues/31" xlink:title="zcash/orchard#31&#10;Implement Orchard note&#10;structure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1763,-2091.5 1568,-2091.5 1568,-2038.5 1763,-2038.5 1763,-2091.5"/>
<text text-anchor="middle" x="1665.5" y="-2076.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#31</text>
<text text-anchor="middle" x="1665.5" y="-2061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard note</text>
<text text-anchor="middle" x="1665.5" y="-2046.3" font-family="Times,serif" font-size="14.00" fill="#000000">structure</text>
</a>
</g>
</g>
<!-- zcash/orchard#21&#45;&gt;zcash/orchard#31 -->
<g id="edge18" class="edge">
<title>zcash/orchard#21&#45;&gt;zcash/orchard#31</title>
<path fill="none" stroke="#000000" d="M1411.4,-2093.3C1456,-2088.3 1510.7,-2082.2 1557.9,-2077"/>
<polygon fill="#000000" stroke="#000000" points="1558.3427,-2080.4725 1567.9,-2075.9 1557.5772,-2073.5145 1558.3427,-2080.4725"/>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/librustzcash#320 -->
<g id="edge19" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2076.5,-1734.6C2105.1,-1748.2 2136.6,-1767.3 2159,-1792 2238.3,-1879.4 2277.6,-2018.1 2292.6,-2083.6"/>
<polygon fill="#000000" stroke="#000000" points="2289.1945,-2084.4095 2294.8,-2093.4 2296.0245,-2082.8762 2289.1945,-2084.4095"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node20" class="node">
<title>zcash/orchard#35</title>
<g id="a_node20"><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="2382.5,-1734.5 2217.5,-1734.5 2217.5,-1681.5 2382.5,-1681.5 2382.5,-1734.5"/>
<text text-anchor="middle" x="2300" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="2300" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="2300" y="-1689.3" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge20" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2093.4,-1708C2129.2,-1708 2170.8,-1708 2207.3,-1708"/>
<polygon fill="#000000" stroke="#000000" points="2207.4,-1711.5001 2217.4,-1708 2207.4,-1704.5001 2207.4,-1711.5001"/>
</g>
<!-- zcash/orchard#32 -->
<g id="node21" class="node">
<title>zcash/orchard#32</title>
<g id="a_node21"><a xlink:href="https://github.com/zcash/orchard/issues/32" xlink:title="zcash/orchard#32&#10;Implement note encryption&#10;for Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2112.5,-1854.5 1900.5,-1854.5 1900.5,-1801.5 2112.5,-1801.5 2112.5,-1854.5"/>
<text text-anchor="middle" x="2006.5" y="-1839.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#32</text>
<text text-anchor="middle" x="2006.5" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note encryption</text>
<text text-anchor="middle" x="2006.5" y="-1809.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#31&#45;&gt;zcash/orchard#32 -->
<g id="edge21" class="edge">
<title>zcash/orchard#31&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1729.5,-2038.5C1757.6,-2025.7 1790.4,-2009.2 1818,-1991 1876.7,-1952.3 1936.8,-1897.1 1972.9,-1861.9"/>
<polygon fill="#000000" stroke="#000000" points="1975.5381,-1864.2141 1980.2,-1854.7 1970.6226,-1859.2303 1975.5381,-1864.2141"/>
</g>
<!-- zcash/orchard#33 -->
<g id="node22" class="node">
<title>zcash/orchard#33</title>
<g id="a_node22"><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="#c2e0c6" stroke="#000000" stroke-width="2" points="2119.5,-2620.5 1893.5,-2620.5 1893.5,-2567.5 2119.5,-2567.5 2119.5,-2620.5"/>
<text text-anchor="middle" x="2006.5" y="-2605.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="2006.5" y="-2590.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="2006.5" y="-2575.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#31&#45;&gt;zcash/orchard#33 -->
<g id="edge22" class="edge">
<title>zcash/orchard#31&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1721.2,-2091.7C1754.7,-2110.7 1795.2,-2139.5 1818,-2177 1871.6,-2265 1812.1,-2311.9 1854,-2406 1881.3,-2467.3 1933.8,-2525.3 1969.5,-2560.2"/>
<polygon fill="#000000" stroke="#000000" points="1967.261,-2562.9022 1976.9,-2567.3 1972.1073,-2557.8511 1967.261,-2562.9022"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node23" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2642.5,-1734.5 2454.5,-1734.5 2454.5,-1681.5 2642.5,-1681.5 2642.5,-1734.5"/>
<text text-anchor="middle" x="2548.5" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="2548.5" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="2548.5" y="-1689.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge23" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M2382.7,-1708C2402.3,-1708 2423.4,-1708 2443.8,-1708"/>
<polygon fill="#000000" stroke="#000000" points="2444.1,-1711.5001 2454.1,-1708 2444.1,-1704.5001 2444.1,-1711.5001"/>
</g>
<!-- zcash/orchard#32&#45;&gt;zcash/orchard#35 -->
<g id="edge39" class="edge">
<title>zcash/orchard#32&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2071.6,-1801.4C2117.2,-1782.7 2178.2,-1757.8 2225.7,-1738.4"/>
<polygon fill="#000000" stroke="#000000" points="2227.0668,-1741.6225 2235,-1734.6 2224.4191,-1735.1425 2227.0668,-1741.6225"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node36" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node36"><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="2644.5,-1627 2452.5,-1627 2452.5,-1559 2644.5,-1559 2644.5,-1627"/>
<text text-anchor="middle" x="2548.5" y="-1611.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="2548.5" y="-1596.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2548.5" y="-1581.8" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="2548.5" y="-1566.8" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/orchard#32&#45;&gt;zcash/zcash#5020 -->
<g id="edge40" class="edge">
<title>zcash/orchard#32&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M2112.5,-1829.6C2199.4,-1825.6 2321.2,-1807.5 2405,-1743 2433,-1721.4 2418.1,-1699 2441,-1672 2453.1,-1657.7 2468.3,-1644.5 2483.5,-1633.2"/>
<polygon fill="#000000" stroke="#000000" points="2485.8651,-1635.8081 2491.9,-1627.1 2481.7518,-1630.144 2485.8651,-1635.8081"/>
</g>
<!-- zcash/zcash#5018 -->
<g id="node38" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2386,-2627.5 2214,-2627.5 2214,-2544.5 2386,-2544.5 2386,-2627.5"/>
<text text-anchor="middle" x="2300" y="-2612.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="2300" y="-2597.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2300" y="-2582.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="2300" y="-2567.3" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="2300" y="-2552.3" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge43" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M2119.6,-2590.9C2147.3,-2590.2 2176.8,-2589.4 2203.7,-2588.6"/>
<polygon fill="#000000" stroke="#000000" points="2204.0073,-2592.0926 2213.9,-2588.3 2203.8014,-2585.0956 2204.0073,-2592.0926"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node34" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node34"><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="2901,-1631 2692,-1631 2692,-1563 2901,-1563 2901,-1631"/>
<text text-anchor="middle" x="2796.5" y="-1615.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="2796.5" y="-1600.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2796.5" y="-1585.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="2796.5" y="-1570.8" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge36" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M2607.9,-1681.4C2638.7,-1667.6 2676.8,-1650.6 2710.7,-1635.4"/>
<polygon fill="#000000" stroke="#000000" points="2712.4692,-1638.4447 2720.2,-1631.2 2709.6387,-1632.0425 2712.4692,-1638.4447"/>
</g>
<!-- zcash/zcash#4883 -->
<g id="node24" class="node">
<title>zcash/zcash#4883</title>
<g id="a_node24"><a xlink:href="https://github.com/zcash/zcash/issues/4883" xlink:title="zcash/zcash#4883&#10;Find optimized addition&#10;chains for the Pasta&#10;fields (x^{1/α} used in&#10;Rescue, and x^{(m&#45;1)/2}&#10;used in square root)" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="452.5,-2498 255.5,-2498 255.5,-2400 452.5,-2400 452.5,-2498"/>
<text text-anchor="middle" x="354" y="-2482.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4883</text>
<text text-anchor="middle" x="354" y="-2467.8" font-family="Times,serif" font-size="14.00" fill="#000000">Find optimized addition</text>
<text text-anchor="middle" x="354" y="-2452.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains for the Pasta</text>
<text text-anchor="middle" x="354" y="-2437.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (x^{1/α} used in</text>
<text text-anchor="middle" x="354" y="-2422.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rescue, and x^{(m&#45;1)/2}</text>
<text text-anchor="middle" x="354" y="-2407.8" font-family="Times,serif" font-size="14.00" fill="#000000">used in square root)</text>
</a>
</g>
</g>
<!-- zcash/halo2#72 -->
<g id="node25" class="node">
<title>zcash/halo2#72</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/halo2/issues/72" xlink:title="zcash/halo2#72&#10;Implement table&#45;based&#10;variant of Sarkar&#39;s&#10;square root algorithm" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="733.5,-2436 551.5,-2436 551.5,-2368 733.5,-2368 733.5,-2436"/>
<text text-anchor="middle" x="642.5" y="-2420.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#72</text>
<text text-anchor="middle" x="642.5" y="-2405.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement table&#45;based</text>
<text text-anchor="middle" x="642.5" y="-2390.8" font-family="Times,serif" font-size="14.00" fill="#000000">variant of Sarkar&#39;s</text>
<text text-anchor="middle" x="642.5" y="-2375.8" font-family="Times,serif" font-size="14.00" fill="#000000">square root algorithm</text>
</a>
</g>
</g>
<!-- zcash/zcash#4883&#45;&gt;zcash/halo2#72 -->
<g id="edge24" class="edge">
<title>zcash/zcash#4883&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M452.88,-2432.9C481.33,-2428.3 512.41,-2423.2 541.02,-2418.5"/>
<polygon fill="#000000" stroke="#000000" points="541.6986,-2421.936 551.02,-2416.9 540.5926,-2415.0239 541.6986,-2421.936"/>
</g>
<!-- zcash/zcash#4710 -->
<g id="node26" class="node">
<title>zcash/zcash#4710</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/zcash/issues/4710" xlink:title="zcash/zcash#4710&#10;[Orchard]&#10;Specify/implement&#10;GroupHash into&#10;Pallas/Vesta" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1059,-2443.5 908,-2443.5 908,-2360.5 1059,-2360.5 1059,-2443.5"/>
<text text-anchor="middle" x="983.5" y="-2428.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4710</text>
<text text-anchor="middle" x="983.5" y="-2413.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard]</text>
<text text-anchor="middle" x="983.5" y="-2398.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify/implement</text>
<text text-anchor="middle" x="983.5" y="-2383.3" font-family="Times,serif" font-size="14.00" fill="#000000">GroupHash into</text>
<text text-anchor="middle" x="983.5" y="-2368.3" font-family="Times,serif" font-size="14.00" fill="#000000">Pallas/Vesta</text>
</a>
</g>
</g>
<!-- zcash/halo2#72&#45;&gt;zcash/zcash#4710 -->
<g id="edge25" class="edge">
<title>zcash/halo2#72&#45;&gt;zcash/zcash#4710</title>
<path fill="none" stroke="#000000" d="M733.88,-2402C784.82,-2402 847.87,-2402 897.86,-2402"/>
<polygon fill="#000000" stroke="#000000" points="897.99,-2405.5001 907.99,-2402 897.99,-2398.5001 897.99,-2405.5001"/>
</g>
<!-- zcash/zcash#4710&#45;&gt;zcash/zcash#4707 -->
<g id="edge26" class="edge">
<title>zcash/zcash#4710&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1059.1,-2413.1C1253.4,-2440.9 1758.9,-2508 1818,-2462 1869.4,-2422 1817,-2373.6 1854,-2320 1875.9,-2288.3 1910.5,-2262.9 1941.2,-2244.8"/>
<polygon fill="#000000" stroke="#000000" points="1943.1637,-2247.7087 1950.1,-2239.7 1939.6834,-2241.6352 1943.1637,-2247.7087"/>
</g>
<!-- zcash/zcash#4710&#45;&gt;zcash/orchard#21 -->
<g id="edge27" class="edge">
<title>zcash/zcash#4710&#45;&gt;zcash/orchard#21</title>
<path fill="none" stroke="#000000" d="M1045.3,-2360.2C1076,-2336.9 1111.6,-2305.7 1136,-2271 1161.8,-2234.4 1141.8,-2210 1172,-2177 1188.6,-2158.9 1210.6,-2144.7 1232.7,-2133.9"/>
<polygon fill="#000000" stroke="#000000" points="1234.3207,-2137.0041 1241.8,-2129.5 1231.2736,-2130.7021 1234.3207,-2137.0041"/>
</g>
<!-- zcash/halo2#66 -->
<g id="node27" class="node">
<title>zcash/halo2#66</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/halo2/issues/66" xlink:title="zcash/halo2#66&#10;Refactor proofs to not&#10;require length encodings" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1423,-2340.5 1226,-2340.5 1226,-2287.5 1423,-2287.5 1423,-2340.5"/>
<text text-anchor="middle" x="1324.5" y="-2325.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#66</text>
<text text-anchor="middle" x="1324.5" y="-2310.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor proofs to not</text>
<text text-anchor="middle" x="1324.5" y="-2295.3" font-family="Times,serif" font-size="14.00" fill="#000000">require length encodings</text>
</a>
</g>
</g>
<!-- zcash/zcash#4714 -->
<g id="node28" class="node">
<title>zcash/zcash#4714</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/zcash/issues/4714" xlink:title="zcash/zcash#4714&#10;[Orchard] Encoding of&#10;Halo 2 proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1754,-2239.5 1577,-2239.5 1577,-2186.5 1754,-2186.5 1754,-2239.5"/>
<text text-anchor="middle" x="1665.5" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4714</text>
<text text-anchor="middle" x="1665.5" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Encoding of</text>
<text text-anchor="middle" x="1665.5" y="-2194.3" font-family="Times,serif" font-size="14.00" fill="#000000">Halo 2 proofs</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/zcash#4714 -->
<g id="edge28" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/zcash#4714</title>
<path fill="none" stroke="#000000" d="M1423.3,-2297.8C1441.7,-2292.8 1460.3,-2286.3 1477,-2278 1495.6,-2268.7 1494.3,-2257.2 1513,-2248 1529.7,-2239.7 1548.4,-2233.4 1566.9,-2228.5"/>
<polygon fill="#000000" stroke="#000000" points="1567.9613,-2231.8419 1576.8,-2226 1566.2474,-2225.055 1567.9613,-2231.8419"/>
</g>
<!-- zcash/halo2#67 -->
<g id="node29" class="node">
<title>zcash/halo2#67</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/halo2/issues/67" xlink:title="zcash/halo2#67&#10;Multi&#45;proof prover" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1740,-2453 1591,-2453 1591,-2415 1740,-2415 1740,-2453"/>
<text text-anchor="middle" x="1665.5" y="-2437.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#67</text>
<text text-anchor="middle" x="1665.5" y="-2422.8" font-family="Times,serif" font-size="14.00" fill="#000000">Multi&#45;proof prover</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/halo2#67 -->
<g id="edge29" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/halo2#67</title>
<path fill="none" stroke="#000000" d="M1423.3,-2324.8C1442.3,-2330.1 1461.2,-2337.8 1477,-2349 1501.4,-2366.3 1488.2,-2389.2 1513,-2406 1532.8,-2419.4 1557.2,-2426.9 1580.7,-2430.9"/>
<polygon fill="#000000" stroke="#000000" points="1580.1885,-2434.3624 1590.6,-2432.4 1581.2372,-2427.4414 1580.1885,-2434.3624"/>
</g>
<!-- zcash/halo2#74 -->
<g id="node30" class="node">
<title>zcash/halo2#74</title>
<g id="a_node30"><a xlink:href="https://github.com/zcash/halo2/issues/74" xlink:title="zcash/halo2#74&#10;Implement plumbing for&#10;recursion" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1761,-1205.5 1570,-1205.5 1570,-1152.5 1761,-1152.5 1761,-1205.5"/>
<text text-anchor="middle" x="1665.5" y="-1190.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#74</text>
<text text-anchor="middle" x="1665.5" y="-1175.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement plumbing for</text>
<text text-anchor="middle" x="1665.5" y="-1160.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/halo2#74 -->
<g id="edge30" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/halo2#74</title>
<path fill="none" stroke="#000000" d="M1423.3,-2309.9C1443.9,-2304.3 1463.5,-2294.5 1477,-2278 1551.9,-2186.6 1438.1,-1306.4 1513,-1215 1525.1,-1200.2 1542.1,-1190.8 1560.3,-1185"/>
<polygon fill="#000000" stroke="#000000" points="1561.2211,-1188.3768 1569.9,-1182.3 1559.3259,-1181.6382 1561.2211,-1188.3768"/>
</g>
<!-- zcash/zcash#4714&#45;&gt;zcash/zcash#4707 -->
<g id="edge31" class="edge">
<title>zcash/zcash#4714&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1754.2,-2213C1802.6,-2213 1862.5,-2213 1911.7,-2213"/>
<polygon fill="#000000" stroke="#000000" points="1911.8,-2216.5001 1921.8,-2213 1911.8,-2209.5001 1911.8,-2216.5001"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node31" class="node">
<title>zcash/halo2#75</title>
<g id="a_node31"><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="2096,-850.5 1917,-850.5 1917,-797.5 2096,-797.5 2096,-850.5"/>
<text text-anchor="middle" x="2006.5" y="-835.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="2006.5" y="-820.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2006.5" y="-805.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#74&#45;&gt;zcash/halo2#75 -->
<g id="edge32" class="edge">
<title>zcash/halo2#74&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1761.2,-1169.7C1781.4,-1164.3 1801.6,-1155.9 1818,-1143 1845.8,-1121.1 1836.7,-1102.9 1854,-1072 1897.3,-994.56 1953,-906.69 1983.6,-859.12"/>
<polygon fill="#000000" stroke="#000000" points="1986.5503,-861.0035 1989.1,-850.72 1980.6939,-857.1689 1986.5503,-861.0035"/>
</g>
<!-- zcash/halo2#251 -->
<g id="node32" class="node">
<title>zcash/halo2#251</title>
<g id="a_node32"><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="2405,-850.5 2195,-850.5 2195,-797.5 2405,-797.5 2405,-850.5"/>
<text text-anchor="middle" x="2300" y="-835.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="2300" y="-820.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="2300" y="-805.3" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge33" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M2096.2,-824C2124.1,-824 2155.2,-824 2184.6,-824"/>
<polygon fill="#000000" stroke="#000000" points="2184.9,-827.5001 2194.9,-824 2184.9,-820.5001 2184.9,-827.5001"/>
</g>
<!-- zcash/zcash#4711 -->
<g id="node33" class="node">
<title>zcash/zcash#4711</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/zcash/issues/4711" xlink:title="zcash/zcash#4711&#10;[Orchard] Shielded&#10;protocol changes" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1742.5,-1925.5 1588.5,-1925.5 1588.5,-1872.5 1742.5,-1872.5 1742.5,-1925.5"/>
<text text-anchor="middle" x="1665.5" y="-1910.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4711</text>
<text text-anchor="middle" x="1665.5" y="-1895.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Shielded</text>
<text text-anchor="middle" x="1665.5" y="-1880.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#4711&#45;&gt;zcash/zcash#4707 -->
<g id="edge34" class="edge">
<title>zcash/zcash#4711&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1742.5,-1900.1C1769.9,-1904.5 1798.7,-1914.3 1818,-1935 1885.6,-2007.5 1791.3,-2078.3 1854,-2155 1868.9,-2173.2 1890.2,-2185.7 1912.2,-2194.3"/>
<polygon fill="#000000" stroke="#000000" points="1911.0072,-2197.5906 1921.6,-2197.8 1913.4498,-2191.0305 1911.0072,-2197.5906"/>
</g>
<!-- zcash/zcash#4711&#45;&gt;zcash/orchard#4 -->
<g id="edge35" class="edge">
<title>zcash/zcash#4711&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1742.6,-1893.9C1768.7,-1889 1796.6,-1879.8 1818,-1863 1845.8,-1841.1 1829.4,-1817.4 1854,-1792 1875.1,-1770.1 1903.2,-1752.5 1929.5,-1739.1"/>
<polygon fill="#000000" stroke="#000000" points="1931.321,-1742.1027 1938.7,-1734.5 1928.1905,-1735.8417 1931.321,-1742.1027"/>
</g>
<!-- zcash/zcash#4712 -->
<g id="node35" class="node">
<title>zcash/zcash#4712</title>
<g id="a_node35"><a xlink:href="https://github.com/zcash/zcash/issues/4712" xlink:title="zcash/zcash#4712&#10;[Orchard] Note encryption" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1770,-1982 1561,-1982 1561,-1944 1770,-1944 1770,-1982"/>
<text text-anchor="middle" x="1665.5" y="-1966.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4712</text>
<text text-anchor="middle" x="1665.5" y="-1951.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Note encryption</text>
</a>
</g>
</g>
<!-- zcash/zcash#4712&#45;&gt;zcash/zcash#4707 -->
<g id="edge37" class="edge">
<title>zcash/zcash#4712&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1770.3,-1969.3C1788,-1974.6 1804.9,-1983 1818,-1996 1869.5,-2047 1806.5,-2100.3 1854,-2155 1869.3,-2172.6 1890.5,-2184.9 1912.3,-2193.4"/>
<polygon fill="#000000" stroke="#000000" points="1911.407,-2196.8018 1922,-2197 1913.8427,-2190.2392 1911.407,-2196.8018"/>
</g>
<!-- zcash/zcash#4712&#45;&gt;zcash/orchard#32 -->
<g id="edge38" class="edge">
<title>zcash/zcash#4712&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1770.1,-1947.8C1786.4,-1944.1 1802.8,-1939.5 1818,-1934 1868.9,-1915.4 1922.4,-1884.1 1959.3,-1860.3"/>
<polygon fill="#000000" stroke="#000000" points="1961.4299,-1863.0898 1967.9,-1854.7 1957.6101,-1857.2238 1961.4299,-1863.0898"/>
</g>
<!-- zcash/zcash#4713 -->
<g id="node37" class="node">
<title>zcash/zcash#4713</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/zcash/issues/4713" xlink:title="zcash/zcash#4713&#10;[Orchard] Commitment&#10;Merkle tree design" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1758,-2648.5 1573,-2648.5 1573,-2595.5 1758,-2595.5 1758,-2648.5"/>
<text text-anchor="middle" x="1665.5" y="-2633.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4713</text>
<text text-anchor="middle" x="1665.5" y="-2618.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Commitment</text>
<text text-anchor="middle" x="1665.5" y="-2603.3" font-family="Times,serif" font-size="14.00" fill="#000000">Merkle tree design</text>
</a>
</g>
</g>
<!-- zcash/zcash#4713&#45;&gt;zcash/zcash#4707 -->
<g id="edge41" class="edge">
<title>zcash/zcash#4713&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1758.3,-2618.1C1780.7,-2612.7 1802.6,-2603 1818,-2586 1898.2,-2497.6 1792,-2421.9 1854,-2320 1873.7,-2287.6 1907.5,-2262.4 1938.2,-2244.6"/>
<polygon fill="#000000" stroke="#000000" points="1940.1582,-2247.516 1947.2,-2239.6 1936.7586,-2241.3969 1940.1582,-2247.516"/>
</g>
<!-- zcash/zcash#4713&#45;&gt;zcash/orchard#33 -->
<g id="edge42" class="edge">
<title>zcash/zcash#4713&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1758.2,-2614.4C1796.8,-2611.2 1842,-2607.5 1883.3,-2604.1"/>
<polygon fill="#000000" stroke="#000000" points="1883.7076,-2607.5788 1893.4,-2603.3 1883.1548,-2600.6006 1883.7076,-2607.5788"/>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5024 -->
<g id="edge44" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2364.2,-2544.4C2377.9,-2534.8 2392.2,-2524.4 2405,-2514 2445.1,-2481.6 2487.5,-2440.5 2515.7,-2411.9"/>
<polygon fill="#000000" stroke="#000000" points="2518.3697,-2414.1774 2522.9,-2404.6 2513.3859,-2409.2619 2518.3697,-2414.1774"/>
</g>
<!-- zcash/zcash#5037 -->
<g id="node39" class="node">
<title>zcash/zcash#5037</title>
<g id="a_node39"><a xlink:href="https://github.com/zcash/zcash/issues/5037" xlink:title="zcash/zcash#5037&#10;Add Orchard metadata to&#10;history trees" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2648.5,-2655.5 2448.5,-2655.5 2448.5,-2602.5 2648.5,-2602.5 2648.5,-2655.5"/>
<text text-anchor="middle" x="2548.5" y="-2640.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="2548.5" y="-2625.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="2548.5" y="-2610.3" font-family="Times,serif" font-size="14.00" fill="#000000">history trees</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5037 -->
<g id="edge45" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2386.2,-2600.9C2403,-2603.8 2420.8,-2606.9 2438.2,-2609.9"/>
<polygon fill="#000000" stroke="#000000" points="2437.9439,-2613.4088 2448.4,-2611.7 2439.1604,-2606.5153 2437.9439,-2613.4088"/>
</g>
<!-- zcash/zcash#4716 -->
<g id="node40" class="node">
<title>zcash/zcash#4716</title>
<g id="a_node40"><a xlink:href="https://github.com/zcash/zcash/issues/4716" xlink:title="zcash/zcash#4716&#10;[Orchard] Specify&#10;transaction format and&#10;hashing changes" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1756.5,-2577 1574.5,-2577 1574.5,-2509 1756.5,-2509 1756.5,-2577"/>
<text text-anchor="middle" x="1665.5" y="-2561.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4716</text>
<text text-anchor="middle" x="1665.5" y="-2546.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-2531.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format and</text>
<text text-anchor="middle" x="1665.5" y="-2516.8" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#4716&#45;&gt;zcash/zcash#4707 -->
<g id="edge46" class="edge">
<title>zcash/zcash#4716&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1756.8,-2531.1C1779.5,-2523.9 1802,-2512.7 1818,-2495 1871.2,-2436.1 1810.4,-2386.4 1854,-2320 1875,-2288 1909.2,-2262.7 1939.8,-2244.8"/>
<polygon fill="#000000" stroke="#000000" points="1941.8253,-2247.6753 1948.8,-2239.7 1938.3742,-2241.5851 1941.8253,-2247.6753"/>
</g>
<!-- zcash/orchard#34 -->
<g id="node41" class="node">
<title>zcash/orchard#34</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/orchard/issues/34" xlink:title="zcash/orchard#34&#10;Add parsing and&#10;serialization support for&#10;Orchard bundles" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2101,-2397 1912,-2397 1912,-2329 2101,-2329 2101,-2397"/>
<text text-anchor="middle" x="2006.5" y="-2381.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#34</text>
<text text-anchor="middle" x="2006.5" y="-2366.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add parsing and</text>
<text text-anchor="middle" x="2006.5" y="-2351.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization support for</text>
<text text-anchor="middle" x="2006.5" y="-2336.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard bundles</text>
</a>
</g>
</g>
<!-- zcash/zcash#4716&#45;&gt;zcash/orchard#34 -->
<g id="edge47" class="edge">
<title>zcash/zcash#4716&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1756.8,-2519.3C1777.4,-2512.6 1798.8,-2504.4 1818,-2495 1868.8,-2470 1921.2,-2432.2 1957.8,-2403.4"/>
<polygon fill="#000000" stroke="#000000" points="1960.109,-2406.0367 1965.8,-2397.1 1955.7782,-2400.5372 1960.109,-2406.0367"/>
</g>
<!-- zcash/zcash#5022 -->
<g id="node42" class="node">
<title>zcash/zcash#5022</title>
<g id="a_node42"><a xlink:href="https://github.com/zcash/zcash/issues/5022" xlink:title="zcash/zcash#5022&#10;Implement ZIP&#45;225&#10;transaction format&#10;changes in zcashd." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2377.5,-2265 2222.5,-2265 2222.5,-2197 2377.5,-2197 2377.5,-2265"/>
<text text-anchor="middle" x="2300" y="-2249.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5022</text>
<text text-anchor="middle" x="2300" y="-2234.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2300" y="-2219.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format</text>
<text text-anchor="middle" x="2300" y="-2204.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes in zcashd.</text>
</a>
</g>
</g>
<!-- zcash/orchard#34&#45;&gt;zcash/zcash#5022 -->
<g id="edge48" class="edge">
<title>zcash/orchard#34&#45;&gt;zcash/zcash#5022</title>
<path fill="none" stroke="#000000" d="M2089.9,-2328.9C2112.5,-2319.5 2136.7,-2309 2159,-2299 2179.5,-2289.8 2201.5,-2279.4 2221.9,-2269.6"/>
<polygon fill="#000000" stroke="#000000" points="2223.6549,-2272.638 2231.1,-2265.1 2220.5791,-2266.3499 2223.6549,-2272.638"/>
</g>
<!-- zcash/librustzcash#350 -->
<g id="node43" class="node">
<title>zcash/librustzcash#350</title>
<g id="a_node43"><a xlink:href="https://github.com/zcash/librustzcash/issues/350" xlink:title="zcash/librustzcash#350&#10;Implement ZIP&#45;225&#10;transaction format &amp;&#10;hashing changes in&#10;librustzcash." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2394,-2404.5 2206,-2404.5 2206,-2321.5 2394,-2321.5 2394,-2404.5"/>
<text text-anchor="middle" x="2300" y="-2389.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#350</text>
<text text-anchor="middle" x="2300" y="-2374.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2300" y="-2359.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format &amp;</text>
<text text-anchor="middle" x="2300" y="-2344.3" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes in</text>
<text text-anchor="middle" x="2300" y="-2329.3" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash.</text>
</a>
</g>
</g>
<!-- zcash/orchard#34&#45;&gt;zcash/librustzcash#350 -->
<g id="edge49" class="edge">
<title>zcash/orchard#34&#45;&gt;zcash/librustzcash#350</title>
<path fill="none" stroke="#000000" d="M2101.4,-2363C2131.5,-2363 2164.9,-2363 2195.6,-2363"/>
<polygon fill="#000000" stroke="#000000" points="2195.9,-2366.5001 2205.9,-2363 2195.9,-2359.5001 2195.9,-2366.5001"/>
</g>
<!-- zcash/zcash#5022&#45;&gt;zcash/zcash#5024 -->
<g id="edge50" class="edge">
<title>zcash/zcash#5022&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2377.6,-2264.6C2387,-2269.2 2396.3,-2274.1 2405,-2279 2440.1,-2298.9 2477.5,-2324.9 2505.3,-2345.3"/>
<polygon fill="#000000" stroke="#000000" points="2503.5518,-2348.356 2513.7,-2351.4 2507.6651,-2342.6919 2503.5518,-2348.356"/>
</g>
<!-- zcash/zcash#5022&#45;&gt;zcash/zcash#5021 -->
<g id="edge51" class="edge">
<title>zcash/zcash#5022&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M2360.7,-2196.9C2377,-2185.3 2393.2,-2171.2 2405,-2155 2500.4,-2023.5 2534.2,-1825.8 2544.5,-1744.7"/>
<polygon fill="#000000" stroke="#000000" points="2548.0075,-1744.8623 2545.8,-1734.5 2541.0637,-1743.9772 2548.0075,-1744.8623"/>
</g>
<!-- zcash/zcash#4708 -->
<g id="node44" class="node">
<title>zcash/zcash#4708</title>
<g id="a_node44"><a xlink:href="https://github.com/zcash/zcash/issues/4708" xlink:title="zcash/zcash#4708&#10;Specify Poseidon&#10;instantiation" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1058.5,-1641.5 908.5,-1641.5 908.5,-1588.5 1058.5,-1588.5 1058.5,-1641.5"/>
<text text-anchor="middle" x="983.5" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4708</text>
<text text-anchor="middle" x="983.5" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify Poseidon</text>
<text text-anchor="middle" x="983.5" y="-1596.3" font-family="Times,serif" font-size="14.00" fill="#000000">instantiation</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/zcash#4707 -->
<g id="edge52" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1047.5,-1641.7C1077.6,-1656.9 1112.1,-1678.4 1136,-1706 1163.2,-1737.3 1144.7,-1760.8 1172,-1792 1287.6,-1924 1346.8,-1934.8 1513,-1991 1577.7,-2012.9 1766.1,-1984.6 1818,-2029 1862.2,-2066.9 1814.6,-2112.1 1854,-2155 1869.6,-2172 1890.7,-2184 1912.3,-2192.6"/>
<polygon fill="#000000" stroke="#000000" points="1911.2066,-2195.9271 1921.8,-2196.1 1913.6266,-2189.3587 1911.2066,-2195.9271"/>
</g>
<!-- zcash/orchard#37 -->
<g id="node45" class="node">
<title>zcash/orchard#37</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/orchard/issues/37" xlink:title="zcash/orchard#37&#10;Implement Poseidon&#10;outside the circuit" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1406,-2058.5 1243,-2058.5 1243,-2005.5 1406,-2005.5 1406,-2058.5"/>
<text text-anchor="middle" x="1324.5" y="-2043.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#37</text>
<text text-anchor="middle" x="1324.5" y="-2028.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon</text>
<text text-anchor="middle" x="1324.5" y="-2013.3" font-family="Times,serif" font-size="14.00" fill="#000000">outside the circuit</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/orchard#37 -->
<g id="edge53" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/orchard#37</title>
<path fill="none" stroke="#000000" d="M1056,-1641.6C1085.5,-1656.1 1117.1,-1677.1 1136,-1706 1205.9,-1812.8 1088.1,-1894.8 1172,-1991 1187.6,-2008.9 1210.1,-2019.4 1233.1,-2025.4"/>
<polygon fill="#000000" stroke="#000000" points="1232.3648,-2028.8225 1242.9,-2027.7 1233.9643,-2022.0077 1232.3648,-2028.8225"/>
</g>
<!-- zcash/orchard#45 -->
<g id="node46" class="node">
<title>zcash/orchard#45</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/orchard/issues/45" xlink:title="zcash/orchard#45&#10;Implement Poseidon gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1433,-1579 1216,-1579 1216,-1541 1433,-1541 1433,-1579"/>
<text text-anchor="middle" x="1324.5" y="-1563.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#45</text>
<text text-anchor="middle" x="1324.5" y="-1548.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon gadget</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/orchard#45 -->
<g id="edge54" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/orchard#45</title>
<path fill="none" stroke="#000000" d="M1058.8,-1602.9C1101.9,-1595.9 1157,-1587 1205.8,-1579.1"/>
<polygon fill="#000000" stroke="#000000" points="1206.4786,-1582.536 1215.8,-1577.5 1205.3726,-1575.6239 1206.4786,-1582.536"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#22 -->
<g id="node47" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/22" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#10;Implement Poseidon test&#10;vectors" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1477,-1241.5 1172,-1241.5 1172,-1188.5 1477,-1188.5 1477,-1241.5"/>
<text text-anchor="middle" x="1324.5" y="-1226.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</text>
<text text-anchor="middle" x="1324.5" y="-1211.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon test</text>
<text text-anchor="middle" x="1324.5" y="-1196.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#22 -->
<g id="edge55" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</title>
<path fill="none" stroke="#000000" d="M1000.7,-1588.3C1032.2,-1540.1 1102.3,-1436.7 1172,-1358 1207.6,-1317.8 1253,-1276.3 1285,-1248.4"/>
<polygon fill="#000000" stroke="#000000" points="1287.4949,-1250.871 1292.8,-1241.7 1282.9337,-1245.561 1287.4949,-1250.871"/>
</g>
<!-- zcash/orchard#37&#45;&gt;zcash/orchard#31 -->
<g id="edge56" class="edge">
<title>zcash/orchard#37&#45;&gt;zcash/orchard#31</title>
<path fill="none" stroke="#000000" d="M1406.2,-2039.9C1451.6,-2044.3 1508.7,-2049.8 1557.8,-2054.6"/>
<polygon fill="#000000" stroke="#000000" points="1557.5265,-2058.0894 1567.8,-2055.5 1558.154,-2051.1176 1557.5265,-2058.0894"/>
</g>
<!-- zcash/orchard#45&#45;&gt;zcash/orchard#4 -->
<g id="edge57" class="edge">
<title>zcash/orchard#45&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1433,-1556.1C1556.7,-1553.1 1750.3,-1553 1818,-1579 1837.4,-1586.5 1837.2,-1596.6 1854,-1609 1886.3,-1632.8 1924,-1657.3 1953.9,-1676"/>
<polygon fill="#000000" stroke="#000000" points="1952.1699,-1679.0464 1962.5,-1681.4 1955.8923,-1673.1182 1952.1699,-1679.0464"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node48" class="node">
<title>zcash/halo2#79</title>
<g id="a_node48"><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="1746,-1006.5 1585,-1006.5 1585,-923.5 1746,-923.5 1746,-1006.5"/>
<text text-anchor="middle" x="1665.5" y="-991.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="1665.5" y="-976.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="1665.5" y="-961.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="1665.5" y="-946.3" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="1665.5" y="-931.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/orchard#45&#45;&gt;zcash/halo2#79 -->
<g id="edge58" class="edge">
<title>zcash/orchard#45&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1355.1,-1540.9C1391.2,-1516.4 1449.9,-1470.3 1477,-1414 1515.5,-1334 1457.9,-1085.7 1513,-1016 1528.4,-996.56 1551.4,-984.47 1575,-976.97"/>
<polygon fill="#000000" stroke="#000000" points="1576.0864,-980.2989 1584.7,-974.13 1574.1194,-973.581 1576.0864,-980.2989"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="node49" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<g id="a_node49"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/24" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#10;Implement Orchard key&#10;components test vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1818,-1134.5 1513,-1134.5 1513,-1081.5 1818,-1081.5 1818,-1134.5"/>
<text text-anchor="middle" x="1665.5" y="-1119.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</text>
<text text-anchor="middle" x="1665.5" y="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-1089.3" font-family="Times,serif" font-size="14.00" fill="#000000">components test vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge59" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<path fill="none" stroke="#000000" d="M1387.4,-1188.4C1423.7,-1173.8 1470.4,-1155.9 1513,-1143 1519.5,-1141 1526.1,-1139.1 1532.8,-1137.3"/>
<polygon fill="#000000" stroke="#000000" points="1533.9733,-1140.6079 1542.7,-1134.6 1532.1314,-1133.8546 1533.9733,-1140.6079"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="node50" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<g id="a_node50"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/26" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#10;Implement Unified Address&#10;encodings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2159,-1134.5 1854,-1134.5 1854,-1081.5 2159,-1081.5 2159,-1134.5"/>
<text text-anchor="middle" x="2006.5" y="-1119.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</text>
<text text-anchor="middle" x="2006.5" y="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2006.5" y="-1089.3" font-family="Times,serif" font-size="14.00" fill="#000000">encodings</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="edge60" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<path fill="none" stroke="#000000" d="M1818,-1108C1826.6,-1108 1835.2,-1108 1843.8,-1108"/>
<polygon fill="#000000" stroke="#000000" points="1843.8,-1111.5001 1853.8,-1108 1843.8,-1104.5001 1843.8,-1111.5001"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node56" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2394,-1245 2206,-1245 2206,-1177 2394,-1177 2394,-1245"/>
<text text-anchor="middle" x="2300" y="-1229.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="2300" y="-1214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="2300" y="-1199.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="2300" y="-1184.8" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371 -->
<g id="edge86" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2132.4,-1134.5C2141.5,-1137.2 2150.4,-1140 2159,-1143 2182,-1151.1 2206.2,-1161.8 2227.9,-1172.4"/>
<polygon fill="#000000" stroke="#000000" points="2226.5791,-1175.6501 2237.1,-1176.9 2229.6549,-1169.362 2226.5791,-1175.6501"/>
</g>
<!-- zcash/halo2#144 -->
<g id="node51" class="node">
<title>zcash/halo2#144</title>
<g id="a_node51"><a xlink:href="https://github.com/zcash/halo2/issues/144" xlink:title="zcash/halo2#144&#10;book: Specify proof&#10;encoding" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1402,-2411.5 1247,-2411.5 1247,-2358.5 1402,-2358.5 1402,-2411.5"/>
<text text-anchor="middle" x="1324.5" y="-2396.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#144</text>
<text text-anchor="middle" x="1324.5" y="-2381.3" font-family="Times,serif" font-size="14.00" fill="#000000">book: Specify proof</text>
<text text-anchor="middle" x="1324.5" y="-2366.3" font-family="Times,serif" font-size="14.00" fill="#000000">encoding</text>
</a>
</g>
</g>
<!-- zcash/halo2#144&#45;&gt;zcash/zcash#4714 -->
<g id="edge61" class="edge">
<title>zcash/halo2#144&#45;&gt;zcash/zcash#4714</title>
<path fill="none" stroke="#000000" d="M1402,-2381.5C1428.5,-2376.8 1456.5,-2367.3 1477,-2349 1512.5,-2317.2 1477.4,-2279.7 1513,-2248 1528.2,-2234.5 1547.5,-2225.9 1567.2,-2220.5"/>
<polygon fill="#000000" stroke="#000000" points="1568.1196,-2223.8783 1577,-2218.1 1566.4545,-2217.0792 1568.1196,-2223.8783"/>
</g>
<!-- zcash/zcash#4709 -->
<g id="node52" class="node">
<title>zcash/zcash#4709</title>
<g id="a_node52"><a xlink:href="https://github.com/zcash/zcash/issues/4709" xlink:title="zcash/zcash#4709&#10;[Orchard] Specify&#10;RedPallas" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1740.5,-2310.5 1590.5,-2310.5 1590.5,-2257.5 1740.5,-2257.5 1740.5,-2310.5"/>
<text text-anchor="middle" x="1665.5" y="-2295.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4709</text>
<text text-anchor="middle" x="1665.5" y="-2280.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-2265.3" font-family="Times,serif" font-size="14.00" fill="#000000">RedPallas</text>
</a>
</g>
</g>
<!-- zcash/zcash#4709&#45;&gt;zcash/zcash#4707 -->
<g id="edge62" class="edge">
<title>zcash/zcash#4709&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1740.8,-2268.3C1791.2,-2257.8 1857.9,-2243.9 1911.9,-2232.7"/>
<polygon fill="#000000" stroke="#000000" points="1912.7439,-2236.0989 1921.8,-2230.6 1911.2914,-2229.2513 1912.7439,-2236.0989"/>
</g>
<!-- zcash/zips#454 -->
<g id="node53" class="node">
<title>zcash/zips#454</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zips/issues/454" xlink:title="zcash/zips#454&#10;Poseidon: copy parameter&#10;generation script to&#10;zcash/pasta and settle on&#10;parameters" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="744,-1656.5 541,-1656.5 541,-1573.5 744,-1573.5 744,-1656.5"/>
<text text-anchor="middle" x="642.5" y="-1641.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#454</text>
<text text-anchor="middle" x="642.5" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon: copy parameter</text>
<text text-anchor="middle" x="642.5" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation script to</text>
<text text-anchor="middle" x="642.5" y="-1596.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/pasta and settle on</text>
<text text-anchor="middle" x="642.5" y="-1581.3" font-family="Times,serif" font-size="14.00" fill="#000000">parameters</text>
</a>
</g>
</g>
<!-- zcash/zips#454&#45;&gt;zcash/zcash#4708 -->
<g id="edge63" class="edge">
<title>zcash/zips#454&#45;&gt;zcash/zcash#4708</title>
<path fill="none" stroke="#000000" d="M744.35,-1615C793.44,-1615 851.65,-1615 898.35,-1615"/>
<polygon fill="#000000" stroke="#000000" points="898.43,-1618.5001 908.43,-1615 898.43,-1611.5001 898.43,-1618.5001"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node54" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node54"><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="2391.5,-1498.5 2208.5,-1498.5 2208.5,-1445.5 2391.5,-1445.5 2391.5,-1498.5"/>
<text text-anchor="middle" x="2300" y="-1483.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="2300" y="-1468.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="2300" y="-1453.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses to the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5023 -->
<g id="edge65" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M2391.7,-1489.3C2464,-1503.6 2567.1,-1525.5 2656,-1550 2666.8,-1553 2678.1,-1556.3 2689.2,-1559.8"/>
<polygon fill="#000000" stroke="#000000" points="2688.41,-1563.221 2699,-1562.9 2690.5213,-1556.5469 2688.41,-1563.221"/>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5020 -->
<g id="edge64" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M2354.5,-1498.6C2388.1,-1514.9 2431.8,-1536.2 2469.1,-1554.4"/>
<polygon fill="#000000" stroke="#000000" points="2467.969,-1557.7389 2478.5,-1558.9 2470.9916,-1551.4251 2467.969,-1557.7389"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node55" class="node">
<title>zcash/orchard#36</title>
<g id="a_node55"><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="2103.5,-1348 1909.5,-1348 1909.5,-1280 2103.5,-1280 2103.5,-1348"/>
<text text-anchor="middle" x="2006.5" y="-1332.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="2006.5" y="-1317.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="2006.5" y="-1302.8" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="2006.5" y="-1287.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge66" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2103.6,-1334.9C2122.5,-1340.8 2141.8,-1348.1 2159,-1357 2200,-1378.3 2240.2,-1412.8 2267.1,-1438.5"/>
<polygon fill="#000000" stroke="#000000" points="2264.6902,-1441.0387 2274.3,-1445.5 2269.5698,-1436.0197 2264.6902,-1441.0387"/>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge67" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2103.9,-1288.5C2122.3,-1283.2 2141.4,-1277.2 2159,-1271 2177.6,-1264.5 2197.2,-1256.7 2215.7,-1248.9"/>
<polygon fill="#000000" stroke="#000000" points="2217.1316,-1252.095 2225,-1245 2214.4245,-1245.6396 2217.1316,-1252.095"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node57" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2656,-1245 2441,-1245 2441,-1177 2656,-1177 2656,-1245"/>
<text text-anchor="middle" x="2548.5" y="-1229.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="2548.5" y="-1214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2548.5" y="-1199.8" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="2548.5" y="-1184.8" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge68" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M2394.3,-1211C2406.2,-1211 2418.5,-1211 2430.7,-1211"/>
<polygon fill="#000000" stroke="#000000" points="2430.9,-1214.5001 2440.9,-1211 2430.9,-1207.5001 2430.9,-1214.5001"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node58" class="node">
<title>zcash/orchard#30</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2092.5,-1419.5 1920.5,-1419.5 1920.5,-1366.5 2092.5,-1366.5 2092.5,-1419.5"/>
<text text-anchor="middle" x="2006.5" y="-1404.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="2006.5" y="-1389.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="2006.5" y="-1374.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge69" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2092.6,-1412.3C2114.4,-1417.5 2137.6,-1423.2 2159,-1429 2174.3,-1433.1 2190.5,-1437.8 2206.3,-1442.5"/>
<polygon fill="#000000" stroke="#000000" points="2205.4164,-1445.8889 2216,-1445.4 2207.4216,-1439.1822 2205.4164,-1445.8889"/>
</g>
<!-- zcash/zcash#4999 -->
<g id="node59" class="node">
<title>zcash/zcash#4999</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/zcash/pull/4999" xlink:title="zcash/zcash#4999&#10;Bitcoin 0.13 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="205.5,-2791 12.5,-2791 12.5,-2787 8.5,-2787 8.5,-2783 12.5,-2783 12.5,-2761 8.5,-2761 8.5,-2757 12.5,-2757 12.5,-2753 205.5,-2753 205.5,-2791"/>
<polyline fill="none" stroke="#000000" points="12.5,-2787 16.5,-2787 16.5,-2783 12.5,-2783 "/>
<polyline fill="none" stroke="#000000" points="12.5,-2761 16.5,-2761 16.5,-2757 12.5,-2757 "/>
<text text-anchor="middle" x="109" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4999</text>
<text text-anchor="middle" x="109" y="-2760.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.13 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009 -->
<g id="node60" class="node">
<title>zcash/zcash#5009</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/zcash/pull/5009" xlink:title="zcash/zcash#5009&#10;Bitcoin 0.14 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="450.5,-2791 257.5,-2791 257.5,-2787 253.5,-2787 253.5,-2783 257.5,-2783 257.5,-2761 253.5,-2761 253.5,-2757 257.5,-2757 257.5,-2753 450.5,-2753 450.5,-2791"/>
<polyline fill="none" stroke="#000000" points="257.5,-2787 261.5,-2787 261.5,-2783 257.5,-2783 "/>
<polyline fill="none" stroke="#000000" points="257.5,-2761 261.5,-2761 261.5,-2757 257.5,-2757 "/>
<text text-anchor="middle" x="354" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5009</text>
<text text-anchor="middle" x="354" y="-2760.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.14 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4999&#45;&gt;zcash/zcash#5009 -->
<g id="edge70" class="edge">
<title>zcash/zcash#4999&#45;&gt;zcash/zcash#5009</title>
<path fill="none" stroke="#000000" d="M205.83,-2772C219.5,-2772 233.61,-2772 247.45,-2772"/>
<polygon fill="#000000" stroke="#000000" points="247.47,-2775.5001 257.47,-2772 247.47,-2768.5001 247.47,-2775.5001"/>
</g>
<!-- zcash/zcash#5012 -->
<g id="node61" class="node">
<title>zcash/zcash#5012</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/zcash/pull/5012" xlink:title="zcash/zcash#5012&#10;Bitcoin 0.15 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="739,-2791 546,-2791 546,-2787 542,-2787 542,-2783 546,-2783 546,-2761 542,-2761 542,-2757 546,-2757 546,-2753 739,-2753 739,-2791"/>
<polyline fill="none" stroke="#000000" points="546,-2787 550,-2787 550,-2783 546,-2783 "/>
<polyline fill="none" stroke="#000000" points="546,-2761 550,-2761 550,-2757 546,-2757 "/>
<text text-anchor="middle" x="642.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5012</text>
<text text-anchor="middle" x="642.5" y="-2760.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.15 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009&#45;&gt;zcash/zcash#5012 -->
<g id="edge71" class="edge">
<title>zcash/zcash#5009&#45;&gt;zcash/zcash#5012</title>
<path fill="none" stroke="#000000" d="M450.87,-2772C478.13,-2772 507.94,-2772 535.74,-2772"/>
<polygon fill="#000000" stroke="#000000" points="535.89,-2775.5001 545.89,-2772 535.89,-2768.5001 535.89,-2775.5001"/>
</g>
<!-- zcash/zcash#5017 -->
<g id="node62" class="node">
<title>zcash/zcash#5017</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/zcash/pull/5017" xlink:title="zcash/zcash#5017&#10;Bitcoin 0.16 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1080,-2791 887,-2791 887,-2787 883,-2787 883,-2783 887,-2783 887,-2761 883,-2761 883,-2757 887,-2757 887,-2753 1080,-2753 1080,-2791"/>
<polyline fill="none" stroke="#000000" points="887,-2787 891,-2787 891,-2783 887,-2783 "/>
<polyline fill="none" stroke="#000000" points="887,-2761 891,-2761 891,-2757 887,-2757 "/>
<text text-anchor="middle" x="983.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5017</text>
<text text-anchor="middle" x="983.5" y="-2760.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.16 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5012&#45;&gt;zcash/zcash#5017 -->
<g id="edge72" class="edge">
<title>zcash/zcash#5012&#45;&gt;zcash/zcash#5017</title>
<path fill="none" stroke="#000000" d="M739.3,-2772C782.14,-2772 832.66,-2772 876.61,-2772"/>
<polygon fill="#000000" stroke="#000000" points="876.75,-2775.5001 886.75,-2772 876.75,-2768.5001 876.75,-2775.5001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node63" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node63"><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="1421,-2791 1228,-2791 1228,-2787 1224,-2787 1224,-2783 1228,-2783 1228,-2761 1224,-2761 1224,-2757 1228,-2757 1228,-2753 1421,-2753 1421,-2791"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2787 1232,-2787 1232,-2783 1228,-2783 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2761 1232,-2761 1232,-2757 1228,-2757 "/>
<text text-anchor="middle" x="1324.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="1324.5" y="-2760.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5017&#45;&gt;zcash/zcash#5034 -->
<g id="edge73" class="edge">
<title>zcash/zcash#5017&#45;&gt;zcash/zcash#5034</title>
<path fill="none" stroke="#000000" d="M1080.3,-2772C1123.1,-2772 1173.7,-2772 1217.6,-2772"/>
<polygon fill="#000000" stroke="#000000" points="1217.7,-2775.5001 1227.7,-2772 1217.7,-2768.5001 1217.7,-2775.5001"/>
</g>
<!-- zcash/zcash#5050 -->
<g id="node64" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node64"><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="1762,-2791 1569,-2791 1569,-2787 1565,-2787 1565,-2783 1569,-2783 1569,-2761 1565,-2761 1565,-2757 1569,-2757 1569,-2753 1762,-2753 1762,-2791"/>
<polyline fill="none" stroke="#000000" points="1569,-2787 1573,-2787 1573,-2783 1569,-2783 "/>
<polyline fill="none" stroke="#000000" points="1569,-2761 1573,-2761 1573,-2757 1569,-2757 "/>
<text text-anchor="middle" x="1665.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="1665.5" y="-2760.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge74" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M1421.3,-2772C1464.1,-2772 1514.7,-2772 1558.6,-2772"/>
<polygon fill="#000000" stroke="#000000" points="1558.7,-2775.5001 1568.7,-2772 1558.7,-2768.5001 1558.7,-2775.5001"/>
</g>
<!-- zcash/zcash#4997 -->
<g id="node65" class="node">
<title>zcash/zcash#4997</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/zcash/pull/4997" xlink:title="zcash/zcash#4997&#10;Replace setInventoryKnown&#10;with a rolling bloom&#10;filter" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="218,-2955 0,-2955 0,-2951 -4,-2951 -4,-2947 0,-2947 0,-2895 -4,-2895 -4,-2891 0,-2891 0,-2887 218,-2887 218,-2955"/>
<polyline fill="none" stroke="#000000" points="0,-2951 4,-2951 4,-2947 0,-2947 "/>
<polyline fill="none" stroke="#000000" points="0,-2895 4,-2895 4,-2891 0,-2891 "/>
<text text-anchor="middle" x="109" y="-2939.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4997</text>
<text text-anchor="middle" x="109" y="-2924.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace setInventoryKnown</text>
<text text-anchor="middle" x="109" y="-2909.8" font-family="Times,serif" font-size="14.00" fill="#000000">with a rolling bloom</text>
<text text-anchor="middle" x="109" y="-2894.8" font-family="Times,serif" font-size="14.00" fill="#000000">filter</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534 -->
<g id="node66" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node66"><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="454,-2947.5 254,-2947.5 254,-2943.5 250,-2943.5 250,-2939.5 254,-2939.5 254,-2902.5 250,-2902.5 250,-2898.5 254,-2898.5 254,-2894.5 454,-2894.5 454,-2947.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2943.5 258,-2943.5 258,-2939.5 254,-2939.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2902.5 258,-2902.5 258,-2898.5 254,-2898.5 "/>
<text text-anchor="middle" x="354" y="-2932.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="354" y="-2917.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="354" y="-2902.3" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#4997&#45;&gt;zcash/zcash#2534 -->
<g id="edge75" class="edge">
<title>zcash/zcash#4997&#45;&gt;zcash/zcash#2534</title>
<path fill="none" stroke="#000000" d="M218.24,-2921C226.68,-2921 235.2,-2921 243.65,-2921"/>
<polygon fill="#000000" stroke="#000000" points="243.9,-2924.5001 253.9,-2921 243.9,-2917.5001 243.9,-2924.5001"/>
</g>
<!-- zcash/zcash#5003 -->
<g id="node67" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node67"><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="748.5,-3003.5 536.5,-3003.5 536.5,-2999.5 532.5,-2999.5 532.5,-2995.5 536.5,-2995.5 536.5,-2958.5 532.5,-2958.5 532.5,-2954.5 536.5,-2954.5 536.5,-2950.5 748.5,-2950.5 748.5,-3003.5"/>
<polyline fill="none" stroke="#000000" points="536.5,-2999.5 540.5,-2999.5 540.5,-2995.5 536.5,-2995.5 "/>
<polyline fill="none" stroke="#000000" points="536.5,-2958.5 540.5,-2958.5 540.5,-2954.5 536.5,-2954.5 "/>
<text text-anchor="middle" x="642.5" y="-2988.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="642.5" y="-2973.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="642.5" y="-2958.3" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge76" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M454.09,-2940.4C477.41,-2945 502.43,-2949.8 526.37,-2954.5"/>
<polygon fill="#000000" stroke="#000000" points="525.7175,-2957.9386 536.2,-2956.4 527.046,-2951.0658 525.7175,-2957.9386"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node68" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node68"><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="1079,-2900 888,-2900 888,-2896 884,-2896 884,-2892 888,-2892 888,-2840 884,-2840 884,-2836 888,-2836 888,-2832 1079,-2832 1079,-2900"/>
<polyline fill="none" stroke="#000000" points="888,-2896 892,-2896 892,-2892 888,-2892 "/>
<polyline fill="none" stroke="#000000" points="888,-2840 892,-2840 892,-2836 888,-2836 "/>
<text text-anchor="middle" x="983.5" y="-2884.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="983.5" y="-2869.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="983.5" y="-2854.8" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="983.5" y="-2839.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge77" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M443.03,-2894.4C458.56,-2890.7 474.66,-2887.3 490,-2885 622.6,-2865.1 777.35,-2862.5 877.71,-2863.4"/>
<polygon fill="#000000" stroke="#000000" points="877.8159,-2866.9011 887.85,-2863.5 877.885,-2859.9015 877.8159,-2866.9011"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node69" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node69"><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="1070.5,-3001.5 896.5,-3001.5 896.5,-2997.5 892.5,-2997.5 892.5,-2993.5 896.5,-2993.5 896.5,-2926.5 892.5,-2926.5 892.5,-2922.5 896.5,-2922.5 896.5,-2918.5 1070.5,-2918.5 1070.5,-3001.5"/>
<polyline fill="none" stroke="#000000" points="896.5,-2997.5 900.5,-2997.5 900.5,-2993.5 896.5,-2993.5 "/>
<polyline fill="none" stroke="#000000" points="896.5,-2926.5 900.5,-2926.5 900.5,-2922.5 896.5,-2922.5 "/>
<text text-anchor="middle" x="983.5" y="-2986.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="983.5" y="-2971.3" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="983.5" y="-2956.3" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="983.5" y="-2941.3" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="983.5" y="-2926.3" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge78" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M748.53,-2971.7C792.51,-2969.5 843.2,-2967 886.22,-2964.8"/>
<polygon fill="#000000" stroke="#000000" points="886.5936,-2968.286 896.41,-2964.3 886.2505,-2961.2944 886.5936,-2968.286"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node70" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node70"><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="1433.5,-2909 1215.5,-2909 1215.5,-2905 1211.5,-2905 1211.5,-2901 1215.5,-2901 1215.5,-2879 1211.5,-2879 1211.5,-2875 1215.5,-2875 1215.5,-2871 1433.5,-2871 1433.5,-2909"/>
<polyline fill="none" stroke="#000000" points="1215.5,-2905 1219.5,-2905 1219.5,-2901 1215.5,-2901 "/>
<polyline fill="none" stroke="#000000" points="1215.5,-2879 1219.5,-2879 1219.5,-2875 1215.5,-2875 "/>
<text text-anchor="middle" x="1324.5" y="-2893.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1324.5" y="-2878.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge79" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1079.4,-2872.7C1118.4,-2875.5 1164,-2878.7 1205.1,-2881.6"/>
<polygon fill="#000000" stroke="#000000" points="1204.9819,-2885.1001 1215.2,-2882.3 1205.466,-2878.1169 1204.9819,-2885.1001"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge80" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1070.9,-2942.1C1116.9,-2932.6 1173.7,-2921 1221.9,-2911.1"/>
<polygon fill="#000000" stroke="#000000" points="1222.6018,-2914.529 1231.7,-2909.1 1221.2021,-2907.6704 1222.6018,-2914.529"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node71" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node71"><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="1760,-2924 1571,-2924 1571,-2920 1567,-2920 1567,-2916 1571,-2916 1571,-2864 1567,-2864 1567,-2860 1571,-2860 1571,-2856 1760,-2856 1760,-2924"/>
<polyline fill="none" stroke="#000000" points="1571,-2920 1575,-2920 1575,-2916 1571,-2916 "/>
<polyline fill="none" stroke="#000000" points="1571,-2864 1575,-2864 1575,-2860 1571,-2860 "/>
<text text-anchor="middle" x="1665.5" y="-2908.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1665.5" y="-2893.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1665.5" y="-2878.8" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1665.5" y="-2863.8" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge81" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1433.8,-2890C1474.5,-2890 1520.5,-2890 1560.8,-2890"/>
<polygon fill="#000000" stroke="#000000" points="1560.9,-2893.5001 1570.9,-2890 1560.9,-2886.5001 1560.9,-2893.5001"/>
</g>
<!-- zcash/zcash#4996 -->
<g id="node72" class="node">
<title>zcash/zcash#4996</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/zcash/pull/4996" xlink:title="zcash/zcash#4996&#10;Add &#45;blocksonly option" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="732.5,-2932 552.5,-2932 552.5,-2928 548.5,-2928 548.5,-2924 552.5,-2924 552.5,-2902 548.5,-2902 548.5,-2898 552.5,-2898 552.5,-2894 732.5,-2894 732.5,-2932"/>
<polyline fill="none" stroke="#000000" points="552.5,-2928 556.5,-2928 556.5,-2924 552.5,-2924 "/>
<polyline fill="none" stroke="#000000" points="552.5,-2902 556.5,-2902 556.5,-2898 552.5,-2898 "/>
<text text-anchor="middle" x="642.5" y="-2916.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4996</text>
<text text-anchor="middle" x="642.5" y="-2901.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add &#45;blocksonly option</text>
</a>
</g>
</g>
<!-- zcash/zcash#4996&#45;&gt;zcash/zcash#5004 -->
<g id="edge82" class="edge">
<title>zcash/zcash#4996&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M732.54,-2925.4C779.88,-2931.9 837.97,-2939.9 886.33,-2946.6"/>
<polygon fill="#000000" stroke="#000000" points="886.1058,-2950.1021 896.49,-2948 887.0614,-2943.1676 886.1058,-2950.1021"/>
</g>
<!-- zcash/zcash#4988 -->
<g id="node73" class="node">
<title>zcash/zcash#4988</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/zcash/pull/4988" xlink:title="zcash/zcash#4988&#10;Add feature flagging&#10;infrastructure to&#10;consensus parameters." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="200,-68 18,-68 18,-64 14,-64 14,-60 18,-60 18,-8 14,-8 14,-4 18,-4 18,0 200,0 200,-68"/>
<polyline fill="none" stroke="#000000" points="18,-64 22,-64 22,-60 18,-60 "/>
<polyline fill="none" stroke="#000000" points="18,-8 22,-8 22,-4 18,-4 "/>
<text text-anchor="middle" x="109" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4988</text>
<text text-anchor="middle" x="109" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add feature flagging</text>
<text text-anchor="middle" x="109" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">infrastructure to</text>
<text text-anchor="middle" x="109" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters.</text>
</a>
</g>
</g>
<!-- zcash/zcash#4988&#45;&gt;zcash/zcash#4190 -->
<g id="edge83" class="edge">
<title>zcash/zcash#4988&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M200.23,-47.405C216.57,-49.806 233.7,-52.323 250.35,-54.77"/>
<polygon fill="#000000" stroke="#000000" points="250.2475,-58.2924 260.65,-56.283 251.2649,-51.3667 250.2475,-58.2924"/>
</g>
<!-- zcash/zcash#3722 -->
<g id="node74" class="node">
<title>zcash/zcash#3722</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/zcash/issues/3722" xlink:title="zcash/zcash#3722&#10;Decouple consensus&#10;changes from Network&#10;Upgrades in the zcashd&#10;code" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2393,-2505.5 2207,-2505.5 2207,-2422.5 2393,-2422.5 2393,-2505.5"/>
<text text-anchor="middle" x="2300" y="-2490.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#3722</text>
<text text-anchor="middle" x="2300" y="-2475.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decouple consensus</text>
<text text-anchor="middle" x="2300" y="-2460.3" font-family="Times,serif" font-size="14.00" fill="#000000">changes from Network</text>
<text text-anchor="middle" x="2300" y="-2445.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrades in the zcashd</text>
<text text-anchor="middle" x="2300" y="-2430.3" font-family="Times,serif" font-size="14.00" fill="#000000">code</text>
</a>
</g>
</g>
<!-- zcash/zcash#3722&#45;&gt;zcash/zcash#5024 -->
<g id="edge84" class="edge">
<title>zcash/zcash#3722&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2393.2,-2431.7C2415.8,-2423.9 2439.8,-2415.6 2462,-2407.9"/>
<polygon fill="#000000" stroke="#000000" points="2463.4398,-2411.1083 2471.8,-2404.6 2461.2059,-2404.4743 2463.4398,-2411.1083"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node75" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/librustzcash/issues/368" xlink:title="zcash/librustzcash#368&#10;zcash_history: Add&#10;Orchard support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2394,-2698.5 2206,-2698.5 2206,-2645.5 2394,-2645.5 2394,-2698.5"/>
<text text-anchor="middle" x="2300" y="-2683.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="2300" y="-2668.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="2300" y="-2653.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard support</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#368&#45;&gt;zcash/zcash#5037 -->
<g id="edge85" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2394.3,-2655.7C2408.7,-2653.2 2423.7,-2650.6 2438.3,-2648.1"/>
<polygon fill="#000000" stroke="#000000" points="2439.2604,-2651.4847 2448.5,-2646.3 2438.0439,-2644.5912 2439.2604,-2651.4847"/>
</g>
<!-- zcash/zcash#5056 -->
<g id="node76" class="node">
<title>zcash/zcash#5056</title>
<g id="a_node76"><a xlink:href="https://github.com/zcash/zcash/issues/5056" xlink:title="zcash/zcash#5056&#10;Identify necessary RPC&#10;changes to support&#10;Unified Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2099,-1506 1914,-1506 1914,-1438 2099,-1438 2099,-1506"/>
<text text-anchor="middle" x="2006.5" y="-1490.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5056</text>
<text text-anchor="middle" x="2006.5" y="-1475.8" font-family="Times,serif" font-size="14.00" fill="#000000">Identify necessary RPC</text>
<text text-anchor="middle" x="2006.5" y="-1460.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes to support</text>
<text text-anchor="middle" x="2006.5" y="-1445.8" font-family="Times,serif" font-size="14.00" fill="#000000">Unified Addresses</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5019 -->
<g id="edge87" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2099.4,-1472C2130.8,-1472 2166.1,-1472 2198.2,-1472"/>
<polygon fill="#000000" stroke="#000000" points="2198.5,-1475.5001 2208.5,-1472 2198.5,-1468.5001 2198.5,-1475.5001"/>
</g>
<!-- zcash/zips#475 -->
<g id="node77" class="node">
<title>zcash/zips#475</title>
<g id="a_node77"><a xlink:href="https://github.com/zcash/zips/issues/475" xlink:title="zcash/zips#475&#10;ZIP 221: Add Orchard&#10;commitment tree roots" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2097.5,-2698.5 1915.5,-2698.5 1915.5,-2645.5 2097.5,-2645.5 2097.5,-2698.5"/>
<text text-anchor="middle" x="2006.5" y="-2683.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#475</text>
<text text-anchor="middle" x="2006.5" y="-2668.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 221: Add Orchard</text>
<text text-anchor="middle" x="2006.5" y="-2653.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree roots</text>
</a>
</g>
</g>
<!-- zcash/zips#475&#45;&gt;zcash/librustzcash#368 -->
<g id="edge88" class="edge">
<title>zcash/zips#475&#45;&gt;zcash/librustzcash#368</title>
<path fill="none" stroke="#000000" d="M2097.8,-2672C2128.7,-2672 2163.6,-2672 2195.5,-2672"/>
<polygon fill="#000000" stroke="#000000" points="2195.8,-2675.5001 2205.8,-2672 2195.8,-2668.5001 2195.8,-2675.5001"/>
</g>
<!-- zcash/zips#482 -->
<g id="node78" class="node">
<title>zcash/zips#482</title>
<g id="a_node78"><a xlink:href="https://github.com/zcash/zips/issues/482" xlink:title="zcash/zips#482&#10;[ZIP 316] Unified&#10;Addresses" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2077,-1205.5 1936,-1205.5 1936,-1152.5 2077,-1152.5 2077,-1205.5"/>
<text text-anchor="middle" x="2006.5" y="-1190.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#482</text>
<text text-anchor="middle" x="2006.5" y="-1175.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 316] Unified</text>
<text text-anchor="middle" x="2006.5" y="-1160.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#482&#45;&gt;zcash/librustzcash#371 -->
<g id="edge89" class="edge">
<title>zcash/zips#482&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2077.2,-1186.7C2112.7,-1190.6 2156.4,-1195.3 2195.7,-1199.6"/>
<polygon fill="#000000" stroke="#000000" points="2195.4798,-1203.0966 2205.8,-1200.7 2196.2378,-1196.1378 2195.4798,-1203.0966"/>
</g>
<!-- zcash/librustzcash#300 -->
<g id="node79" class="node">
<title>zcash/librustzcash#300</title>
<g id="a_node79"><a xlink:href="https://github.com/zcash/librustzcash/issues/300" xlink:title="zcash/librustzcash#300&#10;Use feature flags to gate&#10;access to ZIP&#45;222 code." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="206,-195.5 12,-195.5 12,-142.5 206,-142.5 206,-195.5"/>
<text text-anchor="middle" x="109" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#300</text>
<text text-anchor="middle" x="109" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use feature flags to gate</text>
<text text-anchor="middle" x="109" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">access to ZIP&#45;222 code.</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226 -->
<g id="edge90" class="edge">
<title>zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M206.18,-169C220.37,-169 235.04,-169 249.37,-169"/>
<polygon fill="#000000" stroke="#000000" points="249.73,-172.5001 259.73,-169 249.73,-165.5001 249.73,-172.5001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node80" class="node">
<title>zcash/halo2#63</title>
<g id="a_node80"><a xlink:href="https://github.com/zcash/halo2/issues/63" xlink:title="zcash/halo2#63&#10;Implement zero&#45;knowledge&#45;&#10;ness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2114.5,-2146.5 1898.5,-2146.5 1898.5,-2093.5 2114.5,-2093.5 2114.5,-2146.5"/>
<text text-anchor="middle" x="2006.5" y="-2131.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="2006.5" y="-2116.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="2006.5" y="-2101.3" font-family="Times,serif" font-size="14.00" fill="#000000">ness</text>
</a>
</g>
</g>
<!-- zcash/halo2#63&#45;&gt;zcash/librustzcash#320 -->
<g id="edge91" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2114.5,-2120C2140.4,-2120 2167.9,-2120 2193.7,-2120"/>
<polygon fill="#000000" stroke="#000000" points="2193.8,-2123.5001 2203.8,-2120 2193.8,-2116.5001 2193.8,-2123.5001"/>
</g>
<!-- zcash/librustzcash#349 -->
<g id="node81" class="node">
<title>zcash/librustzcash#349</title>
<g id="a_node81"><a xlink:href="https://github.com/zcash/librustzcash/issues/349" xlink:title="zcash/librustzcash#349&#10;Generalise note&#10;encryption logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1759.5,-1854.5 1571.5,-1854.5 1571.5,-1801.5 1759.5,-1801.5 1759.5,-1854.5"/>
<text text-anchor="middle" x="1665.5" y="-1839.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#349</text>
<text text-anchor="middle" x="1665.5" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalise note</text>
<text text-anchor="middle" x="1665.5" y="-1809.3" font-family="Times,serif" font-size="14.00" fill="#000000">encryption logic</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#349&#45;&gt;zcash/orchard#32 -->
<g id="edge92" class="edge">
<title>zcash/librustzcash#349&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1759.6,-1828C1800,-1828 1847.7,-1828 1890.3,-1828"/>
<polygon fill="#000000" stroke="#000000" points="1890.4,-1831.5001 1900.4,-1828 1890.4,-1824.5001 1890.4,-1831.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25 -->
<g id="node82" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</title>
<g id="a_node82"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/25" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#10;Implement F4Jumble" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1818,-1262 1513,-1262 1513,-1224 1818,-1224 1818,-1262"/>
<text text-anchor="middle" x="1665.5" y="-1246.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</text>
<text text-anchor="middle" x="1665.5" y="-1231.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement F4Jumble</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="edge93" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<path fill="none" stroke="#000000" d="M1802.2,-1223.9C1807.8,-1221 1813,-1217.7 1818,-1214 1846.3,-1192.7 1826.1,-1164.8 1854,-1143 1855.2,-1142.1 1856.4,-1141.1 1857.7,-1140.2"/>
<polygon fill="#000000" stroke="#000000" points="1859.6511,-1143.1061 1866.1,-1134.7 1855.8165,-1137.2497 1859.6511,-1143.1061"/>
</g>
<!-- zcash/librustzcash#378 -->
<g id="node83" class="node">
<title>zcash/librustzcash#378</title>
<g id="a_node83"><a xlink:href="https://github.com/zcash/librustzcash/issues/378" xlink:title="zcash/librustzcash#378&#10;Implement F4Jumble" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2100.5,-1262 1912.5,-1262 1912.5,-1224 2100.5,-1224 2100.5,-1262"/>
<text text-anchor="middle" x="2006.5" y="-1246.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#378</text>
<text text-anchor="middle" x="2006.5" y="-1231.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement F4Jumble</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378 -->
<g id="edge94" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378</title>
<path fill="none" stroke="#000000" d="M1818,-1243C1846.5,-1243 1875.6,-1243 1902.2,-1243"/>
<polygon fill="#000000" stroke="#000000" points="1902.3,-1246.5001 1912.3,-1243 1902.3,-1239.5001 1902.3,-1246.5001"/>
</g>
<!-- zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371 -->
<g id="edge95" class="edge">
<title>zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2100.6,-1232.7C2131,-1229.4 2164.9,-1225.7 2196,-1222.3"/>
<polygon fill="#000000" stroke="#000000" points="2196.3979,-1225.7778 2206,-1221.3 2195.7013,-1218.8125 2196.3979,-1225.7778"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14 -->
<g id="node84" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</title>
<g id="a_node84"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/14" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#10;Implementation of Pallas" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="795,-998 490,-998 490,-994 486,-994 486,-990 490,-990 490,-968 486,-968 486,-964 490,-964 490,-960 795,-960 795,-998"/>
<polyline fill="none" stroke="#000000" points="490,-994 494,-994 494,-990 490,-990 "/>
<polyline fill="none" stroke="#000000" points="490,-968 494,-968 494,-964 490,-964 "/>
<text text-anchor="middle" x="642.5" y="-982.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</text>
<text text-anchor="middle" x="642.5" y="-967.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implementation of Pallas</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17 -->
<g id="node85" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<g id="a_node85"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/17" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#10;Add iso&#45;Pallas, SWU hash&#45;&#10;to&#45;curve, and Sinsemilla" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1136,-1005.5 831,-1005.5 831,-1001.5 827,-1001.5 827,-997.5 831,-997.5 831,-960.5 827,-960.5 827,-956.5 831,-956.5 831,-952.5 1136,-952.5 1136,-1005.5"/>
<polyline fill="none" stroke="#000000" points="831,-1001.5 835,-1001.5 835,-997.5 831,-997.5 "/>
<polyline fill="none" stroke="#000000" points="831,-960.5 835,-960.5 835,-956.5 831,-956.5 "/>
<text text-anchor="middle" x="983.5" y="-990.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</text>
<text text-anchor="middle" x="983.5" y="-975.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add iso&#45;Pallas, SWU hash&#45;</text>
<text text-anchor="middle" x="983.5" y="-960.3" font-family="Times,serif" font-size="14.00" fill="#000000">to&#45;curve, and Sinsemilla</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#17 -->
<g id="edge96" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<path fill="none" stroke="#000000" d="M795.05,-979C803.59,-979 812.19,-979 820.76,-979"/>
<polygon fill="#000000" stroke="#000000" points="820.81,-982.5001 830.81,-979 820.81,-975.5001 820.81,-982.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="node86" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<g id="a_node86"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/18" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#10;Add Orchard generators" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1477,-1063 1172,-1063 1172,-1059 1168,-1059 1168,-1055 1172,-1055 1172,-1033 1168,-1033 1168,-1029 1172,-1029 1172,-1025 1477,-1025 1477,-1063"/>
<polyline fill="none" stroke="#000000" points="1172,-1059 1176,-1059 1176,-1055 1172,-1055 "/>
<polyline fill="none" stroke="#000000" points="1172,-1033 1176,-1033 1176,-1029 1172,-1029 "/>
<text text-anchor="middle" x="1324.5" y="-1047.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</text>
<text text-anchor="middle" x="1324.5" y="-1032.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard generators</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="edge97" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<path fill="none" stroke="#000000" d="M1122.7,-1005.5C1153.4,-1011.4 1185.5,-1017.5 1214.8,-1023.1"/>
<polygon fill="#000000" stroke="#000000" points="1214.1166,-1026.5326 1224.6,-1025 1215.449,-1019.6606 1214.1166,-1026.5326"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="node87" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<g id="a_node87"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/15" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#10;Implement ZIP 225 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1477,-940.5 1172,-940.5 1172,-887.5 1477,-887.5 1477,-940.5"/>
<text text-anchor="middle" x="1324.5" y="-925.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</text>
<text text-anchor="middle" x="1324.5" y="-910.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 225 test</text>
<text text-anchor="middle" x="1324.5" y="-895.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="edge98" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<path fill="none" stroke="#000000" d="M1122.7,-952.47C1139.9,-949.18 1157.6,-945.81 1175,-942.5"/>
<polygon fill="#000000" stroke="#000000" points="1176.0351,-945.8656 1185.2,-940.55 1174.7206,-938.9901 1176.0351,-945.8656"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge99" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<path fill="none" stroke="#000000" d="M1425.9,-1063C1453.6,-1068.2 1484.2,-1074 1514,-1079.6"/>
<polygon fill="#000000" stroke="#000000" points="1513.6253,-1083.0908 1524.1,-1081.5 1514.9195,-1076.2115 1513.6253,-1083.0908"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="node88" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<g id="a_node88"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/21" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#21&#10;Add Orchard MerkleCRH" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1818,-1063 1513,-1063 1513,-1059 1509,-1059 1509,-1055 1513,-1055 1513,-1033 1509,-1033 1509,-1029 1513,-1029 1513,-1025 1818,-1025 1818,-1063"/>
<polyline fill="none" stroke="#000000" points="1513,-1059 1517,-1059 1517,-1055 1513,-1055 "/>
<polyline fill="none" stroke="#000000" points="1513,-1033 1517,-1033 1517,-1029 1513,-1029 "/>
<text text-anchor="middle" x="1665.5" y="-1047.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</text>
<text text-anchor="middle" x="1665.5" y="-1032.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard MerkleCRH</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="edge100" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<path fill="none" stroke="#000000" d="M1477,-1044C1485.6,-1044 1494.2,-1044 1502.8,-1044"/>
<polygon fill="#000000" stroke="#000000" points="1502.8,-1047.5001 1512.8,-1044 1502.8,-1040.5001 1502.8,-1047.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="node89" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<g id="a_node89"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/23" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#10;Implement ZIP 244 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1818,-905.5 1513,-905.5 1513,-852.5 1818,-852.5 1818,-905.5"/>
<text text-anchor="middle" x="1665.5" y="-890.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</text>
<text text-anchor="middle" x="1665.5" y="-875.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 244 test</text>
<text text-anchor="middle" x="1665.5" y="-860.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="edge101" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<path fill="none" stroke="#000000" d="M1477,-898.34C1485.6,-897.47 1494.2,-896.58 1502.8,-895.7"/>
<polygon fill="#000000" stroke="#000000" points="1503.2113,-899.1762 1512.8,-894.67 1502.494,-892.2131 1503.2113,-899.1762"/>
</g>
<!-- zcash/halo2#39 -->
<g id="node90" class="node">
<title>zcash/halo2#39</title>
<g id="a_node90"><a xlink:href="https://github.com/zcash/halo2/issues/39" xlink:title="zcash/halo2#39&#10;Add support for&#10;coefficient blinding&#10;factors in&#10;poly::commitment" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1402,-2269.5 1247,-2269.5 1247,-2186.5 1402,-2186.5 1402,-2269.5"/>
<text text-anchor="middle" x="1324.5" y="-2254.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#39</text>
<text text-anchor="middle" x="1324.5" y="-2239.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="1324.5" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">coefficient blinding</text>
<text text-anchor="middle" x="1324.5" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">factors in</text>
<text text-anchor="middle" x="1324.5" y="-2194.3" font-family="Times,serif" font-size="14.00" fill="#000000">poly::commitment</text>
</a>
</g>
</g>
<!-- zcash/halo2#39&#45;&gt;zcash/halo2#63 -->
<g id="edge102" class="edge">
<title>zcash/halo2#39&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M1402.3,-2204.1C1436.1,-2194.5 1476.2,-2184.1 1513,-2177 1640.1,-2152.6 1787.8,-2137.2 1888.3,-2128.7"/>
<polygon fill="#000000" stroke="#000000" points="1888.8464,-2132.1655 1898.5,-2127.8 1888.231,-2125.1926 1888.8464,-2132.1655"/>
</g>
<!-- zcash/halo2#65 -->
<g id="node91" class="node">
<title>zcash/halo2#65</title>
<g id="a_node91"><a xlink:href="https://github.com/zcash/halo2/issues/65" xlink:title="zcash/halo2#65&#10;Implement SHA&#45;256 gadget" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1092.5,-1941 874.5,-1941 874.5,-1903 1092.5,-1903 1092.5,-1941"/>
<text text-anchor="middle" x="983.5" y="-1925.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#65</text>
<text text-anchor="middle" x="983.5" y="-1910.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement SHA&#45;256 gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#64 -->
<g id="node92" class="node">
<title>zcash/halo2#64</title>
<g id="a_node92"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1409.5,-1783.5 1239.5,-1783.5 1239.5,-1730.5 1409.5,-1730.5 1409.5,-1783.5"/>
<text text-anchor="middle" x="1324.5" y="-1768.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="1324.5" y="-1753.3" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="1324.5" y="-1738.3" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#65&#45;&gt;zcash/halo2#64 -->
<g id="edge103" class="edge">
<title>zcash/halo2#65&#45;&gt;zcash/halo2#64</title>
<path fill="none" stroke="#000000" d="M1092.8,-1908.5C1107.7,-1904.5 1122.5,-1899.5 1136,-1893 1155,-1883.8 1155.3,-1874.9 1172,-1862 1205.2,-1836.4 1244.3,-1809.6 1274.5,-1789.4"/>
<polygon fill="#000000" stroke="#000000" points="1276.7535,-1792.1079 1283.2,-1783.7 1272.9173,-1786.2527 1276.7535,-1792.1079"/>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#73 -->
<g id="edge104" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1409.7,-1757C1457.9,-1757 1518.5,-1757 1568.6,-1757"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-1760.5001 1578.8,-1757 1568.8,-1753.5001 1568.8,-1760.5001"/>
</g>
<!-- zcash/halo2#235 -->
<g id="node93" class="node">
<title>zcash/halo2#235</title>
<g id="a_node93"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1753.5,-1712.5 1577.5,-1712.5 1577.5,-1659.5 1753.5,-1659.5 1753.5,-1712.5"/>
<text text-anchor="middle" x="1665.5" y="-1697.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="1665.5" y="-1682.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="1665.5" y="-1667.3" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge105" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M1409.7,-1739.3C1457.6,-1729.3 1517.6,-1716.8 1567.4,-1706.4"/>
<polygon fill="#000000" stroke="#000000" points="1568.1911,-1709.811 1577.3,-1704.4 1566.8049,-1702.9496 1568.1911,-1709.811"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge106" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1753.8,-1691.7C1801.6,-1694.8 1860.7,-1698.6 1909.8,-1701.8"/>
<polygon fill="#000000" stroke="#000000" points="1909.6083,-1705.2947 1919.8,-1702.4 1910.0276,-1698.3073 1909.6083,-1705.2947"/>
</g>
<!-- zcash/halo2#44 -->
<g id="node94" class="node">
<title>zcash/halo2#44</title>
<g id="a_node94"><a xlink:href="https://github.com/zcash/halo2/issues/44" xlink:title="zcash/halo2#44&#10;Implement lookup argument" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="753,-1901 532,-1901 532,-1863 753,-1863 753,-1901"/>
<text text-anchor="middle" x="642.5" y="-1885.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#44</text>
<text text-anchor="middle" x="642.5" y="-1870.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement lookup argument</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#65 -->
<g id="edge107" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#65</title>
<path fill="none" stroke="#000000" d="M753.21,-1895C788.68,-1899.1 828.09,-1903.8 864.14,-1908"/>
<polygon fill="#000000" stroke="#000000" points="863.8763,-1911.4932 874.22,-1909.2 864.7039,-1904.5423 863.8763,-1911.4932"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node95" class="node">
<title>zcash/halo2#57</title>
<g id="a_node95"><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="1055,-1783 912,-1783 912,-1715 1055,-1715 1055,-1783"/>
<text text-anchor="middle" x="983.5" y="-1767.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="983.5" y="-1752.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="983.5" y="-1737.8" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="983.5" y="-1722.8" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#57 -->
<g id="edge108" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#57</title>
<path fill="none" stroke="#000000" d="M677.84,-1862.9C715.14,-1843.2 776.02,-1812.7 831,-1792 853.64,-1783.5 878.72,-1775.7 901.89,-1769.2"/>
<polygon fill="#000000" stroke="#000000" points="902.9789,-1772.5305 911.69,-1766.5 901.1195,-1765.7819 902.9789,-1772.5305"/>
</g>
<!-- zcash/halo2#82 -->
<g id="node96" class="node">
<title>zcash/halo2#82</title>
<g id="a_node96"><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="1080,-1884.5 887,-1884.5 887,-1801.5 1080,-1801.5 1080,-1884.5"/>
<text text-anchor="middle" x="983.5" y="-1869.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="983.5" y="-1854.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="983.5" y="-1839.3" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="983.5" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="983.5" y="-1809.3" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#82 -->
<g id="edge109" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#82</title>
<path fill="none" stroke="#000000" d="M753.21,-1869.3C792.84,-1864.8 837.4,-1859.7 876.69,-1855.2"/>
<polygon fill="#000000" stroke="#000000" points="877.2563,-1858.6592 886.82,-1854.1 876.5006,-1851.7001 877.2563,-1858.6592"/>
</g>
<!-- zcash/halo2#62 -->
<g id="node97" class="node">
<title>zcash/halo2#62</title>
<g id="a_node97"><a xlink:href="https://github.com/zcash/halo2/issues/62" xlink:title="zcash/halo2#62&#10;Modularise prover and&#10;verifier by introducing&#10;internal APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1073,-2262 894,-2262 894,-2194 1073,-2194 1073,-2262"/>
<text text-anchor="middle" x="983.5" y="-2246.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#62</text>
<text text-anchor="middle" x="983.5" y="-2231.8" font-family="Times,serif" font-size="14.00" fill="#000000">Modularise prover and</text>
<text text-anchor="middle" x="983.5" y="-2216.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier by introducing</text>
<text text-anchor="middle" x="983.5" y="-2201.8" font-family="Times,serif" font-size="14.00" fill="#000000">internal APIs</text>
</a>
</g>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#66 -->
<g id="edge110" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#66</title>
<path fill="none" stroke="#000000" d="M1073,-2252.3C1104.3,-2260.6 1139.7,-2269.9 1172,-2278 1186.3,-2281.6 1201.4,-2285.3 1216.2,-2288.8"/>
<polygon fill="#000000" stroke="#000000" points="1215.4545,-2292.2208 1226,-2291.2 1217.1196,-2285.4217 1215.4545,-2292.2208"/>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#39 -->
<g id="edge111" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#39</title>
<path fill="none" stroke="#000000" d="M1073.1,-2228C1123.6,-2228 1186.4,-2228 1236.6,-2228"/>
<polygon fill="#000000" stroke="#000000" points="1236.8,-2231.5001 1246.8,-2228 1236.8,-2224.5001 1236.8,-2231.5001"/>
</g>
<!-- zcash/halo2#61 -->
<g id="node98" class="node">
<title>zcash/halo2#61</title>
<g id="a_node98"><a xlink:href="https://github.com/zcash/halo2/pull/61" xlink:title="zcash/halo2#61&#10;Migrate to ff traits" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="184.5,-2374 33.5,-2374 33.5,-2370 29.5,-2370 29.5,-2366 33.5,-2366 33.5,-2344 29.5,-2344 29.5,-2340 33.5,-2340 33.5,-2336 184.5,-2336 184.5,-2374"/>
<polyline fill="none" stroke="#000000" points="33.5,-2370 37.5,-2370 37.5,-2366 33.5,-2366 "/>
<polyline fill="none" stroke="#000000" points="33.5,-2344 37.5,-2344 37.5,-2340 33.5,-2340 "/>
<text text-anchor="middle" x="109" y="-2358.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#61</text>
<text text-anchor="middle" x="109" y="-2343.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to ff traits</text>
</a>
</g>
</g>
<!-- zcash/halo2#68 -->
<g id="node99" class="node">
<title>zcash/halo2#68</title>
<g id="a_node99"><a xlink:href="https://github.com/zcash/halo2/issues/68" xlink:title="zcash/halo2#68&#10;Migrate to the Pasta&#10;curves" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="436,-2381.5 272,-2381.5 272,-2328.5 436,-2328.5 436,-2381.5"/>
<text text-anchor="middle" x="354" y="-2366.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#68</text>
<text text-anchor="middle" x="354" y="-2351.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the Pasta</text>
<text text-anchor="middle" x="354" y="-2336.3" font-family="Times,serif" font-size="14.00" fill="#000000">curves</text>
</a>
</g>
</g>
<!-- zcash/halo2#61&#45;&gt;zcash/halo2#68 -->
<g id="edge112" class="edge">
<title>zcash/halo2#61&#45;&gt;zcash/halo2#68</title>
<path fill="none" stroke="#000000" d="M184.51,-2355C208.96,-2355 236.36,-2355 261.88,-2355"/>
<polygon fill="#000000" stroke="#000000" points="261.93,-2358.5001 271.93,-2355 261.93,-2351.5001 261.93,-2358.5001"/>
</g>
<!-- zcash/halo2#68&#45;&gt;zcash/halo2#72 -->
<g id="edge113" class="edge">
<title>zcash/halo2#68&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M436.29,-2368.4C469.03,-2373.7 507.03,-2379.9 541.42,-2385.5"/>
<polygon fill="#000000" stroke="#000000" points="541.0572,-2388.9882 551.5,-2387.2 542.2213,-2382.0856 541.0572,-2388.9882"/>
</g>
<!-- zcash/halo2#70 -->
<g id="node100" class="node">
<title>zcash/halo2#70</title>
<g id="a_node100"><a xlink:href="https://github.com/zcash/halo2/pull/70" xlink:title="zcash/halo2#70&#10;Extract permutation&#10;argument and introduce&#10;typed challenges" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="449.5,-2001 258.5,-2001 258.5,-1997 254.5,-1997 254.5,-1993 258.5,-1993 258.5,-1941 254.5,-1941 254.5,-1937 258.5,-1937 258.5,-1933 449.5,-1933 449.5,-2001"/>
<polyline fill="none" stroke="#000000" points="258.5,-1997 262.5,-1997 262.5,-1993 258.5,-1993 "/>
<polyline fill="none" stroke="#000000" points="258.5,-1941 262.5,-1941 262.5,-1937 258.5,-1937 "/>
<text text-anchor="middle" x="354" y="-1985.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#70</text>
<text text-anchor="middle" x="354" y="-1970.8" font-family="Times,serif" font-size="14.00" fill="#000000">Extract permutation</text>
<text text-anchor="middle" x="354" y="-1955.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument and introduce</text>
<text text-anchor="middle" x="354" y="-1940.8" font-family="Times,serif" font-size="14.00" fill="#000000">typed challenges</text>
</a>
</g>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#44 -->
<g id="edge114" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#44</title>
<path fill="none" stroke="#000000" d="M449.67,-1938.8C488.05,-1927.5 531.62,-1914.7 567.63,-1904.1"/>
<polygon fill="#000000" stroke="#000000" points="569.0161,-1907.3378 577.58,-1901.1 566.9953,-1900.6358 569.0161,-1907.3378"/>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#62 -->
<g id="edge115" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#62</title>
<path fill="none" stroke="#000000" d="M436.3,-2001.1C553.88,-2049.9 769.24,-2139.2 891.8,-2190"/>
<polygon fill="#000000" stroke="#000000" points="890.6026,-2193.2926 901.18,-2193.9 893.29,-2186.829 890.6026,-2193.2926"/>
</g>
<!-- zcash/halo2#78 -->
<g id="node101" class="node">
<title>zcash/halo2#78</title>
<g id="a_node101"><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="1426.5,-869 1222.5,-869 1222.5,-801 1426.5,-801 1426.5,-869"/>
<text text-anchor="middle" x="1324.5" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="1324.5" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="1324.5" y="-823.8" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="1324.5" y="-808.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#75 -->
<g id="edge116" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1426.6,-833.35C1556.1,-831.26 1778.1,-827.68 1906.5,-825.61"/>
<polygon fill="#000000" stroke="#000000" points="1906.8556,-829.105 1916.8,-825.45 1906.7468,-822.1058 1906.8556,-829.105"/>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge117" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1426.7,-855.99C1444.1,-861.74 1461.6,-868.96 1477,-878 1496.5,-889.44 1493.8,-902.09 1513,-914 1531.9,-925.72 1553.9,-935.09 1575.1,-942.43"/>
<polygon fill="#000000" stroke="#000000" points="1574.2064,-945.8213 1584.8,-945.66 1576.418,-939.1799 1574.2064,-945.8213"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node102" class="node">
<title>zcash/halo2#250</title>
<g id="a_node102"><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="1762.5,-657.5 1568.5,-657.5 1568.5,-604.5 1762.5,-604.5 1762.5,-657.5"/>
<text text-anchor="middle" x="1665.5" y="-642.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="1665.5" y="-627.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="1665.5" y="-612.3" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge118" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.6,-812.85C1443.9,-807.24 1461.4,-800.36 1477,-792 1539.5,-758.57 1599.7,-701.47 1634.6,-665.03"/>
<polygon fill="#000000" stroke="#000000" points="1637.3031,-667.2644 1641.6,-657.58 1632.2017,-662.4711 1637.3031,-667.2644"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge119" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1712.6,-657.63C1774.8,-692.84 1884.2,-754.8 1950.6,-792.35"/>
<polygon fill="#000000" stroke="#000000" points="1949.2716,-795.6194 1959.7,-797.49 1952.7143,-789.5244 1949.2716,-795.6194"/>
</g>
<!-- zcash/halo2#77 -->
<g id="node103" class="node">
<title>zcash/halo2#77</title>
<g id="a_node103"><a xlink:href="https://github.com/zcash/halo2/issues/77" xlink:title="zcash/halo2#77&#10;Implement Rescue gadget" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1427,-997 1222,-997 1222,-959 1427,-959 1427,-997"/>
<text text-anchor="middle" x="1324.5" y="-981.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#77</text>
<text text-anchor="middle" x="1324.5" y="-966.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Rescue gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#77&#45;&gt;zcash/halo2#79 -->
<g id="edge120" class="edge">
<title>zcash/halo2#77&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1427.3,-974.08C1474.2,-972.29 1529.3,-970.19 1574.7,-968.46"/>
<polygon fill="#000000" stroke="#000000" points="1575.0411,-971.9496 1584.9,-968.07 1574.7735,-964.9547 1575.0411,-971.9496"/>
</g>
<!-- zcash/halo2#248 -->
<g id="node104" class="node">
<title>zcash/halo2#248</title>
<g id="a_node104"><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="1426,-538.5 1223,-538.5 1223,-485.5 1426,-485.5 1426,-538.5"/>
<text text-anchor="middle" x="1324.5" y="-523.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="1324.5" y="-508.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="1324.5" y="-493.3" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge121" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.1,-533.25C1443.3,-537.61 1460.7,-542.56 1477,-548 1520,-562.39 1566.6,-582.86 1602.7,-599.87"/>
<polygon fill="#000000" stroke="#000000" points="1601.567,-603.2071 1612.1,-604.35 1604.5786,-596.8881 1601.567,-603.2071"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node105" class="node">
<title>zcash/halo2#249</title>
<g id="a_node105"><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="1417,-381 1232,-381 1232,-313 1417,-313 1417,-381"/>
<text text-anchor="middle" x="1324.5" y="-365.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="1324.5" y="-350.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="1324.5" y="-335.8" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="1324.5" y="-320.8" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge122" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1417.3,-363.12C1438.1,-369.38 1459.2,-378.05 1477,-390 1557.1,-443.74 1618.4,-542.51 1647.3,-595.38"/>
<polygon fill="#000000" stroke="#000000" points="1644.3091,-597.2099 1652.1,-604.39 1650.4871,-593.9186 1644.3091,-597.2099"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node106" class="node">
<title>zcash/halo2#246</title>
<g id="a_node106"><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="1073,-459.5 894,-459.5 894,-406.5 1073,-406.5 1073,-459.5"/>
<text text-anchor="middle" x="983.5" y="-444.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="983.5" y="-429.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="983.5" y="-414.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node107" class="node">
<title>zcash/halo2#247</title>
<g id="a_node107"><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="1412.5,-467 1236.5,-467 1236.5,-399 1412.5,-399 1412.5,-467"/>
<text text-anchor="middle" x="1324.5" y="-451.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="1324.5" y="-436.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="1324.5" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="1324.5" y="-406.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge123" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M1073.1,-433C1120.2,-433 1177.9,-433 1226.2,-433"/>
<polygon fill="#000000" stroke="#000000" points="1226.4,-436.5001 1236.4,-433 1226.4,-429.5001 1226.4,-436.5001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge124" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1412.8,-451.23C1434.5,-457.49 1457.1,-465.62 1477,-476 1538.2,-507.97 1597.8,-562.02 1633.1,-597.1"/>
<polygon fill="#000000" stroke="#000000" points="1630.7476,-599.6971 1640.3,-604.28 1635.6905,-594.7404 1630.7476,-599.6971"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node108" class="node">
<title>zcash/halo2#245</title>
<g id="a_node108"><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="1427.5,-783 1221.5,-783 1221.5,-715 1427.5,-715 1427.5,-783"/>
<text text-anchor="middle" x="1324.5" y="-767.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="1324.5" y="-752.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="1324.5" y="-737.8" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="1324.5" y="-722.8" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge125" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1427.9,-720.59C1444.4,-715.65 1461.2,-710.36 1477,-705 1515.5,-691.92 1557.7,-675.56 1592.3,-661.55"/>
<polygon fill="#000000" stroke="#000000" points="1593.9401,-664.6622 1601.9,-657.67 1591.3171,-658.1723 1593.9401,-664.6622"/>
</g>
<!-- zcash/halo2#151 -->
<g id="node109" class="node">
<title>zcash/halo2#151</title>
<g id="a_node109"><a xlink:href="https://github.com/zcash/halo2/issues/151" xlink:title="zcash/halo2#151&#10;Add support for full&#45;&#10;field challenge space" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1408,-696.5 1241,-696.5 1241,-643.5 1408,-643.5 1408,-696.5"/>
<text text-anchor="middle" x="1324.5" y="-681.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#151</text>
<text text-anchor="middle" x="1324.5" y="-666.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for full&#45;</text>
<text text-anchor="middle" x="1324.5" y="-651.3" font-family="Times,serif" font-size="14.00" fill="#000000">field challenge space</text>
</a>
</g>
</g>
<!-- zcash/halo2#151&#45;&gt;zcash/halo2#250 -->
<g id="edge126" class="edge">
<title>zcash/halo2#151&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1408.4,-660.41C1453.6,-655.24 1509.8,-648.81 1558.2,-643.27"/>
<polygon fill="#000000" stroke="#000000" points="1558.8596,-646.7176 1568.4,-642.11 1558.0685,-639.7625 1558.8596,-646.7176"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node110" class="node">
<title>zcash/halo2#210</title>
<g id="a_node110"><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="1433.5,-625 1215.5,-625 1215.5,-557 1433.5,-557 1433.5,-625"/>
<text text-anchor="middle" x="1324.5" y="-609.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="1324.5" y="-594.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="1324.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="1324.5" y="-564.8" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge127" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1433.8,-603.82C1473.7,-608.5 1518.7,-613.78 1558.4,-618.43"/>
<polygon fill="#000000" stroke="#000000" points="1557.9583,-621.9021 1568.3,-619.6 1558.7799,-614.9504 1557.9583,-621.9021"/>
</g>
<!-- zcash/orchard#29 -->
<g id="node111" class="node">
<title>zcash/orchard#29</title>
<g id="a_node111"><a xlink:href="https://github.com/zcash/orchard/issues/29" xlink:title="zcash/orchard#29&#10;Implement Orchard key&#10;structure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1760,-1333.5 1571,-1333.5 1571,-1280.5 1760,-1280.5 1760,-1333.5"/>
<text text-anchor="middle" x="1665.5" y="-1318.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#29</text>
<text text-anchor="middle" x="1665.5" y="-1303.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-1288.3" font-family="Times,serif" font-size="14.00" fill="#000000">structure</text>
</a>
</g>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#35 -->
<g id="edge128" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1760.3,-1312.3C1781.7,-1317.8 1802.6,-1327.2 1818,-1343 1872.5,-1398.9 1796.5,-1462.1 1854,-1515 1954.5,-1607.5 2037.7,-1490.1 2159,-1553 2211.9,-1580.4 2254.9,-1636.3 2278.9,-1672.9"/>
<polygon fill="#000000" stroke="#000000" points="2275.9482,-1674.7809 2284.3,-1681.3 2281.8365,-1670.9955 2275.9482,-1674.7809"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#36 -->
<g id="edge129" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#36</title>
<path fill="none" stroke="#000000" d="M1760,-1308.9C1803.3,-1309.8 1854.7,-1310.9 1899.4,-1311.8"/>
<polygon fill="#000000" stroke="#000000" points="1899.332,-1315.2992 1909.4,-1312 1899.472,-1308.3006 1899.332,-1315.2992"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#30 -->
<g id="edge130" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#30</title>
<path fill="none" stroke="#000000" d="M1760,-1327.1C1779.3,-1331.9 1799.4,-1337.2 1818,-1343 1834.4,-1348.1 1837.6,-1351.9 1854,-1357 1872.1,-1362.6 1891.7,-1367.9 1910.6,-1372.5"/>
<polygon fill="#000000" stroke="#000000" points="1909.8545,-1375.9208 1920.4,-1374.9 1911.5196,-1369.1217 1909.8545,-1375.9208"/>
</g>
<!-- zcash/orchard#27 -->
<g id="node112" class="node">
<title>zcash/orchard#27</title>
<g id="a_node112"><a xlink:href="https://github.com/zcash/orchard/pull/27" xlink:title="zcash/orchard#27&#10;Make Bundle a parametric&#10;type over an&#10;Authorization trait" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1769.5,-2397 1561.5,-2397 1561.5,-2393 1557.5,-2393 1557.5,-2389 1561.5,-2389 1561.5,-2337 1557.5,-2337 1557.5,-2333 1561.5,-2333 1561.5,-2329 1769.5,-2329 1769.5,-2397"/>
<polyline fill="none" stroke="#000000" points="1561.5,-2393 1565.5,-2393 1565.5,-2389 1561.5,-2389 "/>
<polyline fill="none" stroke="#000000" points="1561.5,-2337 1565.5,-2337 1565.5,-2333 1561.5,-2333 "/>
<text text-anchor="middle" x="1665.5" y="-2381.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#27</text>
<text text-anchor="middle" x="1665.5" y="-2366.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make Bundle a parametric</text>
<text text-anchor="middle" x="1665.5" y="-2351.8" font-family="Times,serif" font-size="14.00" fill="#000000">type over an</text>
<text text-anchor="middle" x="1665.5" y="-2336.8" font-family="Times,serif" font-size="14.00" fill="#000000">Authorization trait</text>
</a>
</g>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#35 -->
<g id="edge131" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1769.7,-2339.1C1914,-2305.9 2157.3,-2249.8 2159,-2248 2211.4,-2194.9 2177,-2156.4 2195,-2084 2226.3,-1958.6 2269.2,-1811.4 2289.1,-1744.4"/>
<polygon fill="#000000" stroke="#000000" points="2292.4586,-1745.3849 2292,-1734.8 2285.7577,-1743.3606 2292.4586,-1745.3849"/>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#34 -->
<g id="edge132" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1769.7,-2363C1811.6,-2363 1859.8,-2363 1901.7,-2363"/>
<polygon fill="#000000" stroke="#000000" points="1902,-2366.5001 1912,-2363 1902,-2359.5001 1902,-2366.5001"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node113" class="node">
<title>zcash/orchard#38</title>
<g id="a_node113"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1761,-1641.5 1570,-1641.5 1570,-1588.5 1761,-1588.5 1761,-1641.5"/>
<text text-anchor="middle" x="1665.5" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="1665.5" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="1665.5" y="-1596.3" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#4 -->
<g id="edge133" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1761.4,-1635.9C1780.2,-1640.3 1799.8,-1645.1 1818,-1650 1849.8,-1658.5 1884.3,-1668.8 1914.9,-1678.4"/>
<polygon fill="#000000" stroke="#000000" points="1914.2147,-1681.8494 1924.8,-1681.4 1916.2448,-1675.1503 1914.2147,-1681.8494"/>
</g>
<!-- zcash/orchard#55 -->
<g id="node114" class="node">
<title>zcash/orchard#55</title>
<g id="a_node114"><a xlink:href="https://github.com/zcash/orchard/issues/55" xlink:title="zcash/orchard#55&#10;Handle the (negligible&#10;probability of) failure&#10;of SinsemillaShortCommit" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1768.5,-2735 1562.5,-2735 1562.5,-2667 1768.5,-2667 1768.5,-2735"/>
<text text-anchor="middle" x="1665.5" y="-2719.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#55</text>
<text text-anchor="middle" x="1665.5" y="-2704.8" font-family="Times,serif" font-size="14.00" fill="#000000">Handle the (negligible</text>
<text text-anchor="middle" x="1665.5" y="-2689.8" font-family="Times,serif" font-size="14.00" fill="#000000">probability of) failure</text>
<text text-anchor="middle" x="1665.5" y="-2674.8" font-family="Times,serif" font-size="14.00" fill="#000000">of SinsemillaShortCommit</text>
</a>
</g>
</g>
<!-- zcash/orchard#55&#45;&gt;zcash/orchard#33 -->
<g id="edge134" class="edge">
<title>zcash/orchard#55&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1768.8,-2674.9C1785.5,-2669.7 1802.4,-2663.7 1818,-2657 1835,-2649.7 1836.9,-2643.2 1854,-2636 1864.6,-2631.5 1875.8,-2627.4 1887.1,-2623.7"/>
<polygon fill="#000000" stroke="#000000" points="1888.1791,-2627.0296 1896.6,-2620.6 1886.0076,-2620.3749 1888.1791,-2627.0296"/>
</g>
<!-- zcash/orchard#70 -->
<g id="node115" class="node">
<title>zcash/orchard#70</title>
<g id="a_node115"><a xlink:href="https://github.com/zcash/orchard/pull/70" xlink:title="zcash/orchard#70&#10;Bundle APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1739.5,-1532 1591.5,-1532 1591.5,-1528 1587.5,-1528 1587.5,-1524 1591.5,-1524 1591.5,-1502 1587.5,-1502 1587.5,-1498 1591.5,-1498 1591.5,-1494 1739.5,-1494 1739.5,-1532"/>
<polyline fill="none" stroke="#000000" points="1591.5,-1528 1595.5,-1528 1595.5,-1524 1591.5,-1524 "/>
<polyline fill="none" stroke="#000000" points="1591.5,-1502 1595.5,-1502 1595.5,-1498 1591.5,-1498 "/>
<text text-anchor="middle" x="1665.5" y="-1516.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#70</text>
<text text-anchor="middle" x="1665.5" y="-1501.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle APIs</text>
</a>
</g>
</g>
<!-- zcash/orchard#49 -->
<g id="node116" class="node">
<title>zcash/orchard#49</title>
<g id="a_node116"><a xlink:href="https://github.com/zcash/orchard/pull/49" xlink:title="zcash/orchard#49&#10;Bundle builder" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2080.5,-1600 1932.5,-1600 1932.5,-1596 1928.5,-1596 1928.5,-1592 1932.5,-1592 1932.5,-1570 1928.5,-1570 1928.5,-1566 1932.5,-1566 1932.5,-1562 2080.5,-1562 2080.5,-1600"/>
<polyline fill="none" stroke="#000000" points="1932.5,-1596 1936.5,-1596 1936.5,-1592 1932.5,-1592 "/>
<polyline fill="none" stroke="#000000" points="1932.5,-1570 1936.5,-1570 1936.5,-1566 1932.5,-1566 "/>
<text text-anchor="middle" x="2006.5" y="-1584.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#49</text>
<text text-anchor="middle" x="2006.5" y="-1569.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#70&#45;&gt;zcash/orchard#49 -->
<g id="edge135" class="edge">
<title>zcash/orchard#70&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1739.9,-1527.8C1793.7,-1538.6 1866.5,-1553.1 1922.4,-1564.2"/>
<polygon fill="#000000" stroke="#000000" points="1921.7021,-1567.6296 1932.2,-1566.2 1923.1018,-1560.771 1921.7021,-1567.6296"/>
</g>
<!-- zcash/orchard#49&#45;&gt;zcash/orchard#35 -->
<g id="edge136" class="edge">
<title>zcash/orchard#49&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2050.4,-1600C2097.7,-1620.5 2173.5,-1653.3 2229.2,-1677.4"/>
<polygon fill="#000000" stroke="#000000" points="2228.028,-1680.7049 2238.6,-1681.4 2230.7689,-1674.2638 2228.028,-1680.7049"/>
</g>
<!-- zcash/orchard#58 -->
<g id="node117" class="node">
<title>zcash/orchard#58</title>
<g id="a_node117"><a xlink:href="https://github.com/zcash/orchard/pull/58" xlink:title="zcash/orchard#58&#10;Proving and verifying&#10;keys, and placeholder&#10;proof logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1752,-1420 1579,-1420 1579,-1416 1575,-1416 1575,-1412 1579,-1412 1579,-1360 1575,-1360 1575,-1356 1579,-1356 1579,-1352 1752,-1352 1752,-1420"/>
<polyline fill="none" stroke="#000000" points="1579,-1416 1583,-1416 1583,-1412 1579,-1412 "/>
<polyline fill="none" stroke="#000000" points="1579,-1360 1583,-1360 1583,-1356 1579,-1356 "/>
<text text-anchor="middle" x="1665.5" y="-1404.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#58</text>
<text text-anchor="middle" x="1665.5" y="-1389.8" font-family="Times,serif" font-size="14.00" fill="#000000">Proving and verifying</text>
<text text-anchor="middle" x="1665.5" y="-1374.8" font-family="Times,serif" font-size="14.00" fill="#000000">keys, and placeholder</text>
<text text-anchor="middle" x="1665.5" y="-1359.8" font-family="Times,serif" font-size="14.00" fill="#000000">proof logic</text>
</a>
</g>
</g>
<!-- zcash/orchard#58&#45;&gt;zcash/orchard#49 -->
<g id="edge137" class="edge">
<title>zcash/orchard#58&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1752,-1394.8C1776,-1401.1 1800.2,-1411.6 1818,-1429 1857.4,-1467.7 1813.4,-1510.5 1854,-1548 1872.5,-1565 1897.6,-1574.1 1922.1,-1578.6"/>
<polygon fill="#000000" stroke="#000000" points="1921.6548,-1582.0745 1932.1,-1580.3 1922.8281,-1575.1735 1921.6548,-1582.0745"/>
</g>
<!-- zcash/orchard#60 -->
<g id="node118" class="node">
<title>zcash/orchard#60</title>
<g id="a_node118"><a xlink:href="https://github.com/zcash/orchard/pull/60" xlink:title="zcash/orchard#60&#10;Dummy note generation" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1419.5,-1405 1229.5,-1405 1229.5,-1401 1225.5,-1401 1225.5,-1397 1229.5,-1397 1229.5,-1375 1225.5,-1375 1225.5,-1371 1229.5,-1371 1229.5,-1367 1419.5,-1367 1419.5,-1405"/>
<polyline fill="none" stroke="#000000" points="1229.5,-1401 1233.5,-1401 1233.5,-1397 1229.5,-1397 "/>
<polyline fill="none" stroke="#000000" points="1229.5,-1375 1233.5,-1375 1233.5,-1371 1229.5,-1371 "/>
<text text-anchor="middle" x="1324.5" y="-1389.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#60</text>
<text text-anchor="middle" x="1324.5" y="-1374.8" font-family="Times,serif" font-size="14.00" fill="#000000">Dummy note generation</text>
</a>
</g>
</g>
<!-- zcash/orchard#60&#45;&gt;zcash/orchard#58 -->
<g id="edge138" class="edge">
<title>zcash/orchard#60&#45;&gt;zcash/orchard#58</title>
<path fill="none" stroke="#000000" d="M1419.9,-1386C1466.4,-1386 1522.1,-1386 1568.7,-1386"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-1389.5001 1578.8,-1386 1568.8,-1382.5001 1568.8,-1389.5001"/>
</g>
<!-- zcash/orchard#72 -->
<g id="node119" class="node">
<title>zcash/orchard#72</title>
<g id="a_node119"><a xlink:href="https://github.com/zcash/orchard/pull/72" xlink:title="zcash/orchard#72&#10;Builder preparations" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1748,-1476 1583,-1476 1583,-1472 1579,-1472 1579,-1468 1583,-1468 1583,-1446 1579,-1446 1579,-1442 1583,-1442 1583,-1438 1748,-1438 1748,-1476"/>
<polyline fill="none" stroke="#000000" points="1583,-1472 1587,-1472 1587,-1468 1583,-1468 "/>
<polyline fill="none" stroke="#000000" points="1583,-1446 1587,-1446 1587,-1442 1583,-1442 "/>
<text text-anchor="middle" x="1665.5" y="-1460.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#72</text>
<text text-anchor="middle" x="1665.5" y="-1445.8" font-family="Times,serif" font-size="14.00" fill="#000000">Builder preparations</text>
</a>
</g>
</g>
<!-- zcash/orchard#72&#45;&gt;zcash/orchard#49 -->
<g id="edge139" class="edge">
<title>zcash/orchard#72&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1748.2,-1459.1C1772.4,-1463 1797.8,-1470.7 1818,-1485 1844.3,-1503.6 1828,-1528.9 1854,-1548 1873.7,-1562.4 1898.4,-1570.8 1922.2,-1575.6"/>
<polygon fill="#000000" stroke="#000000" points="1921.841,-1579.0911 1932.3,-1577.4 1923.0692,-1572.1997 1921.841,-1579.0911"/>
</g>
</g>
</svg>