Dagora Power 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()
DagoraPowerNFTFactory
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
PowerNFTACreated
event PowerNFTACreated(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.
createPowerNFT
function createPowerNFT(string name_, string symbol_, string baseURI_, uint16 _bulkBuyLimit, uint96 _royaltyBps, uint256 _mintCost, uint256 _maxSupply, address _royaltyRecipient, address _newOwner, uint256 _id) public
Function to create a PowerNFTA contract.
Creates a PowerNFTA contract, and emits an event.
Parameters
name_
string
The name of the contract.
symbol_
string
The symbol of the contract.
baseURI_
string
The baseURI of the contract.
_bulkBuyLimit
uint16
The bulk buy limit of the contract.
_royaltyBps
uint96
The royalty bps of the contract.
_mintCost
uint256
The mint cost of the contract.
_maxSupply
uint256
The max total supply of the contract.
_royaltyRecipient
address
The royalty recipient of the contract.
_newOwner
address
The new owner of the 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?