restake

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const RestakeConfigFilename = "restake.yml"

Variables

This section is empty.

Functions

func NewConfigurationLoader

func NewConfigurationLoader(configurationDirectory string, logger *log.Logger) (*configurationLoader, error)

func NewGrantManager

func NewGrantManager(botAddress, chainID string, logger *log.Logger, rpcClient rpc.RpcClient, stakingToken, validatorAddress string) (*grantManager, error)

func NewRestakeClient

func NewRestakeClient(
	addressPrefix string,
	chainID string,
	feeDenom string,
	stakingDenom string,

	batchSize uint,
	validatorAddress string,
	botAddress string,
	minimumRequiredReward math.LegacyDec,
	minimumRequiredBotBalance *sdk.Coin,

	broadcaster *tx.Broadcaster,

	grantManager *grantManager,

	logger *log.Logger,
	rpcClient rpc.RpcClient,

	signer crypto.BytesSigner,
) (*restakeClient, error)

Types

type Configuration

type Configuration struct {
	TargetValidator          string   `yaml:"target_validator" comment:"The name of the validator to Restake for. Ex. 'Tessellated'"`
	Ignores                  []string `yaml:"ignores" comment:"A list of network names to ignore. Ex. 'cosmoshub' or 'osmosis'"`
	BotMnemonic              string   `yaml:"mnemonic" comment:"The mnemonic to use for Restaking"`
	Memo                     string   `yaml:"memo" comment:"An optional memo to include in Restake transactions"`
	TxPollDelaySeconds       uint     `yaml:"tx_poll_delay_seconds" comment:"How long to delay between attempts to poll for a tx being included in a block"`
	TxPollAttempts           uint     `yaml:"tx_poll_attempts" comment:"How many attempts to poll for a tx being included before failing."`
	NetworkRetryDelaySeconds uint     `yaml:"network_retry_delay_seconds" comment:"How long to delay between retries due to RPC failures"`
	NetworkRetryAttempts     uint     `yaml:"network_retry_attempts" comment:"How many attempts to retry due to network errors before failing."`
	HealthChecksPingKey      string   `yaml:"health_checks_ping_key" comment:"A ping API key for healthchecks.io. If empty, no pings will be delivered."`
	RunIntervalSeconds       uint     `yaml:"run_interval_seconds" comment:"How many seconds to wait in between restake runs"`
	BatchSize                uint     `yaml:"batch_size" comment:"What size batches of transactions should be sent in"`
	ChainRegistryBaseUrl     string   `yaml:"chain_registry_base_url" comment:"The base url for the chain registry"`
	ValidatorRegistryBaseUrl string   `yaml:"validator_registry_base_url" comment:"The base url for the validator registry"`
}

Configuration is configuration for restake

func (*Configuration) NetworkRetryDelay

func (c *Configuration) NetworkRetryDelay() time.Duration

func (*Configuration) RunInterval

func (c *Configuration) RunInterval() time.Duration

func (*Configuration) TxPollDelay

func (c *Configuration) TxPollDelay() time.Duration

func (*Configuration) VersionedMemo

func (c *Configuration) VersionedMemo(version string) string

type RestakeManager

type RestakeManager struct {
	// contains filtered or unexported fields
}

A restake client runs restake clients based on configurations in the Restake registry.

func NewRestakeManager

func NewRestakeManager(
	version string,

	configurationLoader *configurationLoader,
	logger *log.Logger,

	chainRouter routertypes.Router,

	gasManager tx.GasManager,

	debug_runSync bool,
) (*RestakeManager, error)

func (*RestakeManager) Start

func (rm *RestakeManager) Start(ctx context.Context)

type RestakeResult

type RestakeResult struct {
	// contains filtered or unexported fields
}

Results of running Restake on a given network

type RestakeResults

type RestakeResults []*RestakeResult

func (RestakeResults) Len

func (rr RestakeResults) Len() int

func (RestakeResults) Less

func (rr RestakeResults) Less(i, j int) bool

func (RestakeResults) Swap

func (rr RestakeResults) Swap(i, j int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL