Skip to content

Commit

Permalink
refactor: reorganize circuits library
Browse files Browse the repository at this point in the history
  • Loading branch information
aoengin committed Feb 26, 2025
1 parent 7ad0081 commit 4e977a6
Show file tree
Hide file tree
Showing 37 changed files with 3,263 additions and 370 deletions.
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# exclude everything
*

# include source files
!/core
Expand Down
7 changes: 7 additions & 0 deletions Cargo.lock

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

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ resolver = "2"
members = [
"core",
"risc0-circuits/work-only",
"risc0-circuits/bridge-circuit",
] # Add "risc0-circuits/operator", "risc0-circuits/watchtower" later

[workspace.dependencies]
Expand Down
2 changes: 1 addition & 1 deletion bridge-circuit-host/host/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ark-relations = "=0.4.0"
ark-groth16 = "=0.4.0"
serde = "1.0"
rand = { version = "0.8", features = ["small_rng"] }
bridge-circuit-core = { path = "../../risc0-circuits/core" }
bridge-circuit-core = { path = "../../circuits-lib/core" }
header-chain = { git="https://github.com/chainwayxyz/risc0-to-bitvm2.git", rev="a233e27" }
final-spv = { git="https://github.com/chainwayxyz/risc0-to-bitvm2.git", rev="a233e27" }
borsh = {version = "1.5.3", features = ["derive"] }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ FROM risczero/risc0-guest-builder:r0.1.81.0 AS build
WORKDIR /src

# Copy the entire project structure
COPY bridge-circuit bridge-circuit
COPY core core
COPY risc0-circuits/bridge-circuit risc0-circuits/bridge-circuit
COPY circuits-lib/core circuits-lib/core
COPY circuits-lib/bridge-circuit circuits-lib/bridge-circuit

# Set compile-time environment variables
ENV CARGO_MANIFEST_PATH="bridge-circuit/guest/Cargo.toml"
ENV CARGO_MANIFEST_PATH="risc0-circuits/bridge-circuit/guest/Cargo.toml"
ENV RUSTFLAGS="-C passes=loweratomic -C link-arg=-Ttext=0x00200800 -C link-arg=--fatal-warnings"
ENV CARGO_TARGET_DIR="bridge-circuit/guest/target"
ENV CARGO_TARGET_DIR="risc0-circuits/bridge-circuit/guest/target"
ENV CC_riscv32im_risc0_zkvm_elf="/root/.local/share/cargo-risczero/cpp/bin/riscv32-unknown-elf-gcc"
ENV CFLAGS_riscv32im_risc0_zkvm_elf="-march=rv32im -nostdlib"

Expand All @@ -19,12 +20,10 @@ ENV BITCOIN_NETWORK=${BITCOIN_NETWORK}

# Only run the build once with the environment variable set
RUN echo "Building for network: ${BITCOIN_NETWORK}" && \
cd bridge-circuit && \
cd .. && \
cargo +risc0 fetch --target riscv32im-risc0-zkvm-elf --manifest-path ${CARGO_MANIFEST_PATH} && \
cargo +risc0 build --release --target riscv32im-risc0-zkvm-elf --manifest-path ${CARGO_MANIFEST_PATH}

FROM scratch AS export
ARG BITCOIN_NETWORK
COPY --from=build /src/bridge-circuit/guest/target/riscv32im-risc0-zkvm-elf/release ../target/riscv-guest/riscv32im-risc0-zkvm-elf/docker/bridge-circuit-guest
COPY --from=build /src/bridge-circuit/guest/target/riscv32im-risc0-zkvm-elf/release/bridge-circuit-guest elfs/${BITCOIN_NETWORK}-bridge-circuit-guest
COPY --from=build /src/risc0-circuits/bridge-circuit/guest/target/riscv32im-risc0-zkvm-elf/release ../target/riscv-guest/riscv32im-risc0-zkvm-elf/docker/bridge-circuit-guest
COPY --from=build /src/risc0-circuits/bridge-circuit/guest/target/riscv32im-risc0-zkvm-elf/release/bridge-circuit-guest risc0-circuits/elfs/${BITCOIN_NETWORK}-bridge-circuit-guest
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ FROM risczero/risc0-guest-builder:r0.1.81.0 AS build
WORKDIR /src

# Copy the entire project structure
COPY work-only work-only
COPY core core

COPY risc0-circuits/work-only risc0-circuits/work-only
COPY circuits-lib/core circuits-lib/core
COPY circuits-lib/work-only circuits-lib/work-only
# Set compile-time environment variables
ENV CARGO_MANIFEST_PATH="work-only/guest/Cargo.toml"
ENV CARGO_MANIFEST_PATH="risc0-circuits/work-only/guest/Cargo.toml"
ENV RUSTFLAGS="-C passes=loweratomic -C link-arg=-Ttext=0x00200800 -C link-arg=--fatal-warnings"
ENV CARGO_TARGET_DIR="work-only/guest/target"
ENV CARGO_TARGET_DIR="risc0-circuits/work-only/guest/target"
ENV CC_riscv32im_risc0_zkvm_elf="/root/.local/share/cargo-risczero/cpp/bin/riscv32-unknown-elf-gcc"
ENV CFLAGS_riscv32im_risc0_zkvm_elf="-march=rv32im -nostdlib"

Expand All @@ -19,12 +19,10 @@ ENV BITCOIN_NETWORK=${BITCOIN_NETWORK}

# Only run the build once with the environment variable set
RUN echo "Building for network: ${BITCOIN_NETWORK}" && \
cd work-only && \
cd .. && \
cargo +risc0 fetch --target riscv32im-risc0-zkvm-elf --manifest-path ${CARGO_MANIFEST_PATH} && \
cargo +risc0 build --release --target riscv32im-risc0-zkvm-elf --manifest-path ${CARGO_MANIFEST_PATH}

FROM scratch AS export
ARG BITCOIN_NETWORK
COPY --from=build /src/work-only/guest/target/riscv32im-risc0-zkvm-elf/release ../target/riscv-guest/riscv32im-risc0-zkvm-elf/docker/work-only-guest
COPY --from=build /src/work-only/guest/target/riscv32im-risc0-zkvm-elf/release/work-only-guest elfs/${BITCOIN_NETWORK}-work-only-guest
COPY --from=build /src/risc0-circuits/work-only/guest/target/riscv32im-risc0-zkvm-elf/release ../target/riscv-guest/riscv32im-risc0-zkvm-elf/docker/work-only-guest
COPY --from=build /src/risc0-circuits/work-only/guest/target/riscv32im-risc0-zkvm-elf/release/work-only-guest risc0-circuits/elfs/${BITCOIN_NETWORK}-work-only-guest
12 changes: 0 additions & 12 deletions circuits-lib/Cargo.toml

This file was deleted.

Loading

0 comments on commit 4e977a6

Please sign in to comment.