baseapp

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2018 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitGenesis

func InitGenesis(ctx sdk.Context, ps FeeManager, data FeeGenesisStateConfig)

func NewFeePreprocessHandler

func NewFeePreprocessHandler(fm FeeManager) types.FeePreprocessHandler

NewFeePreprocessHandler creates a fee token preprocesser

func NewFeeRefundHandler

NewFeePreprocessHandler creates a fee token refund handler

func NewQueryRouter added in v0.8.0

func NewQueryRouter() *queryrouter

nolint NewRouter - create new router TODO either make Function unexported or make return type (router) Exported

func NewRouter

func NewRouter() *router

nolint NewRouter - create new router TODO either make Function unexported or make return type (router) Exported

func ParamTypeTable added in v0.7.0

func ParamTypeTable() params.TypeTable

Type declaration for parameters

func Replay added in v0.7.0

func Replay(logger log.Logger) int64

func RunForever

func RunForever(app abci.Application)

RunForever - BasecoinApp execution and cleanup

func SetMinimumFees added in v0.7.0

func SetMinimumFees(minFees string) func(*BaseApp)

SetMinimumFees returns an option that sets the minimum fees on the app.

func SetPruning

func SetPruning(pruning string) func(*BaseApp)

SetPruning sets a pruning option on the multistore associated with the app

Types

type BaseApp

type BaseApp struct {
	// initialized on creation
	Logger log.Logger
	// contains filtered or unexported fields
}

BaseApp reflects the ABCI application implementation.

func NewBaseApp

func NewBaseApp(name string, logger log.Logger, db dbm.DB, txDecoder sdk.TxDecoder, options ...func(*BaseApp)) *BaseApp

NewBaseApp returns a reference to an initialized BaseApp.

TODO: Determine how to use a flexible and robust configuration paradigm that allows for sensible defaults while being highly configurable (e.g. functional options).

NOTE: The db is used to store the version number for now. Accepts a user-defined txDecoder Accepts variable number of option functions, which act on the BaseApp to set configuration choices

func (*BaseApp) BeginBlock

func (app *BaseApp) BeginBlock(req abci.RequestBeginBlock) (res abci.ResponseBeginBlock)

BeginBlock implements the ABCI application interface.

func (*BaseApp) Check

func (app *BaseApp) Check(tx sdk.Tx) (result sdk.Result)

nolint - Mostly for testing

func (*BaseApp) CheckTx

func (app *BaseApp) CheckTx(txBytes []byte) (res abci.ResponseCheckTx)

CheckTx implements ABCI CheckTx runs the "basic checks" to see whether or not a transaction can possibly be executed, first decoding, then the ante handler (which checks signatures/fees/ValidateBasic), then finally the route match to see whether a handler exists. CheckTx does not run the actual Msg handler function(s).

func (*BaseApp) Commit

func (app *BaseApp) Commit() (res abci.ResponseCommit)

Implements ABCI

func (*BaseApp) Deliver

func (app *BaseApp) Deliver(tx sdk.Tx) (result sdk.Result)

nolint

func (*BaseApp) DeliverTx

func (app *BaseApp) DeliverTx(txBytes []byte) (res abci.ResponseDeliverTx)

Implements ABCI

func (*BaseApp) EndBlock

func (app *BaseApp) EndBlock(req abci.RequestEndBlock) (res abci.ResponseEndBlock)

EndBlock implements the ABCI application interface.

func (*BaseApp) FilterPeerByAddrPort

func (app *BaseApp) FilterPeerByAddrPort(info string) abci.ResponseQuery

Filter peers by address / port

func (*BaseApp) FilterPeerByPubKey

func (app *BaseApp) FilterPeerByPubKey(info string) abci.ResponseQuery

Filter peers by public key

func (*BaseApp) GetKVStore

func (app *BaseApp) GetKVStore(key sdk.StoreKey) sdk.KVStore

////////////////// iris/cosmos-sdk begin ///////////////////////////

func (*BaseApp) Info

func (app *BaseApp) Info(req abci.RequestInfo) abci.ResponseInfo

Implements ABCI

func (*BaseApp) InitChain

func (app *BaseApp) InitChain(req abci.RequestInitChain) (res abci.ResponseInitChain)

Implements ABCI InitChain runs the initialization logic directly on the CommitMultiStore and commits it.

func (*BaseApp) IsSealed

func (app *BaseApp) IsSealed() bool

func (*BaseApp) LastBlockHeight

func (app *BaseApp) LastBlockHeight() int64

the last committed block height

func (*BaseApp) LastCommitID

func (app *BaseApp) LastCommitID() sdk.CommitID

the last CommitID of the multistore

func (*BaseApp) LoadLatestVersion

func (app *BaseApp) LoadLatestVersion(mainKey sdk.StoreKey) error

load latest application version

func (*BaseApp) LoadVersion

func (app *BaseApp) LoadVersion(version int64, mainKey sdk.StoreKey, overwrite bool) error

load application version

func (*BaseApp) MountStore

func (app *BaseApp) MountStore(key sdk.StoreKey, typ sdk.StoreType)

Mount a store to the provided key in the BaseApp multistore, using the default DB

func (*BaseApp) MountStoreWithDB

func (app *BaseApp) MountStoreWithDB(key sdk.StoreKey, typ sdk.StoreType, db dbm.DB)

Mount a store to the provided key in the BaseApp multistore, using a specified DB

func (*BaseApp) MountStoresIAVL

func (app *BaseApp) MountStoresIAVL(keys ...*sdk.KVStoreKey)

Mount IAVL stores to the provided keys in the BaseApp multistore

func (*BaseApp) MountStoresTransient added in v0.7.0

func (app *BaseApp) MountStoresTransient(keys ...*sdk.TransientStoreKey)

Mount stores to the provided keys in the BaseApp multistore

func (*BaseApp) Name

func (app *BaseApp) Name() string

BaseApp Name

func (*BaseApp) NewContext

func (app *BaseApp) NewContext(isCheckTx bool, header abci.Header) sdk.Context

NewContext returns a new Context with the correct store, the given header, and nil txBytes.

func (*BaseApp) Query

func (app *BaseApp) Query(req abci.RequestQuery) (res abci.ResponseQuery)

Implements ABCI. Delegates to CommitMultiStore if it implements Queryable

func (*BaseApp) QueryRouter added in v0.7.0

func (app *BaseApp) QueryRouter() QueryRouter

func (*BaseApp) RegisterCodespace

func (app *BaseApp) RegisterCodespace(codespace sdk.CodespaceType) sdk.CodespaceType

Register the next available codespace through the baseapp's codespacer, starting from a default

func (*BaseApp) Router

func (app *BaseApp) Router() Router

func (*BaseApp) Seal

func (app *BaseApp) Seal()

func (*BaseApp) SetAddrPeerFilter

func (app *BaseApp) SetAddrPeerFilter(pf sdk.PeerFilter)

func (*BaseApp) SetAnteHandler

func (app *BaseApp) SetAnteHandler(ah sdk.AnteHandler)

func (*BaseApp) SetBeginBlocker

func (app *BaseApp) SetBeginBlocker(beginBlocker sdk.BeginBlocker)

func (*BaseApp) SetCMS

func (app *BaseApp) SetCMS(cms store.CommitMultiStore)

func (*BaseApp) SetCommitMultiStoreTracer

func (app *BaseApp) SetCommitMultiStoreTracer(w io.Writer)

SetCommitMultiStoreTracer sets the store tracer on the BaseApp's underlying CommitMultiStore.

func (*BaseApp) SetDB

func (app *BaseApp) SetDB(db dbm.DB)

func (*BaseApp) SetEndBlocker

func (app *BaseApp) SetEndBlocker(endBlocker sdk.EndBlocker)

func (*BaseApp) SetFeePreprocessHandler

func (app *BaseApp) SetFeePreprocessHandler(fh types.FeePreprocessHandler)

func (*BaseApp) SetFeeRefundHandler

func (app *BaseApp) SetFeeRefundHandler(fh types.FeeRefundHandler)

func (*BaseApp) SetInitChainer

func (app *BaseApp) SetInitChainer(initChainer sdk.InitChainer)

func (*BaseApp) SetMinimumFees added in v0.7.0

func (app *BaseApp) SetMinimumFees(fees sdk.Coins)

SetMinimumFees sets the minimum fees.

func (*BaseApp) SetName

func (app *BaseApp) SetName(name string)

nolint - Setter functions

func (*BaseApp) SetOption

func (app *BaseApp) SetOption(req abci.RequestSetOption) (res abci.ResponseSetOption)

Implements ABCI

func (*BaseApp) SetPubKeyPeerFilter

func (app *BaseApp) SetPubKeyPeerFilter(pf sdk.PeerFilter)

func (*BaseApp) SetRunMsg

func (app *BaseApp) SetRunMsg(runMsg RunMsg)

func (*BaseApp) SetTxDecoder

func (app *BaseApp) SetTxDecoder(txDecoder sdk.TxDecoder)

func (*BaseApp) Simulate

func (app *BaseApp) Simulate(tx sdk.Tx) (result sdk.Result)

nolint - full tx execution

type FeeGenesisStateConfig

type FeeGenesisStateConfig struct {
	FeeTokenNative    string `json:"fee_token_native"`
	GasPriceThreshold int64  `json:"gas_price_threshold"`
}

type FeeManager

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

FeeManager do fee tokens preprocess according to fee token configuration

func NewFeeManager

func NewFeeManager(paramSpace params.Subspace) FeeManager

type QueryRouter added in v0.8.0

type QueryRouter interface {
	AddRoute(r string, h sdk.Querier) (rtr QueryRouter)
	Route(path string) (h sdk.Querier)
}

QueryRouter provides queryables for each query path.

type Router

type Router interface {

	////////////////////  iris/cosmos-sdk begin  ///////////////////////////
	AddRoute(r string, s []*sdk.KVStoreKey, h sdk.Handler) (rtr Router)
	Route(path string) (h sdk.Handler)
	RouteTable() (table []string)
}

Router provides handlers for each transaction type.

type RunMsg

type RunMsg func(ctx sdk.Context, msgs []sdk.Msg, mode RunTxMode) sdk.Result

type RunTxMode

type RunTxMode uint8

Enum mode for app.runTx

const (
	// Check a transaction
	RunTxModeCheck RunTxMode = iota
	// Simulate a transaction
	RunTxModeSimulate RunTxMode = iota
	// Deliver a transaction
	RunTxModeDeliver RunTxMode = iota
)

Jump to

Keyboard shortcuts

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