github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/evm/txs/tracetxlog/tracetxlog.go (about)

     1  package tracetxlog
     2  
     3  import (
     4  	"fmt"
     5  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     6  	"github.com/fibonacci-chain/fbc/x/evm/txs/base"
     7  	"github.com/fibonacci-chain/fbc/x/evm/txs/check"
     8  )
     9  
    10  // tx trace tx log depends on check tx
    11  type tx struct {
    12  	*check.Tx
    13  }
    14  
    15  func NewTx(config base.Config) *tx {
    16  	return &tx{
    17  		Tx: check.NewTx(config),
    18  	}
    19  }
    20  
    21  // DecorateResult trace log tx need modify the result to log, and swallow error
    22  func (t *tx) DecorateResult(inResult *base.Result, inErr error) (result *sdk.Result, err error) {
    23  	if inResult == nil || inResult.ExecResult == nil || inResult.ExecResult.Result == nil {
    24  		return nil, fmt.Errorf("result is nil")
    25  	}
    26  	inResult.ExecResult.Result.Data = inResult.ExecResult.TraceLogs
    27  
    28  	return inResult.ExecResult.Result, nil
    29  }