Dagora Power Plus NFT Factory
DagoraFactory__TokenCreationPaused
error DagoraFactory__TokenCreationPaused()
DagoraFactory__InvalidTier
error DagoraFactory__InvalidTier(uint8 tier, uint8 neededTier)
DagoraFactory__NotDAgoraMembershipsOwnerOrDelegate
error DagoraFactory__NotDAgoraMembershipsOwnerOrDelegate()
DagoraFactory__ExpiredMembership
error DagoraFactory__ExpiredMembership()
DagoraPowerPlusNFTFactory
isPaused
bool isPaused
Boolean to determine if the contract is paused.
default value is false, contract is not paused on deployment.
dAgoraMembershipsAddress
address dAgoraMembershipsAddress
The address of the dAgoraMemberships contract.
minPowerNFTATier
uint8 minPowerNFTATier
The minimum tier required to create a Power NFT contract.
contractsDeployed
uint256 contractsDeployed
the count of all the contracts deployed by the factory
PowerPlusNFTACreated
event PowerPlusNFTACreated(address newContractAddress, address ownerOF)
The event emitted when a PowerNFTA contract is created.
userContracts
mapping(address => address[]) userContracts
initialize
function initialize(address _dAgoraMembershipsAddress) public
isNotPaused
modifier isNotPaused()
Modifier to check if the contract is paused.
Reverts if the contract is paused.
canCreate
modifier canCreate(uint256 tokenId, uint8 neededTier)
Modifier to check if the user can create a contract.
Reverts if the user membership tier is not high enough, if the membership is expired, and if the user is not owner of tokenId.
Parameters
tokenId
uint256
The id of the users membership tokenId.
neededTier
uint8
The tier required to create the Contract.
createPowerPlusNFT
function createPowerPlusNFT(struct PowerPlusNFT.Params params, uint256 _id) public
Function to create a PowerNFTA contract.
Reverts if the new owner is 0 address, if the royalty recipient is 0 address, if the max total supply is 0, if the bulk buy limit is 0, if the max allow list amount is 0, if the bulk buy limit is greater than the max total supply, if the max allow list amount is greater than the max total supply, and if the merkle root is 0.
Parameters
params
struct PowerPlusNFT.Params
The struct containing the parameters for the PowerNFTA contract.
_id
uint256
The id of the users membership tokenId.
getUserContracts
function getUserContracts(address _user) external view returns (address[])
togglePaused
function togglePaused() external
setMinPowerNFTATier
function setMinPowerNFTATier(uint8 _minPowerNFTATier) external
_canCreate
function _canCreate(uint256 _id, uint8 _neededTier) internal view returns (bool)
Internal function that checks if a address owns or is a delegate of a membership, and if the membership is valid, and if the membership tier is high enough.
Parameters
_id
uint256
The id of the users membership tokenId.
_neededTier
uint8
The minimum membership tier required to create a contract.
Return Values
[0]
bool
bool True or False.
Last updated
Was this helpful?