[ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "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" }, { "inputs": [], "name": "balance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "value", "type": "uint256" } ], "name": "buy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deposit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "forwarder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLimitBuyMinMax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenAndPrice", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "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": "address", "name": "fwd", "type": "address" } ], "name": "setForwarder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "min", "type": "uint256" }, { "internalType": "uint256", "name": "max", "type": "uint256" } ], "name": "setLimitBuyMinMax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "price", "type": "uint256" } ], "name": "setTokenAndPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setTotalSupplyMax", "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": [], "name": "totalSupplyMax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b506113ed806100206000396000f3fe60806040526004361061011f5760003560e01c80638da5cb5b116100a0578063d0e30db011610064578063d0e30db0146101b2578063d96a094a14610330578063f2fde38b14610350578063f50249fc14610370578063f645d4f91461038557600080fd5b80638da5cb5b1461029b57806395d89b41146102c85780639cdb5c81146102dd578063b69ef8a8146102fd578063b9998a241461031057600080fd5b80633ccfd60b116100e75780633ccfd60b146101fb5780634cd88b761461021057806351d878151461023057806370a0823114610250578063715018a61461028657600080fd5b806306fdde03146101245780630bfff5cb1461014f578063179750ec1461019257806318160ddd146101b45780631e5c61b8146101d3575b600080fd5b34801561013057600080fd5b506101396103a3565b6040516101469190610f66565b60405180910390f35b34801561015b57600080fd5b506101736067546068546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610146565b34801561019e57600080fd5b506101b26101ad366004610fc9565b610435565b005b3480156101c057600080fd5b50606a545b604051908152602001610146565b3480156101df57600080fd5b50606c54606d5460408051928352602083019190915201610146565b34801561020757600080fd5b506101b26104a3565b34801561021c57600080fd5b506101b261022b36600461103e565b61058b565b34801561023c57600080fd5b506101b261024b3660046110aa565b6106a4565b34801561025c57600080fd5b506101c561026b3660046110cc565b6001600160a01b03166000908152606e602052604090205490565b34801561029257600080fd5b506101b2610800565b3480156102a757600080fd5b506102b061084b565b6040516001600160a01b039091168152602001610146565b3480156102d457600080fd5b5061013961085a565b3480156102e957600080fd5b506101b26102f83660046110f0565b610869565b34801561030957600080fd5b50476101c5565b34801561031c57600080fd5b506101b261032b3660046110cc565b6108f6565b34801561033c57600080fd5b506101b261034b3660046110f0565b61099f565b34801561035c57600080fd5b506101b261036b3660046110cc565b610d44565b34801561037c57600080fd5b50606b546101c5565b34801561039157600080fd5b506069546001600160a01b03166102b0565b6060606580546103b290611109565b80601f01602080910402602001604051908101604052809291908181526020018280546103de90611109565b801561042b5780601f106104005761010080835404028352916020019161042b565b820191906000526020600020905b81548152906001019060200180831161040e57829003601f168201915b5050505050905090565b61043d610df1565b6001600160a01b031661044e61084b565b6001600160a01b03161461047d5760405162461bcd60e51b815260040161047490611143565b60405180910390fd5b606780546001600160a01b0319166001600160a01b039390931692909217909155606855565b6104ab610df1565b6001600160a01b03166104bc61084b565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161047490611143565b60006104ec61084b565b6001600160a01b031647604051600081818185875af1925050503d8060008114610532576040519150601f19603f3d011682016040523d82523d6000602084013e610537565b606091505b50509050806105885760405162461bcd60e51b815260206004820181905260248201527f6661696c656420746f2073656e642062616c616e636520666f72206f776e65726044820152606401610474565b50565b60006105976001610e26565b905080156105af576000805461ff0019166101001790555b60008490036105f05760405162461bcd60e51b815260206004820152600d60248201526c696e76616c6964206e616d655f60981b6044820152606401610474565b60008290036106335760405162461bcd60e51b815260206004820152600f60248201526e696e76616c69642073796d626f6c5f60881b6044820152606401610474565b61063b610eae565b60656106488587836111dd565b5060666106568385836111dd565b50801561069d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6106ac610df1565b6001600160a01b03166106bd61084b565b6001600160a01b0316146106e35760405162461bcd60e51b815260040161047490611143565b8160000361073d5760405162461bcd60e51b815260206004820152602160248201527f6c696d697420627579206d696e2063616e206e6f742062652073657420746f206044820152600360fc1b6064820152608401610474565b806000036107975760405162461bcd60e51b815260206004820152602160248201527f6c696d697420627579206d61782063616e206e6f742062652073657420746f206044820152600360fc1b6064820152608401610474565b8082106107f55760405162461bcd60e51b815260206004820152602660248201527f6c696d697420627579206d61782063616e206e6f74206265206c65737320746860448201526530b71036b4b760d11b6064820152608401610474565b606c91909155606d55565b610808610df1565b6001600160a01b031661081961084b565b6001600160a01b03161461083f5760405162461bcd60e51b815260040161047490611143565b6108496000610edd565b565b6033546001600160a01b031690565b6060606680546103b290611109565b610871610df1565b6001600160a01b031661088261084b565b6001600160a01b0316146108a85760405162461bcd60e51b815260040161047490611143565b606a5481116108f15760405162461bcd60e51b8152602060048201526015602482015274737570706c79206d617820697320746f6f206c6f7760581b6044820152606401610474565b606b55565b6108fe610df1565b6001600160a01b031661090f61084b565b6001600160a01b0316146109355760405162461bcd60e51b815260040161047490611143565b6001600160a01b03811661097d5760405162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b6044820152606401610474565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b60006109a9610df1565b90506000606854836109bb91906112b3565b905060006109d184670de0b6b3a76400006112b3565b905080606c54111580156109e75750606d548111155b610a285760405162461bcd60e51b815260206004820152601260248201527176616c7565206f7574206f662072616e676560701b6044820152606401610474565b606d546001600160a01b0384166000908152606e6020526040902054610a4f9083906112d0565b1115610a9d5760405162461bcd60e51b815260206004820152601f60248201527f6275792076616c7565206578636565647320746f74616c20627579206d6178006044820152606401610474565b606b5481606a54610aae91906112d0565b1115610b075760405162461bcd60e51b815260206004820152602260248201527f6275792076616c7565206578636565647320746f74616c20737570706c79206d6044820152610c2f60f31b6064820152608401610474565b606754604051636eb1769f60e11b81526001600160a01b0385811660048301523060248301529091169063dd62ed3e90604401602060405180830381865afa158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7b91906112e3565b821115610bca5760405162461bcd60e51b815260206004820152601f60248201527f627579657220646f6573206e6f7420617070726f766520746f207370656e64006044820152606401610474565b80606a6000828254610bdc91906112d0565b90915550506001600160a01b0383166000908152606e602052604081208054839290610c099084906112d0565b90915550506067546001600160a01b03166323b872dd84610c2861084b565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018590526064016020604051808303816000875af1158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca091906112fc565b506000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114610cee576040519150601f19603f3d011682016040523d82523d6000602084013e610cf3565b606091505b505090508061069d5760405162461bcd60e51b815260206004820181905260248201527f6661696c656420746f2073656e642062616c616e636520666f722062757965726044820152606401610474565b610d4c610df1565b6001600160a01b0316610d5d61084b565b6001600160a01b031614610d835760405162461bcd60e51b815260040161047490611143565b6001600160a01b038116610de85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610474565b61058881610edd565b600033610e066069546001600160a01b031690565b6001600160a01b031603610e21575060131936013560601c90565b503390565b60008054610100900460ff1615610e6d578160ff166001148015610e495750303b155b610e655760405162461bcd60e51b81526004016104749061131e565b506000919050565b60005460ff808416911610610e945760405162461bcd60e51b81526004016104749061131e565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16610ed55760405162461bcd60e51b81526004016104749061136c565b610849610f2f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610f565760405162461bcd60e51b81526004016104749061136c565b610849610f61610df1565b610edd565b600060208083528351808285015260005b81811015610f9357858101830151858201604001528201610f77565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058857600080fd5b60008060408385031215610fdc57600080fd5b8235610fe781610fb4565b946020939093013593505050565b60008083601f84011261100757600080fd5b50813567ffffffffffffffff81111561101f57600080fd5b60208301915083602082850101111561103757600080fd5b9250929050565b6000806000806040858703121561105457600080fd5b843567ffffffffffffffff8082111561106c57600080fd5b61107888838901610ff5565b9096509450602087013591508082111561109157600080fd5b5061109e87828801610ff5565b95989497509550505050565b600080604083850312156110bd57600080fd5b50508035926020909101359150565b6000602082840312156110de57600080fd5b81356110e981610fb4565b9392505050565b60006020828403121561110257600080fd5b5035919050565b600181811c9082168061111d57607f821691505b60208210810361113d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fd5b601f8211156111d857600081815260208120601f850160051c810160208610156111b55750805b601f850160051c820191505b818110156111d4578281556001016111c1565b5050505b505050565b67ffffffffffffffff8311156111f5576111f5611178565b611209836112038354611109565b8361118e565b6000601f84116001811461123d57600085156112255750838201355b600019600387901b1c1916600186901b17835561069d565b600083815260209020601f19861690835b8281101561126e578685013582556020948501946001909201910161124e565b508682101561128b5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176112ca576112ca61129d565b92915050565b808201808211156112ca576112ca61129d565b6000602082840312156112f557600080fd5b5051919050565b60006020828403121561130e57600080fd5b815180151581146110e957600080fd5b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220f7d0c4eab88b8d7278143a18f238083f7b68daa6540706d7e3202093ea0e3b2a64736f6c63430008120033