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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

mintPrice

uint96

- Amount of ESE tokens spent on minting.

changeFee

function changeFee(uint96 _fee) external

Changes fee. Emits {ChangeFee} event.

Parameters

Name
Type
Description

_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

Name
Type
Description

_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

Name
Type
Description

length

uint256

- Length of the drops array.

getMintPrices

function getMintPrices(uint256 ID) external view returns (uint96[])

Returns the mint prices for specified drop.

Parameters

Name
Type
Description

ID

uint256

- ID of drop to check.

Return Values

Name
Type
Description

[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