Documentation ¶
Index ¶
- Constants
- Variables
- func GetApricotPhase1Time(networkID uint32) time.Time
- func GetApricotPhase2Time(networkID uint32) time.Time
- func GetApricotPhase3Time(networkID uint32) time.Time
- func GetApricotPhase4Time(networkID uint32) time.Time
- func GetApricotPhase5Time(networkID uint32) time.Time
- func GetApricotPhase6Time(networkID uint32) time.Time
- func GetApricotPhasePost6Time(networkID uint32) time.Time
- func GetApricotPhasePre6Time(networkID uint32) time.Time
- func GetBanffTime(networkID uint32) time.Time
- func GetCortinaTime(networkID uint32) time.Time
- func GetDurangoTime(networkID uint32) time.Time
- func GetEUpgradeTime(networkID uint32) time.Time
- type Application
- type Compatibility
- type Semantic
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 = 35 )
Variables ¶
View Source
var ( Current = &Semantic{ Major: 1, Minor: 11, Patch: 3, } 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 DefaultUpgradeTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC) ApricotPhase1Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), } ApricotPhase2Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), } ApricotPhase3Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), } ApricotPhase4Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), } ApricotPhase4MinPChainHeight = map[uint32]uint64{ constants.MainnetID: 0, constants.TahoeID: 0, } ApricotPhase5Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), } ApricotPhasePre6Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2022, time.September, 8, 20, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2022, time.September, 8, 20, 0, 0, 0, time.UTC), } ApricotPhase6Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2022, time.September, 8, 22, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2022, time.September, 8, 22, 0, 0, 0, time.UTC), } ApricotPhasePost6Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2022, time.September, 9, 3, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2022, time.September, 9, 3, 0, 0, 0, time.UTC), } BanffTimes = map[uint32]time.Time{ constants.MainnetID: time.Date(2022, time.December, 19, 16, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2022, time.December, 12, 14, 0, 0, 0, time.UTC), } CortinaTimes = map[uint32]time.Time{ constants.MainnetID: time.Date(2023, time.August, 17, 10, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2023, time.June, 28, 15, 0, 0, 0, time.UTC), } CortinaXChainStopVertexID = map[uint32]ids.ID{ constants.MainnetID: ids.FromStringOrPanic("ewiCzJQVJLYCzeFMcZSe9huX9h7QJPVeMdgDGcTVGTzeNJ3kY"), constants.TahoeID: ids.FromStringOrPanic("RdWKZYgjgU2NicKHv8mpkR6jgo41W5aNwVhsX5sJgqshDAbQk"), } DurangoTimes = map[uint32]time.Time{ constants.MainnetID: time.Date(2024, time.May, 6, 8, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(2024, time.April, 4, 0, 0, 0, 0, time.UTC), } EUpgradeTimes = map[uint32]time.Time{ constants.MainnetID: time.Date(10000, time.December, 1, 0, 0, 0, 0, time.UTC), constants.TahoeID: time.Date(10000, time.December, 1, 0, 0, 0, 0, time.UTC), } )
These are globals that describe network upgrades and node versions
View Source
var ( // String is displayed when CLI arg --version is used String string // GitCommit is set in the build script at compile time GitCommit string )
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 ¶
func GetApricotPhase1Time ¶
func GetApricotPhase2Time ¶
func GetApricotPhase3Time ¶
func GetApricotPhase4Time ¶
func GetApricotPhase5Time ¶
func GetApricotPhase6Time ¶ added in v1.8.4
func GetApricotPhasePost6Time ¶ added in v1.11.1
func GetApricotPhasePre6Time ¶ added in v1.11.1
func GetBanffTime ¶ added in v1.9.0
func GetCortinaTime ¶ added in v1.9.12
func GetDurangoTime ¶ added in v1.10.17
func GetEUpgradeTime ¶ added in v1.11.3
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(networkID uint32) 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 }
Click to show internal directories.
Click to hide internal directories.