Return limit zksync (#459)

* validateCallLimit with limit param

* add call-validate-contract to zksync

* update reader

* fix error message

* rm disable-validation for testnets/sepolia

* fix tests

* split CallLimitValidator implementations for zksync and other eth

* add callLimitBlockNumber param

* mv callLimitBlockNumber to options

* upd docs

* rm callLimitBlockNumber options param and hardcode it
add zskync call limit validator check for debug_traceBlockByNumber is available

* zksync limit check only for mainnet
This commit is contained in:
Anton
2024-04-25 14:10:13 +03:00
committed by GitHub
parent ba4c849aea
commit 8fc98082c6
7 changed files with 157 additions and 93 deletions

View File

@@ -14,11 +14,12 @@ class ChainOptions {
val validateSyncing: Boolean,
val validateCallLimit: Boolean,
val validateChain: Boolean,
val callLimitSize: Int,
)
data class DefaultOptions(
var chains: List<String>? = null,
var options: PartialOptions? = null
var options: PartialOptions? = null,
)
data class PartialOptions(
@@ -28,10 +29,11 @@ class ChainOptions {
var timeout: Duration? = null,
var providesBalance: Boolean? = null,
var validatePeers: Boolean? = null,
var validateCalllimit: Boolean? = null,
var validateCallLimit: Boolean? = null,
var minPeers: Int? = null,
var validateSyncing: Boolean? = null,
var validateChain: Boolean? = null
var validateChain: Boolean? = null,
var callLimitSize: Int? = null,
) {
companion object {
@JvmStatic
@@ -53,11 +55,12 @@ class ChainOptions {
copy.validationInterval = overwrites.validationInterval ?: this.validationInterval
copy.providesBalance = overwrites.providesBalance ?: this.providesBalance
copy.validateSyncing = overwrites.validateSyncing ?: this.validateSyncing
copy.validateCalllimit = overwrites.validateCalllimit ?: this.validateCalllimit
copy.validateCallLimit = overwrites.validateCallLimit ?: this.validateCallLimit
copy.timeout = overwrites.timeout ?: this.timeout
copy.validateChain = overwrites.validateChain ?: this.validateChain
copy.disableUpstreamValidation =
overwrites.disableUpstreamValidation ?: this.disableUpstreamValidation
copy.callLimitSize = overwrites.callLimitSize ?: this.callLimitSize
return copy
}
@@ -71,8 +74,9 @@ class ChainOptions {
this.validatePeers ?: true,
this.minPeers ?: 1,
this.validateSyncing ?: true,
this.validateCalllimit ?: true,
this.validateCallLimit ?: true,
this.validateChain ?: true,
this.callLimitSize ?: 1_000_000,
)
}
}

View File

@@ -23,7 +23,7 @@ class ChainOptionsReader : YamlConfigReader<ChainOptions.PartialOptions>() {
options.validateSyncing = it
}
getValueAsBool(values, "validate-call-limit")?.let {
options.validateCalllimit = it
options.validateCallLimit = it
}
getValueAsBool(values, "validate-chain")?.let {
options.validateChain = it
@@ -43,6 +43,9 @@ class ChainOptionsReader : YamlConfigReader<ChainOptions.PartialOptions>() {
getValueAsBool(values, "balance")?.let {
options.providesBalance = it
}
getValueAsInt(values, "call-limit-size")?.let {
options.callLimitSize = it
}
return options
}
}

View File

@@ -273,8 +273,6 @@ chain-settings:
type: eth
settings:
expected-block-time: 5s
options:
disable-validation: true
lags:
syncing: 40
lagging: 20