Documentation
¶
Index ¶
- Constants
- Variables
- func AddTestAddrs(app *App, ctx sdk.Context, accNum int, accAmt sdkmath.Int) []sdk.AccAddress
- func AddTestAddrsFromPubKeys(app *App, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt sdkmath.Int)
- func AddTestAddrsIncremental(app *App, ctx sdk.Context, accNum int, accAmt sdkmath.Int) []sdk.AccAddress
- func BeginBlockForks(ctx sdk.Context, app *App)
- func CheckBalance(t *testing.T, app *App, addr sdk.AccAddress, balances sdk.Coins)
- func ConvertAddrsToValAddrs(addrs []sdk.AccAddress) []sdk.ValAddress
- func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
- func FundAccount(bankKeeper bankkeeper.Keeper, ctx sdk.Context, addr sdk.AccAddress, ...) error
- func FundModuleAccount(bankKeeper bankkeeper.Keeper, ctx sdk.Context, recipientMod string, ...) error
- func GenSequenceOfTxs(txGen client.TxConfig, msgs []sdk.Msg, accNums, initSeqNums []uint64, ...) ([]sdk.Tx, error)
- func GetMaccPerms() map[string][]string
- func MaxVersionStoreLoader(version int64) baseapp.StoreLoader
- func MaxVersionUpgradeStoreLoader(version, upgradeHeight int64, storeUpgrades *storetypes.StoreUpgrades) baseapp.StoreLoader
- func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
- func RegisterLegacyCodec(cdc *codec.LegacyAmino)
- func RegisterLegacyInterfaces(registry cdctypes.InterfaceRegistry)
- func RegisterSwaggerAPI(_ client.Context, rtr *mux.Router)
- func SetConfig()
- func StateFn(app *App) simtypes.AppStateFn
- func StoreKeys() (map[string]*storetypes.KVStoreKey, map[string]*storetypes.TransientStoreKey, ...)
- func TestAddr(addr, bech string) (sdk.AccAddress, error)
- func VerifyAddressFormat(bz []byte) error
- type App
- func (app *App) AppCodec() codec.Codec
- func (app *App) AutoCliOpts() autocli.AppOptions
- func (app *App) BeginBlocker(ctx sdk.Context) (sdk.BeginBlock, error)
- func (app *App) BlockedAddrs() map[string]bool
- func (app *App) CheckTx(req *abci.RequestCheckTx) (*abci.ResponseCheckTx, error)
- func (app *App) Close() error
- func (a *App) DefaultGenesis() map[string]json.RawMessage
- func (app *App) EncodingConfig() ethermint.EncodingConfig
- func (app *App) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error)
- func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
- func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
- func (app *App) GetStoreKeys() []storetypes.StoreKey
- func (app *App) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey
- func (app *App) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error)
- func (app *App) InterfaceRegistry() types.InterfaceRegistry
- func (app *App) LegacyAmino() *codec.LegacyAmino
- func (app *App) LoadHeight(height int64) error
- func (app *App) ModuleAccountAddrs() map[string]bool
- func (app *App) Name() string
- func (app *App) PreBlocker(ctx sdk.Context, _ *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error)
- func (app *App) RefreshBlockList(ctx sdk.Context) error
- func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *App) RegisterNodeService(clientCtx client.Context, cfg config.Config)
- func (app *App) RegisterPendingTxListener(listener evmante.PendingTxListener)
- func (app *App) RegisterTendermintService(clientCtx client.Context)
- func (app *App) RegisterTxService(clientCtx client.Context)
- func (app *App) RegisterUpgradeHandlers(cdc codec.BinaryCodec, maxVersion int64) bool
- func (app *App) SimulationManager() *module.SimulationManager
- func (app *App) TxConfig() client.TxConfig
- type BlockAddressesDecorator
- type BlockList
- type EmptyAppOptions
- type ExtTxSelector
- type Fork
- type GenerateAccountStrategy
- type GenesisState
- type ProposalHandler
Constants ¶
const ( Name = "cronos" // AddrLen is the allowed length (in bytes) for an address. // // NOTE: In the SDK, the default value is 255. AddrLen = 20 FlagBlockedAddresses = "blocked-addresses" FlagUnsafeIgnoreBlockListFailure = "unsafe-ignore-block-list-failure" FlagUnsafeDummyCheckTx = "unsafe-dummy-check-tx" FlagMempoolFeeBump = "mempool.feebump" FlagDisableTxReplacement = "cronos.disable-tx-replacement" FlagDisableOptimisticExecution = "cronos.disable-optimistic-execution" )
const ( SimAppChainID = "simulation_777-1" SimBlockMaxGas = 815000000 TestAppChainID = "cronos_777-1" )
Variables ¶
var DefaultConsensusParams = &tmproto.ConsensusParams{ Block: &tmproto.BlockParams{ MaxBytes: 200000, MaxGas: 200000000, }, Evidence: &tmproto.EvidenceParams{ MaxAgeNumBlocks: 302400, MaxAgeDuration: 504 * time.Hour, MaxBytes: 10000, }, Validator: &tmproto.ValidatorParams{ PubKeyTypes: []string{ tmtypes.ABCIPubKeyTypeEd25519, }, }, }
DefaultConsensusParams defines the default Tendermint consensus params used in App testing.
var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string )
var Forks = []Fork{}
var TestEthChainID = big.NewInt(777)
Functions ¶
func AddTestAddrs ¶ added in v0.5.2
AddTestAddrs constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func AddTestAddrsFromPubKeys ¶ added in v0.5.2
func AddTestAddrsFromPubKeys(app *App, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt sdkmath.Int)
AddTestAddrsFromPubKeys adds the addresses into the App providing only the public keys.
func AddTestAddrsIncremental ¶ added in v0.5.2
func AddTestAddrsIncremental(app *App, ctx sdk.Context, accNum int, accAmt sdkmath.Int) []sdk.AccAddress
AddTestAddrsIncremental constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func BeginBlockForks ¶ added in v1.0.14
BeginBlockForks is intended to be ran in a chain upgrade.
func CheckBalance ¶ added in v0.5.2
CheckBalance checks the balance of an account.
func ConvertAddrsToValAddrs ¶ added in v0.5.2
func ConvertAddrsToValAddrs(addrs []sdk.AccAddress) []sdk.ValAddress
ConvertAddrsToValAddrs converts the provided addresses to ValAddress.
func CreateTestPubKeys ¶ added in v0.5.2
func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
CreateTestPubKeys returns a total of numPubKeys public keys in ascending order.
func FundAccount ¶ added in v0.5.2
func FundAccount(bankKeeper bankkeeper.Keeper, ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error
FundAccount is a utility function that funds an account by minting and sending the coins to the address. This should be used for testing purposes only!
TODO: Instead of using the mint module account, which has the permission of minting, create a "faucet" account. (@fdymylja)
func FundModuleAccount ¶ added in v0.5.2
func FundModuleAccount(bankKeeper bankkeeper.Keeper, ctx sdk.Context, recipientMod string, amounts sdk.Coins) error
FundModuleAccount is a utility function that funds a module account by minting and sending the coins to the address. This should be used for testing purposes only!
TODO: Instead of using the mint module account, which has the permission of minting, create a "faucet" account. (@fdymylja)
func GenSequenceOfTxs ¶ added in v0.5.2
func GenSequenceOfTxs(txGen client.TxConfig, msgs []sdk.Msg, accNums, initSeqNums []uint64, numToGenerate int, priv ...cryptotypes.PrivKey) ([]sdk.Tx, error)
GenSequenceOfTxs generates a set of signed transactions of messages, such that they differ only by having the sequence numbers incremented between every transaction.
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
func MaxVersionStoreLoader ¶ added in v1.7.0
func MaxVersionStoreLoader(version int64) baseapp.StoreLoader
MaxVersionStoreLoader will be used when there's versiondb to cap the loaded iavl version
func MaxVersionUpgradeStoreLoader ¶ added in v1.7.0
func MaxVersionUpgradeStoreLoader(version, upgradeHeight int64, storeUpgrades *storetypes.StoreUpgrades) baseapp.StoreLoader
MaxVersionUpgradeStoreLoader is used to prepare baseapp with a fixed StoreLoader
func NewPubKeyFromHex ¶ added in v0.5.2
func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
NewPubKeyFromHex returns a PubKey from a hex string.
func RegisterLegacyCodec ¶ added in v1.7.0
func RegisterLegacyCodec(cdc *codec.LegacyAmino)
func RegisterLegacyInterfaces ¶ added in v1.7.0
func RegisterLegacyInterfaces(registry cdctypes.InterfaceRegistry)
func RegisterSwaggerAPI ¶ added in v0.6.1
RegisterSwaggerAPI registers swagger route with API Server
func StateFn ¶ added in v0.5.2
func StateFn(app *App) simtypes.AppStateFn
func StoreKeys ¶ added in v1.0.4
func StoreKeys() ( map[string]*storetypes.KVStoreKey, map[string]*storetypes.TransientStoreKey, map[string]*storetypes.ObjectStoreKey, )
func VerifyAddressFormat ¶ added in v0.6.1
VerifyAddressFormat verifies whether the address is compatible with Ethereum
Types ¶
type App ¶
type App struct {
*baseapp.BaseApp
// keepers
AccountKeeper authkeeper.AccountKeeper
BankKeeper bankkeeper.Keeper
StakingKeeper *stakingkeeper.Keeper
SlashingKeeper slashingkeeper.Keeper
MintKeeper mintkeeper.Keeper
DistrKeeper distrkeeper.Keeper
GovKeeper govkeeper.Keeper
CrisisKeeper crisiskeeper.Keeper
UpgradeKeeper upgradekeeper.Keeper
ParamsKeeper paramskeeper.Keeper
IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly
ICAControllerKeeper icacontrollerkeeper.Keeper
ICAHostKeeper icahostkeeper.Keeper
EvidenceKeeper evidencekeeper.Keeper
TransferKeeper ibctransferkeeper.Keeper
FeeGrantKeeper feegrantkeeper.Keeper
ConsensusParamsKeeper consensusparamkeeper.Keeper
// Ethermint keepers
EvmKeeper *evmkeeper.Keeper
FeeMarketKeeper feemarketkeeper.Keeper
// e2ee keeper
E2EEKeeper e2eekeeper.Keeper
CronosKeeper cronoskeeper.Keeper
// the module manager
ModuleManager *module.Manager
BasicModuleManager module.BasicManager
// 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
New returns a reference to an initialized chain. NewSimApp returns a reference to an initialized SimApp.
func SetupWithGenesisValSet ¶ added in v0.5.2
func SetupWithGenesisValSet(t *testing.T, cronosAdmin string, valSet *tmtypes.ValidatorSet, genAccs []authtypes.GenesisAccount, balances ...banktypes.Balance) *App
SetupWithGenesisValSet initializes a new App with a validator set and genesis accounts that also act as delegators. For simplicity, each validator is bonded with a delegation of one consensus engine unit (10^6) in the default token of the simapp from first genesis account. A Nop logger is set in App.
func (*App) AppCodec ¶
AppCodec returns your app's 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) AutoCliOpts ¶ added in v1.7.0
func (app *App) AutoCliOpts() autocli.AppOptions
AutoCliOpts returns the autocli options for the app.
func (*App) BeginBlocker ¶
BeginBlocker application updates every begin block
func (*App) BlockedAddrs ¶ added in v1.7.0
BlockedAddrs returns all the app's module account addresses that are not allowed to receive external tokens.
func (*App) CheckTx ¶ added in v1.7.0
func (app *App) CheckTx(req *abci.RequestCheckTx) (*abci.ResponseCheckTx, error)
func (*App) DefaultGenesis ¶ added in v1.7.0
func (a *App) DefaultGenesis() map[string]json.RawMessage
DefaultGenesis returns a default genesis from the registered AppModuleBasic's.
func (*App) EncodingConfig ¶ added in v1.7.0
func (app *App) EncodingConfig() ethermint.EncodingConfig
func (*App) EndBlocker ¶
EndBlocker application updates every end block
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) 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) GetStoreKeys ¶ added in v1.7.0
func (app *App) GetStoreKeys() []storetypes.StoreKey
GetStoreKeys returns all the stored store keys.
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) InitChainer ¶
func (app *App) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error)
InitChainer application update at chain initialization
func (*App) InterfaceRegistry ¶
func (app *App) InterfaceRegistry() types.InterfaceRegistry
InterfaceRegistry returns your 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) ModuleAccountAddrs ¶
ModuleAccountAddrs returns all the app's module account addresses.
func (*App) PreBlocker ¶ added in v1.7.0
func (app *App) PreBlocker(ctx sdk.Context, _ *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error)
PreBlocker updates every pre begin block
func (*App) RefreshBlockList ¶ added in v1.7.0
func (*App) RegisterAPIRoutes ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*App) RegisterNodeService ¶ added in v1.7.0
func (*App) RegisterPendingTxListener ¶ added in v1.7.0
func (app *App) RegisterPendingTxListener(listener evmante.PendingTxListener)
RegisterPendingTxListener is used by json-rpc server to listen to pending transactions callback.
func (*App) RegisterTendermintService ¶
RegisterTendermintService implements the Application.RegisterTendermintService method.
func (*App) RegisterTxService ¶
RegisterTxService implements the Application.RegisterTxService method.
func (*App) RegisterUpgradeHandlers ¶ added in v1.0.0
func (app *App) RegisterUpgradeHandlers(cdc codec.BinaryCodec, maxVersion int64) bool
RegisterUpgradeHandlers returns if store loader is overridden
func (*App) SimulationManager ¶ added in v0.5.2
func (app *App) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface
type BlockAddressesDecorator ¶ added in v1.7.0
type BlockAddressesDecorator struct {
// contains filtered or unexported fields
}
BlockAddressesDecorator block addresses from sending transactions
func NewBlockAddressesDecorator ¶ added in v1.7.0
func (BlockAddressesDecorator) AnteHandle ¶ added in v1.7.0
type BlockList ¶ added in v1.7.0
type BlockList struct {
Addresses []string `mapstructure:"addresses"`
}
type EmptyAppOptions ¶ added in v0.5.2
type EmptyAppOptions struct{}
EmptyAppOptions is a stub implementing AppOptions
func (EmptyAppOptions) Get ¶ added in v0.5.2
func (ao EmptyAppOptions) Get(o string) interface{}
Get implements AppOptions
type ExtTxSelector ¶ added in v1.7.0
type ExtTxSelector struct {
baseapp.TxSelector
TxDecoder sdk.TxDecoder
ValidateTx func(sdk.Tx, []byte) error
}
ExtTxSelector extends a baseapp.TxSelector with extra tx validation method
func NewExtTxSelector ¶ added in v1.7.0
func NewExtTxSelector(parent baseapp.TxSelector, txDecoder sdk.TxDecoder, validateTx func(sdk.Tx, []byte) error) *ExtTxSelector
func (*ExtTxSelector) SelectTxForProposal ¶ added in v1.7.0
func (*ExtTxSelector) SelectTxForProposalFast ¶ added in v1.7.0
func (ts *ExtTxSelector) SelectTxForProposalFast(ctx context.Context, txs [][]byte) [][]byte
type Fork ¶ added in v1.0.14
type Fork struct {
// Upgrade version name, for the upgrade handler, e.g. `v7`
UpgradeName string
// height the upgrade occurs at
UpgradeHeight int64
// chain-id the upgrade occurs at
UpgradeChainId string
// Function that runs some custom state transition code at the beginning of a fork.
BeginForkLogic func(ctx sdk.Context, app *App)
}
Fork defines a struct containing the requisite fields for a non-software upgrade proposal Hard Fork at a given height to implement. There is one time code that can be added for the start of the Fork, in `BeginForkLogic`. Any other change in the code should be height-gated, if the goal is to have old and new binaries to be compatible prior to the upgrade height.
Adapted from osmosis: https://github.com/osmosis-labs/osmosis/blob/057192c2c0949fde5673a5f314bf41816f808fd9/app/upgrades/types.go#L40
type GenerateAccountStrategy ¶ added in v0.5.2
type GenerateAccountStrategy func(int) []sdk.AccAddress
type GenesisState ¶
type GenesisState = map[string]json.RawMessage
type ProposalHandler ¶ added in v1.7.0
type ProposalHandler struct {
TxDecoder sdk.TxDecoder
// Identity is nil if it's not a validator node
Identity age.Identity
// contains filtered or unexported fields
}
func NewProposalHandler ¶ added in v1.7.0
func (*ProposalHandler) ProcessProposalHandler ¶ added in v1.7.0
func (h *ProposalHandler) ProcessProposalHandler() sdk.ProcessProposalHandler
func (*ProposalHandler) SetBlockList ¶ added in v1.7.0
func (h *ProposalHandler) SetBlockList(blob []byte) error
SetBlockList don't fail if the identity is not set or the block list is empty.
func (*ProposalHandler) ValidateTransaction ¶ added in v1.7.0
func (h *ProposalHandler) ValidateTransaction(tx sdk.Tx, txBz []byte) error