all files / contracts/test/ GenericHandlerTest.sol

100% Statements 9/9
100% Branches 0/0
100% Functions 5/5
100% Lines 9/9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54                                                                              24× 24×            
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
 
import "../interfaces/iRouterCrossTalk.sol";
 
contract GenericHandlerTest {
    event deposit(
        uint8 chainID,
        bytes _data,
        uint256 _gas,
        uint256 _gasPrice,
        address _feeToken
    );
 
    function fetch_chainID() external pure returns (uint8) {
        return 111;
    }
 
    function genericDeposit(
        uint8 _destChainID,
        bytes memory _data,
        uint256 _gas,
        uint256 _gasPrice,
        address _feeToken
    ) external returns (uint64) {
        emit deposit(_destChainID, _data, _gas, _gasPrice, _feeToken);
        return 1;
    }
 
    function execute(
        address _crossTalkAddr,
        uint8 srcChainID,
        address srcAddress,
        bytes memory _data
    ) external {
        iRouterCrossTalk CrossTalk = iRouterCrossTalk(_crossTalkAddr);
        CrossTalk.routerSync(srcChainID, srcAddress, _data);
    }
 
    function linkContract(
        address _interface,
        uint8 _chainID,
        address _contract
    ) external {
        iRouterCrossTalk CrossTalk = iRouterCrossTalk(_interface);
        CrossTalk.Link(_chainID, _contract);
    }
 
    function unlinkContract(address _interface, uint8 _chainID) external {
        iRouterCrossTalk CrossTalk = iRouterCrossTalk(_interface);
        CrossTalk.Unlink(_chainID);
    }
}