Files
linea-monorepo/contracts/docs/StatusNetwork.md

106 lines
3.9 KiB
Markdown

# Status Network
## Devnet
### 📬 Devnet Deployed Contracts
These are the official contract deployments on the **Holesky** for L1 and Status Devnet for L2.
| Chain | Contract | Address |
|---------|----------------------------------|-----------------------------------------------------------------------------------------------------|
| Hoodi | **Yield Manager** | [0xF62923E542BdEA2DeC8Da020480197A54c4CE53A](https://hoodi.etherscan.io/address/0xF62923E542BdEA2DeC8Da020480197A54c4CE53A#code)|
| Hoodi | **L1ETHBridge (Proxy)** | [0x0958faaa350be3d11c9f9a2ba366af3dab16c792](https://hoodi.etherscan.io/address/0x0958faaa350be3d11c9f9a2ba366af3dab16c792#code)|
| Hoodi | **L1ETHBridge (Implementation)** | [0x968b487d38d93fd5a36aed69da52febcc043c3e7](https://hoodi.etherscan.io/address/0x968b487d38d93fd5a36aed69da52febcc043c3e7#code)|
| Status Devnet | **L2ETHBridge (Proxy)** | [0x99751AD60328ABf73e8c938c0B7A9F9FD370f453](https://sunti-blockscout.eu-north-2.gateway.fm/address/0x99751AD60328ABf73e8c938c0B7A9F9FD370f453?tab=contract)|
| Status Devnet | **L2ETHBridge (Implementation)** | [0xCaF71dEe9d59d0095eC37c1FFa7E4b8fD3114Bc2](https://sunti-blockscout.eu-north-2.gateway.fm/address/0xCaF71dEe9d59d0095eC37c1FFa7E4b8fD3114Bc2?tab=contract)|
The devnet test deployer is `0xD631542acd56eeBe466F16CBfEb937637b8b43c1`.
### YieldManager
Deploy a Dummy YieldManager contract on the Status Devnet.
```bash
export ETH_FROM=0xD631542acd56eeBe466F16CBfEb937637b8b43c1
forge script \
script/yield/bridge/l1/DeployDummyYieldManager.s.sol \
--rpc-url https://rpc.hoodi.ethpandaops.io \
--private-key $STATUS_DEVNET_DEPLOYER_KEY \
--broadcast
```
Verify the contract on Etherscan:
```bash
forge verify-contract --chain hoodi CONTRACT_ADDRESS ETHYieldManagerMock
```
### L1ETHBridge
Update the deployment config (`script/yield/bridge/l1/DeploymentConfig.s.sol`) to include the address of the `YieldManager` contract deployed above.
The deployment config requires the address of the `L2ETHBridge` contract, which is the bridge on the L2 chain (Status Devnet).
If it's the first deployment, you won't have the `L2ETHBridge` deployed yet, so you need to set a temporary one like 0x1
in the config script that must different from the zero address otherwise the deployment will fail.
```bash
export ETH_FROM=0xD631542acd56eeBe466F16CBfEb937637b8b43c1
forge script \
script/yield/bridge/l1/DeployL1ETHBridge.s.sol \
--rpc-url https://rpc.hoodi.ethpandaops.io \
--private-key $STATUS_DEVNET_DEPLOYER_KEY \
--broadcast
```
Verify the implementation contract on Blockscout:
```bash
forge verify-contract --chain hoodi CONTRACT_ADDRESS L1ETHBridge
```
### L2ETHBridge
Update the deployment config (`script/yield/bridge/l2/DeploymentConfig.s.sol`) to include the address of the `L1ETHBridge` contract deployed above.
```bash
export ETH_FROM=0xD631542acd56eeBe466F16CBfEb937637b8b43c1
forge script \
script/yield/bridge/l2/DeployL2ETHBridge.s.sol \
--rpc-url https://sunti-rpc.eu-north-2.gateway.fm/ \
--private-key $STATUS_DEVNET_DEPLOYER_KEY \
--broadcast
```
Verify the implementation contract on Blockscout:
```bash
forge verify-contract \
--verifier blockscout \
--compilation-profile london \
--verifier-url https://sunti-blockscout.eu-north-2.gateway.fm/api \
--chain 1706707152 \
IMPLEMENTATION_ADDRESS \
L2ETHBridge
```
Verify the proxy contract in case it hasn't been verified yet automatically by Blockscout:
```bash
forge verify-contract \
--verifier blockscout \
--compilation-profile london \
--verifier-url https://sunti-blockscout.eu-north-2.gateway.fm/api \
--chain 1706707152 \
PROXY_ADDRESS \
node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy
```
Remember to set the `L2ETHBridge` address in the `L1ETHBridge` contract calling the `setRemoteSender` function.