Documentation
¶
Index ¶
Constants ¶
View Source
const ( DefaultPrivateKeyVariable = "PRIVATE_KEY" DefaultDirectAPIKeyVariable = "DIRECT_API_KEY" )
Variables ¶
This section is empty.
Functions ¶
func PrivateKeyFromEnv ¶
func PrivateKeyFromEnv(variableName string) (*ecdsa.PrivateKey, error)
PrivateKeyFromEnv extracts ecdsa private key from env variable.
Private key should be 32 bytes long hex string, but it can be shorter. It can be 0x or 0X prefixed or not.
Types ¶
type Addresses ¶
type Addresses struct {
FlareSystemsManager common.Address `toml:"flare_systems_manager"`
Relay common.Address `toml:"relay"`
VoterRegistry common.Address `toml:"voter_registry"`
}
Addresses of the smart contracts.
type Direct ¶
type Direct struct {
Enable bool `toml:"enable"` // Enable registers the /direct endpoint on the external server.
APIKey string `toml:"api_key"` // APIKey for the /direct endpoint. Can also be set via env variable (see APIKeyVariable).
APIKeyVariable string `toml:"api_key_variable"` // APIKeyVariable is the name of environment variable that stores the /direct endpoint API key. Defaults to DIRECT_API_KEY.
NoAPIKey bool `toml:"no_api_key"` // NoAPIKey disables API key requirement for the /direct endpoint.
MaxBodySize int64 `toml:"max_body_size"` // MaxBodySize limits the body of the request on the /direct endpoint. If 0, defaults to 10 MiB.
}
Direct holds configuration for the /direct endpoint.
type Firestore ¶
type Firestore struct {
URL string `toml:"url"` // Firestore URL
ProjectID string `toml:"project_id"` // Google Cloud project ID.
DatabaseID string `toml:"database_id"` // Firestore database ID. Empty means default database.
CredentialsFile string `toml:"credentials_file"` // Path to service account JSON key. Empty means Application Default Credentials.
}
Firestore holds Firestore connection configuration.
type InfoTiming ¶
type Proxy ¶
type Proxy struct {
DB database.Config `toml:"db"` // C-chain indexer database config.
RedisPort string `toml:"redis_port"` // Redis database port.
Firestore Firestore `toml:"firestore"` // Firestore connection configuration.
ChainID *big.Int `toml:"chain_id"` // Chain ID used for voter registration message hash verification.
Addresses Addresses `toml:"addresses"` // Smart contract addresses.
Ports Ports `toml:"ports"` // Servers ports.
InfoTiming InfoTiming `toml:"info_timing"` // Timing configuration for TEE info updates (duration between periodic checks and response timeout)
Voting Voting `toml:"voting"` // Instruction voting configurations.
PrivateKeyVariable string `toml:"private_key_variable"` // Name of environment variable that stores proxy's private key. Defaults to PRIVATE_KEY.
InitialSigningPolicyOffset int `toml:"initial_signing_policy_offset"` // 0 for current signing policy, n for "current - n". If not set it defaults to 3.
SigningPolicyFetchInterval time.Duration `toml:"signing_policy_fetch_interval"` // Duration between periodic checks for a new signing policy.
DBSyncMaxSleepTime time.Duration `toml:"db_sync_max_sleep_time"` // Max sleep between DB sync retries on startup. Defaults to 10m.
Logging logger.Config `toml:"logging"` // Logging configurations. Default is "DEBUG" level in consol.
Direct Direct `toml:"direct"` // Direct endpoint configuration.
}
Proxy holds the full configuration for the TEE proxy service.
type Voting ¶
type Voting struct {
ProposalExpiration time.Duration `toml:"proposal_expiration"` // Duration the voting for a proposal is open for. Default is 120s
MaxPendingRequests uint `toml:"max_pending_request"` // Maximal number of open (unfinalized) proposals per provider. It defaults to 100.
HistorySize int `toml:"history_size"` // Number of most recent signing policy rounds to keep in memory. Defaults to 3.
FinalizedBufferSize int `toml:"finalized_buffer_size"` // Buffer size for the finalized instructions channel. Defaults to 10.
MaxProviderVote float64 `toml:"max_provider_vote"` // Maximal possible fraction (0,1] of total weight a single provider can hold. Used to cap per-vote variable message size for restore operations. If unset, no cap is applied.
}
Voting holds tuning parameters for the instruction voting consensus.
func (*Voting) SetDefault ¶
SetDefault sets default values if applicable.
Click to show internal directories.
Click to hide internal directories.