ghost-dao-contracts/src/interfaces/IGatekeeper.sol
Uncle Fatso b1e9be968e
emit event during the weaver insertion
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2026-09-14 10:46:40 +03:00

34 lines
1.4 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IGatekeeper {
error NotStaking();
error SendFailed();
error WrongChainId();
error BadSignature();
error NotGatekeeper();
error AlreadyExecuted();
error InvalidCalldata();
error InvalidPublicKey();
error NonExistentAmount();
error InsufficientValue();
error ExecutionReverted();
event Recalled(address indexed receiver, uint256 indexed amount);
event Rotated(bytes32 indexed aggregatedPublicKey, uint8 indexed parity);
event VoluntaryVerification(address indexed sender, uint256 indexed gasSpent);
function staking() external view returns (address);
function deployer() external view returns (address);
function ghostedSupply() external view returns (uint256);
function storageHistory() external view returns (address);
function latestPublicKeyInfo() external view returns (bytes32, uint8, uint64);
function getRotationInfoAt(uint256 session) external view returns (bytes32, uint8, uint64);
function govern(uint256 session, uint256 payload, bytes calldata call) external returns (bytes calldata);
function recall(uint256 session, uint256 amount, uint256 payload) external;
function rotate(uint256 session, bytes32 publicKey, uint8 parity) external;
function ghost(bytes32 receiver, uint256 amount) external;
function initialize(address previousAddress) external;
}