mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-07-07 13:22:32 +00:00

* UTXO dump of block 0fca37ca667c2d550a6c4416dad9717e50927128c424fa4edbebc436ab13aeef * Activate HF immediately and change reward to 1000 * Change protocol version and datadir location * Delete comments * Fix zero hash to muhash zero hash in genesis utxo dump check * Don't omit genesis as direct parent * Fix tests * Change subsidy to 500 * Dont assume genesis multiset is empty * Fix BlockReward test * Fix TestValidateAndInsertImportedPruningPoint test * Fix pruning point genesis utxo set * Fix tests related to mainnet utxo set * Dont change the difficulty before you have a full window * Fix TestBlockWindow tests * Remove global utxo set variable, and persist mainnetnet utxo deserialization between runs * Fix last tests * Make peer banning opt-in * small fix for a test * Fix go lint * Fix Ori's review comments * Change DAA score of genesis to checkpoint DAA score and fix all tests * Fix the BlockLevel bits counting * Fix some tests and make them run a little faster * Change datadir name back to kaspa-mainnet and change db path from /data to /datadir * Last changes for the release and change the version to 0.11.5 Co-authored-by: Ori Newman <orinewman1@gmail.com> Co-authored-by: Ori Newman <> Co-authored-by: msutton <mikisiton2@gmail.com>
53 lines
1.5 KiB
Go
53 lines
1.5 KiB
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
// validCharacters is a list of characters valid in the appBuild string
|
|
const validCharacters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-"
|
|
|
|
const (
|
|
appMajor uint = 0
|
|
appMinor uint = 11
|
|
appPatch uint = 5
|
|
)
|
|
|
|
// appBuild is defined as a variable so it can be overridden during the build
|
|
// process with '-ldflags "-X github.com/kaspanet/kaspad/version.appBuild=foo"' if needed.
|
|
// It MUST only contain characters from validCharacters.
|
|
var appBuild string
|
|
|
|
var version = "" // string used for memoization of version
|
|
|
|
func init() {
|
|
if version == "" {
|
|
// Start with the major, minor, and patch versions.
|
|
version = fmt.Sprintf("%d.%d.%d", appMajor, appMinor, appPatch)
|
|
|
|
// Append build metadata if there is any.
|
|
// Panic if any invalid characters are encountered
|
|
if appBuild != "" {
|
|
checkAppBuild(appBuild)
|
|
|
|
version = fmt.Sprintf("%s-%s", version, appBuild)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Version returns the application version as a properly formed string
|
|
func Version() string {
|
|
return version
|
|
}
|
|
|
|
// checkAppBuild verifies that appBuild does not contain any characters outside of validCharacters.
|
|
// In case of any invalid characters checkAppBuild panics
|
|
func checkAppBuild(appBuild string) {
|
|
for _, r := range appBuild {
|
|
if !strings.ContainsRune(validCharacters, r) {
|
|
panic(fmt.Errorf("appBuild string (%s) contains forbidden characters. Only alphanumeric characters and dashes are allowed", appBuild))
|
|
}
|
|
}
|
|
}
|