EeseeDrops
EeseeDrops
MintDropReturnParams
struct MintDropReturnParams {
uint96 mintPrice;
uint96 feeAmount;
address earningsCollector;
}
drops
struct IEeseeDrops.Drop[] drops
An array of all existing drops.
ESE
contract IERC20 ESE
ESE token this contract uses.
minter
contract IEeseeMinter minter
Contract that mints NFTs
staking
contract IEeseeStaking staking
Eesee staking contract. Tracks volume for this contract.
fee
uint96 fee
Fee that is collected to {feeSplitter} from each fulfilled drop. [10000 == 100%]
feeSplitter
address feeSplitter
Address the {fee}s are sent to.
listDrop
function listDrop(struct DropMetadata metadata, struct IEeseeNFTDrop.StageOptions[] stages, uint96[] mintPrices, uint32 mintLimit, uint32 mintStartTimestamp, address earningsCollector, uint96 expectedFee) external returns (uint256 ID, contract IERC721 collection)
Deploys new NFT collection and lists it to users for minting. Emits {ListDrop} event.
Parameters
metadata
struct DropMetadata
stages
struct IEeseeNFTDrop.StageOptions[]
- Options for sales stages.
mintPrices
uint96[]
- An array of drop prices for each stage in ESE.
mintLimit
uint32
- Max amount of NFTs that can be minted.
mintStartTimestamp
uint32
- Timestamp when minting starts.
earningsCollector
address
- Address to send NFT sale earnings to.
expectedFee
uint96
- Expected fee for drop lot to avoid race condition with {changeFee}.
Return Values
ID
uint256
- ID of a drop created.
collection
contract IERC721
- Address of NFT collection contract.
mintDrops
function mintDrops(uint256[] IDs, uint32[] quantities, bytes32[][] merkleProofs, address recipient, bytes permit) external returns (uint96 mintPrice)
Mints NFTs from a drop. Emits {MintDrop} event.
Parameters
IDs
uint256[]
- IDs of drops to mint NFTs from.
quantities
uint32[]
- Amounts of NFTs to mint in each drop.
merkleProofs
bytes32[][]
- Merkle proofs for a {recipient} to mint NFTs.
recipient
address
- Address receiving NFT. Note: Must be in a Merkle Tree.
permit
bytes
- Abi-encoded ESE permit data containing approveAmount, deadline, v, r and s. Set to empty bytes to skip permit.
Return Values
mintPrice
uint96
- Amount of ESE tokens spent on minting.
changeFee
function changeFee(uint96 _fee) external
Changes fee. Emits {ChangeFee} event.
Parameters
_fee
uint96
- New fee.
Note: This function can only be called by ADMIN_ROLE.
changeFeeSplitter
function changeFeeSplitter(address _feeSplitter) external
Changes feeSplitter. Emits {ChangeFeeSplitter} event.
Parameters
_feeSplitter
address
- New fee.
Note: This function can only be called by ADMIN_ROLE.
getDropsLength
function getDropsLength() external view returns (uint256 length)
Get length of the drops array.
Return Values
length
uint256
- Length of the drops array.
getMintPrices
function getMintPrices(uint256 ID) external view returns (uint96[])
Returns the mint prices for specified drop.
Parameters
ID
uint256
- ID of drop to check.
Return Values
[0]
uint96[]
mintPrices - NFT Mint prices.
Inherited from EeseeRoleHandler
Inherited from ReentrancyGuard
Inherited from ERC2771Context
isTrustedForwarder
function isTrustedForwarder(address forwarder) public view virtual returns (bool)
Inherited from IEeseeDrops
drops
function drops(uint256) external view returns (uint96 fee, contract IERC721 collection, address earningsCollector)
ESE
function ESE() external view returns (contract IERC20)
staking
function staking() external view returns (contract IEeseeStaking)
minter
function minter() external view returns (contract IEeseeMinter)
fee
function fee() external view returns (uint96)
feeSplitter
function feeSplitter() external view returns (address)
ListDrop
event ListDrop(uint256 ID, contract IERC721 collection, address earningsCollector)
MintDrop
event MintDrop(uint256 ID, contract IERC721 collection, address recipient, uint256 fromTokenID, uint32 quantity, uint96 mintPrice)
AddVolumeReverted
event AddVolumeReverted(uint96 untrackedVolume, address recipient)
CollectFee
event CollectFee(address to, uint96 amount)
ChangeFee
event ChangeFee(uint96 previousFee, uint96 newFee)
ChangeFeeSplitter
event ChangeFeeSplitter(address previousFeeSplitter, address newFeeSplitter)
Last updated