Transactions
Token Transfers
Tokens
Internal Transactions
Coin Balance History
Logs
Code
Read Contract
Write Contract
- 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