Latest 25 transactions from a total of 202 transactions

TxHash Age From To Value [TxFee]
0x96d1321d56bdc1a0cf9d63d03daa76bed0eaea2801c6258dfafb795bdc599e53121 days 9 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.000765357
0xa07f9b3f09d14bb8d0483d4ae2f0e6b1bb720696a2375ed6f710755257919106121 days 10 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.000765357
0x04c9a2e3dc1eed0954c1af2118ad1aa4b518362cc326b4ec896f46b1afdf5bc9121 days 10 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.000765357
0x1d4300179900aa772e798222e568be541f5a5cff834c6f52ceea574f9ffd27a6121 days 10 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0008598274
0x38f7c967e942d289d81140a780cd0d44382f42155ea9fb543a150f3d03b1e08d121 days 10 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0008598274
0xa85eb42c2704656f72cacfdb4354e72368c77eb03a62ff292b1d6acc19b4c258121 days 10 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.000855151
0xfcdc88d02e395c3158e049ef03d2b8426eb3e28aa3834787ee0c1ea3d6c83ff7122 days 5 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0006396277
0xe208d2071758c0692288dc9ef7885f99f4e2f96d369eae59a58f376c29a5664a123 days 3 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0005616058
0x97ec707a93bd07481c8d792cb66085ddc77db43c12b58610ba0839bf08055c9b123 days 3 hrs ago0xbe746b3639af3d3f3a743318f11ce4073e71f42d  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0004249896
0xc7d1b01c1b3d2e93053027ab2849b96a04ec1d8b4dc508ec1920bb3acc01ab0f173 days 22 hrs ago0x9da582d43ff8ebf26c678439ec6f3de5ab095f31  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001258284
0x3687f42916b883edd1e567dc836aa1fe48e24a3b1740df20a9509dd4a99bdf8c173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0x12e8a869f3b530c1fbcc4fe6c1f989b12953b34ecefca0c420694ee2593f0907173 days 22 hrs ago0x9da582d43ff8ebf26c678439ec6f3de5ab095f31  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001258284
0xdf8f5ec501d1023763c452c8fc74093869f01962801b94404a0bc3a712b10687173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0xbc4c9cf448c755f66a07fd9a7604472003c3b7ddb288128068239f81cbd7ca40173 days 22 hrs ago0x9da582d43ff8ebf26c678439ec6f3de5ab095f31  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001438284
0x36e705b5e086a888388a990392c0da64e2c0b648df07a36d43803906128f4a84173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0x5b0f3311a27d391915684a7c154a15bcef871861b0c5ec37f1deff9ccb40c468173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0x328b25df48ae7f08d2aec486b054eb20260571f99405a59b55e8714780a81ab9173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0x769f0934ffd4f843ff0bf29d6bddd23fea3e1dd0f54af4534af0840739de9ec8173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0xe7cd2963564bfb84b359b2e03f639e35362f7935e7f79d4477cb28254ad2234a173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001258284
0xa30b2b171add4f29aeefa4eb6dbe13d4827714f3a09229823c568649d6920194173 days 22 hrs ago0x9da582d43ff8ebf26c678439ec6f3de5ab095f31  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001515372
0x7b3db68449a5ae6ca3c6c2ff3e4b0d3ca423f7356ded6dfd39f4491e237a45b6173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0x38bffd5695c6a68b8e352c7102068c134ebb3610e591eee88a6e4ad23e1903fd173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0001461852
0x941e4411ec798de3034811e5087118a0fc6c9daf7f2b6ea70fe69e5d42ca82c1173 days 22 hrs ago0x2a906694d15df38f59e76ed3a5735f8aabcce9cb  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.000044232
0x6d06932c921685e5317c7e4f18f63976afa02a48fe2731c8ba169eb088bc06a8190 days 8 hrs ago0x4a5cd91ee18b1f02d906be5a5c186a3a0658fc2f  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0014824336
0x01b7d18a6557f47026cdae047bdf0f934db7d829f4717b87a97f5dd266f79aa6191 days 1 hr ago0x4a5cd91ee18b1f02d906be5a5c186a3a0658fc2f  IN   0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether0.0011207532
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x9896901d530f7ad69f475a56cefa703dea59eccbb669a48a9197252cda30a3f04202203101 days 2 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x81e89a30d8d881b53539417e2ef5d6783b4d4bed0738ec29ed17c398dc606dcb4201281101 days 5 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0xdecaa40fa95f15cc653ff38fc932763a2e25d2737ac5f2b56bc06dd8dd631a834199135101 days 13 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x3028bfee298df4321e2e3ac70d247123acb97ce8e6fd4b5c21da6d3a5bbf67294071979121 days 9 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x96d1321d56bdc1a0cf9d63d03daa76bed0eaea2801c6258dfafb795bdc599e534071967121 days 9 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0 Ether
0xa07f9b3f09d14bb8d0483d4ae2f0e6b1bb720696a2375ed6f7107552579191064071966121 days 10 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0 Ether
0x04c9a2e3dc1eed0954c1af2118ad1aa4b518362cc326b4ec896f46b1afdf5bc94071966121 days 10 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0 Ether
0x1d4300179900aa772e798222e568be541f5a5cff834c6f52ceea574f9ffd27a64071904121 days 10 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990x145f6f72079c8ddfe2a628202fd657ee0aae93eb0 Ether
0x2fbc9613c914fec619abb427dad086422cde206f32457b8d42d4dd89b98405064071897121 days 10 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x98d1dcad34c3188bdcf008c3b115526e8b6b78c18b84dd80f8d0e4f98b14b6614071895121 days 10 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x11a1325f1ff96d020a0372f0eb6b69d41894ebf4af6674d8c4118009346ab9f44071892121 days 10 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x2e55c08ba272f0a75971e3d4a5dd2557fc776e13fc6e2145641282e5803870a44071892121 days 10 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0xef3bfd6e1b7578309529206bdc92967a940295285b3b7750e6ebafb63a20067a4071890121 days 10 hrs ago0x145f6f72079c8ddfe2a628202fd657ee0aae93eb0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x38f7c967e942d289d81140a780cd0d44382f42155ea9fb543a150f3d03b1e08d4071887121 days 10 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990x145f6f72079c8ddfe2a628202fd657ee0aae93eb0 Ether
0x33ce5457e155df01becded1b3dafd83b76fbc7404ac37c680bcee71e88b8ad0f4071819121 days 10 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0xa85eb42c2704656f72cacfdb4354e72368c77eb03a62ff292b1d6acc19b4c2584071815121 days 10 hrs ago0xe8b166aed1db07679f1bebe64c04bdc57905cb1d0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0xa85eb42c2704656f72cacfdb4354e72368c77eb03a62ff292b1d6acc19b4c2584071815121 days 10 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990xe8b166aed1db07679f1bebe64c04bdc57905cb1d0 Ether
0xfcdc88d02e395c3158e049ef03d2b8426eb3e28aa3834787ee0c1ea3d6c83ff74066689122 days 5 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990x145f6f72079c8ddfe2a628202fd657ee0aae93eb0 Ether
0x1bff636c4a8a06e6b768a3db80bc5ca8ca614281875d8ce1982c3370ad2694e24066683122 days 5 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0xe208d2071758c0692288dc9ef7885f99f4e2f96d369eae59a58f376c29a5664a4060638123 days 3 hrs ago0xe8b166aed1db07679f1bebe64c04bdc57905cb1d0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0xe208d2071758c0692288dc9ef7885f99f4e2f96d369eae59a58f376c29a5664a4060638123 days 3 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990xe8b166aed1db07679f1bebe64c04bdc57905cb1d0 Ether
0x97ec707a93bd07481c8d792cb66085ddc77db43c12b58610ba0839bf08055c9b4060609123 days 3 hrs ago0xe8b166aed1db07679f1bebe64c04bdc57905cb1d0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x97ec707a93bd07481c8d792cb66085ddc77db43c12b58610ba0839bf08055c9b4060609123 days 3 hrs ago0x70ad777594a3aa7823053ed390c534fc7f6182990xe8b166aed1db07679f1bebe64c04bdc57905cb1d0 Ether
0xac18a91d8b0201e4589c2128440954bb81166f769db94851e0ae38c3f4beccc74060603123 days 3 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
0x86e9860637340d1aeb7d562f41f9da958b877e2c41ef84b006e634c626b418f44060599123 days 3 hrs ago0x6c1b7af0ff68cba08996ae3fc8e4040bdbf8a14e0x70ad777594a3aa7823053ed390c534fc7f6182990 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Copper
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.15;

/*

  https://galleass.io
  by Austin Thomas Griffith

  Copper is the main currency in Galleass.

  It is considered a "hard" asset versus "soft" assets like Timber
    where some contracts have full permission to move them around
    it is a better store of value, but it can still be minted 

*/




/**
 * @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 OwnershipRenounced(address indexed previousOwner);
  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 relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  /**
   * @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 {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}


contract Galleasset is Ownable {

  address public galleass;

  constructor(address _galleass) public {
    galleass=_galleass;
  }

  function upgradeGalleass(address _galleass) public returns (bool) {
    require(msg.sender == galleass);
    galleass=_galleass;
    return true;
  }

  function getContract(bytes32 _name) public view returns (address){
    Galleass galleassContract = Galleass(galleass);
    return galleassContract.getContract(_name);
  }

  function hasPermission(address _contract,bytes32 _permission) public view returns (bool){
    Galleass galleassContract = Galleass(galleass);
    return galleassContract.hasPermission(_contract,_permission);
  }

  function getGalleassTokens(address _from,bytes32 _name,uint256 _amount) internal returns (bool) {
    return StandardTokenInterface(getContract(_name)).galleassTransferFrom(_from,address(this),_amount);
  }

  function getTokens(address _from,bytes32 _name,uint256 _amount) internal returns (bool) {
    return StandardTokenInterface(getContract(_name)).transferFrom(_from,address(this),_amount);
  }

  function approveTokens(bytes32 _name,address _to,uint256 _amount) internal returns (bool) {
    return StandardTokenInterface(getContract(_name)).approve(_to,_amount);
  }

  function withdraw(uint256 _amount) public onlyOwner isBuilding returns (bool) {
    require(address(this).balance >= _amount);
    assert(owner.send(_amount));
    return true;
  }
  function withdrawToken(address _token,uint256 _amount) public onlyOwner isBuilding returns (bool) {
    StandardTokenInterface token = StandardTokenInterface(_token);
    token.transfer(msg.sender,_amount);
    return true;
  }

  //this prevents old contracts from remaining active
  //if you want to disable functions after the contract is retired,
  //add this as a modifier
  modifier isGalleasset(bytes32 _name) {
    Galleass galleassContract = Galleass(galleass);
    require(address(this) == galleassContract.getContract(_name));
    _;
  }

  modifier isBuilding() {
    Galleass galleassContract = Galleass(galleass);
    require(galleassContract.stagedMode() == Galleass.StagedMode.BUILD);
    _;
  }

}


contract Galleass {
  function getContract(bytes32 _name) public constant returns (address) { }
  function hasPermission(address _contract, bytes32 _permission) public view returns (bool) { }
  enum StagedMode {PAUSED,BUILD,STAGE,PRODUCTION}
  StagedMode public stagedMode;
}

contract StandardTokenInterface {
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { }
  function galleassTransferFrom(address _from, address _to, uint256 _value) public returns (bool) { }
  function transfer(address _to, uint256 _value) public returns (bool) { }
  function approve(address _spender, uint256 _value) public returns (bool) { }
}







/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * 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);
}



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

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  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).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}



/**
 * @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.
  */
  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.
  */
  function balanceOf(address _owner) public view returns (uint256) {
    return balances[_owner];
  }

}




/**
 * @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
  );
}



/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/issues/20
 * 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
   */
  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.
   */
  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.
   */
  function increaseApproval(
    address _spender,
    uint256 _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.
   */
  function decreaseApproval(
    address _spender,
    uint256 _subtractedValue
  )
    public
    returns (bool)
  {
    uint256 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;
  }

}


// adapted from https://github.com/ethereum/EIPs/issues/677
//    big thanks to Steve Ellis

contract ERC677Token is StandardToken {

  event TransferAndCall(address indexed from, address indexed to, uint value, bytes data);

  function transferAndCall(address _to, uint _value, bytes _data)
    public
    validRecipient(_to)
    returns (bool success)
  {
    super.transfer(_to, _value);
    emit TransferAndCall(msg.sender, _to, _value, _data);
    if (isContract(_to)) {
      contractFallback(_to, _value, _data);
    }
    return true;
  }
  function contractFallback(address _to, uint _value, bytes _data)
    validRecipient(_to)
    private
  {
    ERC677Receiver receiver = ERC677Receiver(_to);
    require(receiver.onTokenTransfer(msg.sender, _value, _data));
  }

  function isContract(address _addr)
    private
    returns (bool hasCode)
  {
    uint length;
    assembly { length := extcodesize(_addr) }
    return length > 0;
  }


  modifier validRecipient(address _recipient) {
    require(_recipient != address(0) && _recipient != address(this));
    _;

  }

}

contract ERC677Receiver {
  function onTokenTransfer(address _sender, uint _value, bytes _data) returns (bool){}
}




/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */
contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  modifier hasMintPermission() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(
    address _to,
    uint256 _amount
  )
    hasMintPermission
    canMint
    public
    returns (bool)
  {
    totalSupply_ = totalSupply_.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    emit Mint(_to, _amount);
    emit Transfer(address(0), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner canMint public returns (bool) {
    mintingFinished = true;
    emit MintFinished();
    return true;
  }
}


contract Copper is Galleasset, MintableToken, ERC677Token {

  string public constant name = "Galleass Copper";
  string public constant symbol = "G_COPPER";
  uint8 public constant decimals = 0;

  uint256 public constant INITIAL_SUPPLY = 0;

  constructor(address _galleass) Galleasset(_galleass) public {
    totalSupply_ = INITIAL_SUPPLY;
  }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"galleass","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_galleass","type":"address"}],"name":"upgradeGalleass","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_contract","type":"address"},{"name":"_permission","type":"bytes32"}],"name":"hasPermission","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"getContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_galleass","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"data","type":"bytes"}],"name":"TransferAndCall","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60806040526004805460a060020a60ff021916905534801561002057600080fd5b5060405160208061141c833981016040525160038054600160a060020a0319908116331790915560048054600160a060020a039093169290911691909117905560006001556113a8806100746000396000f30060806040526004361061012f5763ffffffff60e060020a60003504166305d2035b811461013457806306fdde031461015d578063095ea7b3146101e757806318160ddd1461020b57806323b872dd146102325780632ce643f21461025c5780632e1a7d4d1461028d5780632ff2e9dc146102a5578063313ce567146102ba5780633319bf1a146102e55780634000aea01461030657806340c10f191461036f578063661884631461039357806370a08231146103b7578063715018a6146103d85780637d64bcb4146103ef5780638da5cb5b1461040457806395d89b41146104195780639e281a981461042e578063a9059cbb14610452578063b0619e8514610476578063d73dd6231461049a578063dd62ed3e146104be578063e16c7d98146104e5578063f2fde38b146104fd575b600080fd5b34801561014057600080fd5b5061014961051e565b604080519115158252519081900360200190f35b34801561016957600080fd5b5061017261053f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ac578181015183820152602001610194565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b50610149600160a060020a0360043516602435610576565b34801561021757600080fd5b506102206105dc565b60408051918252519081900360200190f35b34801561023e57600080fd5b50610149600160a060020a03600435811690602435166044356105e2565b34801561026857600080fd5b50610271610759565b60408051600160a060020a039092168252519081900360200190f35b34801561029957600080fd5b50610149600435610768565b3480156102b157600080fd5b50610220610857565b3480156102c657600080fd5b506102cf610857565b6040805160ff9092168252519081900360200190f35b3480156102f157600080fd5b50610149600160a060020a036004351661085c565b34801561031257600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610149948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506108a89650505050505050565b34801561037b57600080fd5b50610149600160a060020a03600435166024356109bb565b34801561039f57600080fd5b50610149600160a060020a0360043516602435610ad6565b3480156103c357600080fd5b50610220600160a060020a0360043516610bc6565b3480156103e457600080fd5b506103ed610be1565b005b3480156103fb57600080fd5b50610149610c4f565b34801561041057600080fd5b50610271610cf5565b34801561042557600080fd5b50610172610d04565b34801561043a57600080fd5b50610149600160a060020a0360043516602435610d3b565b34801561045e57600080fd5b50610149600160a060020a0360043516602435610e86565b34801561048257600080fd5b50610149600160a060020a0360043516602435610f67565b3480156104a657600080fd5b50610149600160a060020a0360043516602435611010565b3480156104ca57600080fd5b50610220600160a060020a03600435811690602435166110a9565b3480156104f157600080fd5b506102716004356110d4565b34801561050957600080fd5b506103ed600160a060020a0360043516611171565b60045474010000000000000000000000000000000000000000900460ff1681565b60408051808201909152600f81527f47616c6c6561737320436f707065720000000000000000000000000000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b6000600160a060020a03831615156105f957600080fd5b600160a060020a03841660009081526020819052604090205482111561061e57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561064e57600080fd5b600160a060020a038416600090815260208190526040902054610677908363ffffffff61119416565b600160a060020a0380861660009081526020819052604080822093909355908516815220546106ac908363ffffffff6111a616565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546106ee908363ffffffff61119416565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600454600160a060020a031681565b600354600090600160a060020a0316331461078257600080fd5b600454600160a060020a0316600181600160a060020a031663b0e315816040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156107ce57600080fd5b505af11580156107e2573d6000803e3d6000fd5b505050506040513d60208110156107f857600080fd5b5051600381111561080557fe5b1461080f57600080fd5b303183111561081d57600080fd5b600354604051600160a060020a039091169084156108fc029085906000818181858888f19350505050151561084e57fe5b50600192915050565b600081565b600454600090600160a060020a0316331461087657600080fd5b5060048054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600083600160a060020a038116158015906108cc5750600160a060020a0381163014155b15156108d757600080fd5b6108e18585610e86565b5084600160a060020a031633600160a060020a03167fce8124fd2ae9fd7904103e5a9ebe88b527b9ca0e32a32fd497845c82706542d386866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561095c578181015183820152602001610944565b50505050905090810190601f1680156109895780820380516001836020036101000a031916815260200191505b50935050505060405180910390a36109a0856111b9565b156109b0576109b08585856111c1565b506001949350505050565b600354600090600160a060020a031633146109d557600080fd5b60045474010000000000000000000000000000000000000000900460ff16156109fd57600080fd5b600154610a10908363ffffffff6111a616565b600155600160a060020a038316600090815260208190526040902054610a3c908363ffffffff6111a616565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b336000908152600260209081526040808320600160a060020a038616845290915281205480831115610b2b57336000908152600260209081526040808320600160a060020a0388168452909152812055610b60565b610b3b818463ffffffff61119416565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610bf857600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610c6957600080fd5b60045474010000000000000000000000000000000000000000900460ff1615610c9157600080fd5b6004805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600354600160a060020a031681565b60408051808201909152600881527f475f434f50504552000000000000000000000000000000000000000000000000602082015281565b6003546000908190600160a060020a03163314610d5757600080fd5b600454600160a060020a0316600181600160a060020a031663b0e315816040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610da357600080fd5b505af1158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50516003811115610dda57fe5b14610de457600080fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018690529051869350600160a060020a0384169163a9059cbb9160448083019260209291908290030181600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b505050506040513d6020811015610e7957600080fd5b5060019695505050505050565b6000600160a060020a0383161515610e9d57600080fd5b33600090815260208190526040902054821115610eb957600080fd5b33600090815260208190526040902054610ed9908363ffffffff61119416565b3360009081526020819052604080822092909255600160a060020a03851681522054610f0b908363ffffffff6111a616565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60048054604080517fb0619e85000000000000000000000000000000000000000000000000000000008152600160a060020a038681169482019490945260248101859052905160009390921691829163b0619e8591604480830192602092919082900301818887803b158015610fdc57600080fd5b505af1158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b5051949350505050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611044908363ffffffff6111a616565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60048054604080517fe16c7d9800000000000000000000000000000000000000000000000000000000815292830184905251600092600160a060020a0390921691829163e16c7d989160248082019260209290919082900301818887803b15801561113e57600080fd5b505af1158015611152573d6000803e3d6000fd5b505050506040513d602081101561116857600080fd5b50519392505050565b600354600160a060020a0316331461118857600080fd5b611191816112fe565b50565b6000828211156111a057fe5b50900390565b818101828110156111b357fe5b92915050565b6000903b1190565b600083600160a060020a038116158015906111e55750600160a060020a0381163014155b15156111f057600080fd5b84915081600160a060020a031663a4c0ed363386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561127257818101518382015260200161125a565b50505050905090810190601f16801561129f5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156112c057600080fd5b505af11580156112d4573d6000803e3d6000fd5b505050506040513d60208110156112ea57600080fd5b505115156112f757600080fd5b5050505050565b600160a060020a038116151561131357600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058204e46ef8b86f54cb8b70168f30d15eec8ff55970a75a1a606dcbed55a85c6602f0029000000000000000000000000120ad25f3aa9e95b4c64cca7a03b286b97dcb7e9

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000120ad25f3aa9e95b4c64cca7a03b286b97dcb7e9

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000120ad25f3aa9e95b4c64cca7a03b286b97dcb7e9


   Swarm Source:
bzzr://4e46ef8b86f54cb8b70168f30d15eec8ff55970a75a1a606dcbed55a85c6602f

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward