Documentation ¶
Index ¶
- type Node
- func (c *Node) ConfirmPrimaryWithdrawalAddress(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) ConfirmRplWithdrawalAddress(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) CreateVacantMinipool(bondAmount *big.Int, minimumNodeFee float64, ...) (*eth.TransactionInfo, error)
- func (c *Node) Deposit(bondAmount *big.Int, minimumNodeFee float64, ...) (*eth.TransactionInfo, error)
- func (c *Node) DepositWithCredit(bondAmount *big.Int, minimumNodeFee float64, ...) (*eth.TransactionInfo, error)
- func (c *Node) GetExpectedMinipoolAddress(mc *batch.MultiCaller, address_Out *common.Address, salt *big.Int)
- func (c *Node) GetMinipoolAddress(mc *batch.MultiCaller, address_Out *common.Address, index uint64)
- func (c *Node) GetMinipoolAddresses(minipoolCount uint64, opts *bind.CallOpts) ([]common.Address, error)
- func (c *Node) GetNodeDistributor(distributorAddress common.Address, includeDetails bool, opts *bind.CallOpts) (*NodeDistributor, error)
- func (c *Node) GetValidatingMinipoolAddress(mc *batch.MultiCaller, address_Out *common.Address, index uint64)
- func (c *Node) GetValidatingMinipoolAddresses(minipoolCount uint64, opts *bind.CallOpts) ([]common.Address, error)
- func (c *Node) GetVotingDelegateAtBlock(mc *batch.MultiCaller, delegate_Out *common.Address, blockNumber uint32)
- func (c *Node) GetVotingPowerAtBlock(mc *batch.MultiCaller, power_Out **big.Int, blockNumber uint32)
- func (c *Node) InitializeFeeDistributor(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) InitializeVoting(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) InitializeVotingWithDelegate(delegate common.Address, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) Register(timezoneLocation string, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetPrimaryWithdrawalAddress(withdrawalAddress common.Address, confirm bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetRplLockingAllowed(allowed bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetRplWithdrawalAddress(withdrawalAddress common.Address, confirm bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetSmoothingPoolRegistrationState(optIn bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetStakeRplForAllowed(caller common.Address, allowed bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetTimezoneLocation(timezoneLocation string, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) SetVotingDelegate(newDelegate common.Address, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) StakeRpl(rplAmount *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) WithdrawDonatedEth(amount *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- func (c *Node) WithdrawRpl(rplAmount *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
- type NodeDistributor
- type NodeManager
- func (c *NodeManager) GetNodeAddress(mc *batch.MultiCaller, address_Out *common.Address, index uint64)
- func (c *NodeManager) GetNodeAddresses(nodeCount uint64, opts *bind.CallOpts) ([]common.Address, error)
- func (c *NodeManager) GetNodeCountPerTimezone(nodeCount uint64, opts *bind.CallOpts) (map[string]uint64, error)
- func (c *NodeManager) GetSmoothingPoolRegisteredNodeCount(nodeCount uint64, opts *bind.CallOpts) (uint64, error)
- func (c *NodeManager) GetTotalEffectiveRplStake(nodeCount uint64, opts *bind.CallOpts) (*big.Int, error)
- type TimezoneCount
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Node ¶
type Node struct { // The address of this node Address common.Address // True if the node exists (i.e. there is a registered node at this address) Exists *core.SimpleField[bool] // The time that the node was registered with the network RegistrationTime *core.FormattedUint256Field[time.Time] // The node's timezone location TimezoneLocation *core.SimpleField[string] // The network ID for the node's rewards RewardNetwork *core.FormattedUint256Field[uint64] // The node's average minipool fee (commission) AverageFee *core.FormattedUint256Field[float64] // The node's smoothing pool opt-in status SmoothingPoolRegistrationState *core.SimpleField[bool] // The time of the node's last smoothing pool opt-in / opt-out SmoothingPoolRegistrationChanged *core.FormattedUint256Field[time.Time] // True if the node's fee distributor has been initialized yet IsFeeDistributorInitialized *core.SimpleField[bool] // The node's fee distributor address DistributorAddress *core.SimpleField[common.Address] // The amount of ETH in the node's deposit credit bank Credit *core.SimpleField[*big.Int] // The amount of ETH in the node's deposit credit bank that is currently usable for new deposits UsableCredit *core.SimpleField[*big.Int] // The current donated ETH balance for the node DonatedEthBalance *core.SimpleField[*big.Int] // The sum of the node's credit and donated balances TotalCreditAndDonatedBalance *core.SimpleField[*big.Int] // How much of the combined credit and donated balances can be used for new deposits UsableCreditAndDonatedBalance *core.SimpleField[*big.Int] // The node's RPL stake RplStake *core.SimpleField[*big.Int] // The node's effective RPL stake EffectiveRplStake *core.SimpleField[*big.Int] // The node's minimum RPL stake to collateralize its minipools MinimumRplStake *core.SimpleField[*big.Int] // The node's maximum RPL stake to collateralize its minipools MaximumRplStake *core.SimpleField[*big.Int] // The time the node last staked RPL RplStakedTime *core.FormattedUint256Field[time.Time] // The amount of ETH the node has borrowed from the deposit pool to create its minipools EthMatched *core.SimpleField[*big.Int] // The amount of ETH the node can still borrow from the deposit pool to create any new minipools EthMatchedLimit *core.SimpleField[*big.Int] // The number of minipools owned by the node count MinipoolCount *core.FormattedUint256Field[uint64] // The number of minipools owned by the node that are not finalised ActiveMinipoolCount *core.FormattedUint256Field[uint64] // The number of minipools owned by a node that are finalised FinalisedMinipoolCount *core.FormattedUint256Field[uint64] // The number of minipools owned by a node that are validating ValidatingMinipoolCount *core.FormattedUint256Field[uint64] // The node's primary withdrawal address PrimaryWithdrawalAddress *core.SimpleField[common.Address] // The node's pending primary withdrawal address PendingPrimaryWithdrawalAddress *core.SimpleField[common.Address] // The node's RPL withdrawal address IsRplWithdrawalAddressSet *core.SimpleField[bool] // The node's RPL withdrawal address RplWithdrawalAddress *core.SimpleField[common.Address] // The node's pending RPL withdrawal address PendingRplWithdrawalAddress *core.SimpleField[common.Address] // The amount of RPL locked as part of active PDAO proposals or challenges RplLocked *core.SimpleField[*big.Int] // True if RPL the node can have its RPL locked via protocol DAO proposals / challenges IsRplLockingAllowed *core.SimpleField[bool] // The address that the provided node has currently delegated voting power to CurrentVotingDelegate *core.SimpleField[common.Address] // Whether or not on-chain voting has been initialized for the node IsVotingInitialized *core.SimpleField[bool] // contains filtered or unexported fields }
Binding for a Rocket Pool Node
func NewNode ¶
func NewNode(rp *rocketpool.RocketPool, address common.Address) (*Node, error)
Creates a new Node instance
func (*Node) ConfirmPrimaryWithdrawalAddress ¶
func (c *Node) ConfirmPrimaryWithdrawalAddress(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for confirming the node's primary withdrawal address
func (*Node) ConfirmRplWithdrawalAddress ¶
func (c *Node) ConfirmRplWithdrawalAddress(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for confirming the RPL withdrawal address
func (*Node) CreateVacantMinipool ¶
func (c *Node) CreateVacantMinipool(bondAmount *big.Int, minimumNodeFee float64, validatorPubkey beacon.ValidatorPubkey, salt *big.Int, expectedMinipoolAddress common.Address, currentBalance *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for making a vacant minipool for solo staker migration
func (*Node) Deposit ¶
func (c *Node) Deposit(bondAmount *big.Int, minimumNodeFee float64, validatorPubkey beacon.ValidatorPubkey, validatorSignature beacon.ValidatorSignature, depositDataRoot common.Hash, salt *big.Int, expectedMinipoolAddress common.Address, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for making a node deposit and creating a new minipool
func (*Node) DepositWithCredit ¶
func (c *Node) DepositWithCredit(bondAmount *big.Int, minimumNodeFee float64, validatorPubkey beacon.ValidatorPubkey, validatorSignature beacon.ValidatorSignature, depositDataRoot common.Hash, salt *big.Int, expectedMinipoolAddress common.Address, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for making a node deposit and creating a new minipool by using the credit balance
func (*Node) GetExpectedMinipoolAddress ¶
func (c *Node) GetExpectedMinipoolAddress(mc *batch.MultiCaller, address_Out *common.Address, salt *big.Int)
Get the address of a minipool based on the node's address and a salt
func (*Node) GetMinipoolAddress ¶
Get one of the node's minipool addresses by index
func (*Node) GetMinipoolAddresses ¶
func (c *Node) GetMinipoolAddresses(minipoolCount uint64, opts *bind.CallOpts) ([]common.Address, error)
Get all of the node's minipool addresses in a standalone call. This will use an internal batched multicall invocation to retrieve all of them. Provide the value returned from GetMinipoolCount() in minipoolCount.
func (*Node) GetNodeDistributor ¶
func (c *Node) GetNodeDistributor(distributorAddress common.Address, includeDetails bool, opts *bind.CallOpts) (*NodeDistributor, error)
Get a node's distributor with details
func (*Node) GetValidatingMinipoolAddress ¶
func (c *Node) GetValidatingMinipoolAddress(mc *batch.MultiCaller, address_Out *common.Address, index uint64)
Get one of the node's validating minipool addresses by index
func (*Node) GetValidatingMinipoolAddresses ¶
func (c *Node) GetValidatingMinipoolAddresses(minipoolCount uint64, opts *bind.CallOpts) ([]common.Address, error)
Get all of the node's validating minipool addresses in a standalone call. This will use an internal batched multicall invocation to retrieve all of them. Provide the value returned from GetValidatingMinipoolCount() in minipoolCount.
func (*Node) GetVotingDelegateAtBlock ¶
func (c *Node) GetVotingDelegateAtBlock(mc *batch.MultiCaller, delegate_Out *common.Address, blockNumber uint32)
Get the address that the node has delegated voting power to at the given block
func (*Node) GetVotingPowerAtBlock ¶
func (c *Node) GetVotingPowerAtBlock(mc *batch.MultiCaller, power_Out **big.Int, blockNumber uint32)
Get the voting power of the given node at the provided block
func (*Node) InitializeFeeDistributor ¶
func (c *Node) InitializeFeeDistributor(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for initializing (creating) the node's fee distributor
func (*Node) InitializeVoting ¶
func (c *Node) InitializeVoting(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for initializing on-chain voting for the node
func (*Node) InitializeVotingWithDelegate ¶
func (c *Node) InitializeVotingWithDelegate(delegate common.Address, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for initializing on-chain voting for the node, specifying an optional delegate along with it
func (*Node) Register ¶
func (c *Node) Register(timezoneLocation string, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for registering a node
func (*Node) SetPrimaryWithdrawalAddress ¶
func (c *Node) SetPrimaryWithdrawalAddress(withdrawalAddress common.Address, confirm bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for setting the node's primary withdrawal address
func (*Node) SetRplLockingAllowed ¶
func (c *Node) SetRplLockingAllowed(allowed bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for enabling or disabling RPL locking (for Protocol DAO votes or challenges)
func (*Node) SetRplWithdrawalAddress ¶
func (c *Node) SetRplWithdrawalAddress(withdrawalAddress common.Address, confirm bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for setting the RPL withdrawal address
func (*Node) SetSmoothingPoolRegistrationState ¶
func (c *Node) SetSmoothingPoolRegistrationState(optIn bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for opting in or out of the smoothing pool
func (*Node) SetStakeRplForAllowed ¶
func (c *Node) SetStakeRplForAllowed(caller common.Address, allowed bool, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for adding or removing an address from the stake-RPL-on-behalf allowlist
func (*Node) SetTimezoneLocation ¶
func (c *Node) SetTimezoneLocation(timezoneLocation string, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for setting a node's timezone location
func (*Node) SetVotingDelegate ¶
func (c *Node) SetVotingDelegate(newDelegate common.Address, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for setting the voting delegate for the node
func (*Node) StakeRpl ¶
func (c *Node) StakeRpl(rplAmount *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for staking RPL
func (*Node) WithdrawDonatedEth ¶
func (c *Node) WithdrawDonatedEth(amount *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Withdraw unused ETH that was donated (staked on behalf of the node)
func (*Node) WithdrawRpl ¶
func (c *Node) WithdrawRpl(rplAmount *big.Int, opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for withdrawing staked RPL
type NodeDistributor ¶
type NodeDistributor struct { // The address of the distributor DistributorAddress common.Address // The address of the node that owns this distributor NodeAddress common.Address NodeShare *core.SimpleField[*big.Int] UserShare *core.SimpleField[*big.Int] // contains filtered or unexported fields }
Binding for RocketNodeDistributorDelegate
func NewNodeDistributor ¶
func NewNodeDistributor(rp *rocketpool.RocketPool, nodeAddress common.Address, distributorAddress common.Address) (*NodeDistributor, error)
Creates a new NodeDistributor contract binding
func (*NodeDistributor) Distribute ¶
func (c *NodeDistributor) Distribute(opts *bind.TransactOpts) (*eth.TransactionInfo, error)
Get info for distributing the contract's balance to the rETH contract and the user
type NodeManager ¶
type NodeManager struct { // The number of nodes in the network NodeCount *core.FormattedUint256Field[uint64] // The total RPL staked in the network TotalRplStake *core.SimpleField[*big.Int] // contains filtered or unexported fields }
Binding for RocketNodeManager
func NewNodeManager ¶
func NewNodeManager(rp *rocketpool.RocketPool) (*NodeManager, error)
Creates a new NodeManager contract binding
func (*NodeManager) GetNodeAddress ¶
func (c *NodeManager) GetNodeAddress(mc *batch.MultiCaller, address_Out *common.Address, index uint64)
Get a node address by index
func (*NodeManager) GetNodeAddresses ¶
func (c *NodeManager) GetNodeAddresses(nodeCount uint64, opts *bind.CallOpts) ([]common.Address, error)
Get all minipool addresses in a standalone call. This will use an internal batched multicall invocation to retrieve all of them. Provide the value returned from GetNodeCount() in nodeCount.
func (*NodeManager) GetNodeCountPerTimezone ¶
func (c *NodeManager) GetNodeCountPerTimezone(nodeCount uint64, opts *bind.CallOpts) (map[string]uint64, error)
Get a breakdown of the number of nodes per timezone for the subset of nodes provided. Provide the value returned from GetNodeCount() in nodeCount.
func (*NodeManager) GetSmoothingPoolRegisteredNodeCount ¶
func (c *NodeManager) GetSmoothingPoolRegisteredNodeCount(nodeCount uint64, opts *bind.CallOpts) (uint64, error)
Get the number of nodes in the Smoothing Pool for the subset of nodes provided. Provide the value returned from GetNodeCount() in nodeCount.
func (*NodeManager) GetTotalEffectiveRplStake ¶
func (c *NodeManager) GetTotalEffectiveRplStake(nodeCount uint64, opts *bind.CallOpts) (*big.Int, error)
Get the total effective RPL stake of the network
type TimezoneCount ¶
Count of nodes belonging to a timezone