version

package
v1.11.12-rc.7 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: BSD-3-Clause Imports: 11 Imported by: 48

Documentation

Index

Constants

View Source
const (
	Client = "metalgo"
	// RPCChainVMProtocol should be bumped anytime changes are made which
	// require the plugin vm to upgrade to latest avalanchego release to be
	// compatible.
	RPCChainVMProtocol uint = 37
)

Variables

View Source
var (
	Current = &Semantic{
		Major: 1,
		Minor: 11,
		Patch: 12,
	}
	CurrentApp = &Application{
		Name:  Client,
		Major: Current.Major,
		Minor: Current.Minor,
		Patch: Current.Patch,
	}
	MinimumCompatibleVersion = &Application{
		Name:  Client,
		Major: 1,
		Minor: 11,
		Patch: 0,
	}
	PrevMinimumCompatibleVersion = &Application{
		Name:  Client,
		Major: 1,
		Minor: 10,
		Patch: 0,
	}

	CurrentDatabase = DatabaseVersion1_4_5
	PrevDatabase    = DatabaseVersion1_0_0

	DatabaseVersion1_4_5 = &Semantic{
		Major: 1,
		Minor: 4,
		Patch: 5,
	}
	DatabaseVersion1_0_0 = &Semantic{
		Major: 1,
		Minor: 0,
		Patch: 0,
	}

	// RPCChainVMProtocolCompatibility maps RPCChainVMProtocol versions to the
	// set of metalgo versions that supported that version. This is not used
	// by metalgo, but is useful for downstream libraries.
	RPCChainVMProtocolCompatibility map[uint][]*Semantic
)

These are globals that describe network upgrades and node versions

View Source
var GitCommit string

GitCommit is set in the build script at compile time

View Source
var (
	// V1_0_0 is a useful version to use in tests
	Semantic1_0_0 = &Semantic{
		Major: 1,
		Minor: 0,
		Patch: 0,
	}
)

Functions

This section is empty.

Types

type Application

type Application struct {
	Name  string `json:"name"  yaml:"name"`
	Major int    `json:"major" yaml:"major"`
	Minor int    `json:"minor" yaml:"minor"`
	Patch int    `json:"patch" yaml:"patch"`
	// contains filtered or unexported fields
}

func (*Application) Before

func (a *Application) Before(o *Application) bool

func (*Application) Compare added in v1.8.4

func (a *Application) Compare(o *Application) int

Compare returns a positive number if s > o, 0 if s == o, or a negative number if s < o.

func (*Application) Compatible

func (a *Application) Compatible(o *Application) error

func (*Application) String added in v1.8.4

func (a *Application) String() string

The only difference here between Application and Semantic is that Application prepends the client name rather than "v".

type Compatibility

type Compatibility interface {
	// Returns the local version
	Version() *Application

	// Returns nil if the provided version is compatible with the local version.
	// This means that the version is connectable and that consensus messages
	// can be made to them.
	Compatible(*Application) error
}

Compatibility a utility for checking the compatibility of peer versions

func GetCompatibility

func GetCompatibility(minCompatibleTime time.Time) Compatibility

func NewCompatibility

func NewCompatibility(
	version *Application,
	minCompatible *Application,
	minCompatibleTime time.Time,
	prevMinCompatible *Application,
) Compatibility

NewCompatibility returns a compatibility checker with the provided options

type Semantic added in v1.8.4

type Semantic struct {
	Major int `json:"major" yaml:"major"`
	Minor int `json:"minor" yaml:"minor"`
	Patch int `json:"patch" yaml:"patch"`
	// contains filtered or unexported fields
}

func Parse added in v1.8.4

func Parse(s string) (*Semantic, error)

func (*Semantic) Compare added in v1.8.4

func (s *Semantic) Compare(o *Semantic) int

Compare returns a positive number if s > o, 0 if s == o, or a negative number if s < o.

func (*Semantic) String added in v1.8.4

func (s *Semantic) String() string

The only difference here between Semantic and Application is that Semantic prepends "v" rather than the client name.

type Versions added in v1.11.9

type Versions struct {
	Application string `json:"application"`
	Database    string `json:"database"`
	RPCChainVM  uint64 `json:"rpcchainvm"`
	// Commit may be empty if GitCommit was not set at compile time
	Commit string `json:"commit"`
	Go     string `json:"go"`
}

Versions contains the versions relevant to a build of avalanchego. In addition to supporting construction of the string displayed by --version, it is used to produce the output of --version-json and can be used to unmarshal that output.

func GetVersions added in v1.11.9

func GetVersions() *Versions

func (*Versions) String added in v1.11.9

func (v *Versions) String() string

Jump to

Keyboard shortcuts

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