github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/testing/simapp/types.go (about)

     1  package simapp
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types"
     7  	tmtypes "github.com/fibonacci-chain/fbc/libs/tendermint/types"
     8  
     9  	//"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/server/types"
    10  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
    11  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/module"
    12  )
    13  
    14  // App implements the common methods for a Cosmos SDK-based application
    15  // specific blockchain.
    16  type App interface {
    17  	// The assigned name of the app.
    18  	Name() string
    19  
    20  	// The application types codec.
    21  	// NOTE: This shoult be sealed before being returned.
    22  	//LegacyAmino() *codec.LegacyAmino
    23  
    24  	// Application updates every begin block.
    25  	BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
    26  
    27  	// Application updates every end block.
    28  	EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
    29  
    30  	// Application update at chain (i.e app) initialization.
    31  	InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
    32  
    33  	// Loads the app at a given height.
    34  	LoadHeight(height int64) error
    35  
    36  	// Exports the state of the application for a genesis file.
    37  	ExportAppStateAndValidators(
    38  		forZeroHeight bool, jailWhiteList []string,
    39  	) (json.RawMessage, []tmtypes.GenesisValidator, error)
    40  
    41  	// All the registered module account addreses.
    42  	ModuleAccountAddrs() map[string]bool
    43  
    44  	// Helper for the simulation framework.
    45  	SimulationManager() *module.SimulationManager
    46  }