Add Oracle Aggregator and CCIP Integration

- 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.
This commit is contained in:
defiQUG
2025-12-12 14:57:48 -08:00
parent a1466e4005
commit 1fb7266469
1720 changed files with 241279 additions and 16 deletions

View File

@@ -38,7 +38,7 @@ contract CCIPIntegrationTest is Test {
bytes memory messageData = abi.encode(uint256(25000000000), uint256(1), uint256(block.timestamp));
// Send oracle update
// Send oracle update (must be called by aggregator, which is address(this) in setUp)
sender.sendOracleUpdate(TARGET_CHAIN_SELECTOR, 25000000000, 1, block.timestamp);
}
@@ -94,6 +94,7 @@ contract CCIPIntegrationTest is Test {
// Drain balance to cause insufficient fee
MockLinkToken(linkToken).transfer(address(0xdead), 1000e18);
// Must be called by aggregator (address(this) in setUp)
vm.expectRevert();
sender.sendOracleUpdate(TARGET_CHAIN_SELECTOR, 25000000000, 1, block.timestamp);
}
@@ -101,7 +102,7 @@ contract CCIPIntegrationTest is Test {
// Mock contracts for testing
contract MockRouter is IRouterClient {
function ccipSend(uint64, EVM2AnyMessage memory) external pure returns (bytes32, uint256) {
function ccipSend(uint64, EVM2AnyMessage memory) external payable returns (bytes32, uint256) {
return (keccak256("mock"), 0.01e18);
}