rocketpool

package
v1.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2023 License: GPL-3.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	InstallerURL     string = "https://github.com/rocket-pool/smartnode-install/releases/download/%s/install.sh"
	UpdateTrackerURL string = "https://github.com/rocket-pool/smartnode-install/releases/download/%s/install-update-tracker.sh"

	SettingsFile             string = "user-settings.yml"
	BackupSettingsFile       string = "user-settings-backup.yml"
	PrometheusConfigTemplate string = "prometheus.tmpl"
	PrometheusFile           string = "prometheus.yml"

	APIContainerSuffix string = "_api"
	APIBinPath         string = "/go/bin/rocketpool"

	DebugColor = color.FgYellow
)

Config

View Source
const (
	FileMode fs.FileMode = 0644
)

Config

Variables

This section is empty.

Functions

func CheckFeeRecipientFile added in v1.5.1

func CheckFeeRecipientFile(feeRecipient common.Address, cfg *config.RocketPoolConfig) (bool, bool, error)

Checks if the fee recipient file exists and has the correct distributor address in it. The first return value is for file existence, the second is for validation of the fee recipient address inside.

func SyncRatioToPercent added in v1.10.0

func SyncRatioToPercent(in float64) float64

When printing sync percents, we should avoid printing 100%. This function is only called if we're still syncing, and the `%0.2f` token will round up if we're above 99.99%.

func UpdateFeeRecipientFile added in v1.5.1

func UpdateFeeRecipientFile(feeRecipient common.Address, cfg *config.RocketPoolConfig) error

Writes the given address to the fee recipient file. The VC should be restarted to pick up the new file.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Rocket Pool client

func NewClientFromCtx

func NewClientFromCtx(c *cli.Context) *Client

Create new Rocket Pool client from CLI context without checking for sync status Only use this function from commands that may work if the Daemon service doesn't exist Most users should call NewClientFromCtx(c).WithStatus() or NewClientFromCtx(c).WithReady()

func (*Client) ApproveRPLToJoinTNDAO added in v1.0.0

func (c *Client) ApproveRPLToJoinTNDAO() (api.JoinTNDAOApproveResponse, error)

Join the oracle DAO (requires an executed invite proposal)

func (*Client) AssignGasSettings added in v1.1.0

func (c *Client) AssignGasSettings(maxFee float64, maxPrioFee float64, gasLimit uint64)

Get the gas fees

func (*Client) AuctionLots added in v1.0.0

func (c *Client) AuctionLots() (api.AuctionLotsResponse, error)

Get RPL lots for auction

func (*Client) AuctionStatus added in v1.0.0

func (c *Client) AuctionStatus() (api.AuctionStatusResponse, error)

Get RPL auction status

func (*Client) BeginReduceBondAmount added in v1.9.0

func (c *Client) BeginReduceBondAmount(address common.Address, newBondAmountWei *big.Int) (api.BeginReduceBondAmountResponse, error)

Begin the bond reduction process for a minipool

func (*Client) BidOnLot added in v1.0.0

func (c *Client) BidOnLot(lotIndex uint64, amountWei *big.Int) (api.BidOnLotResponse, error)

Bid on a lot

func (*Client) CanBeginReduceBondAmount added in v1.9.0

func (c *Client) CanBeginReduceBondAmount(address common.Address, newBondAmountWei *big.Int) (api.CanBeginReduceBondAmountResponse, error)

Check whether the minipool can begin the bond reduction process

func (*Client) CanBidOnLot added in v1.0.0

func (c *Client) CanBidOnLot(lotIndex uint64, amountWei *big.Int) (api.CanBidOnLotResponse, error)

Check whether the node can bid on a lot

func (*Client) CanCancelTNDAOProposal added in v1.0.0

func (c *Client) CanCancelTNDAOProposal(proposalId uint64) (api.CanCancelTNDAOProposalResponse, error)

Check whether the node can cancel a proposal

func (*Client) CanChangeWithdrawalCredentials added in v1.9.0

func (c *Client) CanChangeWithdrawalCredentials(address common.Address, mnemonic string) (api.CanChangeWithdrawalCredentialsResponse, error)

Check whether a solo validator's withdrawal creds can be migrated to a minipool address

func (*Client) CanClaimFromLot added in v1.0.0

func (c *Client) CanClaimFromLot(lotIndex uint64) (api.CanClaimFromLotResponse, error)

Check whether the node can claim RPL from a lot

func (*Client) CanConfirmNodeWithdrawalAddress added in v1.0.0

func (c *Client) CanConfirmNodeWithdrawalAddress() (api.CanSetNodeWithdrawalAddressResponse, error)

Checks if the node's withdrawal address can be confirmed

func (*Client) CanCreateLot added in v1.0.0

func (c *Client) CanCreateLot() (api.CanCreateLotResponse, error)

Check whether the node can create a new lot

func (*Client) CanCreateVacantMinipool added in v1.9.0

func (c *Client) CanCreateVacantMinipool(amountWei *big.Int, minFee float64, salt *big.Int, pubkey types.ValidatorPubkey) (api.CanCreateVacantMinipoolResponse, error)

Check whether a vacant minipool can be created for solo staker migration

func (*Client) CanDelegateRollbackMinipool added in v1.0.0

func (c *Client) CanDelegateRollbackMinipool(address common.Address) (api.CanDelegateRollbackResponse, error)

Check whether a minipool can have its delegate rolled back

func (*Client) CanDelegateUpgradeMinipool added in v1.0.0

func (c *Client) CanDelegateUpgradeMinipool(address common.Address) (api.CanDelegateUpgradeResponse, error)

Check whether a minipool can have its delegate upgraded

func (*Client) CanDissolveMinipool

func (c *Client) CanDissolveMinipool(address common.Address) (api.CanDissolveMinipoolResponse, error)

Check whether a minipool can be dissolved

func (*Client) CanDistribute added in v1.5.0

func (c *Client) CanDistribute() (api.NodeCanDistributeResponse, error)

Check if distributing ETH from the node's fee distributor is possible

func (*Client) CanExecuteTNDAOProposal added in v1.0.0

func (c *Client) CanExecuteTNDAOProposal(proposalId uint64) (api.CanExecuteTNDAOProposalResponse, error)

Check whether the node can execute a proposal

func (*Client) CanExitMinipool

func (c *Client) CanExitMinipool(address common.Address) (api.CanExitMinipoolResponse, error)

Check whether a minipool can be exited

func (*Client) CanFaucetWithdrawRpl added in v1.0.0

func (c *Client) CanFaucetWithdrawRpl() (api.CanFaucetWithdrawRplResponse, error)

Check whether the node can withdraw RPL from the faucet

func (*Client) CanGenerateRewardsTree added in v1.5.0

func (c *Client) CanGenerateRewardsTree(index uint64) (api.CanNetworkGenerateRewardsTreeResponse, error)

Check if the rewards tree for the provided interval can be generated

func (*Client) CanJoinTNDAO added in v1.0.0

func (c *Client) CanJoinTNDAO() (api.CanJoinTNDAOResponse, error)

Check whether the node can join the oracle DAO

func (*Client) CanLeaveTNDAO added in v1.0.0

func (c *Client) CanLeaveTNDAO() (api.CanLeaveTNDAOResponse, error)

Check whether the node can leave the oracle DAO

func (*Client) CanNodeBurn

func (c *Client) CanNodeBurn(amountWei *big.Int, token string) (api.CanNodeBurnResponse, error)

Check whether the node can burn tokens

func (*Client) CanNodeClaimAndStakeRewards added in v1.5.0

func (c *Client) CanNodeClaimAndStakeRewards(indices []uint64, stakeAmountWei *big.Int) (api.CanNodeClaimAndStakeRewardsResponse, error)

Check if the rewards for the given intervals can be claimed, and RPL restaked automatically

func (*Client) CanNodeClaimRewards added in v1.5.0

func (c *Client) CanNodeClaimRewards(indices []uint64) (api.CanNodeClaimRewardsResponse, error)

Check if the rewards for the given intervals can be claimed

func (*Client) CanNodeClaimRpl added in v1.0.0

func (c *Client) CanNodeClaimRpl() (api.CanNodeClaimRplResponse, error)

Check whether the node has RPL rewards available to claim

func (*Client) CanNodeDeposit

func (c *Client) CanNodeDeposit(amountWei *big.Int, minFee float64, salt *big.Int) (api.CanNodeDepositResponse, error)

Check whether the node can make a deposit

func (*Client) CanNodeSend

func (c *Client) CanNodeSend(amountWei *big.Int, token string, toAddress common.Address) (api.CanNodeSendResponse, error)

Check whether the node can send tokens

func (*Client) CanNodeSetSmoothingPoolStatus added in v1.5.0

func (c *Client) CanNodeSetSmoothingPoolStatus(status bool) (api.CanSetSmoothingPoolRegistrationStatusResponse, error)

Check if the node's Smoothing Pool status can be changed

func (*Client) CanNodeStakeRpl added in v1.0.0

func (c *Client) CanNodeStakeRpl(amountWei *big.Int) (api.CanNodeStakeRplResponse, error)

Check whether the node can stake RPL

func (*Client) CanNodeSwapRpl added in v1.0.0

func (c *Client) CanNodeSwapRpl(amountWei *big.Int) (api.CanNodeSwapRplResponse, error)

Check whether the node can swap RPL tokens

func (*Client) CanNodeWithdrawRpl added in v1.0.0

func (c *Client) CanNodeWithdrawRpl(amountWei *big.Int) (api.CanNodeWithdrawRplResponse, error)

Check whether the node can withdraw RPL

func (*Client) CanProcessQueue

func (c *Client) CanProcessQueue() (api.CanProcessQueueResponse, error)

Check whether the queue can be processed

func (*Client) CanPromoteMinipool added in v1.9.0

func (c *Client) CanPromoteMinipool(address common.Address) (api.CanPromoteMinipoolResponse, error)

Check whether a minipool is eligible for promotion

func (*Client) CanProposeInviteToTNDAO added in v1.0.0

func (c *Client) CanProposeInviteToTNDAO(memberAddress common.Address, memberId, memberUrl string) (api.CanProposeTNDAOInviteResponse, error)

Check whether the node can propose inviting a new member

func (*Client) CanProposeKickFromTNDAO added in v1.0.0

func (c *Client) CanProposeKickFromTNDAO(memberAddress common.Address, fineAmountWei *big.Int) (api.CanProposeTNDAOKickResponse, error)

Check whether the node can propose kicking a member

func (*Client) CanProposeLeaveTNDAO added in v1.0.0

func (c *Client) CanProposeLeaveTNDAO() (api.CanProposeTNDAOLeaveResponse, error)

Check whether the node can propose leaving the oracle DAO

func (*Client) CanProposeReplaceTNDAOMember added in v1.0.0

func (c *Client) CanProposeReplaceTNDAOMember(memberAddress common.Address, memberId, memberUrl string) (api.CanProposeTNDAOReplaceResponse, error)

Check whether the node can propose replacing its position with a new member

func (*Client) CanProposeTNDAOSetting added in v1.0.0

func (c *Client) CanProposeTNDAOSetting() (api.CanProposeTNDAOSettingResponse, error)

Check whether the node can propose a setting update

func (*Client) CanProposeTNDAOSettingBondReductionWindowLength added in v1.9.0

func (c *Client) CanProposeTNDAOSettingBondReductionWindowLength(windowLength uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingBondReductionWindowStart added in v1.9.0

func (c *Client) CanProposeTNDAOSettingBondReductionWindowStart(windowStart uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingMembersQuorum added in v1.0.0

func (c *Client) CanProposeTNDAOSettingMembersQuorum(quorum float64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingMembersRplBond added in v1.0.0

func (c *Client) CanProposeTNDAOSettingMembersRplBond(bondAmountWei *big.Int) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingMinipoolUnbondedMax added in v1.0.0

func (c *Client) CanProposeTNDAOSettingMinipoolUnbondedMax(unbondedMinipoolMax uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingPromotionScrubPeriod added in v1.9.0

func (c *Client) CanProposeTNDAOSettingPromotionScrubPeriod(scrubPeriod uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingProposalActionTimespan added in v1.0.0

func (c *Client) CanProposeTNDAOSettingProposalActionTimespan(proposalActionTimespan uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingProposalCooldown added in v1.0.0

func (c *Client) CanProposeTNDAOSettingProposalCooldown(proposalCooldownTimespan uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingProposalExecuteTimespan added in v1.0.0

func (c *Client) CanProposeTNDAOSettingProposalExecuteTimespan(proposalExecuteTimespan uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingProposalVoteDelayTimespan added in v1.0.0

func (c *Client) CanProposeTNDAOSettingProposalVoteDelayTimespan(proposalDelayTimespan uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingProposalVoteTimespan added in v1.0.0

func (c *Client) CanProposeTNDAOSettingProposalVoteTimespan(proposalVoteTimespan uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingScrubPenaltyEnabled added in v1.9.0

func (c *Client) CanProposeTNDAOSettingScrubPenaltyEnabled(enabled bool) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanProposeTNDAOSettingScrubPeriod added in v1.0.0

func (c *Client) CanProposeTNDAOSettingScrubPeriod(scrubPeriod uint64) (api.CanProposeTNDAOSettingResponse, error)

func (*Client) CanRecoverUnclaimedRPLFromLot added in v1.0.0

func (c *Client) CanRecoverUnclaimedRPLFromLot(lotIndex uint64) (api.CanRecoverRPLFromLotResponse, error)

Check whether the node can recover unclaimed RPL from a lot

func (*Client) CanReduceBondAmount added in v1.9.0

func (c *Client) CanReduceBondAmount(address common.Address) (api.CanReduceBondAmountResponse, error)

Check if a minipool's bond can be reduced

func (*Client) CanRefundMinipool

func (c *Client) CanRefundMinipool(address common.Address) (api.CanRefundMinipoolResponse, error)

Check whether a minipool is eligible for a refund

func (*Client) CanRegisterNode

func (c *Client) CanRegisterNode(timezoneLocation string) (api.CanRegisterNodeResponse, error)

Check whether the node can be registered

func (*Client) CanReplaceTNDAOMember added in v1.0.0

func (c *Client) CanReplaceTNDAOMember() (api.CanReplaceTNDAOPositionResponse, error)

Check whether the node can replace its position in the oracle DAO

func (*Client) CanSendMessage added in v1.9.7

func (c *Client) CanSendMessage(address common.Address, message []byte) (api.CanNodeSendMessageResponse, error)

Estimates the gas for sending a zero-value message with a payload

func (*Client) CanSetNodeTimezone added in v1.0.0

func (c *Client) CanSetNodeTimezone(timezoneLocation string) (api.CanSetNodeTimezoneResponse, error)

Checks if the node's timezone location can be set

func (*Client) CanSetNodeWithdrawalAddress added in v1.0.0

func (c *Client) CanSetNodeWithdrawalAddress(withdrawalAddress common.Address, confirm bool) (api.CanSetNodeWithdrawalAddressResponse, error)

Checks if the node's withdrawal address can be set

func (*Client) CanSetStakeRPLForAllowed added in v1.9.4

func (c *Client) CanSetStakeRPLForAllowed(caller common.Address, allowed bool) (api.CanSetStakeRplForAllowedResponse, error)

Checks if the node operate can set RPL stake for allowed

func (*Client) CanSetUseLatestDelegateMinipool added in v1.0.0

func (c *Client) CanSetUseLatestDelegateMinipool(address common.Address, setting bool) (api.CanSetUseLatestDelegateResponse, error)

Check whether a minipool can have its auto-upgrade setting changed

func (*Client) CanStakeMinipool added in v1.2.3

func (c *Client) CanStakeMinipool(address common.Address) (api.CanStakeMinipoolResponse, error)

Check whether a minipool is eligible for staking

func (*Client) CanVoteOnTNDAOProposal added in v1.0.0

func (c *Client) CanVoteOnTNDAOProposal(proposalId uint64) (api.CanVoteOnTNDAOProposalResponse, error)

Check whether the node can vote on a proposal

func (*Client) CancelTNDAOProposal added in v1.0.0

func (c *Client) CancelTNDAOProposal(proposalId uint64) (api.CancelTNDAOProposalResponse, error)

Cancel a proposal made by the node

func (*Client) ChangeWithdrawalCredentials added in v1.9.0

func (c *Client) ChangeWithdrawalCredentials(address common.Address, mnemonic string) (api.ChangeWithdrawalCredentialsResponse, error)

Migrate a solo validator's withdrawal creds to a minipool address

func (*Client) CheckCollateral added in v1.9.0

func (c *Client) CheckCollateral() (api.CheckCollateralResponse, error)

Get the node's collateral info, including pending bond reductions

func (*Client) ClaimFromLot added in v1.0.0

func (c *Client) ClaimFromLot(lotIndex uint64) (api.ClaimFromLotResponse, error)

Claim RPL from a lot

func (*Client) ClearSnapshotDelegate added in v1.4.2

func (c *Client) ClearSnapshotDelegate() (api.ClearSnapshotDelegateResponse, error)

Clear the node's voting snapshot delegate

func (*Client) Close

func (c *Client) Close()

Close client remote connection

func (*Client) CloseMinipool

func (c *Client) CloseMinipool(address common.Address) (api.CloseMinipoolResponse, error)

Close a minipool

func (*Client) ConfirmNodeWithdrawalAddress added in v1.0.0

func (c *Client) ConfirmNodeWithdrawalAddress() (api.SetNodeWithdrawalAddressResponse, error)

Confirm the node's withdrawal address

func (*Client) CreateLot added in v1.0.0

func (c *Client) CreateLot() (api.CreateLotResponse, error)

Create a new lot

func (*Client) CreateVacantMinipool added in v1.9.0

func (c *Client) CreateVacantMinipool(amountWei *big.Int, minFee float64, salt *big.Int, pubkey types.ValidatorPubkey) (api.CreateVacantMinipoolResponse, error)

Create a vacant minipool, which can be used to migrate a solo staker

func (*Client) DelegateRollbackMinipool added in v1.0.0

func (c *Client) DelegateRollbackMinipool(address common.Address) (api.DelegateRollbackResponse, error)

Rollback a minipool delegate

func (*Client) DelegateUpgradeMinipool added in v1.0.0

func (c *Client) DelegateUpgradeMinipool(address common.Address) (api.DelegateUpgradeResponse, error)

Upgrade a minipool delegate

func (*Client) DeleteVolume added in v1.2.1

func (c *Client) DeleteVolume(volume string) (string, error)

Deletes a container

func (*Client) DepositContractInfo added in v1.0.0

func (c *Client) DepositContractInfo() (api.DepositContractInfoResponse, error)

Get the deposit contract info for Rocket Pool and the Beacon Client

func (*Client) DissolveMinipool

func (c *Client) DissolveMinipool(address common.Address) (api.DissolveMinipoolResponse, error)

Dissolve a minipool

func (*Client) Distribute added in v1.5.0

func (c *Client) Distribute() (api.NodeDistributeResponse, error)

Distribute ETH from the node's fee distributor

func (*Client) DistributeBalance added in v1.9.0

func (c *Client) DistributeBalance(address common.Address) (api.DistributeBalanceResponse, error)

Distribute a minipool's ETH balance

func (*Client) DownloadRewardsFile added in v1.9.0

func (c *Client) DownloadRewardsFile(interval uint64) (api.DownloadRewardsFileResponse, error)

Download a rewards info file from IPFS for the given interval

func (*Client) EstimateClearSnapshotDelegateGas added in v1.4.2

func (c *Client) EstimateClearSnapshotDelegateGas() (api.EstimateClearSnapshotDelegateGasResponse, error)

Estimate the gas required to clear the node's voting snapshot delegate

func (*Client) EstimateGasSetEnsName added in v1.7.0

func (c *Client) EstimateGasSetEnsName(name string) (api.SetEnsNameResponse, error)

Estimate the gas required to set an ENS reverse record to a name

func (*Client) EstimateSetSnapshotDelegateGas added in v1.4.2

func (c *Client) EstimateSetSnapshotDelegateGas(address common.Address) (api.EstimateSetSnapshotDelegateGasResponse, error)

Estimate the gas required to set a voting snapshot delegate

func (*Client) ExecuteTNDAOProposal added in v1.0.0

func (c *Client) ExecuteTNDAOProposal(proposalId uint64) (api.ExecuteTNDAOProposalResponse, error)

Execute a proposal

func (*Client) ExitMinipool

func (c *Client) ExitMinipool(address common.Address) (api.ExitMinipoolResponse, error)

Exit a minipool

func (*Client) ExportWallet

func (c *Client) ExportWallet() (api.ExportWalletResponse, error)

Export wallet

func (*Client) FaucetStatus added in v1.0.0

func (c *Client) FaucetStatus() (api.FaucetStatusResponse, error)

Get faucet status

func (*Client) FaucetWithdrawRpl added in v1.0.0

func (c *Client) FaucetWithdrawRpl() (api.FaucetWithdrawRplResponse, error)

Withdraw RPL from the faucet

func (*Client) GenerateRewardsTree added in v1.5.0

func (c *Client) GenerateRewardsTree(index uint64) (api.NetworkGenerateRewardsTreeResponse, error)

Set a request marker for the watchtower to generate the rewards tree for the given interval

func (*Client) GetActiveDAOProposals added in v1.6.0

func (c *Client) GetActiveDAOProposals() (api.NetworkDAOProposalsResponse, error)

GetActiveDAOProposals fetches information about active DAO proposals

func (*Client) GetClientStatus added in v1.5.0

func (c *Client) GetClientStatus() (api.ClientStatusResponse, error)

Gets the status of the configured Execution and Beacon clients

func (*Client) GetClientVolumeName added in v1.2.1

func (c *Client) GetClientVolumeName(container string, volumeTarget string) (string, error)

Gets the name of the client volume

func (*Client) GetClientVolumeSource added in v1.2.1

func (c *Client) GetClientVolumeSource(container string, volumeTarget string) (string, error)

Gets the absolute file path of the client volume

func (*Client) GetDirSizeViaEcMigrator added in v1.4.0

func (c *Client) GetDirSizeViaEcMigrator(container string, targetDir string, image string) (uint64, error)

Gets the size of the target directory via the EC migrator for importing, which should have the same permissions as exporting

func (*Client) GetDistributeBalanceDetails added in v1.9.0

func (c *Client) GetDistributeBalanceDetails() (api.GetDistributeBalanceDetailsResponse, error)

Get the balance distribution details for all of the node's minipools

func (*Client) GetDockerContainerShutdownTime added in v1.1.0

func (c *Client) GetDockerContainerShutdownTime(container string) (time.Time, error)

Get the time that the given container shut down

func (*Client) GetDockerImage added in v1.1.0

func (c *Client) GetDockerImage(container string) (string, error)

Get the current Docker image used by the given container

func (*Client) GetDockerStatus added in v1.1.0

func (c *Client) GetDockerStatus(container string) (string, error)

Get the current Docker image used by the given container

func (*Client) GetEthBalance added in v1.9.0

func (c *Client) GetEthBalance() (api.NodeEthBalanceResponse, error)

Get the ETH balance of the node address

func (*Client) GetGasSettings added in v1.1.0

func (c *Client) GetGasSettings() (float64, float64, uint64)

Get the gas settings

func (*Client) GetInitializeFeeDistributorGas added in v1.5.0

func (c *Client) GetInitializeFeeDistributorGas() (api.NodeInitializeFeeDistributorGasResponse, error)

Get the gas cost for initializing the fee distributor contract

func (*Client) GetLatestDelegate added in v1.9.0

func (c *Client) GetLatestDelegate() (api.GetLatestDelegateResponse, error)

Get the address of the latest minipool delegate contract

func (*Client) GetMinipoolCloseDetailsForNode added in v1.9.0

func (c *Client) GetMinipoolCloseDetailsForNode() (api.GetMinipoolCloseDetailsForNodeResponse, error)

Check all of the node's minipools for closure eligibility, and return the details of the closeable ones

func (*Client) GetMinipoolRescueDissolvedDetailsForNode added in v1.9.4

func (c *Client) GetMinipoolRescueDissolvedDetailsForNode() (api.GetMinipoolRescueDissolvedDetailsForNodeResponse, error)

Check all of the node's minipools for rescue eligibility, and return the details of the rescuable ones

func (*Client) GetNodeStakeRplAllowance added in v1.0.0

func (c *Client) GetNodeStakeRplAllowance() (api.NodeStakeRplAllowanceResponse, error)

Get a node's RPL allowance for the staking contract

func (*Client) GetNodeSwapRplAllowance added in v1.0.0

func (c *Client) GetNodeSwapRplAllowance() (api.NodeSwapRplAllowanceResponse, error)

Get a node's legacy RPL allowance for swapping on the new RPL contract

func (*Client) GetRewardsInfo added in v1.5.0

func (c *Client) GetRewardsInfo() (api.NodeGetRewardsInfoResponse, error)

Get info about your eligible rewards periods, including balances and Merkle proofs

func (*Client) GetServiceVersion added in v0.0.5

func (c *Client) GetServiceVersion() (string, error)

Get the Rocket Pool service version

func (*Client) GetTNDAOMemberSettings added in v1.0.0

func (c *Client) GetTNDAOMemberSettings() (api.GetTNDAOMemberSettingsResponse, error)

Get the member settings

func (*Client) GetTNDAOMinipoolSettings added in v1.0.0

func (c *Client) GetTNDAOMinipoolSettings() (api.GetTNDAOMinipoolSettingsResponse, error)

Get the proposal settings

func (*Client) GetTNDAOProposalSettings added in v1.0.0

func (c *Client) GetTNDAOProposalSettings() (api.GetTNDAOProposalSettingsResponse, error)

Get the proposal settings

func (*Client) GetVanityArtifacts added in v1.0.0

func (c *Client) GetVanityArtifacts(depositAmount *big.Int, nodeAddress string) (api.GetVanityArtifactsResponse, error)

Get the artifacts necessary for vanity address searching

func (*Client) GetVolumeSize added in v1.4.0

func (c *Client) GetVolumeSize(volumeName string) (string, error)

Gets the disk usage of the given volume

func (*Client) ImportKey added in v1.9.0

func (c *Client) ImportKey(address common.Address, mnemonic string) (api.ChangeWithdrawalCredentialsResponse, error)

Import a validator private key for a vacant minipool

func (*Client) IncrementCustomNonce added in v1.0.0

func (c *Client) IncrementCustomNonce()

Increments the custom nonce parameter. This is used for calls that involve multiple transactions, so they don't all have the same nonce.

func (*Client) InitWallet

func (c *Client) InitWallet(derivationPath string) (api.InitWalletResponse, error)

Initialize wallet

func (*Client) InitializeFeeDistributor added in v1.5.0

func (c *Client) InitializeFeeDistributor() (api.NodeInitializeFeeDistributorResponse, error)

Initialize the fee distributor contract

func (*Client) InstallService

func (c *Client) InstallService(verbose, noDeps bool, network, version, path string, dataPath string) error

Install the Rocket Pool service

func (*Client) InstallUpdateTracker added in v1.0.0

func (c *Client) InstallUpdateTracker(verbose bool, version string) error

Install the update tracker

func (*Client) IsAtlasDeployed added in v1.9.0

func (c *Client) IsAtlasDeployed() (api.IsAtlasDeployedResponse, error)

Check if Atlas has been deployed yet

func (*Client) IsFeeDistributorInitialized added in v1.5.0

func (c *Client) IsFeeDistributorInitialized() (api.NodeIsFeeDistributorInitializedResponse, error)

Get the initialization status of the fee distributor contract

func (*Client) IsFirstRun added in v1.3.0

func (c *Client) IsFirstRun() (bool, error)

Returns whether or not this is the first run of the configurator since a previous installation

func (*Client) JoinTNDAO added in v1.0.0

func (c *Client) JoinTNDAO(approvalTxHash common.Hash) (api.JoinTNDAOJoinResponse, error)

Join the oracle DAO (requires an executed invite proposal)

func (*Client) LeaveTNDAO added in v1.0.0

func (c *Client) LeaveTNDAO(bondRefundAddress common.Address) (api.LeaveTNDAOResponse, error)

Leave the oracle DAO (requires an executed leave proposal)

func (*Client) LoadBackupConfig added in v1.3.1

func (c *Client) LoadBackupConfig() (*config.RocketPoolConfig, error)

Load the backup config

func (*Client) LoadConfig added in v1.3.0

func (c *Client) LoadConfig() (*config.RocketPoolConfig, bool, error)

Load the config

func (*Client) MinipoolStatus

func (c *Client) MinipoolStatus() (api.MinipoolStatusResponse, error)

Get minipool status

func (*Client) NetworkStats added in v1.0.0

func (c *Client) NetworkStats() (api.NetworkStatsResponse, error)

Get network stats

func (*Client) NodeBurn

func (c *Client) NodeBurn(amountWei *big.Int, token string) (api.NodeBurnResponse, error)

Burn tokens owned by the node for ETH

func (*Client) NodeClaimAndStakeRewards added in v1.5.0

func (c *Client) NodeClaimAndStakeRewards(indices []uint64, stakeAmountWei *big.Int) (api.NodeClaimAndStakeRewardsResponse, error)

Claim rewards for the given reward intervals and restake RPL automatically

func (*Client) NodeClaimRewards added in v1.5.0

func (c *Client) NodeClaimRewards(indices []uint64) (api.NodeClaimRewardsResponse, error)

Claim rewards for the given reward intervals

func (*Client) NodeClaimRpl added in v1.0.0

func (c *Client) NodeClaimRpl() (api.NodeClaimRplResponse, error)

Claim available RPL rewards

func (*Client) NodeDeposit

func (c *Client) NodeDeposit(amountWei *big.Int, minFee float64, salt *big.Int, useCreditBalance bool, submit bool) (api.NodeDepositResponse, error)

Make a node deposit

func (*Client) NodeFee

func (c *Client) NodeFee() (api.NodeFeeResponse, error)

Get network node fee

func (*Client) NodeGetSmoothingPoolRegistrationStatus added in v1.5.0

func (c *Client) NodeGetSmoothingPoolRegistrationStatus() (api.GetSmoothingPoolRegistrationStatusResponse, error)

Check whether or not the node is opted into the Smoothing Pool

func (*Client) NodeRewards added in v1.0.0

func (c *Client) NodeRewards() (api.NodeRewardsResponse, error)

Get node RPL rewards status

func (*Client) NodeSend

func (c *Client) NodeSend(amountWei *big.Int, token string, toAddress common.Address) (api.NodeSendResponse, error)

Send tokens from the node to an address

func (*Client) NodeSetSmoothingPoolStatus added in v1.5.0

func (c *Client) NodeSetSmoothingPoolStatus(status bool) (api.SetSmoothingPoolRegistrationStatusResponse, error)

Sets the node's Smoothing Pool opt-in status

func (*Client) NodeStakeRpl added in v1.0.0

func (c *Client) NodeStakeRpl(amountWei *big.Int) (api.NodeStakeRplStakeResponse, error)

Stake RPL against the node

func (*Client) NodeStakeRplApprovalGas added in v1.0.0

func (c *Client) NodeStakeRplApprovalGas(amountWei *big.Int) (api.NodeStakeRplApproveGasResponse, error)

Get the gas estimate for approving new RPL interaction

func (*Client) NodeStakeRplApprove added in v1.0.0

func (c *Client) NodeStakeRplApprove(amountWei *big.Int) (api.NodeStakeRplApproveResponse, error)

Approve RPL for staking against the node

func (*Client) NodeStatus

func (c *Client) NodeStatus() (api.NodeStatusResponse, error)

Get node status

func (*Client) NodeSwapRpl added in v1.0.0

func (c *Client) NodeSwapRpl(amountWei *big.Int) (api.NodeSwapRplSwapResponse, error)

Swap node's old RPL tokens for new RPL tokens

func (*Client) NodeSwapRplApprovalGas added in v1.0.0

func (c *Client) NodeSwapRplApprovalGas(amountWei *big.Int) (api.NodeSwapRplApproveGasResponse, error)

Get the gas estimate for approving legacy RPL interaction

func (*Client) NodeSwapRplApprove added in v1.0.0

func (c *Client) NodeSwapRplApprove(amountWei *big.Int) (api.NodeSwapRplApproveResponse, error)

Approves old RPL for a token swap

func (*Client) NodeSync added in v1.0.0

func (c *Client) NodeSync() (api.NodeSyncProgressResponse, error)

Get node sync progress

func (*Client) NodeWaitAndStakeRpl added in v1.0.0

func (c *Client) NodeWaitAndStakeRpl(amountWei *big.Int, approvalTxHash common.Hash) (api.NodeStakeRplStakeResponse, error)

Stake RPL against the node waiting for approvalTxHash to be included in a block first

func (*Client) NodeWaitAndSwapRpl added in v1.0.0

func (c *Client) NodeWaitAndSwapRpl(amountWei *big.Int, approvalTxHash common.Hash) (api.NodeSwapRplSwapResponse, error)

Swap node's old RPL tokens for new RPL tokens, waiting for the approval to be included in a block first

func (*Client) NodeWithdrawRpl added in v1.0.0

func (c *Client) NodeWithdrawRpl(amountWei *big.Int) (api.NodeWithdrawRplResponse, error)

Withdraw RPL staked against the node

func (*Client) PauseService

func (c *Client) PauseService(composeFiles []string) error

Pause the Rocket Pool service

func (*Client) PrintMultiTxWarning added in v1.0.0

func (rp *Client) PrintMultiTxWarning()

Print a warning about the gas estimate for operations that have multiple transactions

func (*Client) PrintServiceCompose added in v1.3.1

func (c *Client) PrintServiceCompose(composeFiles []string) error

Print the Rocket Pool service compose config

func (*Client) PrintServiceLogs

func (c *Client) PrintServiceLogs(composeFiles []string, tail string, serviceNames ...string) error

Print the Rocket Pool service logs

func (*Client) PrintServiceStats

func (c *Client) PrintServiceStats(composeFiles []string) error

Print the Rocket Pool service stats

func (*Client) PrintServiceStatus

func (c *Client) PrintServiceStatus(composeFiles []string) error

Print the Rocket Pool service status

func (*Client) ProcessQueue

func (c *Client) ProcessQueue() (api.ProcessQueueResponse, error)

Process the queue

func (*Client) PromoteMinipool added in v1.9.0

func (c *Client) PromoteMinipool(address common.Address) (api.PromoteMinipoolResponse, error)

Promote a minipool

func (*Client) ProposeInviteToTNDAO added in v1.0.0

func (c *Client) ProposeInviteToTNDAO(memberAddress common.Address, memberId, memberUrl string) (api.ProposeTNDAOInviteResponse, error)

Propose inviting a new member

func (*Client) ProposeKickFromTNDAO added in v1.0.0

func (c *Client) ProposeKickFromTNDAO(memberAddress common.Address, fineAmountWei *big.Int) (api.ProposeTNDAOKickResponse, error)

Propose kicking a member

func (*Client) ProposeLeaveTNDAO added in v1.0.0

func (c *Client) ProposeLeaveTNDAO() (api.ProposeTNDAOLeaveResponse, error)

Propose leaving the oracle DAO

func (*Client) ProposeReplaceTNDAOMember added in v1.0.0

func (c *Client) ProposeReplaceTNDAOMember(memberAddress common.Address, memberId, memberUrl string) (api.ProposeTNDAOReplaceResponse, error)

Propose replacing the node's position with a new member

func (*Client) ProposeTNDAOSettingBondReductionWindowLength added in v1.9.0

func (c *Client) ProposeTNDAOSettingBondReductionWindowLength(windowLength uint64) (api.ProposeTNDAOSettingBondReductionWindowLengthResponse, error)

func (*Client) ProposeTNDAOSettingBondReductionWindowStart added in v1.9.0

func (c *Client) ProposeTNDAOSettingBondReductionWindowStart(windowStart uint64) (api.ProposeTNDAOSettingBondReductionWindowStartResponse, error)

func (*Client) ProposeTNDAOSettingMembersQuorum added in v1.0.0

func (c *Client) ProposeTNDAOSettingMembersQuorum(quorum float64) (api.ProposeTNDAOSettingMembersQuorumResponse, error)

Propose a setting update

func (*Client) ProposeTNDAOSettingMembersRplBond added in v1.0.0

func (c *Client) ProposeTNDAOSettingMembersRplBond(bondAmountWei *big.Int) (api.ProposeTNDAOSettingMembersRplBondResponse, error)

func (*Client) ProposeTNDAOSettingMinipoolUnbondedMax added in v1.0.0

func (c *Client) ProposeTNDAOSettingMinipoolUnbondedMax(unbondedMinipoolMax uint64) (api.ProposeTNDAOSettingMinipoolUnbondedMaxResponse, error)

func (*Client) ProposeTNDAOSettingPromotionScrubPeriod added in v1.9.0

func (c *Client) ProposeTNDAOSettingPromotionScrubPeriod(scrubPeriod uint64) (api.ProposeTNDAOSettingPromotionScrubPeriodResponse, error)

func (*Client) ProposeTNDAOSettingProposalActionTimespan added in v1.0.0

func (c *Client) ProposeTNDAOSettingProposalActionTimespan(proposalActionTimespan uint64) (api.ProposeTNDAOSettingProposalActionTimespanResponse, error)

func (*Client) ProposeTNDAOSettingProposalCooldown added in v1.0.0

func (c *Client) ProposeTNDAOSettingProposalCooldown(proposalCooldownTimespan uint64) (api.ProposeTNDAOSettingProposalCooldownResponse, error)

func (*Client) ProposeTNDAOSettingProposalExecuteTimespan added in v1.0.0

func (c *Client) ProposeTNDAOSettingProposalExecuteTimespan(proposalExecuteTimespan uint64) (api.ProposeTNDAOSettingProposalExecuteTimespanResponse, error)

func (*Client) ProposeTNDAOSettingProposalVoteDelayTimespan added in v1.0.0

func (c *Client) ProposeTNDAOSettingProposalVoteDelayTimespan(proposalDelayTimespan uint64) (api.ProposeTNDAOSettingProposalVoteDelayTimespanResponse, error)

func (*Client) ProposeTNDAOSettingProposalVoteTimespan added in v1.0.0

func (c *Client) ProposeTNDAOSettingProposalVoteTimespan(proposalVoteTimespan uint64) (api.ProposeTNDAOSettingProposalVoteTimespanResponse, error)

func (*Client) ProposeTNDAOSettingScrubPenaltyEnabled added in v1.9.0

func (c *Client) ProposeTNDAOSettingScrubPenaltyEnabled(enabled bool) (api.ProposeTNDAOSettingScrubPenaltyEnabledResponse, error)

func (*Client) ProposeTNDAOSettingScrubPeriod added in v1.0.0

func (c *Client) ProposeTNDAOSettingScrubPeriod(scrubPeriod uint64) (api.ProposeTNDAOSettingScrubPeriodResponse, error)

func (*Client) PurgeAllKeys added in v1.9.0

func (c *Client) PurgeAllKeys(composeFiles []string) error

Deletes the node wallet and all validator keys, and restarts the Docker containers

func (*Client) QueueStatus

func (c *Client) QueueStatus() (api.QueueStatusResponse, error)

Get queue status

func (*Client) RebuildWallet added in v0.0.5

func (c *Client) RebuildWallet() (api.RebuildWalletResponse, error)

Rebuild wallet

func (*Client) RecoverUnclaimedRPLFromLot added in v1.0.0

func (c *Client) RecoverUnclaimedRPLFromLot(lotIndex uint64) (api.RecoverRPLFromLotResponse, error)

Recover unclaimed RPL from a lot (returning it to the auction contract)

func (*Client) RecoverWallet

func (c *Client) RecoverWallet(mnemonic string, skipValidatorKeyRecovery bool, derivationPath string, walletIndex uint) (api.RecoverWalletResponse, error)

Recover wallet

func (*Client) ReduceBondAmount added in v1.9.0

func (c *Client) ReduceBondAmount(address common.Address) (api.ReduceBondAmountResponse, error)

Reduce a minipool's bond

func (*Client) RefundMinipool

func (c *Client) RefundMinipool(address common.Address) (api.RefundMinipoolResponse, error)

Refund ETH from a minipool

func (*Client) RegisterNode

func (c *Client) RegisterNode(timezoneLocation string) (api.RegisterNodeResponse, error)

Register the node

func (*Client) RemoveContainer added in v1.2.1

func (c *Client) RemoveContainer(container string) (string, error)

Deletes a container

func (*Client) RemoveUpgradeFlagFile added in v1.3.1

func (c *Client) RemoveUpgradeFlagFile() error

Remove the upgrade flag file

func (*Client) ReplaceTNDAOMember added in v1.0.0

func (c *Client) ReplaceTNDAOMember() (api.ReplaceTNDAOPositionResponse, error)

Replace the node's position in the oracle DAO (requires an executed replace proposal)

func (*Client) RescueDissolvedMinipool added in v1.9.4

func (c *Client) RescueDissolvedMinipool(address common.Address, amount *big.Int) (api.RescueDissolvedMinipoolResponse, error)

Rescue a dissolved minipool by depositing ETH for it to the Beacon deposit contract

func (*Client) ResolveEnsName added in v1.7.0

func (c *Client) ResolveEnsName(name string) (api.ResolveEnsNameResponse, error)

func (*Client) RestartContainer added in v1.5.0

func (c *Client) RestartContainer(container string) (string, error)

Restart a container

func (*Client) RestartVc added in v1.9.0

func (c *Client) RestartVc() (api.RestartVcResponse, error)

Restarts the Validator client

func (*Client) ReverseResolveEnsName added in v1.7.0

func (c *Client) ReverseResolveEnsName(name string) (api.ResolveEnsNameResponse, error)

func (*Client) RplPrice added in v1.0.0

func (c *Client) RplPrice() (api.RplPriceResponse, error)

Get network RPL price

func (*Client) RunEcMigrator added in v1.4.0

func (c *Client) RunEcMigrator(container string, volume string, targetDir string, mode string, image string) error

Runs the EC migrator

func (*Client) RunNethermindPruneStarter added in v1.4.3

func (c *Client) RunNethermindPruneStarter(container string) error

Runs the prune provisioner

func (*Client) RunPruneProvisioner added in v1.2.0

func (c *Client) RunPruneProvisioner(container string, volume string, image string) error

Runs the prune provisioner

func (*Client) SaveConfig added in v1.3.0

func (c *Client) SaveConfig(cfg *config.RocketPoolConfig) error

Save the config

func (*Client) SearchAndRecoverWallet added in v1.4.2

func (c *Client) SearchAndRecoverWallet(mnemonic string, address common.Address, skipValidatorKeyRecovery bool) (api.SearchAndRecoverWalletResponse, error)

Search and recover wallet

func (*Client) SendMessage added in v1.9.7

func (c *Client) SendMessage(address common.Address, message []byte) (api.NodeSendMessageResponse, error)

Sends a zero-value message with a payload

func (*Client) SetClientStatusFlags added in v1.5.0

func (c *Client) SetClientStatusFlags(ignoreSyncCheck bool, forceFallbacks bool)

Set the flags for ignoring EC and CC sync checks and forcing fallbacks to prevent unnecessary duplication of effort by the API during CLI commands

func (*Client) SetEnsName added in v1.7.0

func (c *Client) SetEnsName(name string) (api.SetEnsNameResponse, error)

Set an ENS reverse record to a name

func (*Client) SetNodeTimezone

func (c *Client) SetNodeTimezone(timezoneLocation string) (api.SetNodeTimezoneResponse, error)

Set the node's timezone location

func (*Client) SetNodeWithdrawalAddress added in v1.0.0

func (c *Client) SetNodeWithdrawalAddress(withdrawalAddress common.Address, confirm bool) (api.SetNodeWithdrawalAddressResponse, error)

Set the node's withdrawal address

func (*Client) SetPassword

func (c *Client) SetPassword(password string) (api.SetPasswordResponse, error)

Set wallet password

func (*Client) SetSnapshotDelegate added in v1.4.2

func (c *Client) SetSnapshotDelegate(address common.Address) (api.SetSnapshotDelegateResponse, error)

Set a voting snapshot delegate for the node

func (*Client) SetStakeRPLForAllowed added in v1.9.4

func (c *Client) SetStakeRPLForAllowed(caller common.Address, allowed bool) (api.SetStakeRplForAllowedResponse, error)

Sets the allow state of another address staking on behalf of the node

func (*Client) SetUseLatestDelegateMinipool added in v1.0.0

func (c *Client) SetUseLatestDelegateMinipool(address common.Address, setting bool) (api.SetUseLatestDelegateResponse, error)

Change a minipool's auto-upgrade setting

func (*Client) SignMessage added in v1.5.1

func (c *Client) SignMessage(message string) (api.NodeSignResponse, error)

Use the node private key to sign an arbitrary message

func (*Client) StakeMinipool added in v1.2.3

func (c *Client) StakeMinipool(address common.Address) (api.StakeMinipoolResponse, error)

Stake a minipool

func (*Client) StartContainer added in v1.2.0

func (c *Client) StartContainer(container string) (string, error)

Start a container

func (*Client) StartService

func (c *Client) StartService(composeFiles []string) error

Start the Rocket Pool service

func (*Client) StopContainer added in v1.1.0

func (c *Client) StopContainer(container string) (string, error)

Shut down a container

func (*Client) StopService

func (c *Client) StopService(composeFiles []string) error

Stop the Rocket Pool service

func (*Client) TNDAOMembers added in v1.0.0

func (c *Client) TNDAOMembers() (api.TNDAOMembersResponse, error)

Get oracle DAO members

func (*Client) TNDAOProposal added in v1.0.0

func (c *Client) TNDAOProposal(id uint64) (api.TNDAOProposalResponse, error)

Get a single oracle DAO proposal

func (*Client) TNDAOProposals added in v1.0.0

func (c *Client) TNDAOProposals() (api.TNDAOProposalsResponse, error)

Get oracle DAO proposals

func (*Client) TNDAOStatus added in v1.0.0

func (c *Client) TNDAOStatus() (api.TNDAOStatusResponse, error)

Get oracle DAO status

func (*Client) TerminateDataFolder added in v1.3.0

func (c *Client) TerminateDataFolder() (api.TerminateDataFolderResponse, error)

Deletes the data folder including the wallet file, password file, and all validator keys. Don't use this unless you have a very good reason to do it (such as switching from Prater to Mainnet).

func (*Client) TerminateService added in v1.9.0

func (c *Client) TerminateService(composeFiles []string, configPath string) error

Stop the Rocket Pool service and remove the config folder

func (*Client) TestRecoverWallet added in v1.4.3

func (c *Client) TestRecoverWallet(mnemonic string, skipValidatorKeyRecovery bool, derivationPath string, walletIndex uint) (api.RecoverWalletResponse, error)

Recover wallet

func (*Client) TestSearchAndRecoverWallet added in v1.4.3

func (c *Client) TestSearchAndRecoverWallet(mnemonic string, address common.Address, skipValidatorKeyRecovery bool) (api.SearchAndRecoverWalletResponse, error)

Search and recover wallet

func (*Client) TimezoneMap added in v1.0.0

func (c *Client) TimezoneMap() (api.NetworkTimezonesResponse, error)

Get the timezone map

func (*Client) UpdatePrometheusConfiguration added in v1.0.0

func (c *Client) UpdatePrometheusConfiguration(settings map[string]string) error

Load the Prometheus template, do an environment variable substitution, and save it

func (*Client) VoteOnTNDAOProposal added in v1.0.0

func (c *Client) VoteOnTNDAOProposal(proposalId uint64, support bool) (api.VoteOnTNDAOProposalResponse, error)

Vote on a proposal

func (*Client) WaitForTransaction added in v1.0.0

func (c *Client) WaitForTransaction(txHash common.Hash) (api.APIResponse, error)

Wait for a transaction

func (*Client) WalletStatus

func (c *Client) WalletStatus() (api.WalletStatusResponse, error)

Get wallet status

func (*Client) WithReady added in v1.10.0

func (c *Client) WithReady() (*Client, error)

Check the status of a newly created client and ensure the eth clients are synced and ready

func (*Client) WithStatus added in v1.10.0

func (c *Client) WithStatus() (*Client, bool, error)

Check the status of a newly created client and return it Only use this function from commands that may work without the clients being synced- most users should use WithReady instead

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL