Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
- Contract name:
- Monkeypresident
- Optimization enabled
- true
- Compiler version
- v0.8.0+commit.c7dfd78e
- Optimization runs
- 200
- EVM Version
- default
- Verified at
- 2024-04-16T00:30:36.777900Z
Contract source code
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Monkeypresident {
string public constant name = "Monkey President";
string public constant symbol = "Monkey";
uint8 public constant decimals = 18;
uint256 private _totalSupply = 9e12 * 10**uint256(decimals); // Alteração do fornecimento total para 9 trilhões
address public constant deadAddress = 0x000000000000000000000000000000000000dEaD; // Endereço "morto" para receber taxas queimadas
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 public burnFee = 25; // 0.25%
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor() {
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
function totalSupply() external view returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) external view returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) external returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}
function allowance(address owner, address spender) external view returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) external returns (bool) {
_approve(msg.sender, spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
_approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
uint256 currentAllowance = _allowances[msg.sender][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(msg.sender, spender, currentAllowance - subtractedValue);
return true;
}
function _transfer(address sender, address recipient, uint256 amount) private {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
uint256 burnAmount = (amount * burnFee) / 10000; // Calcula 0.25% do valor da transação
uint256 transferAmount = amount - burnAmount;
_balances[sender] -= amount;
_balances[recipient] += transferAmount;
_balances[deadAddress] += burnAmount; // Envia as taxas queimadas para o endereço morto
_totalSupply -= burnAmount;
emit Transfer(sender, recipient, transferAmount);
emit Transfer(sender, deadAddress, burnAmount);
}
function _approve(address owner, address spender, uint256 amount) private {
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);
}
}
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"burnFee","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"deadAddress","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"decreaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"subtractedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"increaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"addedValue","internalType":"uint256"}]},{"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":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"sender","internalType":"address"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]}]
Contract Creation Code
0x6080604052620000126012600a620000e5565b620000249065082f79cd9000620001da565b60005560196003553480156200003957600080fd5b50600080543380835260016020526040808420839055519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200008191906200008f565b60405180910390a362000212565b90815260200190565b80825b6001808611620000ac5750620000dc565b818704821115620000c157620000c1620001fc565b80861615620000cf57918102915b9490941c9380026200009b565b94509492505050565b6000620000f66000198484620000fd565b9392505050565b6000826200010e57506001620000f6565b816200011d57506000620000f6565b8160018114620001365760028114620001415762000175565b6001915050620000f6565b60ff841115620001555762000155620001fc565b6001841b9150848211156200016e576200016e620001fc565b50620000f6565b5060208310610133831016604e8410600b8410161715620001ad575081810a83811115620001a757620001a7620001fc565b620000f6565b620001bc848484600162000098565b808604821115620001d157620001d1620001fc565b02949350505050565b6000816000190483118215151615620001f757620001f7620001fc565b500290565b634e487b7160e01b600052601160045260246000fd5b61097480620002226000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c578063a457c2d711610066578063a457c2d714610192578063a9059cbb146101a5578063dd62ed3e146101b8578063fce589d8146101cb576100cf565b8063395093511461016457806370a082311461017757806395d89b411461018a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011257806323b872dd1461012757806327c8f8351461013a578063313ce5671461014f575b600080fd5b6100dc6101d3565b6040516100e991906106fd565b60405180910390f35b6101056101003660046106b5565b6101ff565b6040516100e991906106f2565b61011a610215565b6040516100e991906108a3565b61010561013536600461067a565b61021b565b61014261026d565b6040516100e991906106de565b610157610273565b6040516100e991906108ac565b6101056101723660046106b5565b610278565b61011a610185366004610627565b6102af565b6100dc6102ce565b6101056101a03660046106b5565b6102f0565b6101056101b33660046106b5565b61034c565b61011a6101c6366004610648565b610359565b61011a610384565b6040518060400160405280601081526020016f135bdb9ad95e48141c995cda59195b9d60821b81525081565b600061020c33848461038a565b50600192915050565b60005490565b600061022884848461043e565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461026391869161025e908690610911565b61038a565b5060019392505050565b61dead81565b601281565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161020c91859061025e9086906108ba565b6001600160a01b0381166000908152600160205260409020545b919050565b604051806040016040528060068152602001654d6f6e6b657960d01b81525081565b3360009081526002602090815260408083206001600160a01b03861684529091528120548281101561033d5760405162461bcd60e51b81526004016103349061085e565b60405180910390fd5b610263338561025e8685610911565b600061020c33848461043e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60035481565b6001600160a01b0383166103b05760405162461bcd60e51b81526004016103349061081a565b6001600160a01b0382166103d65760405162461bcd60e51b815260040161033490610793565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104319085906108a3565b60405180910390a3505050565b6001600160a01b0383166104645760405162461bcd60e51b8152600401610334906107d5565b6001600160a01b03821661048a5760405162461bcd60e51b815260040161033490610750565b60006127106003548361049d91906108f2565b6104a791906108d2565b905060006104b58284610911565b6001600160a01b0386166000908152600160205260408120805492935085929091906104e2908490610911565b90915550506001600160a01b0384166000908152600160205260408120805483929061050f9084906108ba565b909155505061dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906105529084906108ba565b925050819055508160008082825461056a9190610911565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105b491906108a3565b60405180910390a361dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161060191906108a3565b60405180910390a35050505050565b80356001600160a01b03811681146102c957600080fd5b600060208284031215610638578081fd5b61064182610610565b9392505050565b6000806040838503121561065a578081fd5b61066383610610565b915061067160208401610610565b90509250929050565b60008060006060848603121561068e578081fd5b61069784610610565b92506106a560208501610610565b9150604084013590509250925092565b600080604083850312156106c7578182fd5b6106d083610610565b946020939093013593505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b818110156107295785810183015185820160400152820161070d565b8181111561073a5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b600082198211156108cd576108cd610928565b500190565b6000826108ed57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561090c5761090c610928565b500290565b60008282101561092357610923610928565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212200e8185e0e1eca9c1c799d7e720ce011918c6e321ed6e5d224779d162679b18a364736f6c63430008000033
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c578063a457c2d711610066578063a457c2d714610192578063a9059cbb146101a5578063dd62ed3e146101b8578063fce589d8146101cb576100cf565b8063395093511461016457806370a082311461017757806395d89b411461018a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011257806323b872dd1461012757806327c8f8351461013a578063313ce5671461014f575b600080fd5b6100dc6101d3565b6040516100e991906106fd565b60405180910390f35b6101056101003660046106b5565b6101ff565b6040516100e991906106f2565b61011a610215565b6040516100e991906108a3565b61010561013536600461067a565b61021b565b61014261026d565b6040516100e991906106de565b610157610273565b6040516100e991906108ac565b6101056101723660046106b5565b610278565b61011a610185366004610627565b6102af565b6100dc6102ce565b6101056101a03660046106b5565b6102f0565b6101056101b33660046106b5565b61034c565b61011a6101c6366004610648565b610359565b61011a610384565b6040518060400160405280601081526020016f135bdb9ad95e48141c995cda59195b9d60821b81525081565b600061020c33848461038a565b50600192915050565b60005490565b600061022884848461043e565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461026391869161025e908690610911565b61038a565b5060019392505050565b61dead81565b601281565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161020c91859061025e9086906108ba565b6001600160a01b0381166000908152600160205260409020545b919050565b604051806040016040528060068152602001654d6f6e6b657960d01b81525081565b3360009081526002602090815260408083206001600160a01b03861684529091528120548281101561033d5760405162461bcd60e51b81526004016103349061085e565b60405180910390fd5b610263338561025e8685610911565b600061020c33848461043e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60035481565b6001600160a01b0383166103b05760405162461bcd60e51b81526004016103349061081a565b6001600160a01b0382166103d65760405162461bcd60e51b815260040161033490610793565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104319085906108a3565b60405180910390a3505050565b6001600160a01b0383166104645760405162461bcd60e51b8152600401610334906107d5565b6001600160a01b03821661048a5760405162461bcd60e51b815260040161033490610750565b60006127106003548361049d91906108f2565b6104a791906108d2565b905060006104b58284610911565b6001600160a01b0386166000908152600160205260408120805492935085929091906104e2908490610911565b90915550506001600160a01b0384166000908152600160205260408120805483929061050f9084906108ba565b909155505061dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906105529084906108ba565b925050819055508160008082825461056a9190610911565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105b491906108a3565b60405180910390a361dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161060191906108a3565b60405180910390a35050505050565b80356001600160a01b03811681146102c957600080fd5b600060208284031215610638578081fd5b61064182610610565b9392505050565b6000806040838503121561065a578081fd5b61066383610610565b915061067160208401610610565b90509250929050565b60008060006060848603121561068e578081fd5b61069784610610565b92506106a560208501610610565b9150604084013590509250925092565b600080604083850312156106c7578182fd5b6106d083610610565b946020939093013593505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b818110156107295785810183015185820160400152820161070d565b8181111561073a5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b600082198211156108cd576108cd610928565b500190565b6000826108ed57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561090c5761090c610928565b500290565b60008282101561092357610923610928565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212200e8185e0e1eca9c1c799d7e720ce011918c6e321ed6e5d224779d162679b18a364736f6c63430008000033