Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessAccountData ¶
type AccessAccountData struct {
Paths []string
}
AccessAccountData is passed to 'OnAccessAccount' rules.
type Checkpoint ¶
Checkpoint is part of SignBeaconAttestationData.
type CreateAccountData ¶ added in v0.9.0
type CreateAccountData struct{}
CreateAccountData is passed to 'OnCreateAccount' rules.
type LockAccountData ¶
type LockAccountData struct{}
LockAccountData is passed to 'OnLockAccount' rules.
type LockWalletData ¶
type LockWalletData struct{}
LockWalletData is passed to 'OnLockWallet' rules.
type ReqMetadata ¶
ReqMetadata contains request-specific metadata that can be used by the rules to help decide if a request should succeed or be denied.
type Service ¶
type Service interface { // OnListAccounts is called when a request to list accounts needs to be approved. OnListAccounts(ctx context.Context, metadata *ReqMetadata, req *AccessAccountData) Result // OnSign is called when a request to sign generic data needs to be approved. OnSign(ctx context.Context, metadata *ReqMetadata, req *SignData) Result // OnSignBeaconAttestation is called when a request to sign a beacon block attestation needs to be approved. OnSignBeaconAttestation(ctx context.Context, metadata *ReqMetadata, req *SignBeaconAttestationData) Result // OnSignBeaconAttestations is called when a request to sign multiple beacon block attestations needs to be approved. OnSignBeaconAttestations(ctx context.Context, metadata []*ReqMetadata, req []*SignBeaconAttestationData) []Result // OnSignBeaconProposal is called when a request to sign a beacon block proposal needs to be approved. OnSignBeaconProposal(ctx context.Context, metadata *ReqMetadata, req *SignBeaconProposalData) Result // OnLockWallet is called when a request to lock a wallet needs to be approved. OnLockWallet(ctx context.Context, metadata *ReqMetadata, req *LockWalletData) Result // OnUnlockWallet is called when a request to unlock a wallet needs to be approved. OnUnlockWallet(ctx context.Context, metadata *ReqMetadata, req *UnlockWalletData) Result // OnLockAccount is called when a request to lock an account needs to be approved. OnLockAccount(ctx context.Context, metadata *ReqMetadata, req *LockAccountData) Result // OnUnlockAccount is called when a request to unlock an account needs to be approved. OnUnlockAccount(ctx context.Context, metadata *ReqMetadata, req *UnlockAccountData) Result // OnCreateAccount is called when a request to create an account needs to be approved. OnCreateAccount(ctx context.Context, metadata *ReqMetadata, req *CreateAccountData) Result // ExportSlashingProtection exports the slashing protection data. ExportSlashingProtection(ctx context.Context) (map[[48]byte]*SlashingProtection, error) // ImportSlashingProtection impports the slashing protection data. ImportSlashingProtection(ctx context.Context, protection map[[48]byte]*SlashingProtection) error }
Service is the interface that must be followed by a remote ruler for approval of requests.
type SignBeaconAttestationData ¶
type SignBeaconAttestationData struct { Domain []byte Slot uint64 CommitteeIndex uint64 BeaconBlockRoot []byte Source *Checkpoint Target *Checkpoint }
SignBeaconAttestationData is passed to 'OnSignBeaconAttestation' rules.
type SignBeaconProposalData ¶
type SignBeaconProposalData struct { Domain []byte Slot uint64 ProposerIndex uint64 ParentRoot []byte StateRoot []byte BodyRoot []byte }
SignBeaconProposalData is passed to 'OnSignBeaconProposal' rules.
type SlashingProtection ¶ added in v0.9.0
type SlashingProtection struct { PubKey []byte HighestProposedSlot int64 HighestAttestedSourceEpoch int64 HighestAttestedTargetEpoch int64 }
SlashingProtection provides the slashing protection for a given key.
type UnlockAccountData ¶
type UnlockAccountData struct{}
UnlockAccountData is passed to 'OnUnlockAccount' rules.
type UnlockWalletData ¶
type UnlockWalletData struct{}
UnlockWalletData is passed to 'OnUnlockWallet' rules.