Token Julien

 

Overview [ERC-20]

Max Total Supply:
10,000,000 JULIEN

Holders:
742

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xd1b183f425f7e6a0c83ab1cd84cfde2d84ba049d

Contract Name:
SocialMoney

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-08-27
*/

pragma solidity 0.5.0;

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
interface IERC20 {
  function totalSupply() external view returns (uint256);

  function balanceOf(address who) external view returns (uint256);

  function allowance(address owner, address spender)
    external view returns (uint256);

  function transfer(address to, uint256 value) external returns (bool);

  function approve(address spender, uint256 value)
    external returns (bool);

  function transferFrom(address from, address to, uint256 value)
    external returns (bool);

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
    }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return a / b;
    }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

    /**
    * @title Standard ERC20 token
    *
    * @dev Implementation of the basic standard token.
    * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
    * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
    */
contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowed;

    uint256 private _totalSupply;
    string public name;
    string public symbol;
    uint8 public decimals;

    /**
    * @dev Total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address owner) public view returns (uint256) {
        return _balances[owner];
    }

    /**
    * @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];
    }


    /**
    * @dev Transfer token for a specified address
    * @param to The address to transfer to.
    * @param value The amount to be transferred.
    */
    function transfer(address to, uint256 value) public returns (bool) {
        require(value <= _balances[msg.sender]);
        require(to != address(0));

        _balances[msg.sender] = _balances[msg.sender].sub(value);
        _balances[to] = _balances[to].add(value);
        emit Transfer(msg.sender, 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) {
        require(spender != address(0));

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    /**
    * @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(value <= _balances[from]);
        require(value <= _allowed[from][msg.sender]);
        require(to != address(0));

        _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 Increase the amount of tokens that an owner allowed to a spender.
    * approve should be called when allowed_[_spender] == 0. To increment
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    * @param spender The address which will spend the funds.
    * @param addedValue The amount of tokens to increase the allowance by.
    */
    function increaseAllowance(
        address spender,
        uint256 addedValue
    )
        public
        returns (bool)
    {
        require(spender != address(0));

        _allowed[msg.sender][spender] = (
        _allowed[msg.sender][spender].add(addedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    /**
    * @dev Decrease the amount of tokens that an owner allowed to a spender.
    * approve should be called when allowed_[_spender] == 0. To decrement
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    * @param spender The address which will spend the funds.
    * @param subtractedValue The amount of tokens to decrease the allowance by.
    */
    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    )
        public
        returns (bool)
    {
        require(spender != address(0));

        _allowed[msg.sender][spender] = (
        _allowed[msg.sender][spender].sub(subtractedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    /**
    * @dev Internal function that mints an amount of the token and assigns it to
    * an account. This encapsulates the modification of balances such that the
    * proper events are emitted.
    * @param account The account that will receive the created tokens.
    * @param amount The amount that will be created.
    */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0));
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
    * @dev Internal function that burns an amount of the token of a given
    * account.
    * @param account The account whose tokens will be burnt.
    * @param amount The amount that will be burnt.
    */
    function _burn(address account, uint256 amount) internal {
        require(account != address(0));
        require(amount <= _balances[account]);

        _totalSupply = _totalSupply.sub(amount);
        _balances[account] = _balances[account].sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
    * @dev Internal function that burns an amount of the token of a given
    * account, deducting from the sender's allowance for said account. Uses the
    * internal burn function.
    * @param account The account whose tokens will be burnt.
    * @param amount The amount that will be burnt.
    */
    function _burnFrom(address account, uint256 amount) internal {
        require(amount <= _allowed[account][msg.sender]);

        // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
        // this function needs to emit an event with the updated approval.
        _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(
        amount);
        _burn(account, amount);
    }

    function burnFrom(address account, uint256 amount) public {
        _burnFrom(account, amount);
    }
}

/**
 * @title Template contract for social money, to be used by TokenFactory
 * @author Jake Goh Si Yuan @ jakegsy, [email protected]
 */



contract SocialMoney is ERC20 {

    /**
     * @dev Constructor on SocialMoney
     * @param _name string Name parameter of Token
     * @param _symbol string Symbol parameter of Token
     * @param _decimals uint8 Decimals parameter of Token
     * @param _proportions uint256[3] Parameter that dictates how totalSupply will be divvied up,
                            _proportions[0] = Vesting Beneficiary Initial Supply
                            _proportions[1] = Turing Supply
                            _proportions[2] = Vesting Beneficiary Vesting Supply
     * @param _vestingBeneficiary address Address of the Vesting Beneficiary
     * @param _platformWallet Address of Turing platform wallet
     * @param _tokenVestingInstance address Address of Token Vesting contract
     */
    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256[3] memory _proportions,
        address _vestingBeneficiary,
        address _platformWallet,
        address _tokenVestingInstance
    )
    public
    {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        uint256 totalProportions = _proportions[0].add(_proportions[1]).add(_proportions[2]);

        _mint(_vestingBeneficiary, _proportions[0]);
        _mint(_platformWallet, _proportions[1]);
        _mint(_tokenVestingInstance, _proportions[2]);

        //Sanity check that the totalSupply is exactly where we want it to be
        assert(totalProportions == totalSupply());
    }
}

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":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","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":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_proportions","type":"uint256[3]"},{"name":"_vestingBeneficiary","type":"address"},{"name":"_platformWallet","type":"address"},{"name":"_tokenVestingInstance","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"}]

60806040523480156200001157600080fd5b5060405162000dbf38038062000dbf83398101806040526101208110156200003857600080fd5b8101908080516401000000008111156200005157600080fd5b820160208101848111156200006557600080fd5b81516401000000008111828201871017156200008057600080fd5b505092919060200180516401000000008111156200009d57600080fd5b82016020810184811115620000b157600080fd5b8151640100000000811182820187101715620000cc57600080fd5b505060208083015160a084015160c085015160e086015189519598509296506040909501949093909262000106916003918a0190620002b2565b5085516200011c906004906020890190620002b2565b506005805460ff191660ff8716179055604084015160208501518551600092620001709290916200015b91640100000000620008be620001d582021704565b90640100000000620008be620001d582021704565b90506200018f848660005b6020020151640100000000620001ec810204565b6200019d838660016200017b565b620001ab828660026200017b565b620001be640100000000620002ab810204565b8114620001c757fe5b505050505050505062000354565b600082820183811015620001e557fe5b9392505050565b600160a060020a03821615156200020257600080fd5b6002546200021f9082640100000000620008be620001d582021704565b600255600160a060020a038216600090815260208190526040902054620002559082640100000000620008be620001d582021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6002545b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002f557805160ff191683800117855562000325565b8280016001018555821562000325579182015b828111156200032557825182559160200191906001019062000308565b506200033392915062000337565b5090565b620002af91905b808211156200033357600081556001016200033e565b610a5b80620003646000396000f3fe6080604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be578063095ea7b31461014857806318160ddd1461019557806323b872dd146101bc578063313ce567146101ff578063395093511461022a57806370a082311461026357806379cc67901461029657806395d89b41146102d1578063a457c2d7146102e6578063a9059cbb1461031f578063dd62ed3e14610358575b600080fd5b3480156100ca57600080fd5b506100d3610393565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010d5781810151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015457600080fd5b506101816004803603604081101561016b57600080fd5b50600160a060020a038135169060200135610421565b604080519115158252519081900360200190f35b3480156101a157600080fd5b506101aa61049f565b60408051918252519081900360200190f35b3480156101c857600080fd5b50610181600480360360608110156101df57600080fd5b50600160a060020a038135811691602081013590911690604001356104a5565b34801561020b57600080fd5b5061021461061a565b6040805160ff9092168252519081900360200190f35b34801561023657600080fd5b506101816004803603604081101561024d57600080fd5b50600160a060020a038135169060200135610623565b34801561026f57600080fd5b506101aa6004803603602081101561028657600080fd5b5035600160a060020a03166106d3565b3480156102a257600080fd5b506102cf600480360360408110156102b957600080fd5b50600160a060020a0381351690602001356106ee565b005b3480156102dd57600080fd5b506100d36106fc565b3480156102f257600080fd5b506101816004803603604081101561030957600080fd5b50600160a060020a038135169060200135610757565b34801561032b57600080fd5b506101816004803603604081101561034257600080fd5b50600160a060020a0381351690602001356107a2565b34801561036457600080fd5b506101aa6004803603604081101561037b57600080fd5b50600160a060020a0381358116916020013516610881565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b505050505081565b6000600160a060020a038316151561043857600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b600160a060020a0383166000908152602081905260408120548211156104ca57600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156104fa57600080fd5b600160a060020a038316151561050f57600080fd5b600160a060020a038416600090815260208190526040902054610538908363ffffffff6108ac16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461056d908363ffffffff6108be16565b600160a060020a038085166000908152602081815260408083209490945591871681526001825282812033825290915220546105af908363ffffffff6108ac16565b600160a060020a03808616600081815260016020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60055460ff1681565b6000600160a060020a038316151561063a57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461066e908363ffffffff6108be16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a031660009081526020819052604090205490565b6106f882826108d4565b5050565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104195780601f106103ee57610100808354040283529160200191610419565b6000600160a060020a038316151561076e57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461066e908363ffffffff6108ac16565b336000908152602081905260408120548211156107be57600080fd5b600160a060020a03831615156107d357600080fd5b336000908152602081905260409020546107f3908363ffffffff6108ac16565b3360009081526020819052604080822092909255600160a060020a03851681522054610825908363ffffffff6108be16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000828211156108b857fe5b50900390565b6000828201838110156108cd57fe5b9392505050565b600160a060020a038216600090815260016020908152604080832033845290915290205481111561090457600080fd5b600160a060020a0382166000908152600160209081526040808320338452909152902054610938908263ffffffff6108ac16565b600160a060020a03831660009081526001602090815260408083203384529091529020556106f88282600160a060020a038216151561097657600080fd5b600160a060020a03821660009081526020819052604090205481111561099b57600080fd5b6002546109ae908263ffffffff6108ac16565b600255600160a060020a0382166000908152602081905260409020546109da908263ffffffff6108ac16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3505056fea165627a7a723058208bbc107e65f5b009a02e35e5f20307f164501526f7e8e3c5d4eb32ae921131b9002900000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000004a817c80000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000010c388d000000000000000000000000000ace11955f80987bc09c4f99f2a5ba468abb49b87000000000000000000000000a32ff8ca08036337fabf50fa029812361cd176c8000000000000000000000000bdeb21edd14f2b8438b0b9f01196e7c23fde1b73000000000000000000000000000000000000000000000000000000000000000754696e676c657300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000454494e4700000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

9829:1571:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2600:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2600:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4848:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4848:244:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4848:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2747:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2747:91:0;;;;;;;;;;;;;;;;;;;;5381:533;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5381:533:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5381:533:0;;;;;;;;;;;;;;;;;;2652:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2652:21:0;;;;;;;;;;;;;;;;;;;;;;;6388:383;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6388:383:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6388:383:0;;;;;;;;;3058:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3058:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3058:106:0;-1:-1:-1;;;;;3058:106:0;;;9572:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9572:103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9572:103:0;;;;;;;;;;;2625:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2625:20:0;;;;7250:393;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7250:393:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7250:393:0;;;;;;;;;3859:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3859:350:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3859:350:0;;;;;;;;;3498:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3498:188:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3498:188:0;;;;;;;;;;;2600:18;;;;;;;;;;;;;;;-1:-1:-1;;2600:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4848:244::-;4913:4;-1:-1:-1;;;;;4938:21:0;;;;4930:30;;;;;;4982:10;4973:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;4973:29:0;;;;;;;;;;;;:37;;;5026:36;;;;;;;4973:29;;4982:10;5026:36;;;;;;;;;;;-1:-1:-1;5080:4:0;4848:244;;;;:::o;2747:91::-;2818:12;;2747:91;:::o;5381:533::-;-1:-1:-1;;;;;5551:15:0;;5512:4;5551:15;;;;;;;;;;;5542:24;;;5534:33;;;;;;-1:-1:-1;;;;;5595:14:0;;;;;;:8;:14;;;;;;;;5610:10;5595:26;;;;;;;;5586:35;;;5578:44;;;;;;-1:-1:-1;;;;;5641:16:0;;;;5633:25;;;;;;-1:-1:-1;;;;;5689:15:0;;:9;:15;;;;;;;;;;;:26;;5709:5;5689:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;5671:15:0;;;:9;:15;;;;;;;;;;;:44;;;;5742:13;;;;;;;:24;;5760:5;5742:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;5726:13:0;;;:9;:13;;;;;;;;;;;:40;;;;5806:14;;;;;:8;:14;;;;;5821:10;5806:26;;;;;;;:37;;5837:5;5806:37;:30;:37;:::i;:::-;-1:-1:-1;;;;;5777:14:0;;;;;;;:8;:14;;;;;;;;5792:10;5777:26;;;;;;;;:66;;;;5859:25;;;;;;;;;;;5777:14;;5859:25;;;;;;;;;;;-1:-1:-1;5902:4:0;5381:533;;;;;:::o;2652:21::-;;;;;;:::o;6388:383::-;6511:4;-1:-1:-1;;;;;6541:21:0;;;;6533:30;;;;;;6628:10;6619:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;6619:29:0;;;;;;;;;;:45;;6653:10;6619:45;:33;:45;:::i;:::-;6585:10;6576:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;6576:29:0;;;;;;;;;;;;:89;;;6681:60;;;;;;6576:29;;6681:60;;;;;;;;;;;-1:-1:-1;6759:4:0;6388:383;;;;:::o;3058:106::-;-1:-1:-1;;;;;3140:16:0;3113:7;3140:16;;;;;;;;;;;;3058:106::o;9572:103::-;9641:26;9651:7;9660:6;9641:9;:26::i;:::-;9572:103;;:::o;2625:20::-;;;;;;;;;;;;;;;-1:-1:-1;;2625:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7250:393;7378:4;-1:-1:-1;;;;;7408:21:0;;;;7400:30;;;;;;7495:10;7486:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;7486:29:0;;;;;;;;;;:50;;7520:15;7486:50;:33;:50;:::i;3859:350::-;3964:10;3920:4;3954:21;;;;;;;;;;;3945:30;;;3937:39;;;;;;-1:-1:-1;;;;;3995:16:0;;;;3987:25;;;;;;4059:10;4049:9;:21;;;;;;;;;;;:32;;4075:5;4049:32;:25;:32;:::i;:::-;4035:10;4025:9;:21;;;;;;;;;;;:56;;;;-1:-1:-1;;;;;4108:13:0;;;;;;:24;;4126:5;4108:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;4092:13:0;;:9;:13;;;;;;;;;;;;:40;;;;4148:31;;;;;;;4092:13;;4157:10;;4148:31;;;;;;;;;;-1:-1:-1;4197:4:0;3859:350;;;;:::o;3498:188::-;-1:-1:-1;;;;;3654:15:0;;;3622:7;3654:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;3498:188::o;1708:123::-;1766:7;1793:6;;;;1786:14;;;;-1:-1:-1;1818:5:0;;;1708:123::o;1900:147::-;1958:7;1990:5;;;2013:6;;;;2006:14;;;;2038:1;1900:147;-1:-1:-1;;;1900:147:0:o;9138:426::-;-1:-1:-1;;;;;9228:17:0;;;;;;:8;:17;;;;;;;;9246:10;9228:29;;;;;;;;9218:39;;;9210:48;;;;;;-1:-1:-1;;;;;9472:17:0;;;;;;:8;:17;;;;;;;;9490:10;9472:29;;;;;;;;:51;;9516:6;9472:51;:33;:51;:::i;:::-;-1:-1:-1;;;;;9440:17:0;;;;;;:8;:17;;;;;;;;9458:10;9440:29;;;;;;;:83;9534:22;9449:7;9549:6;-1:-1:-1;;;;;8567:21:0;;;;8559:30;;;;;;-1:-1:-1;;;;;8618:18:0;;:9;:18;;;;;;;;;;;8608:28;;;8600:37;;;;;;8665:12;;:24;;8682:6;8665:24;:16;:24;:::i;:::-;8650:12;:39;-1:-1:-1;;;;;8721:18:0;;:9;:18;;;;;;;;;;;:30;;8744:6;8721:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8700:18:0;;:9;:18;;;;;;;;;;;:51;;;;8767:37;;;;;;;8700:9;;8767:37;;;;;;;;;;;8491:321;;:::o

Swarm Source

bzzr://8bbc107e65f5b009a02e35e5f20307f164501526f7e8e3c5d4eb32ae921131b9

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.