pragma solidity ^0.4.25; interface IremoteContracts { function getA() external returns (address); function setA(address _contract) external; } contract contractE { address public _contract_A; function setA(address _contract) public { _contract_A = _contract; } function getA() public view returns (address){ return (_contract_A) ; } } contract contractA { IremoteContracts _remoteContracts; function setRemoteContracts(address _t) { _remoteContracts = IremoteContracts(_t); } modifier onlyMiningContract() { require(msg.sender == _remoteContracts.getA()); _; } function get() public view returns (address) { return _remoteContracts.getA(); } function set() public { _remoteContracts.setA(this); } }
0.4.25