# node
import "github.com/rocket-pool/rocketpool-go/node"
# Index
- Constants
- func CalculateTotalEffectiveRPLStake(rp *rocketpool.RocketPool, offset, limit, rplPrice *big.Int, opts *bind.CallOpts) (*big.Int, error)
- func Deposit(rp *rocketpool.RocketPool, minimumNodeFee float64, opts *bind.TransactOpts) (common.Hash, error)
- func EstimateDepositGas(rp *rocketpool.RocketPool, minimumNodeFee float64, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func EstimateRegisterNodeGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func EstimateSetTimezoneLocationGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func EstimateStakeGas(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func EstimateWithdrawRPLGas(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func GetBalancesSubmissions(rp *rocketpool.RocketPool, nodeAddress common.Address, fromBlock uint64, intervalSize big.Int) ([]uint64, error)
- func GetNodeAddresses(rp *rocketpool.RocketPool, opts *bind.CallOpts) ([]common.Address, error)
- func GetNodeAt(rp *rocketpool.RocketPool, index uint64, opts *bind.CallOpts) (common.Address, error)
- func GetNodeCount(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint64, error)
- func GetNodeEffectiveRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
- func GetNodeExists(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, error)
- func GetNodeMaximumRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
- func GetNodeMinimumRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
- func GetNodeMinipoolLimit(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
- func GetNodeRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
- func GetNodeRPLStakedTime(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
- func GetNodeTimezoneLocation(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (string, error)
- func GetPricesSubmissions(rp *rocketpool.RocketPool, nodeAddress common.Address, fromBlock uint64, intervalSize big.Int) ([]uint64, error)
- func GetTotalEffectiveRPLStake(rp *rocketpool.RocketPool, opts *bind.CallOpts) (*big.Int, error)
- func GetTotalRPLStake(rp *rocketpool.RocketPool, opts *bind.CallOpts) (*big.Int, error)
- func RegisterNode(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
- func SetTimezoneLocation(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
- func StakeRPL(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (common.Hash, error)
- func WithdrawRPL(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (common.Hash, error)
- type NodeDetails
- type TimezoneCount
- type TrustedNodeParticipation
- func CalculateTrustedNodeBalancesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (*TrustedNodeParticipation, error)
- func CalculateTrustedNodePricesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (*TrustedNodeParticipation, error)
# Constants
Settings
const (
NodeAddressBatchSize = 50
NodeDetailsBatchSize = 20
)
# func CalculateTotalEffectiveRPLStake (opens new window)
func CalculateTotalEffectiveRPLStake(rp *rocketpool.RocketPool, offset, limit, rplPrice *big.Int, opts *bind.CallOpts) (*big.Int, error)
Calculate total effective RPL stake
# func Deposit (opens new window)
func Deposit(rp *rocketpool.RocketPool, minimumNodeFee float64, opts *bind.TransactOpts) (common.Hash, error)
Make a node deposit
# func EstimateDepositGas (opens new window)
func EstimateDepositGas(rp *rocketpool.RocketPool, minimumNodeFee float64, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of Deposit
# func EstimateRegisterNodeGas (opens new window)
func EstimateRegisterNodeGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of RegisterNode
# func EstimateSetTimezoneLocationGas (opens new window)
func EstimateSetTimezoneLocationGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of SetTimezoneLocation
# func EstimateStakeGas (opens new window)
func EstimateStakeGas(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of Stake
# func EstimateWithdrawRPLGas (opens new window)
func EstimateWithdrawRPLGas(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of WithdrawRPL
# func GetBalancesSubmissions (opens new window)
func GetBalancesSubmissions(rp *rocketpool.RocketPool, nodeAddress common.Address, fromBlock uint64, intervalSize *big.Int) (*[]uint64, error)
Returns an array of block numbers for balances submissions the given trusted node has submitted since fromBlock
# func GetNodeAddresses (opens new window)
func GetNodeAddresses(rp *rocketpool.RocketPool, opts *bind.CallOpts) ([]common.Address, error)
Get all node addresses
# func GetNodeAt (opens new window)
func GetNodeAt(rp *rocketpool.RocketPool, index uint64, opts *bind.CallOpts) (common.Address, error)
Get a node address by index
# func GetNodeCount (opens new window)
func GetNodeCount(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint64, error)
Get the number of nodes in the network
# func GetNodeEffectiveRPLStake (opens new window)
func GetNodeEffectiveRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
Get a node's effective RPL stake
# func GetNodeExists (opens new window)
func GetNodeExists(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, error)
Check whether a node exists
# func GetNodeMaximumRPLStake (opens new window)
func GetNodeMaximumRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
Get a node's maximum RPL stake to collateralize their minipools
# func GetNodeMinimumRPLStake (opens new window)
func GetNodeMinimumRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
Get a node's minimum RPL stake to collateralize their minipools
# func GetNodeMinipoolLimit (opens new window)
func GetNodeMinipoolLimit(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
Get a node's minipool limit based on RPL stake
# func GetNodeRPLStake (opens new window)
func GetNodeRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
Get a node's RPL stake
# func GetNodeRPLStakedTime (opens new window)
func GetNodeRPLStakedTime(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
Get the time a node last staked RPL
# func GetNodeTimezoneLocation (opens new window)
func GetNodeTimezoneLocation(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (string, error)
Get a node's timezone location
# func GetPricesSubmissions (opens new window)
func GetPricesSubmissions(rp *rocketpool.RocketPool, nodeAddress common.Address, fromBlock uint64, intervalSize *big.Int) (*[]uint64, error)
Returns an array of block numbers for prices submissions the given trusted node has submitted since fromBlock
# func GetTotalEffectiveRPLStake (opens new window)
func GetTotalEffectiveRPLStake(rp *rocketpool.RocketPool, opts *bind.CallOpts) (*big.Int, error)
Get the effective RPL staked in the network
# func GetTotalRPLStake (opens new window)
func GetTotalRPLStake(rp *rocketpool.RocketPool, opts *bind.CallOpts) (*big.Int, error)
Get the total RPL staked in the network
# func RegisterNode (opens new window)
func RegisterNode(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
Register a node
# func SetTimezoneLocation (opens new window)
func SetTimezoneLocation(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
Set a node's timezone location
# func StakeRPL (opens new window)
func StakeRPL(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (common.Hash, error)
Stake RPL
# func WithdrawRPL (opens new window)
func WithdrawRPL(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (common.Hash, error)
Withdraw staked RPL
# type NodeDetails (opens new window)
Node details
type NodeDetails struct {
Address common.Address `json:"address"`
Exists bool `json:"exists"`
WithdrawalAddress common.Address `json:"withdrawalAddress"`
PendingWithdrawalAddress common.Address `json:"pendingWithdrawalAddress"`
TimezoneLocation string `json:"timezoneLocation"`
}
# func GetNodeDetails (opens new window)
func GetNodeDetails(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (NodeDetails, error)
Get a node's details
# func GetNodes (opens new window)
func GetNodes(rp *rocketpool.RocketPool, opts *bind.CallOpts) ([]NodeDetails, error)
Get all node details
# type TimezoneCount (opens new window)
Count of nodes belonging to a timezone
type TimezoneCount struct {
Timezone string `abi:"timezone"`
Count *big.Int `abi:"count"`
}
# func GetNodeCountPerTimezone (opens new window)
func GetNodeCountPerTimezone(rp *rocketpool.RocketPool, offset, limit *big.Int, opts *bind.CallOpts) ([]TimezoneCount, error)
Get a breakdown of the number of nodes per timezone
# type TrustedNodeParticipation (opens new window)
The results of the trusted node participation calculation
type TrustedNodeParticipation struct {
StartBlock uint64
UpdateFrequency uint64
UpdateCount uint64
Probability float64
ExpectedSubmissions float64
ActualSubmissions map[common.Address]float64
Participation map[common.Address][]bool
}
# func CalculateTrustedNodeBalancesParticipation (opens new window)
func CalculateTrustedNodeBalancesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (*TrustedNodeParticipation, error)
Calculates the participation rate of every trusted node on balance submission since the last block that member count changed
# func CalculateTrustedNodePricesParticipation (opens new window)
func CalculateTrustedNodePricesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (*TrustedNodeParticipation, error)
Calculates the participation rate of every trusted node on price submission since the last block that member count changed