Address Contract Partially Verified
Address
0x36E90A36C51c5Df231880C167A9CF237cB44a6fF
Balance
0 ETH
Nonce
1
Code Size
10124 bytes
Creator
0x32b26cA5...c7Bf at tx 0xea15460b...8704ef
Indexed Transactions
0
Contract Bytecode
10124 bytes
0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d7146104cb578063a9059cbb14610508578063aa4bde2814610545578063bb85c6d114610570578063dd62ed3e146105ad578063f2fde38b146105ea57610156565b8063715018a6146103cb57806375f0a874146103e257806381bfdcca1461040d5780638c0b5e221461044a5780638da5cb5b1461047557806395d89b41146104a057610156565b8063395093511161010857806339509351146102815780633e45c8af146102be57806349bd5a5e146102fb578063527ffabd14610326578063677daa571461035157806370a082311461038e57610156565b806306fdde031461015b578063095ea7b3146101865780631694505e146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610613565b60405161017d9190611997565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611a52565b6106a5565b6040516101ba9190611aad565b60405180910390f35b3480156101cf57600080fd5b506101d86106c8565b6040516101e59190611b27565b60405180910390f35b3480156101fa57600080fd5b506102036106ec565b6040516102109190611b51565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611b6c565b6106f6565b60405161024d9190611aad565b60405180910390f35b34801561026257600080fd5b5061026b610725565b6040516102789190611bdb565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190611a52565b61072e565b6040516102b59190611aad565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e09190611bf6565b610765565b6040516102f29190611aad565b60405180910390f35b34801561030757600080fd5b506103106107c3565b60405161031d9190611c32565b60405180910390f35b34801561033257600080fd5b5061033b6107e7565b6040516103489190611b51565b60405180910390f35b34801561035d57600080fd5b5061037860048036038101906103739190611bf6565b6107ed565b6040516103859190611aad565b60405180910390f35b34801561039a57600080fd5b506103b560048036038101906103b09190611c4d565b610807565b6040516103c29190611b51565b60405180910390f35b3480156103d757600080fd5b506103e061084f565b005b3480156103ee57600080fd5b506103f7610863565b6040516104049190611c32565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f9190611bf6565b610889565b6040516104419190611aad565b60405180910390f35b34801561045657600080fd5b5061045f6108a3565b60405161046c9190611b51565b60405180910390f35b34801561048157600080fd5b5061048a6108a9565b6040516104979190611c32565b60405180910390f35b3480156104ac57600080fd5b506104b56108d3565b6040516104c29190611997565b60405180910390f35b3480156104d757600080fd5b506104f260048036038101906104ed9190611a52565b610965565b6040516104ff9190611aad565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190611a52565b6109dc565b60405161053c9190611aad565b60405180910390f35b34801561055157600080fd5b5061055a6109ff565b6040516105679190611b51565b60405180910390f35b34801561057c57600080fd5b5061059760048036038101906105929190611c4d565b610a05565b6040516105a49190611aad565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190611c7a565b610a59565b6040516105e19190611b51565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190611c4d565b610ae0565b005b60606003805461062290611ce9565b80601f016020809104026020016040519081016040528092919081815260200182805461064e90611ce9565b801561069b5780601f106106705761010080835404028352916020019161069b565b820191906000526020600020905b81548152906001019060200180831161067e57829003601f168201915b5050505050905090565b6000806106b0610b63565b90506106bd818585610b6b565b600191505092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b600080610701610b63565b905061070e858285610d34565b610719858585610dc0565b60019150509392505050565b60006009905090565b600080610739610b63565b905061075a81858561074b8589610a59565b6107559190611d49565b610b6b565b600191505092915050565b600061076f6112e3565b60648211156107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90611def565b60405180910390fd5b81600a8190555060019050919050565b7f00000000000000000000000066f88fe0bd4caa515984a6e77bf0428c8a70d41281565b600a5481565b60006107f76112e3565b81600b8190555060019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108576112e3565b6108616000611361565b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006108936112e3565b81600c8190555060019050919050565b600b5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108e290611ce9565b80601f016020809104026020016040519081016040528092919081815260200182805461090e90611ce9565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b5050505050905090565b600080610970610b63565b9050600061097e8286610a59565b9050838110156109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba90611e81565b60405180910390fd5b6109d08286868403610b6b565b60019250505092915050565b6000806109e7610b63565b90506109f4818585610dc0565b600191505092915050565b600c5481565b6000610a0f6112e3565b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ae86112e3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4e90611f13565b60405180910390fd5b610b6081611361565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd190611fa5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4090612037565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d279190611b51565b60405180910390a3505050565b6000610d408484610a59565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dba5781811015610dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da3906120a3565b60405180910390fd5b610db98484848403610b6b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612135565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e95906121c7565b60405180910390fd5b80610ea884610807565b1015610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612259565b60405180910390fd5b7f00000000000000000000000066f88fe0bd4caa515984a6e77bf0428c8a70d41273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f8e57507f00000000000000000000000066f88fe0bd4caa515984a6e77bf0428c8a70d41273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8015610fa75750601160009054906101000a900460ff16155b156112d2577f00000000000000000000000066f88fe0bd4caa515984a6e77bf0428c8a70d41273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146110ce57601054600e54106110cd57611015601054611427565b601054600e60008282546110299190612279565b925050819055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050509050806110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c2906122f9565b60405180910390fd5b505b5b6000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111715750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561117e578190506112c1565b600b548211156111c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ba9061238b565b60405180910390fd5b7f00000000000000000000000066f88fe0bd4caa515984a6e77bf0428c8a70d41273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361126f57600c5461122284610807565b8361122d9190611d49565b111561126e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112659061241d565b60405180910390fd5b5b60006064600a5484611281919061243d565b61128b91906124c6565b905080836112999190612279565b915080600e60008282546112ad9190611d49565b925050819055506112bf8530836116a7565b505b6112cc8484836116a7565b506112de565b6112dd8383836116a7565b5b505050565b6112eb610b63565b73ffffffffffffffffffffffffffffffffffffffff166113096108a9565b73ffffffffffffffffffffffffffffffffffffffff161461135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135690612543565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561145f5761145e612563565b5b60405190808252806020026020018201604052801561148d5781602001602082028036833780820191505090505b50905030816000815181106114a5576114a4612592565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e91906125d6565b8160018151811061158257611581612592565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115e7307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610b6b565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000843061012c426116369190611d49565b6040518663ffffffff1660e01b81526004016116569594939291906126fc565b600060405180830381600087803b15801561167057600080fd5b505af1158015611684573d6000803e3d6000fd5b50505050506000601160006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611716576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170d90612135565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c906121c7565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561180b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180290612259565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118f99190611b51565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611941578082015181840152602081019050611926565b60008484015250505050565b6000601f19601f8301169050919050565b600061196982611907565b6119738185611912565b9350611983818560208601611923565b61198c8161194d565b840191505092915050565b600060208201905081810360008301526119b1818461195e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119e9826119be565b9050919050565b6119f9816119de565b8114611a0457600080fd5b50565b600081359050611a16816119f0565b92915050565b6000819050919050565b611a2f81611a1c565b8114611a3a57600080fd5b50565b600081359050611a4c81611a26565b92915050565b60008060408385031215611a6957611a686119b9565b5b6000611a7785828601611a07565b9250506020611a8885828601611a3d565b9150509250929050565b60008115159050919050565b611aa781611a92565b82525050565b6000602082019050611ac26000830184611a9e565b92915050565b6000819050919050565b6000611aed611ae8611ae3846119be565b611ac8565b6119be565b9050919050565b6000611aff82611ad2565b9050919050565b6000611b1182611af4565b9050919050565b611b2181611b06565b82525050565b6000602082019050611b3c6000830184611b18565b92915050565b611b4b81611a1c565b82525050565b6000602082019050611b666000830184611b42565b92915050565b600080600060608486031215611b8557611b846119b9565b5b6000611b9386828701611a07565b9350506020611ba486828701611a07565b9250506040611bb586828701611a3d565b9150509250925092565b600060ff82169050919050565b611bd581611bbf565b82525050565b6000602082019050611bf06000830184611bcc565b92915050565b600060208284031215611c0c57611c0b6119b9565b5b6000611c1a84828501611a3d565b91505092915050565b611c2c816119de565b82525050565b6000602082019050611c476000830184611c23565b92915050565b600060208284031215611c6357611c626119b9565b5b6000611c7184828501611a07565b91505092915050565b60008060408385031215611c9157611c906119b9565b5b6000611c9f85828601611a07565b9250506020611cb085828601611a07565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d0157607f821691505b602082108103611d1457611d13611cba565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d5482611a1c565b9150611d5f83611a1c565b9250828201905080821115611d7757611d76611d1a565b5b92915050565b7f45524332303a20746f74616c20746178206d757374206e6f742062652067726560008201527f61746572207468616e2031303000000000000000000000000000000000000000602082015250565b6000611dd9602d83611912565b9150611de482611d7d565b604082019050919050565b60006020820190508181036000830152611e0881611dcc565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611e6b602583611912565b9150611e7682611e0f565b604082019050919050565b60006020820190508181036000830152611e9a81611e5e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611efd602683611912565b9150611f0882611ea1565b604082019050919050565b60006020820190508181036000830152611f2c81611ef0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f8f602483611912565b9150611f9a82611f33565b604082019050919050565b60006020820190508181036000830152611fbe81611f82565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612021602283611912565b915061202c82611fc5565b604082019050919050565b6000602082019050818103600083015261205081612014565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061208d601d83611912565b915061209882612057565b602082019050919050565b600060208201905081810360008301526120bc81612080565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061211f602583611912565b915061212a826120c3565b604082019050919050565b6000602082019050818103600083015261214e81612112565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121b1602383611912565b91506121bc82612155565b604082019050919050565b600060208201905081810360008301526121e0816121a4565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612243602683611912565b915061224e826121e7565b604082019050919050565b6000602082019050818103600083015261227281612236565b9050919050565b600061228482611a1c565b915061228f83611a1c565b92508282039050818111156122a7576122a6611d1a565b5b92915050565b7f4661696c656420746f2073656e64204554480000000000000000000000000000600082015250565b60006122e3601283611912565b91506122ee826122ad565b602082019050919050565b60006020820190508181036000830152612312816122d6565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473207460008201527f6865206d6178207472616e73616374696f6e20616d6f756e7400000000000000602082015250565b6000612375603983611912565b915061238082612319565b604082019050919050565b600060208201905081810360008301526123a481612368565b9050919050565b7f45524332303a2062616c616e636520616d6f756e74206578636565646564206d60008201527f61782077616c6c657420616d6f756e74206c696d697400000000000000000000602082015250565b6000612407603683611912565b9150612412826123ab565b604082019050919050565b60006020820190508181036000830152612436816123fa565b9050919050565b600061244882611a1c565b915061245383611a1c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561248c5761248b611d1a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124d182611a1c565b91506124dc83611a1c565b9250826124ec576124eb612497565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061252d602083611912565b9150612538826124f7565b602082019050919050565b6000602082019050818103600083015261255c81612520565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125d0816119f0565b92915050565b6000602082840312156125ec576125eb6119b9565b5b60006125fa848285016125c1565b91505092915050565b6000819050919050565b600061262861262361261e84612603565b611ac8565b611a1c565b9050919050565b6126388161260d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612673816119de565b82525050565b6000612685838361266a565b60208301905092915050565b6000602082019050919050565b60006126a98261263e565b6126b38185612649565b93506126be8361265a565b8060005b838110156126ef5781516126d68882612679565b97506126e183612691565b9250506001810190506126c2565b5085935050505092915050565b600060a0820190506127116000830188611b42565b61271e602083018761262f565b8181036040830152612730818661269e565b905061273f6060830185611c23565b61274c6080830184611b42565b969550505050505056fea2646970667358221220dd1ff9dee5c6fb760e00cbd55a33c1f8ad14702950fe945484f90b32ec35b0e864736f6c63430008100033
Verified Source Code Partial Match
Compiler: v0.8.16+commit.07a7930e
EVM: london
Optimization: No
Magpac.sol 525 lines
/*
Web: https://www.magamemepac.com/
TG: https://t.me/JoinMAGAMEMEPAC
X: https://x.com/TheMagaboyz
TikTok: https://www.tiktok.com/@themagaboyz
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
interface IUniswapV2Factory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function createPair(address tokenA, address tokenB)
external
returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
function nonces(address owner) external view returns (uint256);
event Mint(address indexed sender, uint256 amount0, uint256 amount1);
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function factory() external view returns (address);
function price0CumulativeLast() external view returns (uint256);
function price1CumulativeLast() external view returns (uint256);
function kLast() external view returns (uint256);
function mint(address to) external returns (uint256 liquidity);
function burn(address to)
external
returns (uint256 amount0, uint256 amount1);
function swap(
uint256 amount0Out,
uint256 amount1Out,
address to,
bytes calldata data
) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
/**
* @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
);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, 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 from,
address to,
uint256 amount
) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
_transferOwnership(_msgSender());
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == _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);
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function symbol() external view virtual override returns (string memory) {
return _symbol;
}
function name() external view virtual override returns (string memory) {
return _name;
}
function balanceOf(address account)
public
view
virtual
override
returns (uint256)
{
return _balances[account];
}
function decimals() public view virtual override returns (uint8) {
return 9;
}
function totalSupply() external view virtual override returns (uint256) {
return _totalSupply;
}
function allowance(address owner, address spender)
public
view
virtual
override
returns (uint256)
{
return _allowances[owner][spender];
}
function transfer(address to, uint256 amount)
external
virtual
override
returns (bool)
{
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
function approve(address spender, uint256 amount)
external
virtual
override
returns (bool)
{
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) external virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue)
external
virtual
returns (bool)
{
address owner = _msgSender();
uint256 currentAllowance = allowance(owner, spender);
require(
currentAllowance >= subtractedValue,
"ERC20: decreased allowance below zero"
);
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function increaseAllowance(address spender, uint256 addedValue)
external
virtual
returns (bool)
{
address owner = _msgSender();
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply += amount;
unchecked {
// Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _spendAllowance(
address owner,
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(
currentAllowance >= amount,
"ERC20: insufficient allowance"
);
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function _transfer(
address from,
address to,
uint256 amount
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
uint256 fromBalance = _balances[from];
require(
fromBalance >= amount,
"ERC20: transfer amount exceeds balance"
);
unchecked {
_balances[from] = fromBalance - amount;
// Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
// decrementing then incrementing.
_balances[to] += amount;
}
emit Transfer(from, to, amount);
}
}
contract Magpac is ERC20, Ownable {
string private _name = "MAGA Meme PAC";
string private _symbol = "MAGPAC";
uint8 private _decimals = 9;
uint256 private _supply = 47000000;
uint256 public taxForMarketing = 5;
uint256 public maxTxAmount = 235000 * 10**_decimals;
uint256 public maxWalletAmount = 235000 * 10**_decimals;
address public marketingWallet = 0x8689BC58795198F40e2d312312094b4cf967d071;
IUniswapV2Router02 public immutable uniswapV2Router;
address public immutable uniswapV2Pair;
uint256 private _marketingReserves = 0;
mapping(address => bool) private _isExcludedFromFee;
uint256 private _numTokensSellToAddToETH = 235000 * 10**_decimals;
bool inSwapAndLiquify;
modifier lockTheSwap() {
inSwapAndLiquify = true;
_;
inSwapAndLiquify = false;
}
constructor() ERC20(_name, _symbol) {
_mint(msg.sender, (_supply * 10**_decimals));
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
_isExcludedFromFee[address(uniswapV2Router)] = true;
_isExcludedFromFee[msg.sender] = true;
_isExcludedFromFee[marketingWallet] = true;
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(balanceOf(from) >= amount, "ERC20: transfer amount exceeds balance");
if ((from == uniswapV2Pair || to == uniswapV2Pair) && !inSwapAndLiquify) {
if (from != uniswapV2Pair) {
if ((_marketingReserves) >= _numTokensSellToAddToETH) {
_swapTokensForEth(_numTokensSellToAddToETH);
_marketingReserves -= _numTokensSellToAddToETH;
bool sent = payable(marketingWallet).send(address(this).balance);
require(sent, "Failed to send ETH");
}
}
uint256 transferAmount;
if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
transferAmount = amount;
}
else {
require(amount <= maxTxAmount, "ERC20: transfer amount exceeds the max transaction amount");
if(from == uniswapV2Pair){
require((amount + balanceOf(to)) <= maxWalletAmount, "ERC20: balance amount exceeded max wallet amount limit");
}
uint256 marketingShare = ((amount * taxForMarketing) / 100);
transferAmount = amount - marketingShare;
_marketingReserves += marketingShare;
super._transfer(from, address(this), marketingShare);
}
super._transfer(from, to, transferAmount);
}
else {
super._transfer(from, to, amount);
}
}
function _swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
(block.timestamp + 300)
);
}
function changeMarketingWallet(address newWallet)
public
onlyOwner
returns (bool)
{
marketingWallet = newWallet;
return true;
}
function changeTax(uint256 _taxForMarketing)
public
onlyOwner
returns (bool)
{
require(_taxForMarketing <= 100, "ERC20: total tax must not be greater than 100");
taxForMarketing = _taxForMarketing;
return true;
}
function changeMaxTxAmount(uint256 _maxTxAmount)
public
onlyOwner
returns (bool)
{
maxTxAmount = _maxTxAmount;
return true;
}
function changeMaxWalletAmount(uint256 _maxWalletAmount)
public
onlyOwner
returns (bool)
{
maxWalletAmount = _maxWalletAmount;
return true;
}
receive() external payable {}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
marketingWallet 0x75f0a874 → address
maxTxAmount 0x8c0b5e22 → uint256
maxWalletAmount 0xaa4bde28 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
taxForMarketing 0x527ffabd → uint256
totalSupply 0x18160ddd → uint256
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address
Write Contract 11 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
changeMarketingWallet 0xbb85c6d1
address newWallet
returns: bool
changeMaxTxAmount 0x677daa57
uint256 _maxTxAmount
returns: bool
changeMaxWalletAmount 0x81bfdcca
uint256 _maxWalletAmount
returns: bool
changeTax 0x3e45c8af
uint256 _taxForMarketing
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address