Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultAppConfig() *serverconfig.Config
- func DefaultBlockParams() tmproto.BlockParams
- func DefaultConsensusConfig() *tmcfg.Config
- func DefaultConsensusParams() *tmproto.ConsensusParams
- func DefaultEvidenceParams() tmproto.EvidenceParams
- func DefaultInitialConsensusParams() *tmproto.ConsensusParams
- func ExtendBlock(data coretypes.Data, appVersion uint64) (*rsmt2d.ExtendedDataSquare, error)
- func FilterTxs(logger log.Logger, ctx sdk.Context, handler sdk.AnteHandler, ...) [][]byte
- func IsEmptyBlock(data coretypes.Data, _ uint64) bool
- func NewClientProposalHandler(k keeper.Keeper) govtypes.Handler
- type App
- func (app *App) AppCodec() codec.Codec
- func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
- func (app *App) BlockedParams() [][2]string
- func (app *App) CheckTx(req abci.RequestCheckTx) abci.ResponseCheckTx
- func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
- func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string) (servertypes.ExportedApp, error)
- func (app *App) GetBaseApp() *baseapp.BaseApp
- func (app *App) GetIBCKeeper() *ibckeeper.Keeper
- func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
- func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
- func (app *App) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
- func (app *App) GetStakingKeeper() ibctestingtypes.StakingKeeper
- func (app *App) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey
- func (app *App) GetTxConfig() client.TxConfig
- func (app *App) Info(req abci.RequestInfo) abci.ResponseInfo
- func (app *App) InitChain(req abci.RequestInitChain) (res abci.ResponseInitChain)
- func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
- func (app *App) InitializeAppVersion(ctx sdk.Context)
- func (app *App) InterfaceRegistry() types.InterfaceRegistry
- func (app *App) LegacyAmino() *codec.LegacyAmino
- func (app *App) LoadHeight(height int64) error
- func (app *App) MaxEffectiveSquareSize(ctx sdk.Context) int
- func (app *App) ModuleAccountAddrs() map[string]bool
- func (app *App) Name() string
- func (app *App) OfferSnapshot(req abci.RequestOfferSnapshot) abci.ResponseOfferSnapshot
- func (app *App) PrepareProposal(req abci.RequestPrepareProposal) abci.ResponsePrepareProposal
- func (app *App) ProcessProposal(req abci.RequestProcessProposal) (resp abci.ResponseProcessProposal)
- func (app *App) RegisterAPIRoutes(apiSvr *api.Server, _ config.APIConfig)
- func (app *App) RegisterNodeService(clientCtx client.Context)
- func (app *App) RegisterTendermintService(clientCtx client.Context)
- func (app *App) RegisterTxService(clientCtx client.Context)
- func (app *App) SupportedVersions() []uint64
- type GenesisState
Constants ¶
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" )
const AccountAddressPrefix = "celestia"
const (
DefaultInitialVersion = v1
)
const Name = "celestia-app"
Name is the name of the application.
Variables ¶
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 )
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) )
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 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 ¶
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 ¶
EmptyBlock returns true if the given block data is considered empty by the application at a given version.
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 ¶
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 ¶
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 ¶
GetBaseApp implements the TestingApp interface.
func (*App) GetIBCKeeper ¶
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 ¶
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) 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 ¶
LoadHeight loads a particular height
func (*App) MaxEffectiveSquareSize ¶
MaxEffectiveSquareSize returns the max effective square size.
func (*App) ModuleAccountAddrs ¶
ModuleAccountAddrs returns all the app's module account addresses.
func (*App) OfferSnapshot ¶ added in v2.1.2
func (app *App) OfferSnapshot(req abci.RequestOfferSnapshot) abci.ResponseOfferSnapshot
OfferSnapshot is a wrapper around the baseapp's OfferSnapshot method. It is needed to mount stores for the appropriate app version.
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 ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*App) RegisterNodeService ¶
func (*App) RegisterTendermintService ¶
RegisterTendermintService implements the Application.RegisterTendermintService method.
func (*App) RegisterTxService ¶
RegisterTxService implements the Application.RegisterTxService method.
func (*App) SupportedVersions ¶
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.