ETH Price: $3,323.49 (+1.62%)
Gas: 10 Gwei

Token

Agricoin (AGR)
 

Overview

Max Total Supply

961.11 AGR

Holders

2

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 2 Decimals)

Balance
6.3 AGR

Value
$0.00
0x57fb054732068abc075e72b26b8ace60c1d28dcf
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Agricoin

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-02-05
*/

pragma solidity ^0.4.19;


contract Owned
{
    address public owner;

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

    function transferOwnership(address newOwner) public onlyOwner()
	{
        owner = newOwner;
    }
}


contract Agricoin is Owned
{
    // Dividends payout struct.
    struct DividendPayout
    {
        uint amount;            // Value of dividend payout.
        uint momentTotalSupply; // Total supply in payout moment,
    }

    // Redemption payout struct.
    struct RedemptionPayout
    {
        uint amount;            // Value of redemption payout.
        uint momentTotalSupply; // Total supply in payout moment.
        uint price;             // Price of Agricoin in weis.
    }

    // Balance struct with dividends and redemptions record.
    struct Balance
    {
        uint icoBalance;
        uint balance;                       // Agricoin balance.
        uint posibleDividends;              // Dividend number, which user can get.
        uint lastDividensPayoutNumber;      // Last dividend payout index, which user has gotten.
        uint posibleRedemption;             // Redemption value in weis, which user can use.
        uint lastRedemptionPayoutNumber;    // Last redemption payout index, which user has used.
    }

    // Can act only one from payers.
    modifier onlyPayer()
    {
        require(payers[msg.sender]);
        _;
    }
    
    // Can act only after token activation.
    modifier onlyActivated()
    {
        require(isActive);
        _;
    }

    // Transfer event.
    event Transfer(address indexed _from, address indexed _to, uint _value);    

    // Approve event.
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    // Activate event.
    event Activate(bool icoSuccessful);

    // DividendPayout dividends event.
    event PayoutDividends(uint etherAmount, uint indexed id);

    // DividendPayout redemption event.
    event PayoutRedemption(uint etherAmount, uint indexed id, uint price);

    // Get unpaid event.
    event GetUnpaid(uint etherAmount);

    // Get dividends.
    event GetDividends(address indexed investor, uint etherAmount);

    // Constructor.
    function Agricoin(uint payout_period_start, uint payout_period_end, address _payer) public
    {
        owner = msg.sender;// Save the owner.

        // Set payout period.
        payoutPeriodStart = payout_period_start;
        payoutPeriodEnd = payout_period_end;

        payers[_payer] = true;
    }

    // Activate token.
	function activate(bool icoSuccessful) onlyOwner() external returns (bool)
	{
		require(!isActive);// Check once activation.

        startDate = now;// Save activation date.
		isActive = true;// Make token active.
		owner = 0x00;// Set owner to null.
		
        if (icoSuccessful)
        {
            isSuccessfulIco = true;
            totalSupply += totalSupplyOnIco;
            Activate(true);// Call activation event.
        }
        else
        {
            Activate(false);// Call activation event.
        }

        return true;
	}

    // Add new payer by payer.
    function addPayer(address payer) onlyPayer() external
    {
        payers[payer] = true;
    }

    // Get balance of address.
	function balanceOf(address owner) public view returns (uint)
	{
		return balances[owner].balance;
	}

    // Get posible dividends value.
    function posibleDividendsOf(address owner) public view returns (uint)
    {
        return balances[owner].posibleDividends;
    }

    // Get posible redemption value.
    function posibleRedemptionOf(address owner) public view returns (uint)
    {
        return balances[owner].posibleRedemption;
    }

    // Transfer _value etheres to _to.
    function transfer(address _to, uint _value) onlyActivated() external returns (bool)
    {
        require(balanceOf(msg.sender) >= _value);

        recalculate(msg.sender);// Recalculate user's struct.
        
        if (_to != 0x00)// For normal transfer.
        {
            recalculate(_to);// Recalculate recipient's struct.

            // Change balances.
            balances[msg.sender].balance -= _value;
            balances[_to].balance += _value;

            Transfer(msg.sender, _to, _value);// Call transfer event.
        }
        else// For redemption transfer.
        {
            require(payoutPeriodStart <= now && now >= payoutPeriodEnd);// Check redemption period.
            
            uint amount = _value * redemptionPayouts[amountOfRedemptionPayouts].price;// Calculate amount of weis in redemption.

            require(amount <= balances[msg.sender].posibleRedemption);// Check redemption limits.

            // Change user's struct.
            balances[msg.sender].posibleRedemption -= amount;
            balances[msg.sender].balance -= _value;

            totalSupply -= _value;// Decrease total supply.

            msg.sender.transfer(amount);// Transfer redemption to user.

            Transfer(msg.sender, _to, _value);// Call transfer event.
        }

        return true;
    }

    // Transfer from _from to _to _value tokens.
    function transferFrom(address _from, address _to, uint _value) onlyActivated() external returns (bool)
    {
        // Check transfer posibility.
        require(balances[_from].balance >= _value);
        require(allowed[_from][msg.sender] >= _value);
        require(_to != 0x00);

        // Recalculate structs.
        recalculate(_from);
        recalculate(_to);

        // Change balances.
        balances[_from].balance -= _value;
        balances[_to].balance += _value;
        
        Transfer(_from, _to, _value);// Call tranfer event.
        
        return true;
    }

    // Approve for transfers.
    function approve(address _spender, uint _value) onlyActivated() public returns (bool)
    {
        // Recalculate structs.
        recalculate(msg.sender);
        recalculate(_spender);

        allowed[msg.sender][_spender] = _value;// Set allowed.
        
        Approval(msg.sender, _spender, _value);// Call approval event.
        
        return true;
    }

    // Get allowance.
    function allowance(address _owner, address _spender) onlyActivated() external view returns (uint)
    {
        return allowed[_owner][_spender];
    }

    // Mint _value tokens to _to address.
    function mint(address _to, uint _value, bool icoMinting) onlyOwner() external returns (bool)
    {
        require(!isActive);// Check no activation.

        if (icoMinting)
        {
            balances[_to].icoBalance += _value;
            totalSupplyOnIco += _value;
        }
        else
        {
            balances[_to].balance += _value;// Increase user's balance.
            totalSupply += _value;// Increase total supply.

            Transfer(0x00, _to, _value);// Call transfer event.
        }
        
        return true;
    }

    // Pay dividends.
    function payDividends() onlyPayer() onlyActivated() external payable returns (bool)
    {
        require(now >= payoutPeriodStart && now <= payoutPeriodEnd);// Check payout period.

        dividendPayouts[amountOfDividendsPayouts].amount = msg.value;// Set payout amount in weis.
        dividendPayouts[amountOfDividendsPayouts].momentTotalSupply = totalSupply;// Save total supply on that moment.
        
        PayoutDividends(msg.value, amountOfDividendsPayouts);// Call dividend payout event.

        amountOfDividendsPayouts++;// Increment dividend payouts amount.

        return true;
    }

    // Pay redemption.
    function payRedemption(uint price) onlyPayer() onlyActivated() external payable returns (bool)
    {
        require(now >= payoutPeriodStart && now <= payoutPeriodEnd);// Check payout period.

        redemptionPayouts[amountOfRedemptionPayouts].amount = msg.value;// Set payout amount in weis.
        redemptionPayouts[amountOfRedemptionPayouts].momentTotalSupply = totalSupply;// Save total supply on that moment.
        redemptionPayouts[amountOfRedemptionPayouts].price = price;// Set price of Agricoin in weis at this redemption moment.

        PayoutRedemption(msg.value, amountOfRedemptionPayouts, price);// Call redemption payout event.

        amountOfRedemptionPayouts++;// Increment redemption payouts amount.

        return true;
    }

    // Get back unpaid dividends and redemption.
    function getUnpaid() onlyPayer() onlyActivated() external returns (bool)
    {
        require(now >= payoutPeriodEnd);// Check end payout period.

        GetUnpaid(this.balance);// Call getting unpaid ether event.

        msg.sender.transfer(this.balance);// Transfer all ethers back to payer.

        return true;
    }

    // Recalculates dividends and redumptions.
    function recalculate(address user) onlyActivated() public returns (bool)
    {
        if (isSuccessfulIco)
        {
            if (balances[user].icoBalance != 0)
            {
                balances[user].balance += balances[user].icoBalance;
                Transfer(0x00, user, balances[user].icoBalance);
                balances[user].icoBalance = 0;
            }
        }

        // Check for necessity of recalculation.
        if (balances[user].lastDividensPayoutNumber == amountOfDividendsPayouts &&
            balances[user].lastRedemptionPayoutNumber == amountOfRedemptionPayouts)
        {
            return true;
        }

        uint addedDividend = 0;

        // For dividends.
        for (uint i = balances[user].lastDividensPayoutNumber; i < amountOfDividendsPayouts; i++)
        {
            addedDividend += (balances[user].balance * dividendPayouts[i].amount) / dividendPayouts[i].momentTotalSupply;
        }

        balances[user].posibleDividends += addedDividend;
        balances[user].lastDividensPayoutNumber = amountOfDividendsPayouts;

        uint addedRedemption = 0;

        // For redemption.
        for (uint j = balances[user].lastRedemptionPayoutNumber; j < amountOfRedemptionPayouts; j++)
        {
            addedRedemption += (balances[user].balance * redemptionPayouts[j].amount) / redemptionPayouts[j].momentTotalSupply;
        }

        balances[user].posibleRedemption += addedRedemption;
        balances[user].lastRedemptionPayoutNumber = amountOfRedemptionPayouts;

        return true;
    }

    // Get dividends.
    function () external payable
    {
        if (payoutPeriodStart >= now && now <= payoutPeriodEnd)// Check payout period.
        {
            if (posibleDividendsOf(msg.sender) > 0)// Check posible dividends.
            {
                uint dividendsAmount = posibleDividendsOf(msg.sender);// Get posible dividends amount.

                GetDividends(msg.sender, dividendsAmount);// Call getting dividends event.

                balances[msg.sender].posibleDividends = 0;// Set balance to zero.

                msg.sender.transfer(dividendsAmount);// Transfer dividends amount.
            }
        }
    }

    // Token name.
    string public constant name = "Agricoin";
    
    // Token market symbol.
    string public constant symbol = "AGR";
    
    // Amount of digits after comma.
    uint public constant decimals = 2;

    // Total supply.
    uint public totalSupply;

    // Total supply on ICO only;
    uint public totalSupplyOnIco;
       
    // Activation date.
    uint public startDate;
    
    // Payment period start date, setted by ICO contract before activation.
    uint public payoutPeriodStart;
    
    // Payment period last date, setted by ICO contract before activation.
    uint public payoutPeriodEnd;
    
    // Dividends DividendPayout counter.
    uint public amountOfDividendsPayouts = 0;

    // Redemption DividendPayout counter.
    uint public amountOfRedemptionPayouts = 0;

    // Dividend payouts.
    mapping (uint => DividendPayout) public dividendPayouts;
    
    // Redemption payouts.
    mapping (uint => RedemptionPayout) public redemptionPayouts;

    // Dividend and redemption payers.
    mapping (address => bool) public payers;

    // Balance records.
    mapping (address => Balance) public balances;

    // Allowed balances.
    mapping (address => mapping (address => uint)) public allowed;

    // Set true for activating token. If false then token isn't working.
    bool public isActive = false;

    // Set true for activate ico minted tokens.
    bool public isSuccessfulIco = false;
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"icoBalance","type":"uint256"},{"name":"balance","type":"uint256"},{"name":"posibleDividends","type":"uint256"},{"name":"lastDividensPayoutNumber","type":"uint256"},{"name":"posibleRedemption","type":"uint256"},{"name":"lastRedemptionPayoutNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"posibleRedemptionOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"amountOfDividendsPayouts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"}],"name":"recalculate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amountOfRedemptionPayouts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"price","type":"uint256"}],"name":"payRedemption","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"getUnpaid","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isSuccessfulIco","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"payer","type":"address"}],"name":"addPayer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"payoutPeriodEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyOnIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"icoSuccessful","type":"bool"}],"name":"activate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"icoMinting","type":"bool"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"dividendPayouts","outputs":[{"name":"amount","type":"uint256"},{"name":"momentTotalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"posibleDividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"payDividends","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"redemptionPayouts","outputs":[{"name":"amount","type":"uint256"},{"name":"momentTotalSupply","type":"uint256"},{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payoutPeriodStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"payout_period_start","type":"uint256"},{"name":"payout_period_end","type":"uint256"},{"name":"_payer","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"icoSuccessful","type":"bool"}],"name":"Activate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"etherAmount","type":"uint256"},{"indexed":true,"name":"id","type":"uint256"}],"name":"PayoutDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"etherAmount","type":"uint256"},{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"PayoutRedemption","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"etherAmount","type":"uint256"}],"name":"GetUnpaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"investor","type":"address"},{"indexed":false,"name":"etherAmount","type":"uint256"}],"name":"GetDividends","type":"event"}]

606060405260006006819055600755600d805461ffff19169055341561002457600080fd5b6040516060806113bb83398101604052808051919060200180519190602001805160008054600160a060020a03338116600160a060020a031990921691909117825560049690965560059490945593909316825250600a60205260409020805460ff191660011790555061131e8061009d6000396000f3006060604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461025e578063095ea7b3146102e85780630b97bc861461031e57806318160ddd1461034357806322f3e2d41461035657806323b872dd1461036957806327e235e314610391578063313ce567146103e957806342eabc29146103fc5780634a714c241461041b5780635c6581651461043a5780635f46d7501461045f57806370a08231146104725780638da5cb5b1461049157806395d89b41146104c0578063a201222d146104d3578063a3961207146104f2578063a9059cbb14610505578063abb689e114610527578063adb1cd7314610532578063b21a8be014610545578063b78376e914610558578063bf4aeff214610579578063c11657811461058c578063ce5e84a31461059f578063d1a1beb4146105b7578063d6db8ab6146105de578063dccee5b21461060c578063dd62ed3e1461062b578063de88a34214610650578063e421841614610658578063f04e8c6f14610692578063f2fde38b146106a5575b600042600454101580156101b657506005544211155b1561025b5760006101c6336106c4565b111561025b576101d5336106c4565b905033600160a060020a03167f1dc55c2de3dfe49cdb082370715c19033946bd4fc968efa15ac6b3d8987c1c498260405190815260200160405180910390a2600160a060020a0333166000818152600b60205260408082206002019190915582156108fc0290839051600060405180830381858888f19350505050151561025b57600080fd5b50005b341561026957600080fd5b6102716106e2565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102ad578082015183820152602001610295565b50505050905090810190601f1680156102da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f357600080fd5b61030a600160a060020a0360043516602435610719565b604051901515815260200160405180910390f35b341561032957600080fd5b6103316107aa565b60405190815260200160405180910390f35b341561034e57600080fd5b6103316107b0565b341561036157600080fd5b61030a6107b6565b341561037457600080fd5b61030a600160a060020a03600435811690602435166044356107bf565b341561039c57600080fd5b6103b0600160a060020a03600435166108be565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34156103f457600080fd5b6103316108f3565b341561040757600080fd5b610331600160a060020a03600435166108f8565b341561042657600080fd5b61030a600160a060020a0360043516610916565b341561044557600080fd5b610331600160a060020a036004358116906024351661092b565b341561046a57600080fd5b610331610948565b341561047d57600080fd5b610331600160a060020a036004351661094e565b341561049c57600080fd5b6104a461096c565b604051600160a060020a03909116815260200160405180910390f35b34156104cb57600080fd5b61027161097b565b34156104de57600080fd5b61030a600160a060020a03600435166109b2565b34156104fd57600080fd5b610331610be4565b341561051057600080fd5b61030a600160a060020a0360043516602435610bea565b61030a600435610d97565b341561053d57600080fd5b61030a610e71565b341561055057600080fd5b61030a610f38565b341561056357600080fd5b610577600160a060020a0360043516610f46565b005b341561058457600080fd5b610331610f91565b341561059757600080fd5b610331610f97565b34156105aa57600080fd5b61030a6004351515610f9d565b34156105c257600080fd5b61030a600160a060020a03600435166024356044351515611091565b34156105e957600080fd5b6105f4600435611143565b60405191825260208201526040908101905180910390f35b341561061757600080fd5b610331600160a060020a03600435166106c4565b341561063657600080fd5b610331600160a060020a036004358116906024351661115c565b61030a61119c565b341561066357600080fd5b61066e600435611261565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561069d57600080fd5b610331611282565b34156106b057600080fd5b610577600160a060020a0360043516611288565b600160a060020a03166000908152600b602052604090206002015490565b60408051908101604052600881527f41677269636f696e000000000000000000000000000000000000000000000000602082015281565b600d5460009060ff16151561072d57600080fd5b610736336109b2565b50610740836109b2565b50600160a060020a033381166000818152600c6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035481565b60015481565b600d5460ff1681565b600d5460009060ff1615156107d357600080fd5b600160a060020a0384166000908152600b6020526040902060010154829010156107fc57600080fd5b600160a060020a038085166000908152600c6020908152604080832033909416835292905220548290101561083057600080fd5b600160a060020a038316151561084557600080fd5b61084e846109b2565b50610858836109b2565b50600160a060020a038085166000818152600b602052604080822060019081018054889003905593871680835291819020909301805486019055916000805160206112d38339815191529085905190815260200160405180910390a35060019392505050565b600b60205260009081526040902080546001820154600283015460038401546004850154600590950154939492939192909186565b600281565b600160a060020a03166000908152600b602052604090206004015490565b600a6020526000908152604090205460ff1681565b600c60209081526000928352604080842090915290825290205481565b60065481565b600160a060020a03166000908152600b602052604090206001015490565b600054600160a060020a031681565b60408051908101604052600381527f4147520000000000000000000000000000000000000000000000000000000000602082015281565b600d54600090819081908190819060ff1615156109ce57600080fd5b600d54610100900460ff1615610a5b57600160a060020a0386166000908152600b602052604090205415610a5b57600160a060020a0386166000818152600b6020526040808220805460019091018054820190556000805160206112d3833981519152915190815260200160405180910390a3600160a060020a0386166000908152600b60205260408120555b600654600160a060020a0387166000908152600b6020526040902060030154148015610aa35750600754600160a060020a0387166000908152600b6020526040902060050154145b15610ab15760019450610bdb565b600160a060020a0386166000908152600b602052604081206003015490945092505b600654831015610b285760008381526008602090815260408083206001808201549154600160a060020a038c168652600b90945291909320015402811515610b1757fe5b049390930192600190920191610ad3565b5050600160a060020a0384166000908152600b60205260408120600281018054850190556006546003820155600501545b600754811015610bab5760008181526009602090815260408083206001808201549154600160a060020a038c168652600b90945291909320015402811515610b9d57fe5b049190910190600101610b59565b600160a060020a0386166000908152600b6020526040902060048101805484019055600754600590910155600194505b50505050919050565b60075481565b600d54600090819060ff161515610c0057600080fd5b82610c0a3361094e565b1015610c1557600080fd5b610c1e336109b2565b50600160a060020a03841615610c9857610c37846109b2565b50600160a060020a033381166000818152600b602052604080822060019081018054899003905593881680835291819020909301805487019055916000805160206112d38339815191529086905190815260200160405180910390a3610d8d565b4260045411158015610cac57506005544210155b1515610cb757600080fd5b50600754600090815260096020908152604080832060020154600160a060020a0333168452600b9092529091206004015490830290811115610cf857600080fd5b600160a060020a0333166000818152600b60205260409081902060048101805485900390556001908101805487900390558054869003905582156108fc0290839051600060405180830381858888f193505050501515610d5757600080fd5b83600160a060020a031633600160a060020a03166000805160206112d38339815191528560405190815260200160405180910390a35b5060019392505050565b600160a060020a0333166000908152600a602052604081205460ff161515610dbe57600080fd5b600d5460ff161515610dcf57600080fd5b6004544210158015610de357506005544211155b1515610dee57600080fd5b60078054600090815260096020526040808220349081905560018054855485528385209091015583548352918190206002018590559154917f4e2f2af449999d89cffc27e92c75264950b3c8973eba93ecb6453402696e8840919085905191825260208201526040908101905180910390a2505060078054600190810190915590565b600160a060020a0333166000908152600a602052604081205460ff161515610e9857600080fd5b600d5460ff161515610ea957600080fd5b600554421015610eb857600080fd5b7f08cb3b5402054213ceb593430647d99cae73f0bf12c4858eb4daeff8922d0c6a30600160a060020a03163160405190815260200160405180910390a133600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610f3257600080fd5b50600190565b600d54610100900460ff1681565b600160a060020a0333166000908152600a602052604090205460ff161515610f6d57600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b60055481565b60025481565b6000805433600160a060020a03908116911614610fb957600080fd5b600d5460ff1615610fc957600080fd5b42600355600d805460ff191660011790556000805473ffffffffffffffffffffffffffffffffffffffff19169055811561105257600d805461ff0019166101001790556002546001805490910181557f6298ca4f353172e8666659ecd7e22fdc4ed1b49cb0fa83b8ce86cd4f01e6268390604051901515815260200160405180910390a1611089565b7f6298ca4f353172e8666659ecd7e22fdc4ed1b49cb0fa83b8ce86cd4f01e626836000604051901515815260200160405180910390a15b506001919050565b6000805433600160a060020a039081169116146110ad57600080fd5b600d5460ff16156110bd57600080fd5b81156110ee57600160a060020a0384166000908152600b602052604090208054840190556002805484019055610d8d565b600160a060020a0384166000818152600b602052604080822060019081018054880190558054870190556000805160206112d38339815191529086905190815260200160405180910390a35060019392505050565b6008602052600090815260409020805460019091015482565b600d5460009060ff16151561117057600080fd5b50600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b600160a060020a0333166000908152600a602052604081205460ff1615156111c357600080fd5b600d5460ff1615156111d457600080fd5b60045442101580156111e857506005544211155b15156111f357600080fd5b60068054600090815260086020526040808220349081905560018054855485529383902001929092559154917f82e61d793a5534264192d09887ed1ccb79669c3ee612dd2415f18c5b91d27f9591905190815260200160405180910390a25060068054600190810190915590565b60096020526000908152604090208054600182015460029092015490919083565b60045481565b60005433600160a060020a039081169116146112a357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e2c0f353b7f30eab82c66072f66b36c8e4522b9555c48e85b8fb6410b56755a20029000000000000000000000000000000000000000000000000000000005cdd50c00000000000000000000000000000000000000000000000000000000062823cc0000000000000000000000000d82bc89ba3646c16864e5629ac3b5845bd88bf58

Deployed Bytecode

0x6060604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461025e578063095ea7b3146102e85780630b97bc861461031e57806318160ddd1461034357806322f3e2d41461035657806323b872dd1461036957806327e235e314610391578063313ce567146103e957806342eabc29146103fc5780634a714c241461041b5780635c6581651461043a5780635f46d7501461045f57806370a08231146104725780638da5cb5b1461049157806395d89b41146104c0578063a201222d146104d3578063a3961207146104f2578063a9059cbb14610505578063abb689e114610527578063adb1cd7314610532578063b21a8be014610545578063b78376e914610558578063bf4aeff214610579578063c11657811461058c578063ce5e84a31461059f578063d1a1beb4146105b7578063d6db8ab6146105de578063dccee5b21461060c578063dd62ed3e1461062b578063de88a34214610650578063e421841614610658578063f04e8c6f14610692578063f2fde38b146106a5575b600042600454101580156101b657506005544211155b1561025b5760006101c6336106c4565b111561025b576101d5336106c4565b905033600160a060020a03167f1dc55c2de3dfe49cdb082370715c19033946bd4fc968efa15ac6b3d8987c1c498260405190815260200160405180910390a2600160a060020a0333166000818152600b60205260408082206002019190915582156108fc0290839051600060405180830381858888f19350505050151561025b57600080fd5b50005b341561026957600080fd5b6102716106e2565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102ad578082015183820152602001610295565b50505050905090810190601f1680156102da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f357600080fd5b61030a600160a060020a0360043516602435610719565b604051901515815260200160405180910390f35b341561032957600080fd5b6103316107aa565b60405190815260200160405180910390f35b341561034e57600080fd5b6103316107b0565b341561036157600080fd5b61030a6107b6565b341561037457600080fd5b61030a600160a060020a03600435811690602435166044356107bf565b341561039c57600080fd5b6103b0600160a060020a03600435166108be565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34156103f457600080fd5b6103316108f3565b341561040757600080fd5b610331600160a060020a03600435166108f8565b341561042657600080fd5b61030a600160a060020a0360043516610916565b341561044557600080fd5b610331600160a060020a036004358116906024351661092b565b341561046a57600080fd5b610331610948565b341561047d57600080fd5b610331600160a060020a036004351661094e565b341561049c57600080fd5b6104a461096c565b604051600160a060020a03909116815260200160405180910390f35b34156104cb57600080fd5b61027161097b565b34156104de57600080fd5b61030a600160a060020a03600435166109b2565b34156104fd57600080fd5b610331610be4565b341561051057600080fd5b61030a600160a060020a0360043516602435610bea565b61030a600435610d97565b341561053d57600080fd5b61030a610e71565b341561055057600080fd5b61030a610f38565b341561056357600080fd5b610577600160a060020a0360043516610f46565b005b341561058457600080fd5b610331610f91565b341561059757600080fd5b610331610f97565b34156105aa57600080fd5b61030a6004351515610f9d565b34156105c257600080fd5b61030a600160a060020a03600435166024356044351515611091565b34156105e957600080fd5b6105f4600435611143565b60405191825260208201526040908101905180910390f35b341561061757600080fd5b610331600160a060020a03600435166106c4565b341561063657600080fd5b610331600160a060020a036004358116906024351661115c565b61030a61119c565b341561066357600080fd5b61066e600435611261565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561069d57600080fd5b610331611282565b34156106b057600080fd5b610577600160a060020a0360043516611288565b600160a060020a03166000908152600b602052604090206002015490565b60408051908101604052600881527f41677269636f696e000000000000000000000000000000000000000000000000602082015281565b600d5460009060ff16151561072d57600080fd5b610736336109b2565b50610740836109b2565b50600160a060020a033381166000818152600c6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035481565b60015481565b600d5460ff1681565b600d5460009060ff1615156107d357600080fd5b600160a060020a0384166000908152600b6020526040902060010154829010156107fc57600080fd5b600160a060020a038085166000908152600c6020908152604080832033909416835292905220548290101561083057600080fd5b600160a060020a038316151561084557600080fd5b61084e846109b2565b50610858836109b2565b50600160a060020a038085166000818152600b602052604080822060019081018054889003905593871680835291819020909301805486019055916000805160206112d38339815191529085905190815260200160405180910390a35060019392505050565b600b60205260009081526040902080546001820154600283015460038401546004850154600590950154939492939192909186565b600281565b600160a060020a03166000908152600b602052604090206004015490565b600a6020526000908152604090205460ff1681565b600c60209081526000928352604080842090915290825290205481565b60065481565b600160a060020a03166000908152600b602052604090206001015490565b600054600160a060020a031681565b60408051908101604052600381527f4147520000000000000000000000000000000000000000000000000000000000602082015281565b600d54600090819081908190819060ff1615156109ce57600080fd5b600d54610100900460ff1615610a5b57600160a060020a0386166000908152600b602052604090205415610a5b57600160a060020a0386166000818152600b6020526040808220805460019091018054820190556000805160206112d3833981519152915190815260200160405180910390a3600160a060020a0386166000908152600b60205260408120555b600654600160a060020a0387166000908152600b6020526040902060030154148015610aa35750600754600160a060020a0387166000908152600b6020526040902060050154145b15610ab15760019450610bdb565b600160a060020a0386166000908152600b602052604081206003015490945092505b600654831015610b285760008381526008602090815260408083206001808201549154600160a060020a038c168652600b90945291909320015402811515610b1757fe5b049390930192600190920191610ad3565b5050600160a060020a0384166000908152600b60205260408120600281018054850190556006546003820155600501545b600754811015610bab5760008181526009602090815260408083206001808201549154600160a060020a038c168652600b90945291909320015402811515610b9d57fe5b049190910190600101610b59565b600160a060020a0386166000908152600b6020526040902060048101805484019055600754600590910155600194505b50505050919050565b60075481565b600d54600090819060ff161515610c0057600080fd5b82610c0a3361094e565b1015610c1557600080fd5b610c1e336109b2565b50600160a060020a03841615610c9857610c37846109b2565b50600160a060020a033381166000818152600b602052604080822060019081018054899003905593881680835291819020909301805487019055916000805160206112d38339815191529086905190815260200160405180910390a3610d8d565b4260045411158015610cac57506005544210155b1515610cb757600080fd5b50600754600090815260096020908152604080832060020154600160a060020a0333168452600b9092529091206004015490830290811115610cf857600080fd5b600160a060020a0333166000818152600b60205260409081902060048101805485900390556001908101805487900390558054869003905582156108fc0290839051600060405180830381858888f193505050501515610d5757600080fd5b83600160a060020a031633600160a060020a03166000805160206112d38339815191528560405190815260200160405180910390a35b5060019392505050565b600160a060020a0333166000908152600a602052604081205460ff161515610dbe57600080fd5b600d5460ff161515610dcf57600080fd5b6004544210158015610de357506005544211155b1515610dee57600080fd5b60078054600090815260096020526040808220349081905560018054855485528385209091015583548352918190206002018590559154917f4e2f2af449999d89cffc27e92c75264950b3c8973eba93ecb6453402696e8840919085905191825260208201526040908101905180910390a2505060078054600190810190915590565b600160a060020a0333166000908152600a602052604081205460ff161515610e9857600080fd5b600d5460ff161515610ea957600080fd5b600554421015610eb857600080fd5b7f08cb3b5402054213ceb593430647d99cae73f0bf12c4858eb4daeff8922d0c6a30600160a060020a03163160405190815260200160405180910390a133600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610f3257600080fd5b50600190565b600d54610100900460ff1681565b600160a060020a0333166000908152600a602052604090205460ff161515610f6d57600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b60055481565b60025481565b6000805433600160a060020a03908116911614610fb957600080fd5b600d5460ff1615610fc957600080fd5b42600355600d805460ff191660011790556000805473ffffffffffffffffffffffffffffffffffffffff19169055811561105257600d805461ff0019166101001790556002546001805490910181557f6298ca4f353172e8666659ecd7e22fdc4ed1b49cb0fa83b8ce86cd4f01e6268390604051901515815260200160405180910390a1611089565b7f6298ca4f353172e8666659ecd7e22fdc4ed1b49cb0fa83b8ce86cd4f01e626836000604051901515815260200160405180910390a15b506001919050565b6000805433600160a060020a039081169116146110ad57600080fd5b600d5460ff16156110bd57600080fd5b81156110ee57600160a060020a0384166000908152600b602052604090208054840190556002805484019055610d8d565b600160a060020a0384166000818152600b602052604080822060019081018054880190558054870190556000805160206112d38339815191529086905190815260200160405180910390a35060019392505050565b6008602052600090815260409020805460019091015482565b600d5460009060ff16151561117057600080fd5b50600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b600160a060020a0333166000908152600a602052604081205460ff1615156111c357600080fd5b600d5460ff1615156111d457600080fd5b60045442101580156111e857506005544211155b15156111f357600080fd5b60068054600090815260086020526040808220349081905560018054855485529383902001929092559154917f82e61d793a5534264192d09887ed1ccb79669c3ee612dd2415f18c5b91d27f9591905190815260200160405180910390a25060068054600190810190915590565b60096020526000908152604090208054600182015460029092015490919083565b60045481565b60005433600160a060020a039081169116146112a357600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e2c0f353b7f30eab82c66072f66b36c8e4522b9555c48e85b8fb6410b56755a20029

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

000000000000000000000000000000000000000000000000000000005cdd50c00000000000000000000000000000000000000000000000000000000062823cc0000000000000000000000000d82bc89ba3646c16864e5629ac3b5845bd88bf58

-----Decoded View---------------
Arg [0] : payout_period_start (uint256): 1558008000
Arg [1] : payout_period_end (uint256): 1652702400
Arg [2] : _payer (address): 0xd82bc89bA3646c16864E5629Ac3B5845bD88BF58

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005cdd50c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000062823cc0
Arg [2] : 000000000000000000000000d82bc89ba3646c16864e5629ac3b5845bd88bf58


Swarm Source

bzzr://e2c0f353b7f30eab82c66072f66b36c8e4522b9555c48e85b8fb6410b56755a2
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.