ETH Price: $2,512.86 (-1.49%)

Token

OSDT (OSDT)
 

Overview

Max Total Supply

1,000,000,000 OSDT

Holders

1,411

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0.483334 OSDT

Value
$0.00
0xdc2de16aa36a89174dcf2e0a6a6a790e1e6988c5
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:
OSDT

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-09-30
*/

pragma solidity ^0.5.11;

library SafeMathMod {// Partial SafeMath Library

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

    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        require((c = a + b) > a);
    }
    
    function mul(uint256 a, uint256 b) internal pure returns(uint c) {
    c = a * b;
    require(a == 0 || c / a == b);
  }
  
  function div(uint a, uint b) internal pure returns(uint c) {
    require(b > 0);
    c = a / b;
  }
}

contract ERC20Interface {
  function totalSupply() public view returns(uint);
  function balanceOf(address tokenOwner) public view returns(uint balance);
  function allowance(address tokenOwner, address spender) public view returns(uint remaining);
  function transfer(address to, uint tokens) public returns(bool success);
  function approve(address spender, uint tokens) public returns(bool success);
  function transferFrom(address from, address to, uint tokens) public returns(bool success);
  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
  function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}

contract Owned {
  address public owner;
  event OwnershipTransferred(address indexed _from, address indexed _to);
  constructor() public {
    owner = msg.sender;
  }
  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }
  function transferOwnership(address newOwner) public onlyOwner {
    owner = newOwner;
    emit OwnershipTransferred(owner, newOwner);
  }
}
// blacklist
contract UserLock is Owned {
  mapping(address => bool) blacklist;
  event LockUser(address indexed who);
  event UnlockUser(address indexed who);
  modifier permissionCheck {
    require(!blacklist[msg.sender]);
    _;
  }
  function lockUser(address who) public onlyOwner {
    blacklist[who] = true;
    emit LockUser(who);
  }
  function unlockUser(address who) public onlyOwner {
    blacklist[who] = false;
    emit UnlockUser(who);
  }
}

contract Tokenlock is Owned {
  uint8 isLocked = 0;
  event Freezed();
  event UnFreezed();
  modifier validLock {
    require(isLocked == 0);
    _;
  }
  function freeze() public onlyOwner {
    isLocked = 1;
    emit Freezed();
  }
  function unfreeze() public onlyOwner {
    isLocked = 0;
    emit UnFreezed();
  }
}

contract OSDT is ERC20Interface, Tokenlock, UserLock{//is inherently ERC20
    using SafeMathMod for uint256;

    /**
    * @constant name The name of the token
    * @constant symbol  The symbol used to display the currency
    * @constant decimals  The number of decimals used to dispay a balance
    * @constant totalSupply The total number of tokens times 10^ of the number of decimals
    * @constant MAX_UINT256 Magic number for unlimited allowance
    * @storage balanceOf Holds the balances of all token holders
    * @storage allowed Holds the allowable balance to be transferable by another address.
    */

    string constant public name = "OSDT";

    string constant public symbol = "OSDT";

    uint8 constant public decimals = 6;

    uint256  _totalSupply = 10e14;

    uint256 constant private MAX_UINT256 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

    mapping (address => uint256) public balances;
    
    mapping (address => mapping (address => uint256)) public allowed;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);

    event TransferFrom(address indexed _spender, address indexed _from, address indexed _to, uint256 _value);

    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    constructor() public {
        balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
    }
    
    function totalSupply() public view returns(uint) {
        return _totalSupply;
    }
    
    function balanceOf(address tokenOwner) public view returns(uint balance) {
        return balances[tokenOwner];
    }
    
    /**
    * @notice send `_value` token to `_to` from `msg.sender`
    *
    * @param _to The address of the recipient
    * @param _value The amount of token to be transferred
    * @return Whether the transfer was successful or not
    */
    function transfer(address _to, uint256 _value) public validLock permissionCheck returns (bool success) {
        /* Ensures that tokens are not sent to address "0x0" */
        require(_to != address(0));
        /* Prevents sending tokens directly to contracts. */
        require(isNotContract(_to));

        /* SafeMathMOd.sub will throw if there is not enough balance and if the transfer value is 0. */
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    *
    * @param _from The address of the sender
    * @param _to The address of the recipient
    * @param _value The amount of token to be transferred
    * @return Whether the transfer was successful or not
    */
    function transferFrom(address _from, address _to, uint256 _value) public validLock permissionCheck returns (bool success) {
        /* Ensures that tokens are not sent to address "0x0" */
        require(_to != address(0));
        /* Ensures tokens are not sent to this contract */
        require(_to != address(this));
        
        uint256 allowance = allowed[_from][msg.sender];
        /* Ensures sender has enough available allowance OR sender is balance holder allowing single transsaction send to contracts*/
        require(_value <= allowance || _from == msg.sender);

        /* Use SafeMathMod to add and subtract from the _to and _from addresses respectively. Prevents under/overflow and 0 transfers */
        balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);

        /* Only reduce allowance if not MAX_UINT256 in order to save gas on unlimited allowance */
        /* Balance holder does not need allowance to send from self. */
        if (allowed[_from][msg.sender] != MAX_UINT256 && _from != msg.sender) {
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        }
        emit Transfer(_from, _to, _value);
        return true;
    }

    /**
    * @notice `msg.sender` approves `_spender` to spend `_value` tokens
    *
    * @param _spender The address of the account able to transfer the tokens
    * @param _value The amount of tokens to be approved for transfer
    * @return Whether the approval was successful or not
    */
    function approve(address _spender, uint256 _value) public validLock permissionCheck returns (bool success) {
        /* Ensures address "0x0" is not assigned allowance. */
        require(_spender != address(0));

        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
    * @param _owner The address of the account owning tokens
    * @param _spender The address of the account able to transfer the tokens
    * @return Amount of remaining tokens allowed to spent
    */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        remaining = allowed[_owner][_spender];
    }
    
    // trust pay
    function approveAndCall(address spender, uint tokens, bytes memory data) public validLock permissionCheck returns(bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
        return true;
    }
    
    function mintToken(address target, uint256 mintedAmount) public onlyOwner {
        require(target != address(0));
        balances[target] += mintedAmount;
        _totalSupply = _totalSupply.add(mintedAmount);
        emit Transfer(address(0), owner, mintedAmount);
        emit Transfer(owner, target, mintedAmount);
    }
    
    function () external payable {
        revert();
    }

    function isNotContract(address _addr) private view returns (bool) {
        uint length;
        assembly {
        /* retrieve the size of the code on target address, this needs assembly */
        length := extcodesize(_addr)
        }
        return (length == 0);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"unlockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"lockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"LockUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"UnlockUser","type":"event"},{"anonymous":false,"inputs":[],"name":"Freezed","type":"event"},{"anonymous":false,"inputs":[],"name":"UnFreezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526000805460ff60a01b1916905566038d7ea4c6800060025534801561002857600080fd5b50600080546001600160a01b03191633178082556002546001600160a01b039182168352600360209081526040808520839055845481519384529051931693927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3610e59806100a16000396000f3fe6080604052600436106101145760003560e01c806370a08231116100a0578063bd1870a311610064578063bd1870a3146103f5578063cae9ca5114610428578063d7972580146104f0578063dd62ed3e14610523578063f2fde38b1461055e57610114565b806370a082311461031f57806379c65068146103525780638da5cb5b1461038b57806395d89b4114610119578063a9059cbb146103bc57610114565b806327e235e3116100e757806327e235e31461025a578063313ce5671461028d5780635c658165146102b857806362a5af3b146102f35780636a28f0001461030a57610114565b806306fdde0314610119578063095ea7b3146101a357806318160ddd146101f057806323b872dd14610217575b600080fd5b34801561012557600080fd5b5061012e610591565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101af57600080fd5b506101dc600480360360408110156101c657600080fd5b506001600160a01b0381351690602001356105b1565b604080519115158252519081900360200190f35b3480156101fc57600080fd5b50610205610661565b60408051918252519081900360200190f35b34801561022357600080fd5b506101dc6004803603606081101561023a57600080fd5b506001600160a01b03813581169160208101359091169060400135610667565b34801561026657600080fd5b506102056004803603602081101561027d57600080fd5b50356001600160a01b0316610850565b34801561029957600080fd5b506102a2610862565b6040805160ff9092168252519081900360200190f35b3480156102c457600080fd5b50610205600480360360408110156102db57600080fd5b506001600160a01b0381358116916020013516610867565b3480156102ff57600080fd5b50610308610884565b005b34801561031657600080fd5b506103086108d7565b34801561032b57600080fd5b506102056004803603602081101561034257600080fd5b50356001600160a01b0316610924565b34801561035e57600080fd5b506103086004803603604081101561037557600080fd5b506001600160a01b03813516906020013561093f565b34801561039757600080fd5b506103a0610a06565b604080516001600160a01b039092168252519081900360200190f35b3480156103c857600080fd5b506101dc600480360360408110156103df57600080fd5b506001600160a01b038135169060200135610a15565b34801561040157600080fd5b506103086004803603602081101561041857600080fd5b50356001600160a01b0316610b0d565b34801561043457600080fd5b506101dc6004803603606081101561044b57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460018302840111640100000000831117156104af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b6d945050505050565b3480156104fc57600080fd5b506103086004803603602081101561051357600080fd5b50356001600160a01b0316610ceb565b34801561052f57600080fd5b506102056004803603604081101561054657600080fd5b506001600160a01b0381358116916020013516610d51565b34801561056a57600080fd5b506103086004803603602081101561058157600080fd5b50356001600160a01b0316610d7c565b6040518060400160405280600481526020016313d4d11560e21b81525081565b60008054600160a01b900460ff16156105c957600080fd5b3360009081526001602052604090205460ff16156105e657600080fd5b6001600160a01b0383166105f957600080fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025490565b60008054600160a01b900460ff161561067f57600080fd5b3360009081526001602052604090205460ff161561069c57600080fd5b6001600160a01b0383166106af57600080fd5b6001600160a01b0383163014156106c557600080fd5b6001600160a01b0384166000908152600460209081526040808320338452909152902054808311158061070057506001600160a01b03851633145b61070957600080fd5b6001600160a01b038416600090815260036020526040902054610732908463ffffffff610de116565b6001600160a01b038086166000908152600360205260408082209390935590871681522054610767908463ffffffff610df016565b6001600160a01b0386166000908152600360209081526040808320939093556004815282822033835290522054600019148015906107ae57506001600160a01b0385163314155b1561080c576001600160a01b03851660009081526004602090815260408083203384529091529020546107e7908463ffffffff610df016565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b836001600160a01b0316856001600160a01b0316600080516020610e05833981519152856040518082815260200191505060405180910390a3506001949350505050565b60036020526000908152604090205481565b600681565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b0316331461089b57600080fd5b6000805460ff60a01b1916600160a01b1781556040517f962a6139ca22015759d0878e2cf5d770dcb8152e1d5ba08e46a969dd9b154a9c9190a1565b6000546001600160a01b031633146108ee57600080fd5b6000805460ff60a01b191681556040517ff0daac2271a735ea786b9adf80dfcbd6a3cbd52f3cab0a78337114692d5faf5d9190a1565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b0316331461095657600080fd5b6001600160a01b03821661096957600080fd5b6001600160a01b038216600090815260036020526040902080548201905560025461099a908263ffffffff610de116565b600255600080546040805184815290516001600160a01b039092169291600080516020610e058339815191529181900360200190a36000546040805183815290516001600160a01b03808616931691600080516020610e05833981519152919081900360200190a35050565b6000546001600160a01b031681565b60008054600160a01b900460ff1615610a2d57600080fd5b3360009081526001602052604090205460ff1615610a4a57600080fd5b6001600160a01b038316610a5d57600080fd5b610a6683610dff565b610a6f57600080fd5b33600090815260036020526040902054610a8f908363ffffffff610df016565b33600090815260036020526040808220929092556001600160a01b03851681522054610ac1908363ffffffff610de116565b6001600160a01b038416600081815260036020908152604091829020939093558051858152905191923392600080516020610e058339815191529281900390910190a350600192915050565b6000546001600160a01b03163314610b2457600080fd5b6001600160a01b038116600081815260016020526040808220805460ff19169055517f687691c08a3e67a160ba20a32cb1c56791955f12c5ff5d5fcf62bc456ad79ea19190a250565b60008054600160a01b900460ff1615610b8557600080fd5b3360009081526001602052604090205460ff1615610ba257600080fd5b3360008181526004602090815260408083206001600160a01b03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610c7a578181015183820152602001610c62565b50505050905090810190601f168015610ca75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b506001979650505050505050565b6000546001600160a01b03163314610d0257600080fd5b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f169aadf55dc2098830ccf9f334e3ce3933b6e895b9114fc9f49242f2be61fe8e9190a250565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610d9357600080fd5b600080546001600160a01b0319166001600160a01b0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b80820182811161065b57600080fd5b80820382811061065b57600080fd5b3b159056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820209101ad3215c0a78e210c39553482da1cd307c791901e26ae540a3bd3995fe364736f6c634300050b0032

Deployed Bytecode

0x6080604052600436106101145760003560e01c806370a08231116100a0578063bd1870a311610064578063bd1870a3146103f5578063cae9ca5114610428578063d7972580146104f0578063dd62ed3e14610523578063f2fde38b1461055e57610114565b806370a082311461031f57806379c65068146103525780638da5cb5b1461038b57806395d89b4114610119578063a9059cbb146103bc57610114565b806327e235e3116100e757806327e235e31461025a578063313ce5671461028d5780635c658165146102b857806362a5af3b146102f35780636a28f0001461030a57610114565b806306fdde0314610119578063095ea7b3146101a357806318160ddd146101f057806323b872dd14610217575b600080fd5b34801561012557600080fd5b5061012e610591565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101af57600080fd5b506101dc600480360360408110156101c657600080fd5b506001600160a01b0381351690602001356105b1565b604080519115158252519081900360200190f35b3480156101fc57600080fd5b50610205610661565b60408051918252519081900360200190f35b34801561022357600080fd5b506101dc6004803603606081101561023a57600080fd5b506001600160a01b03813581169160208101359091169060400135610667565b34801561026657600080fd5b506102056004803603602081101561027d57600080fd5b50356001600160a01b0316610850565b34801561029957600080fd5b506102a2610862565b6040805160ff9092168252519081900360200190f35b3480156102c457600080fd5b50610205600480360360408110156102db57600080fd5b506001600160a01b0381358116916020013516610867565b3480156102ff57600080fd5b50610308610884565b005b34801561031657600080fd5b506103086108d7565b34801561032b57600080fd5b506102056004803603602081101561034257600080fd5b50356001600160a01b0316610924565b34801561035e57600080fd5b506103086004803603604081101561037557600080fd5b506001600160a01b03813516906020013561093f565b34801561039757600080fd5b506103a0610a06565b604080516001600160a01b039092168252519081900360200190f35b3480156103c857600080fd5b506101dc600480360360408110156103df57600080fd5b506001600160a01b038135169060200135610a15565b34801561040157600080fd5b506103086004803603602081101561041857600080fd5b50356001600160a01b0316610b0d565b34801561043457600080fd5b506101dc6004803603606081101561044b57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460018302840111640100000000831117156104af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b6d945050505050565b3480156104fc57600080fd5b506103086004803603602081101561051357600080fd5b50356001600160a01b0316610ceb565b34801561052f57600080fd5b506102056004803603604081101561054657600080fd5b506001600160a01b0381358116916020013516610d51565b34801561056a57600080fd5b506103086004803603602081101561058157600080fd5b50356001600160a01b0316610d7c565b6040518060400160405280600481526020016313d4d11560e21b81525081565b60008054600160a01b900460ff16156105c957600080fd5b3360009081526001602052604090205460ff16156105e657600080fd5b6001600160a01b0383166105f957600080fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60025490565b60008054600160a01b900460ff161561067f57600080fd5b3360009081526001602052604090205460ff161561069c57600080fd5b6001600160a01b0383166106af57600080fd5b6001600160a01b0383163014156106c557600080fd5b6001600160a01b0384166000908152600460209081526040808320338452909152902054808311158061070057506001600160a01b03851633145b61070957600080fd5b6001600160a01b038416600090815260036020526040902054610732908463ffffffff610de116565b6001600160a01b038086166000908152600360205260408082209390935590871681522054610767908463ffffffff610df016565b6001600160a01b0386166000908152600360209081526040808320939093556004815282822033835290522054600019148015906107ae57506001600160a01b0385163314155b1561080c576001600160a01b03851660009081526004602090815260408083203384529091529020546107e7908463ffffffff610df016565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b836001600160a01b0316856001600160a01b0316600080516020610e05833981519152856040518082815260200191505060405180910390a3506001949350505050565b60036020526000908152604090205481565b600681565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b0316331461089b57600080fd5b6000805460ff60a01b1916600160a01b1781556040517f962a6139ca22015759d0878e2cf5d770dcb8152e1d5ba08e46a969dd9b154a9c9190a1565b6000546001600160a01b031633146108ee57600080fd5b6000805460ff60a01b191681556040517ff0daac2271a735ea786b9adf80dfcbd6a3cbd52f3cab0a78337114692d5faf5d9190a1565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b0316331461095657600080fd5b6001600160a01b03821661096957600080fd5b6001600160a01b038216600090815260036020526040902080548201905560025461099a908263ffffffff610de116565b600255600080546040805184815290516001600160a01b039092169291600080516020610e058339815191529181900360200190a36000546040805183815290516001600160a01b03808616931691600080516020610e05833981519152919081900360200190a35050565b6000546001600160a01b031681565b60008054600160a01b900460ff1615610a2d57600080fd5b3360009081526001602052604090205460ff1615610a4a57600080fd5b6001600160a01b038316610a5d57600080fd5b610a6683610dff565b610a6f57600080fd5b33600090815260036020526040902054610a8f908363ffffffff610df016565b33600090815260036020526040808220929092556001600160a01b03851681522054610ac1908363ffffffff610de116565b6001600160a01b038416600081815260036020908152604091829020939093558051858152905191923392600080516020610e058339815191529281900390910190a350600192915050565b6000546001600160a01b03163314610b2457600080fd5b6001600160a01b038116600081815260016020526040808220805460ff19169055517f687691c08a3e67a160ba20a32cb1c56791955f12c5ff5d5fcf62bc456ad79ea19190a250565b60008054600160a01b900460ff1615610b8557600080fd5b3360009081526001602052604090205460ff1615610ba257600080fd5b3360008181526004602090815260408083206001600160a01b03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610c7a578181015183820152602001610c62565b50505050905090810190601f168015610ca75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b506001979650505050505050565b6000546001600160a01b03163314610d0257600080fd5b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f169aadf55dc2098830ccf9f334e3ce3933b6e895b9114fc9f49242f2be61fe8e9190a250565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610d9357600080fd5b600080546001600160a01b0319166001600160a01b0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b80820182811161065b57600080fd5b80820382811061065b57600080fd5b3b159056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820209101ad3215c0a78e210c39553482da1cd307c791901e26ae540a3bd3995fe364736f6c634300050b0032

Deployed Bytecode Sourcemap

2587:6289:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8569:8;;;3223:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3223:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3223:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7065:348;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7065:348:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7065:348:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4064:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4064:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;5495:1259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5495:1259:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5495:1259:0;;;;;;;;;;;;;;;;;:::i;3510:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3510:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3510:44:0;-1:-1:-1;;;;;3510:44:0;;:::i;3315:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3315:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3567:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3567:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3567:64:0;;;;;;;;;;:::i;2410:81::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2410:81:0;;;:::i;:::-;;2495:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2495:85:0;;;:::i;4163:119::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4163:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4163:119:0;-1:-1:-1;;;;;4163:119:0;;:::i;8186:331::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8186:331:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8186:331:0;;;;;;;;:::i;1395:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1395:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;1395:20:0;;;;;;;;;;;;;;4544:609;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4544:609:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4544:609:0;;;;;;;;:::i;2127:112::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2127:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2127:112:0;-1:-1:-1;;;;;2127:112:0;;:::i;7816:358::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7816:358:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;7816:358:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7816:358:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7816:358:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7816:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7816:358:0;;-1:-1:-1;7816:358:0;;-1:-1:-1;;;;;7816:358:0:i;2016:107::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2016:107:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2016:107:0;-1:-1:-1;;;;;2016:107:0;;:::i;7637:149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7637:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7637:149:0;;;;;;;;;;:::i;1623:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1623:140:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1623:140:0;-1:-1:-1;;;;;1623:140:0;;:::i;3223:36::-;;;;;;;;;;;;;;-1:-1:-1;;;3223:36:0;;;;:::o;7065:348::-;7158:12;2378:8;;-1:-1:-1;;;2378:8:0;;;;:13;2370:22;;;;;;1986:10;1976:21;;;;:9;:21;;;;;;;;1975:22;1967:31;;;;;;-1:-1:-1;;;;;7255:22:0;;7247:31;;;;;;7299:10;7291:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7291:29:0;;;;;;;;;;;;:38;;;7345;;;;;;;7291:29;;7299:10;7345:38;;;;;;;;;;;-1:-1:-1;7401:4:0;2005:1;7065:348;;;;:::o;4064:87::-;4131:12;;4064:87;:::o;5495:1259::-;5603:12;2378:8;;-1:-1:-1;;;2378:8:0;;;;:13;2370:22;;;;;;1986:10;1976:21;;;;:9;:21;;;;;;;;1975:22;1967:31;;;;;;-1:-1:-1;;;;;5701:17:0;;5693:26;;;;;;-1:-1:-1;;;;;5798:20:0;;5813:4;5798:20;;5790:29;;;;;;-1:-1:-1;;;;;5860:14:0;;5840:17;5860:14;;;:7;:14;;;;;;;;5875:10;5860:26;;;;;;;;6040:19;;;;;:42;;-1:-1:-1;;;;;;6063:19:0;;6072:10;6063:19;6040:42;6032:51;;;;;;-1:-1:-1;;;;;6250:13:0;;;;;;:8;:13;;;;;;:25;;6268:6;6250:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;6234:13:0;;;;;;;:8;:13;;;;;;:41;;;;6304:15;;;;;;;:27;;6324:6;6304:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;6286:15:0;;;;;;:8;:15;;;;;;;;:45;;;;6521:7;:14;;;;;6536:10;6521:26;;;;;;-1:-1:-1;;6521:41:0;;;;:64;;-1:-1:-1;;;;;;6566:19:0;;6575:10;6566:19;;6521:64;6517:164;;;-1:-1:-1;;;;;6631:14:0;;;;;;:7;:14;;;;;;;;6646:10;6631:26;;;;;;;;:38;;6662:6;6631:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;6602:14:0;;;;;;:7;:14;;;;;;;;6617:10;6602:26;;;;;;;:67;6517:164;6712:3;-1:-1:-1;;;;;6696:28:0;6705:5;-1:-1:-1;;;;;6696:28:0;-1:-1:-1;;;;;;;;;;;6717:6:0;6696:28;;;;;;;;;;;;;;;;;;-1:-1:-1;6742:4:0;;5495:1259;-1:-1:-1;;;;5495:1259:0:o;3510:44::-;;;;;;;;;;;;;:::o;3315:34::-;3348:1;3315:34;:::o;3567:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;2410:81::-;1599:5;;-1:-1:-1;;;;;1599:5:0;1585:10;:19;1577:28;;;;;;2452:8;:12;;-1:-1:-1;;;;2452:12:0;-1:-1:-1;;;2452:12:0;;;2476:9;;;;2452:8;2476:9;2410:81::o;2495:85::-;1599:5;;-1:-1:-1;;;;;1599:5:0;1585:10;:19;1577:28;;;;;;2550:1;2539:12;;-1:-1:-1;;;;2539:12:0;;;2563:11;;;;2550:1;2563:11;2495:85::o;4163:119::-;-1:-1:-1;;;;;4254:20:0;4222:12;4254:20;;;:8;:20;;;;;;;4163:119::o;8186:331::-;1599:5;;-1:-1:-1;;;;;1599:5:0;1585:10;:19;1577:28;;;;;;-1:-1:-1;;;;;8279:20:0;;8271:29;;;;;;-1:-1:-1;;;;;8311:16:0;;;;;;:8;:16;;;;;:32;;;;;;8369:12;;:30;;8331:12;8369:30;:16;:30;:::i;:::-;8354:12;:45;8436:5;;;8415:41;;;;;;;;-1:-1:-1;;;;;8436:5:0;;;;;-1:-1:-1;;;;;;;;;;;8415:41:0;;;;;;;;8481:5;;8472:37;;;;;;;;-1:-1:-1;;;;;8472:37:0;;;;8481:5;;-1:-1:-1;;;;;;;;;;;8472:37:0;;;;;;;;;8186:331;;:::o;1395:20::-;;;-1:-1:-1;;;;;1395:20:0;;:::o;4544:609::-;4633:12;2378:8;;-1:-1:-1;;;2378:8:0;;;;:13;2370:22;;;;;;1986:10;1976:21;;;;:9;:21;;;;;;;;1975:22;1967:31;;;;;;-1:-1:-1;;;;;4731:17:0;;4723:26;;;;;;4830:18;4844:3;4830:13;:18::i;:::-;4822:27;;;;;;4999:10;4990:20;;;;:8;:20;;;;;;:32;;5015:6;4990:32;:24;:32;:::i;:::-;4976:10;4967:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;5049:13:0;;;;;;:25;;5067:6;5049:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;5033:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;5090:33;;;;;;;5033:13;;5099:10;;-1:-1:-1;;;;;;;;;;;5090:33:0;;;;;;;;;-1:-1:-1;5141:4:0;4544:609;;;;:::o;2127:112::-;1599:5;;-1:-1:-1;;;;;1599:5:0;1585:10;:19;1577:28;;;;;;-1:-1:-1;;;;;2184:14:0;;2201:5;2184:14;;;:9;:14;;;;;;:22;;-1:-1:-1;;2184:22:0;;;2218:15;;;2201:5;2218:15;2127:112;:::o;7816:358::-;7930:12;2378:8;;-1:-1:-1;;;2378:8:0;;;;:13;2370:22;;;;;;1986:10;1976:21;;;;:9;:21;;;;;;;;1975:22;1967:31;;;;;;7963:10;7955:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7955:28:0;;;;;;;;;;;;:37;;;8008;;;;;;;7955:28;;7963:10;8008:37;;;;;;;;;;;8056:88;;-1:-1:-1;;;8056:88:0;;8104:10;8056:88;;;;;;;;;;;;8132:4;8056:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8056:47:0;;;;;8104:10;8116:6;;8132:4;8139;;8056:88;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8056:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8056:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;8162:4:0;;7816:358;-1:-1:-1;;;;;;;7816:358:0:o;2016:107::-;1599:5;;-1:-1:-1;;;;;1599:5:0;1585:10;:19;1577:28;;;;;;-1:-1:-1;;;;;2071:14:0;;;;;;2088:4;2071:14;;;;;;;;:21;;-1:-1:-1;;2071:21:0;;;;;;;2104:13;;;2071:14;2104:13;2016:107;:::o;7637:149::-;-1:-1:-1;;;;;7753:15:0;;;7711:17;7753:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;7637:149::o;1623:140::-;1599:5;;-1:-1:-1;;;;;1599:5:0;1585:10;:19;1577:28;;;;;;1692:5;:16;;-1:-1:-1;;;;;;1692:16:0;-1:-1:-1;;;;;1692:16:0;;;;;;;;;1720:37;;1692:16;;1741:5;;;1720:37;;1692:5;1720:37;1623:140;:::o;204:112::-;297:5;;;292:15;;;284:24;;;;;84:112;177:5;;;172:15;;;164:24;;;;;8593:280;8806:18;8853:11;;8593:280::o

Swarm Source

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