fix(core/gas): Add consumed API for GasMeter (#21443)

This commit is contained in:
son trinh
2024-08-29 15:16:33 +00:00
committed by GitHub
parent 33c463ec27
commit 41a9af76e0
3 changed files with 21 additions and 2 deletions
+1
View File
@@ -38,6 +38,7 @@ type Meter interface {
Consume(amount Gas, descriptor string) error
Refund(amount Gas, descriptor string) error
Remaining() Gas
Consumed() Gas
Limit() Gas
}
+14
View File
@@ -100,6 +100,20 @@ func (mr *MockMeterMockRecorder) Consume(amount, descriptor interface{}) *gomock
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Consume", reflect.TypeOf((*MockMeter)(nil).Consume), amount, descriptor)
}
// Consumed mocks base method.
func (m *MockMeter) Consumed() gas.Gas {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Consumed")
ret0, _ := ret[0].(gas.Gas)
return ret0
}
// Consumed indicates an expected call of Consumed.
func (mr *MockMeterMockRecorder) Consumed() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Consumed", reflect.TypeOf((*MockMeter)(nil).Consumed))
}
// Limit mocks base method.
func (m *MockMeter) Limit() gas.Gas {
m.ctrl.T.Helper()
+6 -2
View File
@@ -36,6 +36,10 @@ func (cgm CoreGasmeter) Consume(amount gas.Gas, descriptor string) error {
return nil
}
func (cgm CoreGasmeter) Consumed() gas.Gas {
return cgm.gm.GasConsumed()
}
func (cgm CoreGasmeter) Refund(amount gas.Gas, descriptor string) error {
cgm.gm.RefundGas(amount, descriptor)
return nil
@@ -55,14 +59,14 @@ type SDKGasMeter struct {
}
func (gm SDKGasMeter) GasConsumed() storetypes.Gas {
return gm.gm.Remaining()
return gm.gm.Consumed()
}
func (gm SDKGasMeter) GasConsumedToLimit() storetypes.Gas {
if gm.IsPastLimit() {
return gm.gm.Limit()
}
return gm.gm.Remaining()
return gm.gm.Consumed()
}
func (gm SDKGasMeter) GasRemaining() storetypes.Gas {