services

package
v1.12.1 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2024 License: GPL-3.0 Imports: 38 Imported by: 1

Documentation

Index

Constants

View Source
const BeaconClientSyncTimeout = 16 // 16 seconds
View Source
const EthClientSyncTimeout = 16 // 16 seconds

Settings

Variables

This section is empty.

Functions

func GetConfig

func GetConfig(c *cli.Context) (*config.RocketPoolConfig, error)

func GetDocker

func GetDocker(c *cli.Context) (*client.Client, error)

func GetEthClientLatestBlockTimestamp added in v1.1.0

func GetEthClientLatestBlockTimestamp(ec rocketpool.ExecutionClient) (uint64, error)

func GetPasswordManager

func GetPasswordManager(c *cli.Context) (*passwords.PasswordManager, error)

func GetRocketPool

func GetRocketPool(c *cli.Context) (*rocketpool.RocketPool, error)

func GetRplFaucet added in v1.0.0

func GetRplFaucet(c *cli.Context) (*contracts.RPLFaucet, error)

func GetSnapshotDelegation added in v1.4.2

func GetSnapshotDelegation(c *cli.Context) (*contracts.SnapshotDelegation, error)

func GetWallet

func GetWallet(c *cli.Context) (*wallet.Wallet, error)

func IsSyncWithinThreshold added in v1.4.0

func IsSyncWithinThreshold(ec rocketpool.ExecutionClient) (bool, time.Time, error)

Confirm the EC's latest block is within the threshold of the current system clock

func RequireBeaconClientSynced

func RequireBeaconClientSynced(c *cli.Context) error

func RequireEthClientSynced

func RequireEthClientSynced(c *cli.Context) error

func RequireNodePassword

func RequireNodePassword(c *cli.Context) error

func RequireNodeRegistered

func RequireNodeRegistered(c *cli.Context) error

func RequireNodeTrusted added in v1.0.0

func RequireNodeTrusted(c *cli.Context) error

func RequireNodeWallet

func RequireNodeWallet(c *cli.Context) error

func RequireRocketStorage

func RequireRocketStorage(c *cli.Context) error

func RequireRplFaucet added in v1.0.0

func RequireRplFaucet(c *cli.Context) error

func WaitBeaconClientSynced

func WaitBeaconClientSynced(c *cli.Context, verbose bool) error

func WaitEthClientSynced

func WaitEthClientSynced(c *cli.Context, verbose bool) error

func WaitNodePassword

func WaitNodePassword(c *cli.Context, verbose bool) error

func WaitNodeRegistered

func WaitNodeRegistered(c *cli.Context, verbose bool) error

func WaitNodeWallet

func WaitNodeWallet(c *cli.Context, verbose bool) error

func WaitRocketStorage

func WaitRocketStorage(c *cli.Context, verbose bool) error

Types

type BeaconClientManager added in v1.5.0

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

This is a proxy for multiple Beacon clients, providing natural fallback support if one of them fails.

func GetBeaconClient

func GetBeaconClient(c *cli.Context) (*BeaconClientManager, error)

func NewBeaconClientManager added in v1.5.0

func NewBeaconClientManager(cfg *config.RocketPoolConfig) (*BeaconClientManager, error)

Creates a new BeaconClientManager instance based on the Rocket Pool config

func (*BeaconClientManager) ChangeWithdrawalCredentials added in v1.9.0

func (m *BeaconClientManager) ChangeWithdrawalCredentials(validatorIndex string, fromBlsPubkey types.ValidatorPubkey, toExecutionAddress common.Address, signature types.ValidatorSignature) error

Change the withdrawal credentials for a validator

func (*BeaconClientManager) CheckStatus added in v1.5.0

func (m *BeaconClientManager) CheckStatus() *api.ClientManagerStatus

func (*BeaconClientManager) Close added in v1.5.0

func (m *BeaconClientManager) Close() error

Close the connection to the Beacon client

func (*BeaconClientManager) ExitValidator added in v1.5.0

func (m *BeaconClientManager) ExitValidator(validatorIndex string, epoch uint64, signature types.ValidatorSignature) error

Voluntarily exit a validator

func (*BeaconClientManager) GetAttestations added in v1.6.0

func (m *BeaconClientManager) GetAttestations(blockId string) ([]beacon.AttestationInfo, bool, error)

Get the attestations in a Beacon chain block

func (*BeaconClientManager) GetBeaconBlock added in v1.5.0

func (m *BeaconClientManager) GetBeaconBlock(blockId string) (beacon.BeaconBlock, bool, error)

Get a Beacon chain block

func (*BeaconClientManager) GetBeaconBlockHeader added in v1.12.0

func (m *BeaconClientManager) GetBeaconBlockHeader(blockId string) (beacon.BeaconBlockHeader, bool, error)

func (*BeaconClientManager) GetBeaconHead added in v1.5.0

func (m *BeaconClientManager) GetBeaconHead() (beacon.BeaconHead, error)

Get the Beacon chain's head information

func (*BeaconClientManager) GetClientType added in v1.5.0

func (m *BeaconClientManager) GetClientType() (beacon.BeaconClientType, error)

Get the client's process mode

func (*BeaconClientManager) GetCommitteesForEpoch added in v1.5.0

func (m *BeaconClientManager) GetCommitteesForEpoch(epoch *uint64) (beacon.Committees, error)

Get the attestation committees for an epoch

func (*BeaconClientManager) GetDomainData added in v1.5.0

func (m *BeaconClientManager) GetDomainData(domainType []byte, epoch uint64, useGenesisFork bool) ([]byte, error)

Get the Beacon chain's domain data

func (*BeaconClientManager) GetEth1DataForEth2Block added in v1.5.0

func (m *BeaconClientManager) GetEth1DataForEth2Block(blockId string) (beacon.Eth1Data, bool, error)

Get the EL data for a CL block

func (*BeaconClientManager) GetEth2Config added in v1.5.0

func (m *BeaconClientManager) GetEth2Config() (beacon.Eth2Config, error)

Get the Beacon configuration

func (*BeaconClientManager) GetEth2DepositContract added in v1.5.0

func (m *BeaconClientManager) GetEth2DepositContract() (beacon.Eth2DepositContract, error)

Get the Beacon configuration

func (*BeaconClientManager) GetSyncStatus added in v1.5.0

func (m *BeaconClientManager) GetSyncStatus() (beacon.SyncStatus, error)

Get the client's sync status

func (*BeaconClientManager) GetValidatorIndex added in v1.5.0

func (m *BeaconClientManager) GetValidatorIndex(pubkey types.ValidatorPubkey) (string, error)

Get a validator's index

func (*BeaconClientManager) GetValidatorProposerDuties added in v1.5.0

func (m *BeaconClientManager) GetValidatorProposerDuties(indices []string, epoch uint64) (map[string]uint64, error)

Get a validator's proposer duties

func (*BeaconClientManager) GetValidatorStatus added in v1.5.0

Get a validator's status by its pubkey

func (*BeaconClientManager) GetValidatorStatusByIndex added in v1.5.0

func (m *BeaconClientManager) GetValidatorStatusByIndex(index string, opts *beacon.ValidatorStatusOptions) (beacon.ValidatorStatus, error)

Get a validator's status by its index

func (*BeaconClientManager) GetValidatorStatuses added in v1.5.0

Get the statuses of multiple validators by their pubkeys

func (*BeaconClientManager) GetValidatorSyncDuties added in v1.5.0

func (m *BeaconClientManager) GetValidatorSyncDuties(indices []string, epoch uint64) (map[string]bool, error)

Get a validator's sync duties

type ExecutionClientManager added in v1.4.0

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

This is a proxy for multiple ETH clients, providing natural fallback support if one of them fails.

func GetEthClient

func GetEthClient(c *cli.Context) (*ExecutionClientManager, error)

func NewExecutionClientManager added in v1.4.0

func NewExecutionClientManager(cfg *config.RocketPoolConfig) (*ExecutionClientManager, error)

Creates a new ExecutionClientManager instance based on the Rocket Pool config

func (*ExecutionClientManager) BalanceAt added in v1.4.0

func (p *ExecutionClientManager) BalanceAt(ctx context.Context, account common.Address, blockNumber *big.Int) (*big.Int, error)

BalanceAt returns the wei balance of the given account. The block number can be nil, in which case the balance is taken from the latest known block.

func (*ExecutionClientManager) BlockNumber added in v1.4.0

func (p *ExecutionClientManager) BlockNumber(ctx context.Context) (uint64, error)

BlockNumber returns the most recent block number

func (*ExecutionClientManager) CallContract added in v1.4.0

func (p *ExecutionClientManager) CallContract(ctx context.Context, call ethereum.CallMsg, blockNumber *big.Int) ([]byte, error)

CallContract executes an Ethereum contract call with the specified data as the input.

func (*ExecutionClientManager) CheckStatus added in v1.4.0

func (*ExecutionClientManager) CodeAt added in v1.4.0

func (p *ExecutionClientManager) CodeAt(ctx context.Context, contract common.Address, blockNumber *big.Int) ([]byte, error)

CodeAt returns the code of the given account. This is needed to differentiate between contract internal errors and the local chain being out of sync.

func (*ExecutionClientManager) EstimateGas added in v1.4.0

func (p *ExecutionClientManager) EstimateGas(ctx context.Context, call ethereum.CallMsg) (gas uint64, err error)

EstimateGas tries to estimate the gas needed to execute a specific transaction based on the current pending state of the backend blockchain. There is no guarantee that this is the true gas limit requirement as other transactions may be added or removed by miners, but it should provide a basis for setting a reasonable default.

func (*ExecutionClientManager) FilterLogs added in v1.4.0

func (p *ExecutionClientManager) FilterLogs(ctx context.Context, query ethereum.FilterQuery) ([]types.Log, error)

FilterLogs executes a log filter operation, blocking during execution and returning all the results in one batch.

TODO(karalabe): Deprecate when the subscription one can return past data too.

func (*ExecutionClientManager) HeaderByHash added in v1.5.0

func (p *ExecutionClientManager) HeaderByHash(ctx context.Context, hash common.Hash) (*types.Header, error)

HeaderByHash returns the block header with the given hash.

func (*ExecutionClientManager) HeaderByNumber added in v1.4.0

func (p *ExecutionClientManager) HeaderByNumber(ctx context.Context, number *big.Int) (*types.Header, error)

HeaderByNumber returns a block header from the current canonical chain. If number is nil, the latest known header is returned.

func (*ExecutionClientManager) NonceAt added in v1.4.0

func (p *ExecutionClientManager) NonceAt(ctx context.Context, account common.Address, blockNumber *big.Int) (uint64, error)

NonceAt returns the account nonce of the given account. The block number can be nil, in which case the nonce is taken from the latest known block.

func (*ExecutionClientManager) PendingCodeAt added in v1.4.0

func (p *ExecutionClientManager) PendingCodeAt(ctx context.Context, account common.Address) ([]byte, error)

PendingCodeAt returns the code of the given account in the pending state.

func (*ExecutionClientManager) PendingNonceAt added in v1.4.0

func (p *ExecutionClientManager) PendingNonceAt(ctx context.Context, account common.Address) (uint64, error)

PendingNonceAt retrieves the current pending nonce associated with an account.

func (*ExecutionClientManager) SendTransaction added in v1.4.0

func (p *ExecutionClientManager) SendTransaction(ctx context.Context, tx *types.Transaction) error

SendTransaction injects the transaction into the pending pool for execution.

func (*ExecutionClientManager) SubscribeFilterLogs added in v1.4.0

func (p *ExecutionClientManager) SubscribeFilterLogs(ctx context.Context, query ethereum.FilterQuery, ch chan<- types.Log) (ethereum.Subscription, error)

SubscribeFilterLogs creates a background log filtering operation, returning a subscription immediately, which can be used to stream the found events.

func (*ExecutionClientManager) SuggestGasPrice added in v1.4.0

func (p *ExecutionClientManager) SuggestGasPrice(ctx context.Context) (*big.Int, error)

SuggestGasPrice retrieves the currently suggested gas price to allow a timely execution of a transaction.

func (*ExecutionClientManager) SuggestGasTipCap added in v1.4.0

func (p *ExecutionClientManager) SuggestGasTipCap(ctx context.Context) (*big.Int, error)

SuggestGasTipCap retrieves the currently suggested 1559 priority fee to allow a timely execution of a transaction.

func (*ExecutionClientManager) SyncProgress added in v1.4.0

func (p *ExecutionClientManager) SyncProgress(ctx context.Context) (*ethereum.SyncProgress, error)

SyncProgress retrieves the current progress of the sync algorithm. If there's no sync currently running, it returns nil.

func (*ExecutionClientManager) TransactionByHash added in v1.4.0

func (p *ExecutionClientManager) TransactionByHash(ctx context.Context, hash common.Hash) (tx *types.Transaction, isPending bool, err error)

TransactionByHash returns the transaction with the given hash.

func (*ExecutionClientManager) TransactionReceipt added in v1.4.0

func (p *ExecutionClientManager) TransactionReceipt(ctx context.Context, txHash common.Hash) (*types.Receipt, error)

TransactionReceipt returns the receipt of a transaction by transaction hash. Note that the receipt is not available for pending transactions.

Jump to

Keyboard shortcuts

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