34 lines
1.4 KiB
Solidity
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;
|
|
}
|