Files
zeekay c778d7405b feat: Extract zoo.fund from monorepo
- Full app extraction from zoo monorepo (source only)
- Configured for GitHub Pages deployment
- Static export enabled
- Custom domain: zoo.fund
- Excludes node_modules and build artifacts
2025-11-02 12:13:55 -08:00

69 lines
2.1 KiB
Solidity

// SPDX-License-Identifier: AGPL-3.0
// Copyright (C) 2023 Haberdasher Labs
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity >=0.8.13;
interface IHatsIdUtilities {
function buildHatId(
uint256 _admin,
uint16 _newHat
) external pure returns (uint256 id);
function getHatLevel(uint256 _hatId) external view returns (uint32 level);
function getLocalHatLevel(
uint256 _hatId
) external pure returns (uint32 level);
function isTopHat(uint256 _hatId) external view returns (bool _topHat);
function isLocalTopHat(
uint256 _hatId
) external pure returns (bool _localTopHat);
function isValidHatId(
uint256 _hatId
) external view returns (bool validHatId);
function getAdminAtLevel(
uint256 _hatId,
uint32 _level
) external view returns (uint256 admin);
function getAdminAtLocalLevel(
uint256 _hatId,
uint32 _level
) external pure returns (uint256 admin);
function getTopHatDomain(
uint256 _hatId
) external view returns (uint32 domain);
function getTippyTopHatDomain(
uint32 _topHatDomain
) external view returns (uint32 domain);
function noCircularLinkage(
uint32 _topHatDomain,
uint256 _linkedAdmin
) external view returns (bool notCircular);
function sameTippyTopHatDomain(
uint32 _topHatDomain,
uint256 _newAdminHat
) external view returns (bool sameDomain);
}