Skip to content

Commit 09c8298

Browse files
committed
Call antehandlers for traceBlock
1 parent 49ba7bd commit 09c8298

File tree

13 files changed

+138
-70
lines changed

13 files changed

+138
-70
lines changed

app/ante.go

+20-13
Original file line numberDiff line numberDiff line change
@@ -37,39 +37,39 @@ type HandlerOptions struct {
3737
TracingInfo *tracing.Info
3838
}
3939

40-
func NewAnteHandlerAndDepGenerator(options HandlerOptions) (sdk.AnteHandler, sdk.AnteDepGenerator, error) {
40+
func NewAnteHandlerAndDepGenerator(options HandlerOptions) (sdk.AnteHandler, sdk.AnteHandler, sdk.AnteDepGenerator, error) {
4141
if options.AccountKeeper == nil {
42-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "account keeper is required for AnteHandler")
42+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "account keeper is required for AnteHandler")
4343
}
4444
if options.BankKeeper == nil {
45-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "bank keeper is required for AnteHandler")
45+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "bank keeper is required for AnteHandler")
4646
}
4747
if options.SignModeHandler == nil {
48-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "sign mode handler is required for ante builder")
48+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "sign mode handler is required for ante builder")
4949
}
5050
if options.WasmConfig == nil {
51-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "wasm config is required for ante builder")
51+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "wasm config is required for ante builder")
5252
}
5353
if options.WasmKeeper == nil {
54-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "wasm keeper is required for ante builder")
54+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "wasm keeper is required for ante builder")
5555
}
5656
if options.OracleKeeper == nil {
57-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "oracle keeper is required for ante builder")
57+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "oracle keeper is required for ante builder")
5858
}
5959
if options.AccessControlKeeper == nil {
60-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "accesscontrol keeper is required for ante builder")
60+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "accesscontrol keeper is required for ante builder")
6161
}
6262
if options.ParamsKeeper == nil {
63-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "params keeper is required for ante builder")
63+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "params keeper is required for ante builder")
6464
}
6565
if options.TracingInfo == nil {
66-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "tracing info is required for ante builder")
66+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "tracing info is required for ante builder")
6767
}
6868
if options.EVMKeeper == nil {
69-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "evm keeper is required for ante builder")
69+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "evm keeper is required for ante builder")
7070
}
7171
if options.LatestCtxGetter == nil {
72-
return nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "latest context getter is required for ante builder")
72+
return nil, nil, nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "latest context getter is required for ante builder")
7373
}
7474

7575
sigGasConsumer := options.SigGasConsumer
@@ -117,5 +117,12 @@ func NewAnteHandlerAndDepGenerator(options HandlerOptions) (sdk.AnteHandler, sdk
117117

118118
router := evmante.NewEVMRouterDecorator(anteHandler, evmAnteHandler, anteDepGenerator, evmAnteDepGenerator)
119119

120-
return router.AnteHandle, router.AnteDeps, nil
120+
tracerAnteDecorators := []sdk.AnteFullDecorator{
121+
evmante.NewEVMPreprocessDecorator(options.EVMKeeper, options.EVMKeeper.AccountKeeper()),
122+
sdk.DefaultWrappedAnteDecorator(evmante.NewBasicDecorator(options.EVMKeeper)),
123+
sdk.DefaultWrappedAnteDecorator(evmante.NewEVMSigVerifyDecorator(options.EVMKeeper, options.LatestCtxGetter)),
124+
}
125+
tracerAnteHandler, _ := sdk.ChainAnteDecorators(tracerAnteDecorators...)
126+
127+
return router.AnteHandle, tracerAnteHandler, router.AnteDeps, nil
121128
}

app/ante_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func (suite *AnteTestSuite) SetupTest(isCheckTx bool) {
8484
Tracer: &tr,
8585
}
8686
tracingInfo.SetContext(context.Background())
87-
antehandler, anteDepGenerator, err := app.NewAnteHandlerAndDepGenerator(
87+
antehandler, _, anteDepGenerator, err := app.NewAnteHandlerAndDepGenerator(
8888
app.HandlerOptions{
8989
HandlerOptions: ante.HandlerOptions{
9090
AccountKeeper: suite.App.AccountKeeper,

app/app.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -365,8 +365,9 @@ type App struct {
365365
optimisticProcessingInfo *OptimisticProcessingInfo
366366

367367
// batchVerifier *ante.SR25519BatchVerifier
368-
txDecoder sdk.TxDecoder
369-
AnteHandler sdk.AnteHandler
368+
txDecoder sdk.TxDecoder
369+
AnteHandler sdk.AnteHandler
370+
TracerAnteHandler sdk.AnteHandler
370371

371372
versionInfo version.Info
372373

@@ -924,7 +925,7 @@ func New(
924925
signModeHandler := encodingConfig.TxConfig.SignModeHandler()
925926
// app.batchVerifier = ante.NewSR25519BatchVerifier(app.AccountKeeper, signModeHandler)
926927

927-
anteHandler, anteDepGenerator, err := NewAnteHandlerAndDepGenerator(
928+
anteHandler, tracerAnteHandler, anteDepGenerator, err := NewAnteHandlerAndDepGenerator(
928929
HandlerOptions{
929930
HandlerOptions: ante.HandlerOptions{
930931
AccountKeeper: app.AccountKeeper,
@@ -952,6 +953,7 @@ func New(
952953
panic(err)
953954
}
954955
app.AnteHandler = anteHandler
956+
app.TracerAnteHandler = tracerAnteHandler
955957

956958
app.SetAnteHandler(anteHandler)
957959
app.SetAnteDepGenerator(anteDepGenerator)
@@ -1875,7 +1877,7 @@ func (app *App) RegisterTendermintService(clientCtx client.Context) {
18751877
tmservice.RegisterTendermintService(app.BaseApp.GRPCQueryRouter(), clientCtx, app.interfaceRegistry)
18761878

18771879
if app.evmRPCConfig.HTTPEnabled {
1878-
evmHTTPServer, err := evmrpc.NewEVMHTTPServer(app.Logger(), app.evmRPCConfig, clientCtx.Client, &app.EvmKeeper, app.BaseApp, app.AnteHandler, app.RPCContextProvider, app.encodingConfig.TxConfig, DefaultNodeHome, nil)
1880+
evmHTTPServer, err := evmrpc.NewEVMHTTPServer(app.Logger(), app.evmRPCConfig, clientCtx.Client, &app.EvmKeeper, app.BaseApp, app.TracerAnteHandler, app.RPCContextProvider, app.encodingConfig.TxConfig, DefaultNodeHome, nil)
18791881
if err != nil {
18801882
panic(err)
18811883
}
@@ -1885,7 +1887,7 @@ func (app *App) RegisterTendermintService(clientCtx client.Context) {
18851887
}
18861888

18871889
if app.evmRPCConfig.WSEnabled {
1888-
evmWSServer, err := evmrpc.NewEVMWebSocketServer(app.Logger(), app.evmRPCConfig, clientCtx.Client, &app.EvmKeeper, app.BaseApp, app.AnteHandler, app.RPCContextProvider, app.encodingConfig.TxConfig, DefaultNodeHome)
1890+
evmWSServer, err := evmrpc.NewEVMWebSocketServer(app.Logger(), app.evmRPCConfig, clientCtx.Client, &app.EvmKeeper, app.BaseApp, app.TracerAnteHandler, app.RPCContextProvider, app.encodingConfig.TxConfig, DefaultNodeHome)
18891891
if err != nil {
18901892
panic(err)
18911893
}

evmrpc/send.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func NewSendAPI(tmClient rpcclient.Client, txConfig client.TxConfig, sendConfig
4747
keeper: k,
4848
ctxProvider: ctxProvider,
4949
homeDir: homeDir,
50-
backend: NewBackend(ctxProvider, k, txConfig.TxDecoder(), tmClient, simulateConfig, app, antehandler),
50+
backend: NewBackend(ctxProvider, k, txConfig, tmClient, simulateConfig, app, antehandler),
5151
connectionType: connectionType,
5252
}
5353
}

evmrpc/server.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ func NewEVMHTTPServer(
5353
ctx := ctxProvider(LatestCtxHeight)
5454

5555
txAPI := NewTransactionAPI(tmClient, k, ctxProvider, txConfig, homeDir, ConnectionTypeHTTP)
56-
debugAPI := NewDebugAPI(tmClient, k, ctxProvider, txConfig.TxDecoder(), simulateConfig, app, antehandler, ConnectionTypeHTTP)
56+
debugAPI := NewDebugAPI(tmClient, k, ctxProvider, txConfig, simulateConfig, app, antehandler, ConnectionTypeHTTP)
5757
if isPanicOrSyntheticTxFunc == nil {
5858
isPanicOrSyntheticTxFunc = func(ctx context.Context, hash common.Hash) (bool, error) {
5959
return debugAPI.isPanicOrSyntheticTx(ctx, hash)
6060
}
6161
}
6262
seiTxAPI := NewSeiTransactionAPI(tmClient, k, ctxProvider, txConfig, homeDir, ConnectionTypeHTTP, isPanicOrSyntheticTxFunc)
63-
seiDebugAPI := NewSeiDebugAPI(tmClient, k, ctxProvider, txConfig.TxDecoder(), simulateConfig, app, antehandler, ConnectionTypeHTTP)
63+
seiDebugAPI := NewSeiDebugAPI(tmClient, k, ctxProvider, txConfig, simulateConfig, app, antehandler, ConnectionTypeHTTP)
6464

6565
apis := []rpc.API{
6666
{
@@ -101,7 +101,7 @@ func NewEVMHTTPServer(
101101
},
102102
{
103103
Namespace: "eth",
104-
Service: NewSimulationAPI(ctxProvider, k, txConfig.TxDecoder(), tmClient, simulateConfig, app, antehandler, ConnectionTypeHTTP),
104+
Service: NewSimulationAPI(ctxProvider, k, txConfig, tmClient, simulateConfig, app, antehandler, ConnectionTypeHTTP),
105105
},
106106
{
107107
Namespace: "net",
@@ -204,7 +204,7 @@ func NewEVMWebSocketServer(
204204
},
205205
{
206206
Namespace: "eth",
207-
Service: NewSimulationAPI(ctxProvider, k, txConfig.TxDecoder(), tmClient, simulateConfig, app, antehandler, ConnectionTypeWS),
207+
Service: NewSimulationAPI(ctxProvider, k, txConfig, tmClient, simulateConfig, app, antehandler, ConnectionTypeWS),
208208
},
209209
{
210210
Namespace: "net",

evmrpc/setup_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ func init() {
553553
if err != nil {
554554
panic(err)
555555
}
556-
HttpServer, err := evmrpc.NewEVMHTTPServer(infoLog, goodConfig, &MockClient{}, EVMKeeper, testApp.BaseApp, testApp.AnteHandler, ctxProvider, TxConfig, "", isPanicTxFunc)
556+
HttpServer, err := evmrpc.NewEVMHTTPServer(infoLog, goodConfig, &MockClient{}, EVMKeeper, testApp.BaseApp, testApp.TracerAnteHandler, ctxProvider, TxConfig, "", isPanicTxFunc)
557557
if err != nil {
558558
panic(err)
559559
}
@@ -565,7 +565,7 @@ func init() {
565565
badConfig := evmrpc.DefaultConfig
566566
badConfig.HTTPPort = TestBadPort
567567
badConfig.FilterTimeout = 500 * time.Millisecond
568-
badHTTPServer, err := evmrpc.NewEVMHTTPServer(infoLog, badConfig, &MockBadClient{}, EVMKeeper, testApp.BaseApp, testApp.AnteHandler, ctxProvider, TxConfig, "", nil)
568+
badHTTPServer, err := evmrpc.NewEVMHTTPServer(infoLog, badConfig, &MockBadClient{}, EVMKeeper, testApp.BaseApp, testApp.TracerAnteHandler, ctxProvider, TxConfig, "", nil)
569569
if err != nil {
570570
panic(err)
571571
}
@@ -574,7 +574,7 @@ func init() {
574574
}
575575

576576
// Start ws server
577-
wsServer, err := evmrpc.NewEVMWebSocketServer(infoLog, goodConfig, &MockClient{}, EVMKeeper, testApp.BaseApp, testApp.AnteHandler, ctxProvider, TxConfig, "")
577+
wsServer, err := evmrpc.NewEVMWebSocketServer(infoLog, goodConfig, &MockClient{}, EVMKeeper, testApp.BaseApp, testApp.TracerAnteHandler, ctxProvider, TxConfig, "")
578578
if err != nil {
579579
panic(err)
580580
}

0 commit comments

Comments
 (0)