baseapp

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2024 License: Apache-2.0, Apache-2.0 Imports: 64 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// MainStoreKey is the string representation of the main store
	MainStoreKey = "main"

	// LatestSimulateTxHeight is the height to simulate tx based on the state of latest block height
	// only for runTxModeSimulate
	LatestSimulateTxHeight = 0

	// SimulationGasLimit gas limit of Simulation, limit only stdTx, especially wasm stdTx
	SimulationGasLimit = 50000000
)
View Source
const (
	HistoryGasUsedDbDir  = "data"
	HistoryGasUsedDBName = "hgu"

	FlagGasUsedFactor = "gu_factor"
)

Variables

View Source
var (
	GasUsedFactor = 0.4
)

Functions

func ConvertMsg added in v1.6.6

func ConvertMsg(msg sdk.Msg, height int64) (sdk.Msg, error)

func DefaultStoreLoader

func DefaultStoreLoader(ms sdk.CommitMultiStore) error

DefaultStoreLoader will be used by default and loads the latest version

func EvmResultConvert added in v1.6.6

func EvmResultConvert(txHash, data []byte) ([]byte, error)

func Find added in v1.3.0

func Find(x string) string

Find father node

func GetABCIBlock added in v1.1.7

func GetABCIBlock(height int64) (*ctypes.ResultBlock, error)

func GetABCIHeader

func GetABCIHeader(height int64) (abci.Header, error)

func GetABCITx added in v1.1.7

func GetABCITx(hash []byte) (*ctypes.ResultTx, error)

func GetGlobalMempool

func GetGlobalMempool() mempool.Mempool

func IsMempoolEnablePendingPool

func IsMempoolEnablePendingPool() bool

func IsMempoolEnableRecheck

func IsMempoolEnableRecheck() bool

func IsMempoolEnableSort

func IsMempoolEnableSort() bool

func NewBlockDataCache added in v1.3.0

func NewBlockDataCache() *blockDataCache

func RegisterCmHandle added in v1.6.6

func RegisterCmHandle(msgType string, create *CMHandle)

func RegisterCmHandleV1 added in v1.7.2

func RegisterCmHandleV1(msgType string, create *CMHandleV1)

func RegisterEvmConvertJudge added in v1.6.6

func RegisterEvmConvertJudge(create func(msg sdk.Msg) ([]byte, bool))

func RegisterEvmParamParse added in v1.6.6

func RegisterEvmParamParse(create func(msg sdk.Msg) ([]byte, error))

func RegisterEvmResultConverter added in v1.6.6

func RegisterEvmResultConverter(create func(txHash, data []byte) ([]byte, error))

func SetGlobalMempool

func SetGlobalMempool(mempool mempool.Mempool, enableSort bool, enablePendingPool bool)

func SetHaltHeight

func SetHaltHeight(blockHeight uint64) func(*BaseApp)

SetHaltHeight returns a BaseApp option function that sets the halt block height.

func SetHaltTime

func SetHaltTime(haltTime uint64) func(*BaseApp)

SetHaltTime returns a BaseApp option function that sets the halt block time.

func SetInterBlockCache

func SetInterBlockCache(cache sdk.MultiStorePersistentCache) func(*BaseApp)

SetInterBlockCache provides a BaseApp option function that sets the inter-block cache.

func SetMinGasPrices

func SetMinGasPrices(gasPricesStr string) func(*BaseApp)

SetMinGasPrices returns an option that sets the minimum gas prices on the app.

func SetPruning

func SetPruning(opts sdk.PruningOptions) func(*BaseApp)

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

func SetTrace

func SetTrace(trace bool) func(*BaseApp)

SetTrace will turn on or off trace flag

func Union added in v1.3.0

func Union(x string, yString string)

Union from and to

Types

type BaseApp

type BaseApp struct {
	GasRefundHandler sdk.GasRefundHandler // gas refund handler for gas refund

	EvmSysContractAddressHandler sdk.EvmSysContractAddressHandler // evm system contract address handler for judge whether convert evm tx to cm tx

	FeeSplitCollector []*sdk.FeeSplitInfo
	// 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. It accepts a variadic number of option functions, which act on the BaseApp to set configuration choices.

NOTE: The db is used to store the version number for now.

func (*BaseApp) AddCustomizeModuleOnStopLogic added in v1.5.0

func (app *BaseApp) AddCustomizeModuleOnStopLogic(cs sdk.CustomizeOnStop)

func (*BaseApp) AppVersion

func (app *BaseApp) AppVersion() string

AppVersion returns the application's version string.

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) (sdk.GasInfo, *sdk.Result, error)

func (*BaseApp) CheckTx

func (app *BaseApp) CheckTx(req abci.RequestCheckTx) abci.ResponseCheckTx

CheckTx implements the ABCI interface and executes a tx in CheckTx mode. In CheckTx mode, messages are not executed. This means messages are only validated and only the AnteHandler is executed. State is persisted to the BaseApp's internal CheckTx state if the AnteHandler passes. Otherwise, the ResponseCheckTx will contain releveant error information. Regardless of tx execution outcome, the ResponseCheckTx will contain relevant gas execution context.

func (*BaseApp) Commit

func (app *BaseApp) Commit(req abci.RequestCommit) abci.ResponseCommit

Commit implements the ABCI interface. It will commit all state that exists in the deliver state's multi-store and includes the resulting commit ID in the returned abci.ResponseCommit. Commit will set the check state based on the latest header and reset the deliver state. Also, if a non-zero halt height is defined in config, Commit will execute a deferred function call to check against that height and gracefully halt if it matches the latest committed height.

func (*BaseApp) Deliver

func (app *BaseApp) Deliver(tx sdk.Tx) (sdk.GasInfo, *sdk.Result, error)

func (*BaseApp) DeliverRealTx added in v1.3.0

func (app *BaseApp) DeliverRealTx(txes abci.TxEssentials) abci.ResponseDeliverTx

func (*BaseApp) DeliverTx

func (app *BaseApp) DeliverTx(req abci.RequestDeliverTx) abci.ResponseDeliverTx

func (*BaseApp) EndBlock

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

EndBlock implements the ABCI interface.

func (*BaseApp) Export

func (app *BaseApp) Export(toApp *BaseApp, version int64) error

func (*BaseApp) FilterPeerByAddrPort

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

FilterPeerByAddrPort filters peers by address/port.

func (*BaseApp) FilterPeerByID

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

FilterPeerByIDfilters peers by node ID.

func (*BaseApp) GRPCQueryRouter added in v1.3.0

func (app *BaseApp) GRPCQueryRouter() *GRPCQueryRouter

GRPCQueryRouter returns the GRPCQueryRouter of a BaseApp.

func (*BaseApp) GetCMS added in v1.3.0

func (app *BaseApp) GetCMS() sdk.CommitMultiStore

func (*BaseApp) GetCacheMultiStore added in v1.5.2

func (app *BaseApp) GetCacheMultiStore(txBytes []byte, height int64) (sdk.CacheMultiStore, bool)

func (*BaseApp) GetCommitVersion added in v1.0.0

func (app *BaseApp) GetCommitVersion() (int64, error)

GetCommitVersion loads the latest committed version.

func (*BaseApp) GetDB added in v1.5.0

func (app *BaseApp) GetDB() dbm.DB

MockContext returns a initialized context

func (*BaseApp) GetDeliverStateCtx

func (app *BaseApp) GetDeliverStateCtx() sdk.Context

func (*BaseApp) GetRawTxInfo

func (app *BaseApp) GetRawTxInfo(rawTx tmtypes.Tx) mempool.ExTxInfo

func (*BaseApp) GetRealTxFromRawTx added in v1.6.0

func (app *BaseApp) GetRealTxFromRawTx(rawTx tmtypes.Tx) abci.TxEssentials

func (*BaseApp) GetTxDecoder added in v1.3.0

func (app *BaseApp) GetTxDecoder() sdk.TxDecoder

func (*BaseApp) GetTxHistoryGasUsed added in v0.19.16

func (app *BaseApp) GetTxHistoryGasUsed(rawTx tmtypes.Tx, gasLimit int64) (int64, bool)

func (*BaseApp) GetTxInfo

func (app *BaseApp) GetTxInfo(ctx sdk.Context, tx sdk.Tx) mempool.ExTxInfo

func (*BaseApp) Info

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

Info implements the ABCI interface.

func (*BaseApp) InitChain

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

InitChain implements the ABCI interface. It runs the initialization logic directly on the CommitMultiStore.

func (*BaseApp) IsSealed

func (app *BaseApp) IsSealed() bool

IsSealed returns true if the BaseApp is sealed and false otherwise.

func (*BaseApp) JudgeEvmConvert added in v1.6.6

func (app *BaseApp) JudgeEvmConvert(ctx sdk.Context, msg sdk.Msg) bool

func (*BaseApp) LastBlockHeight

func (app *BaseApp) LastBlockHeight() int64

LastBlockHeight returns the last committed block height.

func (*BaseApp) LastCommitID

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

LastCommitID returns the last CommitID of the multistore.

func (*BaseApp) LoadLatestVersion

func (app *BaseApp) LoadLatestVersion(baseKey *sdk.KVStoreKey) error

LoadLatestVersion loads the latest application version. It will panic if called more than once on a running BaseApp.

func (*BaseApp) LoadVersion

func (app *BaseApp) LoadVersion(version int64, baseKey *sdk.KVStoreKey) error

LoadVersion loads the BaseApp application version. It will panic if called more than once on a running baseapp.

func (*BaseApp) Logger

func (app *BaseApp) Logger() log.Logger

Logger returns the logger of the BaseApp.

func (*BaseApp) MempoolSimulate added in v1.7.4

func (app *BaseApp) MempoolSimulate(txBytes []byte, tx sdk.Tx, height int64, overridesBytes []byte, from ...string) (sdk.GasInfo, *sdk.Result, error)

func (*BaseApp) MockContext added in v1.5.0

func (app *BaseApp) MockContext() sdk.Context

MockContext returns a initialized context

func (*BaseApp) MountKVStores

func (app *BaseApp) MountKVStores(keys map[string]*sdk.KVStoreKey)

MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp multistore.

func (*BaseApp) MountMemoryStores added in v1.3.0

func (app *BaseApp) MountMemoryStores(keys map[string]*sdk.MemoryStoreKey)

MountMemoryStores mounts all in-memory KVStores with the BaseApp's internal commit multi-store.

func (*BaseApp) MountStore

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

MountStore mounts 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)

MountStoreWithDB mounts a store to the provided key in the BaseApp multistore, using a specified DB.

func (*BaseApp) MountStores

func (app *BaseApp) MountStores(keys ...sdk.StoreKey)

MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp multistore.

func (*BaseApp) MountTransientStores

func (app *BaseApp) MountTransientStores(keys map[string]*sdk.TransientStoreKey)

MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp multistore.

func (*BaseApp) MsgServiceRouter added in v1.3.0

func (app *BaseApp) MsgServiceRouter() *MsgServiceRouter

func (*BaseApp) Name

func (app *BaseApp) Name() string

Name returns the name of the BaseApp.

func (*BaseApp) NewContext

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

Context with current {check, deliver}State of the app used by tests.

func (*BaseApp) ParallelTxs

func (app *BaseApp) ParallelTxs(txs [][]byte, onlyCalSender bool) []*abci.ResponseDeliverTx

ParallelTxs run txs

func (*BaseApp) PreDeliverRealTx added in v1.3.0

func (app *BaseApp) PreDeliverRealTx(tx []byte) abci.TxEssentials

func (*BaseApp) PushAnteHandler

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

func (*BaseApp) PutCacheMultiStore added in v1.5.2

func (app *BaseApp) PutCacheMultiStore(cms sdk.CacheMultiStore)

func (*BaseApp) Query

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

Query implements the ABCI interface. It delegates to CommitMultiStore if it implements Queryable.

func (*BaseApp) QueryRouter

func (app *BaseApp) QueryRouter() sdk.QueryRouter

QueryRouter returns the QueryRouter of a BaseApp.

func (*BaseApp) RegisterGRPCServer added in v1.6.7

func (app *BaseApp) RegisterGRPCServer(server gogogrpc.Server)

func (*BaseApp) Router

func (app *BaseApp) Router() sdk.Router

Router returns the router of the BaseApp.

func (*BaseApp) Seal

func (app *BaseApp) Seal()

Seal seals a BaseApp. It prohibits any further modifications to a BaseApp.

func (*BaseApp) SetAccNonceHandler added in v1.5.0

func (app *BaseApp) SetAccNonceHandler(anh sdk.AccNonceHandler)

func (*BaseApp) SetAddrPeerFilter

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

func (*BaseApp) SetAnteHandler

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

func (*BaseApp) SetAppVersion

func (app *BaseApp) SetAppVersion(v string)

SetAppVersion sets the application's version string.

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) SetEndLogHandler

func (app *BaseApp) SetEndLogHandler(handle recordHandle)

SetStopLogHandler set the endLog of the BaseApp.

func (*BaseApp) SetEvmSysContractAddressHandler added in v1.6.6

func (app *BaseApp) SetEvmSysContractAddressHandler(handler sdk.EvmSysContractAddressHandler)

func (*BaseApp) SetEvmWatcherCollector added in v1.6.0

func (app *BaseApp) SetEvmWatcherCollector(collector sdk.EvmWatcherCollector)

func (*BaseApp) SetFauxMerkleMode

func (app *BaseApp) SetFauxMerkleMode()

func (*BaseApp) SetGasRefundHandler

func (app *BaseApp) SetGasRefundHandler(gh sdk.GasRefundHandler)

func (*BaseApp) SetGetBlockConfigHandler added in v1.8.0

func (app *BaseApp) SetGetBlockConfigHandler(handler sdk.GetBlockConfigHandler)

func (*BaseApp) SetGetFeeCollectorInfo added in v1.7.6

func (app *BaseApp) SetGetFeeCollectorInfo(handle sdk.GetFeeCollectorInfo)

func (*BaseApp) SetGetGasConfigHandler added in v1.7.6

func (app *BaseApp) SetGetGasConfigHandler(handler sdk.GetGasConfigHandler)

func (*BaseApp) SetGetTxFeeHandler added in v1.3.1

func (app *BaseApp) SetGetTxFeeHandler(handler sdk.GetTxFeeHandler)

func (*BaseApp) SetIDPeerFilter

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

func (*BaseApp) SetInitChainer

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

func (*BaseApp) SetInterceptors added in v1.3.0

func (app *BaseApp) SetInterceptors(interceptors map[string]Interceptor)

func (*BaseApp) SetInterfaceRegistry added in v1.3.0

func (app *BaseApp) SetInterfaceRegistry(registry types.InterfaceRegistry)

SetInterfaceRegistry sets the InterfaceRegistry.

func (*BaseApp) SetMptCommitHandler added in v1.5.0

func (app *BaseApp) SetMptCommitHandler(mch sdk.MptCommitHandler)

func (*BaseApp) SetName

func (app *BaseApp) SetName(name string)

func (*BaseApp) SetOption

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

SetOption implements the ABCI interface.

func (*BaseApp) SetParallelTxLogHandlers added in v1.6.4

func (app *BaseApp) SetParallelTxLogHandlers(fixLog sdk.LogFix)

func (*BaseApp) SetPartialConcurrentHandlers added in v1.3.0

func (app *BaseApp) SetPartialConcurrentHandlers(etf sdk.GetTxFeeAndFromHandler)

func (*BaseApp) SetPreDeliverTxHandler added in v1.3.0

func (app *BaseApp) SetPreDeliverTxHandler(handler sdk.PreDeliverTxHandler)

func (*BaseApp) SetRouter

func (app *BaseApp) SetRouter(router sdk.Router)

SetRouter allows us to customize the router.

func (*BaseApp) SetStartLogHandler

func (app *BaseApp) SetStartLogHandler(handle recordHandle)

SetStartLogHandler set the startLog of the BaseApp.

func (*BaseApp) SetStoreLoader

func (app *BaseApp) SetStoreLoader(loader StoreLoader)

SetStoreLoader allows us to customize the rootMultiStore initialization.

func (*BaseApp) SetTmClient added in v1.6.3

func (app *BaseApp) SetTmClient(client client.Client)

func (*BaseApp) SetUpdateCMTxNonceHandler added in v1.7.0

func (app *BaseApp) SetUpdateCMTxNonceHandler(handler sdk.UpdateCMTxNonceHandler)

func (*BaseApp) SetUpdateFeeCollectorAccHandler added in v1.6.4

func (app *BaseApp) SetUpdateFeeCollectorAccHandler(handler sdk.UpdateFeeCollectorAccHandler)

func (*BaseApp) SetUpdateWasmTxCount added in v1.7.5

func (app *BaseApp) SetUpdateWasmTxCount(d sdk.UpdateCosmosTxCount)

func (*BaseApp) Simulate

func (app *BaseApp) Simulate(txBytes []byte, tx sdk.Tx, height int64, overridesBytes []byte, from ...string) (sdk.GasInfo, *sdk.Result, error)

func (*BaseApp) StopBaseApp added in v1.5.0

func (app *BaseApp) StopBaseApp()

func (*BaseApp) TraceTx added in v1.1.7

func (app *BaseApp) TraceTx(queryTraceTx sdk.QueryTraceTx, targetTx sdk.Tx, txIndex uint32, block *tmtypes.Block) (*sdk.Result, error)

TraceTx returns the trace log for the target tx To trace the target tx, the context must be set to the specific block at first, and the predesessors in the same block must be run before tracing the tx. The runtx procedure for TraceTx is nearly same with that for DeliverTx, but the state was saved in different Cache in app.

func (*BaseApp) UpdateBlockConfig added in v1.8.0

func (app *BaseApp) UpdateBlockConfig(ctx sdk.Context)

func (*BaseApp) UpdateGlobalGasConfig added in v1.7.6

func (app *BaseApp) UpdateGlobalGasConfig(ctx sdk.Context)

type CMHandle added in v1.6.6

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

func NewCMHandle added in v1.6.6

func NewCMHandle(fn func(data []byte, signers []sdk.AccAddress) (sdk.Msg, error), height int64) *CMHandle

type CMHandleV1 added in v1.7.2

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

func NewCMHandleV1 added in v1.7.2

func NewCMHandleV1(fn func(data []byte, signers []sdk.AccAddress, height int64) (sdk.Msg, error)) *CMHandleV1

type CacheTxContextFunc added in v1.5.3

type CacheTxContextFunc func(ctx sdk.Context, txBytes []byte) (sdk.Context, sdk.CacheMultiStore)

type GRPCQueryHandler added in v1.3.0

type GRPCQueryHandler = func(ctx sdk.Context, req abci.RequestQuery) (abci.ResponseQuery, error)

GRPCQueryHandler defines a function type which handles ABCI Query requests using gRPC

type GRPCQueryRouter added in v1.3.0

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

GRPCQueryRouter routes ABCI Query requests to GRPC handlers

func NewGRPCQueryRouter added in v1.3.0

func NewGRPCQueryRouter() *GRPCQueryRouter

NewGRPCQueryRouter creates a new GRPCQueryRouter

func (*GRPCQueryRouter) RegisterService added in v1.3.0

func (qrt *GRPCQueryRouter) RegisterService(sd *grpc.ServiceDesc, handler interface{})

RegisterService implements the gRPC Server.RegisterService method. sd is a gRPC service description, handler is an object which implements that gRPC service/

This functions PANICS: - if a protobuf service is registered twice.

func (*GRPCQueryRouter) Route added in v1.3.0

func (qrt *GRPCQueryRouter) Route(path string) GRPCQueryHandler

Route returns the GRPCQueryHandler for a given query route path or nil if not found

func (*GRPCQueryRouter) SetInterfaceRegistry added in v1.3.0

func (qrt *GRPCQueryRouter) SetInterfaceRegistry(interfaceRegistry codectypes.InterfaceRegistry)

SetInterfaceRegistry sets the interface registry for the router. This will also register the interface reflection gRPC service.

type HguRecord added in v1.7.9

type HguRecord struct {
	MaxGas               int64    `protobuf:"varint,1,opt,name=MaxGas,proto3" json:"MaxGas,omitempty"`
	MinGas               int64    `protobuf:"varint,2,opt,name=MinGas,proto3" json:"MinGas,omitempty"`
	MovingAverageGas     int64    `protobuf:"varint,3,opt,name=MovingAverageGas,proto3" json:"MovingAverageGas,omitempty"`
	BlockNum             int64    `protobuf:"varint,4,opt,name=BlockNum,proto3" json:"BlockNum,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*HguRecord) Descriptor added in v1.7.9

func (*HguRecord) Descriptor() ([]byte, []int)

func (*HguRecord) GetBlockNum added in v1.7.9

func (m *HguRecord) GetBlockNum() int64

func (*HguRecord) GetMaxGas added in v1.7.9

func (m *HguRecord) GetMaxGas() int64

func (*HguRecord) GetMinGas added in v1.7.9

func (m *HguRecord) GetMinGas() int64

func (*HguRecord) GetMovingAverageGas added in v1.7.9

func (m *HguRecord) GetMovingAverageGas() int64

func (*HguRecord) ProtoMessage added in v1.7.9

func (*HguRecord) ProtoMessage()

func (*HguRecord) Reset added in v1.7.9

func (m *HguRecord) Reset()

func (*HguRecord) String added in v1.7.9

func (m *HguRecord) String() string

func (*HguRecord) XXX_DiscardUnknown added in v1.7.9

func (m *HguRecord) XXX_DiscardUnknown()

func (*HguRecord) XXX_Marshal added in v1.7.9

func (m *HguRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HguRecord) XXX_Merge added in v1.7.9

func (m *HguRecord) XXX_Merge(src proto.Message)

func (*HguRecord) XXX_Size added in v1.7.9

func (m *HguRecord) XXX_Size() int

func (*HguRecord) XXX_Unmarshal added in v1.7.9

func (m *HguRecord) XXX_Unmarshal(b []byte) error

type HistoryGasUsedRecordDB added in v1.6.7

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

func InstanceOfHistoryGasUsedRecordDB added in v0.19.16

func InstanceOfHistoryGasUsedRecordDB() *HistoryGasUsedRecordDB

func (*HistoryGasUsedRecordDB) FlushHgu added in v1.6.7

func (h *HistoryGasUsedRecordDB) FlushHgu()

func (*HistoryGasUsedRecordDB) GetHgu added in v1.6.7

func (h *HistoryGasUsedRecordDB) GetHgu(key []byte) *HguRecord

func (*HistoryGasUsedRecordDB) UpdateGasUsed added in v1.6.7

func (h *HistoryGasUsedRecordDB) UpdateGasUsed(key []byte, gasUsed int64)

type Interceptor added in v1.3.0

type Interceptor interface {
	Intercept(req *abci.RequestQuery)
}

it is like hooker ,grap the request and do sth....(like redirect the path or anything else)

func NewRedirectInterceptor added in v1.3.0

func NewRedirectInterceptor(redirectPath string) Interceptor

type MsgServiceHandler added in v1.3.0

type MsgServiceHandler = func(ctx sdk.Context, req sdk.MsgRequest) (*sdk.Result, error)

MsgServiceHandler defines a function type which handles Msg service message.

type MsgServiceRouter added in v1.3.0

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

MsgServiceRouter routes fully-qualified Msg service methods to their handler.

func NewMsgServiceRouter added in v1.3.0

func NewMsgServiceRouter() *MsgServiceRouter

NewMsgServiceRouter creates a new MsgServiceRouter.

func (*MsgServiceRouter) Handler added in v1.3.0

func (msr *MsgServiceRouter) Handler(methodName string) MsgServiceHandler

Handler returns the MsgServiceHandler for a given query route path or nil if not found.

func (*MsgServiceRouter) HandlerWithMsg added in v1.6.7

func (msr *MsgServiceRouter) HandlerWithMsg(msg sdk.MsgAdapter) MsgServiceHandler

Handler returns the MsgServiceHandler for a given msg or nil if not found.

func (*MsgServiceRouter) RegisterService added in v1.3.0

func (msr *MsgServiceRouter) RegisterService(sd *grpc.ServiceDesc, handler interface{})

RegisterService implements the gRPC Server.RegisterService method. sd is a gRPC service description, handler is an object which implements that gRPC service.

This function PANICs:

  • if it is called before the service `Msg`s have been registered using RegisterInterfaces,
  • or if a service is being registered twice.

func (*MsgServiceRouter) SetInterfaceRegistry added in v1.3.0

func (msr *MsgServiceRouter) SetInterfaceRegistry(interfaceRegistry codectypes.InterfaceRegistry)

SetInterfaceRegistry sets the interface registry for the router.

type MsgWrapper added in v1.6.6

type MsgWrapper struct {
	Name string          `json:"type"`
	Data json.RawMessage `json:"value"`
}

func ParseMsgWrapper added in v1.6.6

func ParseMsgWrapper(data []byte) (*MsgWrapper, error)

type QueryRouter

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

func NewQueryRouter

func NewQueryRouter() *QueryRouter

NewQueryRouter returns a reference to a new QueryRouter.

func (*QueryRouter) AddRoute

func (qrt *QueryRouter) AddRoute(path string, q sdk.Querier) sdk.QueryRouter

AddRoute adds a query path to the router with a given Querier. It will panic if a duplicate route is given. The route must be alphanumeric.

func (*QueryRouter) Route

func (qrt *QueryRouter) Route(path string) sdk.Querier

Route returns the Querier for a given query route path.

type QueryServiceTestHelper added in v1.6.6

type QueryServiceTestHelper struct {
	*GRPCQueryRouter
	Ctx sdk.Context
}

QueryServiceTestHelper provides a helper for making grpc query service rpc calls in unit tests. It implements both the grpc Server and ClientConn interfaces needed to register a query service server and create a query service client.

func NewQueryServerTestHelper added in v1.6.6

func NewQueryServerTestHelper(ctx sdk.Context, interfaceRegistry types.InterfaceRegistry) *QueryServiceTestHelper

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

func (*QueryServiceTestHelper) Invoke added in v1.6.6

func (q *QueryServiceTestHelper) Invoke(_ gocontext.Context, method string, args, reply interface{}, _ ...grpc.CallOption) error

Invoke implements the grpc ClientConn.Invoke method

func (*QueryServiceTestHelper) NewStream added in v1.6.6

NewStream implements the grpc ClientConn.NewStream method

type Router

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

func NewRouter

func NewRouter() *Router

NewRouter returns a reference to a new router.

func (*Router) AddRoute

func (rtr *Router) AddRoute(path string, h sdk.Handler) sdk.Router

AddRoute adds a route path to the router with a given handler. The route must be alphanumeric.

func (*Router) Route

func (rtr *Router) Route(_ sdk.Context, path string) sdk.Handler

Route returns a handler for a given route path.

TODO: Handle expressive matches.

type StoreLoader

type StoreLoader func(ms sdk.CommitMultiStore) error

StoreLoader defines a customizable function to control how we load the CommitMultiStore from disk. This is useful for state migration, when loading a datastore written with an older version of the software. In particular, if a module changed the substore key name (or removed a substore) between two versions of the software.

func StoreLoaderWithUpgrade

func StoreLoaderWithUpgrade(upgrades *storetypes.StoreUpgrades) StoreLoader

StoreLoaderWithUpgrade is used to prepare baseapp with a fixed StoreLoader pattern. This is useful in test cases, or with custom upgrade loading logic.

func UpgradeableStoreLoader

func UpgradeableStoreLoader(upgradeInfoPath string) StoreLoader

UpgradeableStoreLoader can be configured by SetStoreLoader() to check for the existence of a given upgrade file - json encoded StoreUpgrades data.

If not file is present, it will peform the default load (no upgrades to store).

If the file is present, it will parse the file and execute those upgrades (rename or delete stores), while loading the data. It will also delete the upgrade file upon successful load, so that the upgrade is only applied once, and not re-applied on next restart

This is useful for in place migrations when a store key is renamed between two versions of the software. (TODO: this code will move to x/upgrades when PR #4233 is merged, here mainly to help test the design)

Jump to

Keyboard shortcuts

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