IDropERC20
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
| Name | Type | Description |
|---|
| owner | address | undefined |
| spender | address | undefined |
Returns
| Name | Type | Description |
|---|
| _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
| Name | Type | Description |
|---|
| spender | address | undefined |
| amount | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
balanceOf
function balanceOf(address account) external view returns (uint256)
Returns the amount of tokens owned by account.
Parameters
| Name | Type | Description |
|---|
| account | address | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | uint256 | undefined |
claim
function claim(address receiver, uint256 quantity, address currency, uint256 pricePerToken, IDropERC20.AllowlistProof allowlistProof, bytes data) external payable
Parameters
| Name | Type | Description |
|---|
| receiver | address | undefined |
| quantity | uint256 | undefined |
| currency | address | undefined |
| pricePerToken | uint256 | undefined |
| allowlistProof | IDropERC20.AllowlistProof | undefined |
| data | bytes | undefined |
setClaimConditions
function setClaimConditions(IDropClaimCondition.ClaimCondition[] phases, bool resetClaimEligibility) external nonpayable
Parameters
| Name | Type | Description |
|---|
| phases | IDropClaimCondition.ClaimCondition[] | undefined |
| resetClaimEligibility | bool | undefined |
totalSupply
function totalSupply() external view returns (uint256)
Returns the amount of tokens in existence.
Returns
| Name | Type | Description |
|---|
| _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
| Name | Type | Description |
|---|
| to | address | undefined |
| amount | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _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
| Name | Type | Description |
|---|
| from | address | undefined |
| to | address | undefined |
| amount | uint256 | undefined |
Returns
| Name | Type | Description |
|---|
| _0 | bool | undefined |
Events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Parameters
| Name | Type | Description |
|---|
owner indexed | address | undefined |
spender indexed | address | undefined |
| value | uint256 | undefined |
ClaimConditionsUpdated
event ClaimConditionsUpdated(IDropClaimCondition.ClaimCondition[] claimConditions)
Emitted when new claim conditions are set.
Parameters
| Name | Type | Description |
|---|
| claimConditions | IDropClaimCondition.ClaimCondition[] | undefined |
ContractURIUpdated
event ContractURIUpdated(string prevURI, string newURI)
Emitted when the contract URI is updated.
Parameters
| Name | Type | Description |
|---|
| prevURI | string | undefined |
| newURI | string | undefined |
MaxTotalSupplyUpdated
event MaxTotalSupplyUpdated(uint256 maxTotalSupply)
Emitted when the global max supply of tokens is updated.
Parameters
| Name | Type | Description |
|---|
| maxTotalSupply | uint256 | undefined |
TokensClaimed
event TokensClaimed(uint256 indexed claimConditionIndex, address indexed claimer, address indexed receiver, uint256 quantityClaimed)
Emitted when tokens are claimed.
Parameters
| Name | Type | Description |
|---|
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
| Name | Type | Description |
|---|
from indexed | address | undefined |
to indexed | address | undefined |
| value | uint256 | undefined |