Sponsored:   Ubex.com - World roadshow: Seoul Sep 17-19, Singapore Sep 19-20, Dubai 18-23. Meet us!.
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 7 txns
 Latest 7 txns

TxHash Age From To Value [TxFee]
0xbbff91139d62c5e3aa8585b9330b81e565ecdd63d8b732cede7bd6d09a1d2d1198 days 22 hrs ago0xe7a7a7ae97c6d980fbb1b77c92b9b1440afe0178  IN   0xc047ed4200c3ec3f6e2ec55ad092b779c8fbcae10 Ether0.000147322
0xcba42ed53ce1182529d16dc368b0011ae43b814f2de9ba60c93f07bfcf07c80599 days 18 hrs ago0x0946c7de77b95075f5b234276ea51aba02907fd5  IN   0xc047ed4200c3ec3f6e2ec55ad092b779c8fbcae10 Ether0.000331945
0xa18c9e8b07ea1884e55f46e07f05cce2f7edac104cd5114c823525feb0bd1e7399 days 19 hrs ago0xcbc75b73d90e4a1abf1d8c0c08895ab77501c915  IN   0xc047ed4200c3ec3f6e2ec55ad092b779c8fbcae10 Ether0.000220055
0x41fed821444100d113ccdd0bfb701fcf33aff3144b9254e18ca6835326ab61ac100 days 1 hr ago0x0946c7de77b95075f5b234276ea51aba02907fd5  IN   0xc047ed4200c3ec3f6e2ec55ad092b779c8fbcae10 Ether0.00033732
0x94bf52413c4325f0094d295e4b10a3e675e8e8e604d819590b0b5be712eb81bc100 days 1 hr ago0xcbc75b73d90e4a1abf1d8c0c08895ab77501c915  IN   0xc047ed4200c3ec3f6e2ec55ad092b779c8fbcae10 Ether0.00092319
0x63493615901545fd335b7ba14882a9bfa00c6915b80da222535749c0c4eb62c5100 days 1 hr ago0x0946c7de77b95075f5b234276ea51aba02907fd5  IN   0xc047ed4200c3ec3f6e2ec55ad092b779c8fbcae10 Ether0.0026421
0xeee41a98b188c55bfde75c70cb1421c1648c24cdf57b83b246e2918651afbad0100 days 1 hr ago0x0946c7de77b95075f5b234276ea51aba02907fd5  IN    Contract Creation0 Ether0.01883818
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
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: Job
Compiler Text: v0.4.23+commit.124ca40d
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.21;

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


/**
 * @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 SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
  function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
    assert(token.transfer(to, value));
  }

  function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
    assert(token.transferFrom(from, to, value));
  }

  function safeApprove(ERC20 token, address spender, uint256 value) internal {
    assert(token.approve(spender, value));
  }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  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 c;
  }

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

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


contract Job {
    using SafeMath for uint256;
    using SafeERC20 for ERC20;

    event MilestoneCreated(uint16 id, uint16 parent, string title);
    event ProposalCreated(uint16 id, uint16 milestone, address contractor, uint256 amount);

    ERC20 public token;
    string public title; 
    string public description; 
    address public escrowAdmin;
    address public customer;
    
    struct Proposal {
        address contractor;             //Address of contractor
        uint256 amount;                 //Proposed price
        string description;             //Description of proposal
    }
    struct Milestone {
        uint16 parent;                  //id of parent milestone
        string title;                   //Milestone title
        string description;             //Milestone description
        uint64 deadline;                //Timestamp When work should be done
        Proposal[] proposals;           //Proposals from contractors
        int16 acceptedProposal;         //id of accepted proposal or -1 if no accepted
        bool done;                      //Contractor marked milestone as done
        bool approved;                  //Is approved by manager: general contractor or customer - for general milestones
        bool customerApproved;          //Is approved by customer
        bool requiresCustomerApproval;  //Is customer approval requireds
        uint256 paid;                   //Amount which was already paid to contractor
        uint256 allowance;              //Amount contractor allowed to spend to pay sub-contractors of this milestone
    }
    Milestone[] public milestones;      //Array of all milestones

    modifier onlyCustomer(){
        require(msg.sender == customer);
        _;
    }

    constructor(ERC20 _token, string _title, string _description, address _escrowAdmin) public {
        token = _token;
        customer = msg.sender;
        title = _title;
        description = _description;
        escrowAdmin = _escrowAdmin;

        pushMilestone(0, "", "", 0, false);
    }

    function addGeneralMilestone(string _title, string _description, uint64 _deadline) onlyCustomer external{
        require(_deadline > now);
        pushMilestone(0, _title, _description, _deadline, false);
    }
    function addSubMilestone(uint16 _parent, string _title, string _description, uint64 _deadline, bool _requiresCustomerApproval) external {
        require(_parent > 0 && _parent < milestones.length);
        Milestone storage parent = milestones[_parent];
        require(parent.acceptedProposal >= 0);
        address generalContractor = parent.proposals[uint16(parent.acceptedProposal)].contractor;
        assert(generalContractor!= address(0));
        require(msg.sender == generalContractor);
        pushMilestone(_parent, _title, _description, _deadline, _requiresCustomerApproval);
    }

    function addProposal(uint16 milestone, uint256 _amount, string _description) external {
        require(milestone < milestones.length);
        require(_amount > 0);
        milestones[milestone].proposals.push(Proposal({
            contractor: msg.sender,
            amount: _amount,
            description: _description
        }));
        emit ProposalCreated( uint16(milestones[milestone].proposals.length-1), milestone, msg.sender, _amount);
    }

    function getProposal(uint16 milestone, uint16 proposal) view public returns(address contractor, uint256 amount, string description){
        require(milestone < milestones.length);
        Milestone storage m = milestones[milestone];
        require(proposal < m.proposals.length);
        Proposal storage p = m.proposals[proposal];
        return (p.contractor, p.amount, p.description);
    }
    function getProposalAmount(uint16 milestone, uint16 proposal) view public returns(uint256){
        require(milestone < milestones.length);
        Milestone storage m = milestones[milestone];
        require(proposal < m.proposals.length);
        Proposal storage p = m.proposals[proposal];
        return p.amount;
    }
    function getProposalContractor(uint16 milestone, uint16 proposal) view public returns(address){
        require(milestone < milestones.length);
        Milestone storage m = milestones[milestone];
        require(proposal < m.proposals.length);
        Proposal storage p = m.proposals[proposal];
        return p.contractor;
    }


    function confirmProposalAndTransferFunds(uint16 milestone, uint16 proposal) onlyCustomer external returns(bool){
        require(milestone < milestones.length);
        Milestone storage m = milestones[milestone];
        require(m.deadline > now);

        require(proposal < m.proposals.length);
        Proposal storage p = m.proposals[proposal];
        m.acceptedProposal = int16(proposal);

        require(token.transferFrom(customer, address(this), p.amount));
        return true;
    }
    function markDone(uint16 _milestone) external {
        require(_milestone < milestones.length);
        Milestone storage m = milestones[_milestone];
        assert(m.acceptedProposal >= 0);
        Proposal storage p = m.proposals[uint16(m.acceptedProposal)];        
        require(msg.sender == p.contractor);
        require(m.done == false);
        m.done = true;
    }
    function approveAndPayout(uint16 _milestone) onlyCustomer external{
        require(_milestone < milestones.length);
        Milestone storage m = milestones[_milestone];
        require(m.acceptedProposal >= 0);
        //require(m.done);  //We do not require this right now
        m.customerApproved = true;
        Proposal storage p = m.proposals[uint16(m.acceptedProposal)];

        m.paid = p.amount;
        require(token.transfer(p.contractor, p.amount));
    }   

    function balance() view public returns(uint256) {
        return token.balanceOf(address(this));
    }

    function pushMilestone(uint16 _parent, string _title, string _description, uint64 _deadline, bool _requiresCustomerApproval) private returns(uint16) {
        uint16 id = uint16(milestones.length++);
        milestones[id].parent = _parent;
        milestones[id].title = _title;
        milestones[id].description = _description;
        milestones[id].deadline = _deadline;
        milestones[id].acceptedProposal = -1;
        milestones[id].requiresCustomerApproval = _requiresCustomerApproval;
        emit MilestoneCreated(id, _parent, _title);
        return id;
    }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"customer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"title","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_milestone","type":"uint16"}],"name":"approveAndPayout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"milestone","type":"uint16"},{"name":"proposal","type":"uint16"}],"name":"getProposal","outputs":[{"name":"contractor","type":"address"},{"name":"amount","type":"uint256"},{"name":"description","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"description","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"milestone","type":"uint16"},{"name":"proposal","type":"uint16"}],"name":"getProposalAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"escrowAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_title","type":"string"},{"name":"_description","type":"string"},{"name":"_deadline","type":"uint64"}],"name":"addGeneralMilestone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"milestone","type":"uint16"},{"name":"proposal","type":"uint16"}],"name":"confirmProposalAndTransferFunds","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"milestone","type":"uint16"},{"name":"_amount","type":"uint256"},{"name":"_description","type":"string"}],"name":"addProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"milestone","type":"uint16"},{"name":"proposal","type":"uint16"}],"name":"getProposalContractor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_milestone","type":"uint16"}],"name":"markDone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_parent","type":"uint16"},{"name":"_title","type":"string"},{"name":"_description","type":"string"},{"name":"_deadline","type":"uint64"},{"name":"_requiresCustomerApproval","type":"bool"}],"name":"addSubMilestone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"milestones","outputs":[{"name":"parent","type":"uint16"},{"name":"title","type":"string"},{"name":"description","type":"string"},{"name":"deadline","type":"uint64"},{"name":"acceptedProposal","type":"int16"},{"name":"done","type":"bool"},{"name":"approved","type":"bool"},{"name":"customerApproved","type":"bool"},{"name":"requiresCustomerApproval","type":"bool"},{"name":"paid","type":"uint256"},{"name":"allowance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_title","type":"string"},{"name":"_description","type":"string"},{"name":"_escrowAdmin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint16"},{"indexed":false,"name":"parent","type":"uint16"},{"indexed":false,"name":"title","type":"string"}],"name":"MilestoneCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint16"},{"indexed":false,"name":"milestone","type":"uint16"},{"indexed":false,"name":"contractor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ProposalCreated","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60806040523480156200001157600080fd5b5060405162001c1b38038062001c1b833981016040908152815160208084015192840151606085015160008054600160a060020a03808716600160a060020a03199283161790925560048054339093169290911691909117905593850180519395909491019290916200008a9160019186019062000351565b508151620000a090600290602085019062000351565b5060038054600160a060020a031916600160a060020a038316179055604080516020808201835260008083528351918201909352828152620000ef9291908280640100000000620000fa810204565b505050505062000558565b60008060058054809190600101620001139190620003d6565b90508660058261ffff168154811015156200012a57fe5b60009182526020909120600890910201805461ffff191661ffff92831617905560058054889284169081106200015c57fe5b906000526020600020906008020160010190805190602001906200018292919062000351565b508460058261ffff168154811015156200019857fe5b90600052602060002090600802016002019080519060200190620001be92919062000351565b508360058261ffff16815481101515620001d457fe5b906000526020600020906008020160030160006101000a8154816001604060020a0302191690836001604060020a0316021790555060001960058261ffff168154811015156200022057fe5b906000526020600020906008020160050160006101000a81548161ffff021916908360010b61ffff1602179055508260058261ffff168154811015156200026357fe5b906000526020600020906008020160050160056101000a81548160ff0219169083151502179055507fd112a2a587f0ce950d0595c2ce20489e9dc2c9362a27719c3c8d78df673ab4e0818888604051808461ffff1661ffff1681526020018361ffff1661ffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156200030a578181015183820152602001620002f0565b50505050905090810190601f168015620003385780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a19695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200039457805160ff1916838001178555620003c4565b82800160010185558215620003c4579182015b82811115620003c4578251825591602001919060010190620003a7565b50620003d29291506200040a565b5090565b81548183558181111562000405576008028160080283600052602060002091820191016200040591906200042a565b505050565b6200042791905b80821115620003d2576000815560010162000411565b90565b6200042791905b80821115620003d257805461ffff191681556000620004546001830182620004b0565b62000464600283016000620004b0565b60038201805467ffffffffffffffff1916905562000487600483016000620004fb565b5060058101805465ffffffffffff19169055600060068201819055600782015560080162000431565b50805460018160011615610100020316600290046000825580601f10620004d85750620004f8565b601f016020900490600052602060002090810190620004f891906200040a565b50565b5080546000825560030290600052602060002090810190620004f891906200042791905b80821115620003d2578054600160a060020a03191681556000600182018190556200054e6002830182620004b0565b506003016200051f565b6116b380620005686000396000f3006080604052600436106100e55763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632804b2c081146100ea5780634a79d50c1461011b5780634ce053ab146101a557806367b14a21146101c35780637284e4161461027d57806381bdc78d146102925780638761fb7c146102c65780638a469c16146102db57806390e57cac14610314578063b4e3c4861461034a578063b69ef8a814610376578063d319ab751461038b578063ddeae8ca146103ad578063e53a22ac146103c9578063e89e4ed61461040f578063fc0c546a1461056a575b600080fd5b3480156100f657600080fd5b506100ff61057f565b60408051600160a060020a039092168252519081900360200190f35b34801561012757600080fd5b5061013061058e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016a578181015183820152602001610152565b50505050905090810190601f1680156101975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b157600080fd5b506101c161ffff6004351661061b565b005b3480156101cf57600080fd5b506101e561ffff60043581169060243516610784565b6040518084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610240578181015183820152602001610228565b50505050905090810190601f16801561026d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561028957600080fd5b506101306108bb565b34801561029e57600080fd5b506102b461ffff60043581169060243516610913565b60408051918252519081900360200190f35b3480156102d257600080fd5b506100ff610998565b3480156102e757600080fd5b506101c1602460048035828101929082013591813591820191013567ffffffffffffffff604435166109a7565b34801561032057600080fd5b5061033661ffff60043581169060243516610a4e565b604080519115158252519081900360200190f35b34801561035657600080fd5b506101c16004803561ffff16906024803591604435918201910135610bde565b34801561038257600080fd5b506102b4610d71565b34801561039757600080fd5b506100ff61ffff60043581169060243516610e0b565b3480156103b957600080fd5b506101c161ffff60043516610e96565b3480156103d557600080fd5b506101c16004803561ffff16906024803580820192908101359160443590810191013560643567ffffffffffffffff166084351515610f5e565b34801561041b57600080fd5b5061042760043561109b565b6040805161ffff8d16815267ffffffffffffffff8a166060820152600189810b900b608082015287151560a082015286151560c082015285151560e08201528415156101008201526101208101849052610140810183905261016060208083018281528e51928401929092528d5192939192918401916101808501918f019080838360005b838110156104c45781810151838201526020016104ac565b50505050905090810190601f1680156104f15780820380516001836020036101000a031916815260200191505b5083810382528c5181528c516020918201918e019080838360005b8381101561052457818101518382015260200161050c565b50505050905090810190601f1680156105515780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561057657600080fd5b506100ff611242565b600454600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106135780601f106105e857610100808354040283529160200191610613565b820191906000526020600020905b8154815290600101906020018083116105f657829003601f168201915b505050505081565b600454600090819033600160a060020a0390811691161461063b57600080fd5b60055461ffff84161061064d57600080fd5b6005805461ffff851690811061065f57fe5b600091825260208220600560089092020190810154909350600190810b900b121561068957600080fd5b60058201805464010000000064ff00000000199091161790819055600483018054909160010b61ffff169081106106bc57fe5b600091825260208083206001600390930201918201546006860181905583548354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481019490945251949650169363a9059cbb93604480840194939192918390030190829087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d602081101561077257600080fd5b5051151561077f57600080fd5b505050565b60008060606000806005805490508761ffff161015156107a357600080fd5b6005805461ffff89169081106107b557fe5b9060005260206000209060080201915081600401805490508661ffff161015156107de57600080fd5b60048201805461ffff88169081106107f257fe5b6000918252602091829020600391909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f8101889004880285018801909252818452949650600160a060020a039093169490939283918301828280156108a55780601f1061087a576101008083540402835291602001916108a5565b820191906000526020600020905b81548152906001019060200180831161088857829003601f168201915b5050505050905094509450945050509250925092565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106135780601f106105e857610100808354040283529160200191610613565b6005546000908190819061ffff86161061092c57600080fd5b6005805461ffff871690811061093e57fe5b9060005260206000209060080201915081600401805490508461ffff1610151561096757600080fd5b60048201805461ffff861690811061097b57fe5b600091825260209091206001600390920201015495945050505050565b600354600160a060020a031681565b60045433600160a060020a039081169116146109c257600080fd5b4267ffffffffffffffff8216116109d857600080fd5b610a46600086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8c018190048102820181019092528a815294508a93508992508291508401838280828437820191505050505050846000611251565b505050505050565b6004546000908190819033600160a060020a03908116911614610a7057600080fd5b60055461ffff861610610a8257600080fd5b6005805461ffff8716908110610a9457fe5b6000918252602090912060089091020160038101549092504267ffffffffffffffff90911611610ac357600080fd5b600482015461ffff851610610ad757600080fd5b60048201805461ffff8616908110610aeb57fe5b6000918252602080832060058601805460018a810b61ffff1661ffff1990921691909117909155845460048054600390960290930191820154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0397881695810195909552308716602486015260448501919091525191965093909316936323b872dd93606480840194939192918390030190829087803b158015610b9c57600080fd5b505af1158015610bb0573d6000803e3d6000fd5b505050506040513d6020811015610bc657600080fd5b50511515610bd357600080fd5b506001949350505050565b60055461ffff851610610bf057600080fd5b60008311610bfd57600080fd5b6005805461ffff8616908110610c0f57fe5b906000526020600020906008020160040160606040519081016040528033600160a060020a0316815260200185815260200184848080601f0160208091040260200160405190810160405280939291908181526020018383808284375050509290935250508254600180820180865560009586526020958690208551600390940201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039094169390931783558486015191830191909155604084015180519195929350610ce392600285019291019061149b565b505050507fa1bfc0e0cec62ae2b6b7bf5fa823bdf718287bad0072674ed65d4124496fca44600160058661ffff16815481101515610d1d57fe5b6000918252602091829020600460089092020101546040805161ffff949092038416825292881691810191909152600160a060020a033316818301526060810186905290519081900360800190a150505050565b60008054604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a033081166004830152915191909216916370a0823191602480830192602092919082900301818787803b158015610dd957600080fd5b505af1158015610ded573d6000803e3d6000fd5b505050506040513d6020811015610e0357600080fd5b505190505b90565b6005546000908190819061ffff861610610e2457600080fd5b6005805461ffff8716908110610e3657fe5b9060005260206000209060080201915081600401805490508461ffff16101515610e5f57600080fd5b60048201805461ffff8616908110610e7357fe5b6000918252602090912060039091020154600160a060020a031695945050505050565b600554600090819061ffff841610610ead57600080fd5b6005805461ffff8516908110610ebf57fe5b600091825260208220600560089092020190810154909350600190810b900b1215610ee657fe5b6005820154600483018054909160010b61ffff16908110610f0357fe5b60009182526020909120600390910201805490915033600160a060020a03908116911614610f3057600080fd5b600582015462010000900460ff1615610f4857600080fd5b50600501805462ff000019166201000017905550565b60008060008961ffff16118015610f7a575060055461ffff8a16105b1515610f8557600080fd5b6005805461ffff8b16908110610f9757fe5b600091825260208220600560089092020190810154909350600190810b900b1215610fc157600080fd5b6005820154600483018054909160010b61ffff16908110610fde57fe5b6000918252602090912060039091020154600160a060020a0316905080151561100357fe5b80600160a060020a031633600160a060020a031614151561102357600080fd5b61108f8989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f8f018190048102820181019092528d815294508d93508c925082915084018382808284378201915050505050508787611251565b50505050505050505050565b60058054829081106110a957fe5b600091825260209182902060089091020180546001808301805460408051601f600260001996851615610100029690960190931694909404918201879004870284018701905280835261ffff90931695509293909291908301828280156111515780601f1061112657610100808354040283529160200191611151565b820191906000526020600020905b81548152906001019060200180831161113457829003601f168201915b50505060028085018054604080516020601f60001961010060018716150201909416959095049283018590048502810185019091528181529596959450909250908301828280156111e35780601f106111b8576101008083540402835291602001916111e3565b820191906000526020600020905b8154815290600101906020018083116111c657829003601f168201915b505050600384015460058501546006860154600790960154949567ffffffffffffffff90921694600182900b945060ff62010000830481169450630100000083048116936401000000008404821693650100000000009004909116918b565b600054600160a060020a031681565b600080600580548091906001016112689190611519565b90508660058261ffff1681548110151561127e57fe5b60009182526020909120600890910201805461ffff191661ffff92831617905560058054889284169081106112af57fe5b906000526020600020906008020160010190805190602001906112d392919061149b565b508460058261ffff168154811015156112e857fe5b9060005260206000209060080201600201908051906020019061130c92919061149b565b508360058261ffff1681548110151561132157fe5b906000526020600020906008020160030160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060001960058261ffff1681548110151561136e57fe5b906000526020600020906008020160050160006101000a81548161ffff021916908360010b61ffff1602179055508260058261ffff168154811015156113b057fe5b906000526020600020906008020160050160056101000a81548160ff0219169083151502179055507fd112a2a587f0ce950d0595c2ce20489e9dc2c9362a27719c3c8d78df673ab4e0818888604051808461ffff1661ffff1681526020018361ffff1661ffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561145557818101518382015260200161143d565b50505050905090810190601f1680156114825780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a19695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114dc57805160ff1916838001178555611509565b82800160010185558215611509579182015b828111156115095782518255916020019190600101906114ee565b50611515929150611545565b5090565b81548183558181111561077f5760080281600802836000526020600020918201910161077f919061155f565b610e0891905b80821115611515576000815560010161154b565b610e0891905b8082111561151557805461ffff19168155600061158560018301826115dc565b6115936002830160006115dc565b60038201805467ffffffffffffffff191690556115b4600483016000611623565b5060058101805465ffffffffffff191690556000600682018190556007820155600801611565565b50805460018160011615610100020316600290046000825580601f106116025750611620565b601f0160209004906000526020600020908101906116209190611545565b50565b50805460008255600302906000526020600020908101906116209190610e0891905b8082111561151557805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820181905561167e60028301826115dc565b506003016116455600a165627a7a72305820f04d96049f83d0021b7fa4db16e29d76bacd05d368375c151bc61b09598dd75e0029000000000000000000000000df347911910b6c9a4286ba8e2ee5ea4a39eb2134000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000d5c63f784a9d515d24d10cd4510b609b81f7a87400000000000000000000000000000000000000000000000000000000000000225465736c61204d6f64656c2033204368617267657220496e7374616c6c6174696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000df347911910b6c9a4286ba8e2ee5ea4a39eb2134
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 000000000000000000000000d5c63f784a9d515d24d10cd4510b609b81f7a874
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000022
Arg [5] : 5465736c61204d6f64656c2033204368617267657220496e7374616c6c617469
Arg [6] : 6f6e000000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://f04d96049f83d0021b7fa4db16e29d76bacd05d368375c151bc61b09598dd75e

 

View All
Block Age transaction Difficulty Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.