plugin

package
v1.0.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package plugin provides helpers for developing devnet-builder network plugins.

To create a new network plugin:

  1. Implement the network.Module interface
  2. Call plugin.Serve() with your implementation

Example:

package main

import (
    "github.com/altuslabsxyz/devnet-builder/pkg/network"
    "github.com/altuslabsxyz/devnet-builder/pkg/network/plugin"
)

type MyNetwork struct{}

// Implement all network.Module methods...
func (m *MyNetwork) Name() string { return "mychain" }
// ...

func main() {
    plugin.Serve(&MyNetwork{})
}

Index

Constants

View Source
const (
	NetworkModule_Name_FullMethodName                   = "/network.NetworkModule/Name"
	NetworkModule_DisplayName_FullMethodName            = "/network.NetworkModule/DisplayName"
	NetworkModule_Version_FullMethodName                = "/network.NetworkModule/Version"
	NetworkModule_BinaryName_FullMethodName             = "/network.NetworkModule/BinaryName"
	NetworkModule_BinarySource_FullMethodName           = "/network.NetworkModule/BinarySource"
	NetworkModule_DefaultBinaryVersion_FullMethodName   = "/network.NetworkModule/DefaultBinaryVersion"
	NetworkModule_GetBuildConfig_FullMethodName         = "/network.NetworkModule/GetBuildConfig"
	NetworkModule_DefaultChainID_FullMethodName         = "/network.NetworkModule/DefaultChainID"
	NetworkModule_Bech32Prefix_FullMethodName           = "/network.NetworkModule/Bech32Prefix"
	NetworkModule_BaseDenom_FullMethodName              = "/network.NetworkModule/BaseDenom"
	NetworkModule_GenesisConfig_FullMethodName          = "/network.NetworkModule/GenesisConfig"
	NetworkModule_DefaultPorts_FullMethodName           = "/network.NetworkModule/DefaultPorts"
	NetworkModule_DefaultGeneratorConfig_FullMethodName = "/network.NetworkModule/DefaultGeneratorConfig"
	NetworkModule_DockerImage_FullMethodName            = "/network.NetworkModule/DockerImage"
	NetworkModule_DockerImageTag_FullMethodName         = "/network.NetworkModule/DockerImageTag"
	NetworkModule_DockerHomeDir_FullMethodName          = "/network.NetworkModule/DockerHomeDir"
	NetworkModule_InitCommand_FullMethodName            = "/network.NetworkModule/InitCommand"
	NetworkModule_StartCommand_FullMethodName           = "/network.NetworkModule/StartCommand"
	NetworkModule_ExportCommand_FullMethodName          = "/network.NetworkModule/ExportCommand"
	NetworkModule_DefaultNodeHome_FullMethodName        = "/network.NetworkModule/DefaultNodeHome"
	NetworkModule_PIDFileName_FullMethodName            = "/network.NetworkModule/PIDFileName"
	NetworkModule_LogFileName_FullMethodName            = "/network.NetworkModule/LogFileName"
	NetworkModule_ProcessPattern_FullMethodName         = "/network.NetworkModule/ProcessPattern"
	NetworkModule_ModifyGenesis_FullMethodName          = "/network.NetworkModule/ModifyGenesis"
	NetworkModule_ModifyGenesisFile_FullMethodName      = "/network.NetworkModule/ModifyGenesisFile"
	NetworkModule_GenerateDevnet_FullMethodName         = "/network.NetworkModule/GenerateDevnet"
	NetworkModule_GetCodec_FullMethodName               = "/network.NetworkModule/GetCodec"
	NetworkModule_Validate_FullMethodName               = "/network.NetworkModule/Validate"
	NetworkModule_SnapshotURL_FullMethodName            = "/network.NetworkModule/SnapshotURL"
	NetworkModule_RPCEndpoint_FullMethodName            = "/network.NetworkModule/RPCEndpoint"
	NetworkModule_AvailableNetworks_FullMethodName      = "/network.NetworkModule/AvailableNetworks"
	NetworkModule_GetConfigOverrides_FullMethodName     = "/network.NetworkModule/GetConfigOverrides"
	NetworkModule_GetGovernanceParams_FullMethodName    = "/network.NetworkModule/GetGovernanceParams"
	NetworkModule_GetBlockHeight_FullMethodName         = "/network.NetworkModule/GetBlockHeight"
	NetworkModule_GetBlockTime_FullMethodName           = "/network.NetworkModule/GetBlockTime"
	NetworkModule_IsChainRunning_FullMethodName         = "/network.NetworkModule/IsChainRunning"
	NetworkModule_WaitForBlock_FullMethodName           = "/network.NetworkModule/WaitForBlock"
	NetworkModule_GetProposal_FullMethodName            = "/network.NetworkModule/GetProposal"
	NetworkModule_GetUpgradePlan_FullMethodName         = "/network.NetworkModule/GetUpgradePlan"
	NetworkModule_GetAppVersion_FullMethodName          = "/network.NetworkModule/GetAppVersion"
)

Variables

View Source
var (
	// ErrPluginNotFound is returned when a plugin cannot be found.
	ErrPluginNotFound = errors.New("plugin not found")

	// ErrPluginNotLoaded is returned when operating on an unloaded plugin.
	ErrPluginNotLoaded = errors.New("plugin not loaded")

	// ErrPluginAlreadyLoaded is returned when attempting to load an already loaded plugin.
	ErrPluginAlreadyLoaded = errors.New("plugin already loaded")

	// ErrIncompatibleVersion is returned when a plugin version is incompatible.
	ErrIncompatibleVersion = errors.New("incompatible plugin version")
)
View Source
var File_network_proto protoreflect.FileDescriptor
View Source
var Handshake = plugin.HandshakeConfig{
	ProtocolVersion:  1,
	MagicCookieKey:   "DEVNET_BUILDER_PLUGIN",
	MagicCookieValue: "network_module_v1",
}

Handshake is the handshake configuration for devnet-builder plugins. This ensures compatibility between the host and plugins.

View Source
var NetworkModule_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "network.NetworkModule",
	HandlerType: (*NetworkModuleServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Name",
			Handler:    _NetworkModule_Name_Handler,
		},
		{
			MethodName: "DisplayName",
			Handler:    _NetworkModule_DisplayName_Handler,
		},
		{
			MethodName: "Version",
			Handler:    _NetworkModule_Version_Handler,
		},
		{
			MethodName: "BinaryName",
			Handler:    _NetworkModule_BinaryName_Handler,
		},
		{
			MethodName: "BinarySource",
			Handler:    _NetworkModule_BinarySource_Handler,
		},
		{
			MethodName: "DefaultBinaryVersion",
			Handler:    _NetworkModule_DefaultBinaryVersion_Handler,
		},
		{
			MethodName: "GetBuildConfig",
			Handler:    _NetworkModule_GetBuildConfig_Handler,
		},
		{
			MethodName: "DefaultChainID",
			Handler:    _NetworkModule_DefaultChainID_Handler,
		},
		{
			MethodName: "Bech32Prefix",
			Handler:    _NetworkModule_Bech32Prefix_Handler,
		},
		{
			MethodName: "BaseDenom",
			Handler:    _NetworkModule_BaseDenom_Handler,
		},
		{
			MethodName: "GenesisConfig",
			Handler:    _NetworkModule_GenesisConfig_Handler,
		},
		{
			MethodName: "DefaultPorts",
			Handler:    _NetworkModule_DefaultPorts_Handler,
		},
		{
			MethodName: "DefaultGeneratorConfig",
			Handler:    _NetworkModule_DefaultGeneratorConfig_Handler,
		},
		{
			MethodName: "DockerImage",
			Handler:    _NetworkModule_DockerImage_Handler,
		},
		{
			MethodName: "DockerImageTag",
			Handler:    _NetworkModule_DockerImageTag_Handler,
		},
		{
			MethodName: "DockerHomeDir",
			Handler:    _NetworkModule_DockerHomeDir_Handler,
		},
		{
			MethodName: "InitCommand",
			Handler:    _NetworkModule_InitCommand_Handler,
		},
		{
			MethodName: "StartCommand",
			Handler:    _NetworkModule_StartCommand_Handler,
		},
		{
			MethodName: "ExportCommand",
			Handler:    _NetworkModule_ExportCommand_Handler,
		},
		{
			MethodName: "DefaultNodeHome",
			Handler:    _NetworkModule_DefaultNodeHome_Handler,
		},
		{
			MethodName: "PIDFileName",
			Handler:    _NetworkModule_PIDFileName_Handler,
		},
		{
			MethodName: "LogFileName",
			Handler:    _NetworkModule_LogFileName_Handler,
		},
		{
			MethodName: "ProcessPattern",
			Handler:    _NetworkModule_ProcessPattern_Handler,
		},
		{
			MethodName: "ModifyGenesis",
			Handler:    _NetworkModule_ModifyGenesis_Handler,
		},
		{
			MethodName: "ModifyGenesisFile",
			Handler:    _NetworkModule_ModifyGenesisFile_Handler,
		},
		{
			MethodName: "GenerateDevnet",
			Handler:    _NetworkModule_GenerateDevnet_Handler,
		},
		{
			MethodName: "GetCodec",
			Handler:    _NetworkModule_GetCodec_Handler,
		},
		{
			MethodName: "Validate",
			Handler:    _NetworkModule_Validate_Handler,
		},
		{
			MethodName: "SnapshotURL",
			Handler:    _NetworkModule_SnapshotURL_Handler,
		},
		{
			MethodName: "RPCEndpoint",
			Handler:    _NetworkModule_RPCEndpoint_Handler,
		},
		{
			MethodName: "AvailableNetworks",
			Handler:    _NetworkModule_AvailableNetworks_Handler,
		},
		{
			MethodName: "GetConfigOverrides",
			Handler:    _NetworkModule_GetConfigOverrides_Handler,
		},
		{
			MethodName: "GetGovernanceParams",
			Handler:    _NetworkModule_GetGovernanceParams_Handler,
		},
		{
			MethodName: "GetBlockHeight",
			Handler:    _NetworkModule_GetBlockHeight_Handler,
		},
		{
			MethodName: "GetBlockTime",
			Handler:    _NetworkModule_GetBlockTime_Handler,
		},
		{
			MethodName: "IsChainRunning",
			Handler:    _NetworkModule_IsChainRunning_Handler,
		},
		{
			MethodName: "WaitForBlock",
			Handler:    _NetworkModule_WaitForBlock_Handler,
		},
		{
			MethodName: "GetProposal",
			Handler:    _NetworkModule_GetProposal_Handler,
		},
		{
			MethodName: "GetUpgradePlan",
			Handler:    _NetworkModule_GetUpgradePlan_Handler,
		},
		{
			MethodName: "GetAppVersion",
			Handler:    _NetworkModule_GetAppVersion_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "network.proto",
}

NetworkModule_ServiceDesc is the grpc.ServiceDesc for NetworkModule service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterNetworkModuleServer

func RegisterNetworkModuleServer(s grpc.ServiceRegistrar, srv NetworkModuleServer)

func Serve

func Serve(module network.Module)

Serve starts the plugin server with the given network module implementation. This function blocks and should be called from main().

Example:

func main() {
    plugin.Serve(&MyNetworkModule{})
}

Types

type AppVersionRequest

type AppVersionRequest struct {
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	// contains filtered or unexported fields
}

AppVersionRequest requests the application version.

func (*AppVersionRequest) Descriptor deprecated

func (*AppVersionRequest) Descriptor() ([]byte, []int)

Deprecated: Use AppVersionRequest.ProtoReflect.Descriptor instead.

func (*AppVersionRequest) GetRpcEndpoint

func (x *AppVersionRequest) GetRpcEndpoint() string

func (*AppVersionRequest) ProtoMessage

func (*AppVersionRequest) ProtoMessage()

func (*AppVersionRequest) ProtoReflect

func (x *AppVersionRequest) ProtoReflect() protoreflect.Message

func (*AppVersionRequest) Reset

func (x *AppVersionRequest) Reset()

func (*AppVersionRequest) String

func (x *AppVersionRequest) String() string

type AppVersionResponse

type AppVersionResponse struct {
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	Error   string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

AppVersionResponse contains the application version.

func (*AppVersionResponse) Descriptor deprecated

func (*AppVersionResponse) Descriptor() ([]byte, []int)

Deprecated: Use AppVersionResponse.ProtoReflect.Descriptor instead.

func (*AppVersionResponse) GetError

func (x *AppVersionResponse) GetError() string

func (*AppVersionResponse) GetVersion

func (x *AppVersionResponse) GetVersion() string

func (*AppVersionResponse) ProtoMessage

func (*AppVersionResponse) ProtoMessage()

func (*AppVersionResponse) ProtoReflect

func (x *AppVersionResponse) ProtoReflect() protoreflect.Message

func (*AppVersionResponse) Reset

func (x *AppVersionResponse) Reset()

func (*AppVersionResponse) String

func (x *AppVersionResponse) String() string

type BinarySourceResponse

type BinarySourceResponse struct {
	Type      string   `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Owner     string   `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
	Repo      string   `protobuf:"bytes,3,opt,name=repo,proto3" json:"repo,omitempty"`
	LocalPath string   `protobuf:"bytes,4,opt,name=local_path,json=localPath,proto3" json:"local_path,omitempty"`
	AssetName string   `protobuf:"bytes,5,opt,name=asset_name,json=assetName,proto3" json:"asset_name,omitempty"`
	BuildTags []string `protobuf:"bytes,6,rep,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"`
	// contains filtered or unexported fields
}

func (*BinarySourceResponse) Descriptor deprecated

func (*BinarySourceResponse) Descriptor() ([]byte, []int)

Deprecated: Use BinarySourceResponse.ProtoReflect.Descriptor instead.

func (*BinarySourceResponse) GetAssetName

func (x *BinarySourceResponse) GetAssetName() string

func (*BinarySourceResponse) GetBuildTags

func (x *BinarySourceResponse) GetBuildTags() []string

func (*BinarySourceResponse) GetLocalPath

func (x *BinarySourceResponse) GetLocalPath() string

func (*BinarySourceResponse) GetOwner

func (x *BinarySourceResponse) GetOwner() string

func (*BinarySourceResponse) GetRepo

func (x *BinarySourceResponse) GetRepo() string

func (*BinarySourceResponse) GetType

func (x *BinarySourceResponse) GetType() string

func (*BinarySourceResponse) ProtoMessage

func (*BinarySourceResponse) ProtoMessage()

func (*BinarySourceResponse) ProtoReflect

func (x *BinarySourceResponse) ProtoReflect() protoreflect.Message

func (*BinarySourceResponse) Reset

func (x *BinarySourceResponse) Reset()

func (*BinarySourceResponse) String

func (x *BinarySourceResponse) String() string

type BlockHeightRequest

type BlockHeightRequest struct {
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	// contains filtered or unexported fields
}

BlockHeightRequest requests current block height from a network plugin.

func (*BlockHeightRequest) Descriptor deprecated

func (*BlockHeightRequest) Descriptor() ([]byte, []int)

Deprecated: Use BlockHeightRequest.ProtoReflect.Descriptor instead.

func (*BlockHeightRequest) GetRpcEndpoint

func (x *BlockHeightRequest) GetRpcEndpoint() string

func (*BlockHeightRequest) ProtoMessage

func (*BlockHeightRequest) ProtoMessage()

func (*BlockHeightRequest) ProtoReflect

func (x *BlockHeightRequest) ProtoReflect() protoreflect.Message

func (*BlockHeightRequest) Reset

func (x *BlockHeightRequest) Reset()

func (*BlockHeightRequest) String

func (x *BlockHeightRequest) String() string

type BlockHeightResponse

type BlockHeightResponse struct {
	Height int64  `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Error  string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

BlockHeightResponse contains the current block height.

func (*BlockHeightResponse) Descriptor deprecated

func (*BlockHeightResponse) Descriptor() ([]byte, []int)

Deprecated: Use BlockHeightResponse.ProtoReflect.Descriptor instead.

func (*BlockHeightResponse) GetError

func (x *BlockHeightResponse) GetError() string

func (*BlockHeightResponse) GetHeight

func (x *BlockHeightResponse) GetHeight() int64

func (*BlockHeightResponse) ProtoMessage

func (*BlockHeightResponse) ProtoMessage()

func (*BlockHeightResponse) ProtoReflect

func (x *BlockHeightResponse) ProtoReflect() protoreflect.Message

func (*BlockHeightResponse) Reset

func (x *BlockHeightResponse) Reset()

func (*BlockHeightResponse) String

func (x *BlockHeightResponse) String() string

type BlockTimeRequest

type BlockTimeRequest struct {
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	SampleSize  int32  `protobuf:"varint,2,opt,name=sample_size,json=sampleSize,proto3" json:"sample_size,omitempty"` // Number of blocks to sample for average calculation
	// contains filtered or unexported fields
}

BlockTimeRequest requests average block time estimation.

func (*BlockTimeRequest) Descriptor deprecated

func (*BlockTimeRequest) Descriptor() ([]byte, []int)

Deprecated: Use BlockTimeRequest.ProtoReflect.Descriptor instead.

func (*BlockTimeRequest) GetRpcEndpoint

func (x *BlockTimeRequest) GetRpcEndpoint() string

func (*BlockTimeRequest) GetSampleSize

func (x *BlockTimeRequest) GetSampleSize() int32

func (*BlockTimeRequest) ProtoMessage

func (*BlockTimeRequest) ProtoMessage()

func (*BlockTimeRequest) ProtoReflect

func (x *BlockTimeRequest) ProtoReflect() protoreflect.Message

func (*BlockTimeRequest) Reset

func (x *BlockTimeRequest) Reset()

func (*BlockTimeRequest) String

func (x *BlockTimeRequest) String() string

type BlockTimeResponse

type BlockTimeResponse struct {
	BlockTimeNs int64  `protobuf:"varint,1,opt,name=block_time_ns,json=blockTimeNs,proto3" json:"block_time_ns,omitempty"` // Average block time in nanoseconds
	Error       string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

BlockTimeResponse contains the estimated average block time.

func (*BlockTimeResponse) Descriptor deprecated

func (*BlockTimeResponse) Descriptor() ([]byte, []int)

Deprecated: Use BlockTimeResponse.ProtoReflect.Descriptor instead.

func (*BlockTimeResponse) GetBlockTimeNs

func (x *BlockTimeResponse) GetBlockTimeNs() int64

func (*BlockTimeResponse) GetError

func (x *BlockTimeResponse) GetError() string

func (*BlockTimeResponse) ProtoMessage

func (*BlockTimeResponse) ProtoMessage()

func (*BlockTimeResponse) ProtoReflect

func (x *BlockTimeResponse) ProtoReflect() protoreflect.Message

func (*BlockTimeResponse) Reset

func (x *BlockTimeResponse) Reset()

func (*BlockTimeResponse) String

func (x *BlockTimeResponse) String() string

type BuildConfigRequest

type BuildConfigRequest struct {
	NetworkType string `protobuf:"bytes,1,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` // Target network type (e.g., "mainnet", "testnet", "devnet")
	// contains filtered or unexported fields
}

BuildConfigRequest requests build configuration for a specific network type.

func (*BuildConfigRequest) Descriptor deprecated

func (*BuildConfigRequest) Descriptor() ([]byte, []int)

Deprecated: Use BuildConfigRequest.ProtoReflect.Descriptor instead.

func (*BuildConfigRequest) GetNetworkType

func (x *BuildConfigRequest) GetNetworkType() string

func (*BuildConfigRequest) ProtoMessage

func (*BuildConfigRequest) ProtoMessage()

func (*BuildConfigRequest) ProtoReflect

func (x *BuildConfigRequest) ProtoReflect() protoreflect.Message

func (*BuildConfigRequest) Reset

func (x *BuildConfigRequest) Reset()

func (*BuildConfigRequest) String

func (x *BuildConfigRequest) String() string

type BuildConfigResponse

type BuildConfigResponse struct {
	Tags    []string          `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`       // Go build tags (e.g., ["netgo", "ledger"])
	Ldflags []string          `protobuf:"bytes,2,rep,name=ldflags,proto3" json:"ldflags,omitempty"` // Linker flags (e.g., ["-X main.Version=1.0", "-w"])
	Env     map[string]string ``                                                                    // Environment variables (e.g., {"CGO_ENABLED": "0"})
	/* 147-byte string literal not displayed */
	ExtraArgs []string `protobuf:"bytes,4,rep,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"` // Additional arguments for build tool
	Error     string   `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`                          // Error message if network type not supported
	// contains filtered or unexported fields
}

BuildConfigResponse contains network-specific build configuration.

func (*BuildConfigResponse) Descriptor deprecated

func (*BuildConfigResponse) Descriptor() ([]byte, []int)

Deprecated: Use BuildConfigResponse.ProtoReflect.Descriptor instead.

func (*BuildConfigResponse) GetEnv

func (x *BuildConfigResponse) GetEnv() map[string]string

func (*BuildConfigResponse) GetError

func (x *BuildConfigResponse) GetError() string

func (*BuildConfigResponse) GetExtraArgs

func (x *BuildConfigResponse) GetExtraArgs() []string

func (*BuildConfigResponse) GetLdflags

func (x *BuildConfigResponse) GetLdflags() []string

func (*BuildConfigResponse) GetTags

func (x *BuildConfigResponse) GetTags() []string

func (*BuildConfigResponse) ProtoMessage

func (*BuildConfigResponse) ProtoMessage()

func (*BuildConfigResponse) ProtoReflect

func (x *BuildConfigResponse) ProtoReflect() protoreflect.Message

func (*BuildConfigResponse) Reset

func (x *BuildConfigResponse) Reset()

func (*BuildConfigResponse) String

func (x *BuildConfigResponse) String() string

type BytesResponse

type BytesResponse struct {
	Data  []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*BytesResponse) Descriptor deprecated

func (*BytesResponse) Descriptor() ([]byte, []int)

Deprecated: Use BytesResponse.ProtoReflect.Descriptor instead.

func (*BytesResponse) GetData

func (x *BytesResponse) GetData() []byte

func (*BytesResponse) GetError

func (x *BytesResponse) GetError() string

func (*BytesResponse) ProtoMessage

func (*BytesResponse) ProtoMessage()

func (*BytesResponse) ProtoReflect

func (x *BytesResponse) ProtoReflect() protoreflect.Message

func (*BytesResponse) Reset

func (x *BytesResponse) Reset()

func (*BytesResponse) String

func (x *BytesResponse) String() string

type ChainStatusRequest

type ChainStatusRequest struct {
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	// contains filtered or unexported fields
}

ChainStatusRequest requests chain running status.

func (*ChainStatusRequest) Descriptor deprecated

func (*ChainStatusRequest) Descriptor() ([]byte, []int)

Deprecated: Use ChainStatusRequest.ProtoReflect.Descriptor instead.

func (*ChainStatusRequest) GetRpcEndpoint

func (x *ChainStatusRequest) GetRpcEndpoint() string

func (*ChainStatusRequest) ProtoMessage

func (*ChainStatusRequest) ProtoMessage()

func (*ChainStatusRequest) ProtoReflect

func (x *ChainStatusRequest) ProtoReflect() protoreflect.Message

func (*ChainStatusRequest) Reset

func (x *ChainStatusRequest) Reset()

func (*ChainStatusRequest) String

func (x *ChainStatusRequest) String() string

type ChainStatusResponse

type ChainStatusResponse struct {
	IsRunning bool   `protobuf:"varint,1,opt,name=is_running,json=isRunning,proto3" json:"is_running,omitempty"`
	Error     string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

ChainStatusResponse contains chain running status.

func (*ChainStatusResponse) Descriptor deprecated

func (*ChainStatusResponse) Descriptor() ([]byte, []int)

Deprecated: Use ChainStatusResponse.ProtoReflect.Descriptor instead.

func (*ChainStatusResponse) GetError

func (x *ChainStatusResponse) GetError() string

func (*ChainStatusResponse) GetIsRunning

func (x *ChainStatusResponse) GetIsRunning() bool

func (*ChainStatusResponse) ProtoMessage

func (*ChainStatusResponse) ProtoMessage()

func (*ChainStatusResponse) ProtoReflect

func (x *ChainStatusResponse) ProtoReflect() protoreflect.Message

func (*ChainStatusResponse) Reset

func (x *ChainStatusResponse) Reset()

func (*ChainStatusResponse) String

func (x *ChainStatusResponse) String() string

type ConfigOverridesResponse

type ConfigOverridesResponse struct {
	ConfigToml []byte `protobuf:"bytes,1,opt,name=config_toml,json=configToml,proto3" json:"config_toml,omitempty"`
	AppToml    []byte `protobuf:"bytes,2,opt,name=app_toml,json=appToml,proto3" json:"app_toml,omitempty"`
	Error      string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*ConfigOverridesResponse) Descriptor deprecated

func (*ConfigOverridesResponse) Descriptor() ([]byte, []int)

Deprecated: Use ConfigOverridesResponse.ProtoReflect.Descriptor instead.

func (*ConfigOverridesResponse) GetAppToml

func (x *ConfigOverridesResponse) GetAppToml() []byte

func (*ConfigOverridesResponse) GetConfigToml

func (x *ConfigOverridesResponse) GetConfigToml() []byte

func (*ConfigOverridesResponse) GetError

func (x *ConfigOverridesResponse) GetError() string

func (*ConfigOverridesResponse) ProtoMessage

func (*ConfigOverridesResponse) ProtoMessage()

func (*ConfigOverridesResponse) ProtoReflect

func (x *ConfigOverridesResponse) ProtoReflect() protoreflect.Message

func (*ConfigOverridesResponse) Reset

func (x *ConfigOverridesResponse) Reset()

func (*ConfigOverridesResponse) String

func (x *ConfigOverridesResponse) String() string

type Empty

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

func (*Empty) Descriptor deprecated

func (*Empty) Descriptor() ([]byte, []int)

Deprecated: Use Empty.ProtoReflect.Descriptor instead.

func (*Empty) ProtoMessage

func (*Empty) ProtoMessage()

func (*Empty) ProtoReflect

func (x *Empty) ProtoReflect() protoreflect.Message

func (*Empty) Reset

func (x *Empty) Reset()

func (*Empty) String

func (x *Empty) String() string

type ErrorResponse

type ErrorResponse struct {
	Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*ErrorResponse) Descriptor deprecated

func (*ErrorResponse) Descriptor() ([]byte, []int)

Deprecated: Use ErrorResponse.ProtoReflect.Descriptor instead.

func (*ErrorResponse) GetError

func (x *ErrorResponse) GetError() string

func (*ErrorResponse) ProtoMessage

func (*ErrorResponse) ProtoMessage()

func (*ErrorResponse) ProtoReflect

func (x *ErrorResponse) ProtoReflect() protoreflect.Message

func (*ErrorResponse) Reset

func (x *ErrorResponse) Reset()

func (*ErrorResponse) String

func (x *ErrorResponse) String() string

type GRPCClient

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

GRPCClient wraps the generated gRPC client and implements network.Module. This allows the host to use plugins as if they were native implementations.

func NewGRPCClient

func NewGRPCClient(conn *grpc.ClientConn) *GRPCClient

NewGRPCClient creates a new GRPCClient from a gRPC connection.

func (*GRPCClient) AvailableNetworks

func (c *GRPCClient) AvailableNetworks() []string

func (*GRPCClient) BaseDenom

func (c *GRPCClient) BaseDenom() string

func (*GRPCClient) Bech32Prefix

func (c *GRPCClient) Bech32Prefix() string

func (*GRPCClient) BinaryName

func (c *GRPCClient) BinaryName() string

func (*GRPCClient) BinarySource

func (c *GRPCClient) BinarySource() network.BinarySource

func (*GRPCClient) DefaultBinaryVersion

func (c *GRPCClient) DefaultBinaryVersion() string

func (*GRPCClient) DefaultChainID deprecated

func (c *GRPCClient) DefaultChainID() string

Deprecated: DefaultChainID will be removed in v2.0.0

func (*GRPCClient) DefaultGeneratorConfig

func (c *GRPCClient) DefaultGeneratorConfig() network.GeneratorConfig

func (*GRPCClient) DefaultNodeHome

func (c *GRPCClient) DefaultNodeHome() string

func (*GRPCClient) DefaultPorts

func (c *GRPCClient) DefaultPorts() network.PortConfig

func (*GRPCClient) DisplayName

func (c *GRPCClient) DisplayName() string

func (*GRPCClient) DockerHomeDir

func (c *GRPCClient) DockerHomeDir() string

func (*GRPCClient) DockerImage

func (c *GRPCClient) DockerImage() string

func (*GRPCClient) DockerImageTag

func (c *GRPCClient) DockerImageTag(version string) string

func (*GRPCClient) ExportCommand

func (c *GRPCClient) ExportCommand(homeDir string) []string

func (*GRPCClient) GenerateDevnet

func (c *GRPCClient) GenerateDevnet(ctx context.Context, config network.GeneratorConfig, genesisFile string) error

func (*GRPCClient) GenesisConfig

func (c *GRPCClient) GenesisConfig() network.GenesisConfig

func (*GRPCClient) GetAppVersion

func (c *GRPCClient) GetAppVersion(ctx context.Context, rpcEndpoint string) (*AppVersionResponse, error)

GetAppVersion retrieves the application version via the plugin.

func (*GRPCClient) GetBlockHeight

func (c *GRPCClient) GetBlockHeight(ctx context.Context, rpcEndpoint string) (*BlockHeightResponse, error)

GetBlockHeight retrieves the current block height from the plugin.

func (*GRPCClient) GetBlockTime

func (c *GRPCClient) GetBlockTime(ctx context.Context, rpcEndpoint string, sampleSize int) (*BlockTimeResponse, error)

GetBlockTime retrieves the average block time from the plugin.

func (*GRPCClient) GetBuildConfig

func (c *GRPCClient) GetBuildConfig(networkType string) (*network.BuildConfig, error)

GetBuildConfig returns network-specific build configuration from the plugin.

func (*GRPCClient) GetCodec

func (c *GRPCClient) GetCodec() ([]byte, error)

func (*GRPCClient) GetConfigOverrides

func (c *GRPCClient) GetConfigOverrides(nodeIndex int, opts network.NodeConfigOptions) ([]byte, []byte, error)

GetConfigOverrides returns TOML configuration overrides for a node.

func (*GRPCClient) GetGovernanceParams

func (c *GRPCClient) GetGovernanceParams(rpcEndpoint, networkType string) (*GovernanceParamsResponse, error)

GetGovernanceParams retrieves governance parameters from the plugin. This allows each network plugin to implement chain-specific parameter query logic.

func (*GRPCClient) GetProposal

func (c *GRPCClient) GetProposal(ctx context.Context, rpcEndpoint string, proposalID uint64) (*ProposalResponse, error)

GetProposal retrieves a governance proposal by ID via the plugin.

func (*GRPCClient) GetUpgradePlan

func (c *GRPCClient) GetUpgradePlan(ctx context.Context, rpcEndpoint string) (*UpgradePlanResponse, error)

GetUpgradePlan retrieves the current upgrade plan via the plugin.

func (*GRPCClient) InitCommand

func (c *GRPCClient) InitCommand(homeDir, chainID, moniker string) []string

func (*GRPCClient) IsChainRunning

func (c *GRPCClient) IsChainRunning(ctx context.Context, rpcEndpoint string) (*ChainStatusResponse, error)

IsChainRunning checks if the chain is responding via the plugin.

func (*GRPCClient) LogFileName

func (c *GRPCClient) LogFileName() string

func (*GRPCClient) ModifyGenesis

func (c *GRPCClient) ModifyGenesis(genesis []byte, opts network.GenesisOptions) ([]byte, error)

func (*GRPCClient) ModifyGenesisFile

func (c *GRPCClient) ModifyGenesisFile(inputPath, outputPath string, opts network.GenesisOptions) (int64, error)

ModifyGenesisFile implements network.FileBasedGenesisModifier. This method uses file paths instead of raw bytes to avoid gRPC message size limits.

func (*GRPCClient) Name

func (c *GRPCClient) Name() string

func (*GRPCClient) PIDFileName

func (c *GRPCClient) PIDFileName() string

func (*GRPCClient) ProcessPattern

func (c *GRPCClient) ProcessPattern() string

func (*GRPCClient) RPCEndpoint

func (c *GRPCClient) RPCEndpoint(networkType string) string

func (*GRPCClient) SnapshotURL

func (c *GRPCClient) SnapshotURL(networkType string) string

func (*GRPCClient) StartCommand

func (c *GRPCClient) StartCommand(homeDir string) []string

func (*GRPCClient) Validate

func (c *GRPCClient) Validate() error

func (*GRPCClient) Version

func (c *GRPCClient) Version() string

func (*GRPCClient) WaitForBlock

func (c *GRPCClient) WaitForBlock(ctx context.Context, rpcEndpoint string, targetHeight int64, timeoutMs int64) (*WaitForBlockResponse, error)

WaitForBlock waits until the chain reaches the specified height via the plugin.

type GRPCServer

type GRPCServer struct {
	UnimplementedNetworkModuleServer
	// contains filtered or unexported fields
}

GRPCServer is the gRPC server that plugins use to implement network.Module.

func NewGRPCServer

func NewGRPCServer(impl network.Module) *GRPCServer

NewGRPCServer creates a new GRPCServer for the given network module.

func (*GRPCServer) AvailableNetworks

func (s *GRPCServer) AvailableNetworks(ctx context.Context, req *Empty) (*StringListResponse, error)

func (*GRPCServer) BaseDenom

func (s *GRPCServer) BaseDenom(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) Bech32Prefix

func (s *GRPCServer) Bech32Prefix(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) BinaryName

func (s *GRPCServer) BinaryName(ctx context.Context, req *Empty) (*StringResponse, error)

Binary methods

func (*GRPCServer) BinarySource

func (s *GRPCServer) BinarySource(ctx context.Context, req *Empty) (*BinarySourceResponse, error)

func (*GRPCServer) DefaultBinaryVersion

func (s *GRPCServer) DefaultBinaryVersion(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) DefaultChainID deprecated

func (s *GRPCServer) DefaultChainID(ctx context.Context, req *Empty) (*StringResponse, error)

Deprecated: DefaultChainID will be removed in v2.0.0

func (*GRPCServer) DefaultGeneratorConfig

func (s *GRPCServer) DefaultGeneratorConfig(ctx context.Context, req *Empty) (*GeneratorConfigResponse, error)

func (*GRPCServer) DefaultNodeHome

func (s *GRPCServer) DefaultNodeHome(ctx context.Context, req *Empty) (*StringResponse, error)

Path methods

func (*GRPCServer) DefaultPorts

func (s *GRPCServer) DefaultPorts(ctx context.Context, req *Empty) (*PortConfigResponse, error)

func (*GRPCServer) DisplayName

func (s *GRPCServer) DisplayName(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) DockerHomeDir

func (s *GRPCServer) DockerHomeDir(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) DockerImage

func (s *GRPCServer) DockerImage(ctx context.Context, req *Empty) (*StringResponse, error)

Docker methods

func (*GRPCServer) DockerImageTag

func (s *GRPCServer) DockerImageTag(ctx context.Context, req *StringRequest) (*StringResponse, error)

func (*GRPCServer) ExportCommand

func (s *GRPCServer) ExportCommand(ctx context.Context, req *StringRequest) (*StringListResponse, error)

func (*GRPCServer) GenerateDevnet

func (s *GRPCServer) GenerateDevnet(ctx context.Context, req *GenerateDevnetRequest) (*ErrorResponse, error)

func (*GRPCServer) GenesisConfig

func (s *GRPCServer) GenesisConfig(ctx context.Context, req *Empty) (*GenesisConfigResponse, error)

Configuration methods

func (*GRPCServer) GetAppVersion

func (s *GRPCServer) GetAppVersion(ctx context.Context, req *AppVersionRequest) (*AppVersionResponse, error)

GetAppVersion retrieves the application version via the plugin.

func (*GRPCServer) GetBlockHeight

func (s *GRPCServer) GetBlockHeight(ctx context.Context, req *BlockHeightRequest) (*BlockHeightResponse, error)

GetBlockHeight retrieves the current block height via the plugin.

func (*GRPCServer) GetBlockTime

func (s *GRPCServer) GetBlockTime(ctx context.Context, req *BlockTimeRequest) (*BlockTimeResponse, error)

GetBlockTime retrieves the average block time via the plugin.

func (*GRPCServer) GetBuildConfig

func (s *GRPCServer) GetBuildConfig(ctx context.Context, req *BuildConfigRequest) (*BuildConfigResponse, error)

GetBuildConfig returns network-specific build configuration. This implements fail-fast validation by validating the BuildConfig before returning.

func (*GRPCServer) GetCodec

func (s *GRPCServer) GetCodec(ctx context.Context, req *Empty) (*BytesResponse, error)

func (*GRPCServer) GetConfigOverrides

func (s *GRPCServer) GetConfigOverrides(ctx context.Context, req *NodeConfigRequest) (*ConfigOverridesResponse, error)

GetConfigOverrides returns TOML configuration overrides for a node.

func (*GRPCServer) GetGovernanceParams

func (s *GRPCServer) GetGovernanceParams(ctx context.Context, req *GovernanceParamsRequest) (*GovernanceParamsResponse, error)

GetGovernanceParams retrieves governance parameters from the blockchain via the plugin. If the plugin doesn't implement GetGovernanceParams, returns Unimplemented error.

func (*GRPCServer) GetProposal

func (s *GRPCServer) GetProposal(ctx context.Context, req *ProposalRequest) (*ProposalResponse, error)

GetProposal retrieves a governance proposal by ID via the plugin.

func (*GRPCServer) GetUpgradePlan

func (s *GRPCServer) GetUpgradePlan(ctx context.Context, req *UpgradePlanRequest) (*UpgradePlanResponse, error)

GetUpgradePlan retrieves the current upgrade plan via the plugin.

func (*GRPCServer) InitCommand

func (s *GRPCServer) InitCommand(ctx context.Context, req *InitCommandRequest) (*StringListResponse, error)

Command methods

func (*GRPCServer) IsChainRunning

func (s *GRPCServer) IsChainRunning(ctx context.Context, req *ChainStatusRequest) (*ChainStatusResponse, error)

IsChainRunning checks if the chain is responding via the plugin.

func (*GRPCServer) LogFileName

func (s *GRPCServer) LogFileName(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) ModifyGenesis

func (s *GRPCServer) ModifyGenesis(ctx context.Context, req *ModifyGenesisRequest) (*BytesResponse, error)

Operation methods

func (*GRPCServer) ModifyGenesisFile

ModifyGenesisFile handles file-based genesis modification. This method avoids gRPC message size limits by using file paths.

func (*GRPCServer) Name

func (s *GRPCServer) Name(ctx context.Context, req *Empty) (*StringResponse, error)

Identity methods

func (*GRPCServer) PIDFileName

func (s *GRPCServer) PIDFileName(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) ProcessPattern

func (s *GRPCServer) ProcessPattern(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) RPCEndpoint

func (s *GRPCServer) RPCEndpoint(ctx context.Context, req *StringRequest) (*StringResponse, error)

func (*GRPCServer) SnapshotURL

func (s *GRPCServer) SnapshotURL(ctx context.Context, req *StringRequest) (*StringResponse, error)

Snapshot methods

func (*GRPCServer) StartCommand

func (s *GRPCServer) StartCommand(ctx context.Context, req *StringRequest) (*StringListResponse, error)

func (*GRPCServer) Validate

func (s *GRPCServer) Validate(ctx context.Context, req *Empty) (*ErrorResponse, error)

func (*GRPCServer) Version

func (s *GRPCServer) Version(ctx context.Context, req *Empty) (*StringResponse, error)

func (*GRPCServer) WaitForBlock

WaitForBlock waits until the chain reaches the specified height via the plugin.

type GenerateDevnetRequest

type GenerateDevnetRequest struct {
	NumValidators    int32  `protobuf:"varint,1,opt,name=num_validators,json=numValidators,proto3" json:"num_validators,omitempty"`
	NumAccounts      int32  `protobuf:"varint,2,opt,name=num_accounts,json=numAccounts,proto3" json:"num_accounts,omitempty"`
	AccountBalance   string `protobuf:"bytes,3,opt,name=account_balance,json=accountBalance,proto3" json:"account_balance,omitempty"`
	ValidatorBalance string `protobuf:"bytes,4,opt,name=validator_balance,json=validatorBalance,proto3" json:"validator_balance,omitempty"`
	ValidatorStake   string `protobuf:"bytes,5,opt,name=validator_stake,json=validatorStake,proto3" json:"validator_stake,omitempty"`
	OutputDir        string `protobuf:"bytes,6,opt,name=output_dir,json=outputDir,proto3" json:"output_dir,omitempty"`
	ChainId          string `protobuf:"bytes,7,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	GenesisFile      string `protobuf:"bytes,8,opt,name=genesis_file,json=genesisFile,proto3" json:"genesis_file,omitempty"`
	// contains filtered or unexported fields
}

func (*GenerateDevnetRequest) Descriptor deprecated

func (*GenerateDevnetRequest) Descriptor() ([]byte, []int)

Deprecated: Use GenerateDevnetRequest.ProtoReflect.Descriptor instead.

func (*GenerateDevnetRequest) GetAccountBalance

func (x *GenerateDevnetRequest) GetAccountBalance() string

func (*GenerateDevnetRequest) GetChainId

func (x *GenerateDevnetRequest) GetChainId() string

func (*GenerateDevnetRequest) GetGenesisFile

func (x *GenerateDevnetRequest) GetGenesisFile() string

func (*GenerateDevnetRequest) GetNumAccounts

func (x *GenerateDevnetRequest) GetNumAccounts() int32

func (*GenerateDevnetRequest) GetNumValidators

func (x *GenerateDevnetRequest) GetNumValidators() int32

func (*GenerateDevnetRequest) GetOutputDir

func (x *GenerateDevnetRequest) GetOutputDir() string

func (*GenerateDevnetRequest) GetValidatorBalance

func (x *GenerateDevnetRequest) GetValidatorBalance() string

func (*GenerateDevnetRequest) GetValidatorStake

func (x *GenerateDevnetRequest) GetValidatorStake() string

func (*GenerateDevnetRequest) ProtoMessage

func (*GenerateDevnetRequest) ProtoMessage()

func (*GenerateDevnetRequest) ProtoReflect

func (x *GenerateDevnetRequest) ProtoReflect() protoreflect.Message

func (*GenerateDevnetRequest) Reset

func (x *GenerateDevnetRequest) Reset()

func (*GenerateDevnetRequest) String

func (x *GenerateDevnetRequest) String() string

type GeneratorConfigResponse

type GeneratorConfigResponse struct {
	NumValidators    int32  `protobuf:"varint,1,opt,name=num_validators,json=numValidators,proto3" json:"num_validators,omitempty"`
	NumAccounts      int32  `protobuf:"varint,2,opt,name=num_accounts,json=numAccounts,proto3" json:"num_accounts,omitempty"`
	AccountBalance   string `protobuf:"bytes,3,opt,name=account_balance,json=accountBalance,proto3" json:"account_balance,omitempty"`
	ValidatorBalance string `protobuf:"bytes,4,opt,name=validator_balance,json=validatorBalance,proto3" json:"validator_balance,omitempty"`
	ValidatorStake   string `protobuf:"bytes,5,opt,name=validator_stake,json=validatorStake,proto3" json:"validator_stake,omitempty"`
	OutputDir        string `protobuf:"bytes,6,opt,name=output_dir,json=outputDir,proto3" json:"output_dir,omitempty"`
	ChainId          string `protobuf:"bytes,7,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	// contains filtered or unexported fields
}

func (*GeneratorConfigResponse) Descriptor deprecated

func (*GeneratorConfigResponse) Descriptor() ([]byte, []int)

Deprecated: Use GeneratorConfigResponse.ProtoReflect.Descriptor instead.

func (*GeneratorConfigResponse) GetAccountBalance

func (x *GeneratorConfigResponse) GetAccountBalance() string

func (*GeneratorConfigResponse) GetChainId

func (x *GeneratorConfigResponse) GetChainId() string

func (*GeneratorConfigResponse) GetNumAccounts

func (x *GeneratorConfigResponse) GetNumAccounts() int32

func (*GeneratorConfigResponse) GetNumValidators

func (x *GeneratorConfigResponse) GetNumValidators() int32

func (*GeneratorConfigResponse) GetOutputDir

func (x *GeneratorConfigResponse) GetOutputDir() string

func (*GeneratorConfigResponse) GetValidatorBalance

func (x *GeneratorConfigResponse) GetValidatorBalance() string

func (*GeneratorConfigResponse) GetValidatorStake

func (x *GeneratorConfigResponse) GetValidatorStake() string

func (*GeneratorConfigResponse) ProtoMessage

func (*GeneratorConfigResponse) ProtoMessage()

func (*GeneratorConfigResponse) ProtoReflect

func (x *GeneratorConfigResponse) ProtoReflect() protoreflect.Message

func (*GeneratorConfigResponse) Reset

func (x *GeneratorConfigResponse) Reset()

func (*GeneratorConfigResponse) String

func (x *GeneratorConfigResponse) String() string

type GenesisConfigResponse

type GenesisConfigResponse struct {
	ChainIdPattern          string `protobuf:"bytes,1,opt,name=chain_id_pattern,json=chainIdPattern,proto3" json:"chain_id_pattern,omitempty"`
	EvmChainId              int64  `protobuf:"varint,2,opt,name=evm_chain_id,json=evmChainId,proto3" json:"evm_chain_id,omitempty"`
	BaseDenom               string `protobuf:"bytes,3,opt,name=base_denom,json=baseDenom,proto3" json:"base_denom,omitempty"`
	DenomExponent           int32  `protobuf:"varint,4,opt,name=denom_exponent,json=denomExponent,proto3" json:"denom_exponent,omitempty"`
	DisplayDenom            string `protobuf:"bytes,5,opt,name=display_denom,json=displayDenom,proto3" json:"display_denom,omitempty"`
	BondDenom               string `protobuf:"bytes,6,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"`
	MinSelfDelegation       string `protobuf:"bytes,7,opt,name=min_self_delegation,json=minSelfDelegation,proto3" json:"min_self_delegation,omitempty"`
	UnbondingTimeSeconds    int64  `protobuf:"varint,8,opt,name=unbonding_time_seconds,json=unbondingTimeSeconds,proto3" json:"unbonding_time_seconds,omitempty"`
	MaxValidators           uint32 `protobuf:"varint,9,opt,name=max_validators,json=maxValidators,proto3" json:"max_validators,omitempty"`
	MinDeposit              string `protobuf:"bytes,10,opt,name=min_deposit,json=minDeposit,proto3" json:"min_deposit,omitempty"`
	VotingPeriodSeconds     int64  `protobuf:"varint,11,opt,name=voting_period_seconds,json=votingPeriodSeconds,proto3" json:"voting_period_seconds,omitempty"`
	MaxDepositPeriodSeconds int64  `` /* 136-byte string literal not displayed */
	CommunityTax            string `protobuf:"bytes,13,opt,name=community_tax,json=communityTax,proto3" json:"community_tax,omitempty"`
	// contains filtered or unexported fields
}

func (*GenesisConfigResponse) Descriptor deprecated

func (*GenesisConfigResponse) Descriptor() ([]byte, []int)

Deprecated: Use GenesisConfigResponse.ProtoReflect.Descriptor instead.

func (*GenesisConfigResponse) GetBaseDenom

func (x *GenesisConfigResponse) GetBaseDenom() string

func (*GenesisConfigResponse) GetBondDenom

func (x *GenesisConfigResponse) GetBondDenom() string

func (*GenesisConfigResponse) GetChainIdPattern

func (x *GenesisConfigResponse) GetChainIdPattern() string

func (*GenesisConfigResponse) GetCommunityTax

func (x *GenesisConfigResponse) GetCommunityTax() string

func (*GenesisConfigResponse) GetDenomExponent

func (x *GenesisConfigResponse) GetDenomExponent() int32

func (*GenesisConfigResponse) GetDisplayDenom

func (x *GenesisConfigResponse) GetDisplayDenom() string

func (*GenesisConfigResponse) GetEvmChainId

func (x *GenesisConfigResponse) GetEvmChainId() int64

func (*GenesisConfigResponse) GetMaxDepositPeriodSeconds

func (x *GenesisConfigResponse) GetMaxDepositPeriodSeconds() int64

func (*GenesisConfigResponse) GetMaxValidators

func (x *GenesisConfigResponse) GetMaxValidators() uint32

func (*GenesisConfigResponse) GetMinDeposit

func (x *GenesisConfigResponse) GetMinDeposit() string

func (*GenesisConfigResponse) GetMinSelfDelegation

func (x *GenesisConfigResponse) GetMinSelfDelegation() string

func (*GenesisConfigResponse) GetUnbondingTimeSeconds

func (x *GenesisConfigResponse) GetUnbondingTimeSeconds() int64

func (*GenesisConfigResponse) GetVotingPeriodSeconds

func (x *GenesisConfigResponse) GetVotingPeriodSeconds() int64

func (*GenesisConfigResponse) ProtoMessage

func (*GenesisConfigResponse) ProtoMessage()

func (*GenesisConfigResponse) ProtoReflect

func (x *GenesisConfigResponse) ProtoReflect() protoreflect.Message

func (*GenesisConfigResponse) Reset

func (x *GenesisConfigResponse) Reset()

func (*GenesisConfigResponse) String

func (x *GenesisConfigResponse) String() string

type GovernanceParamsRequest

type GovernanceParamsRequest struct {

	// rpc_endpoint is the HTTP/HTTPS URL of the blockchain RPC or REST endpoint.
	// Format: "http://host:port" or "https://host:port"
	// Examples: "http://localhost:26657", "http://localhost:1317"
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	// network_type indicates the blockchain network context.
	// Values: "mainnet", "testnet", "devnet", or plugin-specific types
	NetworkType string `protobuf:"bytes,2,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"`
	// contains filtered or unexported fields
}

GovernanceParamsRequest requests governance parameters from a network plugin. The plugin uses these inputs to query the blockchain and return governance settings (voting periods, deposit requirements, etc.).

func (*GovernanceParamsRequest) Descriptor deprecated

func (*GovernanceParamsRequest) Descriptor() ([]byte, []int)

Deprecated: Use GovernanceParamsRequest.ProtoReflect.Descriptor instead.

func (*GovernanceParamsRequest) GetNetworkType

func (x *GovernanceParamsRequest) GetNetworkType() string

func (*GovernanceParamsRequest) GetRpcEndpoint

func (x *GovernanceParamsRequest) GetRpcEndpoint() string

func (*GovernanceParamsRequest) ProtoMessage

func (*GovernanceParamsRequest) ProtoMessage()

func (*GovernanceParamsRequest) ProtoReflect

func (x *GovernanceParamsRequest) ProtoReflect() protoreflect.Message

func (*GovernanceParamsRequest) Reset

func (x *GovernanceParamsRequest) Reset()

func (*GovernanceParamsRequest) String

func (x *GovernanceParamsRequest) String() string

type GovernanceParamsResponse

type GovernanceParamsResponse struct {

	// voting_period_ns is the regular voting period in nanoseconds.
	// Type: int64 nanoseconds (for precise duration representation)
	// Example: 172800000000000 ns = 48 hours
	VotingPeriodNs int64 `protobuf:"varint,1,opt,name=voting_period_ns,json=votingPeriodNs,proto3" json:"voting_period_ns,omitempty"`
	// expedited_voting_period_ns is the expedited voting period in nanoseconds.
	// MAY be 0 if chain doesn't support expedited proposals.
	// Example: 86400000000000 ns = 24 hours
	ExpeditedVotingPeriodNs int64 `` /* 135-byte string literal not displayed */
	// min_deposit is the minimum deposit required for regular proposals.
	// Format: Numeric string (no decimals) in base denomination units.
	// Example: "10000000" = 10 tokens (assuming 6 decimal places)
	MinDeposit string `protobuf:"bytes,3,opt,name=min_deposit,json=minDeposit,proto3" json:"min_deposit,omitempty"`
	// expedited_min_deposit is the minimum deposit for expedited proposals.
	// MAY be empty/0 if chain doesn't support expedited proposals.
	ExpeditedMinDeposit string `protobuf:"bytes,4,opt,name=expedited_min_deposit,json=expeditedMinDeposit,proto3" json:"expedited_min_deposit,omitempty"`
	// error contains an error message if the parameter query failed.
	// Empty string ("") indicates success.
	Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

GovernanceParamsResponse contains governance parameters retrieved from a blockchain. Success case: error field is empty (""), all parameter fields are populated Failure case: error field is non-empty, parameter fields may be zero/empty

func (*GovernanceParamsResponse) Descriptor deprecated

func (*GovernanceParamsResponse) Descriptor() ([]byte, []int)

Deprecated: Use GovernanceParamsResponse.ProtoReflect.Descriptor instead.

func (*GovernanceParamsResponse) GetError

func (x *GovernanceParamsResponse) GetError() string

func (*GovernanceParamsResponse) GetExpeditedMinDeposit

func (x *GovernanceParamsResponse) GetExpeditedMinDeposit() string

func (*GovernanceParamsResponse) GetExpeditedVotingPeriodNs

func (x *GovernanceParamsResponse) GetExpeditedVotingPeriodNs() int64

func (*GovernanceParamsResponse) GetMinDeposit

func (x *GovernanceParamsResponse) GetMinDeposit() string

func (*GovernanceParamsResponse) GetVotingPeriodNs

func (x *GovernanceParamsResponse) GetVotingPeriodNs() int64

func (*GovernanceParamsResponse) ProtoMessage

func (*GovernanceParamsResponse) ProtoMessage()

func (*GovernanceParamsResponse) ProtoReflect

func (x *GovernanceParamsResponse) ProtoReflect() protoreflect.Message

func (*GovernanceParamsResponse) Reset

func (x *GovernanceParamsResponse) Reset()

func (*GovernanceParamsResponse) String

func (x *GovernanceParamsResponse) String() string

type InitCommandRequest

type InitCommandRequest struct {
	HomeDir string `protobuf:"bytes,1,opt,name=home_dir,json=homeDir,proto3" json:"home_dir,omitempty"`
	ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	Moniker string `protobuf:"bytes,3,opt,name=moniker,proto3" json:"moniker,omitempty"`
	// contains filtered or unexported fields
}

func (*InitCommandRequest) Descriptor deprecated

func (*InitCommandRequest) Descriptor() ([]byte, []int)

Deprecated: Use InitCommandRequest.ProtoReflect.Descriptor instead.

func (*InitCommandRequest) GetChainId

func (x *InitCommandRequest) GetChainId() string

func (*InitCommandRequest) GetHomeDir

func (x *InitCommandRequest) GetHomeDir() string

func (*InitCommandRequest) GetMoniker

func (x *InitCommandRequest) GetMoniker() string

func (*InitCommandRequest) ProtoMessage

func (*InitCommandRequest) ProtoMessage()

func (*InitCommandRequest) ProtoReflect

func (x *InitCommandRequest) ProtoReflect() protoreflect.Message

func (*InitCommandRequest) Reset

func (x *InitCommandRequest) Reset()

func (*InitCommandRequest) String

func (x *InitCommandRequest) String() string

type Loader

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

Loader discovers and loads network plugins.

func NewLoader

func NewLoader(opts ...LoaderOption) *Loader

NewLoader creates a new plugin loader with optional configuration.

func NewLoaderWithDirs deprecated

func NewLoaderWithDirs(pluginDirs ...string) *Loader

NewLoaderWithDirs creates a new plugin loader with specific directories (legacy API).

Deprecated: Use NewLoader with WithPluginDirs option instead.

func (*Loader) AddPluginDir

func (l *Loader) AddPluginDir(dir string)

AddPluginDir adds a directory to the plugin search path.

func (*Loader) Close

func (l *Loader) Close()

Close closes all loaded plugins.

func (*Loader) Discover

func (l *Loader) Discover() ([]string, error)

Discover finds all available plugins in the plugin directories.

func (*Loader) DiscoverWithInfo

func (l *Loader) DiscoverWithInfo() ([]PluginInfo, error)

DiscoverWithInfo finds all available plugins with detailed metadata.

func (*Loader) Get

func (l *Loader) Get(name string) (*PluginClient, bool)

Get returns a loaded plugin by name.

func (*Loader) GetPluginVersion

func (l *Loader) GetPluginVersion(name string) (string, error)

GetPluginVersion returns the version of a plugin. If the plugin is not loaded, it temporarily loads it to get the version.

func (*Loader) IsLoaded

func (l *Loader) IsLoaded(name string) bool

IsLoaded checks if a plugin is currently loaded.

func (*Loader) Load

func (l *Loader) Load(name string) (*PluginClient, error)

Load loads a plugin by name and returns the network module.

func (*Loader) LoadAll

func (l *Loader) LoadAll() ([]*PluginClient, error)

LoadAll loads all discovered plugins. Returns successfully loaded plugins; errors for individual plugins are logged.

func (*Loader) LoadAllStrict

func (l *Loader) LoadAllStrict() ([]*PluginClient, error)

LoadAllStrict loads all discovered plugins, failing if any plugin fails to load.

func (*Loader) LoadedPlugins

func (l *Loader) LoadedPlugins() []string

LoadedPlugins returns a list of all loaded plugin names.

func (*Loader) PluginDirs

func (l *Loader) PluginDirs() []string

PluginDirs returns the configured plugin directories.

func (*Loader) Reload

func (l *Loader) Reload(name string) (*PluginClient, error)

Reload unloads and reloads a plugin. Useful for hot-reloading plugin updates.

func (*Loader) SetLogger

func (l *Loader) SetLogger(logger hclog.Logger)

SetLogger sets the logger for the plugin loader.

func (*Loader) SetVersionConstraint

func (l *Loader) SetVersionConstraint(constraint VersionConstraint)

SetVersionConstraint updates the version constraint for future plugin loads.

func (*Loader) UnloadPlugin

func (l *Loader) UnloadPlugin(name string) error

UnloadPlugin unloads a specific plugin.

func (*Loader) ValidatePlugin

func (l *Loader) ValidatePlugin(name string) error

ValidatePlugin validates a plugin without loading it permanently. This is useful for checking plugin compatibility before actual use.

type LoaderOption

type LoaderOption func(*Loader)

LoaderOption is a functional option for configuring a Loader.

func WithLogger

func WithLogger(logger hclog.Logger) LoaderOption

WithLogger sets a custom logger for the loader.

func WithPluginDirs

func WithPluginDirs(dirs ...string) LoaderOption

WithPluginDirs adds additional plugin directories.

func WithVersionConstraint

func WithVersionConstraint(constraint VersionConstraint) LoaderOption

WithVersionConstraint sets a custom version constraint for plugin compatibility.

type ModifyGenesisFileRequest

type ModifyGenesisFileRequest struct {
	InputPath     string           `protobuf:"bytes,1,opt,name=input_path,json=inputPath,proto3" json:"input_path,omitempty"`    // Path to input genesis.json
	OutputPath    string           `protobuf:"bytes,2,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` // Path where modified genesis should be written
	ChainId       string           `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	NumValidators int32            `protobuf:"varint,4,opt,name=num_validators,json=numValidators,proto3" json:"num_validators,omitempty"`
	Validators    []*ValidatorInfo `protobuf:"bytes,5,rep,name=validators,proto3" json:"validators,omitempty"`
	// contains filtered or unexported fields
}

ModifyGenesisFileRequest uses file paths instead of raw bytes to handle large genesis files that exceed gRPC message limits.

func (*ModifyGenesisFileRequest) Descriptor deprecated

func (*ModifyGenesisFileRequest) Descriptor() ([]byte, []int)

Deprecated: Use ModifyGenesisFileRequest.ProtoReflect.Descriptor instead.

func (*ModifyGenesisFileRequest) GetChainId

func (x *ModifyGenesisFileRequest) GetChainId() string

func (*ModifyGenesisFileRequest) GetInputPath

func (x *ModifyGenesisFileRequest) GetInputPath() string

func (*ModifyGenesisFileRequest) GetNumValidators

func (x *ModifyGenesisFileRequest) GetNumValidators() int32

func (*ModifyGenesisFileRequest) GetOutputPath

func (x *ModifyGenesisFileRequest) GetOutputPath() string

func (*ModifyGenesisFileRequest) GetValidators

func (x *ModifyGenesisFileRequest) GetValidators() []*ValidatorInfo

func (*ModifyGenesisFileRequest) ProtoMessage

func (*ModifyGenesisFileRequest) ProtoMessage()

func (*ModifyGenesisFileRequest) ProtoReflect

func (x *ModifyGenesisFileRequest) ProtoReflect() protoreflect.Message

func (*ModifyGenesisFileRequest) Reset

func (x *ModifyGenesisFileRequest) Reset()

func (*ModifyGenesisFileRequest) String

func (x *ModifyGenesisFileRequest) String() string

type ModifyGenesisFileResponse

type ModifyGenesisFileResponse struct {
	Error      string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	OutputSize int64  `protobuf:"varint,2,opt,name=output_size,json=outputSize,proto3" json:"output_size,omitempty"` // Size of the output file in bytes
	// contains filtered or unexported fields
}

func (*ModifyGenesisFileResponse) Descriptor deprecated

func (*ModifyGenesisFileResponse) Descriptor() ([]byte, []int)

Deprecated: Use ModifyGenesisFileResponse.ProtoReflect.Descriptor instead.

func (*ModifyGenesisFileResponse) GetError

func (x *ModifyGenesisFileResponse) GetError() string

func (*ModifyGenesisFileResponse) GetOutputSize

func (x *ModifyGenesisFileResponse) GetOutputSize() int64

func (*ModifyGenesisFileResponse) ProtoMessage

func (*ModifyGenesisFileResponse) ProtoMessage()

func (*ModifyGenesisFileResponse) ProtoReflect

func (*ModifyGenesisFileResponse) Reset

func (x *ModifyGenesisFileResponse) Reset()

func (*ModifyGenesisFileResponse) String

func (x *ModifyGenesisFileResponse) String() string

type ModifyGenesisRequest

type ModifyGenesisRequest struct {
	Genesis       []byte           `protobuf:"bytes,1,opt,name=genesis,proto3" json:"genesis,omitempty"`
	ChainId       string           `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	NumValidators int32            `protobuf:"varint,3,opt,name=num_validators,json=numValidators,proto3" json:"num_validators,omitempty"`
	Validators    []*ValidatorInfo `protobuf:"bytes,4,rep,name=validators,proto3" json:"validators,omitempty"`
	// contains filtered or unexported fields
}

func (*ModifyGenesisRequest) Descriptor deprecated

func (*ModifyGenesisRequest) Descriptor() ([]byte, []int)

Deprecated: Use ModifyGenesisRequest.ProtoReflect.Descriptor instead.

func (*ModifyGenesisRequest) GetChainId

func (x *ModifyGenesisRequest) GetChainId() string

func (*ModifyGenesisRequest) GetGenesis

func (x *ModifyGenesisRequest) GetGenesis() []byte

func (*ModifyGenesisRequest) GetNumValidators

func (x *ModifyGenesisRequest) GetNumValidators() int32

func (*ModifyGenesisRequest) GetValidators

func (x *ModifyGenesisRequest) GetValidators() []*ValidatorInfo

func (*ModifyGenesisRequest) ProtoMessage

func (*ModifyGenesisRequest) ProtoMessage()

func (*ModifyGenesisRequest) ProtoReflect

func (x *ModifyGenesisRequest) ProtoReflect() protoreflect.Message

func (*ModifyGenesisRequest) Reset

func (x *ModifyGenesisRequest) Reset()

func (*ModifyGenesisRequest) String

func (x *ModifyGenesisRequest) String() string

type NetworkModuleClient

type NetworkModuleClient interface {
	// Identity
	Name(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	DisplayName(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	Version(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	// Binary
	BinaryName(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	BinarySource(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*BinarySourceResponse, error)
	DefaultBinaryVersion(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	GetBuildConfig(ctx context.Context, in *BuildConfigRequest, opts ...grpc.CallOption) (*BuildConfigResponse, error)
	// Chain
	// DEPRECATED: DefaultChainID will be removed in v2.0.0
	DefaultChainID(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	Bech32Prefix(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	BaseDenom(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	// Configuration
	GenesisConfig(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GenesisConfigResponse, error)
	DefaultPorts(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*PortConfigResponse, error)
	DefaultGeneratorConfig(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GeneratorConfigResponse, error)
	// Docker
	DockerImage(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	DockerImageTag(ctx context.Context, in *StringRequest, opts ...grpc.CallOption) (*StringResponse, error)
	DockerHomeDir(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	// Commands
	InitCommand(ctx context.Context, in *InitCommandRequest, opts ...grpc.CallOption) (*StringListResponse, error)
	StartCommand(ctx context.Context, in *StringRequest, opts ...grpc.CallOption) (*StringListResponse, error)
	ExportCommand(ctx context.Context, in *StringRequest, opts ...grpc.CallOption) (*StringListResponse, error)
	// Paths
	DefaultNodeHome(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	PIDFileName(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	LogFileName(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	ProcessPattern(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringResponse, error)
	// Operations
	ModifyGenesis(ctx context.Context, in *ModifyGenesisRequest, opts ...grpc.CallOption) (*BytesResponse, error)
	ModifyGenesisFile(ctx context.Context, in *ModifyGenesisFileRequest, opts ...grpc.CallOption) (*ModifyGenesisFileResponse, error)
	GenerateDevnet(ctx context.Context, in *GenerateDevnetRequest, opts ...grpc.CallOption) (*ErrorResponse, error)
	GetCodec(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*BytesResponse, error)
	// Validation
	Validate(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ErrorResponse, error)
	// Snapshot
	SnapshotURL(ctx context.Context, in *StringRequest, opts ...grpc.CallOption) (*StringResponse, error)
	RPCEndpoint(ctx context.Context, in *StringRequest, opts ...grpc.CallOption) (*StringResponse, error)
	AvailableNetworks(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*StringListResponse, error)
	// Node Configuration
	GetConfigOverrides(ctx context.Context, in *NodeConfigRequest, opts ...grpc.CallOption) (*ConfigOverridesResponse, error)
	// Governance
	// GetGovernanceParams retrieves governance parameters from the blockchain.
	// Plugins implement chain-specific logic to query voting periods, deposit amounts,
	// and other governance settings needed for upgrade workflows.
	GetGovernanceParams(ctx context.Context, in *GovernanceParamsRequest, opts ...grpc.CallOption) (*GovernanceParamsResponse, error)
	// RPC Operations
	// All blockchain RPC operations are delegated to plugins to allow chain-specific implementations.
	// Each plugin implements these methods using their chain's specific RPC/REST endpoints.
	GetBlockHeight(ctx context.Context, in *BlockHeightRequest, opts ...grpc.CallOption) (*BlockHeightResponse, error)
	GetBlockTime(ctx context.Context, in *BlockTimeRequest, opts ...grpc.CallOption) (*BlockTimeResponse, error)
	IsChainRunning(ctx context.Context, in *ChainStatusRequest, opts ...grpc.CallOption) (*ChainStatusResponse, error)
	WaitForBlock(ctx context.Context, in *WaitForBlockRequest, opts ...grpc.CallOption) (*WaitForBlockResponse, error)
	GetProposal(ctx context.Context, in *ProposalRequest, opts ...grpc.CallOption) (*ProposalResponse, error)
	GetUpgradePlan(ctx context.Context, in *UpgradePlanRequest, opts ...grpc.CallOption) (*UpgradePlanResponse, error)
	GetAppVersion(ctx context.Context, in *AppVersionRequest, opts ...grpc.CallOption) (*AppVersionResponse, error)
}

NetworkModuleClient is the client API for NetworkModule service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

NetworkModule service definition

type NetworkModulePlugin

type NetworkModulePlugin struct {
	plugin.Plugin
	Impl network.Module
}

NetworkModulePlugin is the plugin.GRPCPlugin implementation for network modules.

func (*NetworkModulePlugin) GRPCClient

func (p *NetworkModulePlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

GRPCClient returns a gRPC client for the plugin.

func (*NetworkModulePlugin) GRPCServer

func (p *NetworkModulePlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

GRPCServer returns a gRPC server for the plugin.

type NetworkModuleServer

type NetworkModuleServer interface {
	// Identity
	Name(context.Context, *Empty) (*StringResponse, error)
	DisplayName(context.Context, *Empty) (*StringResponse, error)
	Version(context.Context, *Empty) (*StringResponse, error)
	// Binary
	BinaryName(context.Context, *Empty) (*StringResponse, error)
	BinarySource(context.Context, *Empty) (*BinarySourceResponse, error)
	DefaultBinaryVersion(context.Context, *Empty) (*StringResponse, error)
	GetBuildConfig(context.Context, *BuildConfigRequest) (*BuildConfigResponse, error)
	// Chain
	// DEPRECATED: DefaultChainID will be removed in v2.0.0
	DefaultChainID(context.Context, *Empty) (*StringResponse, error)
	Bech32Prefix(context.Context, *Empty) (*StringResponse, error)
	BaseDenom(context.Context, *Empty) (*StringResponse, error)
	// Configuration
	GenesisConfig(context.Context, *Empty) (*GenesisConfigResponse, error)
	DefaultPorts(context.Context, *Empty) (*PortConfigResponse, error)
	DefaultGeneratorConfig(context.Context, *Empty) (*GeneratorConfigResponse, error)
	// Docker
	DockerImage(context.Context, *Empty) (*StringResponse, error)
	DockerImageTag(context.Context, *StringRequest) (*StringResponse, error)
	DockerHomeDir(context.Context, *Empty) (*StringResponse, error)
	// Commands
	InitCommand(context.Context, *InitCommandRequest) (*StringListResponse, error)
	StartCommand(context.Context, *StringRequest) (*StringListResponse, error)
	ExportCommand(context.Context, *StringRequest) (*StringListResponse, error)
	// Paths
	DefaultNodeHome(context.Context, *Empty) (*StringResponse, error)
	PIDFileName(context.Context, *Empty) (*StringResponse, error)
	LogFileName(context.Context, *Empty) (*StringResponse, error)
	ProcessPattern(context.Context, *Empty) (*StringResponse, error)
	// Operations
	ModifyGenesis(context.Context, *ModifyGenesisRequest) (*BytesResponse, error)
	ModifyGenesisFile(context.Context, *ModifyGenesisFileRequest) (*ModifyGenesisFileResponse, error)
	GenerateDevnet(context.Context, *GenerateDevnetRequest) (*ErrorResponse, error)
	GetCodec(context.Context, *Empty) (*BytesResponse, error)
	// Validation
	Validate(context.Context, *Empty) (*ErrorResponse, error)
	// Snapshot
	SnapshotURL(context.Context, *StringRequest) (*StringResponse, error)
	RPCEndpoint(context.Context, *StringRequest) (*StringResponse, error)
	AvailableNetworks(context.Context, *Empty) (*StringListResponse, error)
	// Node Configuration
	GetConfigOverrides(context.Context, *NodeConfigRequest) (*ConfigOverridesResponse, error)
	// Governance
	// GetGovernanceParams retrieves governance parameters from the blockchain.
	// Plugins implement chain-specific logic to query voting periods, deposit amounts,
	// and other governance settings needed for upgrade workflows.
	GetGovernanceParams(context.Context, *GovernanceParamsRequest) (*GovernanceParamsResponse, error)
	// RPC Operations
	// All blockchain RPC operations are delegated to plugins to allow chain-specific implementations.
	// Each plugin implements these methods using their chain's specific RPC/REST endpoints.
	GetBlockHeight(context.Context, *BlockHeightRequest) (*BlockHeightResponse, error)
	GetBlockTime(context.Context, *BlockTimeRequest) (*BlockTimeResponse, error)
	IsChainRunning(context.Context, *ChainStatusRequest) (*ChainStatusResponse, error)
	WaitForBlock(context.Context, *WaitForBlockRequest) (*WaitForBlockResponse, error)
	GetProposal(context.Context, *ProposalRequest) (*ProposalResponse, error)
	GetUpgradePlan(context.Context, *UpgradePlanRequest) (*UpgradePlanResponse, error)
	GetAppVersion(context.Context, *AppVersionRequest) (*AppVersionResponse, error)
	// contains filtered or unexported methods
}

NetworkModuleServer is the server API for NetworkModule service. All implementations must embed UnimplementedNetworkModuleServer for forward compatibility.

NetworkModule service definition

type NodeConfigRequest

type NodeConfigRequest struct {
	NodeIndex       int32               `protobuf:"varint,1,opt,name=node_index,json=nodeIndex,proto3" json:"node_index,omitempty"`
	ChainId         string              `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	Ports           *PortConfigResponse `protobuf:"bytes,3,opt,name=ports,proto3" json:"ports,omitempty"`
	PersistentPeers string              `protobuf:"bytes,4,opt,name=persistent_peers,json=persistentPeers,proto3" json:"persistent_peers,omitempty"`
	NumValidators   int32               `protobuf:"varint,5,opt,name=num_validators,json=numValidators,proto3" json:"num_validators,omitempty"`
	IsValidator     bool                `protobuf:"varint,6,opt,name=is_validator,json=isValidator,proto3" json:"is_validator,omitempty"`
	Moniker         string              `protobuf:"bytes,7,opt,name=moniker,proto3" json:"moniker,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeConfigRequest) Descriptor deprecated

func (*NodeConfigRequest) Descriptor() ([]byte, []int)

Deprecated: Use NodeConfigRequest.ProtoReflect.Descriptor instead.

func (*NodeConfigRequest) GetChainId

func (x *NodeConfigRequest) GetChainId() string

func (*NodeConfigRequest) GetIsValidator

func (x *NodeConfigRequest) GetIsValidator() bool

func (*NodeConfigRequest) GetMoniker

func (x *NodeConfigRequest) GetMoniker() string

func (*NodeConfigRequest) GetNodeIndex

func (x *NodeConfigRequest) GetNodeIndex() int32

func (*NodeConfigRequest) GetNumValidators

func (x *NodeConfigRequest) GetNumValidators() int32

func (*NodeConfigRequest) GetPersistentPeers

func (x *NodeConfigRequest) GetPersistentPeers() string

func (*NodeConfigRequest) GetPorts

func (x *NodeConfigRequest) GetPorts() *PortConfigResponse

func (*NodeConfigRequest) ProtoMessage

func (*NodeConfigRequest) ProtoMessage()

func (*NodeConfigRequest) ProtoReflect

func (x *NodeConfigRequest) ProtoReflect() protoreflect.Message

func (*NodeConfigRequest) Reset

func (x *NodeConfigRequest) Reset()

func (*NodeConfigRequest) String

func (x *NodeConfigRequest) String() string

type PluginClient

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

PluginClient represents a loaded plugin client.

func (*PluginClient) Close

func (p *PluginClient) Close()

Close cleanly shuts down the plugin.

func (*PluginClient) Module

func (p *PluginClient) Module() network.Module

Module returns the network module implementation from the plugin.

func (*PluginClient) Name

func (p *PluginClient) Name() string

Name returns the plugin name.

type PluginError

type PluginError struct {
	Op         string // Operation that failed (e.g., "load", "validate")
	PluginName string // Name of the plugin
	Err        error  // Underlying error
}

PluginError provides detailed error information for plugin operations.

func (*PluginError) Error

func (e *PluginError) Error() string

func (*PluginError) Unwrap

func (e *PluginError) Unwrap() error

type PluginInfo

type PluginInfo struct {
	Name    string // Network name (e.g., "stable", "osmosis")
	Path    string // Full path to the plugin binary
	Size    int64  // File size in bytes
	ModTime int64  // Modification time (Unix timestamp)
}

PluginInfo contains metadata about a discovered plugin.

type PortConfigResponse

type PortConfigResponse struct {
	Rpc       int32 `protobuf:"varint,1,opt,name=rpc,proto3" json:"rpc,omitempty"`
	P2P       int32 `protobuf:"varint,2,opt,name=p2p,proto3" json:"p2p,omitempty"`
	Grpc      int32 `protobuf:"varint,3,opt,name=grpc,proto3" json:"grpc,omitempty"`
	GrpcWeb   int32 `protobuf:"varint,4,opt,name=grpc_web,json=grpcWeb,proto3" json:"grpc_web,omitempty"`
	Api       int32 `protobuf:"varint,5,opt,name=api,proto3" json:"api,omitempty"`
	EvmRpc    int32 `protobuf:"varint,6,opt,name=evm_rpc,json=evmRpc,proto3" json:"evm_rpc,omitempty"`
	EvmSocket int32 `protobuf:"varint,7,opt,name=evm_socket,json=evmSocket,proto3" json:"evm_socket,omitempty"`
	// contains filtered or unexported fields
}

func (*PortConfigResponse) Descriptor deprecated

func (*PortConfigResponse) Descriptor() ([]byte, []int)

Deprecated: Use PortConfigResponse.ProtoReflect.Descriptor instead.

func (*PortConfigResponse) GetApi

func (x *PortConfigResponse) GetApi() int32

func (*PortConfigResponse) GetEvmRpc

func (x *PortConfigResponse) GetEvmRpc() int32

func (*PortConfigResponse) GetEvmSocket

func (x *PortConfigResponse) GetEvmSocket() int32

func (*PortConfigResponse) GetGrpc

func (x *PortConfigResponse) GetGrpc() int32

func (*PortConfigResponse) GetGrpcWeb

func (x *PortConfigResponse) GetGrpcWeb() int32

func (*PortConfigResponse) GetP2P

func (x *PortConfigResponse) GetP2P() int32

func (*PortConfigResponse) GetRpc

func (x *PortConfigResponse) GetRpc() int32

func (*PortConfigResponse) ProtoMessage

func (*PortConfigResponse) ProtoMessage()

func (*PortConfigResponse) ProtoReflect

func (x *PortConfigResponse) ProtoReflect() protoreflect.Message

func (*PortConfigResponse) Reset

func (x *PortConfigResponse) Reset()

func (*PortConfigResponse) String

func (x *PortConfigResponse) String() string

type ProposalRequest

type ProposalRequest struct {
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	ProposalId  uint64 `protobuf:"varint,2,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
	// contains filtered or unexported fields
}

ProposalRequest requests a governance proposal by ID.

func (*ProposalRequest) Descriptor deprecated

func (*ProposalRequest) Descriptor() ([]byte, []int)

Deprecated: Use ProposalRequest.ProtoReflect.Descriptor instead.

func (*ProposalRequest) GetProposalId

func (x *ProposalRequest) GetProposalId() uint64

func (*ProposalRequest) GetRpcEndpoint

func (x *ProposalRequest) GetRpcEndpoint() string

func (*ProposalRequest) ProtoMessage

func (*ProposalRequest) ProtoMessage()

func (*ProposalRequest) ProtoReflect

func (x *ProposalRequest) ProtoReflect() protoreflect.Message

func (*ProposalRequest) Reset

func (x *ProposalRequest) Reset()

func (*ProposalRequest) String

func (x *ProposalRequest) String() string

type ProposalResponse

type ProposalResponse struct {
	Id                 uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Title              string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Description        string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	Status             string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`                                                        // PROPOSAL_STATUS_DEPOSIT_PERIOD, PROPOSAL_STATUS_VOTING_PERIOD, etc.
	VotingEndTimeUnix  int64  `protobuf:"varint,5,opt,name=voting_end_time_unix,json=votingEndTimeUnix,proto3" json:"voting_end_time_unix,omitempty"`    // Unix timestamp in seconds
	SubmitTimeUnix     int64  `protobuf:"varint,6,opt,name=submit_time_unix,json=submitTimeUnix,proto3" json:"submit_time_unix,omitempty"`               // Unix timestamp in seconds
	DepositEndTimeUnix int64  `protobuf:"varint,7,opt,name=deposit_end_time_unix,json=depositEndTimeUnix,proto3" json:"deposit_end_time_unix,omitempty"` // Unix timestamp in seconds
	TotalDeposit       string `protobuf:"bytes,8,opt,name=total_deposit,json=totalDeposit,proto3" json:"total_deposit,omitempty"`
	FinalTallyYes      string `protobuf:"bytes,9,opt,name=final_tally_yes,json=finalTallyYes,proto3" json:"final_tally_yes,omitempty"`
	FinalTallyNo       string `protobuf:"bytes,10,opt,name=final_tally_no,json=finalTallyNo,proto3" json:"final_tally_no,omitempty"`
	FinalTallyAbstain  string `protobuf:"bytes,11,opt,name=final_tally_abstain,json=finalTallyAbstain,proto3" json:"final_tally_abstain,omitempty"`
	Error              string `protobuf:"bytes,12,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

ProposalResponse contains governance proposal details.

func (*ProposalResponse) Descriptor deprecated

func (*ProposalResponse) Descriptor() ([]byte, []int)

Deprecated: Use ProposalResponse.ProtoReflect.Descriptor instead.

func (*ProposalResponse) GetDepositEndTimeUnix

func (x *ProposalResponse) GetDepositEndTimeUnix() int64

func (*ProposalResponse) GetDescription

func (x *ProposalResponse) GetDescription() string

func (*ProposalResponse) GetError

func (x *ProposalResponse) GetError() string

func (*ProposalResponse) GetFinalTallyAbstain

func (x *ProposalResponse) GetFinalTallyAbstain() string

func (*ProposalResponse) GetFinalTallyNo

func (x *ProposalResponse) GetFinalTallyNo() string

func (*ProposalResponse) GetFinalTallyYes

func (x *ProposalResponse) GetFinalTallyYes() string

func (*ProposalResponse) GetId

func (x *ProposalResponse) GetId() uint64

func (*ProposalResponse) GetStatus

func (x *ProposalResponse) GetStatus() string

func (*ProposalResponse) GetSubmitTimeUnix

func (x *ProposalResponse) GetSubmitTimeUnix() int64

func (*ProposalResponse) GetTitle

func (x *ProposalResponse) GetTitle() string

func (*ProposalResponse) GetTotalDeposit

func (x *ProposalResponse) GetTotalDeposit() string

func (*ProposalResponse) GetVotingEndTimeUnix

func (x *ProposalResponse) GetVotingEndTimeUnix() int64

func (*ProposalResponse) ProtoMessage

func (*ProposalResponse) ProtoMessage()

func (*ProposalResponse) ProtoReflect

func (x *ProposalResponse) ProtoReflect() protoreflect.Message

func (*ProposalResponse) Reset

func (x *ProposalResponse) Reset()

func (*ProposalResponse) String

func (x *ProposalResponse) String() string

type RPCProvider

type RPCProvider interface {
	GetBlockHeight(ctx context.Context, rpcEndpoint string) (*BlockHeightResponse, error)
	GetBlockTime(ctx context.Context, rpcEndpoint string, sampleSize int) (*BlockTimeResponse, error)
	IsChainRunning(ctx context.Context, rpcEndpoint string) (*ChainStatusResponse, error)
	WaitForBlock(ctx context.Context, rpcEndpoint string, targetHeight int64, timeoutMs int64) (*WaitForBlockResponse, error)
	GetProposal(ctx context.Context, rpcEndpoint string, proposalID uint64) (*ProposalResponse, error)
	GetUpgradePlan(ctx context.Context, rpcEndpoint string) (*UpgradePlanResponse, error)
	GetAppVersion(ctx context.Context, rpcEndpoint string) (*AppVersionResponse, error)
}

RPCProvider defines the interface for RPC operations that plugins can implement.

type StringListResponse

type StringListResponse struct {
	Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

func (*StringListResponse) Descriptor deprecated

func (*StringListResponse) Descriptor() ([]byte, []int)

Deprecated: Use StringListResponse.ProtoReflect.Descriptor instead.

func (*StringListResponse) GetValues

func (x *StringListResponse) GetValues() []string

func (*StringListResponse) ProtoMessage

func (*StringListResponse) ProtoMessage()

func (*StringListResponse) ProtoReflect

func (x *StringListResponse) ProtoReflect() protoreflect.Message

func (*StringListResponse) Reset

func (x *StringListResponse) Reset()

func (*StringListResponse) String

func (x *StringListResponse) String() string

type StringRequest

type StringRequest struct {
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*StringRequest) Descriptor deprecated

func (*StringRequest) Descriptor() ([]byte, []int)

Deprecated: Use StringRequest.ProtoReflect.Descriptor instead.

func (*StringRequest) GetValue

func (x *StringRequest) GetValue() string

func (*StringRequest) ProtoMessage

func (*StringRequest) ProtoMessage()

func (*StringRequest) ProtoReflect

func (x *StringRequest) ProtoReflect() protoreflect.Message

func (*StringRequest) Reset

func (x *StringRequest) Reset()

func (*StringRequest) String

func (x *StringRequest) String() string

type StringResponse

type StringResponse struct {
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*StringResponse) Descriptor deprecated

func (*StringResponse) Descriptor() ([]byte, []int)

Deprecated: Use StringResponse.ProtoReflect.Descriptor instead.

func (*StringResponse) GetValue

func (x *StringResponse) GetValue() string

func (*StringResponse) ProtoMessage

func (*StringResponse) ProtoMessage()

func (*StringResponse) ProtoReflect

func (x *StringResponse) ProtoReflect() protoreflect.Message

func (*StringResponse) Reset

func (x *StringResponse) Reset()

func (*StringResponse) String

func (x *StringResponse) String() string

type UnimplementedNetworkModuleServer

type UnimplementedNetworkModuleServer struct{}

UnimplementedNetworkModuleServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedNetworkModuleServer) AvailableNetworks

func (UnimplementedNetworkModuleServer) BaseDenom

func (UnimplementedNetworkModuleServer) Bech32Prefix

func (UnimplementedNetworkModuleServer) BinaryName

func (UnimplementedNetworkModuleServer) BinarySource

func (UnimplementedNetworkModuleServer) DefaultBinaryVersion

func (UnimplementedNetworkModuleServer) DefaultChainID

func (UnimplementedNetworkModuleServer) DefaultGeneratorConfig

func (UnimplementedNetworkModuleServer) DefaultNodeHome

func (UnimplementedNetworkModuleServer) DefaultPorts

func (UnimplementedNetworkModuleServer) DisplayName

func (UnimplementedNetworkModuleServer) DockerHomeDir

func (UnimplementedNetworkModuleServer) DockerImage

func (UnimplementedNetworkModuleServer) DockerImageTag

func (UnimplementedNetworkModuleServer) ExportCommand

func (UnimplementedNetworkModuleServer) GenerateDevnet

func (UnimplementedNetworkModuleServer) GenesisConfig

func (UnimplementedNetworkModuleServer) GetAppVersion

func (UnimplementedNetworkModuleServer) GetBlockHeight

func (UnimplementedNetworkModuleServer) GetBlockTime

func (UnimplementedNetworkModuleServer) GetBuildConfig

func (UnimplementedNetworkModuleServer) GetCodec

func (UnimplementedNetworkModuleServer) GetConfigOverrides

func (UnimplementedNetworkModuleServer) GetGovernanceParams

func (UnimplementedNetworkModuleServer) GetProposal

func (UnimplementedNetworkModuleServer) GetUpgradePlan

func (UnimplementedNetworkModuleServer) InitCommand

func (UnimplementedNetworkModuleServer) IsChainRunning

func (UnimplementedNetworkModuleServer) LogFileName

func (UnimplementedNetworkModuleServer) ModifyGenesis

func (UnimplementedNetworkModuleServer) ModifyGenesisFile

func (UnimplementedNetworkModuleServer) Name

func (UnimplementedNetworkModuleServer) PIDFileName

func (UnimplementedNetworkModuleServer) ProcessPattern

func (UnimplementedNetworkModuleServer) RPCEndpoint

func (UnimplementedNetworkModuleServer) SnapshotURL

func (UnimplementedNetworkModuleServer) StartCommand

func (UnimplementedNetworkModuleServer) Validate

func (UnimplementedNetworkModuleServer) Version

func (UnimplementedNetworkModuleServer) WaitForBlock

type UnsafeNetworkModuleServer

type UnsafeNetworkModuleServer interface {
	// contains filtered or unexported methods
}

UnsafeNetworkModuleServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to NetworkModuleServer will result in compilation errors.

type UpgradePlanRequest

type UpgradePlanRequest struct {
	RpcEndpoint string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	// contains filtered or unexported fields
}

UpgradePlanRequest requests the current upgrade plan.

func (*UpgradePlanRequest) Descriptor deprecated

func (*UpgradePlanRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpgradePlanRequest.ProtoReflect.Descriptor instead.

func (*UpgradePlanRequest) GetRpcEndpoint

func (x *UpgradePlanRequest) GetRpcEndpoint() string

func (*UpgradePlanRequest) ProtoMessage

func (*UpgradePlanRequest) ProtoMessage()

func (*UpgradePlanRequest) ProtoReflect

func (x *UpgradePlanRequest) ProtoReflect() protoreflect.Message

func (*UpgradePlanRequest) Reset

func (x *UpgradePlanRequest) Reset()

func (*UpgradePlanRequest) String

func (x *UpgradePlanRequest) String() string

type UpgradePlanResponse

type UpgradePlanResponse struct {
	Name     string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Height   int64  `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	Info     string `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"`
	TimeUnix int64  `protobuf:"varint,4,opt,name=time_unix,json=timeUnix,proto3" json:"time_unix,omitempty"` // Unix timestamp in seconds (deprecated, usually 0)
	HasPlan  bool   `protobuf:"varint,5,opt,name=has_plan,json=hasPlan,proto3" json:"has_plan,omitempty"`    // True if an upgrade plan exists
	Error    string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

UpgradePlanResponse contains upgrade plan details.

func (*UpgradePlanResponse) Descriptor deprecated

func (*UpgradePlanResponse) Descriptor() ([]byte, []int)

Deprecated: Use UpgradePlanResponse.ProtoReflect.Descriptor instead.

func (*UpgradePlanResponse) GetError

func (x *UpgradePlanResponse) GetError() string

func (*UpgradePlanResponse) GetHasPlan

func (x *UpgradePlanResponse) GetHasPlan() bool

func (*UpgradePlanResponse) GetHeight

func (x *UpgradePlanResponse) GetHeight() int64

func (*UpgradePlanResponse) GetInfo

func (x *UpgradePlanResponse) GetInfo() string

func (*UpgradePlanResponse) GetName

func (x *UpgradePlanResponse) GetName() string

func (*UpgradePlanResponse) GetTimeUnix

func (x *UpgradePlanResponse) GetTimeUnix() int64

func (*UpgradePlanResponse) ProtoMessage

func (*UpgradePlanResponse) ProtoMessage()

func (*UpgradePlanResponse) ProtoReflect

func (x *UpgradePlanResponse) ProtoReflect() protoreflect.Message

func (*UpgradePlanResponse) Reset

func (x *UpgradePlanResponse) Reset()

func (*UpgradePlanResponse) String

func (x *UpgradePlanResponse) String() string

type ValidatorInfo

type ValidatorInfo struct {
	Moniker         string `protobuf:"bytes,1,opt,name=moniker,proto3" json:"moniker,omitempty"`
	ConsPubKey      string `protobuf:"bytes,2,opt,name=cons_pub_key,json=consPubKey,proto3" json:"cons_pub_key,omitempty"`
	OperatorAddress string `protobuf:"bytes,3,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"`
	SelfDelegation  string `protobuf:"bytes,4,opt,name=self_delegation,json=selfDelegation,proto3" json:"self_delegation,omitempty"`
	// contains filtered or unexported fields
}

func (*ValidatorInfo) Descriptor deprecated

func (*ValidatorInfo) Descriptor() ([]byte, []int)

Deprecated: Use ValidatorInfo.ProtoReflect.Descriptor instead.

func (*ValidatorInfo) GetConsPubKey

func (x *ValidatorInfo) GetConsPubKey() string

func (*ValidatorInfo) GetMoniker

func (x *ValidatorInfo) GetMoniker() string

func (*ValidatorInfo) GetOperatorAddress

func (x *ValidatorInfo) GetOperatorAddress() string

func (*ValidatorInfo) GetSelfDelegation

func (x *ValidatorInfo) GetSelfDelegation() string

func (*ValidatorInfo) ProtoMessage

func (*ValidatorInfo) ProtoMessage()

func (*ValidatorInfo) ProtoReflect

func (x *ValidatorInfo) ProtoReflect() protoreflect.Message

func (*ValidatorInfo) Reset

func (x *ValidatorInfo) Reset()

func (*ValidatorInfo) String

func (x *ValidatorInfo) String() string

type VersionConstraint

type VersionConstraint struct {
	MinVersion string // Minimum required version (semantic versioning)
	MaxVersion string // Maximum allowed version (empty = no upper limit)
}

VersionConstraint defines version compatibility requirements.

func DefaultVersionConstraint

func DefaultVersionConstraint() VersionConstraint

DefaultVersionConstraint returns the default version constraint for plugins.

func (VersionConstraint) CheckVersion

func (c VersionConstraint) CheckVersion(version string) error

CheckVersion validates if a version satisfies the constraint.

type WaitForBlockRequest

type WaitForBlockRequest struct {
	RpcEndpoint  string `protobuf:"bytes,1,opt,name=rpc_endpoint,json=rpcEndpoint,proto3" json:"rpc_endpoint,omitempty"`
	TargetHeight int64  `protobuf:"varint,2,opt,name=target_height,json=targetHeight,proto3" json:"target_height,omitempty"`
	TimeoutMs    int64  `protobuf:"varint,3,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"` // Timeout in milliseconds (0 = use default)
	// contains filtered or unexported fields
}

WaitForBlockRequest requests to wait until a specific block height.

func (*WaitForBlockRequest) Descriptor deprecated

func (*WaitForBlockRequest) Descriptor() ([]byte, []int)

Deprecated: Use WaitForBlockRequest.ProtoReflect.Descriptor instead.

func (*WaitForBlockRequest) GetRpcEndpoint

func (x *WaitForBlockRequest) GetRpcEndpoint() string

func (*WaitForBlockRequest) GetTargetHeight

func (x *WaitForBlockRequest) GetTargetHeight() int64

func (*WaitForBlockRequest) GetTimeoutMs

func (x *WaitForBlockRequest) GetTimeoutMs() int64

func (*WaitForBlockRequest) ProtoMessage

func (*WaitForBlockRequest) ProtoMessage()

func (*WaitForBlockRequest) ProtoReflect

func (x *WaitForBlockRequest) ProtoReflect() protoreflect.Message

func (*WaitForBlockRequest) Reset

func (x *WaitForBlockRequest) Reset()

func (*WaitForBlockRequest) String

func (x *WaitForBlockRequest) String() string

type WaitForBlockResponse

type WaitForBlockResponse struct {
	CurrentHeight int64  `protobuf:"varint,1,opt,name=current_height,json=currentHeight,proto3" json:"current_height,omitempty"`
	Reached       bool   `protobuf:"varint,2,opt,name=reached,proto3" json:"reached,omitempty"`
	Error         string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

WaitForBlockResponse indicates whether the target height was reached.

func (*WaitForBlockResponse) Descriptor deprecated

func (*WaitForBlockResponse) Descriptor() ([]byte, []int)

Deprecated: Use WaitForBlockResponse.ProtoReflect.Descriptor instead.

func (*WaitForBlockResponse) GetCurrentHeight

func (x *WaitForBlockResponse) GetCurrentHeight() int64

func (*WaitForBlockResponse) GetError

func (x *WaitForBlockResponse) GetError() string

func (*WaitForBlockResponse) GetReached

func (x *WaitForBlockResponse) GetReached() bool

func (*WaitForBlockResponse) ProtoMessage

func (*WaitForBlockResponse) ProtoMessage()

func (*WaitForBlockResponse) ProtoReflect

func (x *WaitForBlockResponse) ProtoReflect() protoreflect.Message

func (*WaitForBlockResponse) Reset

func (x *WaitForBlockResponse) Reset()

func (*WaitForBlockResponse) String

func (x *WaitForBlockResponse) String() string

Jump to

Keyboard shortcuts

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