upgrades

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

README

Nolus Upgrades

This folder contains sub-folders for every nolus upgrade. (Both state migrations, and hard forks) It also defines upgrade & hard fork structs, that each upgrade implements. These then get included in the application app.go to run the upgrade.

Version History

Upgrade types

Currently in Nolus we support only one upgrade type, Upgrade. If we need to support more upgrade types, like Fork, we can add them. An Upgrade defines an upgrade that is to be acted upon by state migrations from the SDK x/upgrade module.

type Upgrade struct {
 // Upgrade version name, for the upgrade handler, e.g. `v7`
 UpgradeName string
 // Function that creates an upgrade handler
 CreateUpgradeHandler func(mm *module.Manager, configurator module.Configurator, keepers *keepers.AppKeepers) upgradetypes.UpgradeHandler
 // Store upgrades, should be used for any new modules introduced, new modules deleted, or store names renamed.
 StoreUpgrades store.StoreUpgrades
}

// type Fork struct {
//  // Upgrade version name, for the upgrade handler, e.g. `v7`
//  UpgradeName string
//  // height the upgrade occurs at
//  UpgradeHeight int64

//  // Function that runs some custom state transition code at the beginning of a fork.
//  BeginForkLogic func(ctx sdk.Context, keepers *keepers.AppKeepers)
// }

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type StoreKeys added in v0.5.0

type StoreKeys interface {
	GetKey(string) *store.KVStoreKey
}

type Upgrade

type Upgrade struct {
	// Upgrade version name, for the upgrade handler, e.g. `v7`
	UpgradeName string

	// CreateUpgradeHandler defines the function that creates an upgrade handler
	CreateUpgradeHandler func(*module.Manager, module.Configurator, *keepers.AppKeepers, codec.Codec) upgradetypes.UpgradeHandler

	// Store upgrades, should be used for any new modules introduced, new modules deleted, or store names renamed.
	StoreUpgrades store.StoreUpgrades
}

Upgrade defines a struct containing necessary fields that a SoftwareUpgradeProposal must have written, in order for the state migration to go smoothly. An upgrade must implement this struct, and then set it in the app.go. The app.go will then define the handler.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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