ETH Price: $3,225.59 (+0.97%)

Token

FlairDrop (FLAIRDROP)
 

Overview

Max Total Supply

100,005,840 FLAIRDROP

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
801 FLAIRDROP

Value
$0.00
0xa70091dd81bd0c6d54326a973dc0d7b3f47c6dfd
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

FlairDrop is a tool to make airdrops easy for other projects.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FlairDrop

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-08-02
*/

pragma solidity ^0.4.24;

contract BasicTokenInterface{
    function balanceOf(address tokenOwner) public view returns (uint balance);
    function transfer(address to, uint tokens) public returns (bool success);
    event Transfer(address indexed from, address indexed to, uint tokens);
}

// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken
// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken
// ----------------------------------------------------------------------------
contract ApproveAndCallFallBack {
    event ApprovalReceived(address indexed from, uint256 indexed amount, address indexed tokenAddr, bytes data);
    function receiveApproval(address from, uint256 amount, address tokenAddr, bytes data) public{
        emit ApprovalReceived(from, amount, tokenAddr, data);
    }
}

// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
// ----------------------------------------------------------------------------
contract ERC20TokenInterface is BasicTokenInterface, ApproveAndCallFallBack{
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;

    function allowance(address tokenOwner, address spender) public view returns (uint remaining);   
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
    function transferTokens(address token, uint amount) public returns (bool success);
    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

pragma experimental "v0.5.0";

library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a && c >= b);
    }
    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }
    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || b == 0 || c / a == b);
    }
    function div(uint a, uint b) internal pure returns (uint c) {
        require(a > 0 && b > 0);
        c = a / b;
    }
}

contract BasicToken is BasicTokenInterface{
    using SafeMath for uint;
    
    string public name;                   //fancy name: eg Simon Bucks
    uint8 public decimals;                //How many decimals to show.
    string public symbol;                 //An identifier: eg SBX
    uint public totalSupply;
    mapping (address => uint256) internal balances;
    
    modifier checkpayloadsize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    } 

    function transfer(address _to, uint256 _value) public checkpayloadsize(2*32) returns (bool success) {
        require(balances[msg.sender] >= _value);
        success = true;
        balances[msg.sender] -= _value;

        //If sent to contract address reduce the supply
        if(_to == address(this)){
            totalSupply = totalSupply.sub(_value);
        }else{
            balances[_to] += _value;
        }
        emit Transfer(msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars
        return success;
    }

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

}

contract ManagedToken is BasicToken {
    address manager;
    modifier restricted(){
        require(msg.sender == manager,"Function can only be used by manager");
        _;
    }

    function setManager(address newManager) public restricted{
        balances[newManager] = balances[manager];
        balances[manager] = 0;
        manager = newManager;
    }

}

contract ERC20Token is ERC20TokenInterface, ManagedToken{

    mapping (address => mapping (address => uint256)) internal allowed;

    /**
    * @dev Transfer tokens from one address to another
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the amount of tokens to be transferred
    */
    function transferFrom(address _from,address _to,uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

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


    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * Beware that changing an allowance with this method brings the risk that someone may use both the old
    * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
    * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account. The `spender` contract function
    // `receiveApproval(...)` is then executed
    // ------------------------------------------------------------------------
    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }

    /**
    * @dev Function to check the amount of tokens that an owner allowed to a spender.
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will spend the funds.
    * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address _owner,address _spender) public view returns (uint256)
    {
        return allowed[_owner][_spender];
    }

    //Permit manager to sweep any tokens that landed here
    function transferTokens(address token,uint _value) public restricted returns (bool success){
        return ERC20Token(token).transfer(msg.sender,_value);
    }



}

contract FlairDrop is ERC20Token {

    address flairdrop;
    uint tokenPrice;
    event AirDropEvent(address indexed tokencontract, address[] destinations,uint[] indexed amounts);
    
    function() external payable {
        buyTokens();
    }

    function buyTokens() public payable{
        address(manager).transfer(msg.value);
        uint tokensBought = msg.value.div(tokenPrice);
        balances[msg.sender] = balances[msg.sender].add(tokensBought);
        totalSupply += tokensBought;
        emit Transfer(address(this),msg.sender,tokensBought);
    }

    constructor() public {
        flairdrop = address(this);
        name = "FlairDrop! Airdrops With Pizzazz!";
        symbol = "FLAIRDROP";
        decimals = 0;
        totalSupply = 0;
        tokenPrice = 10000000000000; //0.01 finney
        manager = msg.sender;
        balances[manager] = 100000000;
        totalSupply = balances[manager];
        emit Transfer(address(this),manager,balances[manager]);
        
    }

    function airDrop(address parent, uint[] amounts, address[] droptargets) public payable {
        if(msg.value > 0){
            buyTokens();
        }
        
        require(balances[msg.sender] >= droptargets.length,"Insufficient funds to execute this airdrop");
        //Step 1 check our allowance with parent contract
        ERC20TokenInterface parentContract = ERC20TokenInterface(parent);
        uint allowance = parentContract.allowance(msg.sender, flairdrop);

        uint amount = amounts[0];
    
        uint x = 0;

        address target;
        
        while(gasleft() > 21000 && x <= droptargets.length - 1 ){
            target = droptargets[x];
            
            if(amounts.length == droptargets.length){
                amount = amounts[x];
            }
            if(allowance >=amount){
                parentContract.transferFrom(msg.sender,target,amount);
                allowance -= amount;
            }
            x++;
        }
        
        balances[msg.sender] -= x;
        totalSupply  = totalSupply >= x ? totalSupply - x : 0;
    
        emit Transfer(msg.sender, address(0), x);
        emit AirDropEvent(parent,droptargets,amounts);
    }

    function setTokenPrice(uint price) public restricted{
        tokenPrice = price;
    }

    function getTokenPrice() public view returns(uint){
        return tokenPrice;
    }
}

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":"totalSupply","outputs":[{"name":"","type":"uint256"}],"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":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"price","type":"uint256"}],"name":"setTokenPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"amount","type":"uint256"},{"name":"tokenAddr","type":"address"},{"name":"data","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newManager","type":"address"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"parent","type":"address"},{"name":"amounts","type":"uint256[]"},{"name":"droptargets","type":"address[]"}],"name":"airDrop","outputs":[],"payable":true,"stateMutability":"payable","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"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokencontract","type":"address"},{"indexed":false,"name":"destinations","type":"address[]"},{"indexed":true,"name":"amounts","type":"uint256[]"}],"name":"AirDropEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":true,"name":"tokenAddr","type":"address"},{"indexed":false,"name":"data","type":"bytes"}],"name":"ApprovalReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040523480156200001157600080fd5b50600b8054600160a060020a031916301790556040805160608101825260218082527f466c61697244726f70212041697264726f707320576974682050697a7a617a7a602083019081527f21000000000000000000000000000000000000000000000000000000000000009290930191909152620000929160049162000171565b506040805180820190915260098082527f464c41495244524f5000000000000000000000000000000000000000000000006020909201918252620000d99160069162000171565b506005805460ff19169055600060078181556509184e72a000600c5560098054600160a060020a0319163317808255600160a060020a0390811684526008602090815260408086206305f5e100905592549091168085529382902054928390558151928352905130927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a362000216565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001b457805160ff1916838001178555620001e4565b82800160010185558215620001e4579182015b82811115620001e4578251825591602001919060010190620001c7565b50620001f2929150620001f6565b5090565b6200021391905b80821115620001f25760008155600101620001fd565b90565b61120480620002266000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100fa578063095ea7b31461018457806318160ddd146101bc57806323b872dd146101e3578063313ce5671461020d5780634b94f50e146102385780636a61e5fc1461024d57806370a08231146102655780638f4ffcb11461028657806395d89b41146102f6578063a9059cbb1461030b578063bec3fa171461032f578063cae9ca5114610353578063d0ebdbe7146103bc578063d0febe4c146100f0578063d6916c34146103dd578063dd62ed3e1461046c575b6100f8610493565b005b34801561010657600080fd5b5061010f610549565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019057600080fd5b506101a8600160a060020a03600435166024356105d7565b604080519115158252519081900360200190f35b3480156101c857600080fd5b506101d161063e565b60408051918252519081900360200190f35b3480156101ef57600080fd5b506101a8600160a060020a0360043581169060243516604435610644565b34801561021957600080fd5b506102226107ab565b6040805160ff9092168252519081900360200190f35b34801561024457600080fd5b506101d16107b4565b34801561025957600080fd5b506100f86004356107ba565b34801561027157600080fd5b506101d1600160a060020a0360043516610846565b34801561029257600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526100f894600160a060020a038135811695602480359660443590931695369560849492019181908401838280828437509497506108619650505050505050565b34801561030257600080fd5b5061010f610915565b34801561031757600080fd5b506101a8600160a060020a0360043516602435610970565b34801561033b57600080fd5b506101a8600160a060020a0360043516602435610a35565b34801561035f57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101a8948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610b5a9650505050505050565b3480156103c857600080fd5b506100f8600160a060020a0360043516610cbb565b6040805160206004602480358281013584810280870186019097528086526100f8968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610d999650505050505050565b34801561047857600080fd5b506101d1600160a060020a036004358116906024351661112b565b600954604051600091600160a060020a0316903480156108fc029184818181858888f193505050501580156104cc573d6000803e3d6000fd5b50600c546104e190349063ffffffff61115616565b33600090815260086020526040902054909150610504908263ffffffff61118516565b3360008181526008602090815260409182902093909355600780548501905580518481529051919230926000805160206111b98339815191529281900390910190a350565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105cf5780601f106105a4576101008083540402835291602001916105cf565b820191906000526020600020905b8154815290600101906020018083116105b257829003601f168201915b505050505081565b336000818152600a60209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60075481565b6000600160a060020a038316151561065b57600080fd5b600160a060020a03841660009081526008602052604090205482111561068057600080fd5b600160a060020a0384166000908152600a602090815260408083203384529091529020548211156106b057600080fd5b600160a060020a0384166000908152600860205260409020546106d9908363ffffffff6111a316565b600160a060020a03808616600090815260086020526040808220939093559085168152205461070e908363ffffffff61118516565b600160a060020a038085166000908152600860209081526040808320949094559187168152600a82528281203382529091522054610752908363ffffffff6111a316565b600160a060020a038086166000818152600a6020908152604080832033845282529182902094909455805186815290519287169391926000805160206111b9833981519152929181900390910190a35060019392505050565b60055460ff1681565b600c5490565b600954600160a060020a03163314610841576040805160e560020a62461bcd028152602060048201526024808201527f46756e6374696f6e2063616e206f6e6c792062652075736564206279206d616e60448201527f6167657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600c55565b600160a060020a031660009081526008602052604090205490565b81600160a060020a03168385600160a060020a03167fc63af2ad6010d3d2613f98ba69779c3c407a587c09ec33352636f307a597fa0f846040518080602001828103825283818151815260200191508051906020019080838360005b838110156108d55781810151838201526020016108bd565b50505050905090810190601f1680156109025780820380516001836020036101000a031916815260200191505b509250505060405180910390a450505050565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105cf5780601f106105a4576101008083540402835291602001916105cf565b60006040604436101561097f57fe5b3360009081526008602052604090205483111561099b57600080fd5b3360009081526008602052604090208054849003905560019150600160a060020a0384163014156109e1576007546109d9908463ffffffff6111a316565b600755610a00565b600160a060020a03841660009081526008602052604090208054840190555b604080518481529051600160a060020a0386169133916000805160206111b98339815191529181900360200190a35092915050565b600954600090600160a060020a03163314610abf576040805160e560020a62461bcd028152602060048201526024808201527f46756e6374696f6e2063616e206f6e6c792062652075736564206279206d616e60448201527f6167657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018490529051600160a060020a0385169163a9059cbb9160448083019260209291908290030181600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b50519392505050565b336000818152600a60209081526040808320600160a060020a038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610c4a578181015183820152602001610c32565b50505050905090810190601f168015610c775780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610c9957600080fd5b505af1158015610cad573d6000803e3d6000fd5b506001979650505050505050565b600954600160a060020a03163314610d42576040805160e560020a62461bcd028152602060048201526024808201527f46756e6374696f6e2063616e206f6e6c792062652075736564206279206d616e60448201527f6167657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60098054600160a060020a0390811660009081526008602052604080822054948316808352818320959095558354909216815290812055805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600080600080600080341115610db157610db1610493565b8551336000908152600860205260409020541015610e3f576040805160e560020a62461bcd02815260206004820152602a60248201527f496e73756666696369656e742066756e647320746f206578656375746520746860448201527f69732061697264726f7000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03928316602482015290518a97509187169163dd62ed3e91604480820192602092909190829003018186803b158015610eae57600080fd5b505afa158015610ec2573d6000803e3d6000fd5b505050506040513d6020811015610ed857600080fd5b5051875190945087906000908110610eec57fe5b906020019060200201519250600091505b6152085a118015610f12575060018651038211155b1561100c578582815181101515610f2557fe5b906020019060200201519050855187511415610f56578682815181101515610f4957fe5b9060200190602002015192505b82841061100157604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038381166024830152604482018690529151918716916323b872dd916064808201926020929091908290030181600087803b158015610fcf57600080fd5b505af1158015610fe3573d6000803e3d6000fd5b505050506040513d6020811015610ff957600080fd5b505092829003925b600190910190610efd565b33600090815260086020526040902080548390039055600754821115611033576000611039565b81600754035b60075560408051838152905160009133916000805160206111b98339815191529181900360200190a38660405180828051906020019060200280838360005b83811015611090578181015183820152602001611078565b50505050905001915050604051809103902088600160a060020a03167f9be68dcb8b772537ce3ed03ea5f2b15fa113676c6c5d351cee6b75c3f356f3f5886040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561110e5781810151838201526020016110f6565b505050509050019250505060405180910390a35050505050505050565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b600080831180156111675750600082115b151561117257600080fd5b818381151561117d57fe5b049392505050565b8181018281108015906111985750818110155b151561063857600080fd5b6000828211156111b257600080fd5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e1052ce899679e42a4bc285bcf99e529af1bee530b843ac39c94384a6b6f23a90029

Deployed Bytecode

0x6080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100fa578063095ea7b31461018457806318160ddd146101bc57806323b872dd146101e3578063313ce5671461020d5780634b94f50e146102385780636a61e5fc1461024d57806370a08231146102655780638f4ffcb11461028657806395d89b41146102f6578063a9059cbb1461030b578063bec3fa171461032f578063cae9ca5114610353578063d0ebdbe7146103bc578063d0febe4c146100f0578063d6916c34146103dd578063dd62ed3e1461046c575b6100f8610493565b005b34801561010657600080fd5b5061010f610549565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019057600080fd5b506101a8600160a060020a03600435166024356105d7565b604080519115158252519081900360200190f35b3480156101c857600080fd5b506101d161063e565b60408051918252519081900360200190f35b3480156101ef57600080fd5b506101a8600160a060020a0360043581169060243516604435610644565b34801561021957600080fd5b506102226107ab565b6040805160ff9092168252519081900360200190f35b34801561024457600080fd5b506101d16107b4565b34801561025957600080fd5b506100f86004356107ba565b34801561027157600080fd5b506101d1600160a060020a0360043516610846565b34801561029257600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526100f894600160a060020a038135811695602480359660443590931695369560849492019181908401838280828437509497506108619650505050505050565b34801561030257600080fd5b5061010f610915565b34801561031757600080fd5b506101a8600160a060020a0360043516602435610970565b34801561033b57600080fd5b506101a8600160a060020a0360043516602435610a35565b34801561035f57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101a8948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610b5a9650505050505050565b3480156103c857600080fd5b506100f8600160a060020a0360043516610cbb565b6040805160206004602480358281013584810280870186019097528086526100f8968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610d999650505050505050565b34801561047857600080fd5b506101d1600160a060020a036004358116906024351661112b565b600954604051600091600160a060020a0316903480156108fc029184818181858888f193505050501580156104cc573d6000803e3d6000fd5b50600c546104e190349063ffffffff61115616565b33600090815260086020526040902054909150610504908263ffffffff61118516565b3360008181526008602090815260409182902093909355600780548501905580518481529051919230926000805160206111b98339815191529281900390910190a350565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105cf5780601f106105a4576101008083540402835291602001916105cf565b820191906000526020600020905b8154815290600101906020018083116105b257829003601f168201915b505050505081565b336000818152600a60209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60075481565b6000600160a060020a038316151561065b57600080fd5b600160a060020a03841660009081526008602052604090205482111561068057600080fd5b600160a060020a0384166000908152600a602090815260408083203384529091529020548211156106b057600080fd5b600160a060020a0384166000908152600860205260409020546106d9908363ffffffff6111a316565b600160a060020a03808616600090815260086020526040808220939093559085168152205461070e908363ffffffff61118516565b600160a060020a038085166000908152600860209081526040808320949094559187168152600a82528281203382529091522054610752908363ffffffff6111a316565b600160a060020a038086166000818152600a6020908152604080832033845282529182902094909455805186815290519287169391926000805160206111b9833981519152929181900390910190a35060019392505050565b60055460ff1681565b600c5490565b600954600160a060020a03163314610841576040805160e560020a62461bcd028152602060048201526024808201527f46756e6374696f6e2063616e206f6e6c792062652075736564206279206d616e60448201527f6167657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600c55565b600160a060020a031660009081526008602052604090205490565b81600160a060020a03168385600160a060020a03167fc63af2ad6010d3d2613f98ba69779c3c407a587c09ec33352636f307a597fa0f846040518080602001828103825283818151815260200191508051906020019080838360005b838110156108d55781810151838201526020016108bd565b50505050905090810190601f1680156109025780820380516001836020036101000a031916815260200191505b509250505060405180910390a450505050565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105cf5780601f106105a4576101008083540402835291602001916105cf565b60006040604436101561097f57fe5b3360009081526008602052604090205483111561099b57600080fd5b3360009081526008602052604090208054849003905560019150600160a060020a0384163014156109e1576007546109d9908463ffffffff6111a316565b600755610a00565b600160a060020a03841660009081526008602052604090208054840190555b604080518481529051600160a060020a0386169133916000805160206111b98339815191529181900360200190a35092915050565b600954600090600160a060020a03163314610abf576040805160e560020a62461bcd028152602060048201526024808201527f46756e6374696f6e2063616e206f6e6c792062652075736564206279206d616e60448201527f6167657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018490529051600160a060020a0385169163a9059cbb9160448083019260209291908290030181600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b50519392505050565b336000818152600a60209081526040808320600160a060020a038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610c4a578181015183820152602001610c32565b50505050905090810190601f168015610c775780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610c9957600080fd5b505af1158015610cad573d6000803e3d6000fd5b506001979650505050505050565b600954600160a060020a03163314610d42576040805160e560020a62461bcd028152602060048201526024808201527f46756e6374696f6e2063616e206f6e6c792062652075736564206279206d616e60448201527f6167657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60098054600160a060020a0390811660009081526008602052604080822054948316808352818320959095558354909216815290812055805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600080600080600080341115610db157610db1610493565b8551336000908152600860205260409020541015610e3f576040805160e560020a62461bcd02815260206004820152602a60248201527f496e73756666696369656e742066756e647320746f206578656375746520746860448201527f69732061697264726f7000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03928316602482015290518a97509187169163dd62ed3e91604480820192602092909190829003018186803b158015610eae57600080fd5b505afa158015610ec2573d6000803e3d6000fd5b505050506040513d6020811015610ed857600080fd5b5051875190945087906000908110610eec57fe5b906020019060200201519250600091505b6152085a118015610f12575060018651038211155b1561100c578582815181101515610f2557fe5b906020019060200201519050855187511415610f56578682815181101515610f4957fe5b9060200190602002015192505b82841061100157604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a038381166024830152604482018690529151918716916323b872dd916064808201926020929091908290030181600087803b158015610fcf57600080fd5b505af1158015610fe3573d6000803e3d6000fd5b505050506040513d6020811015610ff957600080fd5b505092829003925b600190910190610efd565b33600090815260086020526040902080548390039055600754821115611033576000611039565b81600754035b60075560408051838152905160009133916000805160206111b98339815191529181900360200190a38660405180828051906020019060200280838360005b83811015611090578181015183820152602001611078565b50505050905001915050604051809103902088600160a060020a03167f9be68dcb8b772537ce3ed03ea5f2b15fa113676c6c5d351cee6b75c3f356f3f5886040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561110e5781810151838201526020016110f6565b505050509050019250505060405180910390a35050505050505050565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b600080831180156111675750600082115b151561117257600080fd5b818381151561117d57fe5b049392505050565b8181018281108015906111985750818110155b151561063857600080fd5b6000828211156111b257600080fd5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e1052ce899679e42a4bc285bcf99e529af1bee530b843ac39c94384a6b6f23a90029

Swarm Source

bzzr://e1052ce899679e42a4bc285bcf99e529af1bee530b843ac39c94384a6b6f23a9
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.