Documentation
¶
Index ¶
- Constants
- Variables
- func AllCapabilities() []string
- func AppConfig() depinject.Config
- func BlockedAddresses() map[string]bool
- func CreateLanes(app *App) (*keysharelane.KeyShareLane, *base.BaseLane, *base.BaseLane)
- func GetMaccPerms() map[string][]string
- func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error)
- func NewFairyringAnteHandler(options FairyringHandlerOptions) sdk.AnteHandler
- func RegisterIBC(registry cdctypes.InterfaceRegistry) map[string]appmodule.AppModule
- type App
- func (app *App) AppCodec() codec.Codec
- func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
- func (app *App) GetCapabilityScopedKeeper(moduleName string) capabilitykeeper.ScopedKeeper
- 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) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *App) LegacyAmino() *codec.LegacyAmino
- func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *App) SetCheckTx(handler checktx.CheckTx)
- func (app *App) SimulationManager() *module.SimulationManager
- type FairyringHandlerOptions
- type GenesisAccount
- type GenesisState
- type HandlerOptions
Constants ¶
const ( AccountAddressPrefix = "fairy" Name = "fairyring" )
Variables ¶
var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string )
Functions ¶
func AllCapabilities ¶ added in v0.4.0
func AllCapabilities() []string
AllCapabilities returns all capabilities available with the current wasmvm See https://github.com/CosmWasm/cosmwasm/blob/main/docs/CAPABILITIES-BUILT-IN.md This functionality is going to be moved upstream: https://github.com/CosmWasm/wasmvm/issues/425
func BlockedAddresses ¶ added in v0.7.0
BlockedAddresses returns all the app's blocked account addresses.
func CreateLanes ¶ added in v0.7.0
func CreateLanes(app *App) (*keysharelane.KeyShareLane, *base.BaseLane, *base.BaseLane)
CreateLanes walks through the process of creating the lanes for the block sdk. In this function we create three separate lanes - Keyshare, Free, and Default - and then return them.
NOTE: Application Developers should closely replicate this function in their own application.
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
NOTE: This is solely to be used for testing purposes.
func NewAnteHandler ¶ added in v0.7.0
func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error)
func NewFairyringAnteHandler ¶
func NewFairyringAnteHandler(options FairyringHandlerOptions) sdk.AnteHandler
NewFairyringAnteHandler wraps all of the default Cosmos SDK AnteDecorators with the Fairyring AnteHandler.
func RegisterIBC ¶ added in v0.7.0
func RegisterIBC(registry cdctypes.InterfaceRegistry) map[string]appmodule.AppModule
Since the IBC modules don't support dependency injection, we need to manually register the modules on the client side. This needs to be removed after IBC supports App Wiring.
Types ¶
type App ¶
type App struct {
*runtime.App
// keepers
AccountKeeper authkeeper.AccountKeeper
BankKeeper bankkeeper.Keeper
StakingKeeper *stakingkeeper.Keeper
DistrKeeper distrkeeper.Keeper
ConsensusParamsKeeper consensuskeeper.Keeper
SlashingKeeper slashingkeeper.Keeper
MintKeeper mintkeeper.Keeper
GovKeeper *govkeeper.Keeper
CrisisKeeper *crisiskeeper.Keeper
UpgradeKeeper *upgradekeeper.Keeper
ParamsKeeper paramskeeper.Keeper
AuthzKeeper authzkeeper.Keeper
EvidenceKeeper evidencekeeper.Keeper
FeeGrantKeeper feegrantkeeper.Keeper
GroupKeeper groupkeeper.Keeper
NFTKeeper nftkeeper.Keeper
CircuitBreakerKeeper circuitkeeper.Keeper
// IBC
IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly
CapabilityKeeper *capabilitykeeper.Keeper
IBCFeeKeeper ibcfeekeeper.Keeper
ICAControllerKeeper icacontrollerkeeper.Keeper
ICAHostKeeper icahostkeeper.Keeper
TransferKeeper ibctransferkeeper.Keeper
// Scoped IBC
ScopedIBCKeeper capabilitykeeper.ScopedKeeper
ScopedIBCTransferKeeper capabilitykeeper.ScopedKeeper
ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper
ScopedICAHostKeeper capabilitykeeper.ScopedKeeper
ScopedPepKeeper capabilitykeeper.ScopedKeeper
ScopedGovKeeper capabilitykeeper.ScopedKeeper
PepKeeper pepmodulekeeper.Keeper
// CosmWasm
WasmKeeper wasmkeeper.Keeper
ScopedWasmKeeper capabilitykeeper.ScopedKeeper
// 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, loadLatest bool, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) (*App, error)
New returns a reference to an initialized App.
func (*App) AppCodec ¶
AppCodec returns App's app 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) ExportAppStateAndValidators ¶
func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*App) GetCapabilityScopedKeeper ¶ added in v0.7.0
func (app *App) GetCapabilityScopedKeeper(moduleName string) capabilitykeeper.ScopedKeeper
GetCapabilityScopedKeeper returns the capability scoped keeper.
func (*App) GetIBCKeeper ¶
GetIBCKeeper returns the IBC keeper.
func (*App) GetKey ¶
func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
GetKey returns the KVStoreKey for the provided store key.
func (*App) GetMemKey ¶
func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
GetMemKey returns the MemoryStoreKey for the provided store key.
func (*App) GetSubspace ¶
func (app *App) GetSubspace(moduleName string) paramstypes.Subspace
GetSubspace returns a param subspace for a given module name.
func (*App) LegacyAmino ¶
func (app *App) LegacyAmino() *codec.LegacyAmino
LegacyAmino returns App'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) RegisterAPIRoutes ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*App) SetCheckTx ¶
SetCheckTx sets the checkTxHandler for the app.
func (*App) SimulationManager ¶
func (app *App) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface.
type FairyringHandlerOptions ¶
type GenesisAccount ¶ added in v0.7.0
type GenesisAccount struct {
*authtypes.BaseAccount
// vesting account fields
OriginalVesting sdk.Coins `json:"original_vesting" yaml:"original_vesting"` // total vesting coins upon initialization
DelegatedFree sdk.Coins `json:"delegated_free" yaml:"delegated_free"` // delegated vested coins at time of delegation
DelegatedVesting sdk.Coins `json:"delegated_vesting" yaml:"delegated_vesting"` // delegated vesting coins at time of delegation
StartTime int64 `json:"start_time" yaml:"start_time"` // vesting start time (UNIX Epoch time)
EndTime int64 `json:"end_time" yaml:"end_time"` // vesting end time (UNIX Epoch time)
// module account fields
ModuleName string `json:"module_name" yaml:"module_name"` // name of the module account
ModulePermissions []string `json:"module_permissions" yaml:"module_permissions"` // permissions of module account
}
GenesisAccount defines a type that implements the GenesisAccount interface to be used for simulation accounts in the genesis state.
func (GenesisAccount) Validate ¶ added in v0.7.0
func (sga GenesisAccount) Validate() error
Validate checks for errors on the vesting and module account parameters
type GenesisState ¶
type GenesisState map[string]json.RawMessage
GenesisState 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.
type HandlerOptions ¶ added in v0.7.0
type HandlerOptions struct {
ante.HandlerOptions
IBCKeeper *ibckeeper.Keeper
WasmConfig *wasmtypes.WasmConfig
WasmKeeper *wasmkeeper.Keeper
TXCounterStoreService corestoretypes.KVStoreService
CircuitKeeper circuitante.CircuitBreaker
}
HandlerOptions extend the SDK's AnteHandler options by requiring the IBC channel keeper.