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 EstimateInitializeFeeDistributorGas(rp *rocketpool.RocketPool, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func EstimateRegisterNodeGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
- func EstimateSetSmoothingPoolRegistrationStateGas(rp *rocketpool.RocketPool, optIn bool, 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 GetDistributorAddress(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (common.Address, error)
- func GetFeeDistributorInitialized(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, 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 GetNodeAverageFee(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (float64, 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 GetNodeManagerVersion(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint8, 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 GetNodeRegistrationTime(rp *rocketpool.RocketPool, address common.Address, opts *bind.CallOpts) (time.Time, 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 GetRewardNetwork(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
- func GetSmoothingPoolRegisteredNodeCount(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint64, error)
- func GetSmoothingPoolRegistrationChanged(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (time.Time, error)
- func GetSmoothingPoolRegistrationState(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, 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 InitializeFeeDistributor(rp *rocketpool.RocketPool, opts *bind.TransactOpts) (common.Hash, error)
- func RegisterNode(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
- func SetSmoothingPoolRegistrationState(rp *rocketpool.RocketPool, optIn bool, 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 Distributor
- 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 SmoothingPoolCountBatchSize uint64 = 2000 )
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 EstimateInitializeFeeDistributorGas ¶ added in v1.3.0
func EstimateInitializeFeeDistributorGas(rp *rocketpool.RocketPool, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas for creating the fee distributor contract for a node
func EstimateRegisterNodeGas ¶
func EstimateRegisterNodeGas(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of RegisterNode
func EstimateSetSmoothingPoolRegistrationStateGas ¶ added in v1.3.0
func EstimateSetSmoothingPoolRegistrationStateGas(rp *rocketpool.RocketPool, optIn bool, opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas for opting into / out of the smoothing pool
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 GetDistributorAddress ¶ added in v1.3.0
func GetDistributorAddress(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (common.Address, error)
Gets the deterministic address for a node's reward distributor contract
func GetFeeDistributorInitialized ¶ added in v1.3.0
func GetFeeDistributorInitialized(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, error)
Check if a node's fee distributor has been initialized yet
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 GetNodeAverageFee ¶ added in v1.3.0
func GetNodeAverageFee(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (float64, error)
Get a node's average minipool fee
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 GetNodeManagerVersion ¶ added in v1.2.0
func GetNodeManagerVersion(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint8, error)
Get the version of the Node Manager contract
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 GetNodeRegistrationTime ¶ added in v1.3.0
func GetNodeRegistrationTime(rp *rocketpool.RocketPool, address common.Address, opts *bind.CallOpts) (time.Time, error)
Get the time that the user registered as a claimer
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 GetRewardNetwork ¶ added in v1.3.0
func GetRewardNetwork(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (uint64, error)
Get the network ID for a node's rewards
func GetSmoothingPoolRegisteredNodeCount ¶ added in v1.3.0
func GetSmoothingPoolRegisteredNodeCount(rp *rocketpool.RocketPool, opts *bind.CallOpts) (uint64, error)
Get the number of nodes in the Smoothing Pool
func GetSmoothingPoolRegistrationChanged ¶ added in v1.3.0
func GetSmoothingPoolRegistrationChanged(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (time.Time, error)
Get the time of the previous smoothing pool opt-in / opt-out
func GetSmoothingPoolRegistrationState ¶ added in v1.3.0
func GetSmoothingPoolRegistrationState(rp *rocketpool.RocketPool, nodeAddress common.Address, opts *bind.CallOpts) (bool, error)
Get the smoothing pool opt-in status of a node
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 InitializeFeeDistributor ¶ added in v1.3.0
func InitializeFeeDistributor(rp *rocketpool.RocketPool, opts *bind.TransactOpts) (common.Hash, error)
Create the fee distributor contract for a node
func RegisterNode ¶
func RegisterNode(rp *rocketpool.RocketPool, timezoneLocation string, opts *bind.TransactOpts) (common.Hash, error)
Register a node
func SetSmoothingPoolRegistrationState ¶ added in v1.3.0
func SetSmoothingPoolRegistrationState(rp *rocketpool.RocketPool, optIn bool, opts *bind.TransactOpts) (common.Hash, error)
Opt into / out of the smoothing pool
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 Distributor ¶ added in v1.3.0
type Distributor struct { Address common.Address Contract *rocketpool.Contract RocketPool *rocketpool.RocketPool }
Distributor contract
func NewDistributor ¶ added in v1.3.0
func NewDistributor(rp *rocketpool.RocketPool, address common.Address) (*Distributor, error)
Create new distributor contract
func (*Distributor) Distribute ¶ added in v1.3.0
func (d *Distributor) Distribute(opts *bind.TransactOpts) (common.Hash, error)
Distribute the contract's balance to the rETH contract and the user
func (*Distributor) EstimateDistributeGas ¶ added in v1.3.0
func (d *Distributor) EstimateDistributeGas(opts *bind.TransactOpts) (rocketpool.GasInfo, error)
Estimate the gas of a distribute
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