IDropERC20_V2
Thirdweb's 'Drop' contracts are distribution mechanisms for tokens. The DropERC20
contract is a distribution mechanism for ERC20 tokens. A contract admin (i.e. holder of DEFAULT_ADMIN_ROLE
) can create claim conditions with non-overlapping time windows, and accounts can claim the tokens according to restrictions defined in the claim condition that is active at the time of the transaction.
Methods
allowance
function allowance(address owner, address spender) external view returns (uint256)
Returns the remaining number of tokens that spender
will be allowed to spend on behalf of owner
through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.
Parameters
owner
address
undefined
spender
address
undefined
Returns
_0
uint256
undefined
approve
function approve(address spender, uint256 amount) external nonpayable returns (bool)
Sets amount
as the allowance of spender
over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.
Parameters
spender
address
undefined
amount
uint256
undefined
Returns
_0
bool
undefined
balanceOf
function balanceOf(address account) external view returns (uint256)
Returns the amount of tokens owned by account
.
Parameters
account
address
undefined
Returns
_0
uint256
undefined
claim
function claim(address receiver, uint256 quantity, address currency, uint256 pricePerToken, bytes32[] proofs, uint256 proofMaxQuantityPerTransaction) external payable
Lets an account claim a given quantity of tokens.
Parameters
receiver
address
The receiver of the tokens to claim.
quantity
uint256
The quantity of tokens to claim.
currency
address
The currency in which to pay for the claim.
pricePerToken
uint256
The price per token (i.e. price per 1 ether unit of the token) to pay for the claim.
proofs
bytes32[]
The proof of the claimer's inclusion in the merkle root allowlist of the claim conditions that apply.
proofMaxQuantityPerTransaction
uint256
(Optional) The maximum number of tokens an address included in an allowlist can claim.
setClaimConditions
function setClaimConditions(IDropClaimCondition_V2.ClaimCondition[] phases, bool resetClaimEligibility) external nonpayable
Parameters
phases
IDropClaimCondition_V2.ClaimCondition[]
undefined
resetClaimEligibility
bool
undefined
totalSupply
function totalSupply() external view returns (uint256)
Returns the amount of tokens in existence.
Returns
_0
uint256
undefined
transfer
function transfer(address to, uint256 amount) external nonpayable returns (bool)
Moves amount
tokens from the caller's account to to
. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.
Parameters
to
address
undefined
amount
uint256
undefined
Returns
_0
bool
undefined
transferFrom
function transferFrom(address from, address to, uint256 amount) external nonpayable returns (bool)
Moves amount
tokens from from
to to
using the allowance mechanism. amount
is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.
Parameters
from
address
undefined
to
address
undefined
amount
uint256
undefined
Returns
_0
bool
undefined
Events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Parameters
owner indexed
address
undefined
spender indexed
address
undefined
value
uint256
undefined
ClaimConditionsUpdated
event ClaimConditionsUpdated(IDropClaimCondition_V2.ClaimCondition[] claimConditions)
Emitted when new claim conditions are set.
Parameters
claimConditions
IDropClaimCondition_V2.ClaimCondition[]
undefined
ContractURIUpdated
event ContractURIUpdated(string prevURI, string newURI)
Emitted when the contract URI is updated.
Parameters
prevURI
string
undefined
newURI
string
undefined
MaxTotalSupplyUpdated
event MaxTotalSupplyUpdated(uint256 maxTotalSupply)
Emitted when the global max supply of tokens is updated.
Parameters
maxTotalSupply
uint256
undefined
MaxWalletClaimCountUpdated
event MaxWalletClaimCountUpdated(uint256 count)
Emitted when the global max wallet claim count is updated.
Parameters
count
uint256
undefined
TokensClaimed
event TokensClaimed(uint256 indexed claimConditionIndex, address indexed claimer, address indexed receiver, uint256 quantityClaimed)
Emitted when tokens are claimed.
Parameters
claimConditionIndex indexed
uint256
undefined
claimer indexed
address
undefined
receiver indexed
address
undefined
quantityClaimed
uint256
undefined
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Parameters
from indexed
address
undefined
to indexed
address
undefined
value
uint256
undefined
WalletClaimCountUpdated
event WalletClaimCountUpdated(address indexed wallet, uint256 count)
Emitted when the wallet claim count for an address is updated.
Parameters
wallet indexed
address
undefined
count
uint256
undefined
Last updated