More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 969 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 7075912 | 2235 days ago | IN | 0 ETH | 0.00005828 | ||||
Transfer | 6827480 | 2278 days ago | IN | 0.1 ETH | 0.00598882 | ||||
Transfer* | 6827477 | 2278 days ago | IN | 0.1 ETH | 0.00598882 | ||||
End Crowdsale | 4565328 | 2661 days ago | IN | 0 ETH | 0.00071078 | ||||
Transfer | 4556007 | 2663 days ago | IN | 0.0891 ETH | 0.0017124 | ||||
Transfer | 4551975 | 2663 days ago | IN | 3 ETH | 0.00173979 | ||||
Transfer | 4546939 | 2664 days ago | IN | 0.0387788 ETH | 0.0017124 | ||||
Transfer | 4546170 | 2664 days ago | IN | 0.3129137 ETH | 0.0017124 | ||||
Transfer | 4544565 | 2665 days ago | IN | 10 ETH | 0.00143841 | ||||
Transfer | 4540070 | 2665 days ago | IN | 0.38552516 ETH | 0.0017124 | ||||
Transfer | 4539960 | 2665 days ago | IN | 0.001 ETH | 0.0008 | ||||
Transfer | 4531932 | 2667 days ago | IN | 0.07 ETH | 0.0017124 | ||||
Transfer | 4528594 | 2667 days ago | IN | 0.25 ETH | 0.00171924 | ||||
Transfer | 4518692 | 2669 days ago | IN | 0.085 ETH | 0.0017124 | ||||
Transfer | 4518439 | 2669 days ago | IN | 0.5 ETH | 0.0034248 | ||||
Transfer | 4513906 | 2669 days ago | IN | 0.03 ETH | 0.00137484 | ||||
Transfer | 4509177 | 2670 days ago | IN | 0.1 ETH | 0.00143841 | ||||
Transfer | 4497139 | 2672 days ago | IN | 0.10875 ETH | 0.00173294 | ||||
Transfer | 4497089 | 2672 days ago | IN | 0.11 ETH | 0.000441 | ||||
Transfer | 4488141 | 2674 days ago | IN | 0.329535 ETH | 0.0017124 | ||||
Transfer | 4487691 | 2674 days ago | IN | 10 ETH | 0.00112341 | ||||
Transfer | 4483219 | 2674 days ago | IN | 0.125 ETH | 0.00143841 | ||||
Transfer | 4482233 | 2675 days ago | IN | 1.15795 ETH | 0.0017124 | ||||
Transfer | 4476073 | 2676 days ago | IN | 0.5 ETH | 0.00058845 | ||||
Transfer | 4475487 | 2676 days ago | IN | 0.5 ETH | 0.0008151 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
EventChainCrowdsale
Compiler Version
v0.4.16+commit.d7661dd9
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-09-12 */ pragma solidity ^0.4.11; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ 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; } } /** * @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; /** * @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() { assert(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 { assert(newOwner != address(0)); owner = newOwner; } } /* * @title Haltable * @dev Abstract contract that allows children to implement an emergency stop mechanism. * @dev Differs from Pausable by causing a throw when in halt mode. */ contract Haltable is Ownable { bool public halted; modifier stopInEmergency { assert(!halted); _; } modifier onlyInEmergency { assert(halted); _; } /** * @dev Called by the owner on emergency, triggers stopped state. */ function halt() external onlyOwner { halted = true; } /** * @dev Called by the owner on end of emergency, returns to normal state. */ function unhalt() external onlyOwner onlyInEmergency { halted = false; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ 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); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ 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); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ 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) onlyPayloadSize(2 * 32) 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]; } /** * @dev Fix for the ERC20 short address attack * @dev see: http://vessenes.com/the-erc20-short-address-attack-explained/ * @dev see: https://www.reddit.com/r/ethereum/comments/63s917/worrysome_bug_exploit_with_erc20_token/dfwmhc3/ */ modifier onlyPayloadSize(uint size) { assert (msg.data.length >= size + 4); _; } } /** * @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)) 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 // assert (_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 assert((_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 available for the spender. */ function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } } /** * @title MintableToken * @dev Token that can be minted by another contract until the defined cap is reached. * @dev Based on https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol */ contract MintableToken is StandardToken, Ownable { using SafeMath for uint; uint256 public mintableSupply; /** * @dev List of agents that are allowed to create new tokens */ mapping(address => bool) public mintAgents; event MintingAgentChanged(address addr, bool state); /** * @dev Mint token from pool of mintable tokens. * @dev Only callable by the mint-agent. */ function mint(address receiver, uint256 amount) onlyPayloadSize(2 * 32) onlyMintAgent canMint public { mintableSupply = mintableSupply.sub(amount); balances[receiver] = balances[receiver].add(amount); // This will make the mint transaction appear in EtherScan.io // We can remove this after there is a standardized minting event Transfer(0, receiver, amount); } /** * @dev Owner can allow a crowdsale contract to mint new tokens. */ function setMintAgent(address addr, bool state) onlyOwner canMint public { mintAgents[addr] = state; MintingAgentChanged(addr, state); } modifier onlyMintAgent() { // Only the mint-agent is allowed to mint new tokens assert (mintAgents[msg.sender]); _; } /** * @dev Make sure we are not done yet. */ modifier canMint() { assert(mintableSupply > 0); _; } /** * @dev Fix for the ERC20 short address attack * @dev see: http://vessenes.com/the-erc20-short-address-attack-explained/ * @dev see: https://www.reddit.com/r/ethereum/comments/63s917/worrysome_bug_exploit_with_erc20_token/dfwmhc3/ */ modifier onlyPayloadSize(uint size) { assert (msg.data.length >= size + 4); _; } } /* * @title ReleasableToken * @dev Token that may not be transfered until it was released. */ contract ReleasableToken is ERC20, Ownable { address public releaseAgent; bool public released = false; /** * @dev One way function to release the tokens to the wild. */ function releaseToken() public onlyReleaseAgent { released = true; } /** * @dev Set the contract that may call the release function. */ function setReleaseAgent(address addr) onlyOwner inReleaseState(false) public { releaseAgent = addr; } function transfer(address _to, uint _value) inReleaseState(true) returns (bool) { return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint _value) inReleaseState(true) returns (bool) { return super.transferFrom(_from, _to, _value); } /** * @dev The function can be called only before or after the tokens have been releasesd */ modifier inReleaseState(bool releaseState) { assert(releaseState == released); _; } /** * @dev The function can be called only by a whitelisted release agent. */ modifier onlyReleaseAgent() { assert(msg.sender == releaseAgent); _; } } /** * @title EventChain * @dev Contract for the EventChain token. */ contract EventChain is ReleasableToken, MintableToken { string public name = "EventChain"; string public symbol = "EVC"; uint8 public decimals = 18; function EventChain() { // total supply is 84 million tokens totalSupply = 84000000 ether; mintableSupply = totalSupply; // allow deployer to unlock token transfer and mint tokens setReleaseAgent(msg.sender); setMintAgent(msg.sender, true); } } /* * @title Crowdsale * @dev Contract to manage the EVC crowdsale * @dev Using assert over assert within the contract in order to generate error opscodes (0xfe), that will properly show up in etherscan * @dev The assert error opscode (0xfd) will show up in etherscan after the metropolis release * @dev see: https://ethereum.stackexchange.com/a/24185 */ contract EventChainCrowdsale is Haltable { using SafeMath for uint256; enum State{Ready, Phase1, Phase2, Phase3, CrowdsaleEnded} uint256 constant public PHASE2_SUPPLY = 21000000 ether; uint256 constant public PHASE3_SUPPLY = 22600000 ether; uint256 constant public PHASE1_RATE = 1140; uint256 constant public PHASE2_RATE = 920; uint256 constant public PHASE3_RATE = 800; uint256 constant public MIN_INVEST = 10 finney; uint256 constant public BTWO_CLAIM_PERCENT = 3; EventChain public evc; address public beneficiary; address public beneficiaryTwo; uint256 public totalRaised; State public currentState; uint256 public currentRate; uint256 public currentSupply; uint256 public currentTotalSupply; event StateChanged(State from, State to); event FundsClaimed(address receiver, uint256 claim, string crowdsalePhase); event InvestmentMade( address investor, uint256 weiAmount, uint256 tokenAmount, string crowdsalePhase, bytes calldata ); function EventChainCrowdsale(EventChain _evc, address _beneficiary, address _beneficiaryTwo) { assert(address(_evc) != 0x0); assert(address(_beneficiary) != 0x0); assert(address(_beneficiaryTwo) != 0x0); beneficiary = _beneficiary; beneficiaryTwo = _beneficiaryTwo; evc = _evc; } function() payable onlyWhenCrowdsaleIsOpen stopInEmergency external { assert(msg.data.length <= 68); // 64 bytes data limit plus 4 for the prefix assert(msg.value >= MIN_INVEST); uint256 tokens = msg.value.mul(currentRate); currentSupply = currentSupply.sub(tokens); evc.mint(msg.sender, tokens); totalRaised = totalRaised.add(msg.value); InvestmentMade( msg.sender, msg.value, tokens, currentStateToString(), msg.data ); } function startPhase1() onlyOwner inState(State.Ready) stopInEmergency external { currentTotalSupply = evc.mintableSupply().sub(PHASE2_SUPPLY).sub(PHASE3_SUPPLY); currentSupply = currentTotalSupply; currentRate = PHASE1_RATE; currentState = State.Phase1; StateChanged(State.Ready, currentState); } function startPhase2() onlyOwner inState(State.Phase1) stopInEmergency external { phaseClaim(); currentTotalSupply = currentSupply.add(PHASE2_SUPPLY); currentSupply = currentTotalSupply; currentRate = PHASE2_RATE; currentState = State.Phase2; StateChanged(State.Phase1, currentState); } function startPhase3() onlyOwner inState(State.Phase2) stopInEmergency external { phaseClaim(); currentTotalSupply = currentSupply.add(PHASE3_SUPPLY); currentSupply = currentTotalSupply; currentRate = PHASE3_RATE; currentState = State.Phase3; StateChanged(State.Phase2, currentState); } function endCrowdsale() onlyOwner inState(State.Phase3) stopInEmergency external { phaseClaim(); currentTotalSupply = 0; currentSupply = 0; currentRate = 0; currentState = State.CrowdsaleEnded; StateChanged(State.Phase3, currentState); } function currentStateToString() constant returns (string) { if (currentState == State.Ready) { return "Ready"; } else if (currentState == State.Phase1) { return "Phase 1"; } else if (currentState == State.Phase2) { return "Phase 2"; } else if (currentState == State.Phase3) { return "Phase 3"; } else { return "Crowdsale ended"; } } function phaseClaim() internal { uint256 beneficiaryTwoClaim = this.balance.div(100).mul(BTWO_CLAIM_PERCENT); beneficiaryTwo.transfer(beneficiaryTwoClaim); FundsClaimed(beneficiaryTwo, beneficiaryTwoClaim, currentStateToString()); uint256 beneficiaryClaim = this.balance; beneficiary.transfer(this.balance); FundsClaimed(beneficiary, beneficiaryClaim, currentStateToString()); } modifier inState(State _state) { assert(currentState == _state); _; } modifier onlyWhenCrowdsaleIsOpen() { assert(currentState == State.Phase1 || currentState == State.Phase2 || currentState == State.Phase3); _; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"currentState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"evc","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_INVEST","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiaryTwo","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentStateToString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHASE3_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHASE3_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startPhase3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BTWO_CLAIM_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHASE2_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startPhase1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"PHASE1_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PHASE2_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startPhase2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_evc","type":"address"},{"name":"_beneficiary","type":"address"},{"name":"_beneficiaryTwo","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"uint8"},{"indexed":false,"name":"to","type":"uint8"}],"name":"StateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"claim","type":"uint256"},{"indexed":false,"name":"crowdsalePhase","type":"string"}],"name":"FundsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"crowdsalePhase","type":"string"},{"indexed":false,"name":"calldata","type":"bytes"}],"name":"InvestmentMade","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60405160608061123f8339810160405280805191906020018051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b600160a060020a038316151561006357fe5b600160a060020a038216151561007557fe5b600160a060020a038116151561008757fe5b60028054600160a060020a03808516600160a060020a0319928316179092556003805484841690831617905560018054928616929091169190911790555b5050505b611167806100d86000396000f3006060604052361561012d5763ffffffff60e060020a6000350416630c3f6acf81146103535780630fb411e81461038a5780631b85aa49146103b95780631bff4bfa146103de5780632095f2d41461040d5780632e66ee1b146104225780632fe6ecb2146104ad578063311277c1146104d257806338af3eed146104f7578063410b1da8146105265780635ed7ca5b1461054b5780635f2b9ac014610560578063771282f6146105755780638c12c35c1461059a5780638da5cb5b146105bf57806395c43d84146105ee578063a44081d114610613578063b20c0e4314610628578063b8782d491461064d578063b9b8af0b14610672578063c5c4744c14610699578063cb3e64fd146106be578063f2fde38b146106d3578063f9f8bdb7146106f4578063fcb5bc2914610719575b5b600060015b60055460ff16600481111561014457fe5b1480610161575060025b60055460ff16600481111561015f57fe5b145b8061017d575060035b60055460ff16600481111561017b57fe5b145b151561018557fe5b60005460a060020a900460ff161561019957fe5b60443611156101a457fe5b662386f26fc100003410156101b557fe5b6006546101c990349063ffffffff61072e16565b6007549091506101df908263ffffffff61075d16565b600755600154600160a060020a03166340c10f19338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561023857600080fd5b6102c65a03f1151561024957600080fd5b505060045461025f91503463ffffffff61077416565b6004557f56430201b2365e1ecdceb0be78905cbc9a625c9f627c33e035ee6f00afd7be0f33348361028e61078e565b6000366040518087600160a060020a0316600160a060020a031681526020018681526020018581526020018060200180602001838103835286818151815260200191508051906020019080838360005b838110156102f75780820151818401525b6020016102de565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b50838103825284815260200185858082843782019150509850505050505050505060405180910390a15b5b5b50005b341561035e57600080fd5b610366610928565b6040518082600481111561037657fe5b60ff16815260200191505060405180910390f35b341561039557600080fd5b61039d610931565b604051600160a060020a03909116815260200160405180910390f35b34156103c457600080fd5b6103cc610940565b60405190815260200160405180910390f35b34156103e957600080fd5b61039d61094b565b604051600160a060020a03909116815260200160405180910390f35b341561041857600080fd5b61042061095a565b005b341561042d57600080fd5b61043561078e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104725780820151818401525b602001610459565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b857600080fd5b6103cc610a26565b60405190815260200160405180910390f35b34156104dd57600080fd5b6103cc610a35565b60405190815260200160405180910390f35b341561050257600080fd5b61039d610a3b565b604051600160a060020a03909116815260200160405180910390f35b341561053157600080fd5b6103cc610a4a565b60405190815260200160405180910390f35b341561055657600080fd5b610420610a50565b005b341561056b57600080fd5b610420610a90565b005b341561058057600080fd5b6103cc610b79565b60405190815260200160405180910390f35b34156105a557600080fd5b6103cc610b7f565b60405190815260200160405180910390f35b34156105ca57600080fd5b61039d610b84565b604051600160a060020a03909116815260200160405180910390f35b34156105f957600080fd5b6103cc610b93565b60405190815260200160405180910390f35b341561061e57600080fd5b610420610ba2565b005b341561063357600080fd5b6103cc610d01565b60405190815260200160405180910390f35b341561065857600080fd5b6103cc610d07565b60405190815260200160405180910390f35b341561067d57600080fd5b610685610d0d565b604051901515815260200160405180910390f35b34156106a457600080fd5b6103cc610d1d565b60405190815260200160405180910390f35b34156106c957600080fd5b610420610d23565b005b34156106de57600080fd5b610420600160a060020a0360043516610d73565b005b34156106ff57600080fd5b6103cc610dca565b60405190815260200160405180910390f35b341561072457600080fd5b610420610dd0565b005b600082820283158061074a575082848281151561074757fe5b04145b151561075257fe5b8091505b5092915050565b60008282111561076957fe5b508082035b92915050565b60008282018381101561075257fe5b8091505b5092915050565b610796611109565b60005b60055460ff1660048111156107aa57fe5b14156107eb5760408051908101604052600581527f526561647900000000000000000000000000000000000000000000000000000060208201529050610921565b60015b60055460ff1660048111156107ff57fe5b14156108405760408051908101604052600781527f506861736520310000000000000000000000000000000000000000000000000060208201529050610921565b60025b60055460ff16600481111561085457fe5b14156108955760408051908101604052600781527f506861736520320000000000000000000000000000000000000000000000000060208201529050610921565b60035b60055460ff1660048111156108a957fe5b14156108ea5760408051908101604052600781527f506861736520330000000000000000000000000000000000000000000000000060208201529050610921565b60408051908101604052600f81527f43726f776473616c6520656e6465640000000000000000000000000000000000602082015290505b5b5b5b5b90565b60055460ff1681565b600154600160a060020a031681565b662386f26fc1000081565b600354600160a060020a031681565b60005433600160a060020a0390811691161461097257fe5b6003805b60055460ff16600481111561098757fe5b1461098e57fe5b60005460a060020a900460ff16156109a257fe5b6109aa610eb9565b600060088190556007819055600655600580546004919060ff19166001835b021790555060055460008051602061111c8339815191529060039060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b6a12b1bc7474e42d9d00000081565b61032081565b600254600160a060020a031681565b60085481565b60005433600160a060020a03908116911614610a6857fe5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60005433600160a060020a03908116911614610aa857fe5b6002805b60055460ff166004811115610abd57fe5b14610ac457fe5b60005460a060020a900460ff1615610ad857fe5b610ae0610eb9565b600754610afe906a12b1bc7474e42d9d00000063ffffffff61077416565b6008819055600755610320600655600580546003919060ff19166001835b021790555060055460008051602061111c8339815191529060029060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b60075481565b600381565b600054600160a060020a031681565b6a115eec47f6cf7e3500000081565b60005433600160a060020a03908116911614610bba57fe5b6000805b60055460ff166004811115610bcf57fe5b14610bd657fe5b60005460a060020a900460ff1615610bea57fe5b600154610c87906a12b1bc7474e42d9d00000090610c7b906a115eec47f6cf7e3500000090600160a060020a031663cc5c095c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c5457600080fd5b6102c65a03f11515610c6557600080fd5b505050604051805191905063ffffffff61075d16565b9063ffffffff61075d16565b6008819055600755610474600655600580546001919060ff191682805b021790555060055460008051602061111c8339815191529060009060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b61047481565b61039881565b60005460a060020a900460ff1681565b60045481565b60005433600160a060020a03908116911614610d3b57fe5b60005460a060020a900460ff161515610d5057fe5b6000805474ff0000000000000000000000000000000000000000191690555b5b5b565b60005433600160a060020a03908116911614610d8b57fe5b600160a060020a0381161515610d9d57fe5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60065481565b60005433600160a060020a03908116911614610de857fe5b6001805b60055460ff166004811115610dfd57fe5b14610e0457fe5b60005460a060020a900460ff1615610e1857fe5b610e20610eb9565b600754610e3e906a115eec47f6cf7e3500000063ffffffff61077416565b6008819055600755610398600655600580546002919060ff19166001835b021790555060055460008051602061111c8339815191529060019060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b600080610ee86003610edc600160a060020a03301631606463ffffffff6110ed16565b9063ffffffff61072e16565b600354909250600160a060020a031682156108fc0283604051600060405180830381858888f193505050501515610f1e57600080fd5b6003547f9c9fe2a4ffc2d534291d4944e37f0ff0a182aa17531e0c9c44227d18e7da67f890600160a060020a031683610f5561078e565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b83811015610fa85780820151818401525b602001610f8f565b50505050905090810190601f168015610fd55780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150600254600160a060020a03308116803192909116903180156108fc0290604051600060405180830381858888f19350505050151561102257600080fd5b6002547f9c9fe2a4ffc2d534291d4944e37f0ff0a182aa17531e0c9c44227d18e7da67f890600160a060020a03168261105961078e565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b838110156110ac5780820151818401525b602001611093565b50505050905090810190601f1680156110d95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b5050565b60008082848115156110fb57fe5b0490508091505b5092915050565b602060405190810160405260008152905600e8a97ea87e4388fa22d496b95a8ed5ced6717f49790318de2b928aaf37a021d8a165627a7a72305820fb7c7e3dc58f60dbf88aa5d6f0730384947685fc561ca405c24839c345e73f990029000000000000000000000000b62d18dea74045e822352ce4b3ee77319dc5ff2f0000000000000000000000008947a66b513b40e3ad2b929b6022feeb12f81ba3000000000000000000000000d655f24c3134f445e0f9a5b20c10e686f0271b66
Deployed Bytecode
0x6060604052361561012d5763ffffffff60e060020a6000350416630c3f6acf81146103535780630fb411e81461038a5780631b85aa49146103b95780631bff4bfa146103de5780632095f2d41461040d5780632e66ee1b146104225780632fe6ecb2146104ad578063311277c1146104d257806338af3eed146104f7578063410b1da8146105265780635ed7ca5b1461054b5780635f2b9ac014610560578063771282f6146105755780638c12c35c1461059a5780638da5cb5b146105bf57806395c43d84146105ee578063a44081d114610613578063b20c0e4314610628578063b8782d491461064d578063b9b8af0b14610672578063c5c4744c14610699578063cb3e64fd146106be578063f2fde38b146106d3578063f9f8bdb7146106f4578063fcb5bc2914610719575b5b600060015b60055460ff16600481111561014457fe5b1480610161575060025b60055460ff16600481111561015f57fe5b145b8061017d575060035b60055460ff16600481111561017b57fe5b145b151561018557fe5b60005460a060020a900460ff161561019957fe5b60443611156101a457fe5b662386f26fc100003410156101b557fe5b6006546101c990349063ffffffff61072e16565b6007549091506101df908263ffffffff61075d16565b600755600154600160a060020a03166340c10f19338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561023857600080fd5b6102c65a03f1151561024957600080fd5b505060045461025f91503463ffffffff61077416565b6004557f56430201b2365e1ecdceb0be78905cbc9a625c9f627c33e035ee6f00afd7be0f33348361028e61078e565b6000366040518087600160a060020a0316600160a060020a031681526020018681526020018581526020018060200180602001838103835286818151815260200191508051906020019080838360005b838110156102f75780820151818401525b6020016102de565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b50838103825284815260200185858082843782019150509850505050505050505060405180910390a15b5b5b50005b341561035e57600080fd5b610366610928565b6040518082600481111561037657fe5b60ff16815260200191505060405180910390f35b341561039557600080fd5b61039d610931565b604051600160a060020a03909116815260200160405180910390f35b34156103c457600080fd5b6103cc610940565b60405190815260200160405180910390f35b34156103e957600080fd5b61039d61094b565b604051600160a060020a03909116815260200160405180910390f35b341561041857600080fd5b61042061095a565b005b341561042d57600080fd5b61043561078e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104725780820151818401525b602001610459565b50505050905090810190601f16801561049f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b857600080fd5b6103cc610a26565b60405190815260200160405180910390f35b34156104dd57600080fd5b6103cc610a35565b60405190815260200160405180910390f35b341561050257600080fd5b61039d610a3b565b604051600160a060020a03909116815260200160405180910390f35b341561053157600080fd5b6103cc610a4a565b60405190815260200160405180910390f35b341561055657600080fd5b610420610a50565b005b341561056b57600080fd5b610420610a90565b005b341561058057600080fd5b6103cc610b79565b60405190815260200160405180910390f35b34156105a557600080fd5b6103cc610b7f565b60405190815260200160405180910390f35b34156105ca57600080fd5b61039d610b84565b604051600160a060020a03909116815260200160405180910390f35b34156105f957600080fd5b6103cc610b93565b60405190815260200160405180910390f35b341561061e57600080fd5b610420610ba2565b005b341561063357600080fd5b6103cc610d01565b60405190815260200160405180910390f35b341561065857600080fd5b6103cc610d07565b60405190815260200160405180910390f35b341561067d57600080fd5b610685610d0d565b604051901515815260200160405180910390f35b34156106a457600080fd5b6103cc610d1d565b60405190815260200160405180910390f35b34156106c957600080fd5b610420610d23565b005b34156106de57600080fd5b610420600160a060020a0360043516610d73565b005b34156106ff57600080fd5b6103cc610dca565b60405190815260200160405180910390f35b341561072457600080fd5b610420610dd0565b005b600082820283158061074a575082848281151561074757fe5b04145b151561075257fe5b8091505b5092915050565b60008282111561076957fe5b508082035b92915050565b60008282018381101561075257fe5b8091505b5092915050565b610796611109565b60005b60055460ff1660048111156107aa57fe5b14156107eb5760408051908101604052600581527f526561647900000000000000000000000000000000000000000000000000000060208201529050610921565b60015b60055460ff1660048111156107ff57fe5b14156108405760408051908101604052600781527f506861736520310000000000000000000000000000000000000000000000000060208201529050610921565b60025b60055460ff16600481111561085457fe5b14156108955760408051908101604052600781527f506861736520320000000000000000000000000000000000000000000000000060208201529050610921565b60035b60055460ff1660048111156108a957fe5b14156108ea5760408051908101604052600781527f506861736520330000000000000000000000000000000000000000000000000060208201529050610921565b60408051908101604052600f81527f43726f776473616c6520656e6465640000000000000000000000000000000000602082015290505b5b5b5b5b90565b60055460ff1681565b600154600160a060020a031681565b662386f26fc1000081565b600354600160a060020a031681565b60005433600160a060020a0390811691161461097257fe5b6003805b60055460ff16600481111561098757fe5b1461098e57fe5b60005460a060020a900460ff16156109a257fe5b6109aa610eb9565b600060088190556007819055600655600580546004919060ff19166001835b021790555060055460008051602061111c8339815191529060039060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b6a12b1bc7474e42d9d00000081565b61032081565b600254600160a060020a031681565b60085481565b60005433600160a060020a03908116911614610a6857fe5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60005433600160a060020a03908116911614610aa857fe5b6002805b60055460ff166004811115610abd57fe5b14610ac457fe5b60005460a060020a900460ff1615610ad857fe5b610ae0610eb9565b600754610afe906a12b1bc7474e42d9d00000063ffffffff61077416565b6008819055600755610320600655600580546003919060ff19166001835b021790555060055460008051602061111c8339815191529060029060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b60075481565b600381565b600054600160a060020a031681565b6a115eec47f6cf7e3500000081565b60005433600160a060020a03908116911614610bba57fe5b6000805b60055460ff166004811115610bcf57fe5b14610bd657fe5b60005460a060020a900460ff1615610bea57fe5b600154610c87906a12b1bc7474e42d9d00000090610c7b906a115eec47f6cf7e3500000090600160a060020a031663cc5c095c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c5457600080fd5b6102c65a03f11515610c6557600080fd5b505050604051805191905063ffffffff61075d16565b9063ffffffff61075d16565b6008819055600755610474600655600580546001919060ff191682805b021790555060055460008051602061111c8339815191529060009060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b61047481565b61039881565b60005460a060020a900460ff1681565b60045481565b60005433600160a060020a03908116911614610d3b57fe5b60005460a060020a900460ff161515610d5057fe5b6000805474ff0000000000000000000000000000000000000000191690555b5b5b565b60005433600160a060020a03908116911614610d8b57fe5b600160a060020a0381161515610d9d57fe5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60065481565b60005433600160a060020a03908116911614610de857fe5b6001805b60055460ff166004811115610dfd57fe5b14610e0457fe5b60005460a060020a900460ff1615610e1857fe5b610e20610eb9565b600754610e3e906a115eec47f6cf7e3500000063ffffffff61077416565b6008819055600755610398600655600580546002919060ff19166001835b021790555060055460008051602061111c8339815191529060019060ff16604051808360048111156109f757fe5b60ff168152602001826004811115610a0b57fe5b60ff1681526020019250505060405180910390a15b5b5b505b565b600080610ee86003610edc600160a060020a03301631606463ffffffff6110ed16565b9063ffffffff61072e16565b600354909250600160a060020a031682156108fc0283604051600060405180830381858888f193505050501515610f1e57600080fd5b6003547f9c9fe2a4ffc2d534291d4944e37f0ff0a182aa17531e0c9c44227d18e7da67f890600160a060020a031683610f5561078e565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b83811015610fa85780820151818401525b602001610f8f565b50505050905090810190601f168015610fd55780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150600254600160a060020a03308116803192909116903180156108fc0290604051600060405180830381858888f19350505050151561102257600080fd5b6002547f9c9fe2a4ffc2d534291d4944e37f0ff0a182aa17531e0c9c44227d18e7da67f890600160a060020a03168261105961078e565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b838110156110ac5780820151818401525b602001611093565b50505050905090810190601f1680156110d95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b5050565b60008082848115156110fb57fe5b0490508091505b5092915050565b602060405190810160405260008152905600e8a97ea87e4388fa22d496b95a8ed5ced6717f49790318de2b928aaf37a021d8a165627a7a72305820fb7c7e3dc58f60dbf88aa5d6f0730384947685fc561ca405c24839c345e73f990029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b62d18dea74045e822352ce4b3ee77319dc5ff2f0000000000000000000000008947a66b513b40e3ad2b929b6022feeb12f81ba3000000000000000000000000d655f24c3134f445e0f9a5b20c10e686f0271b66
-----Decoded View---------------
Arg [0] : _evc (address): 0xb62d18DeA74045E822352CE4B3EE77319DC5ff2F
Arg [1] : _beneficiary (address): 0x8947A66b513b40E3Ad2B929b6022fEEB12F81Ba3
Arg [2] : _beneficiaryTwo (address): 0xD655f24c3134F445E0f9A5B20C10e686F0271b66
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b62d18dea74045e822352ce4b3ee77319dc5ff2f
Arg [1] : 0000000000000000000000008947a66b513b40e3ad2b929b6022feeb12f81ba3
Arg [2] : 000000000000000000000000d655f24c3134f445e0f9a5b20c10e686f0271b66
Swarm Source
bzzr://fb7c7e3dc58f60dbf88aa5d6f0730384947685fc561ca405c24839c345e73f99
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.