Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

En 12318 gascost txs frozen #4159

Merged
merged 8 commits into from
Jun 21, 2022
30 changes: 30 additions & 0 deletions api/groups/networkGroup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,36 @@ func TestNetworkConfigMetrics_ShouldWork(t *testing.T) {
assert.True(t, keyAndValueFoundInResponse)
}

func TestNetworkConfigMetrics_GasLimitGuardedTxShouldWork(t *testing.T) {
t.Parallel()

statusMetricsProvider := statusHandler.NewStatusMetrics()
key := common.MetricExtraGasLimitGuardedTx
value := uint64(37)
statusMetricsProvider.SetUInt64Value(key, value)

facade := mock.FacadeStub{}
facade.StatusMetricsHandler = func() external.StatusMetricsHandler {
return statusMetricsProvider
}

networkGroup, err := groups.NewNetworkGroup(&facade)
require.NoError(t, err)

ws := startWebServer(networkGroup, "network", getNetworkRoutesConfig())

req, _ := http.NewRequest("GET", "/network/config", nil)
resp := httptest.NewRecorder()
ws.ServeHTTP(resp, req)

respBytes, _ := ioutil.ReadAll(resp.Body)
respStr := string(respBytes)
assert.Equal(t, resp.Code, http.StatusOK)

keyAndValueFoundInResponse := strings.Contains(respStr, key) && strings.Contains(respStr, fmt.Sprintf("%d", value))
assert.True(t, keyAndValueFoundInResponse)
}

func TestNetworkStatusMetrics_ShouldWork(t *testing.T) {
t.Parallel()

Expand Down
1 change: 1 addition & 0 deletions cmd/node/config/economics.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,4 @@
GasPriceModifier = 0.01
GasPerDataByte = "1500"
DataLimitForBaseCalc = "10000"
ExtraGasLimitGuardedTx = "50000"
3 changes: 3 additions & 0 deletions common/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,9 @@ const MetricMinGasPrice = "erd_min_gas_price"
// MetricMinGasLimit is the metric that specifies the minimum gas limit
const MetricMinGasLimit = "erd_min_gas_limit"

// MetricExtraGasLimitGuardedTx specifies the extra gas limit required for guarded transactions
const MetricExtraGasLimitGuardedTx = "erd_extra_gas_limit_guarded_tx"

// MetricRewardsTopUpGradientPoint is the metric that specifies the rewards top up gradient point
const MetricRewardsTopUpGradientPoint = "erd_rewards_top_up_gradient_point"

Expand Down
9 changes: 5 additions & 4 deletions config/economicsConfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ type GasLimitSetting struct {

// FeeSettings will hold economics fee settings
type FeeSettings struct {
GasLimitSettings []GasLimitSetting
GasPerDataByte string
MinGasPrice string
GasPriceModifier float64
GasLimitSettings []GasLimitSetting
GasPerDataByte string
MinGasPrice string
GasPriceModifier float64
ExtraGasLimitGuardedTx string
}

// EconomicsConfig will hold economics config
Expand Down
5 changes: 4 additions & 1 deletion config/tomlConfig_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ func TestTomlEconomicsParser(t *testing.T) {
maxGasLimitPerBlock := "18446744073709551615"
minGasPrice := "18446744073709551615"
minGasLimit := "18446744073709551615"
extraGasLimitGuardedTx := "50000"
protocolSustainabilityAddress := "erd1932eft30w753xyvme8d49qejgkjc09n5e49w4mwdjtm0neld797su0dlxp"
denomination := 18

Expand Down Expand Up @@ -256,7 +257,8 @@ func TestTomlEconomicsParser(t *testing.T) {
MinGasLimit: minGasLimit,
},
},
MinGasPrice: minGasPrice,
MinGasPrice: minGasPrice,
ExtraGasLimitGuardedTx: extraGasLimitGuardedTx,
},
}

Expand All @@ -281,6 +283,7 @@ func TestTomlEconomicsParser(t *testing.T) {
[FeeSettings]
GasLimitSettings = [{EnableEpoch = 0, MaxGasLimitPerBlock = "` + maxGasLimitPerBlock + `", MaxGasLimitPerMiniBlock = "", MaxGasLimitPerMetaBlock = "", MaxGasLimitPerMetaMiniBlock = "", MaxGasLimitPerTx = "", MinGasLimit = "` + minGasLimit + `"}]
MinGasPrice = "` + minGasPrice + `"
ExtraGasLimitGuardedTx = "` + extraGasLimitGuardedTx + `"
`
cfg := EconomicsConfig{}

Expand Down
8 changes: 5 additions & 3 deletions epochStart/metachain/systemSCs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1066,14 +1066,16 @@ func createEconomicsData() process.EconomicsDataHandler {
MinGasLimit: minGasLimit,
},
},
MinGasPrice: minGasPrice,
GasPerDataByte: "1",
GasPriceModifier: 1.0,
MinGasPrice: minGasPrice,
GasPerDataByte: "1",
GasPriceModifier: 1.0,
ExtraGasLimitGuardedTx: "50000",
},
},
PenalizedTooMuchGasEnableEpoch: 0,
EpochNotifier: &epochNotifier.EpochNotifierStub{},
BuiltInFunctionsCostHandler: &mock.BuiltInCostHandlerStub{},
TxVersionChecker: &testscommon.TxVersionCheckerStub{},
}
economicsData, _ := economicsHandler.NewEconomicsData(argsNewEconomicsData)
return economicsData
Expand Down
266 changes: 0 additions & 266 deletions epochStart/mock/economicsHandlerStub.go

This file was deleted.

Loading