github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/baseapp/options.go (about)

     1  package baseapp
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/store"
     8  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     9  	"github.com/fibonacci-chain/fbc/libs/tendermint/rpc/client"
    10  	dbm "github.com/fibonacci-chain/fbc/libs/tm-db"
    11  )
    12  
    13  // File for storing in-package BaseApp optional functions,
    14  // for options that need access to non-exported fields of the BaseApp
    15  
    16  // SetPruning sets a pruning option on the multistore associated with the app
    17  func SetPruning(opts sdk.PruningOptions) func(*BaseApp) {
    18  	return func(bap *BaseApp) { bap.cms.SetPruning(opts) }
    19  }
    20  
    21  // SetMinGasPrices returns an option that sets the minimum gas prices on the app.
    22  func SetMinGasPrices(gasPricesStr string) func(*BaseApp) {
    23  	gasPrices, err := sdk.ParseDecCoins(gasPricesStr)
    24  	if err != nil {
    25  		panic(fmt.Sprintf("invalid minimum gas prices: %v", err))
    26  	}
    27  
    28  	return func(bap *BaseApp) { bap.setMinGasPrices(gasPrices) }
    29  }
    30  
    31  // SetHaltHeight returns a BaseApp option function that sets the halt block height.
    32  func SetHaltHeight(blockHeight uint64) func(*BaseApp) {
    33  	return func(bap *BaseApp) { bap.setHaltHeight(blockHeight) }
    34  }
    35  
    36  // SetHaltTime returns a BaseApp option function that sets the halt block time.
    37  func SetHaltTime(haltTime uint64) func(*BaseApp) {
    38  	return func(bap *BaseApp) { bap.setHaltTime(haltTime) }
    39  }
    40  
    41  // SetInterBlockCache provides a BaseApp option function that sets the
    42  // inter-block cache.
    43  func SetInterBlockCache(cache sdk.MultiStorePersistentCache) func(*BaseApp) {
    44  	return func(app *BaseApp) { app.setInterBlockCache(cache) }
    45  }
    46  
    47  // SetTrace will turn on or off trace flag
    48  func SetTrace(trace bool) func(*BaseApp) {
    49  	return func(app *BaseApp) { app.setTrace(trace) }
    50  }
    51  
    52  func (app *BaseApp) SetName(name string) {
    53  	if app.sealed {
    54  		panic("SetName() on sealed BaseApp")
    55  	}
    56  	app.name = name
    57  }
    58  
    59  // SetAppVersion sets the application's version string.
    60  func (app *BaseApp) SetAppVersion(v string) {
    61  	if app.sealed {
    62  		panic("SetAppVersion() on sealed BaseApp")
    63  	}
    64  	app.appVersion = v
    65  }
    66  
    67  func (app *BaseApp) SetDB(db dbm.DB) {
    68  	if app.sealed {
    69  		panic("SetDB() on sealed BaseApp")
    70  	}
    71  	app.db = db
    72  }
    73  
    74  func (app *BaseApp) SetCMS(cms store.CommitMultiStore) {
    75  	if app.sealed {
    76  		panic("SetEndBlocker() on sealed BaseApp")
    77  	}
    78  	app.cms = cms
    79  }
    80  
    81  func (app *BaseApp) SetInitChainer(initChainer sdk.InitChainer) {
    82  	if app.sealed {
    83  		panic("SetInitChainer() on sealed BaseApp")
    84  	}
    85  	app.initChainer = initChainer
    86  }
    87  
    88  func (app *BaseApp) SetBeginBlocker(beginBlocker sdk.BeginBlocker) {
    89  	if app.sealed {
    90  		panic("SetBeginBlocker() on sealed BaseApp")
    91  	}
    92  	app.beginBlocker = beginBlocker
    93  }
    94  
    95  func (app *BaseApp) SetEndBlocker(endBlocker sdk.EndBlocker) {
    96  	if app.sealed {
    97  		panic("SetEndBlocker() on sealed BaseApp")
    98  	}
    99  	app.endBlocker = endBlocker
   100  }
   101  
   102  func (app *BaseApp) SetAnteHandler(ah sdk.AnteHandler) {
   103  	if app.sealed {
   104  		panic("SetAnteHandler() on sealed BaseApp")
   105  	}
   106  	app.anteHandler = ah
   107  }
   108  
   109  func (app *BaseApp) SetGasRefundHandler(gh sdk.GasRefundHandler) {
   110  	if app.sealed {
   111  		panic("SetGasHandler() on sealed BaseApp")
   112  	}
   113  	app.GasRefundHandler = gh
   114  }
   115  
   116  func (app *BaseApp) SetAccNonceHandler(anh sdk.AccNonceHandler) {
   117  	if app.sealed {
   118  		panic("SetAccNonceHandler() on sealed BaseApp")
   119  	}
   120  	app.accNonceHandler = anh
   121  }
   122  
   123  func (app *BaseApp) SetAddrPeerFilter(pf sdk.PeerFilter) {
   124  	if app.sealed {
   125  		panic("SetAddrPeerFilter() on sealed BaseApp")
   126  	}
   127  	app.addrPeerFilter = pf
   128  }
   129  
   130  func (app *BaseApp) SetIDPeerFilter(pf sdk.PeerFilter) {
   131  	if app.sealed {
   132  		panic("SetIDPeerFilter() on sealed BaseApp")
   133  	}
   134  	app.idPeerFilter = pf
   135  }
   136  
   137  func (app *BaseApp) SetFauxMerkleMode() {
   138  	if app.sealed {
   139  		panic("SetFauxMerkleMode() on sealed BaseApp")
   140  	}
   141  	app.fauxMerkleMode = true
   142  }
   143  
   144  // SetCommitMultiStoreTracer sets the store tracer on the BaseApp's underlying
   145  // CommitMultiStore.
   146  func (app *BaseApp) SetCommitMultiStoreTracer(w io.Writer) {
   147  	app.cms.SetTracer(w)
   148  }
   149  
   150  // SetStoreLoader allows us to customize the rootMultiStore initialization.
   151  func (app *BaseApp) SetStoreLoader(loader StoreLoader) {
   152  	if app.sealed {
   153  		panic("SetStoreLoader() on sealed BaseApp")
   154  	}
   155  	app.storeLoader = loader
   156  }
   157  
   158  // SetRouter allows us to customize the router.
   159  func (app *BaseApp) SetRouter(router sdk.Router) {
   160  	if app.sealed {
   161  		panic("SetRouter() on sealed BaseApp")
   162  	}
   163  	app.router = router
   164  }
   165  
   166  func (app *BaseApp) SetUpdateFeeCollectorAccHandler(handler sdk.UpdateFeeCollectorAccHandler) {
   167  	if app.sealed {
   168  		panic("SetUpdateFeeCollectorAccHandler() on sealed BaseApp")
   169  	}
   170  	app.updateFeeCollectorAccHandler = handler
   171  }
   172  
   173  func (app *BaseApp) SetParallelTxLogHandlers(fixLog sdk.LogFix) {
   174  	if app.sealed {
   175  		panic("SetPallTxLogHandler() on sealed BaseApp")
   176  	}
   177  	app.logFix = fixLog
   178  }
   179  
   180  func (app *BaseApp) SetEvmWatcherCollector(collector sdk.EvmWatcherCollector) {
   181  	if app.sealed {
   182  		panic("SetEvmWatcherCollector() on sealed BaseApp")
   183  	}
   184  	app.watcherCollector = collector
   185  }
   186  
   187  func (app *BaseApp) AddCustomizeModuleOnStopLogic(cs sdk.CustomizeOnStop) {
   188  	if app.sealed {
   189  		panic("AddCustomizeModuleOnStopLogic() on sealed BaseApp")
   190  	}
   191  	app.customizeModuleOnStop = append(app.customizeModuleOnStop, cs)
   192  }
   193  
   194  func (app *BaseApp) SetMptCommitHandler(mch sdk.MptCommitHandler) {
   195  	if app.sealed {
   196  		panic("SetMptCommitHandler() on sealed BaseApp")
   197  	}
   198  	app.mptCommitHandler = mch
   199  }
   200  
   201  func (app *BaseApp) SetPreDeliverTxHandler(handler sdk.PreDeliverTxHandler) {
   202  	if app.sealed {
   203  		panic("SetPreDeliverTxHandler() on sealed BaseApp")
   204  	}
   205  	app.preDeliverTxHandler = handler
   206  }
   207  
   208  func (app *BaseApp) SetPartialConcurrentHandlers(etf sdk.GetTxFeeAndFromHandler) {
   209  	if app.sealed {
   210  		panic("SetPartialConcurrentHandlers() on sealed BaseApp")
   211  	}
   212  	app.getTxFeeAndFromHandler = etf
   213  }
   214  
   215  func (app *BaseApp) SetGetTxFeeHandler(handler sdk.GetTxFeeHandler) {
   216  	if app.sealed {
   217  		panic("SetGetTxFeeHandler() on sealed BaseApp")
   218  	}
   219  	app.getTxFeeHandler = handler
   220  }
   221  
   222  func (app *BaseApp) SetTmClient(client client.Client) {
   223  	app.tmClient = client
   224  }