Factory
Inherits: ERC721, Owned
Author: out.eth (@outdoteth)
This contract is used to create and initialize new private pools. Each time a private pool is created, a new NFT representing that private pool is minted to the creator. All protocol fees also accrue to this contract and can be withdrawn by the admin.
State Variables
privatePoolImplementation
The address of the private pool implementation that proxies point to.
privatePoolMetadata
Helper contract that constructs the private pool metadata svg and json for each pool NFT.
protocolFeeRate
The protocol fee that is taken on each buy/sell/change. It's in basis points: 350 = 3.5%.
Functions
constructor
receive
create
Creates a new private pool using the minimal proxy pattern that points to the private pool implementation. The caller must approve the factory to transfer the NFTs that will be deposited to the pool.
Parameters
Returns
predictPoolDeploymentAddress
Predicts the deployment address of a new private pool.
Parameters
Returns
setPrivatePoolMetadata
Sets private pool metadata contract.
Parameters
setPrivatePoolImplementation
Sets the private pool implementation contract that newly deployed proxies point to.
Parameters
setProtocolFeeRate
Sets the protocol fee that is taken on each buy/sell/change. It's in basis points: 350 = 3.5%.
Parameters
withdraw
Withdraws the earned protocol fees.
Parameters
tokenURI
Returns the token URI for a given token id.
Parameters
Returns
Events
Create
Withdraw
Last updated