Skip to content

Commit

Permalink
chore: update contract addresses (#355)
Browse files Browse the repository at this point in the history
  • Loading branch information
mattstam authored Feb 8, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 2047119 commit 9fc0122
Showing 2 changed files with 40 additions and 17 deletions.
8 changes: 1 addition & 7 deletions contracts/.env.example
Original file line number Diff line number Diff line change
@@ -5,14 +5,8 @@ CREATE2_SALT=
GUARDIAN=
PROVER=

### Guardian & Timelock
### Guardian (SAFE multisig)
GUARDIAN_OWNERS=
MINIMUM_DELAY=

### Upgrades
EOA_UPGRADE=TRUE
WALLET_TYPE=LEDGER
MNEMONIC_INDEX=1

### Chain Setup
RPC_1=
49 changes: 39 additions & 10 deletions contracts/README.md
Original file line number Diff line number Diff line change
@@ -25,25 +25,52 @@ forge test
`SUCCINCT_GATEWAY`=[0x6c7a05e0AE641c6559fD76ac56641778B6eCd776](https://etherscan.io/address/0x6c7a05e0AE641c6559fD76ac56641778B6eCd776)
`SUCCINCT_FEE_VAULT`=[0x296666e937b270193B960a7cEC526B351F353166](https://etherscan.io/address/0x296666e937b270193B960a7cEC526B351F353166)

If the contracts are not deployed on a chain you need, you can deploy them yourself using the deployment instructions below or by contracting Succinct.
These are the same for all chains. SuccinctGateway exists on these chains:

| Chain | Chain ID | Address |
|------------------|----------|------------------------------------------------------------------------------------------------------------------|
| Mainnet | 1 | [0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803](https://etherscan.io/address/0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803) |
| Goerli | 5 | [0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803](https://goerli.etherscan.io/address/0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803) |
| Gnosis | 100 | [0x6e4f1e9eA315EBFd69d18C2DB974EEf6105FB803](https://gnosisscan.io/address/0x6e4f1e9eA315EBFd69d18C2DB974EEf6105FB803) |
| Holesky | 17000 | [0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803](https://holesky.etherscan.io/address/0x6e4f1e9ea315ebfd69d18c2db974eef6105fb803) |
| Arbitrum | 42161 | [0x2d27182206f0442885989626934ca9dd5290f979](https://arbiscan.io/address/0x2d27182206f0442885989626934ca9dd5290f979) |
| Arbitrum Sepolia | 421614 | [0x2d27182206f0442885989626934ca9dd5290f979](https://sepolia.arbiscan.io/address/0x2d27182206f0442885989626934ca9dd5290f979) |
| Sepolia | 11155111 | [0xaea9288f0b7a8c605c4d474c56e5e74f96bfd4b3](https://sepolia.etherscan.io/address/0xaea9288f0b7a8c605c4d474c56e5e74f96bfd4b3) |

| Mainnet | 1 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://etherscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Goerli | 5 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://goerli.etherscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Sepolia | 11155111 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://sepolia.etherscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Holesky | 17000 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://holesky.etherscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Gnosis | 100 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://gnosisscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Arbitrum | 42161 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://arbiscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Arbitrum Sepolia | 421614 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://sepolia.arbiscan.io/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Base | 8453 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://basescan.org/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |
| Base Sepolia | 84532 | [0x6c7a05e0ae641c6559fd76ac56641778b6ecd776](https://sepolia.basescan.org/address/0x6c7a05e0ae641c6559fd76ac56641778b6ecd776) |

and SuccinctFeeVault exists on these chains:

| Chain | Chain ID | Address |
|------------------|----------|------------------------------------------------------------------------------------------------------------------|
| Mainnet | 1 | [0x296666e937b270193B960a7cEC526B351F353166](https://etherscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Goerli | 5 | [0x296666e937b270193B960a7cEC526B351F353166](https://goerli.etherscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Sepolia | 11155111 | [0x296666e937b270193B960a7cEC526B351F353166](https://sepolia.etherscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Holesky | 17000 | [0x296666e937b270193B960a7cEC526B351F353166](https://holesky.etherscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Gnosis | 100 | [0x296666e937b270193B960a7cEC526B351F353166](https://gnosisscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Arbitrum | 42161 | [0x296666e937b270193B960a7cEC526B351F353166](https://arbiscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Arbitrum Sepolia | 421614 | [0x296666e937b270193B960a7cEC526B351F353166](https://sepolia.arbiscan.io/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Base | 8453 | [0x296666e937b270193B960a7cEC526B351F353166](https://basescan.org/address/0x296666e937b270193B960a7cEC526B351F353166) |
| Base Sepolia | 84532 | [0x296666e937b270193B960a7cEC526B351F353166](https://sepolia.basescan.org/address/0x296666e937b270193B960a7cEC526B351F353166) |

If the contracts are not deployed on a chain you need, you can deploy them yourself using the deployment instructions below or by contacting Succinct.

## Deploying

Ensure your `.env` file is correctly filled out with the necessary environment variables:

```sh
PRIVATE_KEY= # The private key of the deployer account
CREATE2_SALT= # The salt to be used for CREATE2 deployments
GUARDIAN= # The 'owner' of the contracts, recommended to be an EOA
PROVER= # The default prover to fullfill requests for Functions that have not opted for a different prover
RPC_{CHAIN_ID}= # RPC URLs for each chain you want to deploy to
ETHERSCAN_API_KEY_{CHAIN_ID}= # Etherscan API keys for each chain you want to deploy to
```

Each contract has it's own deployment file in the form of `script/deploy/{Contract}.s.sol`. Inside each, there is a `Deploy{Contract}` script that will deploy the contract. This allows for programmatic cross-chain deployment of contracts using `script/deploy.sh`.

For example, to deploy SuccinctFeeVault and then SuccinctGateway on Chains 5, 420, 84531, and 421613, you would ensure that your `.env` is correctly filled out. Then run `./scripts/deploy.sh <contracts> <chain_ids>` to deploy the contracts:
For example, to deploy SuccinctFeeVault and then SuccinctGateway on Chains 5, 420, 84531, and 421613 run `./scripts/deploy.sh <contracts> <chain_ids>` to deploy the contracts:

```sh
./script/deploy.sh "SuccinctFeeVault SuccinctGateway" "5 420 84531 421613"
@@ -63,6 +90,8 @@ For example, to verify both the proxy and implementation contract of SuccinctGat

## Upgrading

Note: The Succinct contracts are no longer upgradeable. The following instructions are for historical purposes only.

### Upgrades via EOA

When the `TIMELOCK` is set to an EOA, you can directly upgrade the proxy contract by setting `UPGRADE_VIA_EOA=TRUE`, changing the `CREATE2_SALT` (or bytecode) of your previous implementation contract, and then running `script/deploy.sh` again.

0 comments on commit 9fc0122

Please sign in to comment.