Address Contract Verified
Address
0xAec7e1f531Bb09115103C53ba76829910Ec48966
Balance
0 ETH
Nonce
1
Code Size
2937 bytes
Creator
0xD096ad0B...feB0 at tx 0xb8659a6f...842319
Indexed Transactions
0
Contract Bytecode
2937 bytes
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806342966c681161007157806342966c681461014757806370a082311461015c57806395d89b411461016f578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100f757806323b872dd1461010c578063313ce5671461011f5780633950935114610134575b600080fd5b6100c16101b0565b6040516100ce91906107f5565b60405180910390f35b6100ea6100e53660046107a9565b610242565b6040516100ce91906107ea565b6100ff61025f565b6040516100ce9190610aac565b6100ea61011a36600461076e565b610265565b610127610305565b6040516100ce9190610ab5565b6100ea6101423660046107a9565b61030a565b61015a6101553660046107d2565b610359565b005b6100ff61016a36600461071b565b61036d565b6100c161038c565b6100ea6101853660046107a9565b61039b565b6100ea6101983660046107a9565b610416565b6100ff6101ab36600461073c565b61042a565b6060600380546101bf90610af2565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610af2565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b600061025661024f610455565b8484610459565b50600192915050565b60025490565b600061027284848461050d565b6001600160a01b038416600090815260016020526040812081610293610455565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102df5760405162461bcd60e51b81526004016102d690610955565b60405180910390fd5b6102fa856102eb610455565b6102f58685610adb565b610459565b506001949350505050565b601290565b6000610256610317610455565b848460016000610325610455565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546102f59190610ac3565b61036a610364610455565b8261062a565b50565b6001600160a01b0381166000908152602081905260409020545b919050565b6060600480546101bf90610af2565b600080600160006103aa610455565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103f65760405162461bcd60e51b81526004016102d690610a67565b61040c610401610455565b856102f58685610adb565b5060019392505050565b6000610256610423610455565b848461050d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661047f5760405162461bcd60e51b81526004016102d690610a23565b6001600160a01b0382166104a55760405162461bcd60e51b81526004016102d6906108cd565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610500908590610aac565b60405180910390a3505050565b6001600160a01b0383166105335760405162461bcd60e51b81526004016102d6906109de565b6001600160a01b0382166105595760405162461bcd60e51b81526004016102d690610848565b6001600160a01b038316600090815260208190526040902054818110156105925760405162461bcd60e51b81526004016102d69061090f565b61059c8282610adb565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105d2908490610ac3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161061c9190610aac565b60405180910390a350505050565b6001600160a01b0382166106505760405162461bcd60e51b81526004016102d69061099d565b6001600160a01b038216600090815260208190526040902054818110156106895760405162461bcd60e51b81526004016102d69061088b565b6106938282610adb565b6001600160a01b038416600090815260208190526040812091909155600280548492906106c1908490610adb565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610500908690610aac565b80356001600160a01b038116811461038757600080fd5b60006020828403121561072c578081fd5b61073582610704565b9392505050565b6000806040838503121561074e578081fd5b61075783610704565b915061076560208401610704565b90509250929050565b600080600060608486031215610782578081fd5b61078b84610704565b925061079960208501610704565b9150604084013590509250925092565b600080604083850312156107bb578182fd5b6107c483610704565b946020939093013593505050565b6000602082840312156107e3578081fd5b5035919050565b901515815260200190565b6000602080835283518082850152825b8181101561082157858101830151858201604001528201610805565b818111156108325783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610ad657610ad6610b2d565b500190565b600082821015610aed57610aed610b2d565b500390565b600281046001821680610b0657607f821691505b60208210811415610b2757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212200f9b0a34d93257902d89fc0b9fe469f88fdeccb82be5fee3a25dd3b94ae08ebe64736f6c63430008010033
Verified Source Code Full Match
Compiler: v0.8.1+commit.df193b15
EVM: istanbul
Optimization: Yes (200 runs)
BlankToken.sol 140 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
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);
}
contract BlankToken is Context, IERC20 {
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name = "Blank Token";
string private _symbol = "BLANK";
constructor (uint256 totalSupply_) {
_totalSupply = totalSupply_;
_balances[_msgSender()] = _totalSupply;
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function decimals() public view virtual returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function burn(uint256 amount) public virtual {
_burn(_msgSender(), amount);
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function _transfer(address sender, address recipient, uint256 amount) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 6 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
burn 0x42966c68
uint256 amount
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address