[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_buyLimit", "type": "uint256" }, { "internalType": "address", "name": "liquidityManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "total", "type": "uint256" } ], "name": "LimitBuyBought", "type": "event" }, { "anonymous": false, "inputs": [], "name": "LimitBuyDisabled", "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": [], "name": "BUY_LIMIT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LIMIT_BUY_ENABLED", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LIQUIDITY_MANAGER", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LIQUIDITY_POOL", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MEME_FACTORY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TICK_LIMIT", "outputs": [ { "internalType": "int24", "name": "", "type": "int24" } ], "stateMutability": "view", "type": "function" }, { "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityPool", "type": "address" }, { "internalType": "int24", "name": "_tickLimit", "type": "int24" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "setAllowedSwapRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "buyer", "type": "address" } ], "name": "totalBought", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60e06040526005805460ff60c81b1916600160c81b17905534801561002357600080fd5b50604051611bca380380611bca83398101604081905261004291610587565b8484600361005083826106a3565b50600461005d82826106a3565b50503360a052506001600160a01b03811660c0526080829052610080818461008a565b5050505050610867565b6001600160a01b0382166100e55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b6100f16000838361017a565b80600260008282546101039190610761565b90915550506001600160a01b03821660009081526020819052604081208054839290610130908490610761565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600554600160c81b900460ff1680156101a657506005546001600160a01b038481166201000090920416145b80156101c6575060c0516001600160a01b0316826001600160a01b031614155b15610317576007546001600160a01b0383811691161461021c5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016100dc565b600780546001600160a01b03191690556001600160a01b03821660009081526006602052604081208054839290610254908490610761565b90915550506080516001600160a01b03831660009081526006602052604090205411156102b85760405162461bcd60e51b8152602060048201526012602482015271109d5e481b1a5b5a5d08195e18d95959195960721b60448201526064016100dc565b6001600160a01b03821660008181526006602090815260409182902054825193845290830184905282820152517f54dda36fa32df5c6cb57e9bc55181a4b65872f840d070fa1ec6b694fa91e55f39181900360600190a161031761032e565b6103298383836001600160e01b038416565b505050565b610336610374565b15610372576005805460ff60c81b191690556040517fcedff72995d11f78326d1901e72c4b9bb08557744dcb28fb0ab5167268e4a72b90600090a15b565b600080600560029054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156103ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ee919061079f565b50505050509150506000600560029054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f9190610843565b90506001600160a01b038116301461049a57600554600160b01b9004600290810b9083900b126104af565b600554600160b01b9004600290810b9083900b135b9250505090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126104dd57600080fd5b81516001600160401b038111156104f6576104f66104b6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610524576105246104b6565b60405281815283820160200185101561053c57600080fd5b60005b8281101561055b5760208186018101518383018201520161053f565b506000918101602001919091529392505050565b6001600160a01b038116811461058457600080fd5b50565b600080600080600060a0868803121561059f57600080fd5b85516001600160401b038111156105b557600080fd5b6105c1888289016104cc565b602088015190965090506001600160401b038111156105df57600080fd5b6105eb888289016104cc565b6040880151606089015160808a01519297509095509350905061060d8161056f565b809150509295509295909350565b600181811c9082168061062f57607f821691505b60208210810361064f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561032957806000526020600020601f840160051c8101602085101561067c5750805b601f840160051c820191505b8181101561069c5760008155600101610688565b5050505050565b81516001600160401b038111156106bc576106bc6104b6565b6106d0816106ca845461061b565b84610655565b6020601f82116001811461070457600083156106ec5750848201515b600019600385901b1c1916600184901b17845561069c565b600084815260208120601f198516915b828110156107345787850151825560209485019460019092019101610714565b50848210156107525786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561078257634e487b7160e01b600052601160045260246000fd5b92915050565b805161ffff8116811461079a57600080fd5b919050565b600080600080600080600060e0888a0312156107ba57600080fd5b87516107c58161056f565b8097505060208801518060020b81146107dd57600080fd5b95506107eb60408901610788565b94506107f960608901610788565b935061080760808901610788565b925060a088015160ff8116811461081d57600080fd5b60c0890151909250801515811461083357600080fd5b8091505092959891949750929550565b60006020828403121561085557600080fd5b81516108608161056f565b9392505050565b60805160a05160c05161131f6108ab600039600081816101f20152610caf0152600081816102a601526104ab01526000818161036f0152610d92015261131f6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806379cc6790116100b8578063a9059cbb1161007c578063a9059cbb146102f6578063b00a5cf514610309578063d075b7891461031d578063d992d90814610344578063dd62ed3e14610357578063e1a8ad471461036a57600080fd5b806379cc67901461028e57806380095892146102a15780638673120b146102c857806395d89b41146102db578063a457c2d7146102e357600080fd5b8063313ce5671161010a578063313ce567146101de578063328ad467146101ed578063395093511461021457806342966c68146102275780634663b1b21461023c57806370a082311461026557600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd1461018857806323b872dd1461019a5780632cca9dfd146101ad575b600080fd5b61014f610391565b60405161015c9190610fd6565b60405180910390f35b610178610173366004611039565b610423565b604051901515815260200161015c565b6002545b60405190815260200161015c565b6101786101a8366004611065565b61043d565b6005546101c6906201000090046001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b6040516012815260200161015c565b6101c67f000000000000000000000000000000000000000000000000000000000000000081565b610178610222366004611039565b610461565b61023a6102353660046110a6565b610483565b005b61018c61024a3660046110bf565b6001600160a01b031660009081526006602052604090205490565b61018c6102733660046110bf565b6001600160a01b031660009081526020819052604090205490565b61023a61029c366004611039565b610490565b6101c67f000000000000000000000000000000000000000000000000000000000000000081565b61023a6102d63660046110bf565b6104a9565b61014f6105b0565b6101786102f1366004611039565b6105bf565b610178610304366004611039565b61063a565b60055461017890600160c81b900460ff1681565b60055461033190600160b01b900460020b81565b60405160029190910b815260200161015c565b61023a6103523660046110f2565b610648565b61018c61036536600461112b565b6106ef565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6060600380546103a090611159565b80601f01602080910402602001604051908101604052809291908181526020018280546103cc90611159565b80156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b5050505050905090565b60003361043181858561071a565b60019150505b92915050565b60003361044b85828561083e565b6104568585856108b8565b506001949350505050565b60003361043181858561047483836106ef565b61047e91906111a9565b61071a565b61048d3382610a91565b50565b61049b82338361083e565b6104a58282610a91565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c60058936040518163ffffffff1660e01b8152600401602060405180830381865afa158015610507573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052b91906111bc565b6001600160a01b0316336001600160a01b03161461057e5760405162461bcd60e51b815260206004820152600b60248201526a27b7363c903937baba32b960a91b60448201526064015b60405180910390fd5b600554600160c81b900460ff161561048d57600780546001600160a01b0383166001600160a01b031990911617905550565b6060600480546103a090611159565b600033816105cd82866106ef565b90508381101561062d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610575565b610456828686840361071a565b6000336104318185856108b8565b60006106546001610beb565b9050801561066c576005805461ff0019166101001790555b6005805462010000600160c81b031916620100006001600160a01b0386160262ffffff60b01b191617600160b01b62ffffff85160217905580156106ea576005805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661077c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610575565b6001600160a01b0382166107dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610575565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061084a84846106ef565b905060001981146108b257818110156108a55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610575565b6108b2848484840361071a565b50505050565b6001600160a01b03831661091c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610575565b6001600160a01b03821661097e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610575565b610989838383610c7a565b6001600160a01b03831660009081526020819052604090205481811015610a015760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610575565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610a389084906111a9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a8491815260200190565b60405180910390a36108b2565b6001600160a01b038216610af15760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610575565b610afd82600083610c7a565b6001600160a01b03821660009081526020819052604090205481811015610b715760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610575565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610ba09084906111d9565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600554600090610100900460ff1615610c34578160ff166001148015610c105750303b155b610c2c5760405162461bcd60e51b8152600401610575906111ec565b506000919050565b60055460ff808416911610610c5b5760405162461bcd60e51b8152600401610575906111ec565b506005805460ff191660ff92909216919091179055600190565b919050565b600554600160c81b900460ff168015610ca657506005546001600160a01b038481166201000090920416145b8015610ce457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b156106ea576007546001600160a01b03838116911614610d3a5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610575565b600780546001600160a01b03191690556001600160a01b03821660009081526006602052604081208054839290610d729084906111a9565b90915550506001600160a01b0382166000908152600660205260409020547f00000000000000000000000000000000000000000000000000000000000000001015610df45760405162461bcd60e51b8152602060048201526012602482015271109d5e481b1a5b5a5d08195e18d95959195960721b6044820152606401610575565b6001600160a01b03821660008181526006602090815260409182902054825193845290830184905282820152517f54dda36fa32df5c6cb57e9bc55181a4b65872f840d070fa1ec6b694fa91e55f39181900360600190a16106ea610e56610e94565b15610e92576005805460ff60c81b191690556040517fcedff72995d11f78326d1901e72c4b9bb08557744dcb28fb0ab5167268e4a72b90600090a15b565b600080600560029054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061124c565b50505050509150506000600560029054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8f91906111bc565b90506001600160a01b0381163014610fba57600554600160b01b9004600290810b9083900b12610fcf565b600554600160b01b9004600290810b9083900b135b9250505090565b602081526000825180602084015260005b818110156110045760208186018101516040868401015201610fe7565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461048d57600080fd5b6000806040838503121561104c57600080fd5b823561105781611024565b946020939093013593505050565b60008060006060848603121561107a57600080fd5b833561108581611024565b9250602084013561109581611024565b929592945050506040919091013590565b6000602082840312156110b857600080fd5b5035919050565b6000602082840312156110d157600080fd5b81356110dc81611024565b9392505050565b8060020b811461048d57600080fd5b6000806040838503121561110557600080fd5b823561111081611024565b91506020830135611120816110e3565b809150509250929050565b6000806040838503121561113e57600080fd5b823561114981611024565b9150602083013561112081611024565b600181811c9082168061116d57607f821691505b60208210810361118d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043757610437611193565b6000602082840312156111ce57600080fd5b81516110dc81611024565b8181038181111561043757610437611193565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b805161ffff81168114610c7557600080fd5b600080600080600080600060e0888a03121561126757600080fd5b875161127281611024565b6020890151909750611283816110e3565b95506112916040890161123a565b945061129f6060890161123a565b93506112ad6080890161123a565b925060a088015160ff811681146112c357600080fd5b60c089015190925080151581146112d957600080fd5b809150509295989194975092955056fea2646970667358221220b3e8c8f2825b615dedc6cb373815793b5201d143c1d4d510cbc28be0c86c809f64736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000def376571332906a880000000000000000000000000000000000000000000000003913517ebd3c0c65000000000000000000000000000000084cf1891c58033e66034960a398c686254858db0000000000000000000000000000000000000000000000000000000000000008457468657265756d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034554480000000000000000000000000000000000000000000000000000000000