# OffchainAllowlistExtension [Git Source](https://github.com/buildship-dev/nft-contracts/blob/fd1c33a9dbefe42158dfc60d10c0afde05c713aa/contracts/extensions/OffchainAllowlistExtension.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 ### price ```solidity uint256 public price; ``` ### signer ```solidity address public signer; ``` ### claimedByAddress ```solidity mapping(address => uint256) public claimedByAddress; ``` ## Functions ### constructor ```solidity constructor(address _nft, address _signer, uint256 _price, uint256 _extensionSupply) NFTExtension(_nft) SaleControl LimitedSupply(_extensionSupply); ``` ### updatePrice ```solidity function updatePrice(uint256 _price) public onlyOwner; ``` ### updateSigner ```solidity function updateSigner(address _signer) public onlyOwner; ``` ### mint ```solidity function mint(uint256 amount, SignedAllowance calldata allowance) external payable whenSaleStarted; ``` ### isValid ```solidity function isValid(SignedAllowance calldata allowance) public view returns (bool); ``` ### calculateDigest ```solidity function calculateDigest(address receiver, OffchainAllowlistExtension extension, uint96 amount) public pure returns (bytes32); ```