[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "initialBalance_", "type": "uint256" }, { "internalType": "uint8", "name": "balanceLimitRate_", "type": "uint8" }, { "internalType": "address", "name": "uniswapV2Router_", "type": "address" }, { "internalType": "bytes", "name": "signature_", "type": "bytes" }, { "internalType": "address payable", "name": "feeReceiver_", "type": "address" } ], "stateMutability": "payable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "newBalance", "type": "uint256" }, { "internalType": "uint256", "name": "maxAllowedBalance", "type": "uint256" } ], "name": "ERC20AntiWhaleExceededBalanceLimit", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "balanceLimitRate", "type": "uint8" } ], "name": "ERC20AntiWhaleInvalidBalanceLimit", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "balanceLimitPercent", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "initialLiquidity", "type": "uint256" }, { "internalType": "bool", "name": "lockLiquidity", "type": "bool" } ], "name": "initLiquidity", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromBalanceLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "balanceLimitPercent", "type": "uint8" } ], "name": "setBalanceLimitPercent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setExclusionFromBalanceLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60c06040526040516200196738038062001967833981016040819052620000269162000793565b60408051808201909152600e81526d0537761707061626c6545524332360941b6020820152819083333387898d8d6003620000628382620008f0565b506004620000718282620008f0565b5050506200008581620003aa60201b60201c565b620000ae335b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b506001600160a01b0381166200011e5760405162461bcd60e51b815260206004820152602a60248201527f756e69737761705632526f757465722063616e6e6f7420626520746865207a65604482015269726f206164647265737360b01b60648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000167573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018d9190620009bc565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001db573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002019190620009bc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200024c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002729190620009bc565b6001600160a01b0390811660a05282169050620002a557604051631e4fbdf760e01b81525f600482015260240162000115565b620002b081620003fb565b5060405163346386e160e01b81526001600160a01b0385169063346386e1903490620002e59087908790879060040162000a0e565b5f604051808303818588803b158015620002fd575f80fd5b505af115801562000310573d5f803e3d5ffd5b5050505050505050505f85116200036a5760405162461bcd60e51b815260206004820152601d60248201527f496e697469616c20737570706c792063616e6e6f74206265207a65726f000000604482015260640162000115565b305f908152600660205260409020805460ff19166001179055620003916200008b60a05190565b6200039d308662000454565b5050505050505062000ab9565b5f8160ff16118015620003c1575060648160ff1611155b620003e557604051637736e91160e01b815260ff8216600482015260240162000115565b6005805460ff191660ff92909216919091179055565b600780546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166200047f5760405163ec442f0560e01b81525f600482015260240162000115565b6200048c5f838362000490565b5050565b6200049d838383620004a2565b505050565b60055460ff16606414801590620004d157506001600160a01b0382165f9081526006602052604090205460ff16155b156200056d576001600160a01b0382165f90815260208190526040812054620004fc90839062000a63565b6005549091505f9060649060ff166200051460025490565b62000520919062000a7f565b6200052c919062000a99565b9050808211156200056a5760405163dfdfd90160e01b81526001600160a01b0385166004820152602481018390526044810182905260640162000115565b50505b6200049d8383836001600160a01b038316620005a2578060025f82825462000596919062000a63565b90915550620006149050565b6001600160a01b0383165f9081526020819052604090205481811015620005f65760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640162000115565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216620006325760028054829003905562000650565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200069691815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620006d3578181015183820152602001620006b9565b50505f910152565b5f82601f830112620006eb575f80fd5b81516001600160401b0380821115620007085762000708620006a3565b604051601f8301601f19908116603f01168101908282118183101715620007335762000733620006a3565b816040528381528660208588010111156200074c575f80fd5b6200075f846020830160208901620006b7565b9695505050505050565b6001600160a01b03811681146200077e575f80fd5b50565b80516200078e8162000769565b919050565b5f805f805f805f60e0888a031215620007aa575f80fd5b87516001600160401b0380821115620007c1575f80fd5b620007cf8b838c01620006db565b985060208a0151915080821115620007e5575f80fd5b620007f38b838c01620006db565b975060408a0151965060608a0151915060ff8216821462000812575f80fd5b8195506200082360808b0162000781565b945060a08a015191508082111562000839575f80fd5b50620008488a828b01620006db565b9250506200085960c0890162000781565b905092959891949750929550565b600181811c908216806200087c57607f821691505b6020821081036200089b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200049d57805f5260205f20601f840160051c81016020851015620008c85750805b601f840160051c820191505b81811015620008e9575f8155600101620008d4565b5050505050565b81516001600160401b038111156200090c576200090c620006a3565b62000924816200091d845462000867565b84620008a1565b602080601f8311600181146200095a575f8415620009425750858301515b5f19600386901b1c1916600185901b178555620009b4565b5f85815260208120601f198616915b828110156200098a5788860151825594840194600190910190840162000969565b5085821015620009a857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009cd575f80fd5b8151620009da8162000769565b9392505050565b5f8151808452620009fa816020860160208601620006b7565b601f01601f19169290920160200192915050565b606081525f62000a226060830186620009e1565b828103602084015262000a368186620009e1565b91505060018060a01b0383166040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562000a795762000a7962000a4f565b92915050565b808202811582820484141762000a795762000a7962000a4f565b5f8262000ab457634e487b7160e01b5f52601260045260245ffd5b500490565b60805160a051610e8562000ae25f395f61022601525f818161082f01526108560152610e855ff3fe608060405260043610610105575f3560e01c8063715018a611610092578063aa7dc13b11610062578063aa7dc13b146102fb578063ab7965df14610312578063b3031a9c14610331578063dd62ed3e14610344578063f2fde38b14610388575f80fd5b8063715018a6146102925780638da5cb5b146102a657806395d89b41146102c8578063a9059cbb146102dc575f80fd5b806323b872dd116100d857806323b872dd146101b7578063250b900d146101d6578063313ce567146101f757806349bd5a5e1461021857806370a082311461025e575f80fd5b806306fdde0314610109578063095ea7b31461013357806312d10c4a1461016257806318160ddd14610199575b5f80fd5b348015610114575f80fd5b5061011d6103a7565b60405161012a9190610beb565b60405180910390f35b34801561013e575f80fd5b5061015261014d366004610c52565b610437565b604051901515815260200161012a565b34801561016d575f80fd5b5061015261017c366004610c7a565b6001600160a01b03165f9081526006602052604090205460ff1690565b3480156101a4575f80fd5b506002545b60405190815260200161012a565b3480156101c2575f80fd5b506101526101d1366004610c9a565b610450565b3480156101e1575f80fd5b506101f56101f0366004610ce2565b610473565b005b348015610202575f80fd5b5060125b60405160ff909116815260200161012a565b348015610223575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161012a565b348015610269575f80fd5b506101a9610278366004610c7a565b6001600160a01b03165f9081526020819052604090205490565b34801561029d575f80fd5b506101f56104a6565b3480156102b1575f80fd5b5060075461010090046001600160a01b0316610246565b3480156102d3575f80fd5b5061011d6104b9565b3480156102e7575f80fd5b506101526102f6366004610c52565b6104c8565b348015610306575f80fd5b5060055460ff16610206565b34801561031d575f80fd5b506101f561032c366004610d13565b6104d5565b6101f561033f366004610d33565b6104e9565b34801561034f575f80fd5b506101a961035e366004610d54565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610393575f80fd5b506101f56103a2366004610c7a565b6104fb565b6060600380546103b690610d7c565b80601f01602080910402602001604051908101604052809291908181526020018280546103e290610d7c565b801561042d5780601f106104045761010080835404028352916020019161042d565b820191905f5260205f20905b81548152906001019060200180831161041057829003601f168201915b5050505050905090565b5f3361044481858561053a565b60019150505b92915050565b5f3361045d85828561054c565b6104688585856105c7565b506001949350505050565b61047b610624565b6001600160a01b0382165f908152600660205260409020805460ff19168215151790555050565b5050565b6104ae610624565b6104b75f610657565b565b6060600480546103b690610d7c565b5f336104448185856105c7565b6104dd610624565b6104e6816106b0565b50565b6104f1610624565b6104a282826106fe565b610503610624565b6001600160a01b03811661053157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104e681610657565b6105478383836001610927565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981146105c157818110156105b357604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610528565b6105c184848484035f610927565b50505050565b6001600160a01b0383166105f057604051634b637e8f60e11b81525f6004820152602401610528565b6001600160a01b0382166106195760405163ec442f0560e01b81525f6004820152602401610528565b6105478383836109f9565b6007546001600160a01b036101009091041633146104b75760405163118cdaa760e01b8152336004820152602401610528565b600780546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8160ff161180156106c6575060648160ff1611155b6106e857604051637736e91160e01b815260ff82166004820152602401610528565b6005805460ff191660ff92909216919091179055565b60075460ff16156107475760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610528565b5f82116107965760405162461bcd60e51b815260206004820181905260248201527f496e697469616c206c69717569646974792063616e6e6f74206265207a65726f6044820152606401610528565b6002548211156107f85760405162461bcd60e51b815260206004820152602760248201527f4c69717569646974792063616e6e6f742062652067726561746572207468616e60448201526620737570706c7960c81b6064820152608401610528565b6007805460ff19166001179055610829306108103390565b8461081a60025490565b6108249190610dc8565b6105c7565b610854307f00000000000000000000000000000000000000000000000000000000000000008461053a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7193430855f80876108935733610895565b305b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108fb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109209190610ddb565b5050505050565b6001600160a01b0384166109505760405163e602df0560e01b81525f6004820152602401610528565b6001600160a01b03831661097957604051634a1406b160e11b81525f6004820152602401610528565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156105c157826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109eb91815260200190565b60405180910390a350505050565b61054783838360055460ff16606414801590610a2d57506001600160a01b0382165f9081526006602052604090205460ff16155b15610abf576001600160a01b0382165f90815260208190526040812054610a55908390610e06565b6005549091505f9060649060ff16610a6c60025490565b610a769190610e19565b610a809190610e30565b905080821115610abc5760405163dfdfd90160e01b81526001600160a01b03851660048201526024810183905260448101829052606401610528565b50505b6105478383836001600160a01b038316610aef578060025f828254610ae49190610e06565b90915550610b5f9050565b6001600160a01b0383165f9081526020819052604090205481811015610b415760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610528565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610b7b57600280548290039055610b99565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bde91815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b81811015610c1757858101830151858201604001528201610bfb565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c4d575f80fd5b919050565b5f8060408385031215610c63575f80fd5b610c6c83610c37565b946020939093013593505050565b5f60208284031215610c8a575f80fd5b610c9382610c37565b9392505050565b5f805f60608486031215610cac575f80fd5b610cb584610c37565b9250610cc360208501610c37565b9150604084013590509250925092565b80358015158114610c4d575f80fd5b5f8060408385031215610cf3575f80fd5b610cfc83610c37565b9150610d0a60208401610cd3565b90509250929050565b5f60208284031215610d23575f80fd5b813560ff81168114610c93575f80fd5b5f8060408385031215610d44575f80fd5b82359150610d0a60208401610cd3565b5f8060408385031215610d65575f80fd5b610d6e83610c37565b9150610d0a60208401610c37565b600181811c90821680610d9057607f821691505b602082108103610dae57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561044a5761044a610db4565b5f805f60608486031215610ded575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561044a5761044a610db4565b808202811582820484141761044a5761044a610db4565b5f82610e4a57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220c4bc444335e64c856901cdf10cabb04be25a5240711eacba5a985a093960788064736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000007e37be2022c0914b2680000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000016000000000000000000000000075eee167d2e5cc675f5b07f95d6a93e7088d6c34000000000000000000000000000000000000000000000000000000000000000a466c6f70706120496e7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000446494e550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418d4b375762df4d37401b0189439585d5bca88419079592b465d0fe15f8e5fd8e4684fe8f16cb134adf54c67138642b90bbae506033ec608544e9d4c2853d80fe1c00000000000000000000000000000000000000000000000000000000000000