Contract Address Details

0xc579D1f3CF86749E05CD06f7ADe17856c2CE3126

Token
Wrapped VLX (WVLX)
Creator
0x4105fa–0e0e42 at 0xa470ab–c30377
Balance
52,180,298.5731859122684467 VLX
Tokens
Fetching tokens...
Transactions
15,548 Transactions
Transfers
6 Transfers
Gas Used
602,706,677
Last Balance Update
67251929
Contract name:
WVLX




Optimization enabled
true
Compiler version
v0.8.0+commit.c7dfd78e




Optimization runs
200
EVM Version
default




Verified at
2021-11-14T01:58:37.828279Z

Contract source code

// SPDX-License-Identifier: WTFPL

pragma solidity ^0.8.0;

contract WVLX {
    string public name     = "Wrapped VLX";
    string public symbol   = "WVLX";
    uint8  public decimals = 18;

    event  Approval(address indexed src, address indexed guy, uint wad);
    event  Transfer(address indexed src, address indexed dst, uint wad);
    event  Deposit(address indexed dst, uint wad);
    event  Withdrawal(address indexed src, uint wad);

    mapping (address => uint)                       public  balanceOf;
    mapping (address => mapping (address => uint))  public  allowance;

    uint constant UINT_MAX = 2**256 - 1;

    fallback() external payable {
        deposit();
    }
    function deposit() public payable {
        balanceOf[msg.sender] += msg.value;
        emit Deposit(msg.sender, msg.value);
    }
    function withdraw(uint wad) public {
        require(balanceOf[msg.sender] >= wad);
        balanceOf[msg.sender] -= wad;

        payable(msg.sender).transfer(wad);
        emit Withdrawal(msg.sender, wad);
    }

    function totalSupply() public view returns (uint) {
        return address(this).balance;
    }

    function approve(address guy, uint wad) public returns (bool) {
        allowance[msg.sender][guy] = wad;
        emit Approval(msg.sender, guy, wad);
        return true;
    }

    function transfer(address dst, uint wad) public returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
    public
    returns (bool)
    {
        require(balanceOf[src] >= wad);

        if (src != msg.sender && allowance[src][msg.sender] != UINT_MAX) {
            require(allowance[src][msg.sender] >= wad);
            allowance[src][msg.sender] -= wad;
        }

        balanceOf[src] -= wad;
        balanceOf[dst] += wad;

        emit Transfer(src, dst, wad);

        return true;
    }
}
        

Contract ABI

[{"type":"event","name":"Approval","inputs":[{"type":"address","name":"src","internalType":"address","indexed":true},{"type":"address","name":"guy","internalType":"address","indexed":true},{"type":"uint256","name":"wad","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"type":"address","name":"dst","internalType":"address","indexed":true},{"type":"uint256","name":"wad","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"src","internalType":"address","indexed":true},{"type":"address","name":"dst","internalType":"address","indexed":true},{"type":"uint256","name":"wad","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Withdrawal","inputs":[{"type":"address","name":"src","internalType":"address","indexed":true},{"type":"uint256","name":"wad","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"fallback","stateMutability":"payable"},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"","internalType":"address"},{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"guy","internalType":"address"},{"type":"uint256","name":"wad","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"payable","outputs":[],"name":"deposit","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"dst","internalType":"address"},{"type":"uint256","name":"wad","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"src","internalType":"address"},{"type":"address","name":"dst","internalType":"address"},{"type":"uint256","name":"wad","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"withdraw","inputs":[{"type":"uint256","name":"wad","internalType":"uint256"}]}]
            

Deployed ByteCode

0x60806040526004361061009c5760003560e01c8063313ce56711610064578063313ce5671461016057806370a082311461018257806395d89b41146101a2578063a9059cbb146101b7578063d0e30db01461009c578063dd62ed3e146101d75761009c565b806306fdde03146100a6578063095ea7b3146100d157806318160ddd146100fe57806323b872dd146101205780632e1a7d4d14610140575b6100a46101f7565b005b3480156100b257600080fd5b506100bb610257565b6040516100c891906106cf565b60405180910390f35b3480156100dd57600080fd5b506100f16100ec366004610683565b6102e5565b6040516100c891906106c4565b34801561010a57600080fd5b5061011361034f565b6040516100c89190610722565b34801561012c57600080fd5b506100f161013b366004610648565b610353565b34801561014c57600080fd5b506100a461015b3660046106ac565b6104d5565b34801561016c57600080fd5b50610175610587565b6040516100c8919061072b565b34801561018e57600080fd5b5061011361019d3660046105fc565b610590565b3480156101ae57600080fd5b506100bb6105a2565b3480156101c357600080fd5b506100f16101d2366004610683565b6105af565b3480156101e357600080fd5b506101136101f2366004610616565b6105c3565b3360009081526003602052604081208054349290610216908490610739565b909155505060405133907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9061024d903490610722565b60405180910390a2565b6000805461026490610768565b80601f016020809104026020016040519081016040528092919081815260200182805461029090610768565b80156102dd5780601f106102b2576101008083540402835291602001916102dd565b820191906000526020600020905b8154815290600101906020018083116102c057829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061033e908690610722565b60405180910390a350600192915050565b4790565b6001600160a01b03831660009081526003602052604081205482111561037857600080fd5b6001600160a01b03841633148015906103b657506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b15610424576001600160a01b03841660009081526004602090815260408083203384529091529020548211156103eb57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091528120805484929061041e908490610751565b90915550505b6001600160a01b0384166000908152600360205260408120805484929061044c908490610751565b90915550506001600160a01b03831660009081526003602052604081208054849290610479908490610739565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104c39190610722565b60405180910390a35060019392505050565b336000908152600360205260409020548111156104f157600080fd5b3360009081526003602052604081208054839290610510908490610751565b9091555050604051339082156108fc029083906000818181858888f19350505050158015610542573d6000803e3d6000fd5b50336001600160a01b03167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b658260405161057c9190610722565b60405180910390a250565b60025460ff1681565b60036020526000908152604090205481565b6001805461026490610768565b60006105bc338484610353565b9392505050565b600460209081526000928352604080842090915290825290205481565b80356001600160a01b03811681146105f757600080fd5b919050565b60006020828403121561060d578081fd5b6105bc826105e0565b60008060408385031215610628578081fd5b610631836105e0565b915061063f602084016105e0565b90509250929050565b60008060006060848603121561065c578081fd5b610665846105e0565b9250610673602085016105e0565b9150604084013590509250925092565b60008060408385031215610695578182fd5b61069e836105e0565b946020939093013593505050565b6000602082840312156106bd578081fd5b5035919050565b901515815260200190565b6000602080835283518082850152825b818110156106fb578581018301518582016040015282016106df565b8181111561070c5783604083870101525b50601f01601f1916929092016040019392505050565b90815260200190565b60ff91909116815260200190565b6000821982111561074c5761074c6107a3565b500190565b600082821015610763576107636107a3565b500390565b60028104600182168061077c57607f821691505b6020821081141561079d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212205c1c47ba75c94321dd3fe7b76fd6e2a0823f4b3ab0407a294e2b7945cd74434f64736f6c63430008000033