- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
26 lines
1018 B
Solidity
26 lines
1018 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.19;
|
|
|
|
import "forge-std/Script.sol";
|
|
import {TwoWayTokenBridgeL1} from "../contracts/bridge/TwoWayTokenBridgeL1.sol";
|
|
import {TwoWayTokenBridgeL2} from "../contracts/bridge/TwoWayTokenBridgeL2.sol";
|
|
|
|
contract DeployTwoWayBridge is Script {
|
|
function run() external {
|
|
uint256 pk = vm.envUint("PRIVATE_KEY");
|
|
address router = vm.envAddress("CCIP_ROUTER");
|
|
address feeToken = vm.envAddress("CCIP_FEE_TOKEN"); // LINK
|
|
address l1Token = vm.envAddress("BRIDGE_L1_TOKEN"); // canonical token on L1
|
|
address l2Token = vm.envAddress("BRIDGE_L2_TOKEN"); // mintable token on L2
|
|
|
|
vm.startBroadcast(pk);
|
|
TwoWayTokenBridgeL1 l1 = new TwoWayTokenBridgeL1(router, l1Token, feeToken);
|
|
TwoWayTokenBridgeL2 l2 = new TwoWayTokenBridgeL2(router, l2Token, feeToken);
|
|
console.log("TwoWayTokenBridgeL1:", address(l1));
|
|
console.log("TwoWayTokenBridgeL2:", address(l2));
|
|
vm.stopBroadcast();
|
|
}
|
|
}
|
|
|
|
|