Documentation ¶
Index ¶
- Constants
- Variables
- func BeginBlockForks(ctx sdk.Context, app *Echelon)
- func ConsumeMultisignatureVerificationGas(meter sdk.GasMeter, sig *signing.MultiSignatureData, pubkey multisig.PubKey, ...) error
- func GetMaccPerms() map[string][]string
- func NewDefaultGenesisState() simapp.GenesisState
- func ObservabilityViews() (views []*view.View)
- func RegisterSwaggerAPI(_ client.Context, rtr *mux.Router)
- func SetupTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage)
- func SigVerificationGasConsumer(meter sdk.GasMeter, sig signing.SignatureV2, params authtypes.Params) error
- type Echelon
- func (app *Echelon) AppCodec() codec.Codec
- func (app *Echelon) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
- func (app *Echelon) BlockedAddrs() map[string]bool
- func (app *Echelon) DeliverTx(req abci.RequestDeliverTx) (res abci.ResponseDeliverTx)
- func (app *Echelon) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
- func (app *Echelon) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string) (servertypes.ExportedApp, error)
- func (app *Echelon) GetBaseApp() *baseapp.BaseApp
- func (app *Echelon) GetIBCKeeper() *ibckeeper.Keeper
- func (app *Echelon) GetKey(storeKey string) *sdk.KVStoreKey
- func (app *Echelon) GetMemKey(storeKey string) *sdk.MemoryStoreKey
- func (app *Echelon) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
- func (app *Echelon) GetStakingKeeper() stakingkeeper.Keeper
- func (app *Echelon) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *Echelon) GetTKey(storeKey string) *sdk.TransientStoreKey
- func (app *Echelon) GetTxConfig() client.TxConfig
- func (app *Echelon) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
- func (app *Echelon) InterfaceRegistry() types.InterfaceRegistry
- func (app *Echelon) LegacyAmino() *codec.LegacyAmino
- func (app *Echelon) LoadHeight(height int64) error
- func (app *Echelon) ModuleAccountAddrs() map[string]bool
- func (app *Echelon) Name() string
- func (app *Echelon) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *Echelon) RegisterTendermintService(clientCtx client.Context)
- func (app *Echelon) RegisterTxService(clientCtx client.Context)
- func (app *Echelon) SimulationManager() *module.SimulationManager
Constants ¶
const (
// Name defines the application binary name
Name = "echelond"
)
Variables ¶
var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string // ModuleBasics defines the module BasicManager is in charge of setting up basic, // non-dependant module elements, such as codec registration // and genesis verification. ModuleBasics = module.NewBasicManager( auth.AppModuleBasic{}, genutil.AppModuleBasic{}, bank.AppModuleBasic{}, capability.AppModuleBasic{}, staking.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic( paramsclient.ProposalHandler, distrclient.ProposalHandler, upgradeclient.ProposalHandler, upgradeclient.CancelProposalHandler, ibcclientclient.UpdateClientProposalHandler, ibcclientclient.UpgradeProposalHandler, erc20client.RegisterCoinProposalHandler, erc20client.RegisterERC20ProposalHandler, erc20client.ToggleTokenRelayProposalHandler, erc20client.UpdateTokenPairERC20ProposalHandler, incentivesclient.RegisterIncentiveProposalHandler, incentivesclient.CancelIncentiveProposalHandler, ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, ibc.AppModuleBasic{}, authzmodule.AppModuleBasic{}, feegrantmodule.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, transfer.AppModuleBasic{}, vesting.AppModuleBasic{}, evm.AppModuleBasic{}, feemarket.AppModuleBasic{}, inflation.AppModuleBasic{}, erc20.AppModuleBasic{}, incentives.AppModuleBasic{}, epochs.AppModuleBasic{}, recovery.AppModuleBasic{}, ) )
var DefaultConsensusParams = &abci.ConsensusParams{ Block: &abci.BlockParams{ MaxBytes: 200000, MaxGas: -1, }, 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 Echelon testing.
var DefaultTestingAppInit func() (ibctesting.TestingApp, map[string]json.RawMessage) = SetupTestingApp
DefaultTestingAppInit defines the IBC application used for testing
Functions ¶
func BeginBlockForks ¶
BeginBlockForks executes any necessary fork logic based upon the current block height.
func ConsumeMultisignatureVerificationGas ¶
func ConsumeMultisignatureVerificationGas( meter sdk.GasMeter, sig *signing.MultiSignatureData, pubkey multisig.PubKey, params authtypes.Params, accSeq uint64, ) error
ConsumeMultisignatureVerificationGas consumes gas from a GasMeter for verifying a multisig pubkey signature
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
func NewDefaultGenesisState ¶
func NewDefaultGenesisState() simapp.GenesisState
NewDefaultGenesisState generates the default state for the application.
func ObservabilityViews ¶
func RegisterSwaggerAPI ¶
RegisterSwaggerAPI registers swagger route with API Server
func SetupTestingApp ¶
func SetupTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage)
SetupTestingApp initializes the IBC-go testing application
func SigVerificationGasConsumer ¶
func SigVerificationGasConsumer( meter sdk.GasMeter, sig signing.SignatureV2, params authtypes.Params, ) error
SigVerificationGasConsumer is the Echelon implementation of SignatureVerificationGasConsumer. It consumes gas for signature verification based upon the public key type. The cost is fetched from the given params and is matched by the concrete type. The types of keys supported are:
- ethsecp256k1 (Ethereum keys)
- ed25519 (Validators)
- multisig (Cosmos SDK multisigs)
Types ¶
type Echelon ¶
type Echelon struct { *baseapp.BaseApp // keepers AccountKeeper authkeeper.AccountKeeper BankKeeper bankkeeper.Keeper CapabilityKeeper *capabilitykeeper.Keeper StakingKeeper stakingkeeper.Keeper SlashingKeeper slashingkeeper.Keeper DistrKeeper distrkeeper.Keeper GovKeeper govkeeper.Keeper CrisisKeeper crisiskeeper.Keeper UpgradeKeeper upgradekeeper.Keeper ParamsKeeper paramskeeper.Keeper FeeGrantKeeper feegrantkeeper.Keeper AuthzKeeper authzkeeper.Keeper IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly EvidenceKeeper evidencekeeper.Keeper TransferKeeper ibctransferkeeper.Keeper // make scoped keepers public for test purposes ScopedIBCKeeper capabilitykeeper.ScopedKeeper ScopedTransferKeeper capabilitykeeper.ScopedKeeper // Ethermint keepers EvmKeeper *evmkeeper.Keeper FeeMarketKeeper feemarketkeeper.Keeper // Echelon keepers InflationKeeper inflationkeeper.Keeper // ClaimsKeeper *claimskeeper.Keeper Erc20Keeper erc20keeper.Keeper IncentivesKeeper incentiveskeeper.Keeper EpochsKeeper epochskeeper.Keeper VestingKeeper vestingkeeper.Keeper RecoveryKeeper *recoverykeeper.Keeper // contains filtered or unexported fields }
Echelon implements an extended ABCI application. It is an application that may process transactions through Ethereum's EVM running atop of Tendermint consensus.
func NewEchelon ¶
func NewEchelon( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint, encodingConfig simappparams.EncodingConfig, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) *Echelon
NewEchelon returns a reference to a new initialized Ethermint application.
func Setup ¶
func Setup( isCheckTx bool, feemarketGenesis *feemarkettypes.GenesisState, ) *Echelon
Setup initializes a new Echelon. A Nop logger is set in Echelon.
func (*Echelon) AppCodec ¶
AppCodec returns Echelon'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 (*Echelon) BeginBlocker ¶
func (app *Echelon) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
BeginBlocker updates every begin block
func (*Echelon) BlockedAddrs ¶
BlockedAddrs returns all the app's module account addresses that are not allowed to receive external tokens.
func (*Echelon) DeliverTx ¶
func (app *Echelon) DeliverTx(req abci.RequestDeliverTx) (res abci.ResponseDeliverTx)
We are intentionally decomposing the DeliverTx method so as to calculate the transactions per second.
func (*Echelon) EndBlocker ¶
func (app *Echelon) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
EndBlocker updates every end block
func (*Echelon) ExportAppStateAndValidators ¶
func (app *Echelon) ExportAppStateAndValidators( forZeroHeight bool, jailAllowedAddrs []string, ) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*Echelon) GetBaseApp ¶
GetBaseApp implements the TestingApp interface.
func (*Echelon) GetIBCKeeper ¶
GetIBCKeeper implements the TestingApp interface.
func (*Echelon) GetKey ¶
func (app *Echelon) GetKey(storeKey string) *sdk.KVStoreKey
GetKey returns the KVStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*Echelon) GetMemKey ¶
func (app *Echelon) GetMemKey(storeKey string) *sdk.MemoryStoreKey
GetMemKey returns the MemStoreKey for the provided mem key.
NOTE: This is solely used for testing purposes.
func (*Echelon) GetScopedIBCKeeper ¶
func (app *Echelon) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
GetScopedIBCKeeper implements the TestingApp interface.
func (*Echelon) GetStakingKeeper ¶
func (app *Echelon) GetStakingKeeper() stakingkeeper.Keeper
GetStakingKeeper implements the TestingApp interface.
func (*Echelon) GetSubspace ¶
func (app *Echelon) 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 (*Echelon) GetTKey ¶
func (app *Echelon) GetTKey(storeKey string) *sdk.TransientStoreKey
GetTKey returns the TransientStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*Echelon) GetTxConfig ¶
GetTxConfig implements the TestingApp interface.
func (*Echelon) InitChainer ¶
func (app *Echelon) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
InitChainer updates at chain initialization
func (*Echelon) InterfaceRegistry ¶
func (app *Echelon) InterfaceRegistry() types.InterfaceRegistry
InterfaceRegistry returns Echelon's InterfaceRegistry
func (*Echelon) LegacyAmino ¶
func (app *Echelon) LegacyAmino() *codec.LegacyAmino
LegacyAmino returns Echelon'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 (*Echelon) LoadHeight ¶
LoadHeight loads state at a particular height
func (*Echelon) ModuleAccountAddrs ¶
ModuleAccountAddrs returns all the app's module account addresses.
func (*Echelon) RegisterAPIRoutes ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*Echelon) RegisterTendermintService ¶
func (*Echelon) RegisterTxService ¶
func (*Echelon) SimulationManager ¶
func (app *Echelon) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package ante defines the SDK auth module's AnteHandler as well as an internal AnteHandler for an Ethereum transaction (i.e MsgEthereumTx).
|
Package ante defines the SDK auth module's AnteHandler as well as an internal AnteHandler for an Ethereum transaction (i.e MsgEthereumTx). |
upgrades
|
|