diff --git a/.gitignore b/.gitignore
index 2d2d78c7f57ceb..f29f28d1c06b4d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
/book/html/
/book/src/tests.ok
+/book/src/.gitbook/assets/*.svg
/farf/
/solana-release/
/solana-release.tar.bz2
diff --git a/book/build-svg.sh b/book/build-svg.sh
deleted file mode 100755
index 80f8b1e0bfd1cd..00000000000000
--- a/book/build-svg.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-cd "$(dirname "$0")"
-
-make -j"$(nproc)" -B svg
-
-#TODO figure out why book wants to change, but local and CI differ
-exit 0
-if [[ -n $CI ]]; then
- # In CI confirm that no svgs need to be built
- git diff --exit-code
-fi
diff --git a/book/src/.gitbook/assets/data-plane (1).svg b/book/src/.gitbook/assets/data-plane (1).svg
deleted file mode 100644
index 5a33b8bf6e5abd..00000000000000
--- a/book/src/.gitbook/assets/data-plane (1).svg
+++ /dev/null
@@ -1,192 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane (2).svg b/book/src/.gitbook/assets/data-plane (2).svg
deleted file mode 100644
index 5a33b8bf6e5abd..00000000000000
--- a/book/src/.gitbook/assets/data-plane (2).svg
+++ /dev/null
@@ -1,192 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane (3).svg b/book/src/.gitbook/assets/data-plane (3).svg
deleted file mode 100644
index 5a33b8bf6e5abd..00000000000000
--- a/book/src/.gitbook/assets/data-plane (3).svg
+++ /dev/null
@@ -1,192 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane (4).svg b/book/src/.gitbook/assets/data-plane (4).svg
deleted file mode 100644
index 5a33b8bf6e5abd..00000000000000
--- a/book/src/.gitbook/assets/data-plane (4).svg
+++ /dev/null
@@ -1,192 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane (5).svg b/book/src/.gitbook/assets/data-plane (5).svg
deleted file mode 100644
index 5fa566eebda6f1..00000000000000
--- a/book/src/.gitbook/assets/data-plane (5).svg
+++ /dev/null
@@ -1,210 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-3.svg b/book/src/.gitbook/assets/data-plane-3.svg
deleted file mode 100644
index 5a33b8bf6e5abd..00000000000000
--- a/book/src/.gitbook/assets/data-plane-3.svg
+++ /dev/null
@@ -1,192 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout (1).svg b/book/src/.gitbook/assets/data-plane-fanout (1).svg
deleted file mode 100644
index ad73f77ef013bc..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout (1).svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout (2).svg b/book/src/.gitbook/assets/data-plane-fanout (2).svg
deleted file mode 100644
index 6fa6b16010495c..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout (2).svg
+++ /dev/null
@@ -1,201 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout (3).svg b/book/src/.gitbook/assets/data-plane-fanout (3).svg
deleted file mode 100644
index ad73f77ef013bc..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout (3).svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout (4).svg b/book/src/.gitbook/assets/data-plane-fanout (4).svg
deleted file mode 100644
index ad73f77ef013bc..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout (4).svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout (5).svg b/book/src/.gitbook/assets/data-plane-fanout (5).svg
deleted file mode 100644
index ad73f77ef013bc..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout (5).svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout-3.svg b/book/src/.gitbook/assets/data-plane-fanout-3.svg
deleted file mode 100644
index ad73f77ef013bc..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout-3.svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-fanout.svg b/book/src/.gitbook/assets/data-plane-fanout.svg
deleted file mode 100644
index ad73f77ef013bc..00000000000000
--- a/book/src/.gitbook/assets/data-plane-fanout.svg
+++ /dev/null
@@ -1,183 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (1).svg b/book/src/.gitbook/assets/data-plane-neighborhood (1).svg
deleted file mode 100644
index f7a8b8182df7ba..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood (1).svg
+++ /dev/null
@@ -1,340 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (2).svg b/book/src/.gitbook/assets/data-plane-neighborhood (2).svg
deleted file mode 100644
index 1a7f080a31102d..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood (2).svg
+++ /dev/null
@@ -1,322 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (3).svg b/book/src/.gitbook/assets/data-plane-neighborhood (3).svg
deleted file mode 100644
index 1a7f080a31102d..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood (3).svg
+++ /dev/null
@@ -1,322 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (4).svg b/book/src/.gitbook/assets/data-plane-neighborhood (4).svg
deleted file mode 100644
index 1a7f080a31102d..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood (4).svg
+++ /dev/null
@@ -1,322 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (5).svg b/book/src/.gitbook/assets/data-plane-neighborhood (5).svg
deleted file mode 100644
index 1a7f080a31102d..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood (5).svg
+++ /dev/null
@@ -1,322 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood-3.svg b/book/src/.gitbook/assets/data-plane-neighborhood-3.svg
deleted file mode 100644
index 1a7f080a31102d..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood-3.svg
+++ /dev/null
@@ -1,322 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-neighborhood.svg b/book/src/.gitbook/assets/data-plane-neighborhood.svg
deleted file mode 100644
index 1a7f080a31102d..00000000000000
--- a/book/src/.gitbook/assets/data-plane-neighborhood.svg
+++ /dev/null
@@ -1,322 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-seeding (1).svg b/book/src/.gitbook/assets/data-plane-seeding (1).svg
deleted file mode 100644
index 765b53c93f589e..00000000000000
--- a/book/src/.gitbook/assets/data-plane-seeding (1).svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-seeding (2).svg b/book/src/.gitbook/assets/data-plane-seeding (2).svg
deleted file mode 100644
index 765b53c93f589e..00000000000000
--- a/book/src/.gitbook/assets/data-plane-seeding (2).svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-seeding (3).svg b/book/src/.gitbook/assets/data-plane-seeding (3).svg
deleted file mode 100644
index 7286bd291a64f4..00000000000000
--- a/book/src/.gitbook/assets/data-plane-seeding (3).svg
+++ /dev/null
@@ -1,156 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-seeding (4).svg b/book/src/.gitbook/assets/data-plane-seeding (4).svg
deleted file mode 100644
index 765b53c93f589e..00000000000000
--- a/book/src/.gitbook/assets/data-plane-seeding (4).svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-seeding (5).svg b/book/src/.gitbook/assets/data-plane-seeding (5).svg
deleted file mode 100644
index 765b53c93f589e..00000000000000
--- a/book/src/.gitbook/assets/data-plane-seeding (5).svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane-seeding.svg b/book/src/.gitbook/assets/data-plane-seeding.svg
deleted file mode 100644
index 765b53c93f589e..00000000000000
--- a/book/src/.gitbook/assets/data-plane-seeding.svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/data-plane.svg b/book/src/.gitbook/assets/data-plane.svg
deleted file mode 100644
index 5a33b8bf6e5abd..00000000000000
--- a/book/src/.gitbook/assets/data-plane.svg
+++ /dev/null
@@ -1,192 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation (1).svg b/book/src/.gitbook/assets/fork-generation (1).svg
deleted file mode 100644
index 3d13d7549b728a..00000000000000
--- a/book/src/.gitbook/assets/fork-generation (1).svg
+++ /dev/null
@@ -1,330 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation (2).svg b/book/src/.gitbook/assets/fork-generation (2).svg
deleted file mode 100644
index 3d13d7549b728a..00000000000000
--- a/book/src/.gitbook/assets/fork-generation (2).svg
+++ /dev/null
@@ -1,330 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation (3).svg b/book/src/.gitbook/assets/fork-generation (3).svg
deleted file mode 100644
index 3d13d7549b728a..00000000000000
--- a/book/src/.gitbook/assets/fork-generation (3).svg
+++ /dev/null
@@ -1,330 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation (4).svg b/book/src/.gitbook/assets/fork-generation (4).svg
deleted file mode 100644
index 096f643c15ad9f..00000000000000
--- a/book/src/.gitbook/assets/fork-generation (4).svg
+++ /dev/null
@@ -1,348 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation (5).svg b/book/src/.gitbook/assets/fork-generation (5).svg
deleted file mode 100644
index 3d13d7549b728a..00000000000000
--- a/book/src/.gitbook/assets/fork-generation (5).svg
+++ /dev/null
@@ -1,330 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation-3.svg b/book/src/.gitbook/assets/fork-generation-3.svg
deleted file mode 100644
index 3d13d7549b728a..00000000000000
--- a/book/src/.gitbook/assets/fork-generation-3.svg
+++ /dev/null
@@ -1,330 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/fork-generation.svg b/book/src/.gitbook/assets/fork-generation.svg
deleted file mode 100644
index 3d13d7549b728a..00000000000000
--- a/book/src/.gitbook/assets/fork-generation.svg
+++ /dev/null
@@ -1,330 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks (1).svg b/book/src/.gitbook/assets/forks (1).svg
deleted file mode 100644
index 725a73f5d3dea7..00000000000000
--- a/book/src/.gitbook/assets/forks (1).svg
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks (2).svg b/book/src/.gitbook/assets/forks (2).svg
deleted file mode 100644
index e57f128fcab872..00000000000000
--- a/book/src/.gitbook/assets/forks (2).svg
+++ /dev/null
@@ -1,140 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks (3).svg b/book/src/.gitbook/assets/forks (3).svg
deleted file mode 100644
index 725a73f5d3dea7..00000000000000
--- a/book/src/.gitbook/assets/forks (3).svg
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks (4).svg b/book/src/.gitbook/assets/forks (4).svg
deleted file mode 100644
index 725a73f5d3dea7..00000000000000
--- a/book/src/.gitbook/assets/forks (4).svg
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks (5).svg b/book/src/.gitbook/assets/forks (5).svg
deleted file mode 100644
index 725a73f5d3dea7..00000000000000
--- a/book/src/.gitbook/assets/forks (5).svg
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned (1).svg b/book/src/.gitbook/assets/forks-pruned (1).svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned (1).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned (2).svg b/book/src/.gitbook/assets/forks-pruned (2).svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned (2).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned (3).svg b/book/src/.gitbook/assets/forks-pruned (3).svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned (3).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned (4).svg b/book/src/.gitbook/assets/forks-pruned (4).svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned (4).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned (5).svg b/book/src/.gitbook/assets/forks-pruned (5).svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned (5).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned-3.svg b/book/src/.gitbook/assets/forks-pruned-3.svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned-3.svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned.svg b/book/src/.gitbook/assets/forks-pruned.svg
deleted file mode 100644
index 5a8f41f21c9629..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned.svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2 (1).svg b/book/src/.gitbook/assets/forks-pruned2 (1).svg
deleted file mode 100644
index f57f691d73cfda..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2 (1).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2 (2).svg b/book/src/.gitbook/assets/forks-pruned2 (2).svg
deleted file mode 100644
index f57f691d73cfda..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2 (2).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2 (3).svg b/book/src/.gitbook/assets/forks-pruned2 (3).svg
deleted file mode 100644
index f57f691d73cfda..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2 (3).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2 (4).svg b/book/src/.gitbook/assets/forks-pruned2 (4).svg
deleted file mode 100644
index a550b817289bcc..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2 (4).svg
+++ /dev/null
@@ -1,110 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2 (5).svg b/book/src/.gitbook/assets/forks-pruned2 (5).svg
deleted file mode 100644
index f57f691d73cfda..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2 (5).svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2-1.svg b/book/src/.gitbook/assets/forks-pruned2-1.svg
deleted file mode 100644
index f57f691d73cfda..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2-1.svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks-pruned2.svg b/book/src/.gitbook/assets/forks-pruned2.svg
deleted file mode 100644
index f57f691d73cfda..00000000000000
--- a/book/src/.gitbook/assets/forks-pruned2.svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/forks.svg b/book/src/.gitbook/assets/forks.svg
deleted file mode 100644
index 725a73f5d3dea7..00000000000000
--- a/book/src/.gitbook/assets/forks.svg
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/p_ex_interest.png b/book/src/.gitbook/assets/p_ex_interest.png
new file mode 100755
index 00000000000000..3329fe04e58a44
Binary files /dev/null and b/book/src/.gitbook/assets/p_ex_interest.png differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (1).png b/book/src/.gitbook/assets/p_ex_schedule (1).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (1).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (2).png b/book/src/.gitbook/assets/p_ex_schedule (2).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (2).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (3).png b/book/src/.gitbook/assets/p_ex_schedule (3).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (3).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (4).png b/book/src/.gitbook/assets/p_ex_schedule (4).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (4).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (5).png b/book/src/.gitbook/assets/p_ex_schedule (5).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (5).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (6).png b/book/src/.gitbook/assets/p_ex_schedule (6).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (6).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule (7).png b/book/src/.gitbook/assets/p_ex_schedule (7).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule (7).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule-3 (1).png b/book/src/.gitbook/assets/p_ex_schedule-3 (1).png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule-3 (1).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_schedule-3.png b/book/src/.gitbook/assets/p_ex_schedule-3.png
deleted file mode 100644
index beb4c0cc5c3d22..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_schedule-3.png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply (1).png b/book/src/.gitbook/assets/p_ex_supply (1).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply (1).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply (2).png b/book/src/.gitbook/assets/p_ex_supply (2).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply (2).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply (3).png b/book/src/.gitbook/assets/p_ex_supply (3).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply (3).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply (4).png b/book/src/.gitbook/assets/p_ex_supply (4).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply (4).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply (5).png b/book/src/.gitbook/assets/p_ex_supply (5).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply (5).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply (6).png b/book/src/.gitbook/assets/p_ex_supply (6).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply (6).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply-1 (1).png b/book/src/.gitbook/assets/p_ex_supply-1 (1).png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply-1 (1).png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply-1.png b/book/src/.gitbook/assets/p_ex_supply-1.png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply-1.png and /dev/null differ
diff --git a/book/src/.gitbook/assets/p_ex_supply-3.png b/book/src/.gitbook/assets/p_ex_supply-3.png
deleted file mode 100644
index 37798493687653..00000000000000
Binary files a/book/src/.gitbook/assets/p_ex_supply-3.png and /dev/null differ
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (1).svg b/book/src/.gitbook/assets/passive-staking-callflow (1).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (1).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (2).svg b/book/src/.gitbook/assets/passive-staking-callflow (2).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (2).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (3).svg b/book/src/.gitbook/assets/passive-staking-callflow (3).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (3).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (4).svg b/book/src/.gitbook/assets/passive-staking-callflow (4).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (4).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (5).svg b/book/src/.gitbook/assets/passive-staking-callflow (5).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (5).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (6).svg b/book/src/.gitbook/assets/passive-staking-callflow (6).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (6).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow (7).svg b/book/src/.gitbook/assets/passive-staking-callflow (7).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow (7).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg b/book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow-3.svg b/book/src/.gitbook/assets/passive-staking-callflow-3.svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow-3.svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/passive-staking-callflow.svg b/book/src/.gitbook/assets/passive-staking-callflow.svg
deleted file mode 100644
index 378686284a8e08..00000000000000
--- a/book/src/.gitbook/assets/passive-staking-callflow.svg
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
diff --git a/book/src/.gitbook/assets/runtime (1).svg b/book/src/.gitbook/assets/runtime (1).svg
deleted file mode 100644
index 0a9b8289b2bae8..00000000000000
--- a/book/src/.gitbook/assets/runtime (1).svg
+++ /dev/null
@@ -1,346 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/runtime (2).svg b/book/src/.gitbook/assets/runtime (2).svg
deleted file mode 100644
index 0a9b8289b2bae8..00000000000000
--- a/book/src/.gitbook/assets/runtime (2).svg
+++ /dev/null
@@ -1,346 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/runtime (3).svg b/book/src/.gitbook/assets/runtime (3).svg
deleted file mode 100644
index 0a9b8289b2bae8..00000000000000
--- a/book/src/.gitbook/assets/runtime (3).svg
+++ /dev/null
@@ -1,346 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/runtime (4).svg b/book/src/.gitbook/assets/runtime (4).svg
deleted file mode 100644
index c2be7907034a98..00000000000000
--- a/book/src/.gitbook/assets/runtime (4).svg
+++ /dev/null
@@ -1,364 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/runtime (5).svg b/book/src/.gitbook/assets/runtime (5).svg
deleted file mode 100644
index 0a9b8289b2bae8..00000000000000
--- a/book/src/.gitbook/assets/runtime (5).svg
+++ /dev/null
@@ -1,346 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/runtime.svg b/book/src/.gitbook/assets/runtime.svg
deleted file mode 100644
index 0a9b8289b2bae8..00000000000000
--- a/book/src/.gitbook/assets/runtime.svg
+++ /dev/null
@@ -1,346 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/sdk-tools (1).svg b/book/src/.gitbook/assets/sdk-tools (1).svg
deleted file mode 100644
index 629a3feaa35012..00000000000000
--- a/book/src/.gitbook/assets/sdk-tools (1).svg
+++ /dev/null
@@ -1,237 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/sdk-tools (2).svg b/book/src/.gitbook/assets/sdk-tools (2).svg
deleted file mode 100644
index 8903c46700f6e7..00000000000000
--- a/book/src/.gitbook/assets/sdk-tools (2).svg
+++ /dev/null
@@ -1,255 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/sdk-tools (3).svg b/book/src/.gitbook/assets/sdk-tools (3).svg
deleted file mode 100644
index 629a3feaa35012..00000000000000
--- a/book/src/.gitbook/assets/sdk-tools (3).svg
+++ /dev/null
@@ -1,237 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/sdk-tools (4).svg b/book/src/.gitbook/assets/sdk-tools (4).svg
deleted file mode 100644
index 629a3feaa35012..00000000000000
--- a/book/src/.gitbook/assets/sdk-tools (4).svg
+++ /dev/null
@@ -1,237 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/sdk-tools (5).svg b/book/src/.gitbook/assets/sdk-tools (5).svg
deleted file mode 100644
index 629a3feaa35012..00000000000000
--- a/book/src/.gitbook/assets/sdk-tools (5).svg
+++ /dev/null
@@ -1,237 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/sdk-tools.svg b/book/src/.gitbook/assets/sdk-tools.svg
deleted file mode 100644
index 629a3feaa35012..00000000000000
--- a/book/src/.gitbook/assets/sdk-tools.svg
+++ /dev/null
@@ -1,237 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle (1).svg b/book/src/.gitbook/assets/spv-bank-merkle (1).svg
deleted file mode 100644
index a07908d17e48cd..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle (1).svg
+++ /dev/null
@@ -1,163 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle (2).svg b/book/src/.gitbook/assets/spv-bank-merkle (2).svg
deleted file mode 100644
index a07908d17e48cd..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle (2).svg
+++ /dev/null
@@ -1,163 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle (3).svg b/book/src/.gitbook/assets/spv-bank-merkle (3).svg
deleted file mode 100644
index 3962b1080700d0..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle (3).svg
+++ /dev/null
@@ -1,181 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle (4).svg b/book/src/.gitbook/assets/spv-bank-merkle (4).svg
deleted file mode 100644
index a07908d17e48cd..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle (4).svg
+++ /dev/null
@@ -1,163 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle (5).svg b/book/src/.gitbook/assets/spv-bank-merkle (5).svg
deleted file mode 100644
index a07908d17e48cd..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle (5).svg
+++ /dev/null
@@ -1,163 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle-3.svg b/book/src/.gitbook/assets/spv-bank-merkle-3.svg
deleted file mode 100644
index a07908d17e48cd..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle-3.svg
+++ /dev/null
@@ -1,163 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-bank-merkle.svg b/book/src/.gitbook/assets/spv-bank-merkle.svg
deleted file mode 100644
index a07908d17e48cd..00000000000000
--- a/book/src/.gitbook/assets/spv-bank-merkle.svg
+++ /dev/null
@@ -1,163 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-block-merkle (1).svg b/book/src/.gitbook/assets/spv-block-merkle (1).svg
deleted file mode 100644
index 18ea80cadd37fa..00000000000000
--- a/book/src/.gitbook/assets/spv-block-merkle (1).svg
+++ /dev/null
@@ -1,203 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-block-merkle (2).svg b/book/src/.gitbook/assets/spv-block-merkle (2).svg
deleted file mode 100644
index 9d5805ca28ebcb..00000000000000
--- a/book/src/.gitbook/assets/spv-block-merkle (2).svg
+++ /dev/null
@@ -1,221 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-block-merkle (3).svg b/book/src/.gitbook/assets/spv-block-merkle (3).svg
deleted file mode 100644
index 18ea80cadd37fa..00000000000000
--- a/book/src/.gitbook/assets/spv-block-merkle (3).svg
+++ /dev/null
@@ -1,203 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-block-merkle (4).svg b/book/src/.gitbook/assets/spv-block-merkle (4).svg
deleted file mode 100644
index 18ea80cadd37fa..00000000000000
--- a/book/src/.gitbook/assets/spv-block-merkle (4).svg
+++ /dev/null
@@ -1,203 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-block-merkle (5).svg b/book/src/.gitbook/assets/spv-block-merkle (5).svg
deleted file mode 100644
index 18ea80cadd37fa..00000000000000
--- a/book/src/.gitbook/assets/spv-block-merkle (5).svg
+++ /dev/null
@@ -1,203 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/spv-block-merkle.svg b/book/src/.gitbook/assets/spv-block-merkle.svg
deleted file mode 100644
index 18ea80cadd37fa..00000000000000
--- a/book/src/.gitbook/assets/spv-block-merkle.svg
+++ /dev/null
@@ -1,203 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tpu (1).svg b/book/src/.gitbook/assets/tpu (1).svg
deleted file mode 100644
index 1de96c7927d65b..00000000000000
--- a/book/src/.gitbook/assets/tpu (1).svg
+++ /dev/null
@@ -1,312 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tpu (2).svg b/book/src/.gitbook/assets/tpu (2).svg
deleted file mode 100644
index 1de96c7927d65b..00000000000000
--- a/book/src/.gitbook/assets/tpu (2).svg
+++ /dev/null
@@ -1,312 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tpu (3).svg b/book/src/.gitbook/assets/tpu (3).svg
deleted file mode 100644
index 1de96c7927d65b..00000000000000
--- a/book/src/.gitbook/assets/tpu (3).svg
+++ /dev/null
@@ -1,312 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tpu (4).svg b/book/src/.gitbook/assets/tpu (4).svg
deleted file mode 100644
index 1de96c7927d65b..00000000000000
--- a/book/src/.gitbook/assets/tpu (4).svg
+++ /dev/null
@@ -1,312 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tpu.svg b/book/src/.gitbook/assets/tpu.svg
deleted file mode 100644
index 1de96c7927d65b..00000000000000
--- a/book/src/.gitbook/assets/tpu.svg
+++ /dev/null
@@ -1,312 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tvu (1).svg b/book/src/.gitbook/assets/tvu (1).svg
deleted file mode 100644
index de4c59c97ec2a9..00000000000000
--- a/book/src/.gitbook/assets/tvu (1).svg
+++ /dev/null
@@ -1,311 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tvu (2).svg b/book/src/.gitbook/assets/tvu (2).svg
deleted file mode 100644
index de4c59c97ec2a9..00000000000000
--- a/book/src/.gitbook/assets/tvu (2).svg
+++ /dev/null
@@ -1,311 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tvu (3).svg b/book/src/.gitbook/assets/tvu (3).svg
deleted file mode 100644
index de4c59c97ec2a9..00000000000000
--- a/book/src/.gitbook/assets/tvu (3).svg
+++ /dev/null
@@ -1,311 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/tvu.svg b/book/src/.gitbook/assets/tvu.svg
deleted file mode 100644
index b260f553333de6..00000000000000
--- a/book/src/.gitbook/assets/tvu.svg
+++ /dev/null
@@ -1,311 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator (1).svg b/book/src/.gitbook/assets/validator (1).svg
deleted file mode 100644
index aa8bb05d4b23a2..00000000000000
--- a/book/src/.gitbook/assets/validator (1).svg
+++ /dev/null
@@ -1,474 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator (2).svg b/book/src/.gitbook/assets/validator (2).svg
deleted file mode 100644
index 11be7b6a71a216..00000000000000
--- a/book/src/.gitbook/assets/validator (2).svg
+++ /dev/null
@@ -1,456 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator (3).svg b/book/src/.gitbook/assets/validator (3).svg
deleted file mode 100644
index 11be7b6a71a216..00000000000000
--- a/book/src/.gitbook/assets/validator (3).svg
+++ /dev/null
@@ -1,456 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator (4).svg b/book/src/.gitbook/assets/validator (4).svg
deleted file mode 100644
index 11be7b6a71a216..00000000000000
--- a/book/src/.gitbook/assets/validator (4).svg
+++ /dev/null
@@ -1,456 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal (1).svg b/book/src/.gitbook/assets/validator-proposal (1).svg
deleted file mode 100644
index bf8410aba89f05..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal (1).svg
+++ /dev/null
@@ -1,496 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal (2).svg b/book/src/.gitbook/assets/validator-proposal (2).svg
deleted file mode 100644
index bf8410aba89f05..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal (2).svg
+++ /dev/null
@@ -1,496 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal (3).svg b/book/src/.gitbook/assets/validator-proposal (3).svg
deleted file mode 100644
index bf8410aba89f05..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal (3).svg
+++ /dev/null
@@ -1,496 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal (4).svg b/book/src/.gitbook/assets/validator-proposal (4).svg
deleted file mode 100644
index bf8410aba89f05..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal (4).svg
+++ /dev/null
@@ -1,496 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal (5).svg b/book/src/.gitbook/assets/validator-proposal (5).svg
deleted file mode 100644
index bcd1c854cfdb7e..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal (5).svg
+++ /dev/null
@@ -1,514 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal-1.svg b/book/src/.gitbook/assets/validator-proposal-1.svg
deleted file mode 100644
index bf8410aba89f05..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal-1.svg
+++ /dev/null
@@ -1,496 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator-proposal.svg b/book/src/.gitbook/assets/validator-proposal.svg
deleted file mode 100644
index bf8410aba89f05..00000000000000
--- a/book/src/.gitbook/assets/validator-proposal.svg
+++ /dev/null
@@ -1,496 +0,0 @@
-
diff --git a/book/src/.gitbook/assets/validator.svg b/book/src/.gitbook/assets/validator.svg
deleted file mode 100644
index 44b4c9d0ba14f5..00000000000000
--- a/book/src/.gitbook/assets/validator.svg
+++ /dev/null
@@ -1,456 +0,0 @@
-
diff --git a/book/src/cluster/fork-generation.md b/book/src/cluster/fork-generation.md
index 0aae0e23c39a4a..bfae2b1b300f16 100644
--- a/book/src/cluster/fork-generation.md
+++ b/book/src/cluster/fork-generation.md
@@ -58,7 +58,7 @@ Validators vote based on a greedy choice to maximize their reward described in [
The diagram below represents a validator's view of the PoH stream with possible forks over time. L1, L2, etc. are leader slots, and `E`s represent entries from that leader during that leader's slot. The `x`s represent ticks only, and time flows downwards in the diagram.
-
+
Note that an `E` appearing on 2 forks at the same slot is a slashable condition, so a validator observing `E3` and `E3'` can slash L3 and safely choose `x` for that slot. Once a validator commits to a forks, other forks can be discarded below that tick count. For any slot, validators need only consider a single "has entries" chain or a "ticks only" chain to be proposed by a leader. But multiple virtual entries may overlap as they link back to the a previous slot.
@@ -78,4 +78,3 @@ This arrangement of the network data streams permits nodes to save exactly this
### Leader's View
When a new leader begins a slot, it must first transmit any PoH \(ticks\) required to link the new slot with the most recently observed and voted slot. The fork the leader proposes would link the current slot to a previous fork that the leader has voted on with virtual ticks.
-
diff --git a/book/src/cluster/managing-forks.md b/book/src/cluster/managing-forks.md
index 255a542f36e7ac..30dfe3f91df8bf 100644
--- a/book/src/cluster/managing-forks.md
+++ b/book/src/cluster/managing-forks.md
@@ -8,7 +8,7 @@ A validator selects a fork by submiting a vote to a slot leader on that fork. Th
An active fork is as a sequence of checkpoints that has a length at least one longer than the rollback depth. The shortest fork will have a length exactly one longer than the rollback depth. For example:
-
+
The following sequences are _active forks_:
@@ -23,13 +23,12 @@ A validator may vote on any checkpoint in the tree. In the diagram above, that's
Starting from the example above, wth a rollback depth of 2, consider a vote on 5 versus a vote on 6. First, a vote on 5:
-
+
The new root is 2, and any active forks that are not descendants from 2 are pruned.
Alternatively, a vote on 6:
-
+
The tree remains with a root of 1, since the active fork starting at 6 is only 2 checkpoints from the root.
-
diff --git a/book/src/cluster/stake-delegation-and-rewards.md b/book/src/cluster/stake-delegation-and-rewards.md
index 25079046617191..f830b1b4c0794f 100644
--- a/book/src/cluster/stake-delegation-and-rewards.md
+++ b/book/src/cluster/stake-delegation-and-rewards.md
@@ -158,7 +158,7 @@ Lamports build up over time in a Stake account and any excess over activated sta
## Example Callflow
-
+
## Staking Rewards
diff --git a/book/src/cluster/turbine-block-propagation.md b/book/src/cluster/turbine-block-propagation.md
index cbccc843bc7b78..625ce54bfd575b 100644
--- a/book/src/cluster/turbine-block-propagation.md
+++ b/book/src/cluster/turbine-block-propagation.md
@@ -20,15 +20,15 @@ This way each node only has to communicate with a maximum of `2 * DATA_PLANE_FAN
The following diagram shows how the Leader sends shreds with a Fanout of 2 to Neighborhood 0 in Layer 0 and how the nodes in Neighborhood 0 share their data with each other.
-
+
The following diagram shows how Neighborhood 0 fans out to Neighborhoods 1 and 2.
-
+
Finally, the following diagram shows a two layer cluster with a Fanout of 2.
-
+
### Configuration Values
@@ -93,5 +93,4 @@ With FEC rate of `32:32`
The following diagram shows how two neighborhoods in different layers interact. To cripple a neighborhood, enough nodes \(erasure codes +1\) from the neighborhood above need to fail. Since each neighborhood receives shreds from multiple nodes in a neighborhood in the upper layer, we'd need a big network failure in the upper layers to end up with incomplete data.
-
-
+
diff --git a/book/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md b/book/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md
index 32de78f34d9375..a9903cb45b6da9 100644
--- a/book/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md
+++ b/book/src/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md
@@ -19,13 +19,12 @@ The first factor is a function of protocol parameters only \(i.e. independent of
At any given point in time, a specific validator's interest rate can be determined based on the porportion of circulating supply that is staked by the network and the validator's uptime/activity in the previous epoch. For example, consider a hypothetical instance of the network with an initial circulating token supply of 250MM tokens with an additional 250MM vesting over 3 years. Additionally an inflation rate is specified at network launch of 7.5%, and a disinflationary schedule of 20% decrease in inflation rate per year \(the actual rates to be implemented are to be worked out during the testnet experimentation phase of mainnet launch\). With these broad assumptions, the 10-year inflation rate \(adjusted daily for this example\) is shown in **Figure 2**, while the total circulating token supply is illustrated in **Figure 3**. Neglected in this toy-model is the inflation supression due to the portion of each transaction fee that is to be destroyed.
- \*\*Figure 2:\*\* In this example schedule, the annual inflation rate \[%\] reduces at around 20% per year, until it reaches the long-term, fixed, 1.5% rate.
+ \*\*Figure 2:\*\* In this example schedule, the annual inflation rate \[%\] reduces at around 20% per year, until it reaches the long-term, fixed, 1.5% rate.
- \*\*Figure 3:\*\* The total token supply over a 10-year period, based on an initial 250MM tokens with the disinflationary inflation schedule as shown in \*\*Figure 2\*\* Over time, the interest rate, at a fixed network staked percentage, will reduce concordant with network inflation. Validation-client interest rates are designed to be higher in the early days of the network to incentivize participation and jumpstart the network economy. As previously mentioned, the inflation rate is expected to stabalize near 1-2% which also results in a fixed, long-term, interest rate to be provided to validator-clients. This value does not represent the total interest available to validator-clients as transaction fees for state-validation and ledger storage replication \(PoReps\) are not accounted for here. Given these example parameters, annualized validator-specific interest rates can be determined based on the global fraction of tokens bonded as stake, as well as their uptime/activity in the previous epoch. For the purpose of this example, we assume 100% uptime for all validators and a split in interest-based rewards between validators and archiver nodes of 80%/20%. Additionally, the fraction of staked circulating supply is assummed to be constant. Based on these assumptions, an annualized validation-client interest rate schedule as a function of % circulating token supply that is staked is shown in\*\* Figure 4\*\*.
+ \*\*Figure 3:\*\* The total token supply over a 10-year period, based on an initial 250MM tokens with the disinflationary inflation schedule as shown in \*\*Figure 2\*\* Over time, the interest rate, at a fixed network staked percentage, will reduce concordant with network inflation. Validation-client interest rates are designed to be higher in the early days of the network to incentivize participation and jumpstart the network economy. As previously mentioned, the inflation rate is expected to stabalize near 1-2% which also results in a fixed, long-term, interest rate to be provided to validator-clients. This value does not represent the total interest available to validator-clients as transaction fees for state-validation and ledger storage replication \(PoReps\) are not accounted for here. Given these example parameters, annualized validator-specific interest rates can be determined based on the global fraction of tokens bonded as stake, as well as their uptime/activity in the previous epoch. For the purpose of this example, we assume 100% uptime for all validators and a split in interest-based rewards between validators and archiver nodes of 80%/20%. Additionally, the fraction of staked circulating supply is assummed to be constant. Based on these assumptions, an annualized validation-client interest rate schedule as a function of % circulating token supply that is staked is shown in\*\* Figure 4\*\*.
-
+
**Figure 4:** Shown here are example validator interest rates over time, neglecting transaction fees, segmented by fraction of total circulating supply bonded as stake.
This epoch-specific protocol-defined interest rate sets an upper limit of _protocol-generated_ annual interest rate \(not absolute total interest rate\) possible to be delivered to any validator-client per epoch. The distributed interest rate per epoch is then discounted from this value based on the participation of the validator-client during the previous epoch.
-
diff --git a/book/src/proposals/simple-payment-and-state-verification.md b/book/src/proposals/simple-payment-and-state-verification.md
index 3bf09eb3f9e0b7..3e15fb252ebb2f 100644
--- a/book/src/proposals/simple-payment-and-state-verification.md
+++ b/book/src/proposals/simple-payment-and-state-verification.md
@@ -30,7 +30,7 @@ A payment receipt is a data structure that contains a Merkle Path from a transac
An Entry-Merkle is a Merkle Root including all transactions in the entry, sorted by signature.
-
+
A Block-Merkle is a Merkle root of all the Entry-Merkles sequenced in the block. Transaction status is necessary for the receipt because the state receipt is constructed for the block. Two transactions over the same state can appear in the block, and therefore, there is no way to infer from just the state whether a transaction that is committed to the ledger has succeeded or failed in modifying the intended state. It may not be necessary to encode the full status code, but a single status bit to indicate the transaction's success.
@@ -48,7 +48,7 @@ At the end of the block, A and B are in the exact same starting state, and any s
The Bank-Merkle is computed from the Merkle Tree of the new state changes, along with the Previous Bank-Merkle, and the Block-Merkle.
-
+
A state receipt contains only the state changes occurring in the block. A direct Merkle Path to the current Bank-Merkle guarantees the state value at that bank hash, but it cannot be used to generate a “current” receipt to the latest state if the state modification occurred in some previous block. There is no guarantee that the path provided by the validator is the latest one available out of all the previous Bank-Merkles.
@@ -107,4 +107,3 @@ For example:
* Computed fee rates
These values should have an entry in the Bank-Merkle. They should live under known accounts, and therefore have an exact address in the Merkle Path.
-
diff --git a/book/src/proposals/validator-proposal.md b/book/src/proposals/validator-proposal.md
index c84a2da12bef57..aa10c82c35317b 100644
--- a/book/src/proposals/validator-proposal.md
+++ b/book/src/proposals/validator-proposal.md
@@ -12,7 +12,7 @@ The fundamental difference between the pipelines is when the PoH is present. In
We unwrap the many abstraction layers and build a single pipeline that can toggle leader mode on whenever the validator's ID shows up in the leader schedule.
-
+
## Notable changes
@@ -33,4 +33,3 @@ We unwrap the many abstraction layers and build a single pipeline that can toggl
* New MulticastStage absorbs retransmit part of RetransmitStage
* MulticastStage downstream of Blockstore
-
diff --git a/book/src/validator/README.md b/book/src/validator/README.md
index e11ca3f8d841f4..c99047bad87ebe 100644
--- a/book/src/validator/README.md
+++ b/book/src/validator/README.md
@@ -1,6 +1,6 @@
# Anatomy of a Validator
-
+
## Pipelining
@@ -9,4 +9,3 @@ The validators make extensive use of an optimization common in CPU design, calle
## Pipelining in the Validator
The validator contains two pipelined processes, one used in leader mode called the TPU and one used in validator mode called the TVU. In both cases, the hardware being pipelined is the same, the network input, the GPU cards, the CPU cores, writes to disk, and the network output. What it does with that hardware is different. The TPU exists to create ledger entries whereas the TVU exists to validate them.
-
diff --git a/book/src/validator/runtime.md b/book/src/validator/runtime.md
index fc223f26c78692..a126b07f388934 100644
--- a/book/src/validator/runtime.md
+++ b/book/src/validator/runtime.md
@@ -20,7 +20,7 @@ Transactions are batched and processed in a pipeline. The TPU and TVU follow a s
The TVU runtime ensures that PoH verification occurs before the runtime processes any transactions.
-
+
At the _execute_ stage, the loaded accounts have no data dependencies, so all the programs can be executed in parallel.
diff --git a/book/src/validator/tpu.md b/book/src/validator/tpu.md
index 6801c92fd6a439..06bd9bd2e09c29 100644
--- a/book/src/validator/tpu.md
+++ b/book/src/validator/tpu.md
@@ -1,4 +1,3 @@
# TPU
-
-
+
diff --git a/ci/publish-book.sh b/ci/publish-book.sh
index 76ed2dbde4ddd4..0f4c75df716262 100755
--- a/ci/publish-book.sh
+++ b/ci/publish-book.sh
@@ -2,6 +2,9 @@
set -e
cd "$(dirname "$0")/.."
+
+me=$(basename "$0")
+
BOOK="book"
source ci/rust-version.sh stable
@@ -52,20 +55,41 @@ echo --- create book repo
set -x
cd book/html/
git init .
- git config user.email "maintainers@solana.com"
- git config user.name "$(basename "$0")"
git add ./* ./.nojekyll
- git commit -m "${CI_COMMIT:-local}"
+ git commit --author="$me " -m "${CI_COMMIT:-local}"
)
echo "--- publish $BOOK"
-cd book/html/
-git remote add origin $repo
-git fetch origin master
-if ! git diff HEAD origin/master --quiet; then
- git push -f origin HEAD:master
-else
- echo "Content unchanged, publish skipped"
-fi
+(
+ cd book/html/
+ git remote add origin $repo
+ git fetch origin master
+ if ! git diff HEAD origin/master --quiet; then
+ git push -f origin HEAD:master
+ else
+ echo "Content unchanged, publish skipped"
+ fi
+)
+
+echo --- update gitbook-cage
+(
+ if [[ -z $CI_BRANCH ]]; then
+ exit 0
+ fi
+
+ set -x
+ (
+ . ci/rust-version.sh
+ ci/docker-run.sh $rust_stable_docker_image make -Cbook -B svg
+ )
+ # make a local commit for the svgs
+ git add -A -f book/src/.gitbook/assets/.
+ if ! git diff-index --quiet HEAD; then
+ git commit --author="$me " -m "gitbook-cage update $(date -Is)"
+ git push -f github.com:solana-labs/solana-gitbook-cage.git HEAD:refs/heads/"$CI_BRANCH"
+ # pop off the local commit
+ git reset --hard HEAD~
+ fi
+)
exit 0
diff --git a/ci/test-checks.sh b/ci/test-checks.sh
index 29a610d66b7670..d90260a27b2d60 100755
--- a/ci/test-checks.sh
+++ b/ci/test-checks.sh
@@ -23,7 +23,6 @@ _ cargo +"$rust_stable" audit --ignore RUSTSEC-2019-0013 --ignore RUSTSEC-2018-0
_ ci/nits.sh
_ ci/order-crates-for-publishing.py
_ book/build.sh
-_ book/build-svg.sh
_ ci/check-ssh-keys.sh
{