Address Contract Partially Verified
Address
0x4b91aC05517F030ADBf2bDB6184500337666ED8E
Balance
0 ETH
Nonce
1
Code Size
8470 bytes
Creator
0x12Be11B9...48a1 at tx 0xe6278955...4d6145
Indexed Transactions
0
Contract Bytecode
8470 bytes
0x6080604052600436106102135760003560e01c806378109e5411610118578063a8aa1b31116100a0578063d24c6e831161006f578063d24c6e83146105e4578063dd62ed3e14610604578063ded1e4381461064a578063f2fde38b1461066a578063f887ea401461068a57600080fd5b8063a8aa1b3114610564578063a9059cbb14610584578063b2bdfa7b146105a4578063cec10c11146105c457600080fd5b80638a4068dd116100e75780638a4068dd146104cd5780638a8c523c146104e25780638da5cb5b146104f757806395d89b411461051557806397613b281461054457600080fd5b806378109e541461045a5780637c519ffb146104705780637d1db4a514610485578063893d20e81461049b57600080fd5b8063313ce5671161019b5780636ddd17131161016a5780636ddd1713146103b957806370a08231146103da578063715018a614610410578063751039fc1461042557806377b54bad1461043a57600080fd5b8063313ce567146103485780635526566914610364578063571ac8b0146103795780635d83e1d51461039957600080fd5b806318160ddd116101e257806318160ddd146102bb5780631df4ccfc146102d057806323b872dd146102e65780632ad756721461030657806330c9a6a01461032857600080fd5b80630445b6671461021f57806306fdde031461024857806308fd3d051461026a578063095ea7b31461029b57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50610235601e5481565b6040519081526020015b60405180910390f35b34801561025457600080fd5b5061025d6106aa565b60405161023f9190611ca1565b34801561027657600080fd5b50601d5461028b90600160a01b900460ff1681565b604051901515815260200161023f565b3480156102a757600080fd5b5061028b6102b6366004611d0b565b6106ca565b3480156102c757600080fd5b50600354610235565b3480156102dc57600080fd5b50610235600f5481565b3480156102f257600080fd5b5061028b610301366004611d35565b610737565b34801561031257600080fd5b50610326610321366004611d71565b6107f9565b005b34801561033457600080fd5b50610235610343366004611dd6565b6108da565b34801561035457600080fd5b506040516009815260200161023f565b34801561037057600080fd5b50610235610921565b34801561038557600080fd5b5061028b610394366004611def565b610992565b3480156103a557600080fd5b506103266103b4366004611dd6565b6109a0565b3480156103c557600080fd5b50601d5461028b90600160a81b900460ff1681565b3480156103e657600080fd5b506102356103f5366004611def565b6001600160a01b031660009081526006602052604090205490565b34801561041c57600080fd5b50610326610a2e565b34801561043157600080fd5b50610326610aa2565b34801561044657600080fd5b5061028b610455366004611d0b565b610ad9565b34801561046657600080fd5b5061023560055481565b34801561047c57600080fd5b50610326610c70565b34801561049157600080fd5b5061023560045481565b3480156104a757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023f565b3480156104d957600080fd5b50610326610cad565b3480156104ee57600080fd5b50610326610ce9565b34801561050357600080fd5b506000546001600160a01b03166104b5565b34801561052157600080fd5b5060408051808201909152600681526542414249455360d01b602082015261025d565b34801561055057600080fd5b5061032661055f366004611e18565b610d28565b34801561057057600080fd5b50601d546104b5906001600160a01b031681565b34801561059057600080fd5b5061028b61059f366004611d0b565b610dbb565b3480156105b057600080fd5b506000546104b5906001600160a01b031681565b3480156105d057600080fd5b506103266105df366004611e36565b610dc8565b3480156105f057600080fd5b506103266105ff366004611e62565b610e03565b34801561061057600080fd5b5061023561061f366004611ea5565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561065657600080fd5b5061028b610665366004611ed8565b610ed1565b34801561067657600080fd5b50610326610685366004611def565b610ee5565b34801561069657600080fd5b50601b546104b5906001600160a01b031681565b60606040518060600160405280603181526020016120b060319139905090565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107259086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146107e4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546107bf918490610fcf565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6107ef848484611009565b90505b9392505050565b6000546001600160a01b0316331461082c5760405162461bcd60e51b815260040161082390611efa565b60405180910390fd5b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b60006107316108e7610921565b601d546001600160a01b031660009081526006602052604090205461091b90610914906002905b9061136c565b859061136c565b906113ee565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600354919261098d9290916109879190611430565b90611430565b905090565b6000610731826000196106ca565b6000546001600160a01b031633146109ca5760405162461bcd60e51b815260040161082390611efa565b60018110156109d857600080fd5b6103e8816003546109e99190611f45565b6109f39190611f5c565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b6000546001600160a01b03163314610a585760405162461bcd60e51b815260040161082390611efa565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610acc5760405162461bcd60e51b815260040161082390611efa565b6003546004819055600555565b6000306001600160a01b03841603610b445760405162461bcd60e51b815260206004820152602860248201527f746f6b656e416464726573732063616e206e6f7420626520746865206e6174696044820152673b32903a37b5b2b760c11b6064820152608401610823565b81600003610bb7576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190611f7e565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303816000875af1158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f29190611f97565b6000546001600160a01b03163314610c9a5760405162461bcd60e51b815260040161082390611efa565b6102716011556103e86012819055601355565b6014546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ce6573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610d135760405162461bcd60e51b815260040161082390611efa565b601d805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610d525760405162461bcd60e51b815260040161082390611efa565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b60006107f2338484611009565b6000546001600160a01b03163314610df25760405162461bcd60e51b815260040161082390611efa565b601191909155601291909155601355565b6000546001600160a01b03163314610e2d5760405162461bcd60e51b815260040161082390611efa565b600a869055600d859055600b849055600c839055600e829055610e5e82610e58858188818c8c611472565b90611472565b600f556010819055610e71600282611f5c565b600f5410610ec15760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203530250000006044820152606401610823565b610ec96114d1565b505050505050565b600082610edd836108da565b119392505050565b6000546001600160a01b03163314610f0f5760405162461bcd60e51b815260040161082390611efa565b6001600160a01b038116610f745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610823565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610ff35760405162461bcd60e51b81526004016108239190611ca1565b5060006110008486611fb4565b95945050505050565b601f5460009060ff16156110295761102284848461156c565b90506107f2565b6001600160a01b03841660009081526001602052604090205460ff1615801561106b57506001600160a01b03831660009081526001602052604090205460ff16155b156110c057601d54600160a01b900460ff166110c05760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610823565b6001600160a01b03841660009081526001602052604090205460ff161580156110f257506001600160a01b0383163014155b801561110957506001600160a01b03831661dead14155b80156111235750601d546001600160a01b03848116911614155b801561113d57506018546001600160a01b03848116911614155b801561115757506015546001600160a01b03848116911614155b801561117c57506001600160a01b03831660009081526009602052604090205460ff16155b1561121d576001600160a01b0383166000908152600660205260409020546005546111a78483611fc7565b111561121b5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610823565b505b6112278483611640565b61122f6116ad565b1561123c5761123c611703565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526006909152919091205461128e918490610fcf565b6001600160a01b038516600090815260066020908152604080832093909355600890529081205460ff16806112db57506001600160a01b03841660009081526008602052604090205460ff165b6112ef576112ea858486611aea565b6112f1565b825b6001600160a01b0385166000908152600660205260409020549091506113179082611472565b6001600160a01b038086166000818152600660205260409081902093909355915190871690600080516020612090833981519152906113599085815260200190565b60405180910390a3506001949350505050565b60008260000361137e57506000610731565b600061138a8385611f45565b9050826113978583611f5c565b146107f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610823565b60006107f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c73565b60006107f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fcf565b60008061147f8385611fc7565b9050838110156107f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610823565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b93280061150e606461091b601254600f5461136c90919063ffffffff16565b61152a606461091b601154600f5461136c90919063ffffffff16565b611546606461091b601354600f5461136c90919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526006909152918220546115bd918490610fcf565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546115ec9083611472565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206120908339815191529061162e9086815260200190565b60405180910390a35060019392505050565b6004548111158061166957506001600160a01b03821660009081526009602052604090205460ff165b6116a95760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610823565b5050565b601d546000906001600160a01b031633148015906116ce5750601f5460ff16155b80156116e35750601d54600160a81b900460ff165b801561098d575050601e5430600090815260066020526040902054101590565b601f805460ff19166001179055601954601a5460009161172291610ed1565b61172e57600a54611731565b60005b90506000611755600261091b600f5461091b86601e5461136c90919063ffffffff16565b9050600061176e82601e5461143090919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106117a8576117a8611fda565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106117d9576117d9611fda565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac94790611823908690600090879030904290600401611ff0565b600060405180830381600087803b15801561183d57600080fd5b505af1158015611851573d6000803e3d6000fd5b50505050600061186a824761143090919063ffffffff16565b9050600061188561187c8860026113ee565b600f5490611430565b9050600061189a600261091b8481878d61136c565b905060006118b78361091b600b548761136c90919063ffffffff16565b905060006118d48461091b600d548861136c90919063ffffffff16565b905060006118f18561091b600c548961136c90919063ffffffff16565b6015546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114611943576040519150601f19603f3d011682016040523d82523d6000602084013e611948565b606091505b50506016546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611998576040519150601f19603f3d011682016040523d82523d6000602084013e61199d565b606091505b50506017546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146119ed576040519150601f19603f3d011682016040523d82523d6000602084013e6119f2565b606091505b5060009250508b159050611ad257601b5460145460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611a70573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a959190612061565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d54600091906001600160a01b0390811690841603611b105750601154611b2b565b601d546001600160a01b0390811690861603611b2b57506012545b6000611b586010546064611b3f9190611f45565b61091b8461090e600f548a61136c90919063ffffffff16565b90506000611b77600f5461091b600e548561136c90919063ffffffff16565b90506000611b858383611430565b30600090815260066020526040902054909150611ba29082611472565b30600090815260066020526040808220929092556018546001600160a01b031681522054611bd09083611472565b6018546001600160a01b0390811660009081526006602090815260409182902093909355518381523092918b1691600080516020612090833981519152910160405180910390a38115611c5d57600354611c2a9083611430565b6003556040518281526000906001600160a01b038a16906000805160206120908339815191529060200160405180910390a35b611c678784611430565b98975050505050505050565b60008183611c945760405162461bcd60e51b81526004016108239190611ca1565b5060006110008486611f5c565b600060208083528351808285015260005b81811015611cce57858101830151858201604001528201611cb2565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611d0657600080fd5b919050565b60008060408385031215611d1e57600080fd5b611d2783611cef565b946020939093013593505050565b600080600060608486031215611d4a57600080fd5b611d5384611cef565b9250611d6160208501611cef565b9150604084013590509250925092565b600080600080600060a08688031215611d8957600080fd5b611d9286611cef565b9450611da060208701611cef565b9350611dae60408701611cef565b9250611dbc60608701611cef565b9150611dca60808701611cef565b90509295509295909350565b600060208284031215611de857600080fd5b5035919050565b600060208284031215611e0157600080fd5b6107f282611cef565b8015158114610ce657600080fd5b60008060408385031215611e2b57600080fd5b8235611d2781611e0a565b600080600060608486031215611e4b57600080fd5b505081359360208301359350604090920135919050565b60008060008060008060c08789031215611e7b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611eb857600080fd5b611ec183611cef565b9150611ecf60208401611cef565b90509250929050565b60008060408385031215611eeb57600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761073157610731611f2f565b600082611f7957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611f9057600080fd5b5051919050565b600060208284031215611fa957600080fd5b81516107f281611e0a565b8181038181111561073157610731611f2f565b8082018082111561073157610731611f2f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120405784516001600160a01b03168352938301939183019160010161201b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561207657600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42616279324d61644d6178456c656374726963426f6f676f6c6158727058696e75737461724c6f62616d6143756d496e75a264697066735822122011ec50d8ff9d81f7a33127112a4a83e1176b807a6a8ad404d2bae8d18ed69f6164736f6c63430008130033
Verified Source Code Partial Match
Compiler: v0.8.19+commit.7dd6d404
EVM: paris
Optimization: Yes (200 runs)
Baby2MadMaxElectricBoogolaXrpXinustarLobamaCumInu.sol 517 lines
/*
Telegram - https://t.me/b2mmebxxuoci
Twitter - https://twitter.com/b2mmebxxuoci
Website - https://www.b2mmebxxuoci.com/
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;
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);
}
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;
}
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;
}
}
contract Baby2MadMaxElectricBoogolaXrpXinustarLobamaCumInu is Ownable, ERC20 {
using SafeMath for uint256;
address WETH;
address constant DEAD = 0x000000000000000000000000000000000000dEaD;
address constant ZERO = 0x0000000000000000000000000000000000000000;
string constant _name = "Baby2MadMaxElectricBoogolaXrpXinustarLobamaCumInu";
string constant _symbol = "BABIES";
uint8 constant _decimals = 9;
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
event user_exemptfromfees(address Wallet, bool Exempt);
event user_TxExempt(address Wallet, bool Exempt);
event ClearStuck(uint256 amount);
event ClearToken(address TokenAddressCleared, uint256 Amount);
event set_Receivers(address marketingFeeReceiver, address stakingFeeReceiver,address burnFeeReceiver,address devFeeReceiver);
event set_MaxWallet(uint256 maxWallet);
event set_MaxTX(uint256 maxTX);
event set_SwapBack(uint256 Amount, bool Enabled);
uint256 _totalSupply = 1232091913 * 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) isexemptfromfees;
mapping (address => bool) isexemptfrommaxTX;
uint256 private liquidityFee = 1;
uint256 private marketingFee = 2;
uint256 private devFee = 1;
uint256 private stakingFee = 0;
uint256 private burnFee = 0;
uint256 public totalFee = stakingFee + marketingFee + liquidityFee + devFee + burnFee;
uint256 private feeDenominator = 100;
uint256 sellpercent = 100;
uint256 buypercent = 100;
uint256 transferpercent = 100;
address private autoLiquidityReceiver;
address private marketingFeeReceiver;
address private devFeeReceiver;
address private stakingFeeReceiver;
address private burnFeeReceiver;
uint256 setRatio = 30;
uint256 setRatioDenominator = 100;
IDEXRouter public router;
InterfaceLP private pairContract;
address public pair;
bool public TradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 70 / 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;
isexemptfromfees[msg.sender] = true;
isexemptfrommaxTX[msg.sender] = true;
isexemptfrommaxTX[pair] = true;
isexemptfrommaxTX[marketingFeeReceiver] = true;
isexemptfrommaxTX[address(this)] = true;
autoLiquidityReceiver = msg.sender;
marketingFeeReceiver = 0x4D82C48EE16159211B93212B90C5C18a962aFa57;
devFeeReceiver = msg.sender;
stakingFeeReceiver = 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 maxWalletRule(uint256 maxWallPercent) external onlyOwner {
require(maxWallPercent >= 1);
_maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
emit set_MaxWallet(_maxWalletToken);
}
function removeLimits () external onlyOwner {
_maxTxAmount = _totalSupply;
_maxWalletToken = _totalSupply;
}
function setTrading() external onlyOwner {
sellpercent = 625;
buypercent = 1000;
transferpercent = 1000;
}
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 != marketingFeeReceiver && !isexemptfrommaxTX[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 = (isexemptfromfees[sender] || isexemptfromfees[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 || isexemptfrommaxTX[sender], "TX Limit Exceeded");
}
function shouldTakeFee(address sender) internal view returns (bool) {
return !isexemptfromfees[sender];
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
uint256 percent = transferpercent;
if(recipient == pair) {
percent = sellpercent;
} else if(sender == pair) {
percent = buypercent;
}
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 transfer() external {
payable(autoLiquidityReceiver).transfer(address(this).balance);
}
function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
require(tokenAddress != address(this), "tokenAddress can not be the native token");
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
emit ClearToken(tokenAddress, tokens);
return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
}
function setFees(uint256 _percentonbuy, uint256 _percentonsell, uint256 _wallettransfer) external onlyOwner {
sellpercent = _percentonsell;
buypercent = _percentonbuy;
transferpercent = _wallettransfer;
}
function enableTrading() public onlyOwner {
TradingOpen = true;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator) ? 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 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
uint256 amountETHstaking = amountETH.mul(stakingFee).div(totalETHFee);
uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);
(bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
(tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
(tmpSuccess,) = payable(stakingFeeReceiver).call{value: amountETHstaking}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
function set_fees() internal {
emit EditTax( uint8(totalFee.mul(buypercent).div(100)),
uint8(totalFee.mul(sellpercent).div(100)),
uint8(totalFee.mul(transferpercent).div(100))
);
}
function setOverallBreakdown(uint256 _liquidityFee, uint256 _stakingFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
stakingFee = _stakingFee;
marketingFee = _marketingFee;
devFee = _devFee;
burnFee = _burnFee;
totalFee = _liquidityFee.add(_stakingFee).add(_marketingFee).add(_devFee).add(_burnFee);
feeDenominator = _feeDenominator;
require(totalFee < feeDenominator / 2, "Fees can not be more than 50%");
set_fees();
}
function updateFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _stakingFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
marketingFeeReceiver = _marketingFeeReceiver;
devFeeReceiver = _devFeeReceiver;
burnFeeReceiver = _burnFeeReceiver;
stakingFeeReceiver = _stakingFeeReceiver;
emit set_Receivers(marketingFeeReceiver, stakingFeeReceiver, burnFeeReceiver, devFeeReceiver);
}
function setSwapBack(bool _enabled, uint256 _amount) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _amount;
emit set_SwapBack(swapThreshold, swapEnabled);
}
function checkRatio(uint256 ratio, uint256 accuracy) public view returns (bool) {
return showBacking(accuracy) > ratio;
}
function showBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply());
}
function showSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
}
Read Contract
TradingOpen 0x08fd3d05 → bool
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletToken 0x78109e54 → uint256
_owner 0xb2bdfa7b → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
checkRatio 0xded1e438 → bool
decimals 0x313ce567 → uint8
getOwner 0x893d20e8 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
pair 0xa8aa1b31 → address
router 0xf887ea40 → address
showBacking 0x30c9a6a0 → uint256
showSupply 0x55265669 → uint256
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
symbol 0x95d89b41 → string
totalFee 0x1df4ccfc → uint256
totalSupply 0x18160ddd → uint256
Write Contract 16 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
clearStuckToken 0x77b54bad
address tokenAddress
uint256 tokens
returns: bool
enableTrading 0x8a8c523c
No parameters
maxWalletRule 0x5d83e1d5
uint256 maxWallPercent
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
setFees 0xcec10c11
uint256 _percentonbuy
uint256 _percentonsell
uint256 _wallettransfer
setOverallBreakdown 0xd24c6e83
uint256 _liquidityFee
uint256 _stakingFee
uint256 _marketingFee
uint256 _devFee
uint256 _burnFee
uint256 _feeDenominator
setSwapBack 0x97613b28
bool _enabled
uint256 _amount
setTrading 0x7c519ffb
No parameters
transfer 0x8a4068dd
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
updateFeeReceivers 0x2ad75672
address _autoLiquidityReceiver
address _marketingFeeReceiver
address _devFeeReceiver
address _burnFeeReceiver
address _stakingFeeReceiver
Recent Transactions
No transactions found for this address