Documentation
¶
Index ¶
- func GetDataRoot(ctx context.Context, eth2Cl eth2wrap.Client, name DomainName, ...) ([32]byte, error)
- func GetDomain(ctx context.Context, eth2Cl eth2wrap.Client, name DomainName, ...) (eth2p0.Domain, error)
- func Verify(ctx context.Context, eth2Cl eth2wrap.Client, domain DomainName, ...) error
- func VerifyAggregateAndProofSelection(ctx context.Context, eth2Cl eth2wrap.Client, pubkey *bls_sig.PublicKey, ...) error
- func VerifySyncContributionAndProof(ctx context.Context, eth2Cl eth2wrap.Client, pubkey *bls_sig.PublicKey, ...) error
- type DomainName
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDataRoot ¶
func GetDataRoot(ctx context.Context, eth2Cl eth2wrap.Client, name DomainName, epoch eth2p0.Epoch, root eth2p0.Root) ([32]byte, error)
GetDataRoot wraps the signing root with the domain and returns signing data hash tree root. The result should be identical to what was signed by the VC.
func GetDomain ¶
func GetDomain(ctx context.Context, eth2Cl eth2wrap.Client, name DomainName, epoch eth2p0.Epoch) (eth2p0.Domain, error)
GetDomain returns the beacon domain for the provided type.
func Verify ¶ added in v0.12.0
func Verify(ctx context.Context, eth2Cl eth2wrap.Client, domain DomainName, epoch eth2p0.Epoch, sigRoot eth2p0.Root, signature eth2p0.BLSSignature, pubkey *bls_sig.PublicKey, ) error
Verify returns an error if the signature doesn't match the eth2 domain signed root.
func VerifyAggregateAndProofSelection ¶ added in v0.12.0
func VerifyAggregateAndProofSelection(ctx context.Context, eth2Cl eth2wrap.Client, pubkey *bls_sig.PublicKey, agg *eth2p0.AggregateAndProof) error
VerifyAggregateAndProofSelection verifies the eth2p0.AggregateAndProof with the provided pubkey. Refer get_slot_signature from https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/validator.md#aggregation-selection.
func VerifySyncContributionAndProof ¶ added in v0.12.0
func VerifySyncContributionAndProof(ctx context.Context, eth2Cl eth2wrap.Client, pubkey *bls_sig.PublicKey, contrib *altair.SignedContributionAndProof) error
VerifySyncContributionAndProof verifies the altair.SignedContributionAndProof with the provided pubkey. Refer get_contribution_and_proof_signature from https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/validator.md#broadcast-sync-committee-contribution.
Types ¶
type DomainName ¶
type DomainName string
DomainName as defined in eth2 spec. See "specs/[phase0|altair]/beacon-chain.md#domain-types" in https://github.com/ethereum/consensus-specs.
const ( DomainBeaconProposer DomainName = "DOMAIN_BEACON_PROPOSER" DomainBeaconAttester DomainName = "DOMAIN_BEACON_ATTESTER" DomainRandao DomainName = "DOMAIN_RANDAO" DomainExit DomainName = "DOMAIN_VOLUNTARY_EXIT" DomainApplicationBuilder DomainName = "DOMAIN_APPLICATION_BUILDER" DomainSelectionProof DomainName = "DOMAIN_SELECTION_PROOF" DomainAggregateAndProof DomainName = "DOMAIN_AGGREGATE_AND_PROOF" DomainSyncCommittee DomainName = "DOMAIN_SYNC_COMMITTEE" DomainSyncCommitteeSelectionProof DomainName = "DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF" DomainContributionAndProof DomainName = "DOMAIN_CONTRIBUTION_AND_PROOF" DomainDeposit DomainName = "DOMAIN_DEPOSIT" )