Skip to content

Commit

Permalink
fix proof types
Browse files Browse the repository at this point in the history
  • Loading branch information
jtguibas committed Dec 19, 2024
2 parents 4df9b22 + 4681d4f commit 0db7412
Show file tree
Hide file tree
Showing 125 changed files with 21,853 additions and 697 deletions.
119 changes: 24 additions & 95 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,121 +5,50 @@ name: book

on:
push:
branches: [main]
branches: [dev]
pull_request:
branches: [main]
branches: [dev]
paths:
- "book/**"
merge_group:

jobs:
# test:
# runs-on: ubuntu-latest
# name: test
# timeout-minutes: 60

# steps:
# - uses: actions/checkout@v4

# - name: Install mdbook
# run: |
# mkdir mdbook
# curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook
# echo $(pwd)/mdbook >> $GITHUB_PATH

# - name: Install mdbook-template
# run: |
# mkdir mdbook-template
# curl -sSL https://github.com/sgoudham/mdbook-template/releases/latest/download/mdbook-template-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook-template
# echo $(pwd)/mdbook-template >> $GITHUB_PATH

# - name: Run tests
# run: mdbook test

lint:
runs-on: ubuntu-latest
name: lint
timeout-minutes: 60

steps:
- uses: actions/checkout@v4

- name: Install mdbook-linkcheck
run: |
mkdir mdbook-linkcheck
curl -sSL -o mdbook-linkcheck.zip https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/latest/download/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip
unzip mdbook-linkcheck.zip -d ./mdbook-linkcheck
chmod +x $(pwd)/mdbook-linkcheck/mdbook-linkcheck
echo $(pwd)/mdbook-linkcheck >> $GITHUB_PATH
- name: Run linkcheck
run: mdbook-linkcheck --standalone
defaults:
run:
working-directory: book

jobs:
build:
name: Build Docusaurus
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- name: Install mdbook
run: |
mkdir mdbook
curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook
echo $(pwd)/mdbook >> $GITHUB_PATH
- name: Install mdbook-template
run: |
mkdir mdbook-template
curl -sSL https://github.com/sgoudham/mdbook-template/releases/latest/download/mdbook-template-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook-template
echo $(pwd)/mdbook-template >> $GITHUB_PATH
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: Build book
run: mdbook build
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
cache-dependency-path: book/package-lock.json

# - name: Build docs
# run: cargo docs
# env:
# # Keep in sync with ./ci.yml:jobs.docs
# RUSTDOCFLAGS:
# --cfg docsrs --show-type-layout --generate-link-to-definition --enable-index-page
# -Zunstable-options
- name: Install dependencies
run: npm ci

# - name: Move docs to book folder
# run: |
# mv target/doc target/book/docs
- name: Create New Code Refrences
run: chmod +x gen-code-refs.sh && ./gen-code-refs.sh

- name: Archive artifact
shell: sh
run: |
chmod -c -R +rX "target/book" |
while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
tar \
--dereference --hard-dereference \
--directory "target/book" \
-cvf "$RUNNER_TEMP/artifact.tar" \
--exclude=.git \
--exclude=.github \
.
- name: Build website
run: npm run build

- name: Upload artifact
uses: actions/upload-artifact@v4
- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
with:
name: github-pages
path: ${{ runner.temp }}/artifact.tar
retention-days: 1
if-no-files-found: error
path: book/build

deploy:
# Only deploy if a push to main
if: github.ref_name == 'main' && github.event_name == 'push'
if: github.ref_name == 'dev' && github.event_name == 'push'
runs-on: ubuntu-latest
needs: [lint, build]
needs: [build]

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/test-book.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Test deployment

on:
pull_request:
branches: [dev]

defaults:
run:
working-directory: book

jobs:
test-deploy:
name: Test doc build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
cache-dependency-path: book/package-lock.json

- name: Install dependencies
run: npm ci

- name: Test build website
run: npm run build
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ pgo-data.profdata
**/proof-with-io.bin
**/program.bin
**/stdin.bin
**/node_modules

# Example fibonacci groth16 / plonk proofs
examples/fibonacci/fibonacci-groth16.bin
Expand All @@ -39,5 +40,11 @@ crates/prover/semaphore-gnark-11
crates/prover/trusted-setup
crates/prover/vk

<<<<<<< Updated upstream
# Example legacy elf
examples/elf
examples/elf
=======
# Example fibonacci groth16 / plonk proofs
examples/fibonacci/fibonacci-groth16.bin
examples/fibonacci/fibonacci-plonk.bin
>>>>>>> Stashed changes
44 changes: 43 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

SP1 is the fastest, most-feature complete zero-knowledge virtual machine (zkVM) that can prove the execution of arbitrary Rust (or any LLVM-compiled language) programs. SP1 makes ZK accessible to *any developer*, by making it easy to write ZKP programs in normal Rust code.

**[Install](https://succinctlabs.github.io/sp1/getting-started/install.html)**
**[Install](https://docs.succinct.xyz/docs/getting-started/install)**
| [Docs](https://succinctlabs.github.io/sp1)
| [Examples](https://github.com/succinctlabs/sp1/tree/main/examples)
| [Telegram Chat](https://t.me/+AzG4ws-kD24yMGYx)
Expand All @@ -13,7 +13,7 @@ SP1 is the fastest, most-feature complete zero-knowledge virtual machine (zkVM)

Today, developers can write programs, including complex, large programs like a ZK Tendermint light client or type-1 zkEVM using Reth, in Rust (with std support), generate proofs and verify them. Most Rust crates should be supported and can be used seamlessly by your program. Example programs can be found in the [examples](https://github.com/succinctlabs/sp1/tree/main/examples) folder.

To get started, make sure you have [Rust](https://www.rust-lang.org/tools/install) installed. Then follow the [installation](https://succinctlabs.github.io/sp1/getting-started/install.html) guide in the SP1 book and read the [getting started](https://succinctlabs.github.io/sp1/getting-started/quickstart.html) section.
To get started, make sure you have [Rust](https://www.rust-lang.org/tools/install) installed. Then follow the [installation](https://docs.succinct.xyz/docs/getting-started/install) guide in the SP1 book and read the [getting started](https://docs.succinct.xyz/docs/getting-started/quickstart) section.

## Security

Expand All @@ -37,4 +37,4 @@ We would like to acknowledge the projects below whose previous work has been ins
- [Plonky3](https://github.com/Plonky3/Plonky3): The SP1's prover is powered by the Plonky3 toolkit.
- [Valida](https://github.com/valida-xyz/valida): The SP1 cross-table lookups, prover, borrow macro, and chip design, including constraints, are inspired by Valida.
- [RISC0](https://github.com/risc0/risc0): The SP1 rust toolchain, install/build scripts, and our RISCV runtime borrow code from RISC0.
- [Cairo](https://docs.cairo-lang.org/how_cairo_works/builtins.html): Cairo introduced the idea of "builtins" which allow zkVMs to accelerate certain operations. However, the complexity of "builtins" was embedded in the CPU, limiting their complexity. SP1 extends this idea by executing on a vision of easily extensible "precompiles" that can be added as additional tables alongside the CPU.
- [Cairo](https://docs.cairo-lang.org/how_cairo_works/builtins.html): Cairo introduced the idea of "builtins" which allow zkVMs to accelerate certain operations. However, the complexity of "builtins" was embedded in the CPU, limiting their complexity. SP1 extends this idea by executing on a vision of easily extensible "precompiles" that can be added as additional tables alongside the CPU.
30 changes: 0 additions & 30 deletions book.toml

This file was deleted.

21 changes: 21 additions & 0 deletions book/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Dependencies
node_modules

# Production
/build
build/

# Generated files
.docusaurus
.cache-loader

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
Loading

0 comments on commit 0db7412

Please sign in to comment.