ETH Price: $3,096.74 (-1.05%)
Gas: 2 Gwei

Token

DSA Token (DSA)
 

Overview

Max Total Supply

1,000,000,000 DSA

Holders

2,469

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
DSAToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.24;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    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 c;
    }

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

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}
 
/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20 {
    using SafeMath for uint256;

    mapping(address => uint256) balances;

    /**
    * @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(_to != address(0));
        require(_value <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @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 balance) {
        return balances[_owner];
    }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 */
contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) 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 amout of tokens to be transfered
     */
    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]);
        uint _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

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

    /**
     * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @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) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        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 specifing the amount of tokens still avaible for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

}

/**
 * @title DSA Token is Standard ERC20 token
 */
contract DSAToken is StandardToken {

    string public name = "DSA Token";
    string public symbol = "DSA";
    address owner;
    uint public decimals = 18;
    uint public INITIAL_SUPPLY = 1000000000*10**18;

    constructor(address _owner) public {
        owner = _owner;
        totalSupply = INITIAL_SUPPLY;
        balances[_owner] = INITIAL_SUPPLY;
    }

    function changeName(string _name) public {
        if (msg.sender == owner)
            name = _name;
    } 

    function changeSymbol(string _symbol) public {
        if (msg.sender == owner)
            symbol = _symbol;
    } 
 
    function changeNameAndSymbol(string _name,string _symbol) public {
        if (msg.sender == owner) { 
            name = _name;
            symbol = _symbol;
        }
    } 
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"name":"changeNameAndSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"changeName","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":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"changeSymbol","outputs":[],"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":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","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"}]

60c0604052600960808190527f44534120546f6b656e000000000000000000000000000000000000000000000060a090815261003e91600391906100f1565b506040805180820190915260038082527f44534100000000000000000000000000000000000000000000000000000000006020909201918252610083916004916100f1565b5060126006556b033b2e3c9fd0803ce80000006007553480156100a557600080fd5b50604051602080610b2b833981016040908152905160058054600160a060020a031916600160a060020a039092169182179055600754600081815591825260016020529190205561018c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013257805160ff191683800117855561015f565b8280016001018555821561015f579182015b8281111561015f578251825591602001919060010190610144565b5061016b92915061016f565b5090565b61018991905b8082111561016b5760008155600101610175565b90565b6109908061019b6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063089bb99a14610153578063095ea7b3146101ec57806318160ddd1461022457806323b872dd1461024b5780632ff2e9dc14610275578063313ce5671461028a5780635353a2d81461029f57806370a08231146102f857806395d89b4114610319578063a3895fff1461032e578063a9059cbb14610387578063dd62ed3e146103ab575b600080fd5b3480156100d557600080fd5b506100de6103d2565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101ea94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506104609650505050505050565b005b3480156101f857600080fd5b50610210600160a060020a03600435166024356104a0565b604080519115158252519081900360200190f35b34801561023057600080fd5b50610239610542565b60408051918252519081900360200190f35b34801561025757600080fd5b50610210600160a060020a0360043581169060243516604435610548565b34801561028157600080fd5b506102396106c2565b34801561029657600080fd5b506102396106c8565b3480156102ab57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101ea9436949293602493928401919081908401838280828437509497506106ce9650505050505050565b34801561030457600080fd5b50610239600160a060020a03600435166106f7565b34801561032557600080fd5b506100de610712565b34801561033a57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101ea94369492936024939284019190819084018382808284375094975061076d9650505050505050565b34801561039357600080fd5b50610210600160a060020a0360043516602435610793565b3480156103b757600080fd5b50610239600160a060020a0360043581169060243516610876565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b820191906000526020600020905b81548152906001019060200180831161043b57829003601f168201915b505050505081565b600554600160a060020a031633141561049c5781516104869060039060208501906108c9565b50805161049a9060049060208401906108c9565b505b5050565b60008115806104d05750336000908152600260209081526040808320600160a060020a0387168452909152902054155b15156104db57600080fd5b336000818152600260209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60005481565b600080600160a060020a038416151561056057600080fd5b600160a060020a03851660009081526001602052604090205483111561058557600080fd5b600160a060020a03851660009081526002602090815260408083203384529091529020548311156105b557600080fd5b50600160a060020a038085166000908152600260209081526040808320338452825280832054938716835260019091529020546105f8908463ffffffff6108a116565b600160a060020a03808616600090815260016020526040808220939093559087168152205461062d908463ffffffff6108b716565b600160a060020a038616600090815260016020526040902055610656818463ffffffff6108b716565b600160a060020a03808716600081815260026020908152604080832033845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001949350505050565b60075481565b60065481565b600554600160a060020a03163314156106f457805161049c9060039060208401906108c9565b50565b600160a060020a031660009081526001602052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b600554600160a060020a03163314156106f457805161049c9060049060208401906108c9565b6000600160a060020a03831615156107aa57600080fd5b336000908152600160205260409020548211156107c657600080fd5b336000908152600160205260409020546107e6908363ffffffff6108b716565b3360009081526001602052604080822092909255600160a060020a03851681522054610818908363ffffffff6108a116565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000828201838110156108b057fe5b9392505050565b6000828211156108c357fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061090a57805160ff1916838001178555610937565b82800160010185558215610937579182015b8281111561093757825182559160200191906001019061091c565b50610943929150610947565b5090565b61096191905b80821115610943576000815560010161094d565b905600a165627a7a723058205e2b8c85d99d666176331d34e12db6125148c1dbb0ebe7f714ce35a120415ad0002900000000000000000000000079ee7f6fecccd3aba7b982ae5535c8f55f2c2070

Deployed Bytecode

0x6080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063089bb99a14610153578063095ea7b3146101ec57806318160ddd1461022457806323b872dd1461024b5780632ff2e9dc14610275578063313ce5671461028a5780635353a2d81461029f57806370a08231146102f857806395d89b4114610319578063a3895fff1461032e578063a9059cbb14610387578063dd62ed3e146103ab575b600080fd5b3480156100d557600080fd5b506100de6103d2565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101ea94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506104609650505050505050565b005b3480156101f857600080fd5b50610210600160a060020a03600435166024356104a0565b604080519115158252519081900360200190f35b34801561023057600080fd5b50610239610542565b60408051918252519081900360200190f35b34801561025757600080fd5b50610210600160a060020a0360043581169060243516604435610548565b34801561028157600080fd5b506102396106c2565b34801561029657600080fd5b506102396106c8565b3480156102ab57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101ea9436949293602493928401919081908401838280828437509497506106ce9650505050505050565b34801561030457600080fd5b50610239600160a060020a03600435166106f7565b34801561032557600080fd5b506100de610712565b34801561033a57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101ea94369492936024939284019190819084018382808284375094975061076d9650505050505050565b34801561039357600080fd5b50610210600160a060020a0360043516602435610793565b3480156103b757600080fd5b50610239600160a060020a0360043581169060243516610876565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b820191906000526020600020905b81548152906001019060200180831161043b57829003601f168201915b505050505081565b600554600160a060020a031633141561049c5781516104869060039060208501906108c9565b50805161049a9060049060208401906108c9565b505b5050565b60008115806104d05750336000908152600260209081526040808320600160a060020a0387168452909152902054155b15156104db57600080fd5b336000818152600260209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60005481565b600080600160a060020a038416151561056057600080fd5b600160a060020a03851660009081526001602052604090205483111561058557600080fd5b600160a060020a03851660009081526002602090815260408083203384529091529020548311156105b557600080fd5b50600160a060020a038085166000908152600260209081526040808320338452825280832054938716835260019091529020546105f8908463ffffffff6108a116565b600160a060020a03808616600090815260016020526040808220939093559087168152205461062d908463ffffffff6108b716565b600160a060020a038616600090815260016020526040902055610656818463ffffffff6108b716565b600160a060020a03808716600081815260026020908152604080832033845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001949350505050565b60075481565b60065481565b600554600160a060020a03163314156106f457805161049c9060039060208401906108c9565b50565b600160a060020a031660009081526001602052604090205490565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b600554600160a060020a03163314156106f457805161049c9060049060208401906108c9565b6000600160a060020a03831615156107aa57600080fd5b336000908152600160205260409020548211156107c657600080fd5b336000908152600160205260409020546107e6908363ffffffff6108b716565b3360009081526001602052604080822092909255600160a060020a03851681522054610818908363ffffffff6108a116565b600160a060020a0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000828201838110156108b057fe5b9392505050565b6000828211156108c357fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061090a57805160ff1916838001178555610937565b82800160010185558215610937579182015b8281111561093757825182559160200191906001019061091c565b50610943929150610947565b5090565b61096191905b80821115610943576000815560010161094d565b905600a165627a7a723058205e2b8c85d99d666176331d34e12db6125148c1dbb0ebe7f714ce35a120415ad00029

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

00000000000000000000000079ee7f6fecccd3aba7b982ae5535c8f55f2c2070

-----Decoded View---------------
Arg [0] : _owner (address): 0x79EE7f6FeCCCD3abA7B982Ae5535c8F55f2C2070

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000079ee7f6fecccd3aba7b982ae5535c8f55f2c2070


Swarm Source

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