Skip to main content

CrowdfundFactory

Factory used to deploys new proxified Crowdfund instances.

Code

CrowdfundFactory.sol

Functions

createBuyCrowdfund

Create a new crowdfund to purchase a specific NFT (i.e., with a known token ID) listing for a known price.

function createBuyCrowdfund(
BuyCrowdfund crowdfundImpl,
BuyCrowdfund.BuyCrowdfundOptions memory opts,
bytes memory createGateCallData
) public payable returns (BuyCrowdfund inst);

Parameters

NameTypeDescription
crowdfundImplBuyCrowdfundThe implementation contract of the crowdfund to create.
optsBuyCrowdfund.BuyCrowdfundOptionsOptions used to initialize the crowdfund. These are fixed and cannot be changed later.
createGateCallDatabytesEncoded calldata used by createGate() to create the crowdfund if one is specified in opts.

createAuctionCrowdfund

Create a new crowdfund to bid on an auction for a specific NFT (i.e. with a known token ID).

function createAuctionCrowdfund(
AuctionCrowdfund crowdfundImpl,
AuctionCrowdfundBase.AuctionCrowdfundOptions memory opts,
bytes memory createGateCallData
) public payable returns (AuctionCrowdfund inst);

Parameters

NameTypeDescription
crowdfundImplAuctionCrowdfundThe implementation contract of the crowdfund to create.
optsAuctionCrowdfundBase.AuctionCrowdfundOptionsOptions used to initialize the crowdfund. These are fixed and cannot be changed later.
createGateCallDatabytesEncoded calldata used by createGate() to create the crowdfund if one is specified in opts.

createRollingAuctionCrowdfund

Create a new crowdfund to bid on an auctions for an NFT from a collection on a market (e.g. Nouns).

function createRollingAuctionCrowdfund(
RollingAuctionCrowdfund crowdfundImpl,
AuctionCrowdfundBase.AuctionCrowdfundOptions memory opts,
bytes32 allowedAuctionsMerkleRoot,
bytes memory createGateCallData
) public payable returns (RollingAuctionCrowdfund inst);

Parameters

NameTypeDescription
crowdfundImplRollingAuctionCrowdfundThe implementation contract of the crowdfund to create.
optsAuctionCrowdfundBase.AuctionCrowdfundOptionsOptions used to initialize the crowdfund. These are fixed and cannot be changed later.
allowedAuctionsMerkleRootbytes32
createGateCallDatabytesEncoded calldata used by createGate() to create the crowdfund if one is specified in opts.

createCollectionBuyCrowdfund

Create a new crowdfund to purchases any NFT from a collection (i.e. any token ID) from a collection for a known price.

function createCollectionBuyCrowdfund(
CollectionBuyCrowdfund crowdfundImpl,
CollectionBuyCrowdfund.CollectionBuyCrowdfundOptions memory opts,
bytes memory createGateCallData
) public payable returns (CollectionBuyCrowdfund inst);

Parameters

NameTypeDescription
crowdfundImplCollectionBuyCrowdfund
optsCollectionBuyCrowdfund.CollectionBuyCrowdfundOptionsOptions used to initialize the crowdfund. These are fixed and cannot be changed later.
createGateCallDatabytesEncoded calldata used by createGate() to create the crowdfund if one is specified in opts.

createCollectionBatchBuyCrowdfund

Create a new crowdfund to purchase multiple NFTs from a collection (i.e. any token ID) from a collection for known prices.

function createCollectionBatchBuyCrowdfund(
CollectionBatchBuyCrowdfund crowdfundImpl,
CollectionBatchBuyCrowdfund.CollectionBatchBuyCrowdfundOptions memory opts,
bytes memory createGateCallData
) public payable returns (CollectionBatchBuyCrowdfund inst);

Parameters

NameTypeDescription
crowdfundImplCollectionBatchBuyCrowdfund
optsCollectionBatchBuyCrowdfund.CollectionBatchBuyCrowdfundOptionsOptions used to initialize the crowdfund. These are fixed and cannot be changed later.
createGateCallDatabytesEncoded calldata used by createGate() to create the crowdfund if one is specified in opts.

createInitialETHCrowdfund

Create a new crowdfund to raise ETH for a new party.

function createInitialETHCrowdfund(
InitialETHCrowdfund crowdfundImpl,
InitialETHCrowdfund.InitialETHCrowdfundOptions memory crowdfundOpts,
InitialETHCrowdfund.ETHPartyOptions memory partyOpts,
bytes memory createGateCallData
) public payable returns (InitialETHCrowdfund inst);

Parameters

NameTypeDescription
crowdfundImplInitialETHCrowdfundThe implementation contract of the crowdfund to create.
crowdfundOptsInitialETHCrowdfund.InitialETHCrowdfundOptionsOptions used to initialize the crowdfund. These are fixed and cannot be changed later.
partyOptsInitialETHCrowdfund.ETHPartyOptionsOptions used to initialize the party created by the crowdfund. These are fixed and cannot be changed later.
createGateCallDatabytesEncoded calldata used by createGate() to create the crowdfund if one is specified in opts.