0 txs
3 calls
constructor
constructor(address owner_, address weth_, address platformWallet_, uint256 platformFee_)
functions
evolveLiquidity
viewfunction evolveLiquidity() view returns (uint256)
factory
viewfunction factory() view returns (address)
getAmountIn
purefunction getAmountIn(uint256 amountOut, uint256 reserveOut, uint256 reserveIn) pure returns (uint256 amountIn)
getAmountInWithFee
viewfunction getAmountInWithFee(uint256 amountOut, uint256 reserveOut, uint256 reserveIn) view returns (uint256 amountInWithFee)
getAmountOut
purefunction getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns (uint256 amountOut)
getAmountOutWithFee
viewfunction getAmountOutWithFee(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) view returns (uint256 amountOutWithFee)
owner
viewfunction owner() view returns (address)
platformFee
viewfunction platformFee() view returns (uint256)
platformWallet
viewfunction platformWallet() view returns (address)
WETH
viewfunction WETH() view returns (address)
buy
nonpayablefunction buy(uint256 amountToExchange, uint256 amountMinMax, bool exactIn, address xenToken, address to, uint256 deadline)
buyWithETH
payablefunction buyWithETH(uint256 amountMinMax, bool exactIn, address xenToken, address to, uint256 deadline) payable
initializeFactory
nonpayablefunction initializeFactory(address newFactory)
launch
nonpayablefunction launch(string name, string symbol, string imageUrl, uint256 deadline) returns (address xenToken)
renounceOwnership
nonpayablefunction renounceOwnership()
sell
nonpayablefunction sell(uint256 amountToExchange, uint256 amountMinMax, bool exactIn, bool toUnwrap, address xenToken, address to, uint256 deadline)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateEvolveLiquidity
nonpayablefunction updateEvolveLiquidity(uint256 newEvolveLiquidity)
updatePlatformFee
nonpayablefunction updatePlatformFee(uint256 newPlatformFee)
updatePlatformWallet
nonpayablefunction updatePlatformWallet(address newPlatformWallet)
events
Buy
event Buy(address indexed xenToken, address indexed pair, uint256 amountWETH, uint256 amountRock, uint256 reserveWETH, uint256 reserveRock, address to)
Evolve
event Evolve(address indexed xenToken, address indexed pair)
InitializeFactory
event InitializeFactory(address newFactory, address oldFactory)
Launch
event Launch(string name, string symbol, string imageUrl, address indexed creator, address indexed xenToken, address indexed pair, uint256 totalPairs)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Sell
event Sell(address indexed xenToken, address indexed pair, uint256 amountRock, uint256 amountWETH, uint256 reserveWETH, uint256 reserveRock, address to)
UpdateEvolveLiquidity
event UpdateEvolveLiquidity(uint256 newEvolveLiquidity, uint256 oldEvolveLiquidity)
UpdatePlatformFee
event UpdatePlatformFee(uint256 newPlatformFee, uint256 oldPlatformFee)
UpdatePlatformWallet
event UpdatePlatformWallet(address newPlatformWallet, address oldPlatformWallet)
errors
ExceededDeadline
error ExceededDeadline()
ExcessiveInputAmount
error ExcessiveInputAmount()
FactoryNotInitialized
error FactoryNotInitialized()
ImageUrlInvalid
error ImageUrlInvalid()
InsufficientAmount
error InsufficientAmount()
InsufficientOutputAmount
error InsufficientOutputAmount()
InvalidAddress
error InvalidAddress()
InvalidAssignment
error InvalidAssignment()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a0604052671bc16d674ec8000060015534801561001b575f5ffd5b50604051611b45380380611b4583398101604081905261003a91610274565b836001600160a01b03811661006857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610071816100e3565b506001600160a01b038316158061008f57506001600160a01b038216155b156100a4576100a463e6c4247b60e01b610132565b805f036100bb576100bb632ca2f52b60e11b610132565b6001600160a01b0383166080526100d18261013a565b6100da816101e7565b505050506102bc565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b805f5260045ffd5b6001600160a01b0381166101585761015863e6c4247b60e01b610132565b6003546001600160a01b039081169082160361017e5761017e637fd217e360e01b610132565b600354604080516001600160a01b03808516825290921660208301527fa31a0871e96638141a6d14f91d9d806c9f760b3173a8c89cf8ebd42a5654692c910160405180910390a1600380546001600160a01b0319166001600160a01b0392909216919091179055565b805f036101fe576101fe632ca2f52b60e11b610132565b600454810361021757610217637fd217e360e01b610132565b6004546040805183815260208101929092527f61312852de43725e4264e8d956247989130cee42a6a07bb5475ed12335609c7b910160405180910390a1600455565b80516001600160a01b038116811461026f575f5ffd5b919050565b5f5f5f5f60808587031215610287575f5ffd5b61029085610259565b935061029e60208601610259565b92506102ac60408601610259565b6060959095015193969295505050565b60805161185c6102e95f395f81816102b5015281816103ef01528181610aae0152610b28015261185c5ff3fe60806040526004361061011b575f3560e01c806398110acd1161009d578063bc22593e11610062578063bc22593e14610309578063c45a01551461031e578063f2fde38b14610342578063fa2af9da14610361578063fe558f1014610380575f5ffd5b806398110acd14610266578063aa0b598814610285578063ad5c4648146102a4578063ada4ef30146102d7578063bb1a737f146102f6575f5ffd5b806355960aa4116100e357806355960aa4146101c5578063715018a6146101e45780637e4697fc146101f857806385f8c259146102175780638da5cb5b14610236575f5ffd5b8063054d50d41461011f57806326232a2e146101515780633447f10414610166578063364a694414610185578063538a3f0e146101a6575b5f5ffd5b34801561012a575f5ffd5b5061013e61013936600461132d565b61039f565b6040519081526020015b60405180910390f35b34801561015c575f5ffd5b5061013e60045481565b348015610171575f5ffd5b5061013e61018036600461132d565b6103b3565b348015610190575f5ffd5b506101a461019f366004611377565b6103c2565b005b3480156101b1575f5ffd5b506101a46101c03660046113da565b610430565b3480156101d0575f5ffd5b506101a46101df3660046113fc565b61051a565b3480156101ef575f5ffd5b506101a461083a565b348015610203575f5ffd5b506101a4610212366004611473565b61084d565b348015610222575f5ffd5b5061013e61023136600461132d565b610861565b348015610241575f5ffd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610148565b348015610271575f5ffd5b5061024e6102803660046114cf565b61086d565b348015610290575f5ffd5b506101a461029f366004611473565b610a6b565b3480156102af575f5ffd5b5061024e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e2575f5ffd5b506101a46102f13660046113da565b610a7c565b6101a4610304366004611576565b610a8d565b348015610314575f5ffd5b5061013e60015481565b348015610329575f5ffd5b5060025461024e9061010090046001600160a01b031681565b34801561034d575f5ffd5b506101a461035c3660046113da565b610b6b565b34801561036c575f5ffd5b5060035461024e906001600160a01b031681565b34801561038b575f5ffd5b5061013e61039a36600461132d565b610baa565b5f6103ab848484610bb9565b949350505050565b5f6103ab848484600454610c0f565b806103cc81610c49565b5f5f5f6103db8a8a8a8a610c61565b919450925090506104176001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338386610dbb565b610424838389848a610e28565b50505050505050505050565b610438610fdc565b60025460ff161561045357610453637fd217e360e01b611008565b6001600160a01b0381166104715761047163e6c4247b60e01b611008565b6002546001600160a01b0361010090910481169082160361049c5761049c637fd217e360e01b611008565b600254604080516001600160a01b03808516825261010090930490921660208301527f34baf96e7fcacc94a5a9a7ebc82e37640ca3e68552e21a79f359caf50e2fe2fd910160405180910390a16002805460ff196001600160a01b0390931661010002929092166001600160a81b0319909216919091176001179055565b8061052481610c49565b600254604051630d3c450160e11b81526001600160a01b0386811660048301525f9261010090041690631a788a0290602401602060405180830381865afa158015610571573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059591906115cd565b90505f5f826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f99190611603565b506001600160701b031691506001600160701b031691505f5f8a15610645578c915061062682848661039f565b90508b811015610640576106406342301c2360e01b611008565b61066d565b6106508d8585610861565b91508c90508b82111561066d5761066d63e1b0da4f60e01b611008565b6106826001600160a01b038a16338785610dbb565b60405163135f0f8560e01b815260048101839052602481018290525f604482018190528b151560648301526001600160a01b038a8116608484015290919087169063135f0f859060a4016080604051808303815f875af11580156106e8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070c919061164f565b60408051858152602081018590526001600160701b0393841681830181905292909316606084018190526001600160a01b038f811660808601529151929a509850939650919450888316928d16917fce0f086a8f92779a80758b1d481f2437e363e3c36bb300b37baa5b451b563dfd9181900360a00190a3856001600160a01b0316630d8d7f146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e49190611693565b1561082a57856001600160a01b03168a6001600160a01b03167f3429e50ffcf5595548958b612e8accf95b62580eba87ebb4e372dfe1d0a1edd060405160405180910390a35b5050505050505050505050505050565b610842610fdc565b61084b5f611010565b565b610855610fdc565b61085e8161105f565b50565b5f6103ab8484846110d1565b5f8161087881610c49565b60025460ff1615155f03610896576108966311aa167d60e01b611008565b6108e660405180602001604052805f81525086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092939250506111139050565b156108fb576108fb63acd2208760e01b611008565b5f5f600260019054906101000a90046001600160a01b03166001600160a01b031663a0d6bd518c8c8c8c60035f9054906101000a90046001600160a01b03166004546001546040518863ffffffff1660e01b815260040161096297969594939291906116d6565b6060604051808303815f875af115801561097e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a29190611725565b809350819450829650505050816001600160a01b031663be9a65556040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156109e6575f5ffd5b505af11580156109f8573d5f5f3e3d5ffd5b50505050816001600160a01b0316846001600160a01b0316336001600160a01b03167f1b200b14bbb7bcbc963d70fd0a90564ad0050987f8fe627a2ac1a2e58179c5038e8e8e8e8e8e8a604051610a559796959493929190611766565b60405180910390a4505050979650505050505050565b610a73610fdc565b61085e8161113b565b610a84610fdc565b61085e816111ad565b80610a9781610c49565b5f5f5f610aa6348a8a8a610c61565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004015f604051808303818588803b158015610b05575f5ffd5b505af1158015610b17573d5f5f3e3d5ffd5b50610b539350506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691508390508561125a565b610b60838389848a610e28565b505050505050505050565b610b73610fdc565b6001600160a01b038116610ba157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61085e81611010565b5f6103ab848484600454611290565b5f835f03610bd157610bd1632ca2f52b60e11b611008565b821580610bdc575081155b15610bf157610bf163bb55fd2760e01b611008565b610bfb84846117ca565b610c0583866117dd565b6103ab91906117f4565b5f806103e8610c1e8482611813565b610c2890886117dd565b610c3291906117f4565b9050610c3f818686610bb9565b9695505050505050565b4281101561085e5761085e6331f36aeb60e21b611008565b600254604051630d3c450160e11b81526001600160a01b0383811660048301525f928392839261010090920490911690631a788a0290602401602060405180830381865afa158015610cb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd991906115cd565b90505f5f826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d19573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3d9190611603565b506001600160701b031691506001600160701b031691508615610d8757889450610d688583836103b3565b935087841015610d8257610d826342301c2360e01b611008565b610daf565b610d92898284610baa565b945088935087851115610daf57610daf63e1b0da4f60e01b611008565b50509450945094915050565b6040516001600160a01b038481166024830152838116604483015260648201839052610e229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506112c1565b50505050565b60405163135f0f8560e01b815260048101869052602481018590526001604482018190525f606483018190526001600160a01b038481166084850152909283929183919087169063135f0f859060a4016080604051808303815f875af1158015610e94573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb8919061164f565b60408051858152602081018590526001600160701b0384811682840152831660608201526001600160a01b038b811660808301529151959e50939c50919750955088811692908a16917f8d0aaf9f88a0c8ece371b7250c39e5b2f8ea6338392a3cdd636d0800e24f382c919081900360a00190a3856001600160a01b0316630d8d7f146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f68573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8c9190611693565b15610b6057856001600160a01b0316876001600160a01b03167f3429e50ffcf5595548958b612e8accf95b62580eba87ebb4e372dfe1d0a1edd060405160405180910390a3505050505050505050565b5f546001600160a01b0316331461084b5760405163118cdaa760e01b8152336004820152602401610b98565b805f5260045ffd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b805f0361107657611076632ca2f52b60e11b611008565b600154810361108f5761108f637fd217e360e01b611008565b6001546040805183815260208101929092527ff1f0b60edb879a2358d1a0b88a06c684c37f7f7f36ac223d35d2c135ef42034b910160405180910390a1600155565b5f835f036110e9576110e9632ca2f52b60e11b611008565b8215806110f4575081155b156111095761110963bb55fd2760e01b611008565b610bfb8484611813565b5f81518351148015611132575081805190602001208380519060200120145b90505b92915050565b805f0361115257611152632ca2f52b60e11b611008565b600454810361116b5761116b637fd217e360e01b611008565b6004546040805183815260208101929092527f61312852de43725e4264e8d956247989130cee42a6a07bb5475ed12335609c7b910160405180910390a1600455565b6001600160a01b0381166111cb576111cb63e6c4247b60e01b611008565b6003546001600160a01b03908116908216036111f1576111f1637fd217e360e01b611008565b600354604080516001600160a01b03808516825290921660208301527fa31a0871e96638141a6d14f91d9d806c9f760b3173a8c89cf8ebd42a5654692c910160405180910390a1600380546001600160a01b0319166001600160a01b0392909216919091179055565b6040516001600160a01b0383811660248301526044820183905261128b91859182169063a9059cbb90606401610df0565b505050565b5f5f61129d8686866110d1565b90506112ab836103e8611813565b6112b7826103e86117dd565b610c3f91906117f4565b5f5f60205f8451602086015f885af1806112e0576040513d5f823e3d81fd5b50505f513d915081156112f7578060011415611304565b6001600160a01b0384163b155b15610e2257604051635274afe760e01b81526001600160a01b0385166004820152602401610b98565b5f5f5f6060848603121561133f575f5ffd5b505081359360208301359350604090920135919050565b801515811461085e575f5ffd5b6001600160a01b038116811461085e575f5ffd5b5f5f5f5f5f5f60c0878903121561138c575f5ffd5b863595506020870135945060408701356113a581611356565b935060608701356113b581611363565b925060808701356113c581611363565b9598949750929591949360a090920135925050565b5f602082840312156113ea575f5ffd5b81356113f581611363565b9392505050565b5f5f5f5f5f5f5f60e0888a031215611412575f5ffd5b8735965060208801359550604088013561142b81611356565b9450606088013561143b81611356565b9350608088013561144b81611363565b925060a088013561145b81611363565b96999598509396929591949193505060c09091013590565b5f60208284031215611483575f5ffd5b5035919050565b5f5f83601f84011261149a575f5ffd5b50813567ffffffffffffffff8111156114b1575f5ffd5b6020830191508360208285010111156114c8575f5ffd5b9250929050565b5f5f5f5f5f5f5f6080888a0312156114e5575f5ffd5b873567ffffffffffffffff8111156114fb575f5ffd5b6115078a828b0161148a565b909850965050602088013567ffffffffffffffff811115611526575f5ffd5b6115328a828b0161148a565b909650945050604088013567ffffffffffffffff811115611551575f5ffd5b61155d8a828b0161148a565b989b979a50959894979596606090950135949350505050565b5f5f5f5f5f60a0868803121561158a575f5ffd5b85359450602086013561159c81611356565b935060408601356115ac81611363565b925060608601356115bc81611363565b949793965091946080013592915050565b5f602082840312156115dd575f5ffd5b81516113f581611363565b80516001600160701b03811681146115fe575f5ffd5b919050565b5f5f5f60608486031215611615575f5ffd5b61161e846115e8565b925061162c602085016115e8565b9150604084015163ffffffff81168114611644575f5ffd5b809150509250925092565b5f5f5f5f60808587031215611662575f5ffd5b84516020860151909450925061167a604086016115e8565b9150611688606086016115e8565b905092959194509250565b5f602082840312156116a3575f5ffd5b81516113f581611356565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60a081525f6116e960a08301898b6116ae565b82810360208401526116fc81888a6116ae565b6001600160a01b0396909616604084015250506060810192909252608090910152949350505050565b5f5f5f60608486031215611737575f5ffd5b835161174281611363565b602085015190935061175381611363565b6040949094015192959394509192915050565b608081525f61177960808301898b6116ae565b828103602084015261178c81888a6116ae565b905082810360408401526117a18186886116ae565b91505082606083015298975050505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611135576111356117b6565b8082028115828204841417611135576111356117b6565b5f8261180e57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115611135576111356117b656fea26469706673582212204b1bd2ef86dda54a0da4b70a6ed9418d06b3eac73efa1126bc476a71cd1091b164736f6c634300081c0033000000000000000000000000c11ef92901ab20505f780591faa60bf87f9b963a0000000000000000000000002170ed0880ac9a755fd29b2688956bd959f933f8000000000000000000000000c11ef92901ab20505f780591faa60bf87f9b963a0000000000000000000000000000000000000000000000000000000000000014