Documentation ¶
Index ¶
- Constants
- func CalculateTotalEffectiveRPLStake(rp *rocketpool.RocketPool, offset, limit, rplPrice *big.Int, ...) (*big.Int, error)
- func Deposit(rp *rocketpool.RocketPool, minimumNodeFee float64, ...) (common.Hash, error)
- func EstimateDepositGas(rp *rocketpool.RocketPool, minimumNodeFee float64, ...) (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, ...) (*[]uint64, error)
- func GetDepositType(rp *rocketpool.RocketPool, amount *big.Int, opts *bind.CallOpts) (rptypes.MinipoolDeposit, error)
- func GetLatestBalancesSubmissions(rp *rocketpool.RocketPool, fromBlock uint64, intervalSize *big.Int) ([]common.Address, error)
- func GetLatestPricesSubmissions(rp *rocketpool.RocketPool, fromBlock uint64, intervalSize *big.Int) ([]common.Address, 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, ...) (*[]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 GetTrustedNodeLatestBalancesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (map[common.Address]bool, error)
- func GetTrustedNodeLatestPricesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (map[common.Address]bool, 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 ¶
const ( NodeAddressBatchSize = 50 NodeDetailsBatchSize = 20 )
Settings
Variables ¶
This section is empty.
Functions ¶
func CalculateTotalEffectiveRPLStake ¶
func CalculateTotalEffectiveRPLStake(rp *rocketpool.RocketPool, offset, limit, rplPrice *big.Int, opts *bind.CallOpts) (*big.Int, error)
Calculate total effective RPL stake
func Deposit ¶
func Deposit(rp *rocketpool.RocketPool, minimumNodeFee float64, validatorPubkey rptypes.ValidatorPubkey, validatorSignature rptypes.ValidatorSignature, depositDataRoot common.Hash, salt *big.Int, expectedMinipoolAddress common.Address, opts *bind.TransactOpts) (common.Hash, error)
Make a node deposit
func EstimateDepositGas ¶
func EstimateDepositGas(rp *rocketpool.RocketPool, minimumNodeFee float64, validatorPubkey rptypes.ValidatorPubkey, validatorSignature rptypes.ValidatorSignature, depositDataRoot common.Hash, salt *big.Int, expectedMinipoolAddress common.Address, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of Deposit
func EstimateRegisterNodeGas ¶
func EstimateRegisterNodeGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of RegisterNode
func EstimateSetTimezoneLocationGas ¶
func EstimateSetTimezoneLocationGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of SetTimezoneLocation
func EstimateStakeGas ¶
func EstimateStakeGas(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of Stake
func EstimateWithdrawRPLGas ¶
func EstimateWithdrawRPLGas(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of WithdrawRPL
func GetBalancesSubmissions ¶
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 GetDepositType ¶
func GetDepositType(rp *rocketpool.RocketPool, amount *big.Int, opts *bind.CallOpts) (rptypes.MinipoolDeposit, error)
Get the type of a deposit based on the amount
func GetLatestBalancesSubmissions ¶
func GetLatestBalancesSubmissions(rp *rocketpool.RocketPool, fromBlock uint64, intervalSize *big.Int) ([]common.Address, error)
Returns an array of members who submitted a balance since fromBlock
func GetLatestPricesSubmissions ¶
func GetLatestPricesSubmissions(rp *rocketpool.RocketPool, fromBlock uint64, intervalSize *big.Int) ([]common.Address, error)
Returns an array of members who submitted prices since fromBlock
func GetNodeAddresses ¶
func GetNodeAddresses(rp *rocketpool.RocketPool, opts *bind.CallOpts) ([]common.Address, error)
Get all node addresses
func GetNodeAt ¶
func GetNodeAt(rp *rocketpool.RocketPool, index uint64, opts *bind.CallOpts) (common.Address, error)
Get a node address by index
func GetNodeCount ¶
func GetNodeCount(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint64, error)
Get the number of nodes in the network
func GetNodeEffectiveRPLStake ¶
func GetNodeEffectiveRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
Get a node's effective RPL stake
func GetNodeExists ¶
func GetNodeExists(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, error)
Check whether a node exists
func GetNodeMaximumRPLStake ¶
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 ¶
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 ¶
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 ¶
func GetNodeRPLStake(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (*big.Int, error)
Get a node's RPL stake
func GetNodeRPLStakedTime ¶
func GetNodeRPLStakedTime(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
Get the time a node last staked RPL
func GetNodeTimezoneLocation ¶
func GetNodeTimezoneLocation(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (string, error)
Get a node's timezone location
func GetPricesSubmissions ¶
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 ¶
func GetTotalEffectiveRPLStake(rp *rocketpool.RocketPool, opts *bind.CallOpts) (*big.Int, error)
Get the effective RPL staked in the network
func GetTotalRPLStake ¶
func GetTotalRPLStake(rp *rocketpool.RocketPool, opts *bind.CallOpts) (*big.Int, error)
Get the total RPL staked in the network
func GetTrustedNodeLatestBalancesParticipation ¶
func GetTrustedNodeLatestBalancesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (map[common.Address]bool, error)
Returns a mapping of members and whether they have submitted balances this interval or not
func GetTrustedNodeLatestPricesParticipation ¶
func GetTrustedNodeLatestPricesParticipation(rp *rocketpool.RocketPool, intervalSize *big.Int, opts *bind.CallOpts) (map[common.Address]bool, error)
Returns a mapping of members and whether they have submitted prices this interval or not
func RegisterNode ¶
func RegisterNode(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
Register a node
func SetTimezoneLocation ¶
func SetTimezoneLocation(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
Set a node's timezone location
func StakeRPL ¶
func StakeRPL(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (common.Hash, error)
Stake RPL
func WithdrawRPL ¶
func WithdrawRPL(rp *rocketpool.RocketPool, rplAmount *big.Int, opts *bind.TransactOpts) (common.Hash, error)
Withdraw staked RPL
Types ¶
type NodeDetails ¶
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"` }
Node details
func GetNodeDetails ¶
func GetNodeDetails(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (NodeDetails, error)
Get a node's details
func GetNodes ¶
func GetNodes(rp *rocketpool.RocketPool, opts *bind.CallOpts) ([]NodeDetails, error)
Get all node details
type TimezoneCount ¶
Count of nodes belonging to a timezone
func GetNodeCountPerTimezone ¶
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 ¶
type TrustedNodeParticipation struct { StartBlock uint64 UpdateFrequency uint64 UpdateCount uint64 Probability float64 ExpectedSubmissions float64 ActualSubmissions map[common.Address]float64 Participation map[common.Address][]bool }
The results of the trusted node participation calculation
func CalculateTrustedNodeBalancesParticipation ¶
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 ¶
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