3 txs
4 calls
constructor
constructor(address _owner, address _fxToken, address _weth, address _admin, address _renderer, address _tokenLaunchpad)
functions
admin
viewfunction admin() view returns (address)
fxToken
viewfunction fxToken() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pausedSelectors
viewfunction pausedSelectors(bytes4) view returns (bool)
projectId
viewfunction projectId() view returns (uint256)
projects
viewfunction projects(uint256) view returns (address)
renderer
viewfunction renderer() view returns (address)
tokenLaunchpad
viewfunction tokenLaunchpad() view returns (address)
weth
viewfunction weth() view returns (address)
createProject
nonpayablefunction createProject(string _name, string _symbol, address _creatorToken, address _owner, string _baseURI, tuple _mintInfo, uint256[] _tagIds, uint256 _mintFee) returns (address projectToken)
launchTokenAndCreateProject
nonpayablefunction launchTokenAndCreateProject(string _name, string _symbol, address _owner, string _baseURI, tuple _mintInfo, uint256[] _tagIds, uint256 _fxAmount, uint256 _mintFee, string _contractURI) returns (address projectToken, address creatorToken)
pause
nonpayablefunction pause()
pauseSelector
nonpayablefunction pauseSelector(bytes4 _selector)
renounceOwnership
nonpayablefunction renounceOwnership()
setAdmin
nonpayablefunction setAdmin(address _admin)
setRenderer
nonpayablefunction setRenderer(address _renderer)
setTokenLaunchpad
nonpayablefunction setTokenLaunchpad(address _tokenLaunchpad)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
unpauseSelector
nonpayablefunction unpauseSelector(bytes4 _selector)
events
AdminUpdated
event AdminUpdated(address indexed oldAdmin, address indexed newAdmin)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
ProjectCreated
event ProjectCreated(uint256 indexed projectId, address indexed projectToken, address indexed creatorToken, address creator, string name)
RendererUpdated
event RendererUpdated(address indexed oldRenderer, address indexed newRenderer)
SelectorPaused
event SelectorPaused(bytes4 indexed selector)
SelectorUnpaused
event SelectorUnpaused(bytes4 indexed selector)
TokenLaunchpadUpdated
event TokenLaunchpadUpdated(address indexed oldTokenLaunchpad, address indexed newTokenLaunchpad)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ProjectFactory__NotCreator
error ProjectFactory__NotCreator()
ProjectFactory__ZeroAddress
error ProjectFactory__ZeroAddress()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SelectorNotPausedError
error SelectorNotPausedError(bytes4 selector)
SelectorPausedError
error SelectorPausedError(bytes4 selector)
creation bytecode
0x60c060405234801561000f575f5ffd5b5060405161182c38038061182c83398101604081905261002e91610413565b856001600160a01b03811661005d57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610066816100d3565b505f805460ff60a01b191690556001600160a01b03851661009a576040516336db2d3360e11b815260040160405180910390fd5b6001600160a01b03808616608052841660a0526100b683610122565b6100bf8261017c565b6100c8816101d6565b505050505050610483565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61012b81610255565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b905f90a35050565b61018581610255565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f10e9b6d73105db46c6a41a698f35efb8e1688178fe274b7b21f0bdc792de3ea5905f90a35050565b6101df81610255565b600480546001600160a01b038381166001600160a01b0319831617909255608051908216916102119116835f1961027f565b816001600160a01b0316816001600160a01b03167f493b7d42a85e34d10d0dcd16d240c51b21480abedb225be003d78ef585243c1660405160405180910390a35050565b6001600160a01b03811661027c576040516336db2d3360e11b815260040160405180910390fd5b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526102d7908590839061034316565b61033d57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915261033391869161038c16565b61033d848261038c565b50505050565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015610382575081156103745780600114610382565b5f866001600160a01b03163b115b9695505050505050565b5f5f60205f8451602086015f885af1806103ab576040513d5f823e3d81fd5b50505f513d915081156103c25780600114156103cf565b6001600160a01b0384163b155b1561033d57604051635274afe760e01b81526001600160a01b0385166004820152602401610054565b80516001600160a01b038116811461040e575f5ffd5b919050565b5f5f5f5f5f5f60c08789031215610428575f5ffd5b610431876103f8565b955061043f602088016103f8565b945061044d604088016103f8565b935061045b606088016103f8565b9250610469608088016103f8565b915061047760a088016103f8565b90509295509295509295565b60805160a0516113736104b95f395f81816101fa01526108b001525f81816101720152818161039d01526106bf01526113735ff3fe608060405234801561000f575f5ffd5b5060043610610132575f3560e01c80635c975abb116100b45780638ada6b0f116100795780638ada6b0f146102cf5780638da5cb5b146102e2578063983b115c146102f2578063e81484f714610305578063f2fde38b14610318578063f851a4401461032b575f5ffd5b80635c975abb146102685780636de508f314610279578063704b6c02146102ac578063715018a6146102bf5780638456cb59146102c7575f5ffd5b80633fc8cef3116100fa5780633fc8cef3146101f557806341d3b1801461021c57806351a9e5a41461022f57806356d3163d146102425780635bb3b88a14610255575f5ffd5b806303f13e2514610136578063084ed2161461016d578063107046bd146101ac5780633f4ba83a146101d45780633fafa127146101de575b5f5ffd5b610158610144366004610d93565b60016020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610164565b6101946101ba366004610dc1565b60066020525f90815260409020546001600160a01b031681565b6101dc61033e565b005b6101e760055481565b604051908152602001610164565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6101dc61022a366004610d93565b610350565b6101dc61023d366004610dfc565b610364565b6101dc610250366004610dfc565b610375565b600454610194906001600160a01b031681565b5f54600160a01b900460ff16610158565b61028c610287366004610f87565b610386565b604080516001600160a01b03938416815292909116602083015201610164565b6101dc6102ba366004610dfc565b610472565b6101dc610483565b6101dc610494565b600354610194906001600160a01b031681565b5f546001600160a01b0316610194565b6101dc610300366004610d93565b6104a4565b61019461031336600461109a565b6104b5565b6101dc610326366004610dfc565b610578565b600254610194906001600160a01b031681565b6103466105b7565b61034e6105e3565b565b6103586105b7565b61036181610637565b50565b61036c6105b7565b6103618161068f565b61037d6105b7565b6103618161072b565b5f5f610390610785565b6103c56001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886107a1565b6103d18b8b878661080e565b600480546040516314c7ce0160e31b81526001600160a01b03808516938201939093529293505f9291169063a63e700890602401602060405180830381865afa158015610420573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610444919061118d565b90506104568c8c838d8d8d8d8c610890565b925061046383828e610970565b50995099975050505050505050565b61047a6105b7565b61036181610a0d565b61048b6105b7565b61034e5f610a67565b61049c6105b7565b61034e610ab6565b6104ac6105b7565b61036181610af8565b5f6104be610785565b336001600160a01b0316876001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610528919061118d565b6001600160a01b03161461054f5760405163c69a6d1360e01b815260040160405180910390fd5b61055f8989898989898989610890565b905061056c81888b610970565b98975050505050505050565b6105806105b7565b6001600160a01b0381166105ae57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61036181610a67565b5f546001600160a01b0316331461034e5760405163118cdaa760e01b81523360048201526024016105a5565b6105eb610b4a565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b61064081610b73565b6001600160e01b031981165f818152600160208190526040808320805460ff1916909217909155517f0e537dd2f63ec58dc3739dffa33dcf389cf602fbfc51cf36546d7b07af7df41e9190a250565b61069881610bb9565b600480546001600160a01b038381166001600160a01b03198316179092558116906106e7907f000000000000000000000000000000000000000000000000000000000000000016835f19610be0565b816001600160a01b0316816001600160a01b03167f493b7d42a85e34d10d0dcd16d240c51b21480abedb225be003d78ef585243c1660405160405180910390a35050565b61073481610bb9565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f10e9b6d73105db46c6a41a698f35efb8e1688178fe274b7b21f0bdc792de3ea5905f90a35050565b61078d610c6f565b61034e5f356001600160e01b031916610b73565b6040516001600160a01b0384811660248301528381166044830152606482018390526108089186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610c99565b50505050565b6004805460405163067d3ca360e51b81525f926001600160a01b039092169163cfa79460916108479133918a918a918a918a91016111d6565b6020604051808303815f875af1158015610863573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610887919061118d565b95945050505050565b5f7340d96a89fc3db142b56998ffd54ba943ebdfe05f63c61906508a8a8a7f000000000000000000000000000000000000000000000000000000000000000060025f9054906101000a90046001600160a01b03168c8c60035f9054906101000a90046001600160a01b03168c8e8d6040518c63ffffffff1660e01b81526004016109249b9a9998979695949392919061125f565b602060405180830381865af415801561093f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610963919061118d565b9998505050505050505050565b8260065f60055f815461098290611317565b91905081905581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b0316836001600160a01b03166005547f3d59b9cfc9f2e35bf1ff6560c71d2b0d9c228d41ab7fb968b62513a986a3dad03385604051610a0092919061133b565b60405180910390a4505050565b610a1681610bb9565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b905f90a35050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610abe610785565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861061a3390565b610b0181610d05565b6001600160e01b031981165f81815260016020526040808220805460ff19169055517f2727e23868bf9fbf6f8140b8ae0ddca078eb0c3cb157939f35724bcaf7de6fae9190a250565b5f54600160a01b900460ff1661034e57604051638dfc202b60e01b815260040160405180910390fd5b6001600160e01b031981165f9081526001602052604090205460ff161561036157604051639b3eea4f60e01b81526001600160e01b0319821660048201526024016105a5565b6001600160a01b038116610361576040516336db2d3360e11b815260040160405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c318482610d4a565b610808576040516001600160a01b0384811660248301525f6044830152610c6591869182169063095ea7b3906064016107d6565b6108088482610c99565b5f54600160a01b900460ff161561034e5760405163d93c066560e01b815260040160405180910390fd5b5f5f60205f8451602086015f885af180610cb8576040513d5f823e3d81fd5b50505f513d91508115610ccf578060011415610cdc565b6001600160a01b0384163b155b1561080857604051635274afe760e01b81526001600160a01b03851660048201526024016105a5565b6001600160e01b031981165f9081526001602052604090205460ff1661036157604051631d7e88d160e21b81526001600160e01b0319821660048201526024016105a5565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015610d8957508115610d7b5780600114610d89565b5f866001600160a01b03163b115b9695505050505050565b5f60208284031215610da3575f5ffd5b81356001600160e01b031981168114610dba575f5ffd5b9392505050565b5f60208284031215610dd1575f5ffd5b5035919050565b6001600160a01b0381168114610361575f5ffd5b8035610df781610dd8565b919050565b5f60208284031215610e0c575f5ffd5b8135610dba81610dd8565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610e5357610e53610e17565b604052919050565b5f82601f830112610e6a575f5ffd5b81356001600160401b03811115610e8357610e83610e17565b610e96601f8201601f1916602001610e2b565b818152846020838601011115610eaa575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60408284031215610ed6575f5ffd5b604080519081016001600160401b0381118282101715610ef857610ef8610e17565b604052823581526020928301359281019290925250919050565b5f82601f830112610f21575f5ffd5b81356001600160401b03811115610f3a57610f3a610e17565b8060051b610f4a60208201610e2b565b91825260208185018101929081019086841115610f65575f5ffd5b6020860192505b83831015610d89578235825260209283019290910190610f6c565b5f5f5f5f5f5f5f5f5f6101408a8c031215610fa0575f5ffd5b89356001600160401b03811115610fb5575f5ffd5b610fc18c828d01610e5b565b99505060208a01356001600160401b03811115610fdc575f5ffd5b610fe88c828d01610e5b565b985050610ff760408b01610dec565b965060608a01356001600160401b03811115611011575f5ffd5b61101d8c828d01610e5b565b96505061102d8b60808c01610ec6565b945060c08a01356001600160401b03811115611047575f5ffd5b6110538c828d01610f12565b94505060e08a013592506101008a013591506101208a01356001600160401b0381111561107e575f5ffd5b61108a8c828d01610e5b565b9150509295985092959850929598565b5f5f5f5f5f5f5f5f610120898b0312156110b2575f5ffd5b88356001600160401b038111156110c7575f5ffd5b6110d38b828c01610e5b565b98505060208901356001600160401b038111156110ee575f5ffd5b6110fa8b828c01610e5b565b97505061110960408a01610dec565b955061111760608a01610dec565b945060808901356001600160401b03811115611131575f5ffd5b61113d8b828c01610e5b565b94505061114d8a60a08b01610ec6565b925060e08901356001600160401b03811115611167575f5ffd5b6111738b828c01610f12565b989b979a5095989497939692955092936101000135925050565b5f6020828403121561119d575f5ffd5b8151610dba81610dd8565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038616815260a0602082018190525f906111f9908301876111a8565b828103604084015261120b81876111a8565b9050846060840152828103608084015261056c81856111a8565b5f8151808452602084019350602083015f5b82811015611255578151865260209586019590910190600101611237565b5093949350505050565b61018081525f61127361018083018e6111a8565b8281036020840152611285818e6111a8565b6001600160a01b038d811660408601528c811660608601528b811660808601528a1660a0850152905082810360c08401526112c081896111a8565b6001600160a01b03881660e085015290508281036101008401526112e48187611225565b8551610120850152602086015161014085015291506113009050565b826101608301529c9b505050505050505050505050565b5f6001820161133457634e487b7160e01b5f52601160045260245ffd5b5060010190565b6001600160a01b03831681526040602082018190525f9061135e908301846111a8565b94935050505056fea164736f6c634300081b000a0000000000000000000000000e7de56cbf04719f5910e845885eb925a1cc39e0000000000000000000000000d78cac09f62d19eec389f1c5eafe02dcb6f6dd4300000000000000000000000042000000000000000000000000000000000000060000000000000000000000000e7de56cbf04719f5910e845885eb925a1cc39e00000000000000000000000009c4cc8403be33b89a46794ae409ce634ca56795600000000000000000000000071bd7646a1b8cb86dbec97ea59e25a7f3f2097b6