package
1.1.1
Repository: https://github.com/obolnetwork/charon.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
Package bcast provides the core workflow's broadcaster component that broadcasts/submits aggregated signed duty data to the beacon node.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package infosync provides a simple use-case of the priority protocol that prioritises cluster supported versions.
No description provided by the author
No description provided by the author
Package priority implements the priority protocol that resolves arbitrary cluster wide priorities.
Package qbft is an implementation of the https://arxiv.org/pdf/2002.03613.pdf paper referenced by the QBFT spec https://github.com/ConsenSys/qbft-formal-spec-and-verification.
No description provided by the author
Package sigagg provides the sigagg core workflow component that aggregates *threshold* partial signed duty data objects into an aggregated signed duty data object ready to be broadcasted to the beacon chain.
No description provided by the author
Package validatorapi defines validator facing API that serves the subset of endpoints related to distributed validation and reverse-proxies the rest to the upstream beacon client.

# Functions

AllDutyTypes returns a list of all valid duty types.
DisableSSZMarshallingForT disables SSZ marshalling for the duration of the test.
DutyFromProto returns the duty from a protobuf.
DutyToProto returns the duty as a protobuf.
NewAggregatedAttestation returns a new aggregated attestation.
NewAggregatorDuty returns a new aggregator duty.
NewAttestation is a convenience function that returns a new wrapped attestation.
NewAttesterDefinition is a convenience function that returns a new attester definition.
NewAttesterDuty returns a new attester duty.
NewBeaconCommitteeSelection is a convenience function which returns new signed BeaconCommitteeSelection.
NewBuilderRegistrationDuty returns a new builder registration duty.
NewDeadliner returns a new instance of Deadline.
NewDeadlinerForT returns a Deadline for use in tests.
NewDutyDeadlineFunc returns the function that provides duty deadlines or false if the duty never deadlines.
NewDutyGater returns a new instance of DutyGaterFunc.
NewInfoSyncDuty returns a new info sync duty.
NewPartialAttestation is a convenience function that returns a new partially signed attestation.
NewPartialSignature is a convenience function that returns a new partially signature.
NewPartialSignedAggregateAndProof is a convenience function which returns a new partially signed SignedAggregateAndProof.
NewPartialSignedBeaconCommitteeSelection is a convenience function which returns new partially signed BeaconCommitteeSelection.
NewPartialSignedRandao is a convenience function that returns a new partially signed Randao Reveal.
NewPartialSignedSyncCommitteeSelection is a convenience function which returns new partially signed SyncCommitteeSelection.
NewPartialSignedSyncContributionAndProof is a convenience function that returns a new partially signed altair.SignedContributionAndProof.
NewPartialSignedSyncMessage is a convenience function which returns a new partially signed SignedSyncMessage.
NewPartialSignedVoluntaryExit is a convenience function that returns a new partially signed voluntary exit.
NewPartialSyncContributionAndProof is a convenience function that returns a new partially signed altair.ContributionAndProof.
No description provided by the author
NewPartialVersionedSignedProposal validates and returns a new partial VersionedSignedProposal.
NewPartialVersionedSignedValidatorRegistration is a convenience function that returns a new partially signed validator (builder) registration.
NewPrepareAggregatorDuty returns a new prepare aggregator duty.
NewPrepareSyncContributionDuty returns a new prepare sync contribution duty.
NewProposerDefinition is a convenience function that returns a new proposer definition.
NewProposerDuty returns a new proposer duty.
NewRandaoDuty returns a new randao duty.
NewSignatureDuty returns a new Signature duty.
NewSignedAggregateAndProof is a convenience function which returns a new signed SignedAggregateAndProof.
NewSignedRandao is a convenience function that returns a new signed Randao Reveal.
NewSignedSyncContributionAndProof is a convenience function that returns a new signed altair.SignedContributionAndProof.
NewSignedSyncMessage is a convenience function which returns new signed SignedSyncMessage.
NewSignedVoluntaryExit is a convenience function that returns a new signed voluntary exit.
NewSyncCommitteeDefinition is a convenience function that returns a new SyncCommitteeDefinition.
NewSyncCommitteeSelection is a convenience function which returns new signed SyncCommitteeSelection.
NewSyncContribution returns a new SyncContribution.
NewSyncContributionAndProof is a convenience function that returns a new signed altair.ContributionAndProof.
NewSyncContributionDuty returns a new sync contribution duty.
NewSyncMessageDuty returns a new sync message duty.
NewVersionedProposal validates and returns a new wrapped VersionedProposal.
NewVersionedSignedProposal validates and returns a new VersionedSignedProposal.
No description provided by the author
NewVersionedSignedValidatorRegistration is a convenience function that returns a new signed validator (builder) registration.
NewVoluntaryExit returns a new voluntary exit duty.
ParSignedDataFromProto returns the data from a protobuf.
ParSignedDataSetFromProto returns the set from a protobuf.
ParSignedDataSetToProto returns the set as a protobuf.
ParSignedDataToProto returns the data as a protobuf.
PubKeyFrom48Bytes returns a new public key from raw bytes.
PubKeyFromBytes returns a new public key from raw bytes.
SigFromETH2 returns a new signature from eth2 phase0 BLSSignature.
StartDutyTrace returns a context and span rooted to the duty traceID and wrapped in a duty span.
UnsignedDataSetFromProto returns the set from a protobuf.
UnsignedDataSetToProto returns the set as a protobuf.
VerifyEth2SignedData verifies signature associated with the given Eth2SignedData.
VersionedSSZValueForT exposes the value method of a type for testing purposes.
Wire wires the workflow components together.
WithAsyncRetry wraps component input functions with the async Retryer adding robustness to network issues.
WithDutyGaterForT returns a function that sets the nowFunc and allowedFutureEpochs in order to create a DutyGaterFunc for use in tests.
WithTracing wraps component input functions with tracing spans.
WithTracking wraps component input functions to support tracking of core components.

# Constants

No description provided by the author
No description provided by the author
Deprecated due to v3 block proposal.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ProposalTypeBuilder defines builder API blinded beacon block proposals.
ProposalTypeFull defines normal full beacon block proposals.
ProposalTypeSynthetic defines synthetic block proposals, can be either full or builder.

# Variables

ErrDeprecatedDutyBuilderProposer is returned when attempting to use the deprecated DutyBuilderProposer.
ErrNotFound is returned by a component when a resource is not found.

# Structs

AggregatedAttestation wraps un unsigned aggregated attestation and implements the UnsignedData interface.
Attestation is a signed attestation and implements SignedData.
AttestationData wraps the eth2 attestation data and adds the original duty.
AttesterDefinition defines an attester duty.
BeaconCommitteeSelection wraps a BeaconCommitteeSelection which implements SignedData.
Duty is the unit of work of the core workflow.
ParSignedData is a partially signed duty data only signed by a single threshold BLS share.
ProposerDefinition defines a block proposer duty.
SignedAggregateAndProof wraps eth2p0.SignedAggregateAndProof and implements SignedData.
SignedRandao is a signed Randao Reveal which implements SignedData.
SignedSyncContributionAndProof wraps altair.SignedContributionAndProof and implements SignedData.
SignedSyncMessage wraps altair.SyncCommitteeMessage and implements SignedData.
No description provided by the author
Slot is a beacon chain slot including chain metadata to infer epoch and next slot.
SyncCommitteeDefinition defines a sync committee duty.
SyncCommitteeSelection wraps an eth2exp.SyncCommitteeSelection and implements SignedData.
No description provided by the author
SyncContributionAndProof wraps altair.ContributionAndProof and implements SignedData.
VersionedProposal wraps the eth2 versioned proposal and implements UnsignedData.
VersionedSignedProposal is a signed versioned proposal and implements SignedData.
VersionedSignedValidatorRegistration is a signed versioned validator (builder) registration and implements SignedData.

# Interfaces

AggSigDB persists aggregated signed duty data.
Broadcaster broadcasts aggregated signed duty data set to the beacon node.
Consensus comes to consensus on proposed duty data.
Deadliner provides duty Deadline functionality.
DutyDB persists unsigned duty data sets and makes it available for querying.
DutyDefinition defines the duty including parameters required to fetch the duty data, it is the result of resolving duties at the start of an epoch.
Eth2SignedData wraps SignedData and adds eth2 BLS signature specific methods.
Fetcher fetches proposed unsigned duty data.
InclusionChecker checks whether submitted duties have been included on-chain.
ParSigDB persists partial signatures and sends them to the partial signature exchange and aggregation.
ParSigEx exchanges partially signed duty data sets.
Scheduler triggers the start of a duty workflow.
SigAgg aggregates threshold partial signatures.
SignedData is a signed duty data.
Tracker sends core component events for further analysis and instrumentation.
UnsignedData represents an unsigned duty data object.
ValidatorAPI provides a beacon node API to validator clients.

# Type aliases

BuilderEnabled determines whether the builderAPI is enabled for the provided slot.
DutyDefinitionSet is a set of duty definitions, one per validator.
DutyGaterFunc is a function that returns true if the duty is allowed to be processed.
DutyType enumerates the different types of duties.
ParSignedDataSet is a set of partially signed duty data objects, one per validator.
ProposalType defines a tyoe of block proposal process.
PubKey is the DV root public key, the identifier of a validator in the core workflow.
Signature is a BLS12-381 Signature.
SignedDataSet is a set of signed duty data objects, one per validator.
UnsignedDataSet is a set of unsigned duty data objects, one per validator.
WireOption defines a functional option to configure wiring.