upgrade

package
v1.8.0-rc0 Latest Latest
Warning

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

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

README

x/upgrade

Abstract

This upgrade module is a fork of the cosmos-sdk's x/upgrade module that removes the entrypoints to the standard upgrade module by not registering a message server.

The goal of this approach is to force social consensus to reach an upgrade instead of relying on token voting. It works by simply removing the ability of the gov module to schedule an upgrade. This way, the only way to upgrade the chain is to agree on the upgrade logic and the upgrade height offchain.

This fork registers the standard upgrade module types to preserve the ability to marshal them. Additionally the keeper of the standard upgrade module is still added to the application.

Resources

  1. https://github.com/celestiaorg/celestia-app/pull/1491
  2. https://github.com/cosmos/cosmos-sdk/blob/v0.46.15/x/upgrade/README.md
  3. https://github.com/cosmos/cosmos-sdk/blob/v0.46.15/x/gov/README.md

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TypeRegister

type TypeRegister struct{}

TypeRegister is used to register the upgrade modules types in the encoding config without defining an entire module.

func (TypeRegister) RegisterInterfaces

func (TypeRegister) RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces registers the upgrade module types.

func (TypeRegister) RegisterLegacyAminoCodec

func (TypeRegister) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the upgrade types on the LegacyAmino codec.

Jump to

Keyboard shortcuts

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