Contracts Documentation - HemantMadnani/MyContracts GitHub Wiki

Token contracts

* DetailedERC20:

This contract is used to directly give the name, symbol, and decimals for the token to avoid declaring the variables for it.

* MintableToken:

This contract is used to provide mint(generate) tokens functionality to some specific address. It is generally used to increase the number of tokens available in the market.

* BurnableToken:

This contract is just the opposite of mintableToken. It is used to destroy the number of tokens to some specific address. Burnable amount of token is reflected in totalSupply of the token available in the market.

* CappedToken:

This contract is used to give the limit/cap to the number of tokens to be mint. That means only X amount of tokens can be minted.

* PausableToken:

This contract is used to pause/unpause the transfer, transferfrom functionality in a token.

* RBACMintable Token:

This contract is used to add mint functionality in the token also provide the way to add a user who can have mint privileges to mint the tokens.

* TokenTimeLock Token:

TokenTimelock is a token holder contract that will allow a beneficiary to extract the tokens after a given release time. That means a user can only withdraw their tokens after the release time.

* StandardBurnable Token:

This contract is similar to that of Burnable Token but adds the functionality of burn token from a specified address.



CrowdSale Contracts

* FinalizableCrowdSale:

This contract is used to apply some of our personal logic before initiating the crowdsale.

* PostDeliveryCrowdSale:

This contract is used to apply the provision that user will get the tokens after the end of the sale, not immediately the user sends the ETH to contract address.

* RefundableCrowdSale:

This contract is used to apply the provision that user will get their ETH back if the funding goal is not reached.

* AllowanceCrowdSale:

This contract is used to allow crowdsale contract the approvance of tokens to be spent on behalf of owner @ the time of Sale.

* MintedCrowdSale:

This contract is used to apply the provision that respected amount of tokens to be mined according to the ETH spend by the user to crowdsale address.

* IncreasingPriceCrowdSale:

This contract is used to set the price of a token at different intervals of the CrowdSale.

* WhitelistedCrowdSale:

This contract is used to set the rule that only whitelisted addresses/users can participate in Crowdsale. This is used generally in the case of KYC/AML tasks.

* TimedCrowdsale:

This contract is used to set the opening time and closing time of the CrowdSale.

* CappedCrowdsale:

This contract is used to restrict users to buy a specific amount of tokens only.

* IndividuallyCappedCrowdsale:

This contract is used to restrict a particular user to buy a specific amount of tokens only.