Skip to content

Commit 0774e60

Browse files
zguesmigithub-actions[bot]gfournierPro
authored
feat: Deploy on Arbitrum mainnet (#89)
Co-authored-by: GitHub Actions Bot <github-actions[bot]@users.noreply.github.com> Co-authored-by: gfournieriExec <[email protected]>
1 parent 67f1f54 commit 0774e60

File tree

8 files changed

+970
-16
lines changed

8 files changed

+970
-16
lines changed

broadcast/IexecLayerZeroBridge.s.sol/1/run-latest.json

Lines changed: 257 additions & 0 deletions
Large diffs are not rendered by default.

broadcast/IexecLayerZeroBridge.s.sol/42161/run-latest.json

Lines changed: 261 additions & 0 deletions
Large diffs are not rendered by default.

broadcast/RLCCrosschainToken.s.sol/42161/run-latest.json

Lines changed: 217 additions & 0 deletions
Large diffs are not rendered by default.

broadcast/RLCLiquidityUnifier.s.sol/1/run-latest.json

Lines changed: 213 additions & 0 deletions
Large diffs are not rendered by default.

config/config.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@
2626
"ethereum": {
2727
"approvalRequired": true,
2828
"rlcAddress": "0x607F4C5BB672230e8672085532f7e901544a7375",
29-
"rlcLiquidityUnifierAddress": "0x0000000000000000000000000000000000000000",
29+
"rlcLiquidityUnifierAddress": "0x329F9f984B1364d4E01c6F9f63a1326b7E420b38",
3030
"rlcLiquidityUnifierCreatexSalt": "0x0000000000000000000000000000000000000000000000000000000000000000",
31-
"iexecLayerZeroBridgeAddress": "0x0000000000000000000000000000000000000000",
31+
"iexecLayerZeroBridgeAddress": "0xA8Bc0B19b955c8AC38C8Cbc9383866b834Cd33d8",
3232
"iexecLayerZeroBridgeCreatexSalt": "0x0000000000000000000000000000000000000000000000000000000000000000",
3333
"lzEndpointAddress": "0x1a44076050125825900e736c501f859c50fE728c",
3434
"lzChainId": 30101
3535
},
3636
"arbitrum": {
3737
"approvalRequired": false,
38-
"rlcCrosschainTokenAddress": "0x0000000000000000000000000000000000000000",
39-
"rlcCrosschainTokenCreatexSalt": "0x0000000000000000000000000000000000000000000000000000000000000000",
40-
"iexecLayerZeroBridgeAddress": "0x0000000000000000000000000000000000000000",
41-
"iexecLayerZeroBridgeCreatexSalt": "0x0000000000000000000000000000000000000000000000000000000000000000",
38+
"rlcCrosschainTokenAddress": "0xe649e6a1F2afc63ca268C2363691ceCAF75CF47C",
39+
"rlcCrosschainTokenCreatexSalt": "0x0000000000000000000000000000000000000000000000000000000000000001",
40+
"iexecLayerZeroBridgeAddress": "0x7000e96D0Bfc74cf5259aEDaE6065B39B3888699",
41+
"iexecLayerZeroBridgeCreatexSalt": "0x0000000000000000000000000000000000000000000000000000000000000001",
4242
"lzEndpointAddress": "0x1a44076050125825900e736c501f859c50fE728c",
4343
"lzChainId": 30110
4444
}

script/SendFromArbitrumToEthereum.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import {MessagingFee} from "@layerzerolabs/oapp-evm/contracts/oapp/OApp.sol";
1414
* This script demonstrates cross-chain token transfers using LayerZero bridge.
1515
*/
1616
// TODO: fusion SendTokensFromArbitrumToEthereum and SendTokensFromEthereumToArbitrum into a single script with dynamic chain handling
17-
contract SendTokensFromArbitrumToEthereum is Script {
18-
uint256 private constant TRANSFER_AMOUNT = 10 * 10 ** 9; // 10 RLC tokens with 9 decimals
17+
contract SendFromArbitrumToEthereum is Script {
18+
uint256 private constant TRANSFER_AMOUNT = 1 * 10 ** 9; // 1 RLC token with 9 decimals
1919

2020
/**
2121
* @dev Converts an address to bytes32.

script/SendFromEthereumToArbitrum.s.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import {MessagingFee} from "@layerzerolabs/oapp-evm/contracts/oapp/OApp.sol";
1414
* This script demonstrates cross-chain token transfers using LayerZero bridge.
1515
*/
1616
// TODO: fusion SendTokensFromArbitrumToEthereum and SendTokensFromEthereumToArbitrum into a single script with dynamic chain handling
17-
contract SendTokensFromEthereumToArbitrum is Script {
18-
uint256 private constant TRANSFER_AMOUNT = 10 * 10 ** 9; // 10 RLC tokens with 9 decimals
17+
contract SendFromEthereumToArbitrum is Script {
18+
uint256 private constant TRANSFER_AMOUNT = 1 * 10 ** 9; // 1 RLC token with 9 decimals
1919
/**
2020
* @dev Converts an address to bytes32.
2121
* @param _addr The address to convert.

tools/verification.mk

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,20 @@ ARBITRUM_SEPOLIA_CHAIN_ID := 421614
1414
# ========================================================================
1515

1616
# Verify ERC1967 proxy contracts
17-
# Parameters: CONTRACT_NAME, NETWORK, CONFIG_KEY, CHAIN_ID, DISPLAY_NAME
17+
# Parameters: CONTRACT_NAME, NETWORK, CONFIG_KEY, CHAIN_ID, DISPLAY_NAME, RPC_URL
1818
define verify-proxy
1919
@echo "Verifying $(1) Proxy on $(5)..."
20+
@proxy_address=$$(forge script script/GetConfigInfo.s.sol --sig "getConfigField(string)" ".chains.$(2).$(3)" 2>/dev/null | grep "0x" | tail -n1); \
21+
impl_address=$$(forge script script/GetConfigInfo.s.sol --sig "getImplementationAddress(string)" ".chains.$(2).$(3)" --rpc-url $(6) 2>/dev/null | grep "0x" | tail -n1); \
22+
echo "Proxy address: $$proxy_address"; \
23+
echo "Implementation address: $$impl_address"; \
24+
constructor_args=$$(cast abi-encode "constructor(address,bytes)" $$impl_address "0x"); \
2025
forge verify-contract \
2126
--chain-id $(4) \
2227
--watch \
28+
--constructor-args $$constructor_args \
2329
--etherscan-api-key $(ETHERSCAN_API_KEY) \
24-
$$(forge script script/GetConfigInfo.s.sol --sig "getConfigField(string)" ".chains.$(2).$(3)" 2>/dev/null | grep "0x" | tail -n1) \
30+
$$proxy_address \
2531
lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy
2632
@echo "Proxy verification completed for $(1) on $(5)"
2733
endef
@@ -53,10 +59,10 @@ endef
5359
# Parameters: NETWORK, CHAIN_ID, DISPLAY_NAME
5460
define verify-ethereum-type-proxies
5561
verify-rlc-liquidity-unifier-proxy-$(1):
56-
$$(call verify-proxy,RLCLiquidityUnifier,$(1),rlcLiquidityUnifierAddress,$(2),$(3))
62+
$$(call verify-proxy,RLCLiquidityUnifier,$(1),rlcLiquidityUnifierAddress,$(2),$(3),$$(RPC_URL))
5763

5864
verify-layerzero-bridge-proxy-$(1):
59-
$$(call verify-proxy,IexecLayerZeroBridge,$(1),iexecLayerZeroBridgeAddress,$(2),$(3))
65+
$$(call verify-proxy,IexecLayerZeroBridge,$(1),iexecLayerZeroBridgeAddress,$(2),$(3),$$(RPC_URL))
6066
endef
6167

6268
define verify-ethereum-type-implementations
@@ -87,10 +93,10 @@ endef
8793
# Parameters: NETWORK, CHAIN_ID, DISPLAY_NAME
8894
define verify-arbitrum-type-proxies
8995
verify-rlc-crosschain-token-proxy-$(1):
90-
$$(call verify-proxy,RLCCrosschainToken,$(1),rlcCrosschainTokenAddress,$(2),$(3))
96+
$$(call verify-proxy,RLCCrosschainToken,$(1),rlcCrosschainTokenAddress,$(2),$(3),$$(RPC_URL))
9197

9298
verify-layerzero-bridge-proxy-$(1):
93-
$$(call verify-proxy,IexecLayerZeroBridge,$(1),iexecLayerZeroBridgeAddress,$(2),$(3))
99+
$$(call verify-proxy,IexecLayerZeroBridge,$(1),iexecLayerZeroBridgeAddress,$(2),$(3),$$(RPC_URL))
94100
endef
95101

96102
define verify-arbitrum-type-implementations

0 commit comments

Comments
 (0)