Created
October 5, 2024 22:24
-
-
Save FuzzysTodd/84d7e60f6e481069fc89c2d1470ee5a1 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* . | |
* / \ | |
* |.'.| | |
* |'.'| | |
* ,'| |'. | |
* |,-'-|-'-.| | |
* __|_| | _ _ _____ _ | |
* | ___ \| | | | | | ___ \ | | | |
* | |_/ /|__ ___| | _____| |_ | |_/ /__ ___ | | | |
* | // _ \ / __| |/ / _ \ __| | __/ _ \ / _ \| | | |
* | |\ \ (_) | (__| < __/ |_ | | | (_) | (_) | | | |
* \_| \_\___/ \___|_|\_\___|\__| \_| \___/ \___/|_| | |
* +---------------------------------------------------+ | |
* | DECENTRALISED STAKING PROTOCOL FOR ETHEREUM | | |
* +---------------------------------------------------+ | |
* | |
* Rocket Pool is a first-of-its-kind Ethereum staking pool protocol, designed to | |
* be community-owned, decentralised, permissionless, & trustless. | |
* | |
* For more information about Rocket Pool, visit https://rocketpool.net | |
* | |
* Authored by the Rocket Pool Core Team | |
* Contributors: https://github.com/rocket-pool/rocketpool/graphs/contributors | |
* A special thanks to the Rocket Pool community for all their contributions. | |
* | |
*/ | |
pragma solidity >0.5.0 <0.9.0; | |
// SPDX-License-Identifier: GPL-3.0-only | |
import "../../types/MinipoolDeposit.sol"; | |
import "../../types/MinipoolStatus.sol"; | |
import "../RocketStorageInterface.sol"; | |
interface RocketMinipoolInterface { | |
function version() external view returns (uint8); | |
function initialise(address _nodeAddress) external; | |
function getStatus() external view returns (MinipoolStatus); | |
function getFinalised() external view returns (bool); | |
function getStatusBlock() external view returns (uint256); | |
function getStatusTime() external view returns (uint256); | |
function getScrubVoted(address _member) external view returns (bool); | |
function getDepositType() external view returns (MinipoolDeposit); | |
function getNodeAddress() external view returns (address); | |
function getNodeFee() external view returns (uint256); | |
function getNodeDepositBalance() external view returns (uint256); | |
function getNodeRefundBalance() external view returns (uint256); | |
function getNodeDepositAssigned() external view returns (bool); | |
function getPreLaunchValue() external view returns (uint256); | |
function getNodeTopUpValue() external view returns (uint256); | |
function getVacant() external view returns (bool); | |
function getPreMigrationBalance() external view returns (uint256); | |
function getUserDistributed() external view returns (bool); | |
function getUserDepositBalance() external view returns (uint256); | |
function getUserDepositAssigned() external view returns (bool); | |
function getUserDepositAssignedTime() external view returns (uint256); | |
function getTotalScrubVotes() external view returns (uint256); | |
function calculateNodeShare(uint256 _balance) external view returns (uint256); | |
function calculateUserShare(uint256 _balance) external view returns (uint256); | |
function preDeposit(uint256 _bondingValue, bytes calldata _validatorPubkey, bytes calldata _validatorSignature, bytes32 _depositDataRoot) external payable; | |
function deposit() external payable; | |
function userDeposit() external payable; | |
function distributeBalance(bool _rewardsOnly) external; | |
function beginUserDistribute() external; | |
function userDistributeAllowed() external view returns (bool); | |
function refund() external; | |
function slash() external; | |
function finalise() external; | |
function canStake() external view returns (bool); | |
function canPromote() external view returns (bool); | |
function stake(bytes calldata _validatorSignature, bytes32 _depositDataRoot) external; | |
function prepareVacancy(uint256 _bondAmount, uint256 _currentBalance) external; | |
function promote() external; | |
function dissolve() external; | |
function close() external; | |
function voteScrub() external; | |
function reduceBondAmount() external; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment