30 lines
1.1 KiB
Solidity
30 lines
1.1 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 getRotationInfoAt(uint256 session) external view returns (bytes32, uint8, uint64);
|
|
|
|
function ghost(bytes32 receiver, uint256 amount) external;
|
|
function initialize(address previousAddress) external;
|
|
}
|