[ { "inputs": [ { "internalType": "address", "name": "_boundingCurve", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "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": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "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" }, { "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": [ { "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": "address", "name": "_unifactory", "type": "address" }, { "internalType": "address", "name": "_weth", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "initialSupply_", "type": "uint256" }, { "internalType": "uint256", "name": "maxWallet_", "type": "uint256" } ], "name": "init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "pairAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" } ], "name": "setmaxWallet", "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" } ]
60a060405234801561001057600080fd5b5060405161121738038061121783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516111856100926000396000818161041e015261049f01526111856000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063dd62ed3e11610066578063dd62ed3e14610217578063f2fde38b1461022a578063f8b45b051461023d578063fc6b151c1461024657600080fd5b80638da5cb5b146101c957806395d89b41146101e9578063a8b08982146101f1578063a9059cbb1461020457600080fd5b8063313ce567116100d3578063313ce5671461018a5780635d5934621461019957806370a08231146101ae578063715018a6146101c157600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610177575b600080fd5b61010d610259565b60405161011a9190610d22565b60405180910390f35b610136610131366004610d86565b61031c565b604051901515815260200161011a565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b60405190815260200161011a565b610136610185366004610db2565b610336565b6040516012815260200161011a565b6101ac6101a7366004610e96565b61035a565b005b6101696101bc366004610f31565b6105b7565b6101ac6105df565b6101d16105f3565b6040516001600160a01b03909116815260200161011a565b61010d610621565b6001546101d1906001600160a01b031681565b610136610212366004610d86565b610660565b610169610225366004610f55565b61066e565b6101ac610238366004610f31565b6106b8565b61016960005481565b6101ac610254366004610f8e565b6106f6565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060916000805160206111308339815191529161029890610fa7565b80601f01602080910402602001604051908101604052809291908181526020018280546102c490610fa7565b80156103115780601f106102e657610100808354040283529160200191610311565b820191906000526020600020905b8154815290600101906020018083116102f457829003601f168201915b505050505091505090565b60003361032a818585610703565b60019150505b92915050565b600033610344858285610715565b61034f85858561077b565b506001949350505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156103a05750825b905060008267ffffffffffffffff1660011480156103bd5750303b155b9050811580156103cb575080155b156103e95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561041357845460ff60401b1916600160401b1785555b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104905760405162461bcd60e51b815260206004820152601a60248201527f486f6c64446f7446756e546f6b656e3a20464f5242494444454e00000000000060448201526064015b60405180910390fd5b61049a89896107da565b6104c37f00000000000000000000000000000000000000000000000000000000000000006107f0565b6104cd3388610801565b60008690556040516364e329cb60e11b81523060048201526001600160a01b038b811660248301528c169063c9c65396906044016020604051808303816000875af1158015610520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190610fe1565b600180546001600160a01b0319166001600160a01b039290921691909117905583156105aa57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b6001600160a01b03166000908152600080516020611130833981519152602052604090205490565b6105e7610837565b6105f16000610869565b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060916000805160206111308339815191529161029890610fa7565b60003361032a81858561077b565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b6106c0610837565b6001600160a01b0381166106ea57604051631e4fbdf760e01b815260006004820152602401610487565b6106f381610869565b50565b6106fe610837565b600055565b61071083838360016108da565b505050565b6000610721848461066e565b90506000198114610775578181101561076657604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610487565b610775848484840360006108da565b50505050565b6001600160a01b0383166107a557604051634b637e8f60e11b815260006004820152602401610487565b6001600160a01b0382166107cf5760405163ec442f0560e01b815260006004820152602401610487565b6107108383836109c2565b6107e2610b42565b6107ec8282610b8b565b5050565b6107f8610b42565b6106f381610bdc565b6001600160a01b03821661082b5760405163ec442f0560e01b815260006004820152602401610487565b6107ec600083836109c2565b336108406105f3565b6001600160a01b0316146105f15760405163118cdaa760e01b8152336004820152602401610487565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000805160206111308339815191526001600160a01b0385166109135760405163e602df0560e01b815260006004820152602401610487565b6001600160a01b03841661093d57604051634a1406b160e11b815260006004820152602401610487565b6001600160a01b038086166000908152600183016020908152604080832093881683529290522083905581156109bb57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516109b291815260200190565b60405180910390a35b5050505050565b6109cd838383610be4565b60006109d76105f3565b6001600160a01b0316146107105763ffffffff823b161580610a1157506109fc6105f3565b6001600160a01b0316836001600160a01b0316145b80610a345750610a1f6105f3565b6001600160a01b0316826001600160a01b0316145b610aa65760405162461bcd60e51b815260206004820152603d60248201527f486f6c64446f7446756e546f6b656e3a2043616e27742073656e6420746f6b6560448201527f6e7320746f20636f6e747261637473206265666f7265206c61756e63680000006064820152608401610487565b60008054118015610ad05750610aba6105f3565b6001600160a01b0316826001600160a01b031614155b1561071057600054610ae1836105b7565b11156107105760405162461bcd60e51b815260206004820152602a60248201527f486f6c64446f7446756e546f6b656e3a204d61782077616c6c6574206c696d696044820152691d08195e18d95959195960b21b6064820152608401610487565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166105f157604051631afcd79f60e31b815260040160405180910390fd5b610b93610b42565b6000805160206111308339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03610bcd848261104e565b5060048101610775838261104e565b6106c0610b42565b6000805160206111308339815191526001600160a01b038416610c205781816002016000828254610c15919061110e565b90915550610c929050565b6001600160a01b03841660009081526020829052604090205482811015610c735760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610487565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316610cb0576002810180548390039055610ccf565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d1491815260200190565b60405180910390a350505050565b60006020808352835180602085015260005b81811015610d5057858101830151858201604001528201610d34565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106f357600080fd5b60008060408385031215610d9957600080fd5b8235610da481610d71565b946020939093013593505050565b600080600060608486031215610dc757600080fd5b8335610dd281610d71565b92506020840135610de281610d71565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e1a57600080fd5b813567ffffffffffffffff80821115610e3557610e35610df3565b604051601f8301601f19908116603f01168101908282118183101715610e5d57610e5d610df3565b81604052838152866020858801011115610e7657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610eaf57600080fd5b8635610eba81610d71565b95506020870135610eca81610d71565b9450604087013567ffffffffffffffff80821115610ee757600080fd5b610ef38a838b01610e09565b95506060890135915080821115610f0957600080fd5b50610f1689828a01610e09565b9350506080870135915060a087013590509295509295509295565b600060208284031215610f4357600080fd5b8135610f4e81610d71565b9392505050565b60008060408385031215610f6857600080fd5b8235610f7381610d71565b91506020830135610f8381610d71565b809150509250929050565b600060208284031215610fa057600080fd5b5035919050565b600181811c90821680610fbb57607f821691505b602082108103610fdb57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215610ff357600080fd5b8151610f4e81610d71565b601f821115610710576000816000526020600020601f850160051c810160208610156110275750805b601f850160051c820191505b8181101561104657828155600101611033565b505050505050565b815167ffffffffffffffff81111561106857611068610df3565b61107c816110768454610fa7565b84610ffe565b602080601f8311600181146110b157600084156110995750858301515b600019600386901b1c1916600185901b178555611046565b600085815260208120601f198616915b828110156110e0578886015182559484019460019091019084016110c1565b50858210156110fe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561033057634e487b7160e01b600052601160045260246000fdfe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a2646970667358221220c4af443dda2dabe82b5fc3946601a586ee76fe78be847ede577851d90cfa7cde64736f6c6343000818003300000000000000000000000038c11fbae0cf57b55a00951fba9e6d1fdb4805db