ETH Price: $1,973.88 (-0.08%)
 

Overview

ETH Balance

0.0282111111 ETH

Eth Value

$55.69 (@ $1,973.88/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw53228732018-03-26 3:09:302890 days ago1522033770IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl52872952018-03-20 4:44:022896 days ago1521521042IN
0x1142e1f9...87Ee94B3D
0.1 ETH0.000678744
Create New Hodl45675602017-11-17 4:27:273019 days ago1510892847IN
0x1142e1f9...87Ee94B3D
0.001 ETH0.000678744
Withdraw45432532017-11-13 6:12:023023 days ago1510553522IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Withdraw44991852017-11-06 4:29:023030 days ago1509942542IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Withdraw44991852017-11-06 4:29:023030 days ago1509942542IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl44754442017-11-02 9:06:173034 days ago1509613577IN
0x1142e1f9...87Ee94B3D
0.0001 ETH0.000618744
Withdraw44736562017-11-02 2:01:313034 days ago1509588091IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl44580662017-10-30 13:22:303036 days ago1509369750IN
0x1142e1f9...87Ee94B3D
0.0001 ETH0.000618744
Withdraw43328532017-10-03 9:07:433064 days ago1507021663IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Withdraw43311562017-10-02 18:47:283064 days ago1506970048IN
0x1142e1f9...87Ee94B3D
0 ETH0.0010521
Withdraw43311562017-10-02 18:47:283064 days ago1506970048IN
0x1142e1f9...87Ee94B3D
0 ETH0.0008097821
Withdraw43311352017-10-02 18:37:563064 days ago1506969476IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl43229812017-09-29 21:58:063067 days ago1506722286IN
0x1142e1f9...87Ee94B3D
0.01 ETH0.001018126
Withdraw43129062017-09-26 9:35:513071 days ago1506418551IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl42953212017-09-20 16:28:153076 days ago1505924895IN
0x1142e1f9...87Ee94B3D
0.0001 ETH0.0016968710
Withdraw42425952017-09-05 23:12:533091 days ago1504653173IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl42374252017-09-04 12:06:023093 days ago1504526762IN
0x1142e1f9...87Ee94B3D
0.01111111 ETH0.000618744
Withdraw42374062017-09-04 11:55:363093 days ago1504526136IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
Create New Hodl42350752017-09-03 20:07:263093 days ago1504469246IN
0x1142e1f9...87Ee94B3D
0.1 ETH0.000678744
Create New Hodl42333432017-09-03 8:40:553094 days ago1504428055IN
0x1142e1f9...87Ee94B3D
0.0001 ETH0.000678744
Create New Hodl42314492017-09-02 19:33:583094 days ago1504380838IN
0x1142e1f9...87Ee94B3D
0.01 ETH0.000678744
Create New Hodl42258442017-09-01 5:22:393096 days ago1504243359IN
0x1142e1f9...87Ee94B3D
0.0001 ETH0.000618744
Create New Hodl42258392017-09-01 5:21:473096 days ago1504243307IN
0x1142e1f9...87Ee94B3D
0.0009 ETH0.000678744
Withdraw42161082017-08-29 11:00:493099 days ago1504004449IN
0x1142e1f9...87Ee94B3D
0 ETH0.000154244
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer53228732018-03-26 3:09:302890 days ago1522033770
0x1142e1f9...87Ee94B3D
0.1 ETH
Transfer45432532017-11-13 6:12:023023 days ago1510553522
0x1142e1f9...87Ee94B3D
0.0001 ETH
Transfer44991852017-11-06 4:29:023030 days ago1509942542
0x1142e1f9...87Ee94B3D
0.0001 ETH
Transfer44991852017-11-06 4:29:023030 days ago1509942542
0x1142e1f9...87Ee94B3D
0.0009 ETH
Transfer44736562017-11-02 2:01:313034 days ago1509588091
0x1142e1f9...87Ee94B3D
0.0001 ETH
Transfer43328532017-10-03 9:07:433064 days ago1507021663
0x1142e1f9...87Ee94B3D
0.01 ETH
Transfer43311562017-10-02 18:47:283064 days ago1506970048
0x1142e1f9...87Ee94B3D
0.1 ETH
Transfer43311352017-10-02 18:37:563064 days ago1506969476
0x1142e1f9...87Ee94B3D
0 ETH
Transfer43129062017-09-26 9:35:513071 days ago1506418551
0x1142e1f9...87Ee94B3D
0.0001 ETH
Transfer42425952017-09-05 23:12:533091 days ago1504653173
0x1142e1f9...87Ee94B3D
0.01 ETH
Transfer42374062017-09-04 11:55:363093 days ago1504526136
0x1142e1f9...87Ee94B3D
0.017 ETH
Transfer42161082017-08-29 11:00:493099 days ago1504004449
0x1142e1f9...87Ee94B3D
0.01 ETH
Transfer41541442017-08-13 21:31:453114 days ago1502659905
0x1142e1f9...87Ee94B3D
0.001 ETH
Transfer41496462017-08-12 19:04:183115 days ago1502564658
0x1142e1f9...87Ee94B3D
0.01 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Hodl

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-08-11
*/

pragma solidity ^0.4.13;

library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal constant 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 c;
  }

  function sub(uint256 a, uint256 b) internal constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract Ownable {
  address public owner;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    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) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev modifier to allow actions only when the contract IS paused
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev modifier to allow actions only when the contract IS NOT paused
   */
  modifier whenPaused {
    require(paused);
    _;
  }

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

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

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) constant returns (uint256);
  function transfer(address to, uint256 value) returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @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) returns (bool) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    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) constant returns (uint256 balance) {
    return balances[_owner];
  }

}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) 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 amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

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

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) returns (bool) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    require((_value == 0) || (allowed[msg.sender][_spender] == 0));

    allowed[msg.sender][_spender] = _value;
    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 specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

}

contract CATContract is Ownable, Pausable {
	CATServicePaymentCollector public catPaymentCollector;
	uint public contractFee = 0.1 * 10**18; // Base fee is 0.1 CAT
	// Limits all transactions to a small amount to avoid financial risk with early code
	uint public ethPerTransactionLimit = 0.1 ether;
	string public contractName;
	string public versionIdent = "0.1.0";

	event ContractDeployed(address indexed byWho);
	event ContractFeeChanged(uint oldFee, uint newFee);
	event ContractEthLimitChanged(uint oldLimit, uint newLimit);

	event CATWithdrawn(uint numOfTokens);

	modifier blockCatEntryPoint() {
		// Collect payment
		catPaymentCollector.collectPayment(msg.sender, contractFee);
		ContractDeployed(msg.sender);
		_;
	}

	modifier limitTransactionValue() {
		require(msg.value <= ethPerTransactionLimit);
		_;
	}

	function CATContract(address _catPaymentCollector, string _contractName) {
		catPaymentCollector = CATServicePaymentCollector(_catPaymentCollector);
		contractName = _contractName;
	}

	// Administrative functions

	function changeContractFee(uint _newFee) external onlyOwner {
		// _newFee is assumed to be given in full CAT precision (18 decimals)
		ContractFeeChanged(contractFee, _newFee);
		contractFee = _newFee;
	}

	function changeEtherTxLimit(uint _newLimit) external onlyOwner {
		ContractEthLimitChanged(ethPerTransactionLimit, _newLimit);
		ethPerTransactionLimit = _newLimit;
	}

	function withdrawCAT() external onlyOwner {
		StandardToken CAT = catPaymentCollector.CAT();
		uint ourTokens = CAT.balanceOf(this);
		CAT.transfer(owner, ourTokens);
		CATWithdrawn(ourTokens);
	}
}

contract CATServicePaymentCollector is Ownable {
	StandardToken public CAT;
	address public paymentDestination;
	uint public totalDeployments = 0;
	mapping(address => bool) public registeredServices;
	mapping(address => uint) public serviceDeployCount;
	mapping(address => uint) public userDeployCount;

	event CATPayment(address indexed service, address indexed payer, uint price);
	event EnableService(address indexed service);
	event DisableService(address indexed service);
	event ChangedPaymentDestination(address indexed oldDestination, address indexed newDestination);

	event CATWithdrawn(uint numOfTokens);
	
	function CATServicePaymentCollector(address _CAT) {
		CAT = StandardToken(_CAT);
		paymentDestination = msg.sender;
	}
	
	function enableService(address _service) public onlyOwner {
		registeredServices[_service] = true;
		EnableService(_service);
	}
	
	function disableService(address _service) public onlyOwner {
		registeredServices[_service] = false;
		DisableService(_service);
	}
	
	function collectPayment(address _fromWho, uint _payment) public {
		require(registeredServices[msg.sender] == true);
		
		serviceDeployCount[msg.sender]++;
		userDeployCount[_fromWho]++;
		totalDeployments++;
		
		CAT.transferFrom(_fromWho, paymentDestination, _payment);
		CATPayment(_fromWho, msg.sender, _payment);
	}

	// Administrative functions

	function changePaymentDestination(address _newPaymentDest) external onlyOwner {
		ChangedPaymentDestination(paymentDestination, _newPaymentDest);
		paymentDestination = _newPaymentDest;
	}

	function withdrawCAT() external onlyOwner {
		uint ourTokens = CAT.balanceOf(this);
		CAT.transfer(owner, ourTokens);
		CATWithdrawn(ourTokens);
	}
}

contract Hodl is CATContract {
    uint public instanceId = 1;
    mapping(uint => HodlInstance) public instances;

    uint public maximumHodlDuration = 4 weeks;

    event HodlCreated(uint indexed id, address indexed instOwner, uint hodlAmount, uint endTime);
    event HodlWithdrawn(uint indexed id, address indexed byWho, uint hodlAmount);

    event MaximumHodlDurationChanged(uint oldLimit, uint newLimit);

    struct HodlInstance {
        uint instId;
        address instOwner;
        bool hasBeenWithdrawn;
        uint hodlAmount;
        uint endTime;
    }

    modifier onlyInstanceOwner(uint _instId) {
        require(instances[_instId].instOwner == msg.sender);
        _;
    }
    
    modifier instanceExists(uint _instId) {
        require(instances[_instId].instId == _instId);
        _;
    }

    // Chain constructor
    function Hodl(address _catPaymentCollector) CATContract(_catPaymentCollector, "Hodl") {}

    function createNewHodl(uint _endTime) external payable blockCatEntryPoint limitTransactionValue whenNotPaused returns (uint currentId) {
        // Cannot hodl in the past
        require(_endTime >= now);
        // Cannot hodl for longer than the max cap on duration
        require((_endTime - now) <= maximumHodlDuration);
        // Cannot hodl nothing
        require(msg.value > 0);

        currentId = instanceId;
        address instanceOwner = msg.sender;
        uint hodlAmount = msg.value;
        uint endTime = _endTime;
        HodlInstance storage curInst = instances[currentId];

        curInst.instId = currentId;
        curInst.instOwner = instanceOwner;
        curInst.hasBeenWithdrawn = false;
        curInst.hodlAmount = hodlAmount;
        curInst.endTime = endTime;
        
        HodlCreated(currentId, instanceOwner, hodlAmount, endTime);
        instanceId++;
    }

    function withdraw(uint _instId) external onlyInstanceOwner(_instId) instanceExists(_instId) whenNotPaused {
        HodlInstance storage curInst = instances[_instId];
        // The hodl has passed its unlock date
        require(now >= curInst.endTime);
        // The hodl has not been withdrawn before
        require(curInst.hasBeenWithdrawn == false);

        curInst.hasBeenWithdrawn = true;
        curInst.instOwner.transfer(curInst.hodlAmount);
        HodlWithdrawn(_instId, msg.sender, curInst.hodlAmount);
    }

    function changeMaximumHodlDuration(uint _newLimit) external onlyOwner {
        MaximumHodlDurationChanged(maximumHodlDuration, _newLimit);
        maximumHodlDuration = _newLimit;
    }

    // Information functions
    function getHodlOwner(uint _instId) constant external returns (address) {
        return instances[_instId].instOwner;
    }

    function getHodlHasBeenWithdrawn(uint _instId) constant external returns (bool) {
        return instances[_instId].hasBeenWithdrawn;
    }

    function getHodlAmount(uint _instId) constant external returns (uint) {
        return instances[_instId].hodlAmount;
    }

    function getEndTime(uint _instId) constant external returns (uint) {
        return instances[_instId].endTime;
    }

    function getTimeUntilEnd(uint _instId) constant external returns (int) {
        return int(instances[_instId].endTime - now);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"ethPerTransactionLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"instanceId","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newLimit","type":"uint256"}],"name":"changeMaximumHodlDuration","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"catPaymentCollector","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_instId","type":"uint256"}],"name":"getHodlHasBeenWithdrawn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"versionIdent","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_instId","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_endTime","type":"uint256"}],"name":"createNewHodl","outputs":[{"name":"currentId","type":"uint256"}],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_instId","type":"uint256"}],"name":"getHodlOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_instId","type":"uint256"}],"name":"getHodlAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contractName","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newFee","type":"uint256"}],"name":"changeContractFee","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_instId","type":"uint256"}],"name":"getEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"instances","outputs":[{"name":"instId","type":"uint256"},{"name":"instOwner","type":"address"},{"name":"hasBeenWithdrawn","type":"bool"},{"name":"hodlAmount","type":"uint256"},{"name":"endTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawCAT","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_instId","type":"uint256"}],"name":"getTimeUntilEnd","outputs":[{"name":"","type":"int256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contractFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maximumHodlDuration","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newLimit","type":"uint256"}],"name":"changeEtherTxLimit","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_catPaymentCollector","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"instOwner","type":"address"},{"indexed":false,"name":"hodlAmount","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"}],"name":"HodlCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"byWho","type":"address"},{"indexed":false,"name":"hodlAmount","type":"uint256"}],"name":"HodlWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldLimit","type":"uint256"},{"indexed":false,"name":"newLimit","type":"uint256"}],"name":"MaximumHodlDurationChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"byWho","type":"address"}],"name":"ContractDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldFee","type":"uint256"},{"indexed":false,"name":"newFee","type":"uint256"}],"name":"ContractFeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldLimit","type":"uint256"},{"indexed":false,"name":"newLimit","type":"uint256"}],"name":"ContractEthLimitChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numOfTokens","type":"uint256"}],"name":"CATWithdrawn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

606060409081526000805460a060020a60ff021916905567016345785d8a00006002819055600355805190810160405260058082527f302e312e3000000000000000000000000000000000000000000000000000000060208301529080516200006d9291602001906200012d565b5060016006556224ea0060085534156200008657600080fd5b60405160208062001130833981016040528080519150505b8060408051908101604052600481527f486f646c0000000000000000000000000000000000000000000000000000000060208201525b5b60008054600160a060020a03191633600160a060020a03161790555b60018054600160a060020a031916600160a060020a0384161790556004818051620001219291602001906200012d565b505b50505b50620001d7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017057805160ff1916838001178555620001a0565b82800160010185558215620001a0579182015b82811115620001a057825182559160200191906001019062000183565b5b50620001af929150620001b3565b5090565b620001d491905b80821115620001af5760008155600101620001ba565b5090565b90565b610f4980620001e76000396000f300606060405236156101225763ffffffff60e060020a60003504166301996951811461012757806304fad28d1461014c5780630edc19231461017157806326dcbcfc146101895780632726a530146101b85780632ca60d85146101e25780632e1a7d4d1461026d5780633f4ba83a1461028557806359c77133146102ac5780635c975abb146102c95780635fe825f8146102f05780636ccbdbf91461032257806375d0c0dc1461034a5780638456cb59146103d55780638a34bb24146103fc5780638da5cb5b146104145780639067b67714610443578063a2f7b3a51461046b578063c91bc856146104c0578063d2c49b7f146104d5578063d41977cd146104fd578063d9244bf914610522578063e7cf6fcb14610547578063f2fde38b1461055f575b600080fd5b341561013257600080fd5b61013a610580565b60405190815260200160405180910390f35b341561015757600080fd5b61013a610586565b60405190815260200160405180910390f35b341561017c57600080fd5b61018760043561058c565b005b341561019457600080fd5b61019c6105ed565b604051600160a060020a03909116815260200160405180910390f35b34156101c357600080fd5b6101ce6004356105fc565b604051901515815260200160405180910390f35b34156101ed57600080fd5b6101f561061e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102325780820151818401525b602001610219565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027857600080fd5b6101876004356106bc565b005b341561029057600080fd5b6101ce610802565b604051901515815260200160405180910390f35b61013a600435610889565b60405190815260200160405180910390f35b34156102d457600080fd5b6101ce610a57565b604051901515815260200160405180910390f35b34156102fb57600080fd5b61019c600435610a67565b604051600160a060020a03909116815260200160405180910390f35b341561032d57600080fd5b61013a600435610a88565b60405190815260200160405180910390f35b341561035557600080fd5b6101f5610aa0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102325780820151818401525b602001610219565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e057600080fd5b6101ce610b3e565b604051901515815260200160405180910390f35b341561040757600080fd5b610187600435610bca565b005b341561041f57600080fd5b61019c610c2b565b604051600160a060020a03909116815260200160405180910390f35b341561044e57600080fd5b61013a600435610c3a565b60405190815260200160405180910390f35b341561047657600080fd5b610481600435610c52565b604051948552600160a060020a0390931660208501529015156040808501919091526060840191909152608083019190915260a0909101905180910390f35b34156104cb57600080fd5b610187610c8e565b005b34156104e057600080fd5b61013a600435610e3d565b60405190815260200160405180910390f35b341561050857600080fd5b61013a610e58565b60405190815260200160405180910390f35b341561052d57600080fd5b61013a610e5e565b60405190815260200160405180910390f35b341561055257600080fd5b610187600435610e64565b005b341561056a57600080fd5b610187600160a060020a0360043516610ec5565b005b60035481565b60065481565b60005433600160a060020a039081169116146105a757600080fd5b7f1fe64f19a0a28b433fc8e226ca6eb03fd043a0e5c86e56b49add3b15a87e59756008548260405191825260208201526040908101905180910390a160088190555b5b50565b600154600160a060020a031681565b60008181526007602052604090206001015460a060020a900460ff165b919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106b45780601f10610689576101008083540402835291602001916106b4565b820191906000526020600020905b81548152906001019060200180831161069757829003601f168201915b505050505081565b600081815260076020526040812060010154829033600160a060020a039081169116146106e857600080fd5b6000838152600760205260409020548390811461070457600080fd5b60005460a060020a900460ff161561071b57600080fd5b6000848152600760205260409020600381015490935042101561073d57600080fd5b600183015460a060020a900460ff161561075657600080fd5b60018301805474ff0000000000000000000000000000000000000000191660a060020a17908190556002840154600160a060020a039091169080156108fc0290604051600060405180830381858888f1935050505015156107b657600080fd5b33600160a060020a0316847f7e31c53a2ff622c9aca28fc556f86404cc3b703074d95a2d600dc240dd6bbe02856002015460405190815260200160405180910390a35b5b5b505b505050565b6000805433600160a060020a0390811691161461081e57600080fd5b60005460a060020a900460ff16151561083657600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a15060015b5b5b90565b6001546002546000918291829182918291600160a060020a03169063c119d01990339060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156108ef57600080fd5b6102c65a03f1151561090057600080fd5b50505033600160a060020a03167f8ffcdc15a283d706d38281f500270d8b5a656918f555de0913d7455e3e6bc1bf60405160405180910390a260035434111561094857600080fd5b60005460a060020a900460ff161561095f57600080fd5b4286101561096c57600080fd5b600854428703111561097d57600080fd5b6000341161098a57600080fd5b50506006546000818152600760205260409081902082815560018101805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03811691821774ff000000000000000000000000000000000000000019169092553460028401819055600384018a90559497509095509293508692909186907fb8305b4346dc4befa1b1d5096404f626a051cf8d4d7a2de4ceabc863a6b0676390869086905191825260208201526040908101905180910390a36006805460010190555b5b5b5b50505050919050565b60005460a060020a900460ff1681565b600081815260076020526040902060010154600160a060020a03165b919050565b6000818152600760205260409020600201545b919050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106b45780601f10610689576101008083540402835291602001916106b4565b820191906000526020600020905b81548152906001019060200180831161069757829003601f168201915b505050505081565b6000805433600160a060020a03908116911614610b5a57600080fd5b60005460a060020a900460ff1615610b7157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a15060015b5b5b90565b60005433600160a060020a03908116911614610be557600080fd5b7feef27913e190f718408e23b0a5602c402bd0c6b5a65757761dfbf29c086ba6136002548260405191825260208201526040908101905180910390a160028190555b5b50565b600054600160a060020a031681565b6000818152600760205260409020600301545b919050565b60076020526000908152604090208054600182015460028301546003909301549192600160a060020a0382169260a060020a90920460ff169185565b60008054819033600160a060020a03908116911614610cac57600080fd5b600154600160a060020a0316638a8b7deb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cf457600080fd5b6102c65a03f11515610d0557600080fd5b5050506040518051925050600160a060020a0382166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610d6757600080fd5b6102c65a03f11515610d7857600080fd5b505050604051805160008054919350600160a060020a03808616935063a9059cbb92169084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610de857600080fd5b6102c65a03f11515610df957600080fd5b50505060405180519050507f837a8eb37bed7440e9ac12400fbf0ae6e313db365e42e4e61d9d937d07e3b1038160405190815260200160405180910390a15b5b5050565b6000818152600760205260409020600301544290035b919050565b60025481565b60085481565b60005433600160a060020a03908116911614610e7f57600080fd5b7f3da611cde6fbc4cc0e98a45d8128c275c40c20b070d80cb991575a0b472d18116003548260405191825260208201526040908101905180910390a160038190555b5b50565b60005433600160a060020a03908116911614610ee057600080fd5b600160a060020a038116156105e9576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a72305820a3a8558f69cb6d92741836e21978da571b7f595a696b583b859661b87e884fa50029000000000000000000000000e5a89eb6b03d8b176d0eca7cf78d58d5ff499ae4

Deployed Bytecode

0x606060405236156101225763ffffffff60e060020a60003504166301996951811461012757806304fad28d1461014c5780630edc19231461017157806326dcbcfc146101895780632726a530146101b85780632ca60d85146101e25780632e1a7d4d1461026d5780633f4ba83a1461028557806359c77133146102ac5780635c975abb146102c95780635fe825f8146102f05780636ccbdbf91461032257806375d0c0dc1461034a5780638456cb59146103d55780638a34bb24146103fc5780638da5cb5b146104145780639067b67714610443578063a2f7b3a51461046b578063c91bc856146104c0578063d2c49b7f146104d5578063d41977cd146104fd578063d9244bf914610522578063e7cf6fcb14610547578063f2fde38b1461055f575b600080fd5b341561013257600080fd5b61013a610580565b60405190815260200160405180910390f35b341561015757600080fd5b61013a610586565b60405190815260200160405180910390f35b341561017c57600080fd5b61018760043561058c565b005b341561019457600080fd5b61019c6105ed565b604051600160a060020a03909116815260200160405180910390f35b34156101c357600080fd5b6101ce6004356105fc565b604051901515815260200160405180910390f35b34156101ed57600080fd5b6101f561061e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102325780820151818401525b602001610219565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027857600080fd5b6101876004356106bc565b005b341561029057600080fd5b6101ce610802565b604051901515815260200160405180910390f35b61013a600435610889565b60405190815260200160405180910390f35b34156102d457600080fd5b6101ce610a57565b604051901515815260200160405180910390f35b34156102fb57600080fd5b61019c600435610a67565b604051600160a060020a03909116815260200160405180910390f35b341561032d57600080fd5b61013a600435610a88565b60405190815260200160405180910390f35b341561035557600080fd5b6101f5610aa0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102325780820151818401525b602001610219565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e057600080fd5b6101ce610b3e565b604051901515815260200160405180910390f35b341561040757600080fd5b610187600435610bca565b005b341561041f57600080fd5b61019c610c2b565b604051600160a060020a03909116815260200160405180910390f35b341561044e57600080fd5b61013a600435610c3a565b60405190815260200160405180910390f35b341561047657600080fd5b610481600435610c52565b604051948552600160a060020a0390931660208501529015156040808501919091526060840191909152608083019190915260a0909101905180910390f35b34156104cb57600080fd5b610187610c8e565b005b34156104e057600080fd5b61013a600435610e3d565b60405190815260200160405180910390f35b341561050857600080fd5b61013a610e58565b60405190815260200160405180910390f35b341561052d57600080fd5b61013a610e5e565b60405190815260200160405180910390f35b341561055257600080fd5b610187600435610e64565b005b341561056a57600080fd5b610187600160a060020a0360043516610ec5565b005b60035481565b60065481565b60005433600160a060020a039081169116146105a757600080fd5b7f1fe64f19a0a28b433fc8e226ca6eb03fd043a0e5c86e56b49add3b15a87e59756008548260405191825260208201526040908101905180910390a160088190555b5b50565b600154600160a060020a031681565b60008181526007602052604090206001015460a060020a900460ff165b919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106b45780601f10610689576101008083540402835291602001916106b4565b820191906000526020600020905b81548152906001019060200180831161069757829003601f168201915b505050505081565b600081815260076020526040812060010154829033600160a060020a039081169116146106e857600080fd5b6000838152600760205260409020548390811461070457600080fd5b60005460a060020a900460ff161561071b57600080fd5b6000848152600760205260409020600381015490935042101561073d57600080fd5b600183015460a060020a900460ff161561075657600080fd5b60018301805474ff0000000000000000000000000000000000000000191660a060020a17908190556002840154600160a060020a039091169080156108fc0290604051600060405180830381858888f1935050505015156107b657600080fd5b33600160a060020a0316847f7e31c53a2ff622c9aca28fc556f86404cc3b703074d95a2d600dc240dd6bbe02856002015460405190815260200160405180910390a35b5b5b505b505050565b6000805433600160a060020a0390811691161461081e57600080fd5b60005460a060020a900460ff16151561083657600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a15060015b5b5b90565b6001546002546000918291829182918291600160a060020a03169063c119d01990339060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156108ef57600080fd5b6102c65a03f1151561090057600080fd5b50505033600160a060020a03167f8ffcdc15a283d706d38281f500270d8b5a656918f555de0913d7455e3e6bc1bf60405160405180910390a260035434111561094857600080fd5b60005460a060020a900460ff161561095f57600080fd5b4286101561096c57600080fd5b600854428703111561097d57600080fd5b6000341161098a57600080fd5b50506006546000818152600760205260409081902082815560018101805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03811691821774ff000000000000000000000000000000000000000019169092553460028401819055600384018a90559497509095509293508692909186907fb8305b4346dc4befa1b1d5096404f626a051cf8d4d7a2de4ceabc863a6b0676390869086905191825260208201526040908101905180910390a36006805460010190555b5b5b5b50505050919050565b60005460a060020a900460ff1681565b600081815260076020526040902060010154600160a060020a03165b919050565b6000818152600760205260409020600201545b919050565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106b45780601f10610689576101008083540402835291602001916106b4565b820191906000526020600020905b81548152906001019060200180831161069757829003601f168201915b505050505081565b6000805433600160a060020a03908116911614610b5a57600080fd5b60005460a060020a900460ff1615610b7157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a15060015b5b5b90565b60005433600160a060020a03908116911614610be557600080fd5b7feef27913e190f718408e23b0a5602c402bd0c6b5a65757761dfbf29c086ba6136002548260405191825260208201526040908101905180910390a160028190555b5b50565b600054600160a060020a031681565b6000818152600760205260409020600301545b919050565b60076020526000908152604090208054600182015460028301546003909301549192600160a060020a0382169260a060020a90920460ff169185565b60008054819033600160a060020a03908116911614610cac57600080fd5b600154600160a060020a0316638a8b7deb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cf457600080fd5b6102c65a03f11515610d0557600080fd5b5050506040518051925050600160a060020a0382166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610d6757600080fd5b6102c65a03f11515610d7857600080fd5b505050604051805160008054919350600160a060020a03808616935063a9059cbb92169084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610de857600080fd5b6102c65a03f11515610df957600080fd5b50505060405180519050507f837a8eb37bed7440e9ac12400fbf0ae6e313db365e42e4e61d9d937d07e3b1038160405190815260200160405180910390a15b5b5050565b6000818152600760205260409020600301544290035b919050565b60025481565b60085481565b60005433600160a060020a03908116911614610e7f57600080fd5b7f3da611cde6fbc4cc0e98a45d8128c275c40c20b070d80cb991575a0b472d18116003548260405191825260208201526040908101905180910390a160038190555b5b50565b60005433600160a060020a03908116911614610ee057600080fd5b600160a060020a038116156105e9576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a72305820a3a8558f69cb6d92741836e21978da571b7f595a696b583b859661b87e884fa50029

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

000000000000000000000000e5A89EB6B03d8B176d0ECa7cf78D58D5fF499aE4

-----Decoded View---------------
Arg [0] : _catPaymentCollector (address): 0xe5A89EB6B03d8B176d0ECa7cf78D58D5fF499aE4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e5A89EB6B03d8B176d0ECa7cf78D58D5fF499aE4


Swarm Source

bzzr://a3a8558f69cb6d92741836e21978da571b7f595a696b583b859661b87e884fa5

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.