You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains the smart contracts for verifying [SP1](https://github.com/succinctlabs/sp1) EVM proofs.
4
4
5
-
This section outlines the steps required to update the SP1 contracts repository with a new SP1 version. Follow these instructions to ensure the SP1 contracts are correctly updated and aligned with the latest version.
5
+
## For Developers: Integrate SP1 Contracts
6
6
7
+
This repository contains the EVM contracts for verifying SP1 PLONK EVM proofs.
7
8
8
-
1. Change the version tag in `Cargo.toml`to the target `sp1` version.
9
+
You can find more details on the contracts and how to install them in the contracts [`README`](./contracts/README.md).
9
10
10
-
```toml
11
-
[dependencies]
12
-
sp1-sdk = { git = "https://github.com/succinctlabs/sp1", tag = "<SP1_TAG>" }
13
-
```
14
-
15
-
2. Update `contracts/src` with the new verifier contracts.
16
-
17
-
```bash
18
-
cargo update
19
-
20
-
cargo run --bin artifacts
21
-
```
22
-
23
-
3. Change `VERSION` in both `SP1MockVerifier.sol` and `SP1Verifier.sol` to match the target `sp1` version tag.
24
-
25
-
```solidity
26
-
function VERSION() external pure returns (string memory) {
27
-
return "<SP1_TAG>";
28
-
}
29
-
```
30
-
31
-
4. Open a PR to commit the changes to `main`.
32
-
5. After merging to `main`, create a release tag with the same version as the `sp1` tag used.
33
-
34
-
## Miscellaneous
35
-
The SP1 Solidity contract artifacts are included in each release of `sp1`. You can see how these are included in the `sp1` repository [here](https://github.com/succinctlabs/sp1/blob/21455d318ae383b317c92e10709bbfc313d8f1df/recursion/gnark-ffi/src/plonk_bn254.rs#L57-L96).
11
+
## For Contributors
36
12
13
+
To update the SP1 contracts, please refer to the [`update`](./UPDATE_CONTRACTS.md) file.
This section outlines the steps required to update the SP1 contracts repository with a new SP1 version. Follow these instructions to ensure the SP1 contracts are correctly updated and aligned with the latest version.
5
+
6
+
7
+
1. Change the version tag in `Cargo.toml` to the target `sp1` version.
8
+
9
+
```toml
10
+
[dependencies]
11
+
sp1-sdk = { git = "https://github.com/succinctlabs/sp1", tag = "<SP1_TAG>" }
12
+
```
13
+
14
+
2. Update `contracts/src` with the new verifier contracts.
15
+
16
+
```bash
17
+
cargo update
18
+
19
+
cargo run --bin artifacts
20
+
```
21
+
22
+
3. Change `VERSION` in both `SP1MockVerifier.sol` and `SP1Verifier.sol` to match the target `sp1` version tag.
23
+
24
+
```solidity
25
+
function VERSION() external pure returns (string memory) {
26
+
return "<SP1_TAG>";
27
+
}
28
+
```
29
+
30
+
4. Open a PR to commit the changes to `main`.
31
+
5. After merging to `main`, create a release tag with the same version as the `sp1` tag used.
32
+
33
+
## Miscellaneous
34
+
The SP1 Solidity contract artifacts are included in each release of `sp1`. You can see how these are included in the `sp1` repository [here](https://github.com/succinctlabs/sp1/blob/21455d318ae383b317c92e10709bbfc313d8f1df/recursion/gnark-ffi/src/plonk_bn254.rs#L57-L96).
0 commit comments