Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pragma solidity ^0.4.23;
- contract Main{
- IDataProvider dataProvider;
- address public owner;
- constructor(IDataProvider _dataProvider) public {
- owner = msg.sender;
- dataProvider = _dataProvider;
- }
- modifier onlyOwner() {
- require(msg.sender == owner);
- _;
- }
- function getData() public view returns(uint) {
- return dataProvider.getData();
- }
- function setDataProvider(IDataProvider _dataProvider) public onlyOwner {
- dataProvider = _dataProvider;
- }
- }
- contract IDataProvider {
- function getData() public pure returns(uint);
- }
- contract DataProvider1 is IDataProvider {
- function getData() public pure returns (uint) {
- return 1;
- }
- }
- contract DataProvider2 is IDataProvider{
- function getData() public pure returns (uint) {
- return 2;
- }
- }
Add Comment
Please, Sign In to add comment