Generate book images via Make

This commit is contained in:
Greg Fitzgerald 2018-11-26 09:46:50 -07:00 committed by Grimes
parent 88e270723f
commit 2200a31331
11 changed files with 40 additions and 1851 deletions

2
.gitignore vendored
View File

@ -1,5 +1,7 @@
/target/
/book/html/
/book/src/img/
/book/src/tests.ok
**/*.rs.bk
.cargo

View File

@ -73,19 +73,19 @@ cargo install mdbook
Run any Rust tests in the markdown:
```bash
mdbook test book
make -C book test
```
Render markdown as HTML:
```bash
mdbook build book
make -C book build
```
Render and view the book:
```bash
mdbook build --open book
make -C book open
```

33
book/makefile Normal file
View File

@ -0,0 +1,33 @@
BOB_SRCS=$(wildcard art/*.bob)
MD_SRCS=$(wildcard src/*.md)
SVG_IMGS=$(BOB_SRCS:art/%.bob=src/img/%.svg)
all: html/index.html
test: src/tests.ok
open: all
mdbook build --open
watch: $(SVG_IMGS)
mdbook watch
src/img/%.svg: art/%.bob
@mkdir -p $(@D)
svgbob < $< > $@
src/%.md: %.md
@mkdir -p $(@D)
@cp $< $@
src/tests.ok: $(SVG_IMGS) $(MD_SRCS)
mdbook test
touch $@
html/index.html: src/tests.ok
mdbook build
clean:
rm -f $(SVG_IMGS) src/tests.ok
rm -rf html

View File

@ -1,385 +0,0 @@
<svg class="bob" font-family="arial" font-size="14" height="432" width="528" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="432" width="528" x="0" y="0"/>
<g>
<line x1="12" x2="12" y1="60" y2="116"/>
<path d="M 12 116 A 4 4 0 0 0 16 120" fill="none"/>
<path d="M 16 56 A 4 4 0 0 0 12 60" fill="none"/>
</g>
<g>
<line x1="16" x2="80" y1="56" y2="56"/>
<path d="M 84 60 A 4 4 0 0 0 80 56" fill="none"/>
</g>
<g>
<line x1="16" x2="52" y1="120" y2="120"/>
<line x1="52" x2="52" y1="120" y2="324"/>
<line x1="52" x2="80" y1="120" y2="120"/>
<path d="M 52 324 A 4 4 0 0 0 56 328" fill="none"/>
<path d="M 80 120 A 4 4 0 0 0 84 116" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="56" x2="124" y1="328" y2="328"/>
</g>
<g>
<line x1="84" x2="84" y1="60" y2="116"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="84" x2="124" y1="72" y2="72"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="96" x2="92" y1="104" y2="104"/>
<line x1="96" x2="132" y1="104" y2="104"/>
</g>
<g>
<line x1="108" x2="108" y1="12" y2="64"/>
<path d="M 112 8 A 4 4 0 0 0 108 12" fill="none"/>
</g>
<g>
<line x1="108" x2="108" y1="80" y2="96"/>
</g>
<g>
<line x1="108" x2="108" y1="112" y2="320"/>
</g>
<g>
<line x1="108" x2="108" y1="336" y2="388"/>
<path d="M 108 388 A 4 4 0 0 0 112 392" fill="none"/>
</g>
<g>
<line x1="112" x2="328" y1="8" y2="8"/>
<path d="M 332 12 A 4 4 0 0 0 328 8" fill="none"/>
</g>
<g>
<line x1="112" x2="328" y1="392" y2="392"/>
<path d="M 328 392 A 4 4 0 0 0 332 388" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="60" y2="116"/>
<path d="M 132 116 A 4 4 0 0 0 136 120" fill="none"/>
<path d="M 136 56 A 4 4 0 0 0 132 60" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="236" y2="260"/>
<path d="M 132 260 A 4 4 0 0 0 136 264" fill="none"/>
<path d="M 136 232 A 4 4 0 0 0 132 236" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="316" y2="340"/>
<path d="M 132 340 A 4 4 0 0 0 136 344" fill="none"/>
<path d="M 136 312 A 4 4 0 0 0 132 316" fill="none"/>
</g>
<g>
<line x1="136" x2="280" y1="56" y2="56"/>
<path d="M 284 60 A 4 4 0 0 0 280 56" fill="none"/>
</g>
<g>
<line x1="136" x2="280" y1="120" y2="120"/>
<path d="M 280 120 A 4 4 0 0 0 284 116" fill="none"/>
</g>
<g>
<line x1="136" x2="156" y1="232" y2="232"/>
<line x1="156" x2="156" y1="144" y2="232"/>
<line x1="156" x2="184" y1="232" y2="232"/>
<path d="M 188 236 A 4 4 0 0 0 184 232" fill="none"/>
</g>
<g>
<line x1="136" x2="184" y1="264" y2="264"/>
<path d="M 184 264 A 4 4 0 0 0 188 260" fill="none"/>
</g>
<g>
<line x1="136" x2="156" y1="312" y2="312"/>
<line x1="156" x2="156" y1="288" y2="312"/>
<line x1="156" x2="176" y1="312" y2="312"/>
<path d="M 180 316 A 4 4 0 0 0 176 312" fill="none"/>
</g>
<g>
<line x1="136" x2="176" y1="344" y2="344"/>
<path d="M 176 344 A 4 4 0 0 0 180 340" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="156" x2="156" y1="144" y2="132"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="156" x2="156" y1="288" y2="276"/>
</g>
<g>
<line x1="180" x2="180" y1="316" y2="328"/>
<line x1="180" x2="180" y1="328" y2="340"/>
<line marker-end="url(#triangle)" x1="180" x2="204" y1="328" y2="328"/>
</g>
<g>
<line x1="188" x2="188" y1="236" y2="260"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="200" x2="196" y1="248" y2="248"/>
<line x1="200" x2="220" y1="248" y2="248"/>
</g>
<g>
<line x1="212" x2="212" y1="316" y2="356"/>
<path d="M 212 356 A 4 4 0 0 0 216 360" fill="none"/>
<path d="M 216 312 A 4 4 0 0 0 212 316" fill="none"/>
</g>
<g>
<line x1="216" x2="304" y1="312" y2="312"/>
<path d="M 308 316 A 4 4 0 0 0 304 312" fill="none"/>
</g>
<g>
<line x1="216" x2="304" y1="360" y2="360"/>
<path d="M 304 360 A 4 4 0 0 0 308 356" fill="none"/>
</g>
<g>
<line x1="220" x2="220" y1="156" y2="180"/>
<path d="M 220 180 A 4 4 0 0 0 224 184" fill="none"/>
<path d="M 224 152 A 4 4 0 0 0 220 156" fill="none"/>
</g>
<g>
<line x1="220" x2="220" y1="236" y2="260"/>
<path d="M 220 260 A 4 4 0 0 0 224 264" fill="none"/>
<path d="M 224 232 A 4 4 0 0 0 220 236" fill="none"/>
</g>
<g>
<line x1="224" x2="264" y1="152" y2="152"/>
<path d="M 268 156 A 4 4 0 0 0 264 152" fill="none"/>
</g>
<g>
<line x1="224" x2="252" y1="184" y2="184"/>
<line marker-end="url(#triangle)" x1="252" x2="252" y1="184" y2="220"/>
<line x1="252" x2="264" y1="184" y2="184"/>
<path d="M 264 184 A 4 4 0 0 0 268 180" fill="none"/>
</g>
<g>
<line x1="224" x2="236" y1="232" y2="232"/>
<line x1="236" x2="236" y1="208" y2="232"/>
<line x1="236" x2="264" y1="232" y2="232"/>
<path d="M 268 236 A 4 4 0 0 0 264 232" fill="none"/>
</g>
<g>
<line x1="224" x2="264" y1="264" y2="264"/>
<path d="M 264 264 A 4 4 0 0 0 268 260" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="236" x2="236" y1="208" y2="196"/>
</g>
<g>
<line x1="268" x2="268" y1="156" y2="180"/>
</g>
<g>
<line x1="268" x2="268" y1="236" y2="260"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="280" x2="276" y1="168" y2="168"/>
<line marker-end="url(#triangle)" x1="280" x2="364" y1="168" y2="168"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="280" x2="276" y1="248" y2="248"/>
<line x1="280" x2="396" y1="248" y2="248"/>
<line x1="396" x2="396" y1="188" y2="248"/>
<line x1="396" x2="396" y1="248" y2="260"/>
<path d="M 396 260 A 4 4 0 0 0 400 264" fill="none"/>
<path d="M 400 184 A 4 4 0 0 0 396 188" fill="none"/>
</g>
<g>
<line x1="284" x2="284" y1="60" y2="116"/>
</g>
<g>
<line x1="308" x2="308" y1="316" y2="328"/>
<line x1="308" x2="308" y1="328" y2="356"/>
<line marker-end="url(#triangle)" x1="308" x2="388" y1="328" y2="328"/>
</g>
<g>
<line x1="332" x2="332" y1="12" y2="160"/>
</g>
<g>
<line x1="332" x2="332" y1="176" y2="240"/>
</g>
<g>
<line x1="332" x2="332" y1="256" y2="320"/>
</g>
<g>
<line x1="332" x2="332" y1="336" y2="388"/>
</g>
<g>
<line x1="372" x2="372" y1="140" y2="240"/>
<path d="M 376 136 A 4 4 0 0 0 372 140" fill="none"/>
</g>
<g>
<line x1="372" x2="372" y1="256" y2="320"/>
</g>
<g>
<line x1="372" x2="372" y1="336" y2="404"/>
<path d="M 372 404 A 4 4 0 0 0 376 408" fill="none"/>
</g>
<g>
<line x1="376" x2="520" y1="136" y2="136"/>
<path d="M 524 140 A 4 4 0 0 0 520 136" fill="none"/>
</g>
<g>
<line x1="376" x2="520" y1="408" y2="408"/>
<path d="M 520 408 A 4 4 0 0 0 524 404" fill="none"/>
</g>
<g>
<line x1="396" x2="396" y1="300" y2="372"/>
<path d="M 396 372 A 4 4 0 0 0 400 376" fill="none"/>
<path d="M 400 296 A 4 4 0 0 0 396 300" fill="none"/>
</g>
<g>
<line x1="400" x2="496" y1="184" y2="184"/>
<path d="M 500 188 A 4 4 0 0 0 496 184" fill="none"/>
</g>
<g>
<line x1="400" x2="496" y1="264" y2="264"/>
<path d="M 496 264 A 4 4 0 0 0 500 260" fill="none"/>
</g>
<g>
<line x1="400" x2="496" y1="296" y2="296"/>
<path d="M 500 300 A 4 4 0 0 0 496 296" fill="none"/>
</g>
<g>
<line x1="400" x2="496" y1="376" y2="376"/>
<path d="M 496 376 A 4 4 0 0 0 500 372" fill="none"/>
</g>
<g>
<line x1="500" x2="500" y1="188" y2="260"/>
</g>
<g>
<line x1="500" x2="500" y1="300" y2="372"/>
</g>
<g>
<line x1="524" x2="524" y1="140" y2="404"/>
</g>
<g>
<text x="25" y="92">
Client
</text>
</g>
<g>
<text x="129" y="28">
Fullnode
</text>
</g>
<g>
<text x="145" y="92">
JSON
</text>
</g>
<g>
<text x="145" y="252">
Bank
</text>
</g>
<g>
<text x="145" y="332">
TPU
</text>
</g>
<g>
<text x="185" y="92">
RPC
</text>
</g>
<g>
<text x="217" y="92">
Service
</text>
</g>
<g>
<text x="225" y="332">
Broadcast
</text>
</g>
<g>
<text x="225" y="348">
Stage
</text>
</g>
<g>
<text x="233" y="172">
NCP
</text>
</g>
<g>
<text x="233" y="252">
TVU
</text>
</g>
<g>
<text x="385" y="156">
Validators
</text>
</g>
<g>
<text x="409" y="220">
Upstream
</text>
</g>
<g>
<text x="409" y="236">
Validators
</text>
</g>
<g>
<text x="409" y="332">
Downstream
</text>
</g>
<g>
<text x="409" y="348">
Validators
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.3 KiB

View File

@ -1,330 +0,0 @@
<svg class="bob" font-family="arial" font-size="14" height="208" width="768" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="208" width="768" x="0" y="0"/>
<g>
<line marker-end="url(#triangle)" x1="76" x2="76" y1="32" y2="172"/>
</g>
<g>
<line x1="124" x2="124" y1="24" y2="56"/>
<line x1="124" x2="164" y1="24" y2="24"/>
<line x1="124" x2="124" y1="56" y2="88"/>
<line x1="124" x2="164" y1="56" y2="56"/>
<line x1="124" x2="124" y1="88" y2="120"/>
<line x1="124" x2="164" y1="88" y2="88"/>
<line x1="124" x2="124" y1="120" y2="152"/>
<line x1="124" x2="164" y1="120" y2="120"/>
<line x1="124" x2="124" y1="152" y2="184"/>
<line x1="124" x2="164" y1="152" y2="152"/>
<line x1="124" x2="164" y1="184" y2="184"/>
<line x1="164" x2="164" y1="24" y2="56"/>
<line x1="164" x2="164" y1="56" y2="88"/>
<line x1="164" x2="164" y1="88" y2="120"/>
<line x1="164" x2="164" y1="120" y2="152"/>
<line x1="164" x2="164" y1="152" y2="184"/>
</g>
<g>
<line x1="188" x2="188" y1="144" y2="160"/>
</g>
<g>
<line x1="200" x2="208" y1="128" y2="112"/>
</g>
<g>
<line x1="224" x2="236" y1="112" y2="136"/>
</g>
<g>
<line x1="232" x2="240" y1="96" y2="80"/>
</g>
<g>
<line x1="236" x2="236" y1="144" y2="160"/>
</g>
<g>
<line x1="260" x2="260" y1="144" y2="160"/>
</g>
<g>
<line x1="264" x2="272" y1="64" y2="48"/>
</g>
<g>
<line x1="272" x2="280" y1="80" y2="96"/>
</g>
<g>
<line x1="272" x2="280" y1="128" y2="112"/>
</g>
<g>
<line x1="304" x2="316" y1="112" y2="136"/>
</g>
<g>
<line x1="316" x2="316" y1="144" y2="160"/>
</g>
<g>
<line x1="348" x2="360" y1="136" y2="112"/>
</g>
<g>
<line x1="348" x2="348" y1="144" y2="160"/>
</g>
<g>
<line x1="368" x2="376" y1="96" y2="80"/>
</g>
<g>
<line x1="376" x2="384" y1="48" y2="64"/>
</g>
<g>
<line x1="376" x2="388" y1="112" y2="136"/>
</g>
<g>
<line x1="388" x2="388" y1="144" y2="160"/>
</g>
<g>
<line x1="416" x2="424" y1="80" y2="96"/>
</g>
<g>
<line x1="420" x2="420" y1="144" y2="160"/>
</g>
<g>
<line x1="436" x2="420" y1="104" y2="136"/>
</g>
<g>
<line x1="448" x2="460" y1="112" y2="136"/>
</g>
<g>
<line x1="460" x2="460" y1="144" y2="160"/>
</g>
<g>
<line x1="512" x2="640" y1="24" y2="24"/>
</g>
<g>
<text x="17" y="108">
time
</text>
</g>
<g>
<text x="137" y="44">
L1
</text>
</g>
<g>
<text x="137" y="76">
L2
</text>
</g>
<g>
<text x="137" y="108">
L3
</text>
</g>
<g>
<text x="137" y="140">
L4
</text>
</g>
<g>
<text x="137" y="172">
L5
</text>
</g>
<g>
<text x="185" y="140">
x
</text>
</g>
<g>
<text x="185" y="172">
xx
</text>
</g>
<g>
<text x="209" y="108">
E3
</text>
</g>
<g>
<text x="225" y="172">
xx
</text>
</g>
<g>
<text x="249" y="76">
E2
</text>
</g>
<g>
<text x="257" y="140">
E4
</text>
</g>
<g>
<text x="257" y="172">
xx
</text>
</g>
<g>
<text x="289" y="108">
x
</text>
</g>
<g>
<text x="305" y="172">
E5
</text>
</g>
<g>
<text x="313" y="44">
E1
</text>
</g>
<g>
<text x="337" y="172">
xx
</text>
</g>
<g>
<text x="361" y="108">
E3&#39;
</text>
</g>
<g>
<text x="377" y="172">
xx
</text>
</g>
<g>
<text x="393" y="76">
x
</text>
</g>
<g>
<text x="409" y="172">
xx
</text>
</g>
<g>
<text x="449" y="172">
xx
</text>
</g>
<g>
<text x="513" y="12">
validator
</text>
</g>
<g>
<text x="513" y="60">
vote(E1)
</text>
</g>
<g>
<text x="513" y="92">
vote(E2)
</text>
</g>
<g>
<text x="513" y="124">
slash(E3)
</text>
</g>
<g>
<text x="513" y="156">
vote(E4)
</text>
</g>
<g>
<text x="513" y="188">
hang
</text>
</g>
<g>
<text x="553" y="188">
on
</text>
</g>
<g>
<text x="577" y="188">
to
</text>
</g>
<g>
<text x="593" y="12">
action
</text>
</g>
<g>
<text x="601" y="188">
E4
</text>
</g>
<g>
<text x="625" y="188">
and
</text>
</g>
<g>
<text x="657" y="188">
E5
</text>
</g>
<g>
<text x="681" y="188">
for
</text>
</g>
<g>
<text x="713" y="188">
more...
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -1,211 +0,0 @@
<svg class="bob" font-family="arial" font-size="14" height="144" width="656" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="144" width="656" x="0" y="0"/>
<g>
<line marker-end="url(#triangle)" x1="0" x2="28" y1="104" y2="104"/>
</g>
<g>
<line x1="4" x2="4" y1="24" y2="56"/>
<line x1="4" x2="100" y1="24" y2="24"/>
<line x1="4" x2="100" y1="56" y2="56"/>
<line x1="100" x2="100" y1="24" y2="56"/>
</g>
<g>
<line x1="36" x2="36" y1="88" y2="120"/>
<line x1="36" x2="140" y1="88" y2="88"/>
<line x1="36" x2="140" y1="120" y2="120"/>
<line x1="140" x2="140" y1="88" y2="120"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="100" x2="132" y1="40" y2="40"/>
</g>
<g>
<line x1="140" x2="140" y1="24" y2="56"/>
<line x1="140" x2="252" y1="24" y2="24"/>
<line x1="140" x2="252" y1="56" y2="56"/>
<line x1="252" x2="252" y1="24" y2="56"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="140" x2="172" y1="104" y2="104"/>
</g>
<g>
<line x1="180" x2="180" y1="88" y2="120"/>
<line x1="180" x2="260" y1="88" y2="88"/>
<line x1="180" x2="260" y1="120" y2="120"/>
<line x1="260" x2="260" y1="88" y2="120"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="252" x2="284" y1="40" y2="40"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="260" x2="292" y1="104" y2="104"/>
</g>
<g>
<line x1="292" x2="292" y1="24" y2="56"/>
<line x1="292" x2="412" y1="24" y2="24"/>
<line x1="292" x2="412" y1="56" y2="56"/>
<line x1="412" x2="412" y1="24" y2="56"/>
</g>
<g>
<line x1="300" x2="300" y1="88" y2="120"/>
<line x1="300" x2="312" y1="88" y2="88"/>
<line x1="300" x2="420" y1="120" y2="120"/>
<line x1="420" x2="420" y1="88" y2="120"/>
</g>
<g>
<line x1="312" x2="320" y1="86" y2="86"/>
</g>
<g>
<line x1="312" x2="320" y1="90" y2="90"/>
</g>
<g>
<line x1="320" x2="420" y1="88" y2="88"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="412" x2="444" y1="40" y2="40"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="420" x2="444" y1="104" y2="104"/>
</g>
<g>
<line x1="452" x2="452" y1="24" y2="56"/>
<line x1="452" x2="620" y1="24" y2="24"/>
<line x1="452" x2="620" y1="56" y2="56"/>
<line x1="620" x2="620" y1="24" y2="56"/>
</g>
<g>
<line x1="452" x2="452" y1="88" y2="120"/>
<line x1="452" x2="572" y1="88" y2="88"/>
<line x1="452" x2="572" y1="120" y2="120"/>
<line x1="572" x2="572" y1="88" y2="120"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="620" x2="652" y1="40" y2="40"/>
</g>
<g>
<text x="17" y="44">
sigverify
</text>
</g>
<g>
<text x="49" y="108">
load
</text>
</g>
<g>
<text x="89" y="108">
data
</text>
</g>
<g>
<text x="153" y="44">
lock
</text>
</g>
<g>
<text x="193" y="44">
memory
</text>
</g>
<g>
<text x="193" y="108">
execute
</text>
</g>
<g>
<text x="305" y="44">
validate
</text>
</g>
<g>
<text x="313" y="108">
commit
</text>
</g>
<g>
<text x="369" y="108">
data
</text>
</g>
<g>
<text x="377" y="44">
fee
</text>
</g>
<g>
<text x="457" y="108">
unlock
</text>
</g>
<g>
<text x="465" y="44">
allocate
</text>
</g>
<g>
<text x="513" y="108">
memory
</text>
</g>
<g>
<text x="537" y="44">
accounts
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -1,237 +0,0 @@
<svg class="bob" font-family="arial" font-size="14" height="320" width="560" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="320" width="560" x="0" y="0"/>
<g>
<line x1="20" x2="20" y1="140" y2="196"/>
<path d="M 20 196 A 4 4 0 0 0 24 200" fill="none"/>
<path d="M 24 136 A 4 4 0 0 0 20 140" fill="none"/>
</g>
<g>
<line x1="24" x2="104" y1="136" y2="136"/>
<path d="M 108 140 A 4 4 0 0 0 104 136" fill="none"/>
</g>
<g>
<line x1="24" x2="104" y1="200" y2="200"/>
<path d="M 104 200 A 4 4 0 0 0 108 196" fill="none"/>
</g>
<g>
<line x1="108" x2="108" y1="140" y2="152"/>
<line x1="108" x2="108" y1="152" y2="184"/>
<line x1="108" x2="176" y1="152" y2="152"/>
<line x1="108" x2="108" y1="184" y2="196"/>
<line x1="108" x2="176" y1="184" y2="184"/>
<path d="M 176 152 A 4 4 0 0 0 180 148" fill="none"/>
<path d="M 180 188 A 4 4 0 0 0 176 184" fill="none"/>
</g>
<g>
<line x1="180" x2="180" y1="108" y2="148"/>
<path d="M 184 104 A 4 4 0 0 0 180 108" fill="none"/>
</g>
<g>
<line x1="180" x2="180" y1="188" y2="244"/>
<path d="M 180 244 A 4 4 0 0 0 184 248" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="184" x2="252" y1="104" y2="104"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="184" x2="252" y1="248" y2="248"/>
</g>
<g>
<line x1="228" x2="228" y1="28" y2="96"/>
<path d="M 232 24 A 4 4 0 0 0 228 28" fill="none"/>
</g>
<g>
<line x1="228" x2="228" y1="112" y2="240"/>
</g>
<g>
<line x1="228" x2="228" y1="256" y2="308"/>
<path d="M 228 308 A 4 4 0 0 0 232 312" fill="none"/>
</g>
<g>
<line x1="232" x2="552" y1="24" y2="24"/>
<path d="M 556 28 A 4 4 0 0 0 552 24" fill="none"/>
</g>
<g>
<line x1="232" x2="552" y1="312" y2="312"/>
<path d="M 552 312 A 4 4 0 0 0 556 308" fill="none"/>
</g>
<g>
<line x1="260" x2="260" y1="76" y2="132"/>
<path d="M 260 132 A 4 4 0 0 0 264 136" fill="none"/>
<path d="M 264 72 A 4 4 0 0 0 260 76" fill="none"/>
</g>
<g>
<line x1="260" x2="260" y1="220" y2="276"/>
<path d="M 260 276 A 4 4 0 0 0 264 280" fill="none"/>
<path d="M 264 216 A 4 4 0 0 0 260 220" fill="none"/>
</g>
<g>
<line x1="264" x2="360" y1="72" y2="72"/>
<path d="M 364 76 A 4 4 0 0 0 360 72" fill="none"/>
</g>
<g>
<line x1="264" x2="360" y1="136" y2="136"/>
<path d="M 360 136 A 4 4 0 0 0 364 132" fill="none"/>
</g>
<g>
<line x1="264" x2="316" y1="216" y2="216"/>
<line x1="316" x2="316" y1="188" y2="216"/>
<line x1="316" x2="360" y1="216" y2="216"/>
<path d="M 320 184 A 4 4 0 0 0 316 188" fill="none"/>
<path d="M 364 220 A 4 4 0 0 0 360 216" fill="none"/>
</g>
<g>
<line x1="264" x2="360" y1="280" y2="280"/>
<path d="M 360 280 A 4 4 0 0 0 364 276" fill="none"/>
</g>
<g>
<line x1="320" x2="448" y1="184" y2="184"/>
<path d="M 448 184 A 4 4 0 0 0 452 180" fill="none"/>
</g>
<g>
<line x1="364" x2="364" y1="76" y2="104"/>
<line x1="364" x2="364" y1="104" y2="132"/>
<line marker-end="url(#triangle)" x1="364" x2="388" y1="104" y2="104"/>
</g>
<g>
<line x1="364" x2="364" y1="220" y2="248"/>
<line x1="364" x2="364" y1="248" y2="276"/>
<line marker-end="url(#triangle)" x1="364" x2="388" y1="248" y2="248"/>
</g>
<g>
<line x1="396" x2="396" y1="76" y2="132"/>
<path d="M 396 132 A 4 4 0 0 0 400 136" fill="none"/>
<path d="M 400 72 A 4 4 0 0 0 396 76" fill="none"/>
</g>
<g>
<line x1="396" x2="396" y1="220" y2="276"/>
<path d="M 396 276 A 4 4 0 0 0 400 280" fill="none"/>
<path d="M 400 216 A 4 4 0 0 0 396 220" fill="none"/>
</g>
<g>
<line x1="400" x2="496" y1="72" y2="72"/>
<path d="M 500 76 A 4 4 0 0 0 496 72" fill="none"/>
</g>
<g>
<line x1="400" x2="496" y1="136" y2="136"/>
<path d="M 496 136 A 4 4 0 0 0 500 132" fill="none"/>
</g>
<g>
<line x1="400" x2="504" y1="216" y2="216"/>
<path d="M 508 220 A 4 4 0 0 0 504 216" fill="none"/>
</g>
<g>
<line x1="400" x2="504" y1="280" y2="280"/>
<path d="M 504 280 A 4 4 0 0 0 508 276" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="452" x2="452" y1="160" y2="148"/>
<line x1="452" x2="452" y1="160" y2="180"/>
</g>
<g>
<line x1="500" x2="500" y1="76" y2="132"/>
</g>
<g>
<line x1="508" x2="508" y1="220" y2="276"/>
</g>
<g>
<line x1="556" x2="556" y1="28" y2="308"/>
</g>
<g>
<text x="41" y="172">
Client
</text>
</g>
<g>
<text x="281" y="108">
Verifier
</text>
</g>
<g>
<text x="281" y="252">
Loader
</text>
</g>
<g>
<text x="329" y="44">
Solana
</text>
</g>
<g>
<text x="337" y="172">
LoadAccounts
</text>
</g>
<g>
<text x="385" y="44">
Runtime
</text>
</g>
<g>
<text x="409" y="252">
Interpreter
</text>
</g>
<g>
<text x="417" y="108">
Accounts
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -1,338 +0,0 @@
<svg class="bob" font-family="arial" font-size="14" height="336" width="680" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="336" width="680" x="0" y="0"/>
<g>
<line x1="12" x2="12" y1="124" y2="148"/>
<path d="M 12 148 A 4 4 0 0 0 16 152" fill="none"/>
<path d="M 16 120 A 4 4 0 0 0 12 124" fill="none"/>
</g>
<g>
<line x1="16" x2="88" y1="120" y2="120"/>
<path d="M 92 124 A 4 4 0 0 0 88 120" fill="none"/>
</g>
<g>
<line x1="16" x2="88" y1="152" y2="152"/>
<path d="M 88 152 A 4 4 0 0 0 92 148" fill="none"/>
</g>
<g>
<line x1="92" x2="92" y1="124" y2="148"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="92" x2="124" y1="136" y2="136"/>
</g>
<g>
<line x1="108" x2="108" y1="12" y2="128"/>
<path d="M 112 8 A 4 4 0 0 0 108 12" fill="none"/>
</g>
<g>
<line x1="108" x2="108" y1="144" y2="244"/>
<path d="M 108 244 A 4 4 0 0 0 112 248" fill="none"/>
</g>
<g>
<line x1="112" x2="544" y1="8" y2="8"/>
<path d="M 548 12 A 4 4 0 0 0 544 8" fill="none"/>
</g>
<g>
<line x1="112" x2="380" y1="248" y2="248"/>
<line x1="380" x2="484" y1="248" y2="248"/>
<line x1="484" x2="544" y1="248" y2="248"/>
<path d="M 544 248 A 4 4 0 0 0 548 244" fill="none"/>
</g>
<g>
<line x1="132" x2="132" y1="108" y2="164"/>
<path d="M 132 164 A 4 4 0 0 0 136 168" fill="none"/>
<path d="M 136 104 A 4 4 0 0 0 132 108" fill="none"/>
</g>
<g>
<line x1="136" x2="192" y1="104" y2="104"/>
<path d="M 196 108 A 4 4 0 0 0 192 104" fill="none"/>
</g>
<g>
<line x1="136" x2="192" y1="168" y2="168"/>
<path d="M 192 168 A 4 4 0 0 0 196 164" fill="none"/>
</g>
<g>
<line x1="196" x2="196" y1="108" y2="164"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="196" x2="212" y1="136" y2="136"/>
</g>
<g>
<line x1="220" x2="220" y1="108" y2="164"/>
<path d="M 220 164 A 4 4 0 0 0 224 168" fill="none"/>
<path d="M 224 104 A 4 4 0 0 0 220 108" fill="none"/>
</g>
<g>
<line x1="224" x2="312" y1="104" y2="104"/>
<path d="M 316 108 A 4 4 0 0 0 312 104" fill="none"/>
</g>
<g>
<line x1="224" x2="312" y1="168" y2="168"/>
<path d="M 312 168 A 4 4 0 0 0 316 164" fill="none"/>
</g>
<g>
<line x1="316" x2="316" y1="108" y2="164"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="316" x2="332" y1="136" y2="136"/>
</g>
<g>
<line x1="324" x2="324" y1="28" y2="52"/>
<path d="M 324 52 A 4 4 0 0 0 328 56" fill="none"/>
<path d="M 328 24 A 4 4 0 0 0 324 28" fill="none"/>
</g>
<g>
<line x1="328" x2="432" y1="24" y2="24"/>
<path d="M 436 28 A 4 4 0 0 0 432 24" fill="none"/>
</g>
<g>
<line x1="328" x2="396" y1="56" y2="56"/>
<line marker-end="url(#triangle)" x1="396" x2="396" y1="56" y2="92"/>
<line x1="396" x2="432" y1="56" y2="56"/>
<path d="M 432 56 A 4 4 0 0 0 436 52" fill="none"/>
</g>
<g>
<line x1="340" x2="340" y1="108" y2="164"/>
<path d="M 340 164 A 4 4 0 0 0 344 168" fill="none"/>
<path d="M 344 104 A 4 4 0 0 0 340 108" fill="none"/>
</g>
<g>
<line x1="344" x2="356" y1="104" y2="104"/>
<line x1="356" x2="356" y1="80" y2="104"/>
<line x1="356" x2="416" y1="104" y2="104"/>
<path d="M 420 108 A 4 4 0 0 0 416 104" fill="none"/>
</g>
<g>
<line x1="344" x2="380" y1="168" y2="168"/>
<line marker-end="url(#triangle)" x1="380" x2="380" y1="168" y2="284"/>
<line x1="380" x2="416" y1="168" y2="168"/>
<path d="M 416 168 A 4 4 0 0 0 420 164" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="356" x2="356" y1="80" y2="68"/>
</g>
<g>
<line x1="356" x2="356" y1="300" y2="324"/>
<path d="M 356 324 A 4 4 0 0 0 360 328" fill="none"/>
<path d="M 360 296 A 4 4 0 0 0 356 300" fill="none"/>
</g>
<g>
<line x1="360" x2="408" y1="296" y2="296"/>
<path d="M 412 300 A 4 4 0 0 0 408 296" fill="none"/>
</g>
<g>
<line x1="360" x2="408" y1="328" y2="328"/>
<path d="M 408 328 A 4 4 0 0 0 412 324" fill="none"/>
</g>
<g>
<line x1="412" x2="412" y1="300" y2="324"/>
</g>
<g>
<line x1="420" x2="420" y1="108" y2="164"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="420" x2="444" y1="136" y2="136"/>
</g>
<g>
<line x1="436" x2="436" y1="28" y2="52"/>
</g>
<g>
<line x1="452" x2="452" y1="108" y2="164"/>
<path d="M 452 164 A 4 4 0 0 0 456 168" fill="none"/>
<path d="M 456 104 A 4 4 0 0 0 452 108" fill="none"/>
</g>
<g>
<line x1="452" x2="452" y1="300" y2="324"/>
<path d="M 452 324 A 4 4 0 0 0 456 328" fill="none"/>
<path d="M 456 296 A 4 4 0 0 0 452 300" fill="none"/>
</g>
<g>
<line x1="456" x2="520" y1="104" y2="104"/>
<path d="M 524 108 A 4 4 0 0 0 520 104" fill="none"/>
</g>
<g>
<line x1="456" x2="484" y1="168" y2="168"/>
<line marker-end="url(#triangle)" x1="484" x2="484" y1="168" y2="284"/>
<line x1="484" x2="520" y1="168" y2="168"/>
<path d="M 520 168 A 4 4 0 0 0 524 164" fill="none"/>
</g>
<g>
<line x1="456" x2="520" y1="296" y2="296"/>
<path d="M 524 300 A 4 4 0 0 0 520 296" fill="none"/>
</g>
<g>
<line x1="456" x2="520" y1="328" y2="328"/>
<path d="M 520 328 A 4 4 0 0 0 524 324" fill="none"/>
</g>
<g>
<line x1="524" x2="524" y1="108" y2="136"/>
<line x1="524" x2="524" y1="136" y2="164"/>
<line marker-end="url(#triangle)" x1="524" x2="564" y1="136" y2="136"/>
</g>
<g>
<line x1="524" x2="524" y1="300" y2="324"/>
</g>
<g>
<line x1="548" x2="548" y1="12" y2="128"/>
</g>
<g>
<line x1="548" x2="548" y1="144" y2="244"/>
</g>
<g>
<line x1="572" x2="572" y1="108" y2="164"/>
<path d="M 572 164 A 4 4 0 0 0 576 168" fill="none"/>
<path d="M 576 104 A 4 4 0 0 0 572 108" fill="none"/>
</g>
<g>
<line x1="576" x2="672" y1="104" y2="104"/>
<path d="M 676 108 A 4 4 0 0 0 672 104" fill="none"/>
</g>
<g>
<line x1="576" x2="672" y1="168" y2="168"/>
<path d="M 672 168 A 4 4 0 0 0 676 164" fill="none"/>
</g>
<g>
<line x1="676" x2="676" y1="108" y2="164"/>
</g>
<g>
<text x="25" y="140">
Clients
</text>
</g>
<g>
<text x="129" y="28">
TPU
</text>
</g>
<g>
<text x="145" y="124">
Fetch
</text>
</g>
<g>
<text x="145" y="140">
Stage
</text>
</g>
<g>
<text x="233" y="124">
SigVerify
</text>
</g>
<g>
<text x="233" y="140">
Stage
</text>
</g>
<g>
<text x="337" y="44">
PoH
</text>
</g>
<g>
<text x="353" y="124">
Banking
</text>
</g>
<g>
<text x="353" y="140">
Stage
</text>
</g>
<g>
<text x="369" y="44">
Service
</text>
</g>
<g>
<text x="369" y="316">
Bank
</text>
</g>
<g>
<text x="465" y="124">
Ledger
</text>
</g>
<g>
<text x="465" y="140">
Write
</text>
</g>
<g>
<text x="465" y="156">
Stage
</text>
</g>
<g>
<text x="465" y="316">
Ledger
</text>
</g>
<g>
<text x="585" y="124">
Broadcast
</text>
</g>
<g>
<text x="585" y="140">
Stage
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -1,343 +0,0 @@
<svg class="bob" font-family="arial" font-size="14" height="336" width="768" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
</marker>
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
</marker>
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="black" r="8"/>
</marker>
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<rect fill="black" height="20" width="20" x="0" y="0"/>
</marker>
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
</marker>
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
</marker>
</defs>
<style type="text/css">
line,path {
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
line.dashed {
stroke-dasharray: 5;
}
circle.solid {
fill:black;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
circle.open {
fill:none;
stroke: black;
stroke-width: 2;
stroke-opacity: 1;
fill-opacity: 1;
stroke-linecap: round;
stroke-linejoin: miter;
}
tspan.head{
fill: none;
stroke: none;
}
</style>
<rect fill="white" height="336" width="768" x="0" y="0"/>
<g>
<line x1="12" x2="12" y1="156" y2="196"/>
<path d="M 12 196 A 4 4 0 0 0 16 200" fill="none"/>
<path d="M 16 152 A 4 4 0 0 0 12 156" fill="none"/>
</g>
<g>
<line x1="16" x2="112" y1="152" y2="152"/>
<path d="M 116 156 A 4 4 0 0 0 112 152" fill="none"/>
</g>
<g>
<line x1="16" x2="112" y1="200" y2="200"/>
<path d="M 112 200 A 4 4 0 0 0 116 196" fill="none"/>
</g>
<g>
<line x1="116" x2="116" y1="156" y2="168"/>
<line x1="116" x2="116" y1="168" y2="196"/>
<line marker-end="url(#triangle)" x1="116" x2="164" y1="168" y2="168"/>
</g>
<g>
<line x1="148" x2="148" y1="92" y2="160"/>
<path d="M 152 88 A 4 4 0 0 0 148 92" fill="none"/>
</g>
<g>
<line x1="148" x2="148" y1="176" y2="244"/>
<path d="M 148 244 A 4 4 0 0 0 152 248" fill="none"/>
</g>
<g>
<line x1="152" x2="444" y1="88" y2="88"/>
<line x1="444" x2="760" y1="88" y2="88"/>
<path d="M 764 92 A 4 4 0 0 0 760 88" fill="none"/>
</g>
<g>
<line x1="152" x2="220" y1="248" y2="248"/>
<line x1="220" x2="308" y1="248" y2="248"/>
<line x1="308" x2="444" y1="248" y2="248"/>
<line x1="444" x2="760" y1="248" y2="248"/>
<path d="M 760 248 A 4 4 0 0 0 764 244" fill="none"/>
</g>
<g>
<line x1="172" x2="172" y1="140" y2="196"/>
<path d="M 172 196 A 4 4 0 0 0 176 200" fill="none"/>
<path d="M 176 136 A 4 4 0 0 0 172 140" fill="none"/>
</g>
<g>
<line x1="176" x2="232" y1="136" y2="136"/>
<path d="M 236 140 A 4 4 0 0 0 232 136" fill="none"/>
</g>
<g>
<line x1="176" x2="232" y1="200" y2="200"/>
<path d="M 232 200 A 4 4 0 0 0 236 196" fill="none"/>
</g>
<g>
<line x1="212" x2="212" y1="300" y2="324"/>
<path d="M 212 324 A 4 4 0 0 0 216 328" fill="none"/>
<path d="M 216 296 A 4 4 0 0 0 212 300" fill="none"/>
</g>
<g>
<line x1="216" x2="312" y1="328" y2="328"/>
<path d="M 312 328 A 4 4 0 0 0 316 324" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="220" x2="220" y1="224" y2="212"/>
<line x1="220" x2="220" y1="224" y2="296"/>
<line x1="220" x2="216" y1="296" y2="296"/>
<line x1="220" x2="312" y1="296" y2="296"/>
<path d="M 316 300 A 4 4 0 0 0 312 296" fill="none"/>
</g>
<g>
<line x1="236" x2="236" y1="140" y2="196"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="236" x2="260" y1="168" y2="168"/>
</g>
<g>
<line x1="268" x2="268" y1="140" y2="196"/>
<path d="M 268 196 A 4 4 0 0 0 272 200" fill="none"/>
<path d="M 272 136 A 4 4 0 0 0 268 140" fill="none"/>
</g>
<g>
<line x1="272" x2="368" y1="136" y2="136"/>
<path d="M 372 140 A 4 4 0 0 0 368 136" fill="none"/>
</g>
<g>
<line x1="272" x2="308" y1="200" y2="200"/>
<line marker-end="url(#triangle)" x1="308" x2="308" y1="200" y2="284"/>
<line x1="308" x2="368" y1="200" y2="200"/>
<path d="M 368 200 A 4 4 0 0 0 372 196" fill="none"/>
</g>
<g>
<line x1="316" x2="316" y1="300" y2="324"/>
</g>
<g>
<line x1="372" x2="372" y1="140" y2="196"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="372" x2="396" y1="168" y2="168"/>
</g>
<g>
<line x1="404" x2="404" y1="12" y2="36"/>
<path d="M 404 36 A 4 4 0 0 0 408 40" fill="none"/>
<path d="M 408 8 A 4 4 0 0 0 404 12" fill="none"/>
</g>
<g>
<line x1="404" x2="404" y1="140" y2="196"/>
<path d="M 404 196 A 4 4 0 0 0 408 200" fill="none"/>
<path d="M 408 136 A 4 4 0 0 0 404 140" fill="none"/>
</g>
<g>
<line x1="408" x2="472" y1="8" y2="8"/>
<path d="M 476 12 A 4 4 0 0 0 472 8" fill="none"/>
</g>
<g>
<line x1="408" x2="472" y1="40" y2="40"/>
<path d="M 472 40 A 4 4 0 0 0 476 36" fill="none"/>
</g>
<g>
<line x1="408" x2="444" y1="136" y2="136"/>
<line x1="444" x2="444" y1="64" y2="136"/>
<line x1="444" x2="520" y1="136" y2="136"/>
<path d="M 524 140 A 4 4 0 0 0 520 136" fill="none"/>
</g>
<g>
<line x1="408" x2="444" y1="200" y2="200"/>
<line marker-end="url(#triangle)" x1="444" x2="444" y1="200" y2="284"/>
<line x1="444" x2="520" y1="200" y2="200"/>
<path d="M 520 200 A 4 4 0 0 0 524 196" fill="none"/>
</g>
<g>
<line x1="420" x2="420" y1="300" y2="324"/>
<path d="M 420 324 A 4 4 0 0 0 424 328" fill="none"/>
<path d="M 424 296 A 4 4 0 0 0 420 300" fill="none"/>
</g>
<g>
<line x1="424" x2="472" y1="296" y2="296"/>
<path d="M 476 300 A 4 4 0 0 0 472 296" fill="none"/>
</g>
<g>
<line x1="424" x2="472" y1="328" y2="328"/>
<path d="M 472 328 A 4 4 0 0 0 476 324" fill="none"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="444" x2="444" y1="64" y2="52"/>
</g>
<g>
<line x1="476" x2="476" y1="12" y2="36"/>
</g>
<g>
<line x1="476" x2="476" y1="300" y2="324"/>
</g>
<g>
<line x1="524" x2="524" y1="140" y2="196"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="524" x2="548" y1="168" y2="168"/>
</g>
<g>
<line x1="556" x2="556" y1="140" y2="196"/>
<path d="M 556 196 A 4 4 0 0 0 560 200" fill="none"/>
<path d="M 560 136 A 4 4 0 0 0 556 140" fill="none"/>
</g>
<g>
<line x1="560" x2="624" y1="136" y2="136"/>
<path d="M 628 140 A 4 4 0 0 0 624 136" fill="none"/>
</g>
<g>
<line x1="560" x2="624" y1="200" y2="200"/>
<path d="M 624 200 A 4 4 0 0 0 628 196" fill="none"/>
</g>
<g>
<line x1="628" x2="628" y1="140" y2="196"/>
</g>
<g>
<line marker-end="url(#triangle)" x1="628" x2="652" y1="168" y2="168"/>
</g>
<g>
<line x1="660" x2="660" y1="140" y2="196"/>
<path d="M 660 196 A 4 4 0 0 0 664 200" fill="none"/>
<path d="M 664 136 A 4 4 0 0 0 660 140" fill="none"/>
</g>
<g>
<line x1="664" x2="736" y1="136" y2="136"/>
<path d="M 740 140 A 4 4 0 0 0 736 136" fill="none"/>
</g>
<g>
<line x1="664" x2="736" y1="200" y2="200"/>
<path d="M 736 200 A 4 4 0 0 0 740 196" fill="none"/>
</g>
<g>
<line x1="740" x2="740" y1="140" y2="196"/>
</g>
<g>
<line x1="764" x2="764" y1="92" y2="244"/>
</g>
<g>
<text x="25" y="172">
Upstream
</text>
</g>
<g>
<text x="25" y="188">
Validators
</text>
</g>
<g>
<text x="169" y="108">
TVU
</text>
</g>
<g>
<text x="185" y="156">
Blob
</text>
</g>
<g>
<text x="185" y="172">
Fetch
</text>
</g>
<g>
<text x="185" y="188">
Stage
</text>
</g>
<g>
<text x="249" y="316">
NCP
</text>
</g>
<g>
<text x="281" y="156">
Retransmit
</text>
</g>
<g>
<text x="281" y="172">
Stage
</text>
</g>
<g>
<text x="417" y="28">
Leader
</text>
</g>
<g>
<text x="417" y="156">
Replicate
</text>
</g>
<g>
<text x="417" y="172">
Stage
</text>
</g>
<g>
<text x="433" y="316">
Bank
</text>
</g>
<g>
<text x="569" y="156">
Ledger
</text>
</g>
<g>
<text x="569" y="172">
Write
</text>
</g>
<g>
<text x="569" y="188">
Stage
</text>
</g>
<g>
<text x="673" y="156">
Storage
</text>
</g>
<g>
<text x="673" y="172">
Stage
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -22,8 +22,7 @@ maybe_install() {
export PATH=$CARGO_HOME/bin:$PATH
maybe_install mdbook
_ mdbook test book
_ mdbook build book
_ make -C book
echo --- create book repo
(

View File

@ -47,8 +47,7 @@ done
# Build the HTML
export PATH=$CARGO_HOME/bin:$PATH
maybe_install mdbook
_ mdbook test book
_ mdbook build book
_ make -C book
echo --- ci/localnet-sanity.sh
(