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.