Documentation
¶
Overview ¶
Package config implements the configuration options for the xmtpd server.
Index ¶
- func ParseJSONConfig(options *ContractsOptions) error
- func ValidatePruneOptions(options PruneOptions) error
- func ValidateServerOptions(options *ServerOptions) error
- type APIOptions
- type AppChainOptions
- type ChainConfig
- type ContractsOptions
- type DBOptions
- type DebugOptions
- type GatewayConfig
- type IndexerOptions
- type LogOptions
- type MetricsOptions
- type MigrationClientOptions
- type MigrationServerOptions
- type MlsValidationOptions
- type PayerOptions
- type PruneConfig
- type PruneOptions
- type RedisOptions
- type ReflectionOptions
- type ReplicationOptions
- type ServerOptions
- type SettlementChainOptions
- type SignerOptions
- type SyncOptions
- type TracingOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseJSONConfig ¶ added in v0.4.0
func ParseJSONConfig(options *ContractsOptions) error
func ValidatePruneOptions ¶ added in v0.4.0
func ValidatePruneOptions(options PruneOptions) error
func ValidateServerOptions ¶ added in v0.1.3
func ValidateServerOptions(options *ServerOptions) error
Types ¶
type APIOptions ¶ added in v0.5.1
type AppChainOptions ¶ added in v0.4.0
type AppChainOptions struct {
RPCURL string `` /* 131-byte string literal not displayed */
WssURL string `` /* 131-byte string literal not displayed */
ChainID int `` /* 189-byte string literal not displayed */
MaxChainDisconnectTime time.Duration `` /* 187-byte string literal not displayed */
BackfillBlockPageSize uint64 `` /* 187-byte string literal not displayed */
GroupMessageBroadcasterAddress string `` /* 155-byte string literal not displayed */
IdentityUpdateBroadcasterAddress string `` /* 157-byte string literal not displayed */
GatewayAddress string `` /* 147-byte string literal not displayed */
DeploymentBlock uint64 `` /* 185-byte string literal not displayed */
}
type ChainConfig ¶ added in v0.4.0
type ChainConfig struct {
AppChainDeploymentBlock int `json:"appChainDeploymentBlock"`
AppChainID int `json:"appChainId"`
AppChainGateway string `json:"appChainGateway"`
DistributionManager string `json:"distributionManager"`
GroupMessageBroadcaster string `json:"groupMessageBroadcaster"`
IdentityUpdateBroadcaster string `json:"identityUpdateBroadcaster"`
NodeRegistry string `json:"nodeRegistry"`
PayerRegistry string `json:"payerRegistry"`
PayerReportManager string `json:"payerReportManager"`
RateRegistry string `json:"rateRegistry"`
SettlementChainDeploymentBlock int `json:"settlementChainDeploymentBlock"`
SettlementChainGateway string `json:"settlementChainGateway"`
SettlementChainID int `json:"settlementChainId"`
SettlementChainParameterRegistry string `json:"settlementChainParameterRegistry"`
UnderlyingFeeToken string `json:"underlyingFeeToken"`
}
type ContractsOptions ¶
type ContractsOptions struct {
AppChain AppChainOptions `group:"Application Chain Options" namespace:"app-chain"`
SettlementChain SettlementChainOptions `group:"Settlement Chain Options" namespace:"settlement-chain"`
ConfigFilePath string `long:"config-file-path" env:"XMTPD_CONTRACTS_CONFIG_FILE_PATH" description:"Path to the JSON contracts config file"`
ConfigJSON string `long:"config-json" env:"XMTPD_CONTRACTS_CONFIG_JSON" description:"JSON contracts config"`
}
func ContractOptionsFromEnv ¶ added in v0.5.0
func ContractOptionsFromEnv(filePath string) (ContractsOptions, error)
type DBOptions ¶ added in v0.5.1
type DBOptions struct {
ReaderConnectionString string `long:"reader-connection-string" env:"XMTPD_DB_READER_CONNECTION_STRING" description:"Reader connection string"`
WriterConnectionString string `long:"writer-connection-string" env:"XMTPD_DB_WRITER_CONNECTION_STRING" description:"Writer connection string"`
ReadTimeout time.Duration `` /* 146-byte string literal not displayed */
WriteTimeout time.Duration `` /* 146-byte string literal not displayed */
MaxOpenConns int `` /* 145-byte string literal not displayed */
WaitForDB time.Duration `` /* 146-byte string literal not displayed */
NameOverride string `` /* 160-byte string literal not displayed */
}
type DebugOptions ¶ added in v0.5.0
type GatewayConfig ¶ added in v0.5.0
type GatewayConfig struct {
API APIOptions `group:"API Options" namespace:"api"`
Contracts ContractsOptions `group:"Contracts Options" namespace:"contracts"`
Log LogOptions `group:"Log Options" namespace:"log"`
Metrics MetricsOptions `group:"Metrics Options" namespace:"metrics"`
Payer PayerOptions `group:"Payer Options" namespace:"payer"`
Redis RedisOptions `group:"Redis Options" namespace:"redis"`
Tracing TracingOptions `group:"DD APM Tracing Options" namespace:"tracing"`
}
type IndexerOptions ¶ added in v0.1.1
type IndexerOptions struct {
Enable bool `long:"enable" env:"XMTPD_INDEXER_ENABLE" description:"Enable the indexer"`
}
type LogOptions ¶
type MetricsOptions ¶
type MetricsOptions struct {
Enable bool `long:"enable" env:"XMTPD_METRICS_ENABLE" description:"Enable the metrics server"`
Address string `` /* 134-byte string literal not displayed */
Port int `` /* 129-byte string literal not displayed */
}
MetricsOptions are settings used to start a prometheus server
type MigrationClientOptions ¶ added in v0.5.0
type MigrationServerOptions ¶ added in v0.5.0
type MigrationServerOptions struct {
Enable bool `long:"enable" env:"XMTPD_MIGRATION_SERVER_ENABLE" description:"Enable the migration server"`
PayerPrivateKey string `long:"payer-private-key" env:"XMTPD_MIGRATION_PAYER_PRIVATE_KEY" description:"Private key used to sign payer envelopes"`
NodeSigningKey string `long:"node-signing-key" env:"XMTPD_MIGRATION_NODE_SIGNING_KEY" description:"Private key used to sign originator envelopes"`
ReaderConnectionString string `long:"reader-connection-string" env:"XMTPD_MIGRATION_DB_READER_CONNECTION_STRING" description:"Reader connection string"`
ReaderTimeout time.Duration `` /* 156-byte string literal not displayed */
WaitForDB time.Duration `` /* 156-byte string literal not displayed */
BatchSize int32 `` /* 157-byte string literal not displayed */
PollInterval time.Duration `` /* 156-byte string literal not displayed */
Namespace string `` /* 153-byte string literal not displayed */
}
type MlsValidationOptions ¶
type MlsValidationOptions struct {
GrpcAddress string `long:"grpc-address" env:"XMTPD_MLS_VALIDATION_GRPC_ADDRESS" description:"Address of the MLS validation service"`
}
type PayerOptions ¶
type PruneConfig ¶ added in v0.4.0
type PruneConfig struct {
MaxCycles int `long:"max-prune-cycles" env:"XMTPD_PRUNE_MAX_CYCLES" description:"Maximum pruning cycles" default:"10"`
BatchSize int32 `` /* 128-byte string literal not displayed */
CountDeletable bool `long:"count-deletable" env:"XMTPD_PRUNE_COUNT_DELETABLE" description:"Attempt to count all deletable envelopes"`
DryRun bool `long:"dry-run" env:"XMTPD_PRUNE_DRY_RUN" description:"Dry run mode"`
}
type PruneOptions ¶ added in v0.4.0
type PruneOptions struct {
DB DBOptions `group:"Database Options" namespace:"db"`
Log LogOptions `group:"Log Options" namespace:"log"`
Signer SignerOptions `group:"Signer Options" namespace:"signer"`
Contracts ContractsOptions `group:"Contracts Options" namespace:"contracts"`
PruneConfig PruneConfig `group:"Prune Options" namespace:"prune"`
}
type RedisOptions ¶ added in v0.5.0
type ReflectionOptions ¶
type ReflectionOptions struct {
Enable bool `long:"enable" env:"XMTPD_REFLECTION_ENABLE" description:"Enable GRPC reflection"`
}
ReflectionOptions are settings controlling collection of GRPC reflection settings.
type ReplicationOptions ¶ added in v0.1.1
type ServerOptions ¶
type ServerOptions struct {
API APIOptions `group:"API Options" namespace:"api"`
Contracts ContractsOptions `group:"Contracts Options" namespace:"contracts"`
DB DBOptions `group:"Database Options" namespace:"db"`
Log LogOptions `group:"Log Options" namespace:"log"`
Indexer IndexerOptions `group:"Indexer Options" namespace:"indexer"`
Metrics MetricsOptions `group:"Metrics Options" namespace:"metrics"`
MlsValidation MlsValidationOptions `group:"MLS Validation Options" namespace:"mls-validation"`
Reflection ReflectionOptions `group:"Reflection Options" namespace:"reflection"`
Replication ReplicationOptions `group:"Replication Options" namespace:"replication"`
Signer SignerOptions `group:"Signer Options" namespace:"signer"`
Sync SyncOptions `group:"Sync Options" namespace:"sync"`
Tracing TracingOptions `group:"DD APM Tracing Options" namespace:"tracing"`
MigrationServer MigrationServerOptions `group:"Migration Server Options" namespace:"migration-server"`
MigrationClient MigrationClientOptions `group:"Migration Client Options" namespace:"migration-client"`
Debug DebugOptions `group:"Debug Options" namespace:"debug"`
Version bool `` /* 131-byte string literal not displayed */
}
type SettlementChainOptions ¶ added in v0.4.0
type SettlementChainOptions struct {
RPCURL string `` /* 136-byte string literal not displayed */
WssURL string `` /* 136-byte string literal not displayed */
ChainID int `` /* 194-byte string literal not displayed */
MaxChainDisconnectTime time.Duration `` /* 193-byte string literal not displayed */
BackfillBlockPageSize uint64 `` /* 192-byte string literal not displayed */
NodeRegistryAddress string `` /* 148-byte string literal not displayed */
NodeRegistryRefreshInterval time.Duration `` /* 192-byte string literal not displayed */
RateRegistryAddress string `` /* 148-byte string literal not displayed */
RateRegistryRefreshInterval time.Duration `` /* 193-byte string literal not displayed */
ParameterRegistryAddress string `` /* 153-byte string literal not displayed */
PayerRegistryAddress string `` /* 149-byte string literal not displayed */
PayerReportManagerAddress string `` /* 155-byte string literal not displayed */
GatewayAddress string `` /* 159-byte string literal not displayed */
DistributionManagerAddress string `` /* 155-byte string literal not displayed */
DeploymentBlock uint64 `` /* 190-byte string literal not displayed */
MockUnderlyingFeeToken string `` /* 151-byte string literal not displayed */
}
type SignerOptions ¶
type SignerOptions struct {
PrivateKey string `long:"private-key" env:"XMTPD_SIGNER_PRIVATE_KEY" description:"Private key used to sign messages"`
}
type SyncOptions ¶ added in v0.1.1
type SyncOptions struct {
Enable bool `long:"enable" env:"XMTPD_SYNC_ENABLE" description:"Enable the sync server"`
}
type TracingOptions ¶
type TracingOptions struct {
Enable bool `long:"enable" env:"XMTPD_TRACING_ENABLE" description:"Enable DD APM trace collection"`
}
TracingOptions are settings controlling collection of DD APM traces and error tracking.
Click to show internal directories.
Click to hide internal directories.