app

package
v2.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 134 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// BondDenom defines the native staking token denomination.
	BondDenom = appconsts.BondDenom
	// BondDenomAlias defines an alias for BondDenom.
	BondDenomAlias = "microtia"
	// DisplayDenom defines the name, symbol, and display value of the Celestia token.
	DisplayDenom = "TIA"
)
View Source
const AccountAddressPrefix = "celestia"
View Source
const (
	DefaultInitialVersion = v1
)
View Source
const Name = "celestia-app"

Name is the name of the application.

Variables

View Source
var (
	// Bech32PrefixAccAddr defines the Bech32 prefix of an account's address.
	Bech32PrefixAccAddr = AccountAddressPrefix
	// Bech32PrefixAccPub defines the Bech32 prefix of an account's public key.
	Bech32PrefixAccPub = AccountAddressPrefix + sdk.PrefixPublic
	// Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address.
	Bech32PrefixValAddr = AccountAddressPrefix + sdk.PrefixValidator + sdk.PrefixOperator
	// Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key.
	Bech32PrefixValPub = AccountAddressPrefix + sdk.PrefixValidator + sdk.PrefixOperator + sdk.PrefixPublic
	// Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address.
	Bech32PrefixConsAddr = AccountAddressPrefix + sdk.PrefixValidator + sdk.PrefixConsensus
	// Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key.
	Bech32PrefixConsPub = AccountAddressPrefix + sdk.PrefixValidator + sdk.PrefixConsensus + sdk.PrefixPublic
)
View Source
var (
	// ModuleBasics defines the module BasicManager is in charge of setting up basic,
	// non-dependant module elements, such as codec registration
	// and genesis verification.
	ModuleBasics = sdkmodule.NewBasicManager(
		auth.AppModuleBasic{},
		genutil.AppModuleBasic{},
		bankModule{},
		capability.AppModuleBasic{},
		stakingModule{},
		mintModule{},
		distributionModule{},
		newGovModule(),
		params.AppModuleBasic{},
		crisisModule{},
		slashingModule{},
		authzmodule.AppModuleBasic{},
		feegrantmodule.AppModuleBasic{},
		ibcModule{},
		evidence.AppModuleBasic{},
		transfer.AppModuleBasic{},
		vesting.AppModuleBasic{},
		blob.AppModuleBasic{},
		blobstream.AppModuleBasic{},
		signal.AppModuleBasic{},
		minfee.AppModuleBasic{},
		packetforward.AppModuleBasic{},
		icaModule{},
	)

	// ModuleEncodingRegisters keeps track of all the module methods needed to
	// register interfaces and specific type to encoding config
	ModuleEncodingRegisters = extractRegisters(ModuleBasics)
)
View Source
var DefaultNodeHome string

DefaultNodeHome is the default home directory for the application daemon. This gets set as a side-effect of the init() function.

Functions

func DefaultAppConfig

func DefaultAppConfig() *serverconfig.Config

func DefaultBlockParams

func DefaultBlockParams() tmproto.BlockParams

DefaultBlockParams returns a default BlockParams with a MaxBytes determined using a goal square size.

func DefaultConsensusConfig

func DefaultConsensusConfig() *tmcfg.Config

func DefaultConsensusParams

func DefaultConsensusParams() *tmproto.ConsensusParams

DefaultConsensusParams returns a ConsensusParams with a MaxBytes determined using a goal square size.

func DefaultEvidenceParams

func DefaultEvidenceParams() tmproto.EvidenceParams

DefaultEvidenceParams returns a default EvidenceParams with a MaxAge determined using a goal block time.

func DefaultInitialConsensusParams

func DefaultInitialConsensusParams() *tmproto.ConsensusParams

func ExtendBlock

func ExtendBlock(data coretypes.Data, appVersion uint64) (*rsmt2d.ExtendedDataSquare, error)

ExtendBlock extends the given block data into a data square for a given app version.

func FilterTxs

func FilterTxs(logger log.Logger, ctx sdk.Context, handler sdk.AnteHandler, txConfig client.TxConfig, txs [][]byte) [][]byte

FilterTxs applies the antehandler to all proposed transactions and removes transactions that return an error.

Side-effect: arranges all normal transactions before all blob transactions.

func IsEmptyBlock

func IsEmptyBlock(data coretypes.Data, _ uint64) bool

EmptyBlock returns true if the given block data is considered empty by the application at a given version.

func NewClientProposalHandler

func NewClientProposalHandler(k keeper.Keeper) govtypes.Handler

NewClientProposalHandler defines the 02-client proposal handler. It disables the UpgradeProposalType. Handling of updating the IBC Client will be done in v2 of the app.

Types

type App

type App struct {
	*baseapp.BaseApp

	// keepers
	AccountKeeper       authkeeper.AccountKeeper
	BankKeeper          bankkeeper.Keeper
	AuthzKeeper         authzkeeper.Keeper
	CapabilityKeeper    *capabilitykeeper.Keeper
	StakingKeeper       stakingkeeper.Keeper
	SlashingKeeper      slashingkeeper.Keeper
	MintKeeper          mintkeeper.Keeper
	DistrKeeper         distrkeeper.Keeper
	GovKeeper           govkeeper.Keeper
	CrisisKeeper        crisiskeeper.Keeper
	UpgradeKeeper       upgradekeeper.Keeper // This is included purely for the IBC Keeper. It is not used for upgrading
	SignalKeeper        signal.Keeper
	ParamsKeeper        paramskeeper.Keeper
	IBCKeeper           *ibckeeper.Keeper // IBCKeeper must be a pointer in the app, so we can SetRouter on it correctly
	EvidenceKeeper      evidencekeeper.Keeper
	TransferKeeper      ibctransferkeeper.Keeper
	FeeGrantKeeper      feegrantkeeper.Keeper
	ICAHostKeeper       icahostkeeper.Keeper
	PacketForwardKeeper *packetforwardkeeper.Keeper
	BlobKeeper          blobkeeper.Keeper
	BlobstreamKeeper    blobstreamkeeper.Keeper

	ScopedIBCKeeper      capabilitykeeper.ScopedKeeper // This keeper is public for test purposes
	ScopedTransferKeeper capabilitykeeper.ScopedKeeper // This keeper is public for test purposes
	ScopedICAHostKeeper  capabilitykeeper.ScopedKeeper // This keeper is public for test purposes

	// MsgGateKeeper is used to define which messages are accepted for a given
	// app version.
	MsgGateKeeper *ante.MsgVersioningGateKeeper
	// contains filtered or unexported fields
}

App extends an ABCI application, but with most of its parameters exported. They are exported for convenience in creating helper functions, as object capabilities aren't needed for testing.

func New

func New(
	logger log.Logger,
	db dbm.DB,
	traceStore io.Writer,
	invCheckPeriod uint,
	encodingConfig encoding.Config,
	upgradeHeightV2 int64,
	appOpts servertypes.AppOptions,
	baseAppOptions ...func(*baseapp.BaseApp),
) *App

New returns a reference to an uninitialized app. Callers must subsequently call app.Info or app.InitChain to initialize the baseapp.

NOTE: upgradeHeightV2 refers specifically to the height that a node will upgrade from v1 to v2. It will be deprecated in v3 in place for a dynamically signalling scheme

func (*App) AppCodec

func (app *App) AppCodec() codec.Codec

AppCodec returns the app's appCodec.

NOTE: This is solely to be used for testing purposes as it may be desirable for modules to register their own custom testing types.

func (*App) BeginBlocker

func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock

BeginBlocker application updates every begin block

func (*App) BlockedParams

func (app *App) BlockedParams() [][2]string

BlockedParams returns the params that require a hardfork to change, and cannot be changed via governance.

func (*App) CheckTx

func (app *App) CheckTx(req abci.RequestCheckTx) abci.ResponseCheckTx

CheckTx implements the ABCI interface and executes a tx in CheckTx mode. This method wraps the default Baseapp's method so that it can parse and check transactions that contain blobs.

func (*App) EndBlocker

func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock

EndBlocker executes application updates at the end of every block.

func (*App) ExportAppStateAndValidators

func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string) (servertypes.ExportedApp, error)

ExportAppStateAndValidators exports the state of the application for a genesis file.

func (*App) GetBaseApp

func (app *App) GetBaseApp() *baseapp.BaseApp

GetBaseApp implements the TestingApp interface.

func (*App) GetIBCKeeper

func (app *App) GetIBCKeeper() *ibckeeper.Keeper

GetIBCKeeper implements the TestingApp interface.

func (*App) GetKey

func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey

GetKey returns the KVStoreKey for the provided store key.

NOTE: This is solely to be used for testing purposes.

func (*App) GetMemKey

func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey

GetMemKey returns the MemStoreKey for the provided mem key.

NOTE: This is solely used for testing purposes.

func (*App) GetScopedIBCKeeper

func (app *App) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper

GetScopedIBCKeeper implements the TestingApp interface.

func (*App) GetStakingKeeper

func (app *App) GetStakingKeeper() ibctestingtypes.StakingKeeper

GetStakingKeeper implements the TestingApp interface.

func (*App) GetSubspace

func (app *App) GetSubspace(moduleName string) paramstypes.Subspace

GetSubspace returns a param subspace for a given module name.

NOTE: This is solely to be used for testing purposes.

func (*App) GetTKey

func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey

GetTKey returns the TransientStoreKey for the provided store key.

NOTE: This is solely to be used for testing purposes.

func (*App) GetTxConfig

func (app *App) GetTxConfig() client.TxConfig

GetTxConfig implements the TestingApp interface.

func (*App) Info

func (app *App) Info(req abci.RequestInfo) abci.ResponseInfo

Info implements the ABCI interface. This method is a wrapper around baseapp's Info command so that it can take the app version and setup the multicommit store.

Side-effect: calls baseapp.Init()

func (*App) InitChain

func (app *App) InitChain(req abci.RequestInitChain) (res abci.ResponseInitChain)

InitChain implements the ABCI interface. This method is a wrapper around baseapp's InitChain so we can take the app version and setup the multicommit store.

Side-effect: calls baseapp.Init()

func (*App) InitChainer

func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain

InitChainer is middleware that gets invoked part-way through the baseapp's InitChain invocation.

func (*App) InitializeAppVersion

func (app *App) InitializeAppVersion(ctx sdk.Context)

func (*App) InterfaceRegistry

func (app *App) InterfaceRegistry() types.InterfaceRegistry

InterfaceRegistry returns the app's InterfaceRegistry

func (*App) LegacyAmino

func (app *App) LegacyAmino() *codec.LegacyAmino

LegacyAmino returns SimApp's amino codec.

NOTE: This is solely to be used for testing purposes as it may be desirable for modules to register their own custom testing types.

func (*App) LoadHeight

func (app *App) LoadHeight(height int64) error

LoadHeight loads a particular height

func (*App) MaxEffectiveSquareSize

func (app *App) MaxEffectiveSquareSize(ctx sdk.Context) int

MaxEffectiveSquareSize returns the max effective square size.

func (*App) ModuleAccountAddrs

func (app *App) ModuleAccountAddrs() map[string]bool

ModuleAccountAddrs returns all the app's module account addresses.

func (*App) Name

func (app *App) Name() string

Name returns the name of the App

func (*App) PrepareProposal

func (app *App) PrepareProposal(req abci.RequestPrepareProposal) abci.ResponsePrepareProposal

PrepareProposal fulfills the celestia-core version of the ABCI interface by preparing the proposal block data. This method generates the data root for the proposal block and passes it back to tendermint via the BlockData. Panics indicate a developer error and should immediately halt the node for visibility and so they can be quickly resolved.

func (*App) ProcessProposal

func (app *App) ProcessProposal(req abci.RequestProcessProposal) (resp abci.ResponseProcessProposal)

func (*App) RegisterAPIRoutes

func (app *App) RegisterAPIRoutes(apiSvr *api.Server, _ config.APIConfig)

RegisterAPIRoutes registers all application module routes with the provided API server.

func (*App) RegisterNodeService

func (app *App) RegisterNodeService(clientCtx client.Context)

func (*App) RegisterTendermintService

func (app *App) RegisterTendermintService(clientCtx client.Context)

RegisterTendermintService implements the Application.RegisterTendermintService method.

func (*App) RegisterTxService

func (app *App) RegisterTxService(clientCtx client.Context)

RegisterTxService implements the Application.RegisterTxService method.

func (*App) SupportedVersions

func (app *App) SupportedVersions() []uint64

SupportedVersions returns all the state machines that the application supports

type GenesisState

type GenesisState map[string]json.RawMessage

The genesis state of the blockchain is represented here as a map of raw json messages key'd by a identifier string. The identifier is used to determine which module genesis information belongs to so it may be appropriately routed during init chain. Within this application default genesis information is retrieved from the ModuleBasicManager which populates json from each BasicModule object provided to it during init.

func NewDefaultGenesisState

func NewDefaultGenesisState(cdc codec.JSONCodec) GenesisState

NewDefaultGenesisState generates the default state for the application.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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