Skip to content

Commit 995e703

Browse files
feat: Deploy Unichain (SC-988) (#32)
* add unichain messenger address * add unichain to tests * change chainId * change chain id
1 parent 9c2effc commit 995e703

File tree

4 files changed

+16
-1
lines changed

4 files changed

+16
-1
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
BASE_RPC_URL: ${{secrets.BASE_RPC_URL}}
4343
POLYGON_RPC_URL: ${{secrets.POLYGON_RPC_URL}}
4444
WORLD_CHAIN_RPC_URL: ${{secrets.WORLD_CHAIN_RPC_URL}}
45+
UNICHAIN_RPC_URL: ${{secrets.UNICHAIN_RPC_URL}}
4546
run: FOUNDRY_PROFILE=ci forge test
4647

4748
coverage:
@@ -62,6 +63,7 @@ jobs:
6263
BASE_RPC_URL: ${{secrets.BASE_RPC_URL}}
6364
POLYGON_RPC_URL: ${{secrets.POLYGON_RPC_URL}}
6465
WORLD_CHAIN_RPC_URL: ${{secrets.WORLD_CHAIN_RPC_URL}}
66+
UNICHAIN_RPC_URL: ${{secrets.UNICHAIN_RPC_URL}}
6567
run: forge coverage --report summary --report lcov
6668

6769
# To ignore coverage for certain directories modify the paths in this step as needed. The

src/forwarders/OptimismForwarder.sol

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ interface ICrossDomainOptimism {
77

88
library OptimismForwarder {
99

10-
address constant internal L1_CROSS_DOMAIN_OPTIMISM = 0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1;
1110
address constant internal L1_CROSS_DOMAIN_BASE = 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa;
11+
address constant internal L1_CROSS_DOMAIN_OPTIMISM = 0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1;
12+
address constant internal L1_CROSS_DOMAIN_UNICHAIN = 0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6;
1213
address constant internal L1_CROSS_DOMAIN_WORLD_CHAIN = 0xf931a81D18B1766d15695ffc7c1920a62b7e710a;
14+
1315
address constant internal L2_CROSS_DOMAIN = 0x4200000000000000000000000000000000000007;
1416

1517
function sendMessageL1toL2(

src/testing/bridges/OptimismBridgeTesting.sol

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ library OptimismBridgeTesting {
6767
sourceCrossChainMessenger = OptimismForwarder.L1_CROSS_DOMAIN_BASE;
6868
} else if (name == keccak256("world_chain")) {
6969
sourceCrossChainMessenger = OptimismForwarder.L1_CROSS_DOMAIN_WORLD_CHAIN;
70+
} else if (name == keccak256("unichain")) {
71+
sourceCrossChainMessenger = OptimismForwarder.L1_CROSS_DOMAIN_UNICHAIN;
7072
} else {
7173
revert("Unsupported destination chain");
7274
}

test/OptimismIntegration.t.sol

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,15 @@ contract OptimismIntegrationTest is IntegrationBaseTest {
5656
runCrossChainTests(getChain("world_chain").createFork());
5757
}
5858

59+
function test_unichain() public {
60+
setChain("unichain", ChainData({
61+
name: "Unichain",
62+
rpcUrl: vm.envString("UNICHAIN_RPC_URL"),
63+
chainId: 130
64+
}));
65+
runCrossChainTests(getChain("unichain").createFork());
66+
}
67+
5968
function initSourceReceiver() internal override pure returns (address) {
6069
return address(0);
6170
}

0 commit comments

Comments
 (0)