refactor(core/gas): remove WithXXGasMeter from gas service (#20072)
This commit is contained in:
+23
-31
@@ -18,22 +18,37 @@ func (g GasService) GasMeter(ctx context.Context) gas.Meter {
|
||||
return CoreGasmeter{gm: sdk.UnwrapSDKContext(ctx).GasMeter()}
|
||||
}
|
||||
|
||||
func (g GasService) WithGasMeter(ctx context.Context, meter gas.Meter) context.Context {
|
||||
return sdk.UnwrapSDKContext(ctx).WithGasMeter(SDKGasMeter{gm: meter})
|
||||
}
|
||||
|
||||
func (g GasService) BlockGasMeter(ctx context.Context) gas.Meter {
|
||||
return CoreGasmeter{gm: sdk.UnwrapSDKContext(ctx).BlockGasMeter()}
|
||||
}
|
||||
|
||||
func (g GasService) WithBlockGasMeter(ctx context.Context, meter gas.Meter) context.Context {
|
||||
return sdk.UnwrapSDKContext(ctx).WithGasMeter(SDKGasMeter{gm: meter})
|
||||
}
|
||||
|
||||
func (g GasService) GasConfig(ctx context.Context) gas.GasConfig {
|
||||
return gas.GasConfig(sdk.UnwrapSDKContext(ctx).KVGasConfig())
|
||||
}
|
||||
|
||||
// CoreGasmeter is a wrapper around the SDK's GasMeter that implements the GasMeter interface.
|
||||
type CoreGasmeter struct {
|
||||
gm storetypes.GasMeter
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Consume(amount gas.Gas, descriptor string) error {
|
||||
cgm.gm.ConsumeGas(amount, descriptor)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Refund(amount gas.Gas, descriptor string) error {
|
||||
cgm.gm.RefundGas(amount, descriptor)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Remaining() gas.Gas {
|
||||
return cgm.gm.GasRemaining()
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Limit() gas.Gas {
|
||||
return cgm.gm.Limit()
|
||||
}
|
||||
|
||||
// SDKGasMeter is a wrapper around the SDK's GasMeter that implements the GasMeter interface.
|
||||
type SDKGasMeter struct {
|
||||
gm gas.Meter
|
||||
@@ -82,29 +97,6 @@ func (gm SDKGasMeter) String() string {
|
||||
return fmt.Sprintf("BasicGasMeter:\n limit: %d\n consumed: %d", gm.gm.Limit(), gm.gm.Remaining())
|
||||
}
|
||||
|
||||
// CoreGasmeter is a wrapper around the SDK's GasMeter that implements the GasMeter interface.
|
||||
type CoreGasmeter struct {
|
||||
gm storetypes.GasMeter
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Consume(amount gas.Gas, descriptor string) error {
|
||||
cgm.gm.ConsumeGas(amount, descriptor)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Refund(amount gas.Gas, descriptor string) error {
|
||||
cgm.gm.RefundGas(amount, descriptor)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Remaining() gas.Gas {
|
||||
return cgm.gm.GasRemaining()
|
||||
}
|
||||
|
||||
func (cgm CoreGasmeter) Limit() gas.Gas {
|
||||
return cgm.gm.Limit()
|
||||
}
|
||||
|
||||
type GasConfig struct {
|
||||
gc gas.GasConfig
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user