Remove txGasLimit, update tests
This commit is contained in:
parent
03e220700e
commit
3d5b048444
|
@ -49,7 +49,6 @@ type BaseApp struct {
|
|||
// must be set
|
||||
txDecoder sdk.TxDecoder // unmarshal []byte into sdk.Tx
|
||||
anteHandler sdk.AnteHandler // ante handler for fee and auth
|
||||
txGasLimit sdk.Gas // per-transaction gas limit
|
||||
|
||||
// may be nil
|
||||
initChainer sdk.InitChainer // initialize state with validators and state blob
|
||||
|
@ -74,7 +73,7 @@ var _ abci.Application = (*BaseApp)(nil)
|
|||
|
||||
// Create and name new BaseApp
|
||||
// NOTE: The db is used to store the version number for now.
|
||||
func NewBaseApp(name string, cdc *wire.Codec, logger log.Logger, db dbm.DB, txGasLimit sdk.Gas) *BaseApp {
|
||||
func NewBaseApp(name string, cdc *wire.Codec, logger log.Logger, db dbm.DB) *BaseApp {
|
||||
app := &BaseApp{
|
||||
Logger: logger,
|
||||
name: name,
|
||||
|
@ -84,7 +83,6 @@ func NewBaseApp(name string, cdc *wire.Codec, logger log.Logger, db dbm.DB, txGa
|
|||
router: NewRouter(),
|
||||
codespacer: sdk.NewCodespacer(),
|
||||
txDecoder: defaultTxDecoder(cdc),
|
||||
txGasLimit: txGasLimit,
|
||||
}
|
||||
// Register the undefined & root codespaces, which should not be used by any modules
|
||||
app.codespacer.RegisterOrPanic(sdk.CodespaceUndefined)
|
||||
|
@ -235,9 +233,9 @@ func (app *BaseApp) initFromStore(mainKey sdk.StoreKey) error {
|
|||
// NewContext returns a new Context with the correct store, the given header, and nil txBytes.
|
||||
func (app *BaseApp) NewContext(isCheckTx bool, header abci.Header) sdk.Context {
|
||||
if isCheckTx {
|
||||
return sdk.NewContext(app.checkState.ms, header, true, nil, app.Logger, app.txGasLimit)
|
||||
return sdk.NewContext(app.checkState.ms, header, true, nil, app.Logger, 0)
|
||||
}
|
||||
return sdk.NewContext(app.deliverState.ms, header, false, nil, app.Logger, app.txGasLimit)
|
||||
return sdk.NewContext(app.deliverState.ms, header, false, nil, app.Logger, 0)
|
||||
}
|
||||
|
||||
type state struct {
|
||||
|
@ -253,7 +251,7 @@ func (app *BaseApp) setCheckState(header abci.Header) {
|
|||
ms := app.cms.CacheMultiStore()
|
||||
app.checkState = &state{
|
||||
ms: ms,
|
||||
ctx: sdk.NewContext(ms, header, true, nil, app.Logger, app.txGasLimit),
|
||||
ctx: sdk.NewContext(ms, header, true, nil, app.Logger, 0),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -261,7 +259,7 @@ func (app *BaseApp) setDeliverState(header abci.Header) {
|
|||
ms := app.cms.CacheMultiStore()
|
||||
app.deliverState = &state{
|
||||
ms: ms,
|
||||
ctx: sdk.NewContext(ms, header, false, nil, app.Logger, app.txGasLimit),
|
||||
ctx: sdk.NewContext(ms, header, false, nil, app.Logger, 0),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ func newBaseApp(name string) *BaseApp {
|
|||
db := dbm.NewMemDB()
|
||||
codec := wire.NewCodec()
|
||||
wire.RegisterCrypto(codec)
|
||||
return NewBaseApp(name, codec, logger, db, 10000)
|
||||
return NewBaseApp(name, codec, logger, db)
|
||||
}
|
||||
|
||||
func TestMountStores(t *testing.T) {
|
||||
|
@ -63,7 +63,7 @@ func TestLoadVersion(t *testing.T) {
|
|||
logger := defaultLogger()
|
||||
db := dbm.NewMemDB()
|
||||
name := t.Name()
|
||||
app := NewBaseApp(name, nil, logger, db, 10000)
|
||||
app := NewBaseApp(name, nil, logger, db)
|
||||
|
||||
// make a cap key and mount the store
|
||||
capKey := sdk.NewKVStoreKey("main")
|
||||
|
@ -85,7 +85,7 @@ func TestLoadVersion(t *testing.T) {
|
|||
commitID := sdk.CommitID{1, res.Data}
|
||||
|
||||
// reload
|
||||
app = NewBaseApp(name, nil, logger, db, 10000)
|
||||
app = NewBaseApp(name, nil, logger, db)
|
||||
app.MountStoresIAVL(capKey)
|
||||
err = app.LoadLatestVersion(capKey) // needed to make stores non-nil
|
||||
assert.Nil(t, err)
|
||||
|
@ -151,7 +151,7 @@ func TestInitChainer(t *testing.T) {
|
|||
name := t.Name()
|
||||
db := dbm.NewMemDB()
|
||||
logger := defaultLogger()
|
||||
app := NewBaseApp(name, nil, logger, db, 10000)
|
||||
app := NewBaseApp(name, nil, logger, db)
|
||||
// make cap keys and mount the stores
|
||||
// NOTE/TODO: mounting multiple stores is broken
|
||||
// see https://github.com/cosmos/cosmos-sdk/issues/532
|
||||
|
@ -188,7 +188,7 @@ func TestInitChainer(t *testing.T) {
|
|||
assert.Equal(t, value, res.Value)
|
||||
|
||||
// reload app
|
||||
app = NewBaseApp(name, nil, logger, db, 10000)
|
||||
app = NewBaseApp(name, nil, logger, db)
|
||||
app.MountStoresIAVL(capKey, capKey2)
|
||||
err = app.LoadLatestVersion(capKey) // needed to make stores non-nil
|
||||
assert.Nil(t, err)
|
||||
|
@ -328,7 +328,7 @@ func TestSimulateTx(t *testing.T) {
|
|||
func TestTxGasLimits(t *testing.T) {
|
||||
logger := defaultLogger()
|
||||
db := dbm.NewMemDB()
|
||||
app := NewBaseApp(t.Name(), nil, logger, db, 0)
|
||||
app := NewBaseApp(t.Name(), nil, logger, db)
|
||||
|
||||
// make a cap key and mount the store
|
||||
capKey := sdk.NewKVStoreKey("main")
|
||||
|
@ -336,7 +336,10 @@ func TestTxGasLimits(t *testing.T) {
|
|||
err := app.LoadLatestVersion(capKey) // needed to make stores non-nil
|
||||
assert.Nil(t, err)
|
||||
|
||||
app.SetAnteHandler(func(ctx sdk.Context, tx sdk.Tx) (newCtx sdk.Context, res sdk.Result, abort bool) { return })
|
||||
app.SetAnteHandler(func(ctx sdk.Context, tx sdk.Tx) (newCtx sdk.Context, res sdk.Result, abort bool) {
|
||||
newCtx = ctx.WithGasMeter(sdk.NewGasMeter(0))
|
||||
return
|
||||
})
|
||||
app.Router().AddRoute(msgType, func(ctx sdk.Context, msg sdk.Msg) sdk.Result {
|
||||
ctx.GasMeter().ConsumeGas(10, "counter")
|
||||
return sdk.Result{}
|
||||
|
|
|
@ -51,7 +51,7 @@ func NewGaiaApp(logger log.Logger, db dbm.DB) *GaiaApp {
|
|||
|
||||
// create your application object
|
||||
var app = &GaiaApp{
|
||||
BaseApp: bam.NewBaseApp(appName, cdc, logger, db, 1000000),
|
||||
BaseApp: bam.NewBaseApp(appName, cdc, logger, db),
|
||||
cdc: cdc,
|
||||
keyMain: sdk.NewKVStoreKey("main"),
|
||||
keyAccount: sdk.NewKVStoreKey("acc"),
|
||||
|
|
|
@ -48,7 +48,7 @@ func NewBasecoinApp(logger log.Logger, db dbm.DB) *BasecoinApp {
|
|||
|
||||
// Create your application object.
|
||||
var app = &BasecoinApp{
|
||||
BaseApp: bam.NewBaseApp(appName, cdc, logger, db, 1000000),
|
||||
BaseApp: bam.NewBaseApp(appName, cdc, logger, db),
|
||||
cdc: cdc,
|
||||
keyMain: sdk.NewKVStoreKey("main"),
|
||||
keyAccount: sdk.NewKVStoreKey("acc"),
|
||||
|
|
|
@ -56,7 +56,7 @@ func NewDemocoinApp(logger log.Logger, db dbm.DB) *DemocoinApp {
|
|||
|
||||
// Create your application object.
|
||||
var app = &DemocoinApp{
|
||||
BaseApp: bam.NewBaseApp(appName, cdc, logger, db, 1000000),
|
||||
BaseApp: bam.NewBaseApp(appName, cdc, logger, db),
|
||||
cdc: cdc,
|
||||
capKeyMainStore: sdk.NewKVStoreKey("main"),
|
||||
capKeyAccountStore: sdk.NewKVStoreKey("acc"),
|
||||
|
|
|
@ -32,7 +32,7 @@ func main() {
|
|||
var capKeyMainStore = sdk.NewKVStoreKey("main")
|
||||
|
||||
// Create BaseApp.
|
||||
var baseApp = bam.NewBaseApp("kvstore", nil, logger, db, 10000)
|
||||
var baseApp = bam.NewBaseApp("kvstore", nil, logger, db)
|
||||
|
||||
// Set mounts for BaseApp's MultiStore.
|
||||
baseApp.MountStoresIAVL(capKeyMainStore)
|
||||
|
|
|
@ -29,7 +29,7 @@ func NewApp(rootDir string, logger log.Logger) (abci.Application, error) {
|
|||
capKeyMainStore := sdk.NewKVStoreKey("main")
|
||||
|
||||
// Create BaseApp.
|
||||
baseApp := bam.NewBaseApp("kvstore", nil, logger, db, 10000)
|
||||
baseApp := bam.NewBaseApp("kvstore", nil, logger, db)
|
||||
|
||||
// Set mounts for BaseApp's MultiStore.
|
||||
baseApp.MountStoresIAVL(capKeyMainStore)
|
||||
|
|
|
@ -43,7 +43,7 @@ func NewContext(ms MultiStore, header abci.Header, isCheckTx bool, txBytes []byt
|
|||
c = c.WithIsCheckTx(isCheckTx)
|
||||
c = c.WithTxBytes(txBytes)
|
||||
c = c.WithLogger(logger)
|
||||
c = c.WithGasMeter(NewGasMeter(gasLimit))
|
||||
c = c.WithGasMeter(NewInfiniteGasMeter())
|
||||
return c
|
||||
}
|
||||
|
||||
|
|
18
types/gas.go
18
types/gas.go
|
@ -38,3 +38,21 @@ func (g *basicGasMeter) ConsumeGas(amount Gas, descriptor string) {
|
|||
panic(ErrorOutOfGas{descriptor})
|
||||
}
|
||||
}
|
||||
|
||||
type infiniteGasMeter struct {
|
||||
consumed Gas
|
||||
}
|
||||
|
||||
func NewInfiniteGasMeter() GasMeter {
|
||||
return &infiniteGasMeter{
|
||||
consumed: 0,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *infiniteGasMeter) GasConsumed() Gas {
|
||||
return g.consumed
|
||||
}
|
||||
|
||||
func (g *infiniteGasMeter) ConsumeGas(amount Gas, descriptor string) {
|
||||
g.consumed += amount
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue