Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Commit

Permalink
version: types
Browse files Browse the repository at this point in the history
  • Loading branch information
ebuchman committed Sep 23, 2018
1 parent 27ba6e8 commit e4ee34c
Showing 1 changed file with 44 additions and 14 deletions.
58 changes: 44 additions & 14 deletions version/version.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,56 @@
package version

// Version components
const (
Maj = "0"
Min = "25"
Fix = "0"
)

var (
// Version is the current version of Tendermint
// Must be a string because scripts like dist.sh read this file.
Version = "0.25.0"

// GitCommit is the current HEAD set using ldflags.
GitCommit string
)

// ABCIVersion is the version of the ABCI library
const ABCIVersion = "0.14.0"
// Version is the built softwares version.
Version string = TMCoreSemVer
)

func init() {
if GitCommit != "" {
Version += "-" + GitCommit
}
}

const (
// TMCoreSemVer is the current version of Tendermint Core.
// It's the Semantic Version of the software.
// Must be a string because scripts like dist.sh read this file.
TMCoreSemVer = "0.25.0"

// ABCISemVer is the semantic version of the ABCI library
ABCISemVer = "0.14.0"
ABCIVersion = ABCISemVer
)

// Protocol is used for implementation agnostic versioning.
type Protocol uint64

var (
// P2PProtocol versions all p2p behaviour and msgs.
P2PProtocol Protocol = 4

// BlockProtocol versions all block data structures and processing.
BlockProtocol Protocol = 7
)

//------------------------------------------------------------------------
// Version types

// App includes the protocol and software version for the application.
// This information is included in ResponseInfo. The App.Protocol can be
// updated in ResponseEndBlock.
type App struct {
Protocol Protocol `json:"protocol"`
Software string `json:"software"`
}

// Consensus captures the consensus rules for processing a block in the blockchain,
// including all blockchain data structures and the rules of the application's
// state transition machine.
type Consensus struct {
Block Protocol `json:"block"`
App Protocol `json:"app"`
}

0 comments on commit e4ee34c

Please sign in to comment.