Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): upgrade to sp1 v4 #122

Merged
merged 5 commits into from
Feb 3, 2025

Conversation

rootulp
Copy link
Collaborator

@rootulp rootulp commented Feb 3, 2025

FLUP to #106 because we use a root level Cargo workspace for celestia-prover. See #109

Closes #111
Opens #123

Testing

cargo build

passes in root (for celestia-prover) and in provers/blevm.

Notice

Contributors to this repo will have to modify their local .env file and bump to the latest Rust and SP1 versions.

@rootulp rootulp self-assigned this Feb 3, 2025
@rootulp
Copy link
Collaborator Author

rootulp commented Feb 3, 2025

cargo build fails because:

error: failed to run custom build command for `sp1-ics07-tendermint-prover v0.1.0 (https://github.com/cosmos/solidity-ibc-eureka.git?branch=main#00711538)`

Caused by:
  process didn't exit successfully: `/Users/rootulp/git/rootulp/celestiaorg/celestia-zkevm-ibc-demo/target/debug/build/sp1-ics07-tendermint-prover-9608c733bd8b5eac/build-script-build` (exit status: 101)
  --- stdout
  cargo::rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/programs/sp1-programs/update-client/src
  cargo::rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/programs/sp1-programs/update-client/Cargo.toml
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/Cargo.lock
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-light-client
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-test-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-trie-db
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/tree_hash
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-test-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-light-client
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/ethereum-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/sp1-ics07-tendermint-prover
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/sp1-ics07-tendermint-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/relayer-lib
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/sp1-ics07-tendermint-prover
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/sp1-ics07-tendermint-utils
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/programs/sp1-programs/membership
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/programs/sp1-programs/update-client
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity
  cargo:rerun-if-changed=/Users/rootulp/.cargo/git/checkouts/solidity-ibc-eureka-3c46eb8089664a8e/0071153/packages/solidity

  --- stderr
  [sp1]     Compiling serde v1.0.216
  [sp1]     Compiling cfg-if v1.0.0
  [sp1]     Compiling typenum v1.17.0
  [sp1]     Compiling subtle v2.6.1
  [sp1]     Compiling zeroize v1.8.1
  [sp1]  error: failed to run LLVM passes: unknown pass name 'loweratomic'
  [sp1]
  [sp1]  error: could not compile `cfg-if` (lib) due to 1 previous error
  [sp1]  warning: build failed, waiting for other jobs to finish...
  [sp1]  error: could not compile `subtle` (lib) due to 1 previous error
  [sp1]  error: could not compile `zeroize` (lib) due to 1 previous error
  [sp1]  error: could not compile `typenum` (lib) due to 1 previous error
  [sp1]  error: could not compile `serde` (lib) due to 1 previous error

@rootulp
Copy link
Collaborator Author

rootulp commented Feb 3, 2025

cargo update bumped the dependency of solidity-ibc-eureka to fix the previous error. Now cargo build results in new error:

error[E0432]: unresolved import `ibc_eureka_solidity_types::sp1_ics07::IMembershipMsgs`
 --> programs/sp1/mock-membership/src/lib.rs:4:43
  |
4 | use ibc_eureka_solidity_types::sp1_ics07::IMembershipMsgs::{KVPair, MembershipOutput};
  |                                           ^^^^^^^^^^^^^^^ could not find `IMembershipMsgs` in `sp1_ics07`

For more information about this error, try `rustc --explain E0432`.
error: could not compile `mock-membership` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error[E0432]: unresolved imports `ibc_eureka_solidity_types::sp1_ics07::IICS07TendermintMsgs::ClientState`, `ibc_eureka_solidity_types::sp1_ics07::IICS07TendermintMsgs::ConsensusState`, `ibc_eureka_solidity_types::sp1_ics07::IUpdateClientMsgs`
  --> programs/sp1/mock-update-client/src/main.rs:14:9
   |
14 |         ClientState as SolClientState, ConsensusState as SolConsensusState,
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `ConsensusState` in `sp1_ics07::IICS07TendermintMsgs`
   |         |
   |         no `ClientState` in `sp1_ics07::IICS07TendermintMsgs`
15 |     },
16 |     IUpdateClientMsgs::UpdateClientOutput,
   |     ^^^^^^^^^^^^^^^^^ could not find `IUpdateClientMsgs` in `sp1_ics07`
   |
   = help: consider importing one of these structs instead:
           ibc_client_tendermint_types::ClientState
           ibc_client_tendermint_types::proto::v1::ClientState
           ibc_eureka_solidity_types::msgs::IICS07TendermintMsgs::ClientState
   = help: consider importing one of these structs instead:
           ibc_client_tendermint_types::ConsensusState
           ibc_client_tendermint_types::proto::v1::ConsensusState
           ibc_eureka_solidity_types::msgs::IICS07TendermintMsgs::ConsensusState

error: could not compile `mock-update-client` (bin "mock-update-client") due to 1 previous error

@rootulp rootulp marked this pull request as ready for review February 3, 2025 01:01
Copy link
Contributor

@tuxcanfly tuxcanfly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK.

```

1. Modify the `docker-compose.yml` file and set `SP1_PROVER=network` and `SP1_PRIVATE_KEY="PRIVATE_KEY"` to the SP1 prover network private key from Celestia 1Password.
1. Modify the `docker-compose.yml` file and set `SP1_PROVER=network` and `NETWORK_PRIVATE_KEY="PRIVATE_KEY"` to the SP1 prover network private key from Celestia 1Password.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the diff mentioned here should reflect this suggestion:

+      - SP1_PROVER=network
+      - SP1_PRIVATE_KEY=PRIVATE_KEY

@rootulp rootulp merged commit 7210579 into celestiaorg:main Feb 3, 2025
8 checks passed
@rootulp rootulp deleted the rp/sp1-v4-celestia-prover branch February 3, 2025 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

blevm: generating proof panic due to env
3 participants