ETH Price: $2,077.63 (-3.61%)

Token

Dems (DEMS)
 

Overview

Max Total Supply

1,000,000 DEMS

Holders

13

Transfers

-
0 (0%)

Market

Onchain Market Cap

-

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

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Burnable {
    function burn(uint256 amount) external;
    event Burn(address indexed burner, uint256 value);
}

interface IOwnable {
    function owner() external view returns (address);
}

contract Dems is IERC20, IERC20Burnable, IOwnable {
    string public name = "Dems";
    string public symbol = "DEMS";
    uint8 public decimals = 18;
    uint256 private _totalSupply = 1000000 * 10 ** decimals;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    address private _owner;

    constructor() {
        _owner = msg.sender;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) external view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) external view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        return true;
    }

    function burn(uint256 amount) external override {
        _burn(msg.sender, amount);
    }

    function owner() external view override returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(msg.sender == _owner, "Not the owner");
        _;
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "Transfer from the zero address");
        require(recipient != address(0), "Transfer to the zero address");
        require(_balances[sender] >= amount, "Insufficient balance");
        
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "Approve from the zero address");
        require(spender != address(0), "Approve to the zero address");
        
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _burn(address account, uint256 amount) private {
        require(account != address(0), "Burn from the zero address");
        require(_balances[account] >= amount, "Insufficient balance to burn");

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

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"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"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60c0604052600460808190526344656d7360e01b60a0908152620000279160009190620000fd565b506040805180820190915260048082526344454d5360e01b60209092019182526200005591600191620000fd565b506002805460ff191660129081179091556200007390600a620002b8565b6200008290620f4240620002d0565b6003553480156200009257600080fd5b50600680546001600160a01b031916339081179091556003546000828152600460205260408082208390555190917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000ef91815260200190565b60405180910390a36200032f565b8280546200010b90620002f2565b90600052602060002090601f0160209004810192826200012f57600085556200017a565b82601f106200014a57805160ff19168380011785556200017a565b828001600101855582156200017a579182015b828111156200017a5782518255916020019190600101906200015d565b50620001889291506200018c565b5090565b5b808211156200018857600081556001016200018d565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001fa578160001904821115620001de57620001de620001a3565b80851615620001ec57918102915b93841c9390800290620001be565b509250929050565b6000826200021357506001620002b2565b816200022257506000620002b2565b81600181146200023b5760028114620002465762000266565b6001915050620002b2565b60ff8411156200025a576200025a620001a3565b50506001821b620002b2565b5060208310610133831016604e8410600b84101617156200028b575081810a620002b2565b620002978383620001b9565b8060001904821115620002ae57620002ae620001a3565b0290505b92915050565b6000620002c960ff84168362000202565b9392505050565b6000816000190483118215151615620002ed57620002ed620001a3565b500290565b600181811c908216806200030757607f821691505b602082108114156200032957634e487b7160e01b600052602260045260246000fd5b50919050565b610943806200033f6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c681461013357806370a08231146101485780638da5cb5b1461017157806395d89b411461018c578063a9059cbb14610194578063dd62ed3e146101a757600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101e0565b6040516100c39190610748565b60405180910390f35b6100df6100da3660046107b9565b61026e565b60405190151581526020016100c3565b6003545b6040519081526020016100c3565b6100df61010f3660046107e3565b610284565b6002546101219060ff1681565b60405160ff90911681526020016100c3565b61014661014136600461081f565b6102d6565b005b6100f3610156366004610838565b6001600160a01b031660009081526004602052604090205490565b6006546040516001600160a01b0390911681526020016100c3565b6100b66102e3565b6100df6101a23660046107b9565b6102f0565b6100f36101b536600461085a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b600080546101ed9061088d565b80601f01602080910402602001604051908101604052809291908181526020018280546102199061088d565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b505050505081565b600061027b3384846102fd565b50600192915050565b6000610291848484610410565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546102cc9186916102c79086906108de565b6102fd565b5060019392505050565b6102e033826105bc565b50565b600180546101ed9061088d565b600061027b338484610410565b6001600160a01b0383166103585760405162461bcd60e51b815260206004820152601d60248201527f417070726f76652066726f6d20746865207a65726f206164647265737300000060448201526064015b60405180910390fd5b6001600160a01b0382166103ae5760405162461bcd60e51b815260206004820152601b60248201527f417070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161034f565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166104665760405162461bcd60e51b815260206004820152601e60248201527f5472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161034f565b6001600160a01b0382166104bc5760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161034f565b6001600160a01b03831660009081526004602052604090205481111561051b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161034f565b6001600160a01b038316600090815260046020526040812080548392906105439084906108de565b90915550506001600160a01b038216600090815260046020526040812080548392906105709084906108f5565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161040391815260200190565b6001600160a01b0382166106125760405162461bcd60e51b815260206004820152601a60248201527f4275726e2066726f6d20746865207a65726f2061646472657373000000000000604482015260640161034f565b6001600160a01b03821660009081526004602052604090205481111561067a5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742062616c616e636520746f206275726e00000000604482015260640161034f565b6001600160a01b038216600090815260046020526040812080548392906106a29084906108de565b9250508190555080600360008282546106bb91906108de565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161073c91815260200190565b60405180910390a25050565b600060208083528351808285015260005b8181101561077557858101830151858201604001528201610759565b81811115610787576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146107b457600080fd5b919050565b600080604083850312156107cc57600080fd5b6107d58361079d565b946020939093013593505050565b6000806000606084860312156107f857600080fd5b6108018461079d565b925061080f6020850161079d565b9150604084013590509250925092565b60006020828403121561083157600080fd5b5035919050565b60006020828403121561084a57600080fd5b6108538261079d565b9392505050565b6000806040838503121561086d57600080fd5b6108768361079d565b91506108846020840161079d565b90509250929050565b600181811c908216806108a157607f821691505b602082108114156108c257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156108f0576108f06108c8565b500390565b60008219821115610908576109086108c8565b50019056fea2646970667358221220c85de582f650323f2167a7aed8ce45fa23ff6e126fa4888e055c7e35406ccfce64736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c681461013357806370a08231146101485780638da5cb5b1461017157806395d89b411461018c578063a9059cbb14610194578063dd62ed3e146101a757600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101e0565b6040516100c39190610748565b60405180910390f35b6100df6100da3660046107b9565b61026e565b60405190151581526020016100c3565b6003545b6040519081526020016100c3565b6100df61010f3660046107e3565b610284565b6002546101219060ff1681565b60405160ff90911681526020016100c3565b61014661014136600461081f565b6102d6565b005b6100f3610156366004610838565b6001600160a01b031660009081526004602052604090205490565b6006546040516001600160a01b0390911681526020016100c3565b6100b66102e3565b6100df6101a23660046107b9565b6102f0565b6100f36101b536600461085a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b600080546101ed9061088d565b80601f01602080910402602001604051908101604052809291908181526020018280546102199061088d565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b505050505081565b600061027b3384846102fd565b50600192915050565b6000610291848484610410565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546102cc9186916102c79086906108de565b6102fd565b5060019392505050565b6102e033826105bc565b50565b600180546101ed9061088d565b600061027b338484610410565b6001600160a01b0383166103585760405162461bcd60e51b815260206004820152601d60248201527f417070726f76652066726f6d20746865207a65726f206164647265737300000060448201526064015b60405180910390fd5b6001600160a01b0382166103ae5760405162461bcd60e51b815260206004820152601b60248201527f417070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161034f565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166104665760405162461bcd60e51b815260206004820152601e60248201527f5472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161034f565b6001600160a01b0382166104bc5760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161034f565b6001600160a01b03831660009081526004602052604090205481111561051b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161034f565b6001600160a01b038316600090815260046020526040812080548392906105439084906108de565b90915550506001600160a01b038216600090815260046020526040812080548392906105709084906108f5565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161040391815260200190565b6001600160a01b0382166106125760405162461bcd60e51b815260206004820152601a60248201527f4275726e2066726f6d20746865207a65726f2061646472657373000000000000604482015260640161034f565b6001600160a01b03821660009081526004602052604090205481111561067a5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742062616c616e636520746f206275726e00000000604482015260640161034f565b6001600160a01b038216600090815260046020526040812080548392906106a29084906108de565b9250508190555080600360008282546106bb91906108de565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161073c91815260200190565b60405180910390a25050565b600060208083528351808285015260005b8181101561077557858101830151858201604001528201610759565b81811115610787576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146107b457600080fd5b919050565b600080604083850312156107cc57600080fd5b6107d58361079d565b946020939093013593505050565b6000806000606084860312156107f857600080fd5b6108018461079d565b925061080f6020850161079d565b9150604084013590509250925092565b60006020828403121561083157600080fd5b5035919050565b60006020828403121561084a57600080fd5b6108538261079d565b9392505050565b6000806040838503121561086d57600080fd5b6108768361079d565b91506108846020840161079d565b90509250929050565b600181811c908216806108a157607f821691505b602082108114156108c257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156108f0576108f06108c8565b500390565b60008219821115610908576109086108c8565b50019056fea2646970667358221220c85de582f650323f2167a7aed8ce45fa23ff6e126fa4888e055c7e35406ccfce64736f6c63430008090033

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.