[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_initialSupply", "type": "uint256" }, { "internalType": "address", "name": "_factory", "type": "address" }, { "internalType": "address", "name": "_pool", "type": "address" }, { "internalType": "address", "name": "_lpManager", "type": "address" }, { "internalType": "address", "name": "_creator", "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": [ { "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": [], "name": "addLpLocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "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": [], "name": "lpManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "pool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": [ { "internalType": "bool", "name": "unlock", "type": "bool" } ], "name": "unlockAddLP", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526005805460ff60a01b1916600160a01b1790553480156200002457600080fd5b506040516200114c3803806200114c83398101604081905262000047916200038f565b8087876003620000588382620004dc565b506004620000678282620004dc565b5050506001600160a01b0381166200009a57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000a581620000ea565b50620000b284866200013c565b50600680546001600160a01b039384166001600160a01b0319918216179091556007805492909316911617905550620005d092505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001685760405163ec442f0560e01b81526000600482015260240162000091565b62000176600083836200017a565b5050565b6001600160a01b038316620001a95780600260008282546200019d9190620005a8565b909155506200021d9050565b6001600160a01b03831660009081526020819052604090205481811015620001fe5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640162000091565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200023b576002805482900390556200025a565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002a091815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002d557600080fd5b81516001600160401b0380821115620002f257620002f2620002ad565b604051601f8301601f19908116603f011681019082821181831017156200031d576200031d620002ad565b816040528381526020925086838588010111156200033a57600080fd5b600091505b838210156200035e57858201830151818301840152908201906200033f565b600093810190920192909252949350505050565b80516001600160a01b03811681146200038a57600080fd5b919050565b600080600080600080600060e0888a031215620003ab57600080fd5b87516001600160401b0380821115620003c357600080fd5b620003d18b838c01620002c3565b985060208a0151915080821115620003e857600080fd5b50620003f78a828b01620002c3565b965050604088015194506200040f6060890162000372565b93506200041f6080890162000372565b92506200042f60a0890162000372565b91506200043f60c0890162000372565b905092959891949750929550565b600181811c908216806200046257607f821691505b6020821081036200048357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004d757600081815260208120601f850160051c81016020861015620004b25750805b601f850160051c820191505b81811015620004d357828155600101620004be565b5050505b505050565b81516001600160401b03811115620004f857620004f8620002ad565b62000510816200050984546200044d565b8462000489565b602080601f8311600181146200054857600084156200052f5750858301515b600019600386901b1c1916600185901b178555620004d3565b600085815260208120601f198616915b82811015620005795788860151825594840194600190910190840162000558565b5085821015620005985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620005ca57634e487b7160e01b600052601160045260246000fd5b92915050565b610b6c80620005e06000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb14610218578063b906f15a1461022b578063dd62ed3e1461023e578063f2fde38b1461027757600080fd5b806370a08231146101ce578063715018a6146101f75780638da5cb5b146101ff57806395d89b411461021057600080fd5b806323b872dd116100d357806323b872dd146101835780632f161e3c14610196578063313ce567146101aa57806352154946146101b957600080fd5b806306fdde0314610105578063095ea7b31461012357806316f0115b1461014657806318160ddd14610171575b600080fd5b61010d61028a565b60405161011a919061091f565b60405180910390f35b610136610131366004610982565b61031c565b604051901515815260200161011a565b600654610159906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b6002545b60405190815260200161011a565b6101366101913660046109ae565b610336565b60055461013690600160a01b900460ff1681565b6040516012815260200161011a565b6101cc6101c73660046109ef565b61041b565b005b6101756101dc366004610a18565b6001600160a01b031660009081526020819052604090205490565b6101cc610481565b6005546001600160a01b0316610159565b61010d610495565b610136610226366004610982565b6104a4565b600754610159906001600160a01b031681565b61017561024c366004610a35565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101cc610285366004610a18565b610574565b60606003805461029990610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546102c590610a6e565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905090565b60003361032a8185856105b2565b60019150505b92915050565b600554600090600160a01b900460ff16156103fb57600760009054906101000a90046001600160a01b03166001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c29190610aa8565b6001600160a01b0316836001600160a01b0316036103fb5760405162461bcd60e51b81526004016103f290610ac5565b60405180910390fd5b6104068433846105c4565b610411848484610642565b5060019392505050565b6006546001600160a01b031633146104635760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b60448201526064016103f2565b60058054911515600160a01b0260ff60a01b19909216919091179055565b6104896106a1565b61049360006106ce565b565b60606004805461029990610a6e565b600554600090600160a01b900460ff161561056057600760009054906101000a90046001600160a01b03166001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190610aa8565b6001600160a01b0316836001600160a01b0316036105605760405162461bcd60e51b81526004016103f290610ac5565b61056b338484610642565b50600192915050565b61057c6106a1565b6001600160a01b0381166105a657604051631e4fbdf760e01b8152600060048201526024016103f2565b6105af816106ce565b50565b6105bf8383836001610720565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461063c578181101561062d57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103f2565b61063c84848484036000610720565b50505050565b6001600160a01b03831661066c57604051634b637e8f60e11b8152600060048201526024016103f2565b6001600160a01b0382166106965760405163ec442f0560e01b8152600060048201526024016103f2565b6105bf8383836107f5565b6005546001600160a01b031633146104935760405163118cdaa760e01b81523360048201526024016103f2565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03841661074a5760405163e602df0560e01b8152600060048201526024016103f2565b6001600160a01b03831661077457604051634a1406b160e11b8152600060048201526024016103f2565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561063c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107e791815260200190565b60405180910390a350505050565b6001600160a01b0383166108205780600260008282546108159190610b15565b909155506108929050565b6001600160a01b038316600090815260208190526040902054818110156108735760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103f2565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166108ae576002805482900390556108cd565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161091291815260200190565b60405180910390a3505050565b600060208083528351808285015260005b8181101561094c57858101830151858201604001528201610930565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105af57600080fd5b6000806040838503121561099557600080fd5b82356109a08161096d565b946020939093013593505050565b6000806000606084860312156109c357600080fd5b83356109ce8161096d565b925060208401356109de8161096d565b929592945050506040919091013590565b600060208284031215610a0157600080fd5b81358015158114610a1157600080fd5b9392505050565b600060208284031215610a2a57600080fd5b8135610a118161096d565b60008060408385031215610a4857600080fd5b8235610a538161096d565b91506020830135610a638161096d565b809150509250929050565b600181811c90821680610a8257607f821691505b602082108103610aa257634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215610aba57600080fd5b8151610a118161096d565b60208082526030908201527f4c502063616e206f6e6c7920626520616464656420746f20756e69737761702060408201526f30b33a32b91033b930b23ab0ba34b7b760811b606082015260800190565b8082018082111561033057634e487b7160e01b600052601160045260246000fdfea26469706673582212205d32dabbd2488afeb868eb5a77236631412c4cb542bdb2de206a810288f466a164736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000052b7d2dcc80cd2e40000000000000000000000000000004280004599cb4265537d8691e655740eec2a2f01000000000000000000000000812ba6d71f5b3e7ca964f3d66609c14571f1b7cc00000000000000000000000078019ea1bc98b2878bc6c355c24587b9eedd0b750000000000000000000000007fe098da10a35f452eb6ddcc832799235cebb4060000000000000000000000000000000000000000000000000000000000000008454c555452554e530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008454c555452554e53000000000000000000000000000000000000000000000000