// SPDX-License-Identifier: MIT pragma solidity ^0.8.15; import "./ITieredSales.sol"; library TieredSalesStorage { struct Layout { uint256 totalReserved; uint256 reservedMints; mapping(uint256 => ITieredSales.Tier) tiers; mapping(uint256 => uint256) tierMints; mapping(uint256 => mapping(address => uint256)) walletMinted; } bytes32 internal constant STORAGE_SLOT = keccak256("v2.flair.contracts.storage.TieredSales"); function layout() internal pure returns (Layout storage l) { bytes32 slot = STORAGE_SLOT; assembly { l.slot := slot } } }