Skip to content

Instantly share code, notes, and snippets.

@sherlock-shi-x
Created February 20, 2018 11:02
Show Gist options
  • Save sherlock-shi-x/bb1785ce4300b1848f08c19d7261543d to your computer and use it in GitHub Desktop.
Save sherlock-shi-x/bb1785ce4300b1848f08c19d7261543d to your computer and use it in GitHub Desktop.
pragma solidity ^0.4.18;
contract BotBob {
address owner;
mapping (address => bool) isAdmins;
IMainContract private iMainContract;
function BotBob() public {
owner = msg.sender;
isAdmins[owner] = true;
iMainContract = IMainContract(0xd62ccc23c5e1db41c017913303bdb09e570284f6);
}
modifier onlyAdmins() {
require(isAdmins[msg.sender]);
_;
}
function queryMainContract() public view returns (address _addr) {
return iMainContract;
}
function queryAdmin(address _addr) public view returns(bool v) {
return isAdmins[_addr];
}
function addAdmins(address _addr) public {
require(isAdmins[msg.sender]);
isAdmins[_addr] = true;
}
function setMainContractAddr(address _addr) onlyAdmins() public {
iMainContract = IMainContract(_addr);
}
function buy(uint256 _itemId) payable public {
iMainContract.buy(_itemId);
}
}
interface IMainContract {
function buy(uint256 _itemId) payable public;
function priceOf (uint256 _itemId) public view returns (uint256 _price);
function ownerOf (uint256 _itemId) public view returns (address _owner);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment