app

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 5, 2023 License: Apache-2.0 Imports: 165 Imported by: 4

Documentation

Index

Constants

View Source
const (
	// Bech32MainPrefix defines the Bech32 prefix for account addresses
	Bech32MainPrefix = "nemo"
	// Bech32PrefixAccPub defines the Bech32 prefix of an account's public key
	Bech32PrefixAccPub = Bech32MainPrefix + "pub"
	// Bech32PrefixValAddr defines the Bech32 prefix of a validator's operator address
	Bech32PrefixValAddr = Bech32MainPrefix + "val" + "oper"
	// Bech32PrefixValPub defines the Bech32 prefix of a validator's operator public key
	Bech32PrefixValPub = Bech32MainPrefix + "val" + "oper" + "pub"
	// Bech32PrefixConsAddr defines the Bech32 prefix of a consensus node address
	Bech32PrefixConsAddr = Bech32MainPrefix + "val" + "cons"
	// Bech32PrefixConsPub defines the Bech32 prefix of a consensus node public key
	Bech32PrefixConsPub = Bech32MainPrefix + "val" + "cons" + "pub"

	Bip44CoinType = 459 // see https://github.com/satoshilabs/slips/blob/master/slip-0044.md
)

Variables

View Source
var (
	// DefaultNodeHome default home directories for the application daemon
	DefaultNodeHome string

	// ModuleBasics manages simple versions of full app modules.
	// It's used for things such as codec registration and genesis file verification.
	ModuleBasics = module.NewBasicManager(
		genutil.AppModuleBasic{},
		auth.AppModuleBasic{},
		bank.AppModuleBasic{},
		capability.AppModuleBasic{},
		staking.AppModuleBasic{},
		distr.AppModuleBasic{},
		gov.NewAppModuleBasic([]govclient.ProposalHandler{
			paramsclient.ProposalHandler,
			distrclient.ProposalHandler,
			upgradeclient.LegacyProposalHandler,
			upgradeclient.LegacyCancelProposalHandler,
			ibcclientclient.UpdateClientProposalHandler,
			ibcclientclient.UpgradeProposalHandler,
			nemodistclient.ProposalHandler,
			committeeclient.ProposalHandler,
			earnclient.DepositProposalHandler,
			earnclient.WithdrawProposalHandler,
			communityclient.LendDepositProposalHandler,
			communityclient.LendWithdrawProposalHandler,
		}),
		params.AppModuleBasic{},
		crisis.AppModuleBasic{},
		slashing.AppModuleBasic{},
		ibc.AppModuleBasic{},
		upgrade.AppModuleBasic{},
		evidence.AppModuleBasic{},
		authzmodule.AppModuleBasic{},
		transfer.AppModuleBasic{},
		vesting.AppModuleBasic{},
		evm.AppModuleBasic{},
		feemarket.AppModuleBasic{},
		nemodist.AppModuleBasic{},
		auction.AppModuleBasic{},
		issuance.AppModuleBasic{},
		bep3.AppModuleBasic{},
		pricefeed.AppModuleBasic{},
		swap.AppModuleBasic{},
		cdp.AppModuleBasic{},
		hard.AppModuleBasic{},
		committee.AppModuleBasic{},
		incentive.AppModuleBasic{},
		savings.AppModuleBasic{},
		validatorvesting.AppModuleBasic{},
		evmutil.AppModuleBasic{},
		liquid.AppModuleBasic{},
		earn.AppModuleBasic{},
		router.AppModuleBasic{},
		mint.AppModuleBasic{},
		community.AppModuleBasic{},
	)
)
View Source
var DefaultOptions = Options{
	EVMTrace:        ethermintconfig.DefaultEVMTracer,
	EVMMaxGasWanted: ethermintconfig.DefaultMaxTxGasWanted,
}

DefaultOptions is a sensible default Options value.

Functions

func GeneratePrivKeyAddressPairs

func GeneratePrivKeyAddressPairs(n int) (keys []cryptotypes.PrivKey, addrs []sdk.AccAddress)

GeneratePrivKeyAddressPairsFromRand generates (deterministically) a total of n private keys and addresses.

func GetMaccPerms

func GetMaccPerms() map[string][]string

GetMaccPerms returns a mapping of the application's module account permissions.

func MakeEncodingConfig

func MakeEncodingConfig() params.EncodingConfig

MakeEncodingConfig creates an EncodingConfig and registers the app's types on it.

func RandomAddress

func RandomAddress() sdk.AccAddress

RandomAddress non-deterministically generates a new address, discarding the private key.

func RegisterAPIRouteRewrites

func RegisterAPIRouteRewrites(router *mux.Router)

RegisterAPIRouteRewrites registers overwritten API routes that are registered after this function is called. This must be called before any other route registrations on the router in order for rewrites to take effect. The first route that matches in the mux router wins, so any registrations here will be prioritized over the later registrations in modules.

func SetBech32AddressPrefixes

func SetBech32AddressPrefixes(config *sdk.Config)

SetBech32AddressPrefixes sets the global prefix to be used when serializing addresses to bech32 strings.

func SetBip44CoinType

func SetBip44CoinType(config *sdk.Config)

SetBip44CoinType sets the global coin type to be used in hierarchical deterministic wallets.

func SetSDKConfig

func SetSDKConfig() *sdk.Config

SetSDKConfig configures the global config with nemo app specific parameters. It does not seal the config to allow modification in tests.

Types

type App

type App struct {
	*baseapp.BaseApp

	// make scoped keepers public for test purposes
	ScopedIBCKeeper      capabilitykeeper.ScopedKeeper
	ScopedTransferKeeper capabilitykeeper.ScopedKeeper
	// contains filtered or unexported fields
}

App is the Nemo ABCI application.

func NewApp

func NewApp(
	logger tmlog.Logger,
	db dbm.DB,
	homePath string,
	traceStore io.Writer,
	encodingConfig nemoparams.EncodingConfig,
	options Options,
	baseAppOptions ...func(*baseapp.BaseApp),
) *App

NewApp returns a reference to an initialized App.

func (*App) AppCodec

func (app *App) AppCodec() codec.Codec

AppCodec returns the app's app codec.

func (*App) BeginBlocker

func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock

BeginBlocker contains app specific logic for the BeginBlock abci call.

func (*App) EndBlocker

func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock

EndBlocker contains app specific logic for the EndBlock abci call.

func (*App) ExportAppStateAndValidators

func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailWhiteList []string,
) (servertypes.ExportedApp, error)

ExportAppStateAndValidators export the state of the app for a genesis file

func (*App) InitChainer

func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain

InitChainer contains app specific logic for the InitChain abci call.

func (*App) InterfaceRegistry

func (app *App) InterfaceRegistry() types.InterfaceRegistry

InterfaceRegistry returns the app's InterfaceRegistry.

func (*App) LegacyAmino

func (app *App) LegacyAmino() *codec.LegacyAmino

LegacyAmino returns the app's amino codec.

func (*App) LoadHeight

func (app *App) LoadHeight(height int64) error

LoadHeight loads the app state for a particular height.

func (*App) ModuleAccountAddrs

func (app *App) ModuleAccountAddrs() map[string]bool

ModuleAccountAddrs returns all the app's module account addresses.

func (*App) RegisterAPIRoutes

func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)

RegisterAPIRoutes registers all application module routes with the provided API server.

func (*App) RegisterNodeService

func (app *App) RegisterNodeService(clientCtx client.Context)

func (*App) RegisterServices

func (app *App) RegisterServices(cfg module.Configurator)

func (*App) RegisterTendermintService

func (app *App) RegisterTendermintService(clientCtx client.Context)

RegisterTendermintService implements the Application.RegisterTendermintService method. It registers the standard tendermint grpc endpoints on the app's grpc server.

func (*App) RegisterTxService

func (app *App) RegisterTxService(clientCtx client.Context)

RegisterTxService implements the Application.RegisterTxService method. It registers transaction related endpoints on the app's grpc server.

func (App) RegisterUpgradeHandlers

func (app App) RegisterUpgradeHandlers()

func (*App) SimulationManager

func (app *App) SimulationManager() *module.SimulationManager

SimulationManager implements the SimulationApp interface.

type AuthBankGenesisBuilder

type AuthBankGenesisBuilder struct {
	AuthGenesis authtypes.GenesisState
	BankGenesis banktypes.GenesisState
}

AuthBankGenesisBuilder is a tool for creating a combined auth and bank genesis state. Helper methods create basic accounts types and add them to a default genesis state. All methods return the builder so method calls can be chained together.

Example:

// create a single account genesis state
builder := NewAuthBankGenesisBuilder().WithSimpleAccount(testUserAddress, testCoins)
genesisState := builder.BuildMarshalled()

func NewAuthBankGenesisBuilder

func NewAuthBankGenesisBuilder() *AuthBankGenesisBuilder

NewAuthBankGenesisBuilder creates a AuthBankGenesisBuilder containing default genesis states.

func (*AuthBankGenesisBuilder) BuildMarshalled

func (builder *AuthBankGenesisBuilder) BuildMarshalled(cdc codec.JSONCodec) GenesisState

BuildMarshalled assembles the final GenesisState and json encodes it into a generic genesis type.

func (*AuthBankGenesisBuilder) WithAccounts

func (builder *AuthBankGenesisBuilder) WithAccounts(account ...authtypes.GenesisAccount) *AuthBankGenesisBuilder

WithAccounts adds accounts of any type to the genesis state.

func (*AuthBankGenesisBuilder) WithBalances

func (builder *AuthBankGenesisBuilder) WithBalances(balance ...banktypes.Balance) *AuthBankGenesisBuilder

WithBalances adds balances to the bank genesis state. It does not check the new denom is in the genesis state denom metadata.

func (*AuthBankGenesisBuilder) WithSimpleAccount

func (builder *AuthBankGenesisBuilder) WithSimpleAccount(address sdk.AccAddress, balance sdk.Coins) *AuthBankGenesisBuilder

WithSimpleAccount adds a standard account to the genesis state.

func (*AuthBankGenesisBuilder) WithSimpleModuleAccount

func (builder *AuthBankGenesisBuilder) WithSimpleModuleAccount(moduleName string, balance sdk.Coins, permissions ...string) *AuthBankGenesisBuilder

WithSimpleModuleAccount adds a module account to the genesis state.

func (*AuthBankGenesisBuilder) WithSimplePeriodicVestingAccount

func (builder *AuthBankGenesisBuilder) WithSimplePeriodicVestingAccount(address sdk.AccAddress, balance sdk.Coins, periods vestingtypes.Periods, firstPeriodStartTimestamp int64) *AuthBankGenesisBuilder

WithSimplePeriodicVestingAccount adds a periodic vesting account to the genesis state.

type GenesisState

type GenesisState map[string]json.RawMessage

GenesisState represents the genesis state of the blockchain. It is a map from module names to module genesis states.

func GenesisStateWithSingleValidator

func GenesisStateWithSingleValidator(
	app *TestApp,
	genesisState GenesisState,
) GenesisState

SetupWithGenesisValSet initializes GenesisState with a single validator and genesis accounts that also act as delegators.

func NewDefaultGenesisState

func NewDefaultGenesisState() GenesisState

NewDefaultGenesisState generates the default state for the application.

func NewFundedGenStateWithCoins

func NewFundedGenStateWithCoins(cdc codec.JSONCodec, coins []sdk.Coins, addresses []sdk.AccAddress) GenesisState

NewFundedGenStateWithCoins creates a (auth and bank) genesis state populated with accounts from the given addresses and coins.

func NewFundedGenStateWithSameCoins

func NewFundedGenStateWithSameCoins(cdc codec.JSONCodec, balance sdk.Coins, addresses []sdk.AccAddress) GenesisState

NewFundedGenStateWithSameCoins creates a (auth and bank) genesis state populated with accounts from the given addresses and balance.

func NewFundedGenStateWithSameCoinsWithModuleAccount

func NewFundedGenStateWithSameCoinsWithModuleAccount(cdc codec.JSONCodec, coins sdk.Coins, addresses []sdk.AccAddress, modAcc *authtypes.ModuleAccount) GenesisState

NewFundedGenStateWithSameCoinsWithModuleAccount creates a (auth and bank) genesis state populated with accounts from the given addresses and balance along with an empty module account

type Options

type Options struct {
	SkipLoadLatest        bool
	SkipUpgradeHeights    map[int64]bool
	SkipGenesisInvariants bool
	InvariantCheckPeriod  uint
	MempoolEnableAuth     bool
	MempoolAuthAddresses  []sdk.AccAddress
	EVMTrace              string
	EVMMaxGasWanted       uint64
}

Options bundles several configuration params for an App.

type TallyHandler

type TallyHandler struct {
	// contains filtered or unexported fields
}

TallyHandler is the tally handler for nemo

func NewTallyHandler

NewTallyHandler creates a new tally handler.

func (TallyHandler) Tally

func (th TallyHandler) Tally(
	ctx sdk.Context,
	proposal govv1.Proposal,
) (passes bool, burnDeposits bool, tallyResults govv1.TallyResult)

type TestApp

type TestApp struct {
	App

	GenesisAddrs []sdk.AccAddress
}

TestApp is a simple wrapper around an App. It exposes internal keepers for use in integration tests. This file also contains test helpers. Ideally they would be in separate package. Basic Usage:

Create a test app with NewTestApp, then all keepers and their methods can be accessed for test setup and execution.

Advanced Usage:

Some tests call for an app to be initialized with some state. This can be achieved through keeper method calls (ie keeper.SetParams(...)).
However this leads to a lot of duplicated logic similar to InitGenesis methods.
So TestApp.InitializeFromGenesisStates() will call InitGenesis with the default genesis state.
and TestApp.InitializeFromGenesisStates(authState, cdpState) will do the same but overwrite the auth and cdp sections of the default genesis state
Creating the genesis states can be combersome, but helper methods can make it easier such as NewAuthGenStateFromAccounts below.

func NewTestApp

func NewTestApp() TestApp

NewTestApp creates a new TestApp

Note, it also sets the sdk config with the app's address prefix, coin type, etc.

func NewTestAppFromSealed

func NewTestAppFromSealed() TestApp

NewTestAppFromSealed creates a TestApp without first setting sdk config.

func (TestApp) CheckBalance

func (tApp TestApp) CheckBalance(t *testing.T, ctx sdk.Context, owner sdk.AccAddress, expectedCoins sdk.Coins)

CheckBalance requires the account address has the expected amount of coins.

func (TestApp) CreateNewUnbondedValidator

func (tApp TestApp) CreateNewUnbondedValidator(ctx sdk.Context, valAddress sdk.ValAddress, selfDelegation sdkmath.Int) error

CreateNewUnbondedValidator creates a new validator in the staking module. New validators are unbonded until the end blocker is run.

func (TestApp) DeleteGenesisValidator

func (tApp TestApp) DeleteGenesisValidator(t *testing.T, ctx sdk.Context)

DeleteGenesisValidator deletes the genesis validator from the staking module. This is useful for testing with validators, but only want to consider the validators added in the test. InitGenesis requires at least 1 validator, so it must be deleted additional validators are created.

func (TestApp) DeleteGenesisValidatorCoins

func (tApp TestApp) DeleteGenesisValidatorCoins(t *testing.T, ctx sdk.Context)

func (TestApp) FundAccount

func (tApp TestApp) FundAccount(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.

func (TestApp) FundModuleAccount

func (tApp TestApp) FundModuleAccount(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.

func (TestApp) GetAccountKeeper

func (tApp TestApp) GetAccountKeeper() authkeeper.AccountKeeper

nolint

func (TestApp) GetAuctionKeeper

func (tApp TestApp) GetAuctionKeeper() auctionkeeper.Keeper

func (TestApp) GetBankKeeper

func (tApp TestApp) GetBankKeeper() bankkeeper.Keeper

func (TestApp) GetBep3Keeper

func (tApp TestApp) GetBep3Keeper() bep3keeper.Keeper

func (TestApp) GetCDPKeeper

func (tApp TestApp) GetCDPKeeper() cdpkeeper.Keeper

func (TestApp) GetCommitteeKeeper

func (tApp TestApp) GetCommitteeKeeper() committeekeeper.Keeper

func (TestApp) GetCommunityKeeper

func (tApp TestApp) GetCommunityKeeper() communitykeeper.Keeper

func (TestApp) GetCrisisKeeper

func (tApp TestApp) GetCrisisKeeper() crisiskeeper.Keeper

func (TestApp) GetDistrKeeper

func (tApp TestApp) GetDistrKeeper() distkeeper.Keeper

func (TestApp) GetEarnKeeper

func (tApp TestApp) GetEarnKeeper() earnkeeper.Keeper

func (TestApp) GetEvmKeeper

func (tApp TestApp) GetEvmKeeper() *evmkeeper.Keeper

func (TestApp) GetEvmutilKeeper

func (tApp TestApp) GetEvmutilKeeper() evmutilkeeper.Keeper

func (TestApp) GetFeeMarketKeeper

func (tApp TestApp) GetFeeMarketKeeper() feemarketkeeper.Keeper

func (TestApp) GetGovKeeper

func (tApp TestApp) GetGovKeeper() govkeeper.Keeper

func (TestApp) GetHardKeeper

func (tApp TestApp) GetHardKeeper() hardkeeper.Keeper

func (TestApp) GetIncentiveKeeper

func (tApp TestApp) GetIncentiveKeeper() incentivekeeper.Keeper

func (TestApp) GetIssuanceKeeper

func (tApp TestApp) GetIssuanceKeeper() issuancekeeper.Keeper

func (TestApp) GetLiquidKeeper

func (tApp TestApp) GetLiquidKeeper() liquidkeeper.Keeper

func (TestApp) GetMintKeeper

func (tApp TestApp) GetMintKeeper() mintkeeper.Keeper

func (TestApp) GetModuleAccountBalance

func (tApp TestApp) GetModuleAccountBalance(ctx sdk.Context, moduleName string, denom string) sdkmath.Int

GetModuleAccountBalance gets the current balance of the denom for a module account

func (TestApp) GetNemodistKeeper

func (tApp TestApp) GetNemodistKeeper() nemodistkeeper.Keeper

func (TestApp) GetParamsKeeper

func (tApp TestApp) GetParamsKeeper() paramskeeper.Keeper

func (TestApp) GetPriceFeedKeeper

func (tApp TestApp) GetPriceFeedKeeper() pricefeedkeeper.Keeper

func (TestApp) GetRouterKeeper

func (tApp TestApp) GetRouterKeeper() routerkeeper.Keeper

func (TestApp) GetSavingsKeeper

func (tApp TestApp) GetSavingsKeeper() savingskeeper.Keeper

func (TestApp) GetSlashingKeeper

func (tApp TestApp) GetSlashingKeeper() slashingkeeper.Keeper

func (TestApp) GetStakingKeeper

func (tApp TestApp) GetStakingKeeper() stakingkeeper.Keeper

func (TestApp) GetSwapKeeper

func (tApp TestApp) GetSwapKeeper() swapkeeper.Keeper

func (TestApp) InitializeFromGenesisStates

func (tApp TestApp) InitializeFromGenesisStates(genesisStates ...GenesisState) TestApp

InitializeFromGenesisStates calls InitChain on the app using the provided genesis states. If any module genesis states are missing, defaults are used.

func (TestApp) InitializeFromGenesisStatesWithTime

func (tApp TestApp) InitializeFromGenesisStatesWithTime(genTime time.Time, genesisStates ...GenesisState) TestApp

InitializeFromGenesisStatesWithTime calls InitChain on the app using the provided genesis states and time. If any module genesis states are missing, defaults are used.

func (TestApp) InitializeFromGenesisStatesWithTimeAndChainID

func (tApp TestApp) InitializeFromGenesisStatesWithTimeAndChainID(genTime time.Time, chainID string, genesisStates ...GenesisState) TestApp

InitializeFromGenesisStatesWithTimeAndChainID calls InitChain on the app using the provided genesis states, time, and chain id. If any module genesis states are missing, defaults are used.

func (TestApp) InitializeFromGenesisStatesWithTimeAndChainIDAndHeight

func (tApp TestApp) InitializeFromGenesisStatesWithTimeAndChainIDAndHeight(
	genTime time.Time,
	chainID string,
	initialHeight int64,
	addValidator bool,
	genesisStates ...GenesisState,
) TestApp

InitializeFromGenesisStatesWithTimeAndChainIDAndHeight calls InitChain on the app using the provided genesis states and other parameters. If any module genesis states are missing, defaults are used.

func (TestApp) NewQueryServerTestHelper

func (tApp TestApp) NewQueryServerTestHelper(ctx sdk.Context) *baseapp.QueryServiceTestHelper

NewQueryServerTestHelper creates a new QueryServiceTestHelper that wraps the provided sdk.Context.

func (TestApp) SetInflation

func (tApp TestApp) SetInflation(ctx sdk.Context, value sdk.Dec)

Directories

Path Synopsis
Package params defines the simulation parameters for the Nemo app.
Package params defines the simulation parameters for the Nemo app.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL