ETH Price: $2,480.25 (+2.60%)

Contract

0xD42433A8a0A1CEB73c8ff4e432463e2ee109039d
 
Transaction Hash
Method
Block
From
To
Transfer85610732019-09-16 14:35:511847 days ago1568644551IN
0xD42433A8...ee109039d
0 ETH0.00220
Vote76979852019-05-05 1:18:441982 days ago1557019124IN
0xD42433A8...ee109039d
0 ETH0.000758520.1
Vote48746122018-01-08 13:06:252463 days ago1515416785IN
0xD42433A8...ee109039d
0 ETH0.00115521
Transfer47503172017-12-17 20:16:532485 days ago1513541813IN
0xD42433A8...ee109039d
4 ETH0.0010550
Transfer46667172017-12-03 6:25:192500 days ago1512282319IN
0xD42433A8...ee109039d
0 ETH0.00050421
Transfer46667152017-12-03 6:24:362500 days ago1512282276IN
0xD42433A8...ee109039d
0 ETH0.00048321
Withdraw46226352017-11-26 1:20:042507 days ago1511659204IN
0xD42433A8...ee109039d
0 ETH0.006389711
Vote45763252017-11-18 14:21:372514 days ago1511014897IN
0xD42433A8...ee109039d
0 ETH0.0006612
Vote45616182017-11-16 5:36:062517 days ago1510810566IN
0xD42433A8...ee109039d
0 ETH0.00115521
Transfer45584172017-11-15 17:07:282517 days ago1510765648IN
0xD42433A8...ee109039d
0 ETH0.00048321
Vote45442032017-11-13 9:54:092519 days ago1510566849IN
0xD42433A8...ee109039d
0 ETH0.0006321
Vote45341772017-11-11 19:26:042521 days ago1510428364IN
0xD42433A8...ee109039d
0 ETH0.0005510
Vote45311032017-11-11 7:43:192521 days ago1510386199IN
0xD42433A8...ee109039d
0 ETH0.00115521
Vote45253442017-11-10 9:35:572522 days ago1510306557IN
0xD42433A8...ee109039d
0 ETH0.00021510
Transfer45244952017-11-10 6:20:492523 days ago1510294849IN
0xD42433A8...ee109039d
0.09 ETH0.00178521
Vote45218402017-11-09 20:04:162523 days ago1510257856IN
0xD42433A8...ee109039d
0 ETH0.001120
Vote45189332017-11-09 8:54:322523 days ago1510217672IN
0xD42433A8...ee109039d
0 ETH0.00115521
Vote45178942017-11-09 4:38:592524 days ago1510202339IN
0xD42433A8...ee109039d
0 ETH0.0011372121
Vote45178812017-11-09 4:35:292524 days ago1510202129IN
0xD42433A8...ee109039d
0 ETH0.00115521
Vote45172162017-11-09 2:11:152524 days ago1510193475IN
0xD42433A8...ee109039d
0 ETH0.00010832
Vote45170532017-11-09 1:32:052524 days ago1510191125IN
0xD42433A8...ee109039d
0 ETH0.0021661240
Vote45170092017-11-09 1:22:132524 days ago1510190533IN
0xD42433A8...ee109039d
0 ETH0.0027550
Vote45167832017-11-09 0:32:412524 days ago1510187561IN
0xD42433A8...ee109039d
0 ETH0.001135721
Vote45165302017-11-08 23:35:522524 days ago1510184152IN
0xD42433A8...ee109039d
0 ETH0.0011372121
Vote45162472017-11-08 22:27:102524 days ago1510180030IN
0xD42433A8...ee109039d
0 ETH0.000920617
View all transactions

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
45197562017-11-09 12:07:252523 days ago1510229245
0xD42433A8...ee109039d
8,622.59553719 ETH
39525272017-06-30 11:34:092655 days ago1498822449
0xD42433A8...ee109039d
8,284.45453573 ETH
38989212017-06-19 16:10:102666 days ago1497888610
0xD42433A8...ee109039d
2.95 ETH
38988942017-06-19 16:03:392666 days ago1497888219
0xD42433A8...ee109039d
0.1 ETH
38294782017-06-06 12:42:182679 days ago1496752938
0xD42433A8...ee109039d
0.23 ETH
38059272017-06-01 23:28:002684 days ago1496359680
0xD42433A8...ee109039d
0.96 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DRPCrowdsale

Compiler Version
v0.4.8+commit.60cc1668

Optimization Enabled:
Yes with 200 runs

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

contract Token { 
    function issue(address _recipient, uint256 _value) returns (bool success) {} 
    function balanceOf(address _owner) constant returns (uint256 balance) {}
    function unlock() returns (bool success) {}
    function startIncentiveDistribution() returns (bool success) {}
    function transferOwnership(address _newOwner) {}
    function owner() returns (address _owner) {}
}

contract DRPCrowdsale {

    // Crowdsale details
    address public beneficiary; // Company address multisig (49% funding)
    address public confirmedBy; // Address that confirmed beneficiary
    uint256 public minAmount = 4137 ether; // ≈ 724.000 euro
    uint256 public maxAmount = 54285 ether; // ≈ 9.5 mln euro
    uint256 public minAcceptedAmount = 40 finney; // 1/25 ether

    /**
     * 51% of the raised amount remains in the crowdsale contract 
     * to be released to DCORP on launch with aproval of tokenholders.
     *
     * See whitepaper for more information
     */
    uint256 public percentageOfRaisedAmountThatRemainsInContract = 51; // 0.51 * 10^2

    // Eth to DRP rate
    uint256 public rateAngelDay = 650;
    uint256 public rateFirstWeek = 550;
    uint256 public rateSecondWeek = 475;
    uint256 public rateThirdWeek = 425;
    uint256 public rateLastWeek = 400;

    uint256 public rateAngelDayEnd = 1 days;
    uint256 public rateFirstWeekEnd = 8 days;
    uint256 public rateSecondWeekEnd = 15 days;
    uint256 public rateThirdWeekEnd = 22 days;
    uint256 public rateLastWeekEnd = 29 days;

    enum Stages {
        InProgress,
        Ended,
        Withdrawn,
        Proposed,
        Accepted
    }

    Stages public stage = Stages.InProgress;

    // Crowdsale state
    uint256 public start;
    uint256 public end;
    uint256 public raised;

    // DRP token
    Token public drpToken;

    // Invested balances
    mapping (address => uint256) balances;

    struct Proposal {
        address dcorpAddress;
        uint256 deadline;
        uint256 approvedWeight;
        uint256 disapprovedWeight;
        mapping (address => uint256) voted;
    }

    // Ownership transfer proposal
    Proposal public transferProposal;

    // Time to vote
    uint256 public transferProposalEnd = 7 days;

    // Time between proposals
    uint256 public transferProposalCooldown = 1 days;


    /**
     * Throw if at stage other than current stage
     * 
     * @param _stage expected stage to test for
     */
    modifier atStage(Stages _stage) {
        if (stage != _stage) {
            throw;
        }
        _;
    }
    

    /**
     * Throw if at stage other than current stage
     * 
     * @param _stage1 expected stage to test for
     * @param _stage2 expected stage to test for
     */
    modifier atStages(Stages _stage1, Stages _stage2) {
        if (stage != _stage1 && stage != _stage2) {
            throw;
        }
        _;
    }


    /**
     * Throw if sender is not beneficiary
     */
    modifier onlyBeneficiary() {
        if (beneficiary != msg.sender) {
            throw;
        }
        _;
    }


    /**
     * Throw if sender has a DCP balance of zero
     */
    modifier onlyShareholders() {
        if (drpToken.balanceOf(msg.sender) == 0) {
            throw;
        }
        _;
    }


    /**
     * Throw if the current transfer proposal's deadline
     * is in the past
     */
    modifier beforeDeadline() {
        if (now > transferProposal.deadline) {
            throw;
        }
        _;
    }


    /**
     * Throw if the current transfer proposal's deadline 
     * is in the future
     */
    modifier afterDeadline() {
        if (now < transferProposal.deadline) {
            throw;
        }
        _;
    }


    /** 
     * Get balance of `_investor` 
     * 
     * @param _investor The address from which the balance will be retrieved
     * @return The balance
     */
    function balanceOf(address _investor) constant returns (uint256 balance) {
        return balances[_investor];
    }


    /**
     * Most params are hardcoded for clarity
     *
     * @param _tokenAddress The address of the DRP token contact
     */
    function DRPCrowdsale(address _tokenAddress, address _beneficiary, uint256 _start) {
        drpToken = Token(_tokenAddress);
        beneficiary = _beneficiary;
        start = _start;
        end = start + 29 days;
    }


    /**
     * For testing purposes
     *
     * @return The beneficiary address
     */
    function confirmBeneficiary() onlyBeneficiary {
        confirmedBy = msg.sender;
    }


    /**
     * Convert `_wei` to an amount in DRP using 
     * the current rate
     *
     * @param _wei amount of wei to convert
     * @return The amount in DRP
     */
    function toDRP(uint256 _wei) returns (uint256 amount) {
        uint256 rate = 0;
        if (stage != Stages.Ended && now >= start && now <= end) {

            // Check for angelday
            if (now <= start + rateAngelDayEnd) {
                rate = rateAngelDay;
            }

            // Check first week
            else if (now <= start + rateFirstWeekEnd) {
                rate = rateFirstWeek;
            }

            // Check second week
            else if (now <= start + rateSecondWeekEnd) {
                rate = rateSecondWeek;
            }

            // Check third week
            else if (now <= start + rateThirdWeekEnd) {
                rate = rateThirdWeek;
            }

            // Check last week
            else if (now <= start + rateLastWeekEnd) {
                rate = rateLastWeek;
            }
        }

        return _wei * rate * 10**2 / 1 ether; // 10**2 for 2 decimals
    }


    /**
     * Function to end the crowdsale by setting 
     * the stage to Ended
     */
    function endCrowdsale() atStage(Stages.InProgress) {

        // Crowdsale not ended yet
        if (now < end) {
            throw;
        }

        stage = Stages.Ended;
    }


    /**
     * Transfer appropriate percentage of raised amount 
     * to the company address
     */
    function withdraw() onlyBeneficiary atStage(Stages.Ended) {

        // Confirm that minAmount is raised
        if (raised < minAmount) {
            throw;
        }

        uint256 amountToSend = raised * (100 - percentageOfRaisedAmountThatRemainsInContract) / 10**2;
        if (!beneficiary.send(amountToSend)) {
            throw;
        }

        stage = Stages.Withdrawn;
    }


    /**
     * Refund in the case of an unsuccessful crowdsale. The 
     * crowdsale is considered unsuccessful if minAmount was 
     * not raised before end
     */
    function refund() atStage(Stages.Ended) {

        // Only allow refunds if minAmount is not raised
        if (raised >= minAmount) {
            throw;
        }

        uint256 receivedAmount = balances[msg.sender];
        balances[msg.sender] = 0;

        if (receivedAmount > 0 && !msg.sender.send(receivedAmount)) {
            balances[msg.sender] = receivedAmount;
        }
    }


    /**
     * Propose the transfer of the token contract ownership
     * to `_dcorpAddress` 
     *
     * @param _dcorpAddress the address of the proposed token owner 
     */
    function proposeTransfer(address _dcorpAddress) onlyBeneficiary atStages(Stages.Withdrawn, Stages.Proposed) {
        
        // Check for a pending proposal
        if (stage == Stages.Proposed && now < transferProposal.deadline + transferProposalCooldown) {
            throw;
        }

        transferProposal = Proposal({
            dcorpAddress: _dcorpAddress,
            deadline: now + transferProposalEnd,
            approvedWeight: 0,
            disapprovedWeight: 0
        });

        stage = Stages.Proposed;
    }


    /**
     * Allows DRP holders to vote on the poposed transfer of 
     * ownership. Weight is calculated directly, this is no problem 
     * because tokens cannot be transferred yet
     *
     * @param _approve indicates if the sender supports the proposal
     */
    function vote(bool _approve) onlyShareholders beforeDeadline atStage(Stages.Proposed) {

        // One vote per proposal
        if (transferProposal.voted[msg.sender] >= transferProposal.deadline - transferProposalEnd) {
            throw;
        }

        transferProposal.voted[msg.sender] = now;
        uint256 weight = drpToken.balanceOf(msg.sender);

        if (_approve) {
            transferProposal.approvedWeight += weight;
        } else {
            transferProposal.disapprovedWeight += weight;
        }
    }


    /**
     * Calculates the votes and if the majority weigt approved 
     * the proposal the transfer of ownership is executed.
     
     * The Crowdsale contact transferres the ownership of the 
     * token contract to DCorp and starts the insentive 
     * distribution recorded in the token contract.
     */
    function executeTransfer() afterDeadline atStage(Stages.Proposed) {

        // Check approved
        if (transferProposal.approvedWeight <= transferProposal.disapprovedWeight) {
            throw;
        }

        if (!drpToken.unlock()) {
            throw;
        }
        
        if (!drpToken.startIncentiveDistribution()) {
            throw;
        }

        drpToken.transferOwnership(transferProposal.dcorpAddress);
        if (drpToken.owner() != transferProposal.dcorpAddress) {
            throw;
        }

        if (!transferProposal.dcorpAddress.send(this.balance)) {
            throw;
        }

        stage = Stages.Accepted;
    }

    
    /**
     * Receives Eth and issue DRP tokens to the sender
     */
    function () payable atStage(Stages.InProgress) {

        // Crowdsale not started yet
        if (now < start) {
            throw;
        }

        // Crowdsale expired
        if (now > end) {
            throw;
        }

        // Enforce min amount
        if (msg.value < minAcceptedAmount) {
            throw;
        }
 
        uint256 received = msg.value;
        uint256 valueInDRP = toDRP(msg.value);
        if (!drpToken.issue(msg.sender, valueInDRP)) {
            throw;
        }

        balances[msg.sender] += received;
        raised += received;

        // Check maxAmount raised
        if (raised >= maxAmount) {
            stage = Stages.Ended;
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_dcorpAddress","type":"address"}],"name":"proposeTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateAngelDayEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"endCrowdsale","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateFirstWeekEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateAngelDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateLastWeekEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_approve","type":"bool"}],"name":"vote","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateSecondWeekEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateThirdWeekEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"transferProposalEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"percentageOfRaisedAmountThatRemainsInContract","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_wei","type":"uint256"}],"name":"toDRP","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"executeTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"transferProposalCooldown","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateSecondWeek","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"confirmBeneficiary","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateThirdWeek","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateFirstWeek","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rateLastWeek","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"transferProposal","outputs":[{"name":"dcorpAddress","type":"address"},{"name":"deadline","type":"uint256"},{"name":"approvedWeight","type":"uint256"},{"name":"disapprovedWeight","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stage","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"drpToken","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"confirmedBy","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"end","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"raised","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minAcceptedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_beneficiary","type":"address"},{"name":"_start","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"}]

606060405268e044687d3c0f040000600255690b7ecbb60dbe50140000600355668e1bc9bf040000600455603360055561028a6006556102266007556101db6008556101a9600955610190600a5562015180600b819055620a8c00600c556213c680600d55621d0100600e5562263b80600f556010805460ff1916905562093a80601b55601c55346100005760405160608061101a8339810160409081528151602083015191909201515b60148054600160a060020a03808616600160a060020a0319928316179092556000805492851692909116919091179055601181905562263b8081016012555b5050505b610f1e806100fc6000396000f300606060405236156101855763ffffffff60e060020a60003504166306b5b21e81146102b65780631722a8b0146102d15780632095f2d4146102f05780632a1be747146102ff57806338af3eed1461031e5780633ccfd60b146103475780633f3a78d51461035657806346287ddb146103755780634b9f5c981461039457806351c5d54d146103a857806351ded741146103c7578063590e1ae3146103e65780635f0f1f85146103f55780635f48f3931461041457806362d6b7fb146104335780636b2accac1461045257806370a0823114610474578063835d2d2e1461049f578063939528b1146104ae5780639b2cb5d8146104cd5780639c472c70146104ec5780639c5e90231461050b578063b23940401461051a578063b3007dc614610539578063b65a135014610558578063bd2302fc14610577578063be9a6555146105b4578063c040e6b8146105d3578063c61f3a2c14610601578063cbf2ad231461062a578063efbe1c1c14610653578063f0ea4bfc14610672578063f1d841f114610691575b6102b45b600080808060105460ff166004811161000057146101a657610000565b6011544210156101b557610000565b6012544211156101c457610000565b6004543410156101d357610000565b3492506101df346106b0565b601454604080516000602091820181905282517f867904b4000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152602482018790529351959750929093169363867904b4936044808501948390030190829087803b156100005760325a03f115610000575050604051511515905061026e57610000565b600160a060020a03331660009081526015602052604090208054840190556013805484019081905560035490106102ad576010805460ff191660011790555b5b5b505050565b005b34610000576102b4600160a060020a036004351661076e565b005b34610000576102de610868565b60408051918252519081900360200190f35b34610000576102b461086e565b005b34610000576102de6108aa565b60408051918252519081900360200190f35b346100005761032b6108b0565b60408051600160a060020a039092168252519081900360200190f35b34610000576102b46108bf565b005b34610000576102de610961565b60408051918252519081900360200190f35b34610000576102de610967565b60408051918252519081900360200190f35b34610000576102b4600435151561096d565b005b34610000576102de610acf565b60408051918252519081900360200190f35b34610000576102de610ad5565b60408051918252519081900360200190f35b34610000576102b4610adb565b005b34610000576102de610b7f565b60408051918252519081900360200190f35b34610000576102de610b85565b60408051918252519081900360200190f35b34610000576102de610b8b565b60408051918252519081900360200190f35b34610000576102de6004356106b0565b60408051918252519081900360200190f35b34610000576102de600160a060020a0360043516610b91565b60408051918252519081900360200190f35b34610000576102b4610bb0565b005b34610000576102de610e2d565b60408051918252519081900360200190f35b34610000576102de610e33565b60408051918252519081900360200190f35b34610000576102de610e39565b60408051918252519081900360200190f35b34610000576102b4610e3f565b005b34610000576102de610e86565b60408051918252519081900360200190f35b34610000576102de610e8c565b60408051918252519081900360200190f35b34610000576102de610e92565b60408051918252519081900360200190f35b3461000057610584610e98565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34610000576102de610eb3565b60408051918252519081900360200190f35b34610000576105e0610eb9565b6040518082600481116100005760ff16815260200191505060405180910390f35b346100005761032b610ec2565b60408051600160a060020a039092168252519081900360200190f35b346100005761032b610ed1565b60408051600160a060020a039092168252519081900360200190f35b34610000576102de610ee0565b60408051918252519081900360200190f35b34610000576102de610ee6565b60408051918252519081900360200190f35b34610000576102de610eec565b60408051918252519081900360200190f35b600080600160105460ff166004811161000057141580156106d357506011544210155b80156106e157506012544211155b1561075057600b546011540142116106fc5750600654610750565b600c546011540142116107125750600754610750565b600d546011540142116107285750600854610750565b600e5460115401421161073e5750600954610750565b600f546011540142116107505750600a545b5b5b5b5b5b670de0b6b3a76400006064848302020491505b50919050565b60005433600160a060020a0390811691161461078957610000565b600260038160105460ff166004811161000057141580156107bf575080600481116100005760105460ff16600481116100005714155b156107c957610000565b600360105460ff1660048111610000571480156107eb5750601c546017540142105b156107f557610000565b60408051608081018252600160a060020a038516808252601b54420160208301819052600093830184905260609092018390526016805473ffffffffffffffffffffffffffffffffffffffff1916909117905560175560188190556019556010805460ff191660031790555b5b50505b50565b600b5481565b60008060105460ff1660048111610000571461088957610000565b60125442101561089857610000565b6010805460ff191660011790555b5b50565b600c5481565b600054600160a060020a031681565b6000805433600160a060020a039081169116146108db57610000565b60018060105460ff166004811161000057146108f657610000565b600254601354101561090757610000565b60055460135460649182030260008054604051939092049450600160a060020a039091169184156108fc0291859190818181858888f19350505050151561094d57610000565b6010805460ff191660021790555b5b505b50565b60065481565b600f5481565b6014546040805160006020918201819052825160e060020a6370a08231028152600160a060020a0333811660048301529351919493909316926370a0823192602480830193919282900301818787803b156100005760325a03f11561000057505060405151151590506109df57610000565b6017544211156109ee57610000565b60038060105460ff16600481116100005714610a0957610000565b601b54601754600160a060020a0333166000908152601a60205260409020549190039010610a3657610000565b600160a060020a033381166000818152601a6020908152604080832042905560145481518301849052815160e060020a6370a08231028152600481019590955290519416936370a0823193602480820194918390030190829087803b156100005760325a03f115610000575050604051519250508215610abd5760188054830190556102ad565b60198054830190555b5b5b505b5b5050565b600d5481565b600e5481565b600060018060105460ff16600481116100005714610af857610000565b60025460135410610b0857610000565b600160a060020a0333166000908152601560205260408120805490829055925082118015610b585750604051600160a060020a0333169083156108fc029084906000818181858888f19350505050155b1561095b57600160a060020a03331660009081526015602052604090208290555b5b5b5050565b601b5481565b60035481565b60055481565b600160a060020a0381166000908152601560205260409020545b919050565b601754421015610bbf57610000565b60038060105460ff16600481116100005714610bda57610000565b60195460185411610bea57610000565b601454604080516000602091820181905282517fa69df4b50000000000000000000000000000000000000000000000000000000081529251600160a060020a039094169363a69df4b59360048082019493918390030190829087803b156100005760325a03f1156100005750506040515115159050610c6857610000565b601454604080516000602091820181905282517f5dc5aefe0000000000000000000000000000000000000000000000000000000081529251600160a060020a0390941693635dc5aefe9360048082019493918390030190829087803b156100005760325a03f1156100005750506040515115159050610ce657610000565b601454601654604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201529051919092169163f2fde38b91602480830192600092919082900301818387803b156100005760325a03f115610000575050601654601454604080516000602091820181905282517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529251600160a060020a0395861696509490931693638da5cb5b936004808501948390030190829087803b156100005760325a03f11561000057505060405151600160a060020a0316919091149050610de557610000565b601654604051600160a060020a039182169130163180156108fc02916000818181858888f193505050501515610e1a57610000565b6010805460ff191660041790555b5b505b565b601c5481565b60025481565b60085481565b60005433600160a060020a03908116911614610e5a57610000565b6001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790555b5b565b60095481565b60075481565b600a5481565b601654601754601854601954600160a060020a039093169284565b60115481565b60105460ff1681565b601454600160a060020a031681565b600154600160a060020a031681565b60125481565b60135481565b600454815600a165627a7a72305820be2da9afdf135bbcb14395e6260c817b15fef7bd307505987f19ba8d309c0b9c0029000000000000000000000000621d78f2ef2fd937bfca696cabaf9a779f59b3ed000000000000000000000000c81367dc7f0d47dcb49a3bb20cafcb9be638a39300000000000000000000000000000000000000000000000000000000592fe5a0

Deployed Bytecode

0x606060405236156101855763ffffffff60e060020a60003504166306b5b21e81146102b65780631722a8b0146102d15780632095f2d4146102f05780632a1be747146102ff57806338af3eed1461031e5780633ccfd60b146103475780633f3a78d51461035657806346287ddb146103755780634b9f5c981461039457806351c5d54d146103a857806351ded741146103c7578063590e1ae3146103e65780635f0f1f85146103f55780635f48f3931461041457806362d6b7fb146104335780636b2accac1461045257806370a0823114610474578063835d2d2e1461049f578063939528b1146104ae5780639b2cb5d8146104cd5780639c472c70146104ec5780639c5e90231461050b578063b23940401461051a578063b3007dc614610539578063b65a135014610558578063bd2302fc14610577578063be9a6555146105b4578063c040e6b8146105d3578063c61f3a2c14610601578063cbf2ad231461062a578063efbe1c1c14610653578063f0ea4bfc14610672578063f1d841f114610691575b6102b45b600080808060105460ff166004811161000057146101a657610000565b6011544210156101b557610000565b6012544211156101c457610000565b6004543410156101d357610000565b3492506101df346106b0565b601454604080516000602091820181905282517f867904b4000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152602482018790529351959750929093169363867904b4936044808501948390030190829087803b156100005760325a03f115610000575050604051511515905061026e57610000565b600160a060020a03331660009081526015602052604090208054840190556013805484019081905560035490106102ad576010805460ff191660011790555b5b5b505050565b005b34610000576102b4600160a060020a036004351661076e565b005b34610000576102de610868565b60408051918252519081900360200190f35b34610000576102b461086e565b005b34610000576102de6108aa565b60408051918252519081900360200190f35b346100005761032b6108b0565b60408051600160a060020a039092168252519081900360200190f35b34610000576102b46108bf565b005b34610000576102de610961565b60408051918252519081900360200190f35b34610000576102de610967565b60408051918252519081900360200190f35b34610000576102b4600435151561096d565b005b34610000576102de610acf565b60408051918252519081900360200190f35b34610000576102de610ad5565b60408051918252519081900360200190f35b34610000576102b4610adb565b005b34610000576102de610b7f565b60408051918252519081900360200190f35b34610000576102de610b85565b60408051918252519081900360200190f35b34610000576102de610b8b565b60408051918252519081900360200190f35b34610000576102de6004356106b0565b60408051918252519081900360200190f35b34610000576102de600160a060020a0360043516610b91565b60408051918252519081900360200190f35b34610000576102b4610bb0565b005b34610000576102de610e2d565b60408051918252519081900360200190f35b34610000576102de610e33565b60408051918252519081900360200190f35b34610000576102de610e39565b60408051918252519081900360200190f35b34610000576102b4610e3f565b005b34610000576102de610e86565b60408051918252519081900360200190f35b34610000576102de610e8c565b60408051918252519081900360200190f35b34610000576102de610e92565b60408051918252519081900360200190f35b3461000057610584610e98565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34610000576102de610eb3565b60408051918252519081900360200190f35b34610000576105e0610eb9565b6040518082600481116100005760ff16815260200191505060405180910390f35b346100005761032b610ec2565b60408051600160a060020a039092168252519081900360200190f35b346100005761032b610ed1565b60408051600160a060020a039092168252519081900360200190f35b34610000576102de610ee0565b60408051918252519081900360200190f35b34610000576102de610ee6565b60408051918252519081900360200190f35b34610000576102de610eec565b60408051918252519081900360200190f35b600080600160105460ff166004811161000057141580156106d357506011544210155b80156106e157506012544211155b1561075057600b546011540142116106fc5750600654610750565b600c546011540142116107125750600754610750565b600d546011540142116107285750600854610750565b600e5460115401421161073e5750600954610750565b600f546011540142116107505750600a545b5b5b5b5b5b670de0b6b3a76400006064848302020491505b50919050565b60005433600160a060020a0390811691161461078957610000565b600260038160105460ff166004811161000057141580156107bf575080600481116100005760105460ff16600481116100005714155b156107c957610000565b600360105460ff1660048111610000571480156107eb5750601c546017540142105b156107f557610000565b60408051608081018252600160a060020a038516808252601b54420160208301819052600093830184905260609092018390526016805473ffffffffffffffffffffffffffffffffffffffff1916909117905560175560188190556019556010805460ff191660031790555b5b50505b50565b600b5481565b60008060105460ff1660048111610000571461088957610000565b60125442101561089857610000565b6010805460ff191660011790555b5b50565b600c5481565b600054600160a060020a031681565b6000805433600160a060020a039081169116146108db57610000565b60018060105460ff166004811161000057146108f657610000565b600254601354101561090757610000565b60055460135460649182030260008054604051939092049450600160a060020a039091169184156108fc0291859190818181858888f19350505050151561094d57610000565b6010805460ff191660021790555b5b505b50565b60065481565b600f5481565b6014546040805160006020918201819052825160e060020a6370a08231028152600160a060020a0333811660048301529351919493909316926370a0823192602480830193919282900301818787803b156100005760325a03f11561000057505060405151151590506109df57610000565b6017544211156109ee57610000565b60038060105460ff16600481116100005714610a0957610000565b601b54601754600160a060020a0333166000908152601a60205260409020549190039010610a3657610000565b600160a060020a033381166000818152601a6020908152604080832042905560145481518301849052815160e060020a6370a08231028152600481019590955290519416936370a0823193602480820194918390030190829087803b156100005760325a03f115610000575050604051519250508215610abd5760188054830190556102ad565b60198054830190555b5b5b505b5b5050565b600d5481565b600e5481565b600060018060105460ff16600481116100005714610af857610000565b60025460135410610b0857610000565b600160a060020a0333166000908152601560205260408120805490829055925082118015610b585750604051600160a060020a0333169083156108fc029084906000818181858888f19350505050155b1561095b57600160a060020a03331660009081526015602052604090208290555b5b5b5050565b601b5481565b60035481565b60055481565b600160a060020a0381166000908152601560205260409020545b919050565b601754421015610bbf57610000565b60038060105460ff16600481116100005714610bda57610000565b60195460185411610bea57610000565b601454604080516000602091820181905282517fa69df4b50000000000000000000000000000000000000000000000000000000081529251600160a060020a039094169363a69df4b59360048082019493918390030190829087803b156100005760325a03f1156100005750506040515115159050610c6857610000565b601454604080516000602091820181905282517f5dc5aefe0000000000000000000000000000000000000000000000000000000081529251600160a060020a0390941693635dc5aefe9360048082019493918390030190829087803b156100005760325a03f1156100005750506040515115159050610ce657610000565b601454601654604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201529051919092169163f2fde38b91602480830192600092919082900301818387803b156100005760325a03f115610000575050601654601454604080516000602091820181905282517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529251600160a060020a0395861696509490931693638da5cb5b936004808501948390030190829087803b156100005760325a03f11561000057505060405151600160a060020a0316919091149050610de557610000565b601654604051600160a060020a039182169130163180156108fc02916000818181858888f193505050501515610e1a57610000565b6010805460ff191660041790555b5b505b565b601c5481565b60025481565b60085481565b60005433600160a060020a03908116911614610e5a57610000565b6001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790555b5b565b60095481565b60075481565b600a5481565b601654601754601854601954600160a060020a039093169284565b60115481565b60105460ff1681565b601454600160a060020a031681565b600154600160a060020a031681565b60125481565b60135481565b600454815600a165627a7a72305820be2da9afdf135bbcb14395e6260c817b15fef7bd307505987f19ba8d309c0b9c0029

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

000000000000000000000000621d78f2ef2fd937bfca696cabaf9a779f59b3ed000000000000000000000000c81367dc7f0d47dcb49a3bb20cafcb9be638a39300000000000000000000000000000000000000000000000000000000592fe5a0

-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0x621d78f2EF2fd937BFca696CabaF9A779F59B3Ed
Arg [1] : _beneficiary (address): 0xc81367DC7F0d47DCb49a3BB20cafCb9be638a393
Arg [2] : _start (uint256): 1496311200

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000621d78f2ef2fd937bfca696cabaf9a779f59b3ed
Arg [1] : 000000000000000000000000c81367dc7f0d47dcb49a3bb20cafcb9be638a393
Arg [2] : 00000000000000000000000000000000000000000000000000000000592fe5a0


Swarm Source

bzzr://be2da9afdf135bbcb14395e6260c817b15fef7bd307505987f19ba8d309c0b9c

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.