Skip to content

Commit 65a1d96

Browse files
authored
feat: separate SP1VerifierGateway for PLONK and Groth16 (#34)
1 parent 275691a commit 65a1d96

32 files changed

+112
-69
lines changed

README.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ pragma solidity ^0.8.20;
2222
import {ISP1Verifier} from "@sp1-contracts/ISP1Verifier.sol";
2323
2424
contract MyContract {
25-
address public constant SP1_VERIFIER = 0x3B6041173B80E77f038f3F2C0f9744f04837185e;
25+
address public constant SP1_VERIFIER = 0x3B6041173B80E77f038f3F2C0f9744f04837185e;
2626
27-
bytes32 public constant PROGRAM_VKEY = ...;
27+
bytes32 public constant PROGRAM_VKEY = ...;
2828
29-
function myFunction(..., bytes calldata publicValues, bytes calldata proofBytes) external {
30-
ISP1Verifier(SP1_VERIFIER).verifyProof(PROGRAM_VKEY, publicValues, proofBytes);
31-
}
29+
function myFunction(..., bytes calldata publicValues, bytes calldata proofBytes) external {
30+
ISP1Verifier(SP1_VERIFIER).verifyProof(PROGRAM_VKEY, publicValues, proofBytes);
31+
}
3232
}
3333
```
3434

@@ -46,26 +46,37 @@ You can obtain the correct `PROGRAM_VKEY` for your program calling the `setup` f
4646

4747
To deploy the contracts, ensure your [.env](./contracts/.env.example) file is configured with all the chains you want to deploy to.
4848

49-
Then you can use the `forge script` command and specify the specific contract you want to deploy. For example, to deploy the SP1 Verifier Gateway you can run:
49+
Then you can use the `forge script` command and specify the specific contract you want to deploy. For example, to deploy the SP1 Verifier Gateway for PLONK you can run:
5050

5151
```bash
52-
FOUNDRY_PROFILE=deploy forge script ./script/deploy/SP1VerifierGateway.s.sol:SP1VerifierGatewayScript --private-key $PRIVATE_KEY --verify --verifier etherscan --multi --broadcast
52+
FOUNDRY_PROFILE=deploy forge script ./script/deploy/SP1VerifierGatewayPlonk.s.sol:SP1VerifierGatewayScript --private-key $PRIVATE_KEY --verify --verifier etherscan --multi --broadcast
53+
```
54+
55+
or to deploy the SP1 Verifier Gateway for Groth16 you can run:
56+
57+
```bash
58+
FOUNDRY_PROFILE=deploy forge script ./script/deploy/SP1VerifierGatewayGroth16.s.sol:SP1VerifierGatewayScript --private-key $PRIVATE_KEY --verify --verifier etherscan --multi --broadcast
5359
```
5460

5561
### Adding Verifiers
5662

57-
To deploy a specific SP1 Verifier version and add it to the gateway, run:
63+
You can use the `forge script` command to specify which verifier you want to deploy and add to the gateway. For example to deploy the PLONK verifier and add it to the PLONK gateway you can run:
5864

5965
```bash
6066
FOUNDRY_PROFILE=deploy forge script ./script/deploy/v3.0.0/SP1VerifierPlonk.s.sol:SP1VerifierScript --private-key $PRIVATE_KEY --verify --verifier etherscan --multi --broadcast
6167
```
6268

63-
Change `v3.0.0` to the desired version to add.
69+
or to deploy the Groth16 verifier and add it to the Groth16 gateway you can run:
6470

65-
To re-verify already existing deployments, remove the `--broadcast` flag.
71+
```bash
72+
FOUNDRY_PROFILE=deploy forge script ./script/deploy/v3.0.0/SP1VerifierGroth16.s.sol:SP1VerifierScript --private-key $PRIVATE_KEY --verify --verifier etherscan --multi --broadcast
73+
```
74+
75+
Change `v3.0.0` to the desired version to add.
6676

6777
### Freezing Verifiers
6878

79+
> [!WARNING]
6980
> **BE CAREFUL** When a freezing a verifier. Once it is frozen, it cannot be unfrozen, and it can no longer be routed to.
7081
7182
To freeze a verifier on the gateway, run:

contracts/deployments/1.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
67
"V1_1_0_SP1_VERIFIER": "0xc350F063C13a3Ca21331610fe159E697a5c9c2FB",
78
"V1_2_0_SP1_VERIFIER_PLONK": "0x6B6A7Ded061567d8A56279801DEA5cFB79be5bFc",
89
"V2_0_0_SP1_VERIFIER_PLONK": "0x1764C29FBd94865198588f10FC75D4f6636d158d",
9-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
10+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1011
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1112
}

contracts/deployments/10.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_2_0_SP1_VERIFIER_PLONK": "0x6B6A7Ded061567d8A56279801DEA5cFB79be5bFc",
45
"V2_0_0_SP1_VERIFIER_PLONK": "0x1764C29FBd94865198588f10FC75D4f6636d158d",
5-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
6+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
67
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
78
}

contracts/deployments/11155111.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
@@ -15,6 +16,6 @@
1516
"V3_0_0_RC3_SP1_VERIFIER_PLONK": "0x31aeD863BecC509B9e16403c52C07560A0d4ecBf",
1617
"V3_0_0_RC4_SP1_VERIFIER_GROTH16": "0xbEe24654bF5D675D88e504a0DC148022664Ce436",
1718
"V3_0_0_RC4_SP1_VERIFIER_PLONK": "0xAF58C8Feee48f9952A444cD897Fd16e99000a4E1",
18-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
19+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1920
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
2021
}

contracts/deployments/11155420.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_2_0_SP1_VERIFIER_PLONK": "0x6B6A7Ded061567d8A56279801DEA5cFB79be5bFc",
45
"V2_0_0_SP1_VERIFIER_GROTH16": "0x202dd4a519b2cAaCc9455BB670FE7950c0e40026",
56
"V2_0_0_SP1_VERIFIER_PLONK": "0xaeE21CeadF7A03b3034DAE4f190bFE5F861b6ebf",
67
"V3_0_0_RC1_SP1_VERIFIER_GROTH16": "0x8dB92f28D7C30154d38E55DbA1054b5A7Fc5A829",
78
"V3_0_0_RC1_SP1_VERIFIER_PLONK": "0xCf5bB55AaE25b5A66CEfbe85d81b7b144472102A",
89
"V3_0_0_RC3_SP1_VERIFIER_GROTH16": "0x890E1c4ff98453f1201e5cB65F6C588FD28748b0",
910
"V3_0_0_RC3_SP1_VERIFIER_PLONK": "0x31aeD863BecC509B9e16403c52C07560A0d4ecBf",
10-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
11+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1112
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1213
}

contracts/deployments/17000.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
@@ -14,6 +15,6 @@
1415
"V3_0_0_RC1_SP1_VERIFIER_PLONK": "0xCf5bB55AaE25b5A66CEfbe85d81b7b144472102A",
1516
"V3_0_0_RC3_SP1_VERIFIER_GROTH16": "0x890E1c4ff98453f1201e5cB65F6C588FD28748b0",
1617
"V3_0_0_RC3_SP1_VERIFIER_PLONK": "0x31aeD863BecC509B9e16403c52C07560A0d4ecBf",
17-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
18+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1819
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1920
}

contracts/deployments/42161.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
67
"V1_1_0_SP1_VERIFIER": "0xc350F063C13a3Ca21331610fe159E697a5c9c2FB",
78
"V1_2_0_SP1_VERIFIER_PLONK": "0x6B6A7Ded061567d8A56279801DEA5cFB79be5bFc",
89
"V2_0_0_SP1_VERIFIER_PLONK": "0x1764C29FBd94865198588f10FC75D4f6636d158d",
9-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
10+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1011
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1112
}

contracts/deployments/421614.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
@@ -14,6 +15,6 @@
1415
"V3_0_0_RC1_SP1_VERIFIER_PLONK": "0xCf5bB55AaE25b5A66CEfbe85d81b7b144472102A",
1516
"V3_0_0_RC3_SP1_VERIFIER_GROTH16": "0x890E1c4ff98453f1201e5cB65F6C588FD28748b0",
1617
"V3_0_0_RC3_SP1_VERIFIER_PLONK": "0x31aeD863BecC509B9e16403c52C07560A0d4ecBf",
17-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
18+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1819
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1920
}

contracts/deployments/534351.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
@@ -14,6 +15,6 @@
1415
"V3_0_0_RC1_SP1_VERIFIER_PLONK": "0xCf5bB55AaE25b5A66CEfbe85d81b7b144472102A",
1516
"V3_0_0_RC3_SP1_VERIFIER_GROTH16": "0x890E1c4ff98453f1201e5cB65F6C588FD28748b0",
1617
"V3_0_0_RC3_SP1_VERIFIER_PLONK": "0x31aeD863BecC509B9e16403c52C07560A0d4ecBf",
17-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
18+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1819
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1920
}

contracts/deployments/534352.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
67
"V1_1_0_SP1_VERIFIER": "0xc350F063C13a3Ca21331610fe159E697a5c9c2FB",
78
"V1_2_0_SP1_VERIFIER_PLONK": "0x6B6A7Ded061567d8A56279801DEA5cFB79be5bFc",
89
"V2_0_0_SP1_VERIFIER_PLONK": "0x1764C29FBd94865198588f10FC75D4f6636d158d",
9-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
10+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1011
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1112
}

contracts/deployments/8453.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
67
"V1_1_0_SP1_VERIFIER": "0xc350F063C13a3Ca21331610fe159E697a5c9c2FB",
78
"V1_2_0_SP1_VERIFIER_PLONK": "0x6B6A7Ded061567d8A56279801DEA5cFB79be5bFc",
89
"V2_0_0_SP1_VERIFIER_PLONK": "0x1764C29FBd94865198588f10FC75D4f6636d158d",
9-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
10+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1011
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1112
}

contracts/deployments/84532.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
2-
"SP1_VERIFIER_GATEWAY": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
2+
"SP1_VERIFIER_GATEWAY_GROTH16": "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
3+
"SP1_VERIFIER_GATEWAY_PLONK": "0x3B6041173B80E77f038f3F2C0f9744f04837185e",
34
"V1_0_1_SP1_VERIFIER": "0x36B353776AF6EF3A2bD707049e783F52c4209017",
45
"V1_0_7_TESTNET_SP1_VERIFIER": "0x331b350dDA287d0A65ce43103984CD44cb4Da9f0",
56
"V1_0_8_TESTNET_SP1_VERIFIER": "0xfE2bb0Ad7F2c44Bd1289234Af08aD6FDEC0d54a2",
@@ -14,6 +15,6 @@
1415
"V3_0_0_RC1_SP1_VERIFIER_PLONK": "0xCf5bB55AaE25b5A66CEfbe85d81b7b144472102A",
1516
"V3_0_0_RC3_SP1_VERIFIER_GROTH16": "0x890E1c4ff98453f1201e5cB65F6C588FD28748b0",
1617
"V3_0_0_RC3_SP1_VERIFIER_PLONK": "0x31aeD863BecC509B9e16403c52C07560A0d4ecBf",
17-
"V3_0_0_SP1_VERIFIER_GROTH16": "0x6A87EFd4e6B2Db1ed73129A8b9c51aaA583d49e3",
18+
"V3_0_0_SP1_VERIFIER_GROTH16": "0xE780809121774D06aD9B0EEeC620fF4B3913Ced1",
1819
"V3_0_0_SP1_VERIFIER_PLONK": "0xd2832Cf1fC8bA210FfABF62Db9A8781153131d16"
1920
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.20;
3+
4+
import {BaseScript} from "../utils/Base.s.sol";
5+
import {SP1VerifierGateway} from "../../src/SP1VerifierGateway.sol";
6+
7+
contract SP1VerifierGatewayScript is BaseScript {
8+
string internal constant KEY = "SP1_VERIFIER_GATEWAY_GROTH16";
9+
10+
function run() external multichain(KEY) broadcaster {
11+
// Read config
12+
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
13+
address OWNER = readAddress("OWNER");
14+
15+
// Deploy contract
16+
address gateway = address(new SP1VerifierGateway{salt: CREATE2_SALT}(OWNER));
17+
18+
// Write address
19+
writeAddress(KEY, gateway);
20+
}
21+
}

contracts/script/deploy/SP1VerifierGateway.s.sol renamed to contracts/script/deploy/SP1VerifierGatewayPlonk.s.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {BaseScript} from "../utils/Base.s.sol";
55
import {SP1VerifierGateway} from "../../src/SP1VerifierGateway.sol";
66

77
contract SP1VerifierGatewayScript is BaseScript {
8-
string internal constant KEY = "SP1_VERIFIER_GATEWAY";
8+
string internal constant KEY = "SP1_VERIFIER_GATEWAY_PLONK";
99

1010
function run() external multichain(KEY) broadcaster {
1111
// Read config

contracts/script/deploy/v1.0.1/SP1Verifier.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ contract SP1VerifierScript is BaseScript {
1212
function run() external multichain(KEY) broadcaster {
1313
// Read config
1414
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
15-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
15+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
1616

1717
// Deploy contract
1818
address verifier = address(new SP1Verifier{salt: CREATE2_SALT}());
@@ -27,7 +27,7 @@ contract SP1VerifierScript is BaseScript {
2727

2828
function freeze() external multichain(KEY) broadcaster {
2929
// Read config
30-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
30+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
3131
address SP1_VERIFIER = readAddress(KEY);
3232

3333
// Freeze the verifier on the gateway

contracts/script/deploy/v1.0.7-testnet/SP1Verifier.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ contract SP1VerifierScript is BaseScript {
1212
function run() external multichain(KEY) broadcaster {
1313
// Read config
1414
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
15-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
15+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
1616

1717
// Deploy contract
1818
address verifier = address(new SP1Verifier{salt: CREATE2_SALT}());
@@ -27,7 +27,7 @@ contract SP1VerifierScript is BaseScript {
2727

2828
function freeze() external multichain(KEY) broadcaster {
2929
// Read config
30-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
30+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
3131
address SP1_VERIFIER = readAddress(KEY);
3232

3333
// Freeze the verifier on the gateway

contracts/script/deploy/v1.0.8-testnet/SP1Verifier.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ contract SP1VerifierScript is BaseScript {
1212
function run() external multichain(KEY) broadcaster {
1313
// Read config
1414
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
15-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
15+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
1616

1717
// Deploy contract
1818
address verifier = address(new SP1Verifier{salt: CREATE2_SALT}());
@@ -27,7 +27,7 @@ contract SP1VerifierScript is BaseScript {
2727

2828
function freeze() external multichain(KEY) broadcaster {
2929
// Read config
30-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
30+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
3131
address SP1_VERIFIER = readAddress(KEY);
3232

3333
// Freeze the verifier on the gateway

contracts/script/deploy/v1.1.0/SP1Verifier.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ contract SP1VerifierScript is BaseScript {
1212
function run() external multichain(KEY) broadcaster {
1313
// Read config
1414
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
15-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
15+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
1616

1717
// Deploy contract
1818
address verifier = address(new SP1Verifier{salt: CREATE2_SALT}());
@@ -27,7 +27,7 @@ contract SP1VerifierScript is BaseScript {
2727

2828
function freeze() external multichain(KEY) broadcaster {
2929
// Read config
30-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
30+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
3131
address SP1_VERIFIER = readAddress(KEY);
3232

3333
// Freeze the verifier on the gateway

contracts/script/deploy/v1.2.0-rc1/SP1VerifierGroth16.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ contract SP1VerifierScript is BaseScript {
1212
function run() external multichain(KEY) broadcaster {
1313
// Read config
1414
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
15-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
15+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_GROTH16");
1616

1717
// Deploy contract
1818
address verifier = address(new SP1Verifier{salt: CREATE2_SALT}());
@@ -27,7 +27,7 @@ contract SP1VerifierScript is BaseScript {
2727

2828
function freeze() external multichain(KEY) broadcaster {
2929
// Read config
30-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
30+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_GROTH16");
3131
address SP1_VERIFIER = readAddress(KEY);
3232

3333
// Freeze the verifier on the gateway

contracts/script/deploy/v1.2.0-rc1/SP1VerifierPlonk.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ contract SP1VerifierScript is BaseScript {
1212
function run() external multichain(KEY) broadcaster {
1313
// Read config
1414
bytes32 CREATE2_SALT = readBytes32("CREATE2_SALT");
15-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
15+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
1616

1717
// Deploy contract
1818
address verifier = address(new SP1Verifier{salt: CREATE2_SALT}());
@@ -27,7 +27,7 @@ contract SP1VerifierScript is BaseScript {
2727

2828
function freeze() external multichain(KEY) broadcaster {
2929
// Read config
30-
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY");
30+
address SP1_VERIFIER_GATEWAY = readAddress("SP1_VERIFIER_GATEWAY_PLONK");
3131
address SP1_VERIFIER = readAddress(KEY);
3232

3333
// Freeze the verifier on the gateway

0 commit comments

Comments
 (0)