developers/zcash-core-dag.svg

1319 lines
93 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="1925pt" height="2013pt"
viewBox="0.00 0.00 1925.00 2013.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2009)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2009 1921,-2009 1921,4 -4,4"/>
<!-- zcash/librustzcash#226 -->
<g id="node1" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/librustzcash/issues/226" xlink:title="zcash/librustzcash#226&#10;Bring in Bolt TZE" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="246.5,-194.5 58.5,-194.5 58.5,-156.5 246.5,-156.5 246.5,-194.5"/>
<text text-anchor="middle" x="152.5" y="-179.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="152.5" y="-164.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node2" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node2"><a xlink:href="https://github.com/zcash/librustzcash/issues/225" xlink:title="zcash/librustzcash#225&#10;Add Bolt TZE support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550,-202 358,-202 358,-149 550,-149 550,-202"/>
<text text-anchor="middle" x="454" y="-186.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="454" y="-171.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="454" y="-156.8" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge1" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M246.66,-175.5C278.76,-175.5 314.86,-175.5 347.84,-175.5"/>
<polygon fill="#000000" stroke="#000000" points="347.96,-179.0001 357.96,-175.5 347.96,-172.0001 347.96,-179.0001"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node3" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node3"><a xlink:href="https://github.com/zcash/zcash/issues/4190" xlink:title="zcash/zcash#4190&#10;TZE: implement zcashd&#10;&#39;host&#39; logic." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="245.5,-266 59.5,-266 59.5,-213 245.5,-213 245.5,-266"/>
<text text-anchor="middle" x="152.5" y="-250.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="152.5" y="-235.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="152.5" y="-220.8" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/orchard#4 -->
<g id="node4" class="node">
<title>zcash/orchard#4</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/orchard/issues/4" xlink:title="zcash/orchard#4&#10;Implement the Action&#10;circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="797.5,-1080 624.5,-1080 624.5,-1027 797.5,-1027 797.5,-1080"/>
<text text-anchor="middle" x="711" y="-1064.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="711" y="-1049.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="711" y="-1034.8" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node5" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node5"><a xlink:href="https://github.com/zcash/librustzcash/issues/320" xlink:title="zcash/librustzcash#320&#10;Implement Orchard&#10;consensus rules as an NU&#10;feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1109,-969.5 906,-969.5 906,-901.5 1109,-901.5 1109,-969.5"/>
<text text-anchor="middle" x="1007.5" y="-954.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="1007.5" y="-939.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1007.5" y="-924.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules as an NU</text>
<text text-anchor="middle" x="1007.5" y="-909.3" font-family="Times,serif" font-size="14.00" fill="#000000">feature</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/librustzcash#320 -->
<g id="edge2" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M756.24,-1026.9C784.05,-1011.3 820.81,-992.06 855,-978.5 868.09,-973.31 882.04,-968.48 895.99,-964.06"/>
<polygon fill="#000000" stroke="#000000" points="897.1098,-967.3773 905.63,-961.08 895.0424,-960.6896 897.1098,-967.3773"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node6" class="node">
<title>zcash/orchard#35</title>
<g id="a_node6"><a xlink:href="https://github.com/zcash/orchard/issues/35" xlink:title="zcash/orchard#35&#10;Transaction building&#10;support" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1090,-1127 925,-1127 925,-1074 1090,-1074 1090,-1127"/>
<text text-anchor="middle" x="1007.5" y="-1111.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="1007.5" y="-1096.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="1007.5" y="-1081.8" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge3" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M797.56,-1067.2C834.43,-1073.1 877.5,-1079.9 915,-1085.8"/>
<polygon fill="#000000" stroke="#000000" points="914.4799,-1089.2613 924.91,-1087.4 915.5957,-1082.3508 914.4799,-1089.2613"/>
</g>
<!-- zcash/zcash#5195 -->
<g id="node7" class="node">
<title>zcash/zcash#5195</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/5195" xlink:title="zcash/zcash#5195&#10;Implement Orchard proof&#10;verification consensus&#10;rule" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1108,-1055.5 907,-1055.5 907,-987.5 1108,-987.5 1108,-1055.5"/>
<text text-anchor="middle" x="1007.5" y="-1040.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5195</text>
<text text-anchor="middle" x="1007.5" y="-1025.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard proof</text>
<text text-anchor="middle" x="1007.5" y="-1010.3" font-family="Times,serif" font-size="14.00" fill="#000000">verification consensus</text>
<text text-anchor="middle" x="1007.5" y="-995.3" font-family="Times,serif" font-size="14.00" fill="#000000">rule</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/zcash#5195 -->
<g id="edge4" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/zcash#5195</title>
<path fill="none" stroke="#000000" d="M797.56,-1044.2C828.62,-1040.8 864.07,-1037 896.89,-1033.4"/>
<polygon fill="#000000" stroke="#000000" points="897.4182,-1036.8632 906.98,-1032.3 896.6596,-1029.9045 897.4182,-1036.8632"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node8" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/5024" xlink:title="zcash/zcash#5024&#10;Implement NU5 consensus&#10;rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1409.5,-848 1197.5,-848 1197.5,-795 1409.5,-795 1409.5,-848"/>
<text text-anchor="middle" x="1303.5" y="-832.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="1303.5" y="-817.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 consensus</text>
<text text-anchor="middle" x="1303.5" y="-802.8" font-family="Times,serif" font-size="14.00" fill="#000000">rules</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#320&#45;&gt;zcash/zcash#5024 -->
<g id="edge5" class="edge">
<title>zcash/librustzcash#320&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1109.2,-908.81C1126.3,-903.57 1143.8,-897.74 1160,-891.5 1188.7,-880.46 1219.4,-865.85 1245.1,-852.84"/>
<polygon fill="#000000" stroke="#000000" points="1247.0003,-855.7989 1254.3,-848.12 1243.8049,-849.5707 1247.0003,-855.7989"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node9" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1397.5,-1041 1209.5,-1041 1209.5,-988 1397.5,-988 1397.5,-1041"/>
<text text-anchor="middle" x="1303.5" y="-1025.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="1303.5" y="-1010.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="1303.5" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge6" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M1090.2,-1082.6C1113,-1077.3 1137.5,-1071 1160,-1064.5 1180.4,-1058.5 1202.3,-1051.4 1222.6,-1044.3"/>
<polygon fill="#000000" stroke="#000000" points="1223.8022,-1047.5876 1232.1,-1041 1221.5052,-1040.9752 1223.8022,-1047.5876"/>
</g>
<!-- zcash/zcash#5195&#45;&gt;zcash/zcash#5024 -->
<g id="edge7" class="edge">
<title>zcash/zcash#5195&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1108.1,-1001.7C1126.1,-995.84 1144.2,-988.25 1160,-978.5 1211.1,-947.01 1255.1,-892.25 1280.5,-856.44"/>
<polygon fill="#000000" stroke="#000000" points="1283.3778,-858.4321 1286.2,-848.22 1277.6255,-854.4432 1283.3778,-858.4321"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node10" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node10"><a xlink:href="https://github.com/zcash/zcash/issues/5023" xlink:title="zcash/zcash#5023&#10;Implement support for&#10;Orchard shielded coinbase&#10;output" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1659,-818.5 1450,-818.5 1450,-750.5 1659,-750.5 1659,-818.5"/>
<text text-anchor="middle" x="1554.5" y="-803.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="1554.5" y="-788.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1554.5" y="-773.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="1554.5" y="-758.3" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge8" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1332.8,-987.67C1376.3,-947.77 1458.5,-872.48 1509.6,-825.6"/>
<polygon fill="#000000" stroke="#000000" points="1512.2417,-827.9294 1517.3,-818.62 1507.5403,-822.7431 1512.2417,-827.9294"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node11" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node11"><a xlink:href="https://github.com/zcash/zcash/issues/4707" xlink:title="zcash/zcash#4707&#10;[Orchard] Consensus&#10;specification" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="795.5,-962 626.5,-962 626.5,-909 795.5,-909 795.5,-962"/>
<text text-anchor="middle" x="711" y="-946.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="711" y="-931.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="711" y="-916.8" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge9" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M795.57,-935.5C826.75,-935.5 862.57,-935.5 895.78,-935.5"/>
<polygon fill="#000000" stroke="#000000" points="895.99,-939.0001 905.99,-935.5 895.99,-932.0001 895.99,-939.0001"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node12" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/zcash/issues/4819" xlink:title="zcash/zcash#4819&#10;Backport upstream PRs&#10;that remove Boost usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250,-1254 55,-1254 55,-1201 250,-1201 250,-1254"/>
<text text-anchor="middle" x="152.5" y="-1238.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="152.5" y="-1223.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="152.5" y="-1208.8" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/orchard#33 -->
<g id="node13" class="node">
<title>zcash/orchard#33</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="567,-797 341,-797 341,-744 567,-744 567,-797"/>
<text text-anchor="middle" x="454" y="-781.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="454" y="-766.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="454" y="-751.8" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018 -->
<g id="node14" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="797,-814 625,-814 625,-731 797,-731 797,-814"/>
<text text-anchor="middle" x="711" y="-798.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="711" y="-783.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="711" y="-768.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="711" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="711" y="-738.8" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge10" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M567.1,-771.38C583.01,-771.5 599.23,-771.63 614.79,-771.75"/>
<polygon fill="#000000" stroke="#000000" points="614.8726,-775.2507 624.9,-771.83 614.928,-768.2509 614.8726,-775.2507"/>
</g>
<!-- zcash/zcash#5037 -->
<g id="node15" class="node">
<title>zcash/zcash#5037</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/zcash/issues/5037" xlink:title="zcash/zcash#5037&#10;Add Orchard metadata to&#10;history trees" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1107.5,-654 907.5,-654 907.5,-601 1107.5,-601 1107.5,-654"/>
<text text-anchor="middle" x="1007.5" y="-638.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="1007.5" y="-623.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="1007.5" y="-608.8" font-family="Times,serif" font-size="14.00" fill="#000000">history trees</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5037 -->
<g id="edge11" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M797.06,-737.66C804.88,-732.81 812.35,-727.43 819,-721.5 841.64,-701.31 830.37,-681.22 855,-663.5 867.8,-654.29 882.63,-647.41 897.9,-642.27"/>
<polygon fill="#000000" stroke="#000000" points="898.9465,-645.61 907.45,-639.29 896.8614,-638.9277 898.9465,-645.61"/>
</g>
<!-- zcash/zcash#5197 -->
<g id="node16" class="node">
<title>zcash/zcash#5197</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/zcash/issues/5197" xlink:title="zcash/zcash#5197&#10;Implement NU5 block&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1095.5,-883 919.5,-883 919.5,-830 1095.5,-830 1095.5,-883"/>
<text text-anchor="middle" x="1007.5" y="-867.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5197</text>
<text text-anchor="middle" x="1007.5" y="-852.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement NU5 block</text>
<text text-anchor="middle" x="1007.5" y="-837.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5197 -->
<g id="edge12" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5197</title>
<path fill="none" stroke="#000000" d="M797.03,-802.58C816.03,-808.83 836.11,-815.14 855,-820.5 872.52,-825.48 891.31,-830.31 909.51,-834.74"/>
<polygon fill="#000000" stroke="#000000" points="908.708,-838.1469 919.25,-837.09 910.3499,-831.3421 908.708,-838.1469"/>
</g>
<!-- zcash/zcash#5037&#45;&gt;zcash/zcash#5024 -->
<g id="edge13" class="edge">
<title>zcash/zcash#5037&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1107.7,-642.03C1125.8,-647.16 1144.1,-654.11 1160,-663.5 1212.2,-694.25 1256.2,-750.11 1281.2,-786.51"/>
<polygon fill="#000000" stroke="#000000" points="1278.3713,-788.5742 1286.9,-794.86 1284.1527,-784.6275 1278.3713,-788.5742"/>
</g>
<!-- zcash/zcash#5197&#45;&gt;zcash/zcash#5024 -->
<g id="edge14" class="edge">
<title>zcash/zcash#5197&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1095.5,-846.09C1124.2,-842.7 1156.5,-838.88 1187,-835.27"/>
<polygon fill="#000000" stroke="#000000" points="1187.7767,-838.7029 1197.3,-834.06 1186.9599,-831.7507 1187.7767,-838.7029"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node17" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/zcash/issues/5019" xlink:title="zcash/zcash#5019&#10;Add Orchard keys and&#10;addresses to the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1395,-492 1212,-492 1212,-439 1395,-439 1395,-492"/>
<text text-anchor="middle" x="1303.5" y="-476.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="1303.5" y="-461.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="1303.5" y="-446.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses to the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5023 -->
<g id="edge15" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M1395.2,-489.46C1400.8,-492.69 1406.2,-496.35 1411,-500.5 1486.1,-564.88 1526.3,-678.11 1543.7,-740.38"/>
<polygon fill="#000000" stroke="#000000" points="1540.3943,-741.5618 1546.4,-750.29 1547.1481,-739.7216 1540.3943,-741.5618"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node18" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node18"><a xlink:href="https://github.com/zcash/zcash/issues/5020" xlink:title="zcash/zcash#5020&#10;Add Orchard note&#10;detection and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1650.5,-502.5 1458.5,-502.5 1458.5,-434.5 1650.5,-434.5 1650.5,-502.5"/>
<text text-anchor="middle" x="1554.5" y="-487.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="1554.5" y="-472.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="1554.5" y="-457.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="1554.5" y="-442.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5020 -->
<g id="edge16" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M1395.2,-466.6C1412.4,-466.8 1430.5,-467.02 1448.1,-467.23"/>
<polygon fill="#000000" stroke="#000000" points="1448.3599,-470.7332 1458.4,-467.35 1448.4415,-463.7336 1448.3599,-470.7332"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node19" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1655.5,-416.5 1453.5,-416.5 1453.5,-348.5 1655.5,-348.5 1655.5,-416.5"/>
<text text-anchor="middle" x="1554.5" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="1554.5" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="1554.5" y="-371.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="1554.5" y="-356.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5179 -->
<g id="edge17" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1384,-438.9C1403,-432.59 1423.7,-425.76 1443.8,-419.1"/>
<polygon fill="#000000" stroke="#000000" points="1444.9098,-422.4195 1453.3,-415.95 1442.7066,-415.7752 1444.9098,-422.4195"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node20" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node20"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1917,-251.5 1698,-251.5 1698,-213.5 1917,-213.5 1917,-251.5"/>
<text text-anchor="middle" x="1807.5" y="-236.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="1807.5" y="-221.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC: z_getnewaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5178 -->
<g id="edge18" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1645.8,-348.44C1651.6,-344.54 1657.1,-340.24 1662,-335.5 1688.6,-309.82 1669.4,-283.94 1698,-260.5 1699.5,-259.24 1701.1,-258.04 1702.8,-256.89"/>
<polygon fill="#000000" stroke="#000000" points="1704.6245,-259.8774 1711.2,-251.57 1700.8791,-253.9637 1704.6245,-259.8774"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node21" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node21"><a xlink:href="https://github.com/zcash/zcash/issues/5182" xlink:title="zcash/zcash#5182&#10;New RPC:&#10;z_getbalanceforaddress" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1901,-409 1714,-409 1714,-356 1901,-356 1901,-409"/>
<text text-anchor="middle" x="1807.5" y="-393.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="1807.5" y="-378.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-363.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaddress</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5182 -->
<g id="edge19" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1655.6,-382.5C1671.4,-382.5 1687.7,-382.5 1703.6,-382.5"/>
<polygon fill="#000000" stroke="#000000" points="1704,-386.0001 1714,-382.5 1704,-379.0001 1704,-386.0001"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node22" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/zcash/issues/5185" xlink:title="zcash/zcash#5185&#10;Add support for funding&#10;z_sendmany from a UA&#10;account" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1902,-337.5 1713,-337.5 1713,-269.5 1902,-269.5 1902,-337.5"/>
<text text-anchor="middle" x="1807.5" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="1807.5" y="-307.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="1807.5" y="-292.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="1807.5" y="-277.3" font-family="Times,serif" font-size="14.00" fill="#000000">account</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5185 -->
<g id="edge20" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1655.6,-350.94C1671.2,-346.06 1687.4,-341.02 1703,-336.12"/>
<polygon fill="#000000" stroke="#000000" points="1704.1984,-339.4125 1712.7,-333.09 1702.1113,-332.7309 1704.1984,-339.4125"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node23" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1901.5,-551 1713.5,-551 1713.5,-498 1901.5,-498 1901.5,-551"/>
<text text-anchor="middle" x="1807.5" y="-535.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="1807.5" y="-520.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-505.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge21" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M1650.4,-416.63C1654.5,-419.38 1658.4,-422.33 1662,-425.5 1686.3,-446.67 1673,-468.11 1698,-488.5 1700.1,-490.19 1702.2,-491.8 1704.4,-493.33"/>
<polygon fill="#000000" stroke="#000000" points="1702.9664,-496.5617 1713.3,-498.9 1706.68,-490.628 1702.9664,-496.5617"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node24" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node24"><a xlink:href="https://github.com/zcash/zcash/issues/5183" xlink:title="zcash/zcash#5183&#10;New RPC:&#10;z_getbalanceforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1901.5,-480 1713.5,-480 1713.5,-427 1901.5,-427 1901.5,-480"/>
<text text-anchor="middle" x="1807.5" y="-464.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="1807.5" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5183 -->
<g id="edge22" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M1655.6,-410.87C1671.3,-415.28 1687.6,-419.85 1703.4,-424.28"/>
<polygon fill="#000000" stroke="#000000" points="1702.5251,-427.6698 1713.1,-427.02 1704.428,-420.9334 1702.5251,-427.6698"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node25" class="node">
<title>zcash/orchard#36</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/orchard/issues/36" xlink:title="zcash/orchard#36&#10;Parsing and serialization&#10;of Orchard keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1104.5,-334.5 910.5,-334.5 910.5,-266.5 1104.5,-266.5 1104.5,-334.5"/>
<text text-anchor="middle" x="1007.5" y="-319.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="1007.5" y="-304.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="1007.5" y="-289.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="1007.5" y="-274.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge23" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1104.5,-322.05C1124.5,-329.82 1144.2,-340.33 1160,-354.5 1187.5,-379.21 1168.3,-405.03 1196,-429.5 1198.3,-431.51 1200.7,-433.42 1203.2,-435.21"/>
<polygon fill="#000000" stroke="#000000" points="1201.7081,-438.4146 1212,-440.93 1205.523,-432.5455 1201.7081,-438.4146"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node26" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1397.5,-248.5 1209.5,-248.5 1209.5,-180.5 1397.5,-180.5 1397.5,-248.5"/>
<text text-anchor="middle" x="1303.5" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="1303.5" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="1303.5" y="-203.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="1303.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge24" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1104.8,-272.22C1135.2,-263.41 1168.7,-253.66 1199.5,-244.72"/>
<polygon fill="#000000" stroke="#000000" points="1200.7757,-247.9941 1209.4,-241.84 1198.8204,-241.2727 1200.7757,-247.9941"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node27" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1662,-248.5 1447,-248.5 1447,-180.5 1662,-180.5 1662,-248.5"/>
<text text-anchor="middle" x="1554.5" y="-233.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="1554.5" y="-218.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1554.5" y="-203.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="1554.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge25" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M1397.7,-214.5C1410.3,-214.5 1423.4,-214.5 1436.3,-214.5"/>
<polygon fill="#000000" stroke="#000000" points="1436.7,-218.0001 1446.7,-214.5 1436.7,-211.0001 1436.7,-218.0001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge26" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M1662.2,-222.16C1670.7,-222.76 1679.3,-223.38 1687.9,-223.99"/>
<polygon fill="#000000" stroke="#000000" points="1687.6772,-227.4829 1697.9,-224.7 1688.173,-220.5005 1687.6772,-227.4829"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge27" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M1642.6,-248.65C1649.7,-253.35 1656.2,-258.62 1662,-264.5 1689.8,-292.95 1668.5,-319.74 1698,-346.5 1700.3,-348.55 1702.6,-350.48 1705.1,-352.31"/>
<polygon fill="#000000" stroke="#000000" points="1703.6202,-355.5255 1713.9,-358.09 1707.4632,-349.6747 1703.6202,-355.5255"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge28" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M1651.2,-248.53C1668.3,-254.53 1686.1,-260.81 1703.4,-266.88"/>
<polygon fill="#000000" stroke="#000000" points="1702.3052,-270.2051 1712.9,-270.23 1704.6332,-263.6035 1702.3052,-270.2051"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node28" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/zcash/issues/5181" xlink:title="zcash/zcash#5181&#10;New RPC:&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1892.5,-195 1722.5,-195 1722.5,-142 1892.5,-142 1892.5,-195"/>
<text text-anchor="middle" x="1807.5" y="-179.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="1807.5" y="-164.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="1807.5" y="-149.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5181 -->
<g id="edge29" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M1662.2,-194.93C1678.8,-191.91 1695.8,-188.81 1712.1,-185.85"/>
<polygon fill="#000000" stroke="#000000" points="1712.8934,-189.263 1722.1,-184.02 1711.6333,-182.3774 1712.8934,-189.263"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node29" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/zcash/issues/5184" xlink:title="zcash/zcash#5184&#10;Add support for UA&#10;recipients to z_sendmany" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1907.5,-124 1707.5,-124 1707.5,-71 1907.5,-71 1907.5,-124"/>
<text text-anchor="middle" x="1807.5" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="1807.5" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="1807.5" y="-78.8" font-family="Times,serif" font-size="14.00" fill="#000000">recipients to z_sendmany</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5184 -->
<g id="edge30" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M1608,-180.38C1634.4,-164.46 1667.1,-146.07 1698,-132.5 1701.6,-130.9 1705.4,-129.33 1709.2,-127.81"/>
<polygon fill="#000000" stroke="#000000" points="1710.734,-130.9695 1718.8,-124.1 1708.2106,-124.4401 1710.734,-130.9695"/>
</g>
<!-- zcash/zcash#5191 -->
<g id="node30" class="node">
<title>zcash/zcash#5191</title>
<g id="a_node30"><a xlink:href="https://github.com/zcash/zcash/issues/5191" xlink:title="zcash/zcash#5191&#10;z_getbalance: Return&#10;error if given a UA" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1892,-53 1723,-53 1723,0 1892,0 1892,-53"/>
<text text-anchor="middle" x="1807.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5191</text>
<text text-anchor="middle" x="1807.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalance: Return</text>
<text text-anchor="middle" x="1807.5" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">error if given a UA</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5191 -->
<g id="edge31" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5191</title>
<path fill="none" stroke="#000000" d="M1578.4,-180.19C1604.2,-145.58 1648.3,-92.911 1698,-61.5 1702.9,-58.393 1708.1,-55.54 1713.5,-52.923"/>
<polygon fill="#000000" stroke="#000000" points="1715.0461,-56.0649 1722.7,-48.739 1712.1482,-49.6929 1715.0461,-56.0649"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node31" class="node">
<title>zcash/orchard#30</title>
<g id="a_node31"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1093.5,-492 921.5,-492 921.5,-439 1093.5,-439 1093.5,-492"/>
<text text-anchor="middle" x="1007.5" y="-476.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="1007.5" y="-461.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="1007.5" y="-446.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge32" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1093.5,-465.5C1127.3,-465.5 1166.4,-465.5 1201.5,-465.5"/>
<polygon fill="#000000" stroke="#000000" points="1201.8,-469.0001 1211.8,-465.5 1201.8,-462.0001 1201.8,-469.0001"/>
</g>
<!-- zcash/zcash#2534 -->
<g id="node32" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node32"><a xlink:href="https://github.com/zcash/zcash/pull/2534" xlink:title="zcash/zcash#2534&#10;Bitcoin 0.12 P2P/Net PRs&#10;1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="252.5,-1325 52.5,-1325 52.5,-1321 48.5,-1321 48.5,-1317 52.5,-1317 52.5,-1280 48.5,-1280 48.5,-1276 52.5,-1276 52.5,-1272 252.5,-1272 252.5,-1325"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1321 56.5,-1321 56.5,-1317 52.5,-1317 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="52.5,-1280 56.5,-1280 56.5,-1276 52.5,-1276 "/>
<text text-anchor="middle" x="152.5" y="-1309.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="152.5" y="-1294.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="152.5" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003 -->
<g id="node33" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/zcash/pull/5003" xlink:title="zcash/zcash#5003&#10;net: prerequisites for&#10;p2p encapsulation changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="560,-1360 348,-1360 348,-1356 344,-1356 344,-1352 348,-1352 348,-1315 344,-1315 344,-1311 348,-1311 348,-1307 560,-1307 560,-1360"/>
<polyline fill="none" stroke="#000000" points="348,-1356 352,-1356 352,-1352 348,-1352 "/>
<polyline fill="none" stroke="#000000" points="348,-1315 352,-1315 352,-1311 348,-1311 "/>
<text text-anchor="middle" x="454" y="-1344.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="454" y="-1329.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="454" y="-1314.8" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge33" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M252.9,-1310.2C280.05,-1313.3 309.67,-1316.7 337.63,-1320"/>
<polygon fill="#000000" stroke="#000000" points="337.4998,-1323.5087 347.84,-1321.2 338.3169,-1316.5566 337.4998,-1323.5087"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node34" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node34"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="806.5,-1284.5 615.5,-1284.5 615.5,-1280.5 611.5,-1280.5 611.5,-1276.5 615.5,-1276.5 615.5,-1224.5 611.5,-1224.5 611.5,-1220.5 615.5,-1220.5 615.5,-1216.5 806.5,-1216.5 806.5,-1284.5"/>
<polyline fill="none" stroke="#000000" points="615.5,-1280.5 619.5,-1280.5 619.5,-1276.5 615.5,-1276.5 "/>
<polyline fill="none" stroke="#000000" points="615.5,-1224.5 619.5,-1224.5 619.5,-1220.5 615.5,-1220.5 "/>
<text text-anchor="middle" x="711" y="-1269.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="711" y="-1254.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="711" y="-1239.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="711" y="-1224.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge34" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M252.67,-1289.9C352.06,-1281.3 503.8,-1268.3 605.14,-1259.6"/>
<polygon fill="#000000" stroke="#000000" points="605.7345,-1263.0614 615.39,-1258.7 605.1222,-1256.0882 605.7345,-1263.0614"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node35" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node35"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="798,-1386 624,-1386 624,-1382 620,-1382 620,-1378 624,-1378 624,-1311 620,-1311 620,-1307 624,-1307 624,-1303 798,-1303 798,-1386"/>
<polyline fill="none" stroke="#000000" points="624,-1382 628,-1382 628,-1378 624,-1378 "/>
<polyline fill="none" stroke="#000000" points="624,-1311 628,-1311 628,-1307 624,-1307 "/>
<text text-anchor="middle" x="711" y="-1370.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="711" y="-1355.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="711" y="-1340.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="711" y="-1325.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="711" y="-1310.8" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge35" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M560.02,-1338C577.7,-1338.8 595.97,-1339.6 613.43,-1340.3"/>
<polygon fill="#000000" stroke="#000000" points="613.4503,-1343.8051 623.61,-1340.8 613.7938,-1336.8136 613.4503,-1343.8051"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node36" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node36"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1116.5,-1316.5 898.5,-1316.5 898.5,-1312.5 894.5,-1312.5 894.5,-1308.5 898.5,-1308.5 898.5,-1286.5 894.5,-1286.5 894.5,-1282.5 898.5,-1282.5 898.5,-1278.5 1116.5,-1278.5 1116.5,-1316.5"/>
<polyline fill="none" stroke="#000000" points="898.5,-1312.5 902.5,-1312.5 902.5,-1308.5 898.5,-1308.5 "/>
<polyline fill="none" stroke="#000000" points="898.5,-1286.5 902.5,-1286.5 902.5,-1282.5 898.5,-1282.5 "/>
<text text-anchor="middle" x="1007.5" y="-1301.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1007.5" y="-1286.3" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge36" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M806.86,-1265.7C832.85,-1269.8 861.31,-1274.3 888.41,-1278.6"/>
<polygon fill="#000000" stroke="#000000" points="887.9002,-1282.0629 898.33,-1280.2 889.0149,-1275.1522 887.9002,-1282.0629"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge37" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M798.36,-1330.7C826.52,-1326.2 858.23,-1321.2 888.28,-1316.4"/>
<polygon fill="#000000" stroke="#000000" points="889.0693,-1319.8188 898.4,-1314.8 887.9761,-1312.9047 889.0693,-1319.8188"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node37" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1398,-1331.5 1209,-1331.5 1209,-1327.5 1205,-1327.5 1205,-1323.5 1209,-1323.5 1209,-1271.5 1205,-1271.5 1205,-1267.5 1209,-1267.5 1209,-1263.5 1398,-1263.5 1398,-1331.5"/>
<polyline fill="none" stroke="#000000" points="1209,-1327.5 1213,-1327.5 1213,-1323.5 1209,-1323.5 "/>
<polyline fill="none" stroke="#000000" points="1209,-1271.5 1213,-1271.5 1213,-1267.5 1209,-1267.5 "/>
<text text-anchor="middle" x="1303.5" y="-1316.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1303.5" y="-1301.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1303.5" y="-1286.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1303.5" y="-1271.3" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge38" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1116.9,-1297.5C1143.6,-1297.5 1172.1,-1297.5 1198.6,-1297.5"/>
<polygon fill="#000000" stroke="#000000" points="1198.7,-1301.0001 1208.7,-1297.5 1198.7,-1294.0001 1198.7,-1301.0001"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node38" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/librustzcash/issues/368" xlink:title="zcash/librustzcash#368&#10;zcash_history: Add&#10;Orchard support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="805,-713 617,-713 617,-660 805,-660 805,-713"/>
<text text-anchor="middle" x="711" y="-697.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="711" y="-682.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="711" y="-667.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard support</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#368&#45;&gt;zcash/zcash#5037 -->
<g id="edge39" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M805.22,-667.75C834.47,-661.93 866.97,-655.46 897.22,-649.45"/>
<polygon fill="#000000" stroke="#000000" points="898.2596,-652.8115 907.38,-647.42 896.888,-645.9472 898.2596,-652.8115"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node39" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node39"><a xlink:href="https://github.com/zcash/zcash/pull/5034" xlink:title="zcash/zcash#5034&#10;Bitcoin 0.17 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-1442.5 56,-1442.5 56,-1438.5 52,-1438.5 52,-1434.5 56,-1434.5 56,-1412.5 52,-1412.5 52,-1408.5 56,-1408.5 56,-1404.5 249,-1404.5 249,-1442.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1438.5 60,-1438.5 60,-1434.5 56,-1434.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="56,-1412.5 60,-1412.5 60,-1408.5 56,-1408.5 "/>
<text text-anchor="middle" x="152.5" y="-1427.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="152.5" y="-1412.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050 -->
<g id="node40" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node40"><a xlink:href="https://github.com/zcash/zcash/pull/5050" xlink:title="zcash/zcash#5050&#10;Bitcoin 0.18 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="550.5,-1442.5 357.5,-1442.5 357.5,-1438.5 353.5,-1438.5 353.5,-1434.5 357.5,-1434.5 357.5,-1412.5 353.5,-1412.5 353.5,-1408.5 357.5,-1408.5 357.5,-1404.5 550.5,-1404.5 550.5,-1442.5"/>
<polyline fill="none" stroke="#000000" points="357.5,-1438.5 361.5,-1438.5 361.5,-1434.5 357.5,-1434.5 "/>
<polyline fill="none" stroke="#000000" points="357.5,-1412.5 361.5,-1412.5 361.5,-1408.5 357.5,-1408.5 "/>
<text text-anchor="middle" x="454" y="-1427.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="454" y="-1412.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge40" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M249.14,-1423.5C280.38,-1423.5 315.19,-1423.5 347.13,-1423.5"/>
<polygon fill="#000000" stroke="#000000" points="347.39,-1427.0001 357.39,-1423.5 347.39,-1420.0001 347.39,-1427.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node41" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/zcash/pull/5163" xlink:title="zcash/zcash#5163&#10;Bitcoin 0.19 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="807.5,-1442.5 614.5,-1442.5 614.5,-1438.5 610.5,-1438.5 610.5,-1434.5 614.5,-1434.5 614.5,-1412.5 610.5,-1412.5 610.5,-1408.5 614.5,-1408.5 614.5,-1404.5 807.5,-1404.5 807.5,-1442.5"/>
<polyline fill="none" stroke="#000000" points="614.5,-1438.5 618.5,-1438.5 618.5,-1434.5 614.5,-1434.5 "/>
<polyline fill="none" stroke="#000000" points="614.5,-1412.5 618.5,-1412.5 618.5,-1408.5 614.5,-1408.5 "/>
<text text-anchor="middle" x="711" y="-1427.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="711" y="-1412.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge41" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M550.79,-1423.5C568.16,-1423.5 586.35,-1423.5 603.98,-1423.5"/>
<polygon fill="#000000" stroke="#000000" points="604.29,-1427.0001 614.29,-1423.5 604.29,-1420.0001 604.29,-1427.0001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node42" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node42"><a xlink:href="https://github.com/zcash/zcash/issues/5176" xlink:title="zcash/zcash#5176&#10;Implement BIP 39 seed&#10;phrase support" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="1100,-417 915,-417 915,-364 1100,-364 1100,-417"/>
<text text-anchor="middle" x="1007.5" y="-401.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="1007.5" y="-386.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="1007.5" y="-371.8" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5019 -->
<g id="edge42" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M1100.3,-414.02C1132.5,-422.18 1168.8,-431.37 1201.7,-439.7"/>
<polygon fill="#000000" stroke="#000000" points="1201.1452,-443.1705 1211.7,-442.25 1202.8749,-436.3875 1201.1452,-443.1705"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node43" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node43"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1404.5,-420.5 1202.5,-420.5 1202.5,-352.5 1404.5,-352.5 1404.5,-420.5"/>
<text text-anchor="middle" x="1303.5" y="-405.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="1303.5" y="-390.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="1303.5" y="-375.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="1303.5" y="-360.3" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge43" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M1100.3,-389.25C1129.4,-388.85 1161.9,-388.41 1192.1,-388.01"/>
<polygon fill="#000000" stroke="#000000" points="1192.349,-391.507 1202.3,-387.87 1192.2529,-384.5077 1192.349,-391.507"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge44" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1404.5,-384.89C1417.2,-384.69 1430.2,-384.48 1443.1,-384.28"/>
<polygon fill="#000000" stroke="#000000" points="1443.3597,-387.7763 1453.3,-384.11 1443.243,-380.7772 1443.3597,-387.7763"/>
</g>
<!-- zcash/zips#364 -->
<g id="node44" class="node">
<title>zcash/zips#364</title>
<g id="a_node44"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="813.5,-417 608.5,-417 608.5,-364 813.5,-364 813.5,-417"/>
<text text-anchor="middle" x="711" y="-401.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="711" y="-386.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="711" y="-371.8" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge45" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M813.87,-390.5C843.19,-390.5 875.14,-390.5 904.48,-390.5"/>
<polygon fill="#000000" stroke="#000000" points="904.73,-394.0001 914.73,-390.5 904.73,-387.0001 904.73,-394.0001"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node45" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/zcash/issues/5177" xlink:title="zcash/zcash#5177&#10;Deprecate old address&#45;&#10;related RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="243.5,-1514 61.5,-1514 61.5,-1461 243.5,-1461 243.5,-1514"/>
<text text-anchor="middle" x="152.5" y="-1498.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="152.5" y="-1483.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="152.5" y="-1468.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zips#511 -->
<g id="node46" class="node">
<title>zcash/zips#511</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/zips/issues/511" xlink:title="zcash/zips#511&#10;ZIP 32: Document standard&#10;key structure for Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1411,-334.5 1196,-334.5 1196,-266.5 1411,-266.5 1411,-334.5"/>
<text text-anchor="middle" x="1303.5" y="-319.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="1303.5" y="-304.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="1303.5" y="-289.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="1303.5" y="-274.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge46" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M1407.8,-334.56C1419.7,-338.45 1431.8,-342.43 1443.8,-346.34"/>
<polygon fill="#000000" stroke="#000000" points="1442.8076,-349.6977 1453.4,-349.47 1444.9775,-343.0425 1442.8076,-349.6977"/>
</g>
<!-- zcash/librustzcash#387 -->
<g id="node47" class="node">
<title>zcash/librustzcash#387</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash/librustzcash/issues/387" xlink:title="zcash/librustzcash#387&#10;Implement Unified Address&#10;key derivation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1662,-327 1447,-327 1447,-274 1662,-274 1662,-327"/>
<text text-anchor="middle" x="1554.5" y="-311.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#387</text>
<text text-anchor="middle" x="1554.5" y="-296.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1554.5" y="-281.8" font-family="Times,serif" font-size="14.00" fill="#000000">key derivation</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/librustzcash#387 -->
<g id="edge47" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/librustzcash#387</title>
<path fill="none" stroke="#000000" d="M1411,-300.5C1419.6,-300.5 1428.2,-300.5 1436.8,-300.5"/>
<polygon fill="#000000" stroke="#000000" points="1436.8,-304.0001 1446.8,-300.5 1436.8,-297.0001 1436.8,-304.0001"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node48" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node48"><a xlink:href="https://github.com/zcash/zcash/issues/5186" xlink:title="zcash/zcash#5186&#10;z_viewtransaction: Figure&#10;out how to render UAs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="254,-1585 51,-1585 51,-1532 254,-1532 254,-1585"/>
<text text-anchor="middle" x="152.5" y="-1569.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="152.5" y="-1554.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="152.5" y="-1539.8" font-family="Times,serif" font-size="14.00" fill="#000000">out how to render UAs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196 -->
<g id="node49" class="node">
<title>zcash/zcash#5196</title>
<g id="a_node49"><a xlink:href="https://github.com/zcash/zcash/issues/5196" xlink:title="zcash/zcash#5196&#10;Implement v5 transaction&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1109,-812 906,-812 906,-759 1109,-759 1109,-812"/>
<text text-anchor="middle" x="1007.5" y="-796.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5196</text>
<text text-anchor="middle" x="1007.5" y="-781.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement v5 transaction</text>
<text text-anchor="middle" x="1007.5" y="-766.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5196&#45;&gt;zcash/zcash#5024 -->
<g id="edge48" class="edge">
<title>zcash/zcash#5196&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1109.4,-797.89C1134.5,-800.94 1161.5,-804.23 1187.3,-807.36"/>
<polygon fill="#000000" stroke="#000000" points="1187.048,-810.8553 1197.4,-808.6 1187.9011,-803.9074 1187.048,-810.8553"/>
</g>
<!-- zcash/zcash#5198 -->
<g id="node50" class="node">
<title>zcash/zcash#5198</title>
<g id="a_node50"><a xlink:href="https://github.com/zcash/zcash/issues/5198" xlink:title="zcash/zcash#5198&#10;Switch to a `(txid,&#10;auth_digest)` identifier&#10;in places where the node&#10;needs to commit to a&#10;specific instance of a&#10;transaction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="250.5,-1716 54.5,-1716 54.5,-1603 250.5,-1603 250.5,-1716"/>
<text text-anchor="middle" x="152.5" y="-1700.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5198</text>
<text text-anchor="middle" x="152.5" y="-1685.8" font-family="Times,serif" font-size="14.00" fill="#000000">Switch to a `(txid,</text>
<text text-anchor="middle" x="152.5" y="-1670.8" font-family="Times,serif" font-size="14.00" fill="#000000">auth_digest)` identifier</text>
<text text-anchor="middle" x="152.5" y="-1655.8" font-family="Times,serif" font-size="14.00" fill="#000000">in places where the node</text>
<text text-anchor="middle" x="152.5" y="-1640.8" font-family="Times,serif" font-size="14.00" fill="#000000">needs to commit to a</text>
<text text-anchor="middle" x="152.5" y="-1625.8" font-family="Times,serif" font-size="14.00" fill="#000000">specific instance of a</text>
<text text-anchor="middle" x="152.5" y="-1610.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction</text>
</a>
</g>
</g>
<!-- zcash/zcash#5199 -->
<g id="node51" class="node">
<title>zcash/zcash#5199</title>
<g id="a_node51"><a xlink:href="https://github.com/zcash/zcash/issues/5199" xlink:title="zcash/zcash#5199&#10;[ZIP 239] Relay v5+&#10;transactions with a&#10;(txid, auth_digest) tuple&#10;(or digest thereof)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="247,-1817 58,-1817 58,-1734 247,-1734 247,-1817"/>
<text text-anchor="middle" x="152.5" y="-1801.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5199</text>
<text text-anchor="middle" x="152.5" y="-1786.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 239] Relay v5+</text>
<text text-anchor="middle" x="152.5" y="-1771.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions with a</text>
<text text-anchor="middle" x="152.5" y="-1756.8" font-family="Times,serif" font-size="14.00" fill="#000000">(txid, auth_digest) tuple</text>
<text text-anchor="middle" x="152.5" y="-1741.8" font-family="Times,serif" font-size="14.00" fill="#000000">(or digest thereof)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5194 -->
<g id="node52" class="node">
<title>zcash/zcash#5194</title>
<g id="a_node52"><a xlink:href="https://github.com/zcash/zcash/issues/5194" xlink:title="zcash/zcash#5194&#10;Implement Orchard&#10;signature validation&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1087.5,-740.5 927.5,-740.5 927.5,-672.5 1087.5,-672.5 1087.5,-740.5"/>
<text text-anchor="middle" x="1007.5" y="-725.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5194</text>
<text text-anchor="middle" x="1007.5" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="1007.5" y="-695.3" font-family="Times,serif" font-size="14.00" fill="#000000">signature validation</text>
<text text-anchor="middle" x="1007.5" y="-680.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#5194&#45;&gt;zcash/zcash#5024 -->
<g id="edge49" class="edge">
<title>zcash/zcash#5194&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M1087.6,-726C1111.2,-732.58 1136.9,-740.55 1160,-749.5 1189.5,-760.95 1221.1,-776.42 1247.1,-790.08"/>
<polygon fill="#000000" stroke="#000000" points="1245.6225,-793.2577 1256.1,-794.83 1248.8898,-787.067 1245.6225,-793.2577"/>
</g>
<!-- zcash/zips#506 -->
<g id="node53" class="node">
<title>zcash/zips#506</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zips/issues/506" xlink:title="zcash/zips#506&#10;Orchard anchor should be&#10;a base field element, not&#10;a bitstring" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="556,-969.5 352,-969.5 352,-901.5 556,-901.5 556,-969.5"/>
<text text-anchor="middle" x="454" y="-954.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#506</text>
<text text-anchor="middle" x="454" y="-939.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard anchor should be</text>
<text text-anchor="middle" x="454" y="-924.3" font-family="Times,serif" font-size="14.00" fill="#000000">a base field element, not</text>
<text text-anchor="middle" x="454" y="-909.3" font-family="Times,serif" font-size="14.00" fill="#000000">a bitstring</text>
</a>
</g>
</g>
<!-- zcash/zips#506&#45;&gt;zcash/zcash#4707 -->
<g id="edge50" class="edge">
<title>zcash/zips#506&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M556.31,-935.5C576.1,-935.5 596.75,-935.5 616.28,-935.5"/>
<polygon fill="#000000" stroke="#000000" points="616.38,-939.0001 626.38,-935.5 616.38,-932.0001 616.38,-939.0001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node54" class="node">
<title>zcash/halo2#63</title>
<g id="a_node54"><a xlink:href="https://github.com/zcash/halo2/issues/63" xlink:title="zcash/halo2#63&#10;Implement zero&#45;knowledge&#45;&#10;ness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="819,-887 603,-887 603,-834 819,-834 819,-887"/>
<text text-anchor="middle" x="711" y="-871.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="711" y="-856.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="711" y="-841.8" font-family="Times,serif" font-size="14.00" fill="#000000">ness</text>
</a>
</g>
</g>
<!-- zcash/halo2#63&#45;&gt;zcash/librustzcash#320 -->
<g id="edge51" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M815.95,-887.05C841.8,-893.59 869.58,-900.61 895.74,-907.23"/>
<polygon fill="#000000" stroke="#000000" points="895.1274,-910.6851 905.68,-909.74 896.8413,-903.8981 895.1274,-910.6851"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="node55" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<g id="a_node55"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/26" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#10;Implement Unified Address&#10;encodings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1160,-241 855,-241 855,-188 1160,-188 1160,-241"/>
<text text-anchor="middle" x="1007.5" y="-225.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</text>
<text text-anchor="middle" x="1007.5" y="-210.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="1007.5" y="-195.8" font-family="Times,serif" font-size="14.00" fill="#000000">encodings</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371 -->
<g id="edge52" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M1160.3,-214.5C1173.4,-214.5 1186.5,-214.5 1199.2,-214.5"/>
<polygon fill="#000000" stroke="#000000" points="1199.2,-218.0001 1209.2,-214.5 1199.2,-211.0001 1199.2,-218.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36 -->
<g id="node56" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/36" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#10;Orchard Merkle path test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="305,-884 0,-884 0,-831 305,-831 305,-884"/>
<text text-anchor="middle" x="152.5" y="-868.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#36</text>
<text text-anchor="middle" x="152.5" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Merkle path test</text>
<text text-anchor="middle" x="152.5" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33 -->
<g id="edge53" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M244.6,-830.92C278.63,-821.1 317.39,-809.92 352.23,-799.87"/>
<polygon fill="#000000" stroke="#000000" points="353.3154,-803.1996 361.95,-797.06 351.3713,-796.475 353.3154,-803.1996"/>
</g>
<!-- zcash/orchard#95 -->
<g id="node57" class="node">
<title>zcash/orchard#95</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/orchard/issues/95" xlink:title="zcash/orchard#95&#10;Implement Merkle path&#10;validity chip" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="547.5,-1041 360.5,-1041 360.5,-988 547.5,-988 547.5,-1041"/>
<text text-anchor="middle" x="454" y="-1025.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#95</text>
<text text-anchor="middle" x="454" y="-1010.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Merkle path</text>
<text text-anchor="middle" x="454" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">validity chip</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95 -->
<g id="edge54" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#36&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M187.7,-884.12C224.39,-910.87 284.34,-951.86 341,-978.5 345.09,-980.42 349.32,-982.28 353.62,-984.08"/>
<polygon fill="#000000" stroke="#000000" points="352.5456,-987.4199 363.13,-987.89 355.1489,-980.922 352.5456,-987.4199"/>
</g>
<!-- zcash/orchard#95&#45;&gt;zcash/orchard#4 -->
<g id="edge55" class="edge">
<title>zcash/orchard#95&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M547.51,-1028.7C569.29,-1032 592.52,-1035.5 614.43,-1038.8"/>
<polygon fill="#000000" stroke="#000000" points="613.9717,-1042.2712 624.4,-1040.4 615.081,-1035.3596 613.9717,-1042.2712"/>
</g>
<!-- zcash/halo2#64 -->
<g id="node58" class="node">
<title>zcash/halo2#64</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="237.5,-1183 67.5,-1183 67.5,-1130 237.5,-1130 237.5,-1183"/>
<text text-anchor="middle" x="152.5" y="-1167.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="152.5" y="-1152.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="152.5" y="-1137.8" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#235 -->
<g id="node59" class="node">
<title>zcash/halo2#235</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="542,-1183 366,-1183 366,-1130 542,-1130 542,-1183"/>
<text text-anchor="middle" x="454" y="-1167.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="454" y="-1152.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="454" y="-1137.8" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge56" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M237.69,-1156.5C274.45,-1156.5 317.68,-1156.5 355.79,-1156.5"/>
<polygon fill="#000000" stroke="#000000" points="355.87,-1160.0001 365.87,-1156.5 355.87,-1153.0001 355.87,-1160.0001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge57" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M541.07,-1130C549.88,-1126.9 558.66,-1123.8 567,-1120.5 594.34,-1109.8 623.84,-1096.5 648.97,-1084.5"/>
<polygon fill="#000000" stroke="#000000" points="650.557,-1087.6202 658.02,-1080.1 647.4962,-1081.3248 650.557,-1087.6202"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node60" class="node">
<title>zcash/halo2#75</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1097,-563 918,-563 918,-510 1097,-510 1097,-563"/>
<text text-anchor="middle" x="1007.5" y="-547.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1007.5" y="-532.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1007.5" y="-517.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#251 -->
<g id="node61" class="node">
<title>zcash/halo2#251</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1408.5,-563 1198.5,-563 1198.5,-510 1408.5,-510 1408.5,-563"/>
<text text-anchor="middle" x="1303.5" y="-547.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="1303.5" y="-532.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="1303.5" y="-517.8" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge58" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M1097.1,-536.5C1125.8,-536.5 1157.9,-536.5 1188.2,-536.5"/>
<polygon fill="#000000" stroke="#000000" points="1188.3,-540.0001 1198.3,-536.5 1188.3,-533.0001 1188.3,-540.0001"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node62" class="node">
<title>zcash/halo2#79</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="791.5,-642 630.5,-642 630.5,-559 791.5,-559 791.5,-642"/>
<text text-anchor="middle" x="711" y="-626.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="711" y="-611.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="711" y="-596.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="711" y="-581.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="711" y="-566.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#78 -->
<g id="node63" class="node">
<title>zcash/halo2#78</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/halo2/issues/78" xlink:title="zcash/halo2#78&#10;Implement algebraic hash&#10;/ random oracle&#10;abstraction gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="556,-674.5 352,-674.5 352,-606.5 556,-606.5 556,-674.5"/>
<text text-anchor="middle" x="454" y="-659.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="454" y="-644.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="454" y="-629.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="454" y="-614.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge59" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M556.31,-624.58C577.48,-621.28 599.65,-617.83 620.37,-614.61"/>
<polygon fill="#000000" stroke="#000000" points="621.0708,-618.043 630.41,-613.04 619.9893,-611.1271 621.0708,-618.043"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node64" class="node">
<title>zcash/halo2#250</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="808,-541 614,-541 614,-488 808,-488 808,-541"/>
<text text-anchor="middle" x="711" y="-525.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="711" y="-510.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="711" y="-495.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge60" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M553.74,-606.36C558.36,-603.61 562.81,-600.66 567,-597.5 588.3,-581.46 581.3,-565 603,-549.5 604.46,-548.46 605.95,-547.44 607.48,-546.46"/>
<polygon fill="#000000" stroke="#000000" points="609.6592,-549.2372 616.48,-541.13 606.0922,-543.2142 609.6592,-549.2372"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge61" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M808.09,-521.7C839.94,-524.07 875.38,-526.7 907.45,-529.08"/>
<polygon fill="#000000" stroke="#000000" points="907.4991,-532.5931 917.73,-529.84 908.0153,-525.6121 907.4991,-532.5931"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node65" class="node">
<title>zcash/halo2#57</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/halo2/issues/57" xlink:title="zcash/halo2#57&#10;Remove unused&#10;fixed_values from&#10;ProvingKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="224,-1903.5 81,-1903.5 81,-1835.5 224,-1835.5 224,-1903.5"/>
<text text-anchor="middle" x="152.5" y="-1888.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="152.5" y="-1873.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="152.5" y="-1858.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="152.5" y="-1843.3" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#82 -->
<g id="node66" class="node">
<title>zcash/halo2#82</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/halo2/issues/82" xlink:title="zcash/halo2#82&#10;Consider not sampling&#10;beta and gamma if there&#10;are no permutations or&#10;lookups" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="249,-2005 56,-2005 56,-1922 249,-1922 249,-2005"/>
<text text-anchor="middle" x="152.5" y="-1989.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="152.5" y="-1974.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="152.5" y="-1959.8" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="152.5" y="-1944.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="152.5" y="-1929.8" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#248 -->
<g id="node67" class="node">
<title>zcash/halo2#248</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/halo2/issues/248" xlink:title="zcash/halo2#248&#10;Implement endoscaling in&#10;the circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="555.5,-502 352.5,-502 352.5,-449 555.5,-449 555.5,-502"/>
<text text-anchor="middle" x="454" y="-486.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="454" y="-471.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="454" y="-456.8" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge62" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M555.57,-490.91C571.49,-493.33 587.99,-495.83 604.02,-498.27"/>
<polygon fill="#000000" stroke="#000000" points="603.5291,-501.7355 613.94,-499.77 604.5757,-494.8142 603.5291,-501.7355"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node68" class="node">
<title>zcash/halo2#249</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/halo2/issues/249" xlink:title="zcash/halo2#249&#10;Implement circuit logic&#10;for handling public&#10;inputs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="546.5,-430.5 361.5,-430.5 361.5,-362.5 546.5,-362.5 546.5,-430.5"/>
<text text-anchor="middle" x="454" y="-415.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="454" y="-400.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="454" y="-385.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="454" y="-370.3" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge63" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M546.26,-430.58C553.32,-433.5 560.3,-436.49 567,-439.5 596.33,-452.66 628.11,-468.99 654.33,-483.04"/>
<polygon fill="#000000" stroke="#000000" points="652.8956,-486.2427 663.36,-487.9 656.2131,-480.0787 652.8956,-486.2427"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node69" class="node">
<title>zcash/halo2#246</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/halo2/issues/246" xlink:title="zcash/halo2#246&#10;Create recursive proof&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="242,-337 63,-337 63,-284 242,-284 242,-337"/>
<text text-anchor="middle" x="152.5" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="152.5" y="-306.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="152.5" y="-291.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node70" class="node">
<title>zcash/halo2#247</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/halo2/issues/247" xlink:title="zcash/halo2#247&#10;Implement underlying&#10;scaffolding for the&#10;recursive circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="542,-344.5 366,-344.5 366,-276.5 542,-276.5 542,-344.5"/>
<text text-anchor="middle" x="454" y="-329.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="454" y="-314.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="454" y="-299.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="454" y="-284.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge64" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M242.14,-310.5C277.92,-310.5 319.23,-310.5 355.81,-310.5"/>
<polygon fill="#000000" stroke="#000000" points="356,-314.0001 366,-310.5 356,-307.0001 356,-314.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge65" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M542.06,-336.3C551.07,-341.12 559.61,-346.81 567,-353.5 593.53,-377.5 580.71,-397.51 603,-425.5 619.9,-446.71 642.59,-466.35 662.81,-481.75"/>
<polygon fill="#000000" stroke="#000000" points="660.9,-484.6916 671.01,-487.86 665.0825,-479.0785 660.9,-484.6916"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node71" class="node">
<title>zcash/halo2#245</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/halo2/issues/245" xlink:title="zcash/halo2#245&#10;Remove the need to&#10;multiply by powers of x^n&#10;in verifier" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="557,-883.5 351,-883.5 351,-815.5 557,-815.5 557,-883.5"/>
<text text-anchor="middle" x="454" y="-868.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="454" y="-853.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="454" y="-838.3" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="454" y="-823.3" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#63 -->
<g id="edge66" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M557.05,-853.91C568.83,-854.42 580.91,-854.93 592.87,-855.44"/>
<polygon fill="#000000" stroke="#000000" points="592.739,-858.9375 602.88,-855.87 593.0395,-851.944 592.739,-858.9375"/>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge67" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M557.43,-815.52C560.91,-812.46 564.13,-809.13 567,-805.5 638.31,-715.41 529.11,-637.49 603,-549.5 603.99,-548.32 605.02,-547.18 606.09,-546.08"/>
<polygon fill="#000000" stroke="#000000" points="608.5002,-548.6202 613.63,-539.35 603.8389,-543.3979 608.5002,-548.6202"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node72" class="node">
<title>zcash/halo2#210</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/halo2/issues/210" xlink:title="zcash/halo2#210&#10;Make multiopen&#10;point_index_map dependent&#10;only on the rotation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="563,-588.5 345,-588.5 345,-520.5 563,-520.5 563,-588.5"/>
<text text-anchor="middle" x="454" y="-573.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="454" y="-558.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="454" y="-543.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="454" y="-528.3" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge68" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M563.36,-537.48C576.75,-535.39 590.43,-533.27 603.79,-531.19"/>
<polygon fill="#000000" stroke="#000000" points="604.5881,-534.608 613.93,-529.61 603.5103,-527.6914 604.5881,-534.608"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node73" class="node">
<title>zcash/orchard#38</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="248,-1112 57,-1112 57,-1059 248,-1059 248,-1112"/>
<text text-anchor="middle" x="152.5" y="-1096.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="152.5" y="-1081.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="152.5" y="-1066.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#96 -->
<g id="node74" class="node">
<title>zcash/orchard#96</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/orchard/issues/96" xlink:title="zcash/orchard#96&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" points="540.5,-1112 367.5,-1112 367.5,-1059 540.5,-1059 540.5,-1112"/>
<text text-anchor="middle" x="454" y="-1096.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#96</text>
<text text-anchor="middle" x="454" y="-1081.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="454" y="-1066.8" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#96 -->
<g id="edge69" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M248.31,-1085.5C283.07,-1085.5 322.35,-1085.5 357.2,-1085.5"/>
<polygon fill="#000000" stroke="#000000" points="357.38,-1089.0001 367.38,-1085.5 357.38,-1082.0001 357.38,-1089.0001"/>
</g>
<!-- zcash/orchard#96&#45;&gt;zcash/orchard#4 -->
<g id="edge70" class="edge">
<title>zcash/orchard#96&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M540.65,-1074.7C564.24,-1071.8 589.94,-1068.6 614.06,-1065.6"/>
<polygon fill="#000000" stroke="#000000" points="614.811,-1069.0328 624.29,-1064.3 613.9285,-1062.0886 614.811,-1069.0328"/>
</g>
<!-- zcash/orchard#67 -->
<g id="node75" class="node">
<title>zcash/orchard#67</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/orchard/pull/67" xlink:title="zcash/orchard#67&#10;Sinsemilla chip with&#10;HashDomain" target="_blank">
<polygon fill="#a6cfff" stroke="#000000" stroke-width="2" points="233.5,-1041 71.5,-1041 71.5,-1037 67.5,-1037 67.5,-1033 71.5,-1033 71.5,-996 67.5,-996 67.5,-992 71.5,-992 71.5,-988 233.5,-988 233.5,-1041"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-1037 75.5,-1037 75.5,-1033 71.5,-1033 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="71.5,-996 75.5,-996 75.5,-992 71.5,-992 "/>
<text text-anchor="middle" x="152.5" y="-1025.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#67</text>
<text text-anchor="middle" x="152.5" y="-1010.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla chip with</text>
<text text-anchor="middle" x="152.5" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">HashDomain</text>
</a>
</g>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#95 -->
<g id="edge71" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#95</title>
<path fill="none" stroke="#000000" d="M233.69,-1014.5C269.56,-1014.5 312.15,-1014.5 350.28,-1014.5"/>
<polygon fill="#000000" stroke="#000000" points="350.39,-1018.0001 360.39,-1014.5 350.39,-1011.0001 350.39,-1018.0001"/>
</g>
<!-- zcash/orchard#67&#45;&gt;zcash/orchard#96 -->
<g id="edge72" class="edge">
<title>zcash/orchard#67&#45;&gt;zcash/orchard#96</title>
<path fill="none" stroke="#000000" d="M233.66,-1032.9C256.73,-1038.2 281.86,-1044.1 305,-1049.5 321.89,-1053.5 339.84,-1057.8 357.22,-1061.9"/>
<polygon fill="#000000" stroke="#000000" points="356.8231,-1065.4068 367.37,-1064.4 358.4973,-1058.6099 356.8231,-1065.4068"/>
</g>
</g>
</svg>