// SPDX-License-Identifier: Proprietary pragma solidity ^0.7.2; library LibPause { bytes32 constant PAUSE_STORAGE_POSITION = keccak256("gallery.token.nft.LibPause"); struct PauseStorage { bool paused; } function pauseStorage() internal pure returns (PauseStorage storage ps) { bytes32 position = PAUSE_STORAGE_POSITION; assembly { ps.slot := position } } function paused() external view returns (bool isPaused_) { isPaused_ = pauseStorage().paused; } // FIXME: implement setters }