Address io18ndhcj88pwz5a5h68yhzz6r4q8vykwhugq45ns

Contract Overview

Balance:
0 IOTX

IOTX Value:
$ 0

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
aa0fe7257ddde21ffb7c3e18ef085667e62cd5071716d4f6c4c8bb69cd191aab 22781129 2023-03-23 19:14:10 +0000 UTC 2 days ago io1yp7ullct7cz73ykhkqmxzlllr2dh5vpc9fqrac  IN    Contract: ShadowToken 0 IOTX 0.041245
91e274fff5af8c1100b225b9e90e7d10561265429722ac1d9aaeb0509733369e 22690899 2023-03-18 13:54:55 +0000 UTC 7 days ago io1nzgkll5ly0jjqldu926euuc25cnsehzkjvhf2d  IN    Contract: ShadowToken 0 IOTX 0.041245
07acdeca3a894b384cd694306cc77ace545df22e092c265c4d7ece245c577c37 22564367 2023-03-11 05:47:00 +0000 UTC 15 days ago io1yh093snw9dhge9369fd7xdqpg3t3hd3l68uvhs  IN    Contract: ShadowToken 0 IOTX 0.041245
d6219adee3d395a5df0ad052b85af5ecfffa036848b9dfe2990140b695f85da0 22551780 2023-03-10 12:18:05 +0000 UTC 15 days ago io1pjt6lxj7c8x756ruvla4u333fhpxxxqvssp0wm  IN    Contract: ShadowToken 0 IOTX 0.041245
01b32051f95438d233dee5e544ad6dfcbb591dab1a56e1ceabe5beab7a9cc9f0 22545107 2023-03-10 02:36:05 +0000 UTC 16 days ago io18pz9jlptwh59zrvgj5tn4hwz3hvet7j98fryt9  IN    Contract: ShadowToken 0 IOTX 0.041245
ee13d822169f96c722e7539a9de07f3d2bf2af576de53950868d29d200dc1716 22524033 2023-03-08 21:19:55 +0000 UTC 17 days ago io10cpda5qtref90lndf7d9kkxvm2pe25rctf2qh5  IN    Contract: ShadowToken 0 IOTX 0.041245
416d71aed1c72f134d2105aba304ab74c2fe50e0c5cdefb1fcd1a430bf160ff8 22522977 2023-03-08 19:51:55 +0000 UTC 17 days ago io10cpda5qtref90lndf7d9kkxvm2pe25rctf2qh5  IN    Contract: ShadowToken 0 IOTX 0.041245
e356ae987236b0449cffbcea4cd1df96befdf6df6293ee05f950d73c190e0004 22460011 2023-03-05 04:24:25 +0000 UTC 21 days ago io18rgsdcu4f0j84ws29m8ztjyv8es3qq653n0q2w  IN    Contract: ShadowToken 0 IOTX 0.021345
e948ee390c907dea07adb4e7dec9e3ff691ff9c0c905b9966b862814ccd9334a 22460005 2023-03-05 04:23:55 +0000 UTC 21 days ago io18rgsdcu4f0j84ws29m8ztjyv8es3qq653n0q2w  IN    Contract: ShadowToken 0 IOTX 0.041245
a44328685ef20a3f212612efa8089c064cdd4b214ea963e6a4b7fa1e762aefd6 22382441 2023-02-28 16:09:40 +0000 UTC 25 days ago io1dy44ff2pae2epa23uqptp9nm0xql7dh4aq5c65  IN    Contract: ShadowToken 0 IOTX 0.041245
b7451ff83b4a28c470db834382d924054fa7a31a4d96521b9254c6cd5d34e0f7 22369191 2023-02-27 21:36:30 +0000 UTC 26 days ago io1ngsgq80d30lvlkun6wfzs2vlheqkrvpd6nvual  IN    Contract: ShadowToken 0 IOTX 0.041245
154a73d376e7ee4518c1304eb20725d9e6fe05d388438d3c64183105e27ea546 22350429 2023-02-26 19:14:10 +0000 UTC 27 days ago io1xw0jld4sk5tzv3u4yt2s0ar7qrshxr6lctq0qg  IN    Contract: ShadowToken 0 IOTX 0.019345
a9ef9accddd48957ca02e25b555a519b0e2310e29a3a05dd2387dff73b57d786 22350392 2023-02-26 19:11:05 +0000 UTC 27 days ago io1xw0jld4sk5tzv3u4yt2s0ar7qrshxr6lctq0qg  IN    Contract: ShadowToken 0 IOTX 0.019345
86bab6aa1f5ca305307de5df8f8dbfdf2315a1326352d902df3470689cd33bd5 22340717 2023-02-26 05:44:45 +0000 UTC 28 days ago io1dy44ff2pae2epa23uqptp9nm0xql7dh4aq5c65  IN    Contract: ShadowToken 0 IOTX 0.041245
e50a44b0790f2085abcab676a161ced7daaf8b797edf91e347cc7392e0a5851e 22318671 2023-02-24 23:07:20 +0000 UTC 29 days ago io1rf09t6nc4h6kqeutpw2klxf865y30x7g09yqqk  IN    Contract: ShadowToken 0 IOTX 0.041245
e3c48d3ea15cb434f00bece9198b0ecebf3df0f93e7a2ca04bd690abea15c517 22266963 2023-02-21 23:17:50 +0000 UTC one month ago io10d08selez6zsp8tmfhvllf36kwaa6g94suxg85  IN    Contract: ShadowToken 0 IOTX 0.041245
0aa668d8fd84bd2104954cf916d6c770b9ae316b23a388633aca18c48f7db050 22266326 2023-02-21 22:24:45 +0000 UTC one month ago io10d08selez6zsp8tmfhvllf36kwaa6g94suxg85  IN    Contract: ShadowToken 0 IOTX 0.046809
7a4b4c62853e4d707efe74dec3b3cdaf7e87b921f697447cd54b19b4eb363843 22261289 2023-02-21 15:24:55 +0000 UTC one month ago io1rn59p6lfgre5s9rda58jv7hwq9ft20ganyujlx  IN    Contract: ShadowToken 0 IOTX 0.024909
bd96b0a2da53af6ad132a4481b4be5bea6b6802bd73be74247ba8352d3553612 22230654 2023-02-19 20:51:45 +0000 UTC one month ago io1ngfuerdwfyyddawkvmtqyyluwkl6elx7d9jcsp  IN    Contract: ShadowToken 0 IOTX 0.021345
3d02ffd7f2bf8e2f2c727e7929a4879f3c6ff04882ada73e8ed9da50866ac413 22230653 2023-02-19 20:51:40 +0000 UTC one month ago io1ngfuerdwfyyddawkvmtqyyluwkl6elx7d9jcsp  IN    Contract: ShadowToken 0 IOTX 0.041245
7d8fd32366ee9f1c40c8f555155ba4b04a5dab33c0d8dda52a353b53fda5e514 22210895 2023-02-18 17:25:10 +0000 UTC one month ago io1jyjmy3t50xty2s9q24lrkqgxsychkc674psw0y  IN    Contract: ShadowToken 0 IOTX 0.019364
8cfd17ba4bf72492a894dbfc9e8403baeaaefc6541cf6d8c5f096167e8107eaa 22208404 2023-02-18 13:57:35 +0000 UTC one month ago io1skczngq77r0kmjjmzl0dwtfvaewc8zzg8tjgcj  IN    Contract: ShadowToken 0 IOTX 0.041245
7e5bd0a06d020e84720cd34e14d3f9ca199beb9bea0069e308c1b955c79b0728 22206885 2023-02-18 11:51:00 +0000 UTC one month ago io1kqe4casrey5ukg6d6q76lwseeyrs9w4fjrykl3  IN    Contract: ShadowToken 0 IOTX 0.041245
567c7c2f53a9191e3aeb13e98fc68e0904a05c013a3a814724b53fb8988ae9f8 22206062 2023-02-18 10:42:25 +0000 UTC one month ago io1ekefqgmv00j7wj40hkj9m054zlyc9ckf87p9k7  IN    Contract: ShadowToken 0 IOTX 0.041245
eb20d42dc8e455af9ff002b38a3395c5a10b2aa8291de9fd1571179262979129 22206053 2023-02-18 10:41:40 +0000 UTC one month ago io1dvfjg5xxnzpydnmq2q0n0n0ham2arytkkvrr2h  IN    Contract: ShadowToken 0 IOTX 0.042009
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShadowToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

// File: contracts/ownership/Ownable.sol

pragma solidity <6.0 >=0.4.0;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}
// File: contracts/lifecycle/Pausable.sol

pragma solidity <0.6 >=0.4.24;


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

// File: contracts/math/SafeMath.sol

pragma solidity <0.6 >=0.4.21;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */

  /*@CTK SafeMath_mul
    @tag spec
    @post __reverted == __has_assertion_failure
    @post __has_assertion_failure == __has_overflow
    @post __reverted == false -> c == a * b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  /*@CTK SafeMath_div
    @tag spec
    @pre b != 0
    @post __reverted == __has_assertion_failure
    @post __has_overflow == true -> __has_assertion_failure == true
    @post __reverted == false -> __return == a / b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  /*@CTK SafeMath_sub
    @tag spec
    @post __reverted == __has_assertion_failure
    @post __has_overflow == true -> __has_assertion_failure == true
    @post __reverted == false -> __return == a - b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  /*@CTK SafeMath_add
    @tag spec
    @post __reverted == __has_assertion_failure
    @post __has_assertion_failure == __has_overflow
    @post __reverted == false -> c == a + b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: contracts/token/ERC20Basic.sol

pragma solidity <0.6 >=0.4.21;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}
// File: contracts/token/ERC20.sol

pragma solidity <0.6 >=0.4.21;



/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}
// File: contracts/token/BasicToken.sol

pragma solidity <0.6 >=0.4.21;




/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  /*@CTK transfer_success
    @pre _to != address(0)
    @pre balances[msg.sender] >= _value
    @pre __reverted == false
    @post __reverted == false
    @post __return == true
   */
  /*@CTK transfer_same_address
    @tag no_overflow
    @pre _to == msg.sender
    @post this == __post
   */
  /*@CTK transfer_conditions
    @tag assume_completion
    @pre _to != msg.sender
    @post __post.balances[_to] == balances[_to] + _value
    @post __post.balances[msg.sender] == balances[msg.sender] - _value
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  /*@CTK balanceOf
    @post __reverted == false
    @post __return == balances[_owner]
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function balanceOf(address _owner) public view returns (uint256) {
    return balances[_owner];
  }

}

// File: contracts/token/StandardToken.sol

pragma solidity <0.6 >=0.4.21;




/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  /*@CTK transferFrom
    @tag assume_completion
    @pre _from != _to
    @post __return == true
    @post __post.balances[_to] == balances[_to] + _value
    @post __post.balances[_from] == balances[_from] - _value
    @post __has_overflow == false
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  /*@CTK approve_success
    @post _value == 0 -> __reverted == false
    @post allowed[msg.sender][_spender] == 0 -> __reverted == false
   */
  /*@CTK approve
    @tag assume_completion
    @post __post.allowed[msg.sender][_spender] == _value
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  /*@CTK CtkIncreaseApprovalEffect
    @tag assume_completion
    @post __post.allowed[msg.sender][_spender] == allowed[msg.sender][_spender] + _addedValue
    @post __has_overflow == false
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  /*@CTK CtkDecreaseApprovalEffect_1
    @pre allowed[msg.sender][_spender] >= _subtractedValue
    @tag assume_completion
    @post __post.allowed[msg.sender][_spender] == allowed[msg.sender][_spender] - _subtractedValue
    @post __has_overflow == false
   */
   /*@CTK CtkDecreaseApprovalEffect_2
    @pre allowed[msg.sender][_spender] < _subtractedValue
    @tag assume_completion
    @post __post.allowed[msg.sender][_spender] == 0
    @post __has_overflow == false
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

// File: contracts/token/MintableToken.sol

pragma solidity <0.6 >=0.4.24;

interface MintableToken {
    function mint(address, uint) external returns (bool);
    function burn(uint) external returns (bool);
}

// File: contracts/token/ShadowToken.sol

pragma solidity <0.6 >=0.4.24;




contract ShadowToken is StandardToken, MintableToken, Pausable {
    event Minted(address indexed to, uint256 amount);
    event Burned(address indexed from, uint256 amount);
    event MinterAdded(address indexed minter);
    event MinterRemoved(address indexed minter);

    modifier onlyMinter() {
        require(minter == msg.sender, "not the minter");
        _;
    }

    address public coToken;
    address public minter;
    string public name;
    string public symbol;
    uint8 public decimals;

    constructor(address _minter, address _coToken, string memory _name, string memory _symbol, uint8 _decimals) public {
        minter = _minter;
        coToken = _coToken;
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        emit MinterAdded(_minter);
    }

    function mint(address _to, uint256 _amount) public onlyMinter whenNotPaused returns (bool) {
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Minted(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    // user can also burn by sending token to address(0), but this function will emit Burned event
    function burn(uint256 _amount) public returns (bool) {
        require(balances[msg.sender] >= _amount);
        totalSupply_ = totalSupply_.sub(_amount);
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        emit Burned(msg.sender, _amount);
        emit Transfer(msg.sender, address(0), _amount);
        return true;
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"address","name":"_coToken","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coToken","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

Contract Creation Code

608060405234801561001057600080fd5b506004361061012c5760003560e01c806366188463116100ad57806395d89b411161007157806395d89b4114610345578063a9059cbb1461034d578063d73dd62314610379578063dd62ed3e146103a5578063f2fde38b146103d35761012c565b806366188463146102db57806370a08231146103075780637f9864f71461032d5780638456cb59146103355780638da5cb5b1461033d5761012c565b8063313ce567116100f4578063313ce567146102625780633f4ba83a1461028057806340c10f191461028a57806342966c68146102b65780635c975abb146102d35761012c565b806306fdde031461013157806307546172146101ae578063095ea7b3146101d257806318160ddd1461021257806323b872dd1461022c575b600080fd5b6101396103f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b6610487565b604080516001600160a01b039092168252519081900360200190f35b6101fe600480360360408110156101e857600080fd5b506001600160a01b038135169060200135610496565b604080519115158252519081900360200190f35b61021a6104fc565b60408051918252519081900360200190f35b6101fe6004803603606081101561024257600080fd5b506001600160a01b03813581169160208101359091169060400135610502565b61026a610665565b6040805160ff9092168252519081900360200190f35b61028861066e565b005b6101fe600480360360408110156102a057600080fd5b506001600160a01b0381351690602001356106d3565b6101fe600480360360208110156102cc57600080fd5b5035610804565b6101fe6108cb565b6101fe600480360360408110156102f157600080fd5b506001600160a01b0381351690602001356108db565b61021a6004803603602081101561031d57600080fd5b50356001600160a01b03166109cb565b6101b66109e6565b6102886109f5565b6101b6610a61565b610139610a70565b6101fe6004803603604081101561036357600080fd5b506001600160a01b038135169060200135610acb565b6101fe6004803603604081101561038f57600080fd5b506001600160a01b038135169060200135610b98565b61021a600480360360408110156103bb57600080fd5b506001600160a01b0381358116916020013516610c31565b610288600480360360208110156103e957600080fd5b50356001600160a01b0316610c5c565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561047f5780601f106104545761010080835404028352916020019161047f565b820191906000526020600020905b81548152906001019060200180831161046257829003601f168201915b505050505081565b6005546001600160a01b031681565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b60006001600160a01b03831661051757600080fd5b6001600160a01b03841660009081526020819052604090205482111561053c57600080fd5b6001600160a01b038416600090815260026020908152604080832033845290915290205482111561056c57600080fd5b6001600160a01b038416600090815260208190526040902054610595908363ffffffff610ce216565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546105ca908363ffffffff610cf416565b6001600160a01b0380851660009081526020818152604080832094909455918716815260028252828120338252909152205461060c908363ffffffff610ce216565b6001600160a01b0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020610d08833981519152929181900390910190a35060019392505050565b60085460ff1681565b6003546001600160a01b0316331461068557600080fd5b600354600160a01b900460ff1661069b57600080fd5b6003805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6005546000906001600160a01b03163314610726576040805162461bcd60e51b815260206004820152600e60248201526d3737ba103a34329036b4b73a32b960911b604482015290519081900360640190fd5b600354600160a01b900460ff161561073d57600080fd5b600154610750908363ffffffff610cf416565b6001556001600160a01b03831660009081526020819052604090205461077c908363ffffffff610cf416565b6001600160a01b03841660008181526020818152604091829020939093558051858152905191927f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe92918290030190a26040805183815290516001600160a01b03851691600091600080516020610d088339815191529181900360200190a350600192915050565b3360009081526020819052604081205482111561082057600080fd5b600154610833908363ffffffff610ce216565b60015533600090815260208190526040902054610856908363ffffffff610ce216565b3360008181526020818152604091829020939093558051858152905191927f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df792918290030190a26040805183815290516000913391600080516020610d088339815191529181900360200190a3506001919050565b600354600160a01b900460ff1681565b3360009081526002602090815260408083206001600160a01b038616845290915281205480831115610930573360009081526002602090815260408083206001600160a01b0388168452909152812055610965565b610940818463ffffffff610ce216565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b031660009081526020819052604090205490565b6004546001600160a01b031681565b6003546001600160a01b03163314610a0c57600080fd5b600354600160a01b900460ff1615610a2357600080fd5b6003805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561047f5780601f106104545761010080835404028352916020019161047f565b60006001600160a01b038316610ae057600080fd5b33600090815260208190526040902054821115610afc57600080fd5b33600090815260208190526040902054610b1c908363ffffffff610ce216565b33600090815260208190526040808220929092556001600160a01b03851681522054610b4e908363ffffffff610cf416565b6001600160a01b03841660008181526020818152604091829020939093558051858152905191923392600080516020610d088339815191529281900390910190a350600192915050565b3360009081526002602090815260408083206001600160a01b0386168452909152812054610bcc908363ffffffff610cf416565b3360008181526002602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546001600160a01b03163314610c7357600080fd5b6001600160a01b038116610c8657600080fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610cee57fe5b50900390565b81810182811015610d0157fe5b9291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820bb2f458c863eb152957b6c2b4100e86ff08fbba101d9e3389f8735b6109d479364736f6c63430005110032

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.