Files
smom-dbis-138/test/emoney/mocks/MockLightClient.sol
defiQUG 1fb7266469 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.
2025-12-12 14:57:48 -08:00

49 lines
1.4 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/**
* @title MockLightClient
* @notice Mock light client for testing BridgeVault138 unlock functionality
* @dev Always returns true for proof verification in tests
*/
contract MockLightClient {
mapping(bytes32 => mapping(bytes32 => bool)) private _verifiedProofs;
bool public alwaysVerify = true;
/**
* @notice Sets whether proofs should always verify
* @param _alwaysVerify If true, all proofs verify; if false, only pre-registered proofs verify
*/
function setAlwaysVerify(bool _alwaysVerify) external {
alwaysVerify = _alwaysVerify;
}
/**
* @notice Registers a proof as verified for testing
* @param sourceChain Source chain identifier
* @param sourceTx Source transaction hash
*/
function registerProof(bytes32 sourceChain, bytes32 sourceTx) external {
_verifiedProofs[sourceChain][sourceTx] = true;
}
/**
* @notice Verifies a proof
* @param sourceChain Source chain identifier
* @param sourceTx Source transaction hash
* @param proof Proof data (unused in mock)
* @return true if proof is verified, false otherwise
*/
function verifyProof(
bytes32 sourceChain,
bytes32 sourceTx,
bytes calldata proof
) external view returns (bool) {
if (alwaysVerify) {
return true;
}
return _verifiedProofs[sourceChain][sourceTx];
}
}