Check CallLimitValidator only at startup (#479)

* Check CallLimitValidator only at startup checks

* simplify code
This commit is contained in:
Anton
2024-05-20 14:20:32 +03:00
committed by GitHub
parent f6090a40ac
commit 4f36257726
2 changed files with 16 additions and 4 deletions

View File

@@ -34,8 +34,8 @@ abstract class UpstreamValidator(
abstract fun validateUpstreamSettings(): Mono<ValidateUpstreamSettingsResult> abstract fun validateUpstreamSettings(): Mono<ValidateUpstreamSettingsResult>
fun validateUpstreamSettingsOnStartup(): ValidateUpstreamSettingsResult { open fun validateUpstreamSettingsOnStartup(): ValidateUpstreamSettingsResult {
return validateUpstreamSettings().block() ?: ValidateUpstreamSettingsResult.UPSTREAM_FATAL_SETTINGS_ERROR return ValidateUpstreamSettingsResult.UPSTREAM_VALID
} }
companion object { companion object {

View File

@@ -80,13 +80,25 @@ open class EthereumUpstreamValidator @JvmOverloads constructor(
} }
return Mono.zip( return Mono.zip(
validateChain(), validateChain(),
validateCallLimit(),
validateOldBlocks(), validateOldBlocks(),
).map { ).map {
listOf(it.t1, it.t2, it.t3).sorted().last() listOf(it.t1, it.t2).maxOf { it }
} }
} }
override fun validateUpstreamSettingsOnStartup(): ValidateUpstreamSettingsResult {
if (options.disableUpstreamValidation) {
return ValidateUpstreamSettingsResult.UPSTREAM_VALID
}
return Mono.zip(
validateChain(),
validateOldBlocks(),
validateCallLimit(),
).map {
listOf(it.t1, it.t2, it.t3).maxOf { it }
}.block() ?: ValidateUpstreamSettingsResult.UPSTREAM_SETTINGS_ERROR
}
private fun validateChain(): Mono<ValidateUpstreamSettingsResult> { private fun validateChain(): Mono<ValidateUpstreamSettingsResult> {
if (!options.validateChain) { if (!options.validateChain) {
return Mono.just(ValidateUpstreamSettingsResult.UPSTREAM_VALID) return Mono.just(ValidateUpstreamSettingsResult.UPSTREAM_VALID)