Address Contract Partially Verified
Address
0x62aed901844981D429DcC5aaDfb94E857d58a52a
Balance
0.000658790 ETH
Nonce
1
Code Size
8007 bytes
Creator
0x63946F22...Bdc3 at tx 0x71a2b7cd...b1f3e4
Indexed Transactions
0
Contract Bytecode
8007 bytes
0x60806040526004361061021d5760003560e01c806370a0823111610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461063a578063e99c9d0914610680578063f2fde38b146106a0578063f4293890146106c0578063f887ea40146106d557600080fd5b8063a9059cbb1461059a578063b2bdfa7b146105ba578063cc798a5c146105da578063d405ae8f146105fa578063d51ed1c81461061a57600080fd5b8063893d20e8116100f2578063893d20e8146104dc5780638afe5fcb1461050e5780638da5cb5b1461052e57806395d89b411461054c578063a8aa1b311461057a57600080fd5b806370a0823114610465578063715018a61461049b57806378109e54146104b05780637d1db4a5146104c657600080fd5b806323b872dd116101a65780633554dd3c116101755780633554dd3c146103cf5780633748cba8146103ef57806353371be01461040f578063571ac8b0146104245780636ddd17131461044457600080fd5b806323b872dd1461035e57806327a14fc21461037e5780632b112e491461039e578063313ce567146103b357600080fd5b806308fd3d05116101ed57806308fd3d05146102c2578063095ea7b3146102f35780631161ae391461031357806318160ddd146103335780631df4ccfc1461034857600080fd5b80629a4bea1461022957806303f907711461024b5780630445b6671461026057806306fdde031461028957600080fd5b3661022457005b600080fd5b34801561023557600080fd5b50610249610244366004611aeb565b6106f5565b005b34801561025757600080fd5b506102496107c4565b34801561026c57600080fd5b5061027660205481565b6040519081526020015b60405180910390f35b34801561029557600080fd5b506040805180820190915260078152664861626962746960c81b60208201525b6040516102809190611b2e565b3480156102ce57600080fd5b50601f546102e390600160a01b900460ff1681565b6040519015158152602001610280565b3480156102ff57600080fd5b506102e361030e366004611b9f565b6107fb565b34801561031f57600080fd5b506102e361032e366004611bc9565b610868565b34801561033f57600080fd5b50600554610276565b34801561035457600080fd5b5061027660115481565b34801561036a57600080fd5b506102e3610379366004611beb565b61087c565b34801561038a57600080fd5b50610249610399366004611c27565b61093e565b3480156103aa57600080fd5b50610276610997565b3480156103bf57600080fd5b5060405160098152602001610280565b3480156103db57600080fd5b506102496103ea366004611c40565b6109e9565b3480156103fb57600080fd5b5061024961040a366004611ca5565b610a72565b34801561041b57600080fd5b50610249610aaa565b34801561043057600080fd5b506102e361043f366004611cd1565b610ae9565b34801561045057600080fd5b50601f546102e390600160a81b900460ff1681565b34801561047157600080fd5b50610276610480366004611cd1565b6001600160a01b031660009081526008602052604090205490565b3480156104a757600080fd5b50610249610af7565b3480156104bc57600080fd5b5061027660075481565b3480156104d257600080fd5b5061027660065481565b3480156104e857600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610280565b34801561051a57600080fd5b506102e3610529366004611b9f565b610b6b565b34801561053a57600080fd5b506000546001600160a01b03166104f6565b34801561055857600080fd5b50604080518082019091526005815264424942544960d81b60208201526102b5565b34801561058657600080fd5b50601f546104f6906001600160a01b031681565b3480156105a657600080fd5b506102e36105b5366004611b9f565b610c57565b3480156105c657600080fd5b506000546104f6906001600160a01b031681565b3480156105e657600080fd5b506102496105f5366004611bc9565b610c64565b34801561060657600080fd5b50610249610615366004611cfa565b610c99565b34801561062657600080fd5b50610276610635366004611c27565b610ce5565b34801561064657600080fd5b50610276610655366004611d18565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561068c57600080fd5b5061024961069b366004611c27565b610d2c565b3480156106ac57600080fd5b506102496106bb366004611cd1565b610d85565b3480156106cc57600080fd5b50610249610e6f565b3480156106e157600080fd5b50601d546104f6906001600160a01b031681565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161071f90611d4b565b60405180910390fd5b600c869055600f859055600d849055600e839055601082905561075982610753858188818c8c610f6f565b90610f6f565b601155601281905561076c600582611d96565b601154106107bc5760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e20323025000000604482015260640161071f565b505050505050565b6000546001600160a01b031633146107ee5760405162461bcd60e51b815260040161071f90611d4b565b6005546006819055600755565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108569086815260200190565b60405180910390a35060015b92915050565b60008261087483610ce5565b119392505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610929576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610904918490610fce565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610934848484611008565b90505b9392505050565b6000546001600160a01b031633146109685760405162461bcd60e51b815260040161071f90611d4b565b600181101561097657600080fd5b6103e8816005546109879190611db8565b6109919190611d96565b60075550565b6004546001600160a01b03166000908152600860205260408120546109e4906003546001600160a01b03166000908152600860205260409020546109de906005549061136e565b9061136e565b905090565b6000546001600160a01b03163314610a135760405162461bcd60e51b815260040161071f90611d4b565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b6000546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161071f90611d4b565b601392909255601455601555565b6000546001600160a01b03163314610ad45760405162461bcd60e51b815260040161071f90611d4b565b601f805460ff60a01b1916600160a01b179055565b6000610862826000196107fb565b6000546001600160a01b03163314610b215760405162461bcd60e51b815260040161071f90611d4b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600081600003610be0576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190611dd7565b91505b60165460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610c33573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190611df0565b6000610937338484611008565b6000546001600160a01b03163314610c8e5760405162461bcd60e51b815260040161071f90611d4b565b601b91909155601c55565b6000546001600160a01b03163314610cc35760405162461bcd60e51b815260040161071f90611d4b565b601f8054921515600160a81b0260ff60a81b1990931692909217909155602055565b6000610862610cf2610997565b601f546001600160a01b0316600090815260086020526040902054610d2690610d1f906002905b90610eab565b8590610eab565b90610f2d565b6000546001600160a01b03163314610d565760405162461bcd60e51b815260040161071f90611d4b565b6001811015610d6457600080fd5b6103e881600554610d759190611db8565b610d7f9190611d96565b60065550565b6000546001600160a01b03163314610daf5760405162461bcd60e51b815260040161071f90611d4b565b6001600160a01b038116610e145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ea8573d6000803e3d6000fd5b50565b600082600003610ebd57506000610862565b6000610ec98385611db8565b905082610ed68583611d96565b146109375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071f565b600061093783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b0565b600080610f7c8385611e0d565b9050838110156109375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071f565b60008184841115610ff25760405162461bcd60e51b815260040161071f9190611b2e565b506000610fff8486611e25565b95945050505050565b60215460009060ff1615611028576110218484846113de565b9050610937565b6001600160a01b03841660009081526001602052604090205460ff1615801561106a57506001600160a01b03831660009081526001602052604090205460ff16155b156110bf57601f54600160a01b900460ff166110bf5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161071f565b6001600160a01b03841660009081526001602052604090205460ff161580156110f157506001600160a01b0383163014155b801561110b57506003546001600160a01b03848116911614155b80156111255750601f546001600160a01b03848116911614155b801561113f5750601a546001600160a01b03848116911614155b801561115957506017546001600160a01b03848116911614155b801561117e57506001600160a01b0383166000908152600b602052604090205460ff16155b1561121f576001600160a01b0383166000908152600860205260409020546007546111a98483611e0d565b111561121d5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161071f565b505b61122984836114b2565b61123161151f565b1561123e5761123e611577565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611290918490610fce565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff16806112dd57506001600160a01b0384166000908152600a602052604090205460ff165b6112f1576112ec85848661195e565b6112f3565b825b6001600160a01b0385166000908152600860205260409020549091506113199082610f6f565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020611ef28339815191529061135b9085815260200190565b60405180910390a3506001949350505050565b600061093783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fce565b600081836113d15760405162461bcd60e51b815260040161071f9190611b2e565b506000610fff8486611d96565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461142f918490610fce565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461145e9083610f6f565b6001600160a01b038085166000818152600860205260409081902093909355915190861690600080516020611ef2833981519152906114a09086815260200190565b60405180910390a35060019392505050565b600654811115806114db57506001600160a01b0382166000908152600b602052604090205460ff165b61151b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161071f565b5050565b601f546000906001600160a01b03163314801590611540575060215460ff16155b80156115555750601f54600160a81b900460ff165b80156109e4575050602080543060009081526008909252604090912054101590565b6021805460ff19166001179055601b54601c5460009161159691610868565b6115a257600c546115a5565b60005b905060006115c96002610d26601154610d2686602054610eab90919063ffffffff16565b905060006115e28260205461136e90919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061161c5761161c611e3c565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061164d5761164d611e3c565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac94790611697908690600090879030904290600401611e52565b600060405180830381600087803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b5050505060006116de824761136e90919063ffffffff16565b905060006116f96116f0886002610f2d565b6011549061136e565b9050600061170e6002610d268481878d610eab565b9050600061172b83610d26600d5487610eab90919063ffffffff16565b9050600061174884610d26600f5488610eab90919063ffffffff16565b9050600061176585610d26600e5489610eab90919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146117b7576040519150601f19603f3d011682016040523d82523d6000602084013e6117bc565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d806000811461180c576040519150601f19603f3d011682016040523d82523d6000602084013e611811565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611861576040519150601f19603f3d011682016040523d82523d6000602084013e611866565b606091505b5060009250508b15905061194657601d5460165460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156118e4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119099190611ec3565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506021805460ff1916905550505050505050505050565b601554601f54600091906001600160a01b0390811690841603611984575060135461199f565b601f546001600160a01b039081169086160361199f57506014545b60006119cc60125460646119b39190611db8565b610d2684610d196011548a610eab90919063ffffffff16565b905060006119eb601154610d2660105485610eab90919063ffffffff16565b905060006119f9838361136e565b30600090815260086020526040902054909150611a169082610f6f565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611a449083610f6f565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020611ef2833981519152910160405180910390a38115611ad557600554611a9e908361136e565b6005556004546040518381526001600160a01b03918216918a1690600080516020611ef28339815191529060200160405180910390a35b611adf878461136e565b98975050505050505050565b60008060008060008060c08789031215611b0457600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208083528351808285015260005b81811015611b5b57858101830151858201604001528201611b3f565b81811115611b6d576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114611b9a57600080fd5b919050565b60008060408385031215611bb257600080fd5b611bbb83611b83565b946020939093013593505050565b60008060408385031215611bdc57600080fd5b50508035926020909101359150565b600080600060608486031215611c0057600080fd5b611c0984611b83565b9250611c1760208501611b83565b9150604084013590509250925092565b600060208284031215611c3957600080fd5b5035919050565b600080600080600060a08688031215611c5857600080fd5b611c6186611b83565b9450611c6f60208701611b83565b9350611c7d60408701611b83565b9250611c8b60608701611b83565b9150611c9960808701611b83565b90509295509295909350565b600080600060608486031215611cba57600080fd5b505081359360208301359350604090920135919050565b600060208284031215611ce357600080fd5b61093782611b83565b8015158114610ea857600080fd5b60008060408385031215611d0d57600080fd5b8235611bbb81611cec565b60008060408385031215611d2b57600080fd5b611d3483611b83565b9150611d4260208401611b83565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082611db357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611dd257611dd2611d80565b500290565b600060208284031215611de957600080fd5b5051919050565b600060208284031215611e0257600080fd5b815161093781611cec565b60008219821115611e2057611e20611d80565b500190565b600082821015611e3757611e37611d80565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ea25784516001600160a01b031683529383019391830191600101611e7d565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611ed857600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122049c46eaa43636f68919e2b14acfa7cc6bc68a1c7379868184def61e6164fe37264736f6c634300080e0033
Verified Source Code Partial Match
Compiler: v0.8.14+commit.80d49f37
EVM: london
Optimization: Yes (200 runs)
Habibti.sol 510 lines
/*
Welcome to Habibiti - Habibis long lost wife.
TG 📞 - https://t.me/HABIBITIMEMEZ
Twitter 🐥 - https://twitter.com/HabibtiETH
Website - 💻 http://thehabibti.io
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.14;
interface ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
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);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view virtual returns (bytes memory) {
this;
return msg.data;
}
}
contract Ownable is Context {
address public _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
authorizations[_owner] = true;
emit OwnershipTransferred(address(0), msgSender);
}
mapping (address => bool) internal authorizations;
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
interface InterfaceLP {
function sync() external;
}
contract Habibti is Ownable, ERC20 {
using SafeMath for uint256;
address WETH;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
string constant _name = "Habibti";
string constant _symbol = "BIBTI";
uint8 constant _decimals = 9;
uint256 _totalSupply = 888000000000 * 10**_decimals;
uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) isFeeexempt;
mapping (address => bool) isTxLimitexempt;
uint256 private liquidityFee = 1;
uint256 private projectDevelopmentFee = 3;
uint256 private teamFee = 0;
uint256 private nftfundFee = 1;
uint256 private burnFee = 0;
uint256 public totalFee = nftfundFee + projectDevelopmentFee + liquidityFee + teamFee + burnFee;
uint256 private feeDenominator = 100;
uint256 sellmultiplier = 900;
uint256 buymultiplier = 800;
uint256 transfertax = 800;
address private autoLiquidityReceiver;
address private projectDevelopmentFeeReceiver;
address private teamFeeReceiver;
address private nftfundFeeReceiver;
address private burnFeeReceiver;
uint256 targetLiquidity = 30;
uint256 targetLiquidityDenominator = 100;
IDEXRouter public router;
InterfaceLP private pairContract;
address public pair;
bool public TradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 60 / 1000;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
pairContract = InterfaceLP(pair);
_allowances[address(this)][address(router)] = type(uint256).max;
isFeeexempt[msg.sender] = true;
isFeeexempt[teamFeeReceiver] = true;
isTxLimitexempt[msg.sender] = true;
isTxLimitexempt[pair] = true;
isTxLimitexempt[teamFeeReceiver] = true;
isTxLimitexempt[projectDevelopmentFeeReceiver] = true;
isTxLimitexempt[address(this)] = true;
autoLiquidityReceiver = msg.sender;
projectDevelopmentFeeReceiver = 0x1E93E8cfbDBC29EF4A7A7f7F2233Dde2D3CA2C97;
teamFeeReceiver = msg.sender;
nftfundFeeReceiver = msg.sender;
burnFeeReceiver = DEAD;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function getOwner() external view override returns (address) {return owner();}
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function disableAllLimits() external onlyOwner {
_maxTxAmount = _totalSupply;
_maxWalletToken = _totalSupply;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!authorizations[sender] && !authorizations[recipient]){
require(TradingOpen,"Trading not open yet");
}
if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != projectDevelopmentFeeReceiver && !isTxLimitexempt[recipient]){
uint256 heldTokens = balanceOf(recipient);
require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}
checkTxLimit(sender, amount);
if(shouldSwapBack()){ swapBack(); }
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (isFeeexempt[sender] || isFeeexempt[recipient]) ? amount : takeFee(sender, amount, recipient);
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function checkTxLimit(address sender, uint256 amount) internal view {
require(amount <= _maxTxAmount || isTxLimitexempt[sender], "TX Limit Exceeded");
}
function shouldTakeFee(address sender) internal view returns (bool) {
return !isFeeexempt[sender];
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
uint256 percent = transfertax;
if(recipient == pair) {
percent = sellmultiplier;
} else if(sender == pair) {
percent = buymultiplier;
}
uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
uint256 contractTokens = feeAmount.sub(burnTokens);
_balances[address(this)] = _balances[address(this)].add(contractTokens);
_balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
emit Transfer(sender, address(this), contractTokens);
if(burnTokens > 0){
_totalSupply = _totalSupply.sub(burnTokens);
emit Transfer(sender, ZERO, burnTokens);
}
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function manualSend() external {
payable(autoLiquidityReceiver).transfer(address(this).balance);
}
function removeForeignERC20(address tokenAddress, uint256 tokens) public returns (bool) {
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
}
function setBreakdown(uint256 _issell, uint256 _isbuy, uint256 _wallet) external onlyOwner {
sellmultiplier = _issell;
buymultiplier = _isbuy;
transfertax = _wallet;
}
function setMaxWalletAmount(uint256 maxWallPercent) external onlyOwner {
require(maxWallPercent >= 1);
_maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
}
function setMaxSellAmount(uint256 maxTXPercent) external onlyOwner {
require(maxTXPercent >= 1);
_maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
}
function tradingAllowed() public onlyOwner {
TradingOpen = true;
}
function setBacking(uint256 _target, uint256 _denominator) external onlyOwner {
targetLiquidity = _target;
targetLiquidityDenominator = _denominator;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
uint256 balanceBefore = address(this).balance;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance.sub(balanceBefore);
uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
uint256 amountETHprojectDevelopment = amountETH.mul(projectDevelopmentFee).div(totalETHFee);
uint256 amountETHnftfund = amountETH.mul(nftfundFee).div(totalETHFee);
uint256 amountETHdev = amountETH.mul(teamFee).div(totalETHFee);
(bool tmpSuccess,) = payable(projectDevelopmentFeeReceiver).call{value: amountETHprojectDevelopment}("");
(tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHdev}("");
(tmpSuccess,) = payable(nftfundFeeReceiver).call{value: amountETHnftfund}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
function setTaxFee(uint256 _liquidityFee, uint256 _nftfundFee, uint256 _projectDevelopmentFee, uint256 _teamFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
nftfundFee = _nftfundFee;
projectDevelopmentFee = _projectDevelopmentFee;
teamFee = _teamFee;
burnFee = _burnFee;
totalFee = _liquidityFee.add(_nftfundFee).add(_projectDevelopmentFee).add(_teamFee).add(_burnFee);
feeDenominator = _feeDenominator;
require(totalFee < feeDenominator / 5, "Fees can not be more than 20%");
}
function setReceivers(address _autoLiquidityReceiver, address _projectDevelopmentFeeReceiver, address _teamFeeReceiver, address _burnFeeReceiver, address _nftfundFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
projectDevelopmentFeeReceiver = _projectDevelopmentFeeReceiver;
teamFeeReceiver = _teamFeeReceiver;
burnFeeReceiver = _burnFeeReceiver;
nftfundFeeReceiver = _nftfundFeeReceiver;
}
function setSwapandLiquify(bool _enabled, uint256 _amount) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _amount;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
}
function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
return getLiquidityBacking(accuracy) > target;
}
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
}
Read Contract
TradingOpen 0x08fd3d05 → bool
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletToken 0x78109e54 → uint256
_owner 0xb2bdfa7b → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getCirculatingSupply 0x2b112e49 → uint256
getLiquidityBacking 0xd51ed1c8 → uint256
getOwner 0x893d20e8 → address
isOverLiquified 0x1161ae39 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
pair 0xa8aa1b31 → address
router 0xf887ea40 → address
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
symbol 0x95d89b41 → string
totalFee 0x1df4ccfc → uint256
totalSupply 0x18160ddd → uint256
Write Contract 17 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
approveMax 0x571ac8b0
address spender
returns: bool
disableAllLimits 0x03f90771
No parameters
manualSend 0xf4293890
No parameters
removeForeignERC20 0x8afe5fcb
address tokenAddress
uint256 tokens
returns: bool
renounceOwnership 0x715018a6
No parameters
setBacking 0xcc798a5c
uint256 _target
uint256 _denominator
setBreakdown 0x3748cba8
uint256 _issell
uint256 _isbuy
uint256 _wallet
setMaxSellAmount 0xe99c9d09
uint256 maxTXPercent
setMaxWalletAmount 0x27a14fc2
uint256 maxWallPercent
setReceivers 0x3554dd3c
address _autoLiquidityReceiver
address _projectDevelopmentFeeReceiver
address _teamFeeReceiver
address _burnFeeReceiver
address _nftfundFeeReceiver
setSwapandLiquify 0xd405ae8f
bool _enabled
uint256 _amount
setTaxFee 0x009a4bea
uint256 _liquidityFee
uint256 _nftfundFee
uint256 _projectDevelopmentFee
uint256 _teamFee
uint256 _burnFee
uint256 _feeDenominator
tradingAllowed 0x53371be0
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