# DynamicPricePresaleListExtension [Git Source](https://github.com/buildship-dev/nft-contracts/blob/fd1c33a9dbefe42158dfc60d10c0afde05c713aa/contracts/extensions/DynamicPricePresaleListExtension.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), [LimitedSupply](/wiki/src/contracts/extensions/base/LimitedSupply.sol/contract.LimitedSupply.md) ## State Variables ### pricePerOne ```solidity uint256 public pricePerOne; ``` ### 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 _pricePerOne, uint256 _maxPerAddress, uint256 _extensionSupply ) NFTExtension(_nft) SaleControl LimitedSupply(_extensionSupply); ``` ### price ```solidity function price(uint256 nTokens) public view returns (uint256); ``` ### 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 whenLimitedSupplyNotReached(nTokens); ``` ### isWhitelisted ```solidity function isWhitelisted(bytes32 root, address receiver, bytes32[] memory proof) public pure returns (bool); ```