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 }