34 lines
1005 B
Go
34 lines
1005 B
Go
package tx
|
|
|
|
import (
|
|
context "context"
|
|
|
|
abci "github.com/tendermint/tendermint/abci/types"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
// RequestSimulateTx is the request type for the tx.Handler.RequestSimulateTx
|
|
// method.
|
|
type RequestSimulateTx struct {
|
|
TxBytes []byte
|
|
}
|
|
|
|
// ResponseSimulateTx is the response type for the tx.Handler.RequestSimulateTx
|
|
// method.
|
|
type ResponseSimulateTx struct {
|
|
GasInfo sdk.GasInfo
|
|
Result *sdk.Result
|
|
}
|
|
|
|
// TxHandler defines the baseapp's CheckTx, DeliverTx and Simulate respective
|
|
// handlers. It is designed as a middleware stack.
|
|
type Handler interface {
|
|
CheckTx(ctx context.Context, tx sdk.Tx, req abci.RequestCheckTx) (abci.ResponseCheckTx, error)
|
|
DeliverTx(ctx context.Context, tx sdk.Tx, req abci.RequestDeliverTx) (abci.ResponseDeliverTx, error)
|
|
SimulateTx(ctx context.Context, tx sdk.Tx, req RequestSimulateTx) (ResponseSimulateTx, error)
|
|
}
|
|
|
|
// TxMiddleware defines one layer of the TxHandler middleware stack.
|
|
type Middleware func(Handler) Handler
|