Documentation ¶
Index ¶
- func New(ctx context.Context, params ...Parameter) (eth2client.Service, error)
- type Error
- type Parameter
- func WithAddress(address string) Parameter
- func WithExtraHeaders(headers map[string]string) Parameter
- func WithIndexChunkSize(indexChunkSize int) Parameter
- func WithLogLevel(logLevel zerolog.Level) Parameter
- func WithPubKeyChunkSize(pubKeyChunkSize int) Parameter
- func WithTimeout(timeout time.Duration) Parameter
- type Service
- func (s *Service) Address() string
- func (s *Service) AggregateAttestation(ctx context.Context, slot phase0.Slot, attestationDataRoot phase0.Root) (*phase0.Attestation, error)
- func (s *Service) AttestationData(ctx context.Context, slot phase0.Slot, committeeIndex phase0.CommitteeIndex) (*phase0.AttestationData, error)
- func (s *Service) AttestationPool(ctx context.Context, slot phase0.Slot) ([]*phase0.Attestation, error)
- func (s *Service) AttesterDuties(ctx context.Context, epoch phase0.Epoch, ...) ([]*api.AttesterDuty, error)
- func (s *Service) BeaconBlockHeader(ctx context.Context, blockID string) (*api.BeaconBlockHeader, error)
- func (s *Service) BeaconBlockProposal(ctx context.Context, slot phase0.Slot, randaoReveal phase0.BLSSignature, ...) (*spec.VersionedBeaconBlock, error)
- func (s *Service) BeaconBlockRoot(ctx context.Context, blockID string) (*phase0.Root, error)
- func (s *Service) BeaconCommittees(ctx context.Context, stateID string) ([]*api.BeaconCommittee, error)
- func (s *Service) BeaconCommitteesAtEpoch(ctx context.Context, stateID string, epoch phase0.Epoch) ([]*api.BeaconCommittee, error)
- func (s *Service) BeaconState(ctx context.Context, stateID string) (*spec.VersionedBeaconState, error)
- func (s *Service) BeaconStateRandao(ctx context.Context, stateID string) (*phase0.Root, error)
- func (s *Service) BeaconStateRoot(ctx context.Context, stateID string) (*spec.Root, error)
- func (s *Service) BlindedBeaconBlockProposal(ctx context.Context, slot phase0.Slot, randaoReveal phase0.BLSSignature, ...) (*api.VersionedBlindedBeaconBlock, error)
- func (s *Service) DepositContract(ctx context.Context) (*api.DepositContract, error)
- func (s *Service) Domain(ctx context.Context, domainType phase0.DomainType, epoch phase0.Epoch) (phase0.Domain, error)
- func (s *Service) EpochFromStateID(ctx context.Context, stateID string) (phase0.Epoch, error)
- func (s *Service) Events(ctx context.Context, topics []string, handler client.EventHandlerFunc) error
- func (s *Service) FarFutureEpoch(ctx context.Context) (phase0.Epoch, error)
- func (s *Service) Finality(ctx context.Context, stateID string) (*api.Finality, error)
- func (s *Service) Fork(ctx context.Context, stateID string) (*phase0.Fork, error)
- func (s *Service) ForkSchedule(ctx context.Context) ([]*phase0.Fork, error)
- func (s *Service) Genesis(ctx context.Context) (*api.Genesis, error)
- func (s *Service) GenesisDomain(ctx context.Context, domainType phase0.DomainType) (phase0.Domain, error)
- func (s *Service) GenesisTime(ctx context.Context) (time.Time, error)
- func (s *Service) Name() string
- func (s *Service) NodeClient(ctx context.Context) (string, error)
- func (s *Service) NodeSyncing(ctx context.Context) (*api.SyncState, error)
- func (s *Service) NodeVersion(ctx context.Context) (string, error)
- func (s *Service) ProposerDuties(ctx context.Context, epoch phase0.Epoch, ...) ([]*api.ProposerDuty, error)
- func (s *Service) SignedBeaconBlock(ctx context.Context, blockID string) (*spec.VersionedSignedBeaconBlock, error)
- func (s *Service) SlotDuration(ctx context.Context) (time.Duration, error)
- func (s *Service) SlotFromStateID(ctx context.Context, stateID string) (phase0.Slot, error)
- func (s *Service) SlotsPerEpoch(ctx context.Context) (uint64, error)
- func (s *Service) Spec(ctx context.Context) (map[string]interface{}, error)
- func (s *Service) SubmitAggregateAttestations(ctx context.Context, aggregateAndProofs []*phase0.SignedAggregateAndProof) error
- func (s *Service) SubmitAttestations(ctx context.Context, attestations []*phase0.Attestation) error
- func (s *Service) SubmitBLSToExecutionChanges(ctx context.Context, ...) error
- func (s *Service) SubmitBeaconBlock(ctx context.Context, block *spec.VersionedSignedBeaconBlock) error
- func (s *Service) SubmitBeaconCommitteeSubscriptions(ctx context.Context, subscriptions []*api.BeaconCommitteeSubscription) error
- func (s *Service) SubmitBlindedBeaconBlock(ctx context.Context, block *api.VersionedSignedBlindedBeaconBlock) error
- func (s *Service) SubmitProposalPreparations(ctx context.Context, preparations []*apiv1.ProposalPreparation) error
- func (s *Service) SubmitSyncCommitteeContributions(ctx context.Context, ...) error
- func (s *Service) SubmitSyncCommitteeMessages(ctx context.Context, messages []*altair.SyncCommitteeMessage) error
- func (s *Service) SubmitSyncCommitteeSubscriptions(ctx context.Context, subscriptions []*api.SyncCommitteeSubscription) error
- func (s *Service) SubmitValidatorRegistrations(ctx context.Context, registrations []*api.VersionedSignedValidatorRegistration) error
- func (s *Service) SubmitVoluntaryExit(ctx context.Context, voluntaryExit *phase0.SignedVoluntaryExit) error
- func (s *Service) SyncCommittee(ctx context.Context, stateID string) (*api.SyncCommittee, error)
- func (s *Service) SyncCommitteeAtEpoch(ctx context.Context, stateID string, epoch phase0.Epoch) (*api.SyncCommittee, error)
- func (s *Service) SyncCommitteeContribution(ctx context.Context, slot phase0.Slot, subcommitteeIndex uint64, ...) (*altair.SyncCommitteeContribution, error)
- func (s *Service) SyncCommitteeDuties(ctx context.Context, epoch phase0.Epoch, ...) ([]*api.SyncCommitteeDuty, error)
- func (s *Service) TargetAggregatorsPerCommittee(ctx context.Context) (uint64, error)
- func (s *Service) ValidatorBalances(ctx context.Context, stateID string, validatorIndices []phase0.ValidatorIndex) (map[phase0.ValidatorIndex]phase0.Gwei, error)
- func (s *Service) Validators(ctx context.Context, stateID string, validatorIndices []phase0.ValidatorIndex) (map[phase0.ValidatorIndex]*api.Validator, error)
- func (s *Service) ValidatorsByPubKey(ctx context.Context, stateID string, validatorPubKeys []phase0.BLSPubKey) (map[phase0.ValidatorIndex]*api.Validator, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Parameter ¶
type Parameter interface {
// contains filtered or unexported methods
}
Parameter is the interface for service parameters.
func WithAddress ¶
WithAddress provides the address for the endpoint.
func WithExtraHeaders ¶ added in v0.15.4
WithExtraHeaders sets additional headers to be sent with each HTTP request.
func WithIndexChunkSize ¶ added in v0.8.1
WithIndexChunkSize sets the maximum number of indices to send for individual validator requests.
func WithLogLevel ¶
WithLogLevel sets the log level for the module.
func WithPubKeyChunkSize ¶ added in v0.8.1
WithPubKeyChunkSize sets the maximum number of public kyes to send for individual validator requests.
func WithTimeout ¶
WithTimeout sets the maximum duration for all requests to the endpoint.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is an Ethereum 2 client service.
func (*Service) AggregateAttestation ¶
func (s *Service) AggregateAttestation(ctx context.Context, slot phase0.Slot, attestationDataRoot phase0.Root) (*phase0.Attestation, error)
AggregateAttestation fetches the aggregate attestation given an attestation. N.B if an aggregate attestation for the attestation is not available this will return nil without an error.
func (*Service) AttestationData ¶
func (s *Service) AttestationData(ctx context.Context, slot phase0.Slot, committeeIndex phase0.CommitteeIndex) (*phase0.AttestationData, error)
AttestationData obtains attestation data for a slot.
func (*Service) AttestationPool ¶
func (s *Service) AttestationPool(ctx context.Context, slot phase0.Slot) ([]*phase0.Attestation, error)
AttestationPool obtains the attestation pool for a given slot.
func (*Service) AttesterDuties ¶
func (s *Service) AttesterDuties(ctx context.Context, epoch phase0.Epoch, validatorIndices []phase0.ValidatorIndex) ([]*api.AttesterDuty, error)
AttesterDuties obtains attester duties.
func (*Service) BeaconBlockHeader ¶
func (s *Service) BeaconBlockHeader(ctx context.Context, blockID string) (*api.BeaconBlockHeader, error)
BeaconBlockHeader provides the block header of a given block ID.
func (*Service) BeaconBlockProposal ¶
func (s *Service) BeaconBlockProposal(ctx context.Context, slot phase0.Slot, randaoReveal phase0.BLSSignature, graffiti []byte) (*spec.VersionedBeaconBlock, error)
BeaconBlockProposal fetches a proposed beacon block for signing.
func (*Service) BeaconBlockRoot ¶
BeaconBlockRoot fetches a block's root given a block ID. N.B if a signed beacon block for the block ID is not available this will return nil without an error.
func (*Service) BeaconCommittees ¶
func (s *Service) BeaconCommittees(ctx context.Context, stateID string) ([]*api.BeaconCommittee, error)
BeaconCommittees fetches all beacon committees for the epoch at the given state.
func (*Service) BeaconCommitteesAtEpoch ¶ added in v0.8.1
func (s *Service) BeaconCommitteesAtEpoch(ctx context.Context, stateID string, epoch phase0.Epoch) ([]*api.BeaconCommittee, error)
BeaconCommitteesAtEpoch fetches all beacon committees for the given epoch at the given state.
func (*Service) BeaconState ¶
func (s *Service) BeaconState(ctx context.Context, stateID string) (*spec.VersionedBeaconState, error)
BeaconState fetches a beacon state. N.B if the requested beacon state is not available this will return nil without an error.
func (*Service) BeaconStateRandao ¶ added in v0.14.1
BeaconStateRandao fetches a beacon state RANDAO given a state ID.
func (*Service) BeaconStateRoot ¶ added in v0.9.0
BeaconStateRoot fetches a beacon state root given a state ID.
func (*Service) BlindedBeaconBlockProposal ¶ added in v0.11.0
func (s *Service) BlindedBeaconBlockProposal(ctx context.Context, slot phase0.Slot, randaoReveal phase0.BLSSignature, graffiti []byte) (*api.VersionedBlindedBeaconBlock, error)
BlindedBeaconBlockProposal fetches a proposed beacon block for signing.
func (*Service) DepositContract ¶
DepositContract provides details of the Ethereum 1 deposit contract for the chain.
func (*Service) Domain ¶
func (s *Service) Domain(ctx context.Context, domainType phase0.DomainType, epoch phase0.Epoch) (phase0.Domain, error)
Domain provides a domain for a given domain type at a given epoch.
func (*Service) EpochFromStateID ¶
EpochFromStateID parses the state ID and returns the relevant epoch.
func (*Service) Events ¶
func (s *Service) Events(ctx context.Context, topics []string, handler client.EventHandlerFunc) error
Events feeds requested events with the given topics to the supplied handler.
func (*Service) FarFutureEpoch ¶
FarFutureEpoch provides the values for FAR_FUTURE_EOPCH of the chain.
func (*Service) ForkSchedule ¶
ForkSchedule provides details of past and future changes in the chain's fork version.
func (*Service) GenesisDomain ¶ added in v0.15.5
func (s *Service) GenesisDomain(ctx context.Context, domainType phase0.DomainType) (phase0.Domain, error)
GenesisDomain returns the domain for the given domain type at genesis. N.B. this is not always the same as the the domain at epoch 0. It is possible for a chain's fork schedule to have multiple forks at genesis. In this situation, GenesisDomain() will return the first, and Domain() will return the last.
func (*Service) GenesisTime ¶
GenesisTime provides the genesis time of the chain.
func (*Service) NodeClient ¶ added in v0.11.7
NodeClient provides the client for the node.
func (*Service) NodeSyncing ¶
NodeSyncing provides the syncing information for the node.
func (*Service) NodeVersion ¶
NodeVersion provides the version information of the node.
func (*Service) ProposerDuties ¶
func (s *Service) ProposerDuties(ctx context.Context, epoch phase0.Epoch, validatorIndices []phase0.ValidatorIndex) ([]*api.ProposerDuty, error)
ProposerDuties obtains proposer duties for the given epoch. If validators is empty all duties are returned, otherwise only matching duties are returned.
func (*Service) SignedBeaconBlock ¶
func (s *Service) SignedBeaconBlock(ctx context.Context, blockID string) (*spec.VersionedSignedBeaconBlock, error)
SignedBeaconBlock fetches a signed beacon block given a block ID. N.B if a signed beacon block for the block ID is not available this will return nil without an error.
func (*Service) SlotDuration ¶
SlotDuration provides the duration of a slot for the chain.
func (*Service) SlotFromStateID ¶
SlotFromStateID parses the state ID and returns the relevant slot.
func (*Service) SlotsPerEpoch ¶
SlotsPerEpoch provides the number of slots per epoch for the chain.
func (*Service) SubmitAggregateAttestations ¶
func (s *Service) SubmitAggregateAttestations(ctx context.Context, aggregateAndProofs []*phase0.SignedAggregateAndProof) error
SubmitAggregateAttestations submits aggregate attestations.
func (*Service) SubmitAttestations ¶
SubmitAttestations submits attestations.
func (*Service) SubmitBLSToExecutionChanges ¶ added in v0.15.0
func (s *Service) SubmitBLSToExecutionChanges(ctx context.Context, blsToExecutionChanges []*capella.SignedBLSToExecutionChange) error
SubmitBLSToExecutionChanges submits BLS to execution address change operations.
func (*Service) SubmitBeaconBlock ¶
func (s *Service) SubmitBeaconBlock(ctx context.Context, block *spec.VersionedSignedBeaconBlock) error
SubmitBeaconBlock submits a beacon block.
func (*Service) SubmitBeaconCommitteeSubscriptions ¶
func (s *Service) SubmitBeaconCommitteeSubscriptions(ctx context.Context, subscriptions []*api.BeaconCommitteeSubscription) error
SubmitBeaconCommitteeSubscriptions subscribes to beacon committees.
func (*Service) SubmitBlindedBeaconBlock ¶ added in v0.11.0
func (s *Service) SubmitBlindedBeaconBlock(ctx context.Context, block *api.VersionedSignedBlindedBeaconBlock) error
SubmitBlindedBeaconBlock submits a blinded beacon block.
func (*Service) SubmitProposalPreparations ¶ added in v0.11.0
func (s *Service) SubmitProposalPreparations(ctx context.Context, preparations []*apiv1.ProposalPreparation) error
SubmitProposalPreparations provides the beacon node with information required if a proposal for the given validators shows up in the next epoch.
func (*Service) SubmitSyncCommitteeContributions ¶
func (s *Service) SubmitSyncCommitteeContributions(ctx context.Context, contributionAndProofs []*altair.SignedContributionAndProof) error
SubmitSyncCommitteeContributions submits sync committee contributions.
func (*Service) SubmitSyncCommitteeMessages ¶
func (s *Service) SubmitSyncCommitteeMessages(ctx context.Context, messages []*altair.SyncCommitteeMessage) error
SubmitSyncCommitteeMessages submits sync committee messages.
func (*Service) SubmitSyncCommitteeSubscriptions ¶
func (s *Service) SubmitSyncCommitteeSubscriptions(ctx context.Context, subscriptions []*api.SyncCommitteeSubscription) error
SubmitSyncCommitteeSubscriptions subscribes to sync committees.
func (*Service) SubmitValidatorRegistrations ¶ added in v0.12.0
func (s *Service) SubmitValidatorRegistrations(ctx context.Context, registrations []*api.VersionedSignedValidatorRegistration) error
SubmitValidatorRegistrations submits a validator registration.
func (*Service) SubmitVoluntaryExit ¶
func (s *Service) SubmitVoluntaryExit(ctx context.Context, voluntaryExit *phase0.SignedVoluntaryExit) error
SubmitVoluntaryExit submits a voluntary exit.
func (*Service) SyncCommittee ¶
SyncCommittee fetches the sync committee for epoch at the given state.
func (*Service) SyncCommitteeAtEpoch ¶ added in v0.8.1
func (s *Service) SyncCommitteeAtEpoch(ctx context.Context, stateID string, epoch phase0.Epoch) (*api.SyncCommittee, error)
SyncCommitteeAtEpoch fetches the sync committee for the given epoch at the given state.
func (*Service) SyncCommitteeContribution ¶
func (s *Service) SyncCommitteeContribution(ctx context.Context, slot phase0.Slot, subcommitteeIndex uint64, beaconBlockRoot phase0.Root, ) ( *altair.SyncCommitteeContribution, error, )
SyncCommitteeContribution provides a sync committee contribution.
func (*Service) SyncCommitteeDuties ¶
func (s *Service) SyncCommitteeDuties(ctx context.Context, epoch phase0.Epoch, validatorIndices []phase0.ValidatorIndex) ([]*api.SyncCommitteeDuty, error)
SyncCommitteeDuties obtains sync committee duties.
func (*Service) TargetAggregatorsPerCommittee ¶
TargetAggregatorsPerCommittee provides the target aggregators per committee of the chain.
func (*Service) ValidatorBalances ¶
func (s *Service) ValidatorBalances(ctx context.Context, stateID string, validatorIndices []phase0.ValidatorIndex) (map[phase0.ValidatorIndex]phase0.Gwei, error)
ValidatorBalances provides the validator balances for a given state. stateID can be a slot number or state root, or one of the special values "genesis", "head", "justified" or "finalized". validatorIndices is a list of validator indices to restrict the returned values. If no validators are supplied no filter will be applied.
func (*Service) Validators ¶
func (s *Service) Validators(ctx context.Context, stateID string, validatorIndices []phase0.ValidatorIndex) (map[phase0.ValidatorIndex]*api.Validator, error)
Validators provides the validators, with their balance and status, for a given state. stateID can be a slot number or state root, or one of the special values "genesis", "head", "justified" or "finalized". validatorIndices is a list of validators to restrict the returned values. If no validators are supplied no filter will be applied.
func (*Service) ValidatorsByPubKey ¶
func (s *Service) ValidatorsByPubKey(ctx context.Context, stateID string, validatorPubKeys []phase0.BLSPubKey) (map[phase0.ValidatorIndex]*api.Validator, error)
ValidatorsByPubKey provides the validators, with their balance and status, for a given state. stateID can be a slot number or state root, or one of the special values "genesis", "head", "justified" or "finalized". validatorPubKeys is a list of validator public keys to restrict the returned values. If no validators public keys are supplied no filter will be applied.
Source Files ¶
- aggregateattestation.go
- attestationdata.go
- attestationpool.go
- attesterduties.go
- beaconblockheader.go
- beaconblockproposal.go
- beaconblockroot.go
- beaconcommittees.go
- beaconstate.go
- beaconstaterandao.go
- beaconstateroot.go
- blindedbeaconblockproposal.go
- depositcontract.go
- domain.go
- events.go
- farfutureepoch.go
- finality.go
- fork.go
- forkschedule.go
- genesis.go
- genesistime.go
- http.go
- nodeclient.go
- nodesyncing.go
- nodeversion.go
- parameters.go
- proposerduties.go
- service.go
- signedbeaconblock.go
- slotduration.go
- slotsperepoch.go
- spec.go
- stateid.go
- submitaggregateattestations.go
- submitattestations.go
- submitbeaconblock.go
- submitbeaconcommitteesubscriptions.go
- submitblindebeaconblock.go
- submitblstoexecutionchanges.go
- submitproposalpreparation.go
- submitsynccommitteecontributions.go
- submitsynccommitteemessages.go
- submitsynccommitteesubscriptions.go
- submitvalidatorregistrations.go
- submitvoluntaryexit.go
- synccommittee.go
- synccommitteecontribution.go
- synccommitteeduties.go
- targetaggregatorspercommittee.go
- validatorbalances.go
- validators.go
- validatorsbypubkey.go