Skip to content

Commit 2427d90

Browse files
authored
Merge pull request #35 from bgd-labs/feat/sonic-deployment
feat: add sonic network
2 parents 7f85e10 + 1cc6a38 commit 2427d90

14 files changed

+220
-20
lines changed

Makefile

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ BASE_KEY = --private-key ${PRIVATE_KEY}
1717

1818

1919

20-
custom_ethereum := --with-gas-price 1000000000 # 53 gwei
20+
custom_ethereum := --with-gas-price 2000000000 # 53 gwei
2121
#custom_polygon := --with-gas-price 190000000000 # 560 gwei
2222
#custom_avalanche := --with-gas-price 27000000000 # 27 gwei
2323
#custom_metis-testnet := --legacy --verifier-url https://goerli.explorer.metisdevops.link/api/
@@ -164,23 +164,23 @@ deploy-full:
164164

165165
# Deploy Proxy Factories on all networks
166166
deploy-proxy-factory-test:
167-
$(call deploy_fn,InitialDeployments,mantle)
167+
$(call deploy_fn,InitialDeployments,sonic)
168168

169169
# Deploy Cross Chain Infra on all networks
170170
deploy-cross-chain-infra-test:
171-
$(call deploy_fn,ccc/DeployCCC,mantle)
171+
$(call deploy_fn,ccc/DeployCCC,sonic)
172172

173173
## Deploy CCIP bridge adapters on all networks
174174
deploy-ccip-bridge-adapters-test:
175175
$(call deploy_fn,adapters/DeployCCIPAdapter,ethereum)
176176

177177
## Deploy LayerZero bridge adapters on all networks
178178
deploy-lz-bridge-adapters-test:
179-
$(call deploy_fn,adapters/DeployLZ,celo)
179+
$(call deploy_fn,adapters/DeployLZ,sonic)
180180

181181
## Deploy HyperLane bridge adapters on all networks
182182
deploy-hl-bridge-adapters-test:
183-
$(call deploy_fn,adapters/DeployHL,celo)
183+
$(call deploy_fn,adapters/DeployHL,sonic)
184184

185185
## Deploy SameChain adapters on ethereum
186186
deploy-same-chain-adapters-test:
@@ -222,11 +222,11 @@ set-ccf-sender-adapters-test:
222222

223223
# Set the bridge adapters allowed to receive messages
224224
set-ccr-receiver-adapters-test:
225-
$(call deploy_fn,ccc/Set_CCR_Receivers_Adapters,mantle)
225+
$(call deploy_fn,ccc/Set_CCR_Receivers_Adapters,sonic)
226226

227227
# Sets the required confirmations
228228
set-ccr-confirmations-test:
229-
$(call deploy_fn,ccc/Set_CCR_Confirmations,mantle)
229+
$(call deploy_fn,ccc/Set_CCR_Confirmations,sonic)
230230

231231

232232
## Deploy and configure all contracts
@@ -269,7 +269,7 @@ send-message-via-adapter:
269269
$(call deploy_fn,helpers/Send_Message_Via_Adapter,ethereum)
270270

271271
deploy_ccc_granular_guardian:
272-
$(call deploy_fn,access_control/network_scripts/GranularGuardianNetworkDeploys,mantle)
272+
$(call deploy_fn,access_control/network_scripts/GranularGuardianNetworkDeploys,sonic)
273273

274274
deploy-ccc-revision-and-update:
275275
$(call deploy_fn,CCC/UpdateCCC,ethereum)
@@ -292,5 +292,5 @@ deploy-celo-path-payload:
292292
update-owners-and-guardians:
293293
$(call deploy_fn,helpers/Update_Ownership,zksync)
294294

295-
update-celo-permissions:
296-
$(call deploy_fn,helpers/UpdateCCCPermissions,celo)
295+
update-sonic-permissions:
296+
$(call deploy_fn,helpers/UpdateCCCPermissions,sonic)

deployments/ethereum.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"arbAdapter": "0x88d6D01e08d3e64513b15fD46528dBbA7d755883",
33
"baseAdapter": "0xa5948b0ac79f72966dFFC5C13E44f6dfDD3D58A0",
4-
"ccipAdapter": "0x58489B249BfBCF5ef4B30bdE2792086e83122B6f",
4+
"ccipAdapter": "0xe3a0d9754aD3452D687cf580Ba3674c2D7D2f7AE",
55
"chainId": 1,
66
"clEmergencyOracle": "0x0000000000000000000000000000000000000000",
77
"create3Factory": "0xcc3C54B95f3f1867A43009B80ed4DD930E3cE2F7",
@@ -14,7 +14,7 @@
1414
"guardian": "0xEAF6183bAb3eFD3bF856Ac5C058431C8592394d6",
1515
"hlAdapter": "0x01dcb90Cf13b82Cde4A0BAcC655585a83Af3cCC1",
1616
"lineaAdapter": "0x8097555ffDa4176C93FEf92dF473b9763e467686",
17-
"lzAdapter": "0x8410d9BD353b420ebA8C48ff1B0518426C280FCC",
17+
"lzAdapter": "0x8FD7D8dd557817966181F584f2abB53549B4ABbe",
1818
"mantleAdapter": "0xb66FA987fa7975Cac3d12B629c9c44e459e50990",
1919
"metisAdapter": "0x6B3Dc800E7c813Db3fe8D0F30fDCaE636935dC14",
2020
"mockDestination": "0x19198689FfBE82207F023248dca175a84c52eCE1",

deployments/sonic.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"arbAdapter": "0x0000000000000000000000000000000000000000",
3+
"baseAdapter": "0x0000000000000000000000000000000000000000",
4+
"ccipAdapter": "0x1905fCdDa41241C0871A5eC3f9dcC3E8d247261D",
5+
"chainId": 146,
6+
"clEmergencyOracle": "0xECB564e91f620fBFb59d0C4A41d7f10aDb0D1934",
7+
"create3Factory": "0x0000000000000000000000000000000000000000",
8+
"crossChainController": "0x58e003a3C6f2Aeed6a2a6Bc77B504566523cb15c",
9+
"crossChainControllerImpl": "0xD34709B95740d0eB6c49Bd735f48281Dd5dc8B0e",
10+
"emergencyRegistry": "0x0000000000000000000000000000000000000000",
11+
"executor": "0x7b62461a3570c6AC8a9f8330421576e417B71EE7",
12+
"gnosisAdapter": "0x0000000000000000000000000000000000000000",
13+
"granularCCCGuardian": "0x10078c1D8E46dd1ed5D8df2C42d5ABb969b11566",
14+
"guardian": "0xEAF6183bAb3eFD3bF856Ac5C058431C8592394d6",
15+
"hlAdapter": "0x1098F187F5f444Bc1c77cD9beE99e8d460347F5F",
16+
"lineaAdapter": "0x0000000000000000000000000000000000000000",
17+
"lzAdapter": "0x7B8FaC105A7a85f02C3f31559d2ee7313BDC5d7f",
18+
"mantleAdapter": "0x0000000000000000000000000000000000000000",
19+
"metisAdapter": "0x0000000000000000000000000000000000000000",
20+
"mockDestination": "0x0000000000000000000000000000000000000000",
21+
"opAdapter": "0x0000000000000000000000000000000000000000",
22+
"owner": "0xEAF6183bAb3eFD3bF856Ac5C058431C8592394d6",
23+
"polAdapter": "0x0000000000000000000000000000000000000000",
24+
"proxyAdminCCC": "0x04aCbFA78c5F97a97995847AF2D6eaBD697552D4",
25+
"proxyFactory": "0xEB0682d148e874553008730f0686ea89db7DA412",
26+
"sameChainAdapter": "0x0000000000000000000000000000000000000000",
27+
"scrollAdapter": "0x0000000000000000000000000000000000000000",
28+
"wormholeAdapter": "0x0000000000000000000000000000000000000000",
29+
"zkevmAdapter": "0x0000000000000000000000000000000000000000",
30+
"zksyncAdapter": "0x0000000000000000000000000000000000000000"
31+
}

foundry.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ zksync="${RPC_ZK_SYNC}"
5858
zksync-testnet="${RPC_ZK_SYNC_TESTNET}"
5959
linea="${RPC_LINEA}"
6060
linea-testnet="${RPC_LINEA_SEPOLIA}"
61+
sonic="${RPC_SONIC}"
62+
sonic-testnet="${RPC_SONIC_TESTNET}"
6163
mantle="${RPC_MANTLE}"
6264
mantle-testnet="${RPC_MANTLE_TESTNET}"
6365

@@ -92,6 +94,8 @@ zksync={key="${ETHERSCAN_API_KEY_ZK_SYNC}", chain=324}
9294
zksync-testnet={key="${ETHERSCAN_API_KEY_ZK_SYNC}", chain=300, url='https://api-sepolia-era.zksync.network/api'}
9395
linea={key="${ETHERSCAN_API_KEY_LINEA}", chain=59144 }
9496
linea-testnet={key="${ETHERSCAN_API_KEY_LINEA}",chain=59141}
97+
sonic={key="${ETHERSCAN_API_KEY_SONIC}", chain=146, url='https://api.sonicscan.org/api'}
98+
sonic-testnet={key="${ETHERSCAN_API_KEY_SONIC}", chain=57054, url='https://api-testnet.sonicscan.org/api'}
9599
mantle={key="${ETHERSCAN_API_KEY_MANTLE}", chain=5000, url='https://api.mantlescan.xyz/api'}
96100
mantle-testnet={key="${ETHERSCAN_API_KEY_MANTLE}", chain=5003, url='https://explorer.testnet.mantle.xyz/api'}
97101

scripts/InitialDeployments.s.sol

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,26 @@ contract Celo is BaseInitialDeployment {
268268
}
269269
}
270270

271+
contract Sonic is BaseInitialDeployment {
272+
function TRANSPARENT_PROXY_FACTORY() internal pure override returns (address) {
273+
return 0xEB0682d148e874553008730f0686ea89db7DA412;
274+
}
275+
276+
function EXECUTOR() internal pure override returns (address) {
277+
return 0x7b62461a3570c6AC8a9f8330421576e417B71EE7;
278+
}
279+
280+
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
281+
return ChainIds.SONIC;
282+
}
283+
}
284+
271285
contract Mantle is BaseInitialDeployment {
272286
function TRANSPARENT_PROXY_FACTORY() internal pure override returns (address) {
273287
return 0xEB0682d148e874553008730f0686ea89db7DA412;
274288
}
275289

276-
function EXECUTOR() internal view override returns (address) {
290+
function EXECUTOR() internal pure override returns (address) {
277291
return 0x9390B1735def18560c509E2d0bc090E9d6BA257a; // executor lvl1
278292
}
279293

scripts/access_control/network_scripts/GranularGuardianNetworkDeploys.s.sol

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,24 @@ contract Celo is DeployGranularGuardian {
257257
}
258258
}
259259

260+
contract Sonic is DeployGranularGuardian {
261+
function DEFAULT_ADMIN() internal pure override returns (address) {
262+
return 0x7b62461a3570c6AC8a9f8330421576e417B71EE7; //GovernanceV3Sonic.EXECUTOR_LVL_1;
263+
}
264+
265+
function RETRY_GUARDIAN() internal pure override returns (address) {
266+
return 0x7837d7a167732aE41627A3B829871d9e32e2e7f2; // bgd guardian
267+
}
268+
269+
function SOLVE_EMERGENCY_GUARDIAN() internal pure override returns (address) {
270+
return 0x63C4422D6cc849549daeb600B7EcE52bD18fAd7f; // dao governance guardian
271+
}
272+
273+
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
274+
return ChainIds.SONIC;
275+
}
276+
}
277+
260278
contract Mantle is DeployGranularGuardian {
261279
function DEFAULT_ADMIN() internal pure override returns (address) {
262280
return 0x70884634D0098782592111A2A6B8d223be31CB7b; //GovernanceV3Mantle.EXECUTOR_LVL_1;

scripts/adapters/DeployCCIPAdapter.s.sol

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,29 @@ contract Celo is DeployCCIPAdapter {
228228
return ChainIds.CELO;
229229
}
230230

231+
function REMOTE_CCC_BY_NETWORK() internal view override returns (RemoteCCC[] memory) {
232+
RemoteCCC[] memory remoteCCCByNetwork = new RemoteCCC[](1);
233+
remoteCCCByNetwork[0].chainId = ChainIds.ETHEREUM;
234+
remoteCCCByNetwork[0].crossChainController = _getAddresses(ChainIds.ETHEREUM)
235+
.crossChainController;
236+
237+
return remoteCCCByNetwork;
238+
}
239+
}
240+
241+
contract Sonic is DeployCCIPAdapter {
242+
function CCIP_ROUTER() internal pure override returns (address) {
243+
return 0xB4e1Ff7882474BB93042be9AD5E1fA387949B860;
244+
}
245+
246+
function LINK_TOKEN() internal pure override returns (address) {
247+
return 0x71052BAe71C25C78E37fD12E5ff1101A71d9018F;
248+
}
249+
250+
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
251+
return ChainIds.SONIC;
252+
}
253+
231254
function REMOTE_CCC_BY_NETWORK() internal view override returns (RemoteCCC[] memory) {
232255
RemoteCCC[] memory remoteCCCByNetwork = new RemoteCCC[](1);
233256
remoteCCCByNetwork[0].chainId = ChainIds.ETHEREUM;

scripts/adapters/DeployHL.s.sol

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,23 @@ contract Celo_testnet is DeployHLAdapter {
226226
return remoteCCCByNetwork;
227227
}
228228
}
229+
230+
231+
contract Sonic is DeployHLAdapter {
232+
function HL_MAIL_BOX() internal pure override returns (address) {
233+
return 0x3a464f746D23Ab22155710f44dB16dcA53e0775E;
234+
}
235+
236+
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
237+
return ChainIds.SONIC;
238+
}
239+
240+
function REMOTE_CCC_BY_NETWORK() internal view override returns (RemoteCCC[] memory) {
241+
RemoteCCC[] memory remoteCCCByNetwork = new RemoteCCC[](1);
242+
remoteCCCByNetwork[0].chainId = ChainIds.ETHEREUM;
243+
remoteCCCByNetwork[0].crossChainController = _getAddresses(ChainIds.ETHEREUM)
244+
.crossChainController;
245+
246+
return remoteCCCByNetwork;
247+
}
248+
}

scripts/adapters/DeployLZ.s.sol

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,3 +269,22 @@ contract Celo_testnet is DeployLZAdapter {
269269
return true;
270270
}
271271
}
272+
273+
contract Sonic is DeployLZAdapter {
274+
function LZ_ENDPOINT() internal pure override returns (address) {
275+
return 0x6F475642a6e85809B1c36Fa62763669b1b48DD5B;
276+
}
277+
278+
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
279+
return ChainIds.SONIC;
280+
}
281+
282+
function REMOTE_CCC_BY_NETWORK() internal view override returns (RemoteCCC[] memory) {
283+
RemoteCCC[] memory remoteCCCByNetwork = new RemoteCCC[](1);
284+
remoteCCCByNetwork[0].chainId = ChainIds.ETHEREUM;
285+
remoteCCCByNetwork[0].crossChainController = _getAddresses(ChainIds.ETHEREUM)
286+
.crossChainController;
287+
288+
return remoteCCCByNetwork;
289+
}
290+
}

scripts/ccc/DeployCCC.s.sol

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,16 @@ contract Linea is BaseCCCNetworkDeployment {
156156
}
157157
}
158158

159+
contract Sonic is BaseCCCNetworkDeployment {
160+
function CL_EMERGENCY_ORACLE() internal pure override returns (address) {
161+
return 0xECB564e91f620fBFb59d0C4A41d7f10aDb0D1934;
162+
}
163+
164+
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
165+
return ChainIds.SONIC;
166+
}
167+
}
168+
159169
contract Mantle is BaseCCCNetworkDeployment {
160170
function TRANSACTION_NETWORK() internal pure override returns (uint256) {
161171
return ChainIds.MANTLE;

0 commit comments

Comments
 (0)