# Generated from lib/blog/terminal-sessions.json with VHS 0.11.0. # Source-pinned expected I/O; no network, credential, or live endpoint is used. Output public/blog/terminal/i-public-checkout-and-gates.webm Output public/blog/terminal/i-public-checkout-and-gates.mp4 Output public/blog/terminal/i-public-checkout-and-gates.ascii Set Shell bash Set FontFamily "DejaVu Sans Mono" Set FontSize 18 Set Width 1280 Set Height 720 Set Padding 24 Set Margin 0 Set Framerate 30 Set PlaybackSpeed 1.0 Set TypingSpeed 12 ms Set CursorBlink false Set Theme {"name":"zkdeal","black":"#07192f","red":"#ff6b6b","green":"#55d690","yellow":"#ffd166","blue":"#64a5ff","magenta":"#ad8cff","cyan":"#5ad9d0","white":"#f4f8ff","brightBlack":"#567091","brightRed":"#ff8a8a","brightGreen":"#7ae2a7","brightYellow":"#ffe08a","brightBlue":"#8bbcff","brightMagenta":"#c2aaff","brightCyan":"#82e7df","brightWhite":"#ffffff","background":"#07192f","foreground":"#dce9fb","selection":"#21466f","cursor":"#64a5ff"} Hide Type `DEMO_WORKSPACE=$(mktemp -d /tmp/zkdeal-i-public-checkout-and-gates.XXXXXX) && export DEMO_WORKSPACE && printf %s ZXhwb3J0IFBTMT0nJCAnCmV4cG9ydCBQUk9NUFRfQ09NTUFORD0nJwpqcSgpewogIGlmIFsgIiQxIiA9ICItciIgXSAmJiBbICIkIyIgLWdlIDMgXTsgdGhlbgogICAgY2FzZSAiJDIiIGluCiAgICAgIC50cmFuc2FjdGlvbnMuc3VibWl0KSBwcmludGYgJyVzXG4nICcweGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnOyByZXR1cm4gMCA7OwogICAgICAudHJhbnNhY3Rpb25zLnN1Ym1pdEJsb2NrKSBwcmludGYgJyVzXG4nICcxMjMnOyByZXR1cm4gMCA7OwogICAgICAuY29udHJhY3RzLm1hbmFnZXIpIHByaW50ZiAnJXNcbicgJzB4YmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYic7IHJldHVybiAwIDs7CiAgICBlc2FjCiAgZmkKICBjYXQKfQp0ZXN0KCl7IHJldHVybiAwOyB9CmN1cmwoKXsgbG9jYWwgemtkZWFsX2NvdW50OyB6a2RlYWxfY291bnQ9JChjYXQgJERFTU9fV09SS1NQQUNFL2N1cmwtY2FsbCAyPi9kZXYvbnVsbCB8fCBwcmludGYgMCk7IHprZGVhbF9jb3VudD0kKCh6a2RlYWxfY291bnQrMSkpOyBwcmludGYgJyVzJyAiJHprZGVhbF9jb3VudCIgPiAkREVNT19XT1JLU1BBQ0UvY3VybC1jYWxsOyBjYXNlICIkemtkZWFsX2NvdW50IiBpbiAxKSBwcmludGYgJyVzXG4nICd7ImluZGV4ZWQiOnRydWUsInN1Y2Nlc3MiOnRydWUsIm1hbmFnZXJNYXRjaGVzIjp0cnVlLCJibG9ja01hdGNoZXMiOnRydWV9JzsgcmV0dXJuIDAgOzsgKikgcmV0dXJuIDAgOzsgZXNhYzsgfQpub2RlKCl7IGxvY2FsIHprZGVhbF9jb3VudDsgemtkZWFsX2NvdW50PSQoY2F0ICRERU1PX1dPUktTUEFDRS9ub2RlLWNhbGwgMj4vZGV2L251bGwgfHwgcHJpbnRmIDApOyB6a2RlYWxfY291bnQ9JCgoemtkZWFsX2NvdW50KzEpKTsgcHJpbnRmICclcycgIiR6a2RlYWxfY291bnQiID4gJERFTU9fV09SS1NQQUNFL25vZGUtY2FsbDsgY2FzZSAiJHprZGVhbF9jb3VudCIgaW4gMSkgcHJpbnRmICclc1xuJyAneyJkZWNpc2lvbiI6IlZFUklGSUVEIiwiaW1hZ2VJZFByZXNlbnQiOnRydWUsImpvdXJuYWxIYXNoQ29tcGxldGUiOnRydWUsInRyYW5zYWN0aW9uQ29tcGxldGUiOnRydWUsInN1Ym1pdEJsb2NrIjoiPHN1Ym1pdC1ibG9jaz4ifSc7IHJldHVybiAwIDs7IDIpIHByaW50ZiAnJXNcbicgJ2h0dHA6Ly8xMjcuMC4wLjE6MzIwMC90eC88NjQtaGV4LWNoZWNrcG9pbnQtdHJhbnNhY3Rpb24+JzsgcmV0dXJuIDAgOzsgKikgcmV0dXJuIDAgOzsgZXNhYzsgfQprdXJ0b3NpcygpeyBsb2NhbCB6a2RlYWxfY291bnQ7IHprZGVhbF9jb3VudD0kKGNhdCAkREVNT19XT1JLU1BBQ0Uva3VydG9zaXMtY2FsbCAyPi9kZXYvbnVsbCB8fCBwcmludGYgMCk7IHprZGVhbF9jb3VudD0kKCh6a2RlYWxfY291bnQrMSkpOyBwcmludGYgJyVzJyAiJHprZGVhbF9jb3VudCIgPiAkREVNT19XT1JLU1BBQ0Uva3VydG9zaXMtY2FsbDsgY2FzZSAiJHprZGVhbF9jb3VudCIgaW4gMSkgcmV0dXJuIDAgOzsgKikgcmV0dXJuIDAgOzsgZXNhYzsgfQpmaW5kKCl7IHJldHVybiAwOyB9CnJtKCl7IHJldHVybiAwOyB9CmdpdCgpeyByZXR1cm4gMDsgfQpkb2NrZXIoKXsgcmV0dXJuIDA7IH0KbnZpZGlhLXNtaSgpeyByZXR1cm4gMDsgfQpjcCgpeyByZXR1cm4gMDsgfQpzZWQoKXsgcmV0dXJuIDA7IH0KZ3JlcCgpeyByZXR1cm4gMTsgfQpzaGEyNTZzdW0oKXsgcmV0dXJuIDA7IH0K | base64 -d > "$DEMO_WORKSPACE/fixture.sh" && cd "$DEMO_WORKSPACE" && . "$DEMO_WORKSPACE/fixture.sh" && clear` Enter Wait+Line /[$]$/ Show Type `ENCLAVE=zkdeal-public` Enter Wait+Line /[$]$/ Sleep 350 ms Type `EVIDENCE_DIR="$(mktemp -d)" && \` Enter Type ` kurtosis files download "$ENCLAVE" zkdeal-v5-kurtosis-evidence "$EVIDENCE_DIR" && \` Enter Type ` EVIDENCE="$(find "$EVIDENCE_DIR" -name v5-kurtosis-evidence.json -print -quit)"` Enter Wait+Line /[$]$/ Sleep 350 ms Type `node -e "const e=JSON.parse(require('fs').readFileSync(process.argv[1])); const full=(v)=>/^0x[0-9a-fA-F]{64}$/.test(v); console.log(JSON.stringify({decision:e.decision,imageIdPresent:e.imageId.length>0,journalHashComplete:full(e.journalHash),transactionComplete:full(e.transactions.submit),submitBlock:e.transactions.submitBlock}))" "$EVIDENCE"` Enter Wait+Line /[$]$/ Sleep 350 ms Type `export TX="$(jq -r .transactions.submit "$EVIDENCE")" \` Enter Type ` BLOCK="$(jq -r .transactions.submitBlock "$EVIDENCE")" \` Enter Type ` MANAGER="$(jq -r .contracts.manager "$EVIDENCE")" && \` Enter Type ` EXPLORER="$(kurtosis port print "$ENCLAVE" explorer http --format ip,number)" && \` Enter Type ` export BLOCK MANAGER EXPLORER` Enter Wait+Line /[$]$/ Sleep 350 ms Type `curl -fsS "http://$EXPLORER/api/v2/transactions/$TX" | jq -c \` Enter Type ` '{indexed:(.hash==env.TX),success:((.status|ascii_downcase)=="ok"),managerMatches:(((.to.hash // .to)|ascii_downcase)==(env.MANAGER|ascii_downcase)),blockMatches:((.block_number|tostring)==env.BLOCK)}'` Enter Wait+Line /[$]$/ Sleep 350 ms Type `node -e "console.log('http://' + process.env.EXPLORER + '/tx/' + process.env.TX)"` Enter Wait+Line /[$]$/ Sleep 350 ms Type `rm -r -- "$EVIDENCE_DIR" && unset EVIDENCE_DIR EVIDENCE TX BLOCK MANAGER EXPLORER` Enter Wait+Line /[$]$/ Sleep 350 ms Screenshot public/blog/terminal/i-public-checkout-and-gates-poster.png Sleep 1 s