Address io1qde5ded9wg540tpv4dkwhrr5lsvva2ga3hf6ry

Contract Overview

Balance:
0 IOTX

IOTX Value:
$ 0

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
bca933f7a2cab9674ad2a41f6a9c9daf3778a3dded278bd7792aece285b6e5a7 28906110 2024-03-12 15:41:40 +0000 UTC 2 months ago io1g6us8elmeyxlyamrxaxncwvl6mnq9c7q6luhw4  IN    Contract: ShadowToken 0 IOTX 0.206225
2729e50951528e03bd258cb452621c9fe2466648141af0705382f4be800c7e55 28819535 2024-03-07 15:21:45 +0000 UTC 2 months ago io170qvy5ys4c293lq499r64dtj209curc03qfrtw  IN    Contract: ShadowToken 0 IOTX 0.206266
439df514d37251a72512c89ac37a07494d1b236b712b61dd9d27b929e4543077 28571623 2024-02-22 06:49:30 +0000 UTC 2 months ago io136kh6t5wn7ktvncxu4440tpakj3e6c2jtg3ngf  IN    Contract: ShadowToken 0 IOTX 0.206225
94a3aa73ec59929a985d5d222190ab5be1b591ab04bd60883e5883071f9062c1 27603569 2023-12-28 03:27:35 +0000 UTC 4 months ago io1n7d7rtru57h0cgyt3zf7m2yxfq7zwd4mm5vgu8  IN    Contract: ShadowToken 0 IOTX 0.206225
84b183b228e56e38cb23c5880071e3485a5828935492a98aadf05659f0b262c9 27603540 2023-12-28 03:25:10 +0000 UTC 4 months ago io149td63ydlkrl90py2w4r43djathzua728chywt  IN    Contract: ShadowToken 0 IOTX 0.124545
ede93c7fdafa7eef4c3bfef68974f144a326bc2b3a690453b25c1d1894322146 27553664 2023-12-25 05:42:25 +0000 UTC 4 months ago io19arnckgjqkr0jx8zrznzladlafka29x0j47pzv  IN    Contract: ShadowToken 0 IOTX 0.206225
e2e67bf4ba266a21dcc55856d7df185a4b6cb595dd306c94731f1f455ed0092f 27534967 2023-12-24 03:42:45 +0000 UTC 4 months ago io1xhj9xku0kj8ts92zjyzdwjehjtgwwvxme3f5mt  IN    Contract: ShadowToken 0 IOTX 0.206225
b7d919b4d11093ba74f2830d560324e07fd03d547faa4b7a218f0fe545bb65ef 27486665 2023-12-21 08:28:55 +0000 UTC 4 months ago io1hx5ns7e7zm4773sk2ux5cx8m88gt7vl6xymdns  IN    Contract: ShadowToken 0 IOTX 0.206637
9783d0a0a1a024dd7d7f34ac4e05cfd59a88a81202366679d076f96a9c05bb25 27476204 2023-12-20 17:54:40 +0000 UTC 4 months ago io176k27ux8qwgde24nc4jnatp6c4j0pgyyxdz5se  IN    Contract: ShadowToken 0 IOTX 0.206225
9a2ecdeebbe36a7e9743b2055462c39268b5eb00592a7e283dfafc7dcdc659a0 27435238 2023-12-18 08:26:20 +0000 UTC 4 months ago io18dcn0merfc9xhn3hkxwnu8ztk3vyuzrxql3snx  IN    Contract: ShadowToken 0 IOTX 0.042606
82d3ca6802f2ae7fb1f5b1085f09c6a51fd9bad80a59bde579de77e7a8e57694 27410925 2023-12-16 22:37:15 +0000 UTC 4 months ago io1n39t4y3cf4ere2q4gs39xe39fwhnme8y5wua2g  IN    Contract: ShadowToken 0 IOTX 0.042009
61908527857c310eb8239fe4c4cb0f543208c9253d0383aeaef9bc73f6dbb59b 27212280 2023-12-05 10:26:05 +0000 UTC 5 months ago io1r7u4srstrx2khyp4rjp94eupnu0wqftmdrjrsj  IN    Contract: ShadowToken 0 IOTX 0.041245
a796cc6bb5dfc72afc5b10876a65c93538fdd5b83777c6e0df98eb115a12d5bd 26495294 2023-10-24 21:29:55 +0000 UTC 6 months ago io1n39t4y3cf4ere2q4gs39xe39fwhnme8y5wua2g  IN    Contract: ShadowToken 0 IOTX 0.042009
9044c4947d83680c1530fe80758045b3fb3329e755551538f6a7794ee85a8ace 26482685 2023-10-24 03:59:05 +0000 UTC 6 months ago io1n39t4y3cf4ere2q4gs39xe39fwhnme8y5wua2g  IN    Contract: ShadowToken 0 IOTX 0.024909
a8a00c5e39ca729eadd07272d4ec53d1c104cd544a933a83e961036e3aefbc2b 26482525 2023-10-24 03:45:45 +0000 UTC 6 months ago io1n39t4y3cf4ere2q4gs39xe39fwhnme8y5wua2g  IN    Contract: ShadowToken 0 IOTX 0.046809
3b37b0b65497b294e50ed41814093a97d2a81c437ceac4a719eaee6931ea2f1a 24212649 2023-06-14 17:55:40 +0000 UTC 11 months ago io1kt6cdzwnz6wqy8njgahmuuc8zejrkg2ngsssuf  IN    Contract: ShadowToken 0 IOTX 0.019294
d3010db35740c1354d96f03c3a58a798a24945eeef0c12943383c82e9b2afedc 24212544 2023-06-14 17:46:55 +0000 UTC 11 months ago io1kt6cdzwnz6wqy8njgahmuuc8zejrkg2ngsssuf  IN    Contract: ShadowToken 0 IOTX 0.019294
bc790b07c72cf1fa1c0cd7ee6b3b0590ae7d8a97a3ed2efe359704e642c923d9 24204777 2023-06-14 06:59:20 +0000 UTC 11 months ago io1rhajfrtu7mcu59rqpe6vnktn6tjl0fshy8m0gl  IN    Contract: ShadowToken 0 IOTX 0.041245
9ebe475a11b7ee18c71e2e30e404cda79a5bf3f414f4e060f0c512a2ed0c1fe8 24124246 2023-06-09 15:07:40 +0000 UTC 11 months ago io1zvvte0ys8n6w3hrepmjjwmy742qs839tvjt5g9  IN    Contract: ShadowToken 0 IOTX 0.041245
0475a83a09a778de1bdfb613ba9102d9fbf108560d1fc2f751423444418bf674 24123712 2023-06-09 14:23:10 +0000 UTC 11 months ago io1jc6w905z7g5yg3xrshpduy4c7r23x8c6fcq2fa  IN    Contract: ShadowToken 0 IOTX 0.042009
814bc157204ee20e416932e6afa58226eaa47fc8265ee73a83c51277b990d5c1 24066979 2023-06-06 07:34:50 +0000 UTC 11 months ago io19msajm9hv4u793jvnwcy23plkwzffywjh257sz  IN    Contract: ShadowToken 0 IOTX 0.019345
93bcaebef7b4ca16ace4ffad42a2d60bcadd161e84e63f3f51b3481e93e50f3c 24049593 2023-06-05 07:25:20 +0000 UTC 11 months ago io12ue653nwen3j7h9tvtpz598jxs20th5mh8pqfa  IN    Contract: ShadowToken 0 IOTX 0.041245
3fa21752cb5ad3bef1c17d47ed3957df7cb89b57a1a26439a74de1b460d4a27c 23687118 2023-05-15 07:53:55 +0000 UTC one year ago io1v8u8gx9hlyajgt7rfxscjq23zuvcgru2n2zcp9  IN    Contract: ShadowToken 0 IOTX 0.041368
b010bf2486eb63c043e1171a4fca4286308a5703f380fc6baa99105913b479e2 23415935 2023-04-29 14:45:55 +0000 UTC one year ago io1x6kdu5kfr7jdfdnf49c65hmhl3p5pks9vwdptt  IN    Contract: ShadowToken 0 IOTX 0.041245
0123e4af4d3ba4dba90260758c505ab0c5b6a2014b287b84ace1cb07a4343faf 23352848 2023-04-25 22:58:50 +0000 UTC one year ago io1easv9u828etzejr50sx9a0akyu53c7h8aqnjah  IN    Contract: ShadowToken 0 IOTX 0.021345
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/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/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/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/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/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/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/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/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

608060405234801561001057600080fd5b506004361061012c5760003560e01c806366188463116100ad57806395d89b411161007157806395d89b4114610345578063a9059cbb1461034d578063d73dd62314610379578063dd62ed3e146103a5578063f2fde38b146103d35761012c565b806366188463146102db57806370a08231146103075780637f9864f71461032d5780638456cb59146103355780638da5cb5b1461033d5761012c565b8063313ce567116100f4578063313ce567146102625780633f4ba83a1461028057806340c10f191461028a57806342966c68146102b65780635c975abb146102d35761012c565b806306fdde031461013157806307546172146101ae578063095ea7b3146101d257806318160ddd1461021257806323b872dd1461022c575b600080fd5b6101396103f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b6610487565b604080516001600160a01b039092168252519081900360200190f35b6101fe600480360360408110156101e857600080fd5b506001600160a01b038135169060200135610496565b604080519115158252519081900360200190f35b61021a6104fc565b60408051918252519081900360200190f35b6101fe6004803603606081101561024257600080fd5b506001600160a01b03813581169160208101359091169060400135610502565b61026a610665565b6040805160ff9092168252519081900360200190f35b61028861066e565b005b6101fe600480360360408110156102a057600080fd5b506001600160a01b0381351690602001356106d3565b6101fe600480360360208110156102cc57600080fd5b5035610804565b6101fe6108cb565b6101fe600480360360408110156102f157600080fd5b506001600160a01b0381351690602001356108db565b61021a6004803603602081101561031d57600080fd5b50356001600160a01b03166109cb565b6101b66109e6565b6102886109f5565b6101b6610a61565b610139610a70565b6101fe6004803603604081101561036357600080fd5b506001600160a01b038135169060200135610acb565b6101fe6004803603604081101561038f57600080fd5b506001600160a01b038135169060200135610b98565b61021a600480360360408110156103bb57600080fd5b506001600160a01b0381358116916020013516610c31565b610288600480360360208110156103e957600080fd5b50356001600160a01b0316610c5c565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561047f5780601f106104545761010080835404028352916020019161047f565b820191906000526020600020905b81548152906001019060200180831161046257829003601f168201915b505050505081565b6005546001600160a01b031681565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b60006001600160a01b03831661051757600080fd5b6001600160a01b03841660009081526020819052604090205482111561053c57600080fd5b6001600160a01b038416600090815260026020908152604080832033845290915290205482111561056c57600080fd5b6001600160a01b038416600090815260208190526040902054610595908363ffffffff610ce216565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546105ca908363ffffffff610cf416565b6001600160a01b0380851660009081526020818152604080832094909455918716815260028252828120338252909152205461060c908363ffffffff610ce216565b6001600160a01b0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020610d08833981519152929181900390910190a35060019392505050565b60085460ff1681565b6003546001600160a01b0316331461068557600080fd5b600354600160a01b900460ff1661069b57600080fd5b6003805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6005546000906001600160a01b03163314610726576040805162461bcd60e51b815260206004820152600e60248201526d3737ba103a34329036b4b73a32b960911b604482015290519081900360640190fd5b600354600160a01b900460ff161561073d57600080fd5b600154610750908363ffffffff610cf416565b6001556001600160a01b03831660009081526020819052604090205461077c908363ffffffff610cf416565b6001600160a01b03841660008181526020818152604091829020939093558051858152905191927f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe92918290030190a26040805183815290516001600160a01b03851691600091600080516020610d088339815191529181900360200190a350600192915050565b3360009081526020819052604081205482111561082057600080fd5b600154610833908363ffffffff610ce216565b60015533600090815260208190526040902054610856908363ffffffff610ce216565b3360008181526020818152604091829020939093558051858152905191927f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df792918290030190a26040805183815290516000913391600080516020610d088339815191529181900360200190a3506001919050565b600354600160a01b900460ff1681565b3360009081526002602090815260408083206001600160a01b038616845290915281205480831115610930573360009081526002602090815260408083206001600160a01b0388168452909152812055610965565b610940818463ffffffff610ce216565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b031660009081526020819052604090205490565b6004546001600160a01b031681565b6003546001600160a01b03163314610a0c57600080fd5b600354600160a01b900460ff1615610a2357600080fd5b6003805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561047f5780601f106104545761010080835404028352916020019161047f565b60006001600160a01b038316610ae057600080fd5b33600090815260208190526040902054821115610afc57600080fd5b33600090815260208190526040902054610b1c908363ffffffff610ce216565b33600090815260208190526040808220929092556001600160a01b03851681522054610b4e908363ffffffff610cf416565b6001600160a01b03841660008181526020818152604091829020939093558051858152905191923392600080516020610d088339815191529281900390910190a350600192915050565b3360009081526002602090815260408083206001600160a01b0386168452909152812054610bcc908363ffffffff610cf416565b3360008181526002602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546001600160a01b03163314610c7357600080fd5b6001600160a01b038116610c8657600080fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610cee57fe5b50900390565b81810182811015610d0157fe5b9291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a7231582009d8faf2bbe47bf7a0ad52e2082c398bb541b01a78ed762fdc3910a29f2ba21164736f6c63430005110032

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.