From 4e5fd567acbb0b29a3a0fc6a6e98792ac1955edd Mon Sep 17 00:00:00 2001 From: Jonathan Wang <31040440+jonathanpwang@users.noreply.github.com> Date: Mon, 16 Dec 2024 00:39:40 -0500 Subject: [PATCH] chore: update acknowledgments (#1081) * chore: cleanup * add num2bits FIXMEs * chore: update acknowledgments * chore: colons * Apply suggestions from code review --------- Co-authored-by: Yi Sun --- README.md | 9 +++++++++ crates/toolchain/openvm/src/lib.rs | 4 ++-- .../toolchain/openvm/src/serde/deserializer.rs | 14 -------------- crates/toolchain/openvm/src/serde/err.rs | 16 +--------------- crates/toolchain/openvm/src/serde/serializer.rs | 14 -------------- crates/toolchain/platform/src/heap/bump.rs | 14 -------------- crates/toolchain/platform/src/heap/embedded.rs | 14 -------------- crates/toolchain/platform/src/heap/mod.rs | 14 -------------- crates/toolchain/platform/src/libm_extern.rs | 14 -------------- crates/toolchain/platform/src/memory.rs | 14 -------------- crates/toolchain/platform/src/rust_rt.rs | 14 -------------- crates/toolchain/tests/programs/README.md | 2 +- docs/specs/circuit.md | 6 ------ 13 files changed, 13 insertions(+), 136 deletions(-) diff --git a/README.md b/README.md index b87d1d6fb1..b40ee0774f 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,12 @@ | [User Book](https://book.openvm.dev) | [Contributor Docs](./docs) | [Crate Docs](https://docs.openvm.dev/openvm) + +## Acknowledgements + +OpenVM is a new zkVM design framework. In the process of building it, we studied and learned from the designs and implementations of other projects. We would like to thank these projects for sharing their code for open source development: + +- [Plonky3](https://github.com/Plonky3/Plonky3): The [STARK backend](https://github.com/openvm-org/stark-backend) and circuit writing interfaces are built on top of Plonky3, where we benefited from their modular design at the polynomial IOP level. +- [Valida](https://github.com/valida-xyz/valida): Many ideas around chips and chip interactions were pioneered by Valida and we were greatly inspired by their designs. Some parts of our ISA architecture also had inspirations from their ZK-specific ISA. +- [RISC Zero](https://github.com/risc0/risc0): We are extremely grateful to the RISC Zero team for merging their zkVM focused toolchain into [Rust upstream](https://doc.rust-lang.org/rustc/platform-support/riscv32im-risc0-zkvm-elf.html). Our Rust toolchain integration builds upon their work. +- [SP1](https://github.com/succinctlabs/sp1): We gained inspirations from various parts of SP1's design and interfaces. The native compiler and eDSL we use for the Native Field VM Extension originated from their recursion compiler. diff --git a/crates/toolchain/openvm/src/lib.rs b/crates/toolchain/openvm/src/lib.rs index 9a37608de1..374e67a0ac 100644 --- a/crates/toolchain/openvm/src/lib.rs +++ b/crates/toolchain/openvm/src/lib.rs @@ -58,7 +58,7 @@ fn _fault() -> ! { /// /// When `#![no_main]` is used, the programs entrypoint and main function is left undefined. The /// `entry` macro is required to indicate the main function and link it to an entrypoint provided -/// by the RISC Zero SDK. +/// by the `openvm` crate. /// /// When `std` is enabled, the entrypoint will be linked automatically and this macro is not /// required. @@ -69,7 +69,7 @@ fn _fault() -> ! { /// #![no_main] /// #![no_std] /// -/// risc0_zkvm::entry!(main); +/// openvm::entry!(main); /// /// fn main() { } /// ``` diff --git a/crates/toolchain/openvm/src/serde/deserializer.rs b/crates/toolchain/openvm/src/serde/deserializer.rs index 7906c900ce..195861efd2 100644 --- a/crates/toolchain/openvm/src/serde/deserializer.rs +++ b/crates/toolchain/openvm/src/serde/deserializer.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - use alloc::{string::String, vec::Vec}; use bytemuck::Pod; diff --git a/crates/toolchain/openvm/src/serde/err.rs b/crates/toolchain/openvm/src/serde/err.rs index b5602f446d..25daf51e3a 100644 --- a/crates/toolchain/openvm/src/serde/err.rs +++ b/crates/toolchain/openvm/src/serde/err.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - use alloc::string::{String, ToString}; use core::fmt::{Display, Formatter}; @@ -36,7 +22,7 @@ pub enum Error { SerializeBufferFull, } -/// A Result type for `risc0_zkvm::serde` operations that can fail +/// A Result type for `openvm::serde` operations that can fail pub type Result = core::result::Result; impl Display for Error { diff --git a/crates/toolchain/openvm/src/serde/serializer.rs b/crates/toolchain/openvm/src/serde/serializer.rs index a16daeeb3f..d3d13a0e4f 100644 --- a/crates/toolchain/openvm/src/serde/serializer.rs +++ b/crates/toolchain/openvm/src/serde/serializer.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - use alloc::vec::Vec; use openvm_platform::WORD_SIZE; diff --git a/crates/toolchain/platform/src/heap/bump.rs b/crates/toolchain/platform/src/heap/bump.rs index 8032e00da2..b9e59c70ba 100644 --- a/crates/toolchain/platform/src/heap/bump.rs +++ b/crates/toolchain/platform/src/heap/bump.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - use core::alloc::{GlobalAlloc, Layout}; use crate::memory::sys_alloc_aligned; diff --git a/crates/toolchain/platform/src/heap/embedded.rs b/crates/toolchain/platform/src/heap/embedded.rs index f2d4de24a4..8956d20a2d 100644 --- a/crates/toolchain/platform/src/heap/embedded.rs +++ b/crates/toolchain/platform/src/heap/embedded.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - use critical_section::RawRestoreState; use embedded_alloc::LlffHeap as Heap; diff --git a/crates/toolchain/platform/src/heap/mod.rs b/crates/toolchain/platform/src/heap/mod.rs index 1206fe0939..82d048ec9c 100644 --- a/crates/toolchain/platform/src/heap/mod.rs +++ b/crates/toolchain/platform/src/heap/mod.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - #[cfg(not(feature = "heap-embedded-alloc"))] mod bump; diff --git a/crates/toolchain/platform/src/libm_extern.rs b/crates/toolchain/platform/src/libm_extern.rs index 079b6ea62e..c32ac6f164 100644 --- a/crates/toolchain/platform/src/libm_extern.rs +++ b/crates/toolchain/platform/src/libm_extern.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - //! Export symbols for math functions from libm to the global namespace. #![allow(dead_code)] diff --git a/crates/toolchain/platform/src/memory.rs b/crates/toolchain/platform/src/memory.rs index 3a7e0d421a..6f85fe8790 100644 --- a/crates/toolchain/platform/src/memory.rs +++ b/crates/toolchain/platform/src/memory.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - use super::WORD_SIZE; pub const MEM_BITS: usize = 28; diff --git a/crates/toolchain/platform/src/rust_rt.rs b/crates/toolchain/platform/src/rust_rt.rs index d684a39d49..c8a8e55294 100644 --- a/crates/toolchain/platform/src/rust_rt.rs +++ b/crates/toolchain/platform/src/rust_rt.rs @@ -1,17 +1,3 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - //! This module contains the components required to link a Rust binary. //! //! In particular: diff --git a/crates/toolchain/tests/programs/README.md b/crates/toolchain/tests/programs/README.md index 1eba3e1cd4..21a475d5ed 100644 --- a/crates/toolchain/tests/programs/README.md +++ b/crates/toolchain/tests/programs/README.md @@ -4,7 +4,7 @@ To see list of all available built-in targets: rustc --print target-list ``` -We will currently use the risc0 target until we fork Rust to provide our own RISC-V target. +We will currently use the risc0 target until we contribute our own RISC-V target to Rust. WARNING: to prevent from building for your host machine, make sure you do not have `rustflags = ["-Ctarget-cpu=native"]` in your `~/.cargo/config.toml`. diff --git a/docs/specs/circuit.md b/docs/specs/circuit.md index d5747c5da5..5c5e3e2daf 100644 --- a/docs/specs/circuit.md +++ b/docs/specs/circuit.md @@ -169,9 +169,3 @@ where we allow `N` to be different powers of two. The values of $a, v_i$ that appear in the trace of the access adapter chip are generated on-demand based on the needs of the runtime memory access. In other words, the converter inserts additional writes into the MEMORY_BUS when needed in order to link up accesses of different word sizes. - -## Acknowledgements - -- Plonky3 -- Valida -- SP1