# PresaleListExtension [Git Source](https://github.com/buildship-dev/nft-contracts/blob/fd1c33a9dbefe42158dfc60d10c0afde05c713aa/contracts/extensions/PresaleListExtension.sol) **Inherits:** [NFTExtension](/wiki/src/contracts/extensions/base/NFTExtension.sol/contract.NFTExtension.md), Ownable, [SaleControl](/wiki/src/contracts/extensions/base/SaleControl.sol/contract.SaleControl.md) ## State Variables ### price ```solidity uint256 public price; ``` ### maxPerAddress ```solidity uint256 public maxPerAddress; ``` ### whitelistRoot ```solidity bytes32 public whitelistRoot; ``` ### claimedByAddress ```solidity mapping(address => uint256) public claimedByAddress; ``` ## Functions ### constructor ```solidity constructor(address _nft, bytes32 _whitelistRoot, uint256 _price, uint256 _maxPerAddress) NFTExtension(_nft) SaleControl; ``` ### updatePrice ```solidity function updatePrice(uint256 _price) public onlyOwner; ``` ### updateMaxPerAddress ```solidity function updateMaxPerAddress(uint256 _maxPerAddress) public onlyOwner; ``` ### updateWhitelistRoot ```solidity function updateWhitelistRoot(bytes32 _whitelistRoot) public onlyOwner; ``` ### mint ```solidity function mint(uint256 nTokens, bytes32[] memory proof) external payable whenSaleStarted; ``` ### isWhitelisted ```solidity function isWhitelisted(bytes32 root, address receiver, bytes32[] memory proof) public pure returns (bool); ```