rm ZkSyncCallLimitValidator (#584)
* rm ZkSyncCallLimitValidator * Revert "rm ZkSyncCallLimitValidator" This reverts commit 08ebf2cb97fb691cdb93591518169adc0c5689b7. * rm ZkSyncCallLimitValidator
This commit is contained in:
Submodule foundation/src/main/resources/public updated: 41bf2959d0...522e263ab9
@@ -153,19 +153,17 @@ object EthereumChainSpecific : AbstractPollChainSpecific() {
|
|||||||
options: Options,
|
options: Options,
|
||||||
config: ChainConfig,
|
config: ChainConfig,
|
||||||
): List<SingleValidator<ValidateUpstreamSettingsResult>> {
|
): List<SingleValidator<ValidateUpstreamSettingsResult>> {
|
||||||
val limitValidator = callLimitValidatorFactory(upstream, options, config, chain)
|
|
||||||
|
|
||||||
val validators = mutableListOf(
|
val validators = mutableListOf(
|
||||||
ChainIdValidator(upstream, chain),
|
ChainIdValidator(upstream, chain),
|
||||||
OldBlockValidator(upstream),
|
OldBlockValidator(upstream),
|
||||||
)
|
)
|
||||||
|
val limitValidator = EthCallLimitValidator(upstream, options, config)
|
||||||
if (limitValidator.isEnabled()) {
|
if (limitValidator.isEnabled()) {
|
||||||
validators.add(limitValidator)
|
validators.add(limitValidator)
|
||||||
}
|
}
|
||||||
if (options.validateGasPrice) {
|
if (options.validateGasPrice) {
|
||||||
validators.add(GasPriceValidator(upstream, config))
|
validators.add(GasPriceValidator(upstream, config))
|
||||||
}
|
}
|
||||||
|
|
||||||
return validators
|
return validators
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,37 +113,6 @@ class EthCallLimitValidator(
|
|||||||
err.message != null && err.message!!.contains("rpc.returndata.limit")
|
err.message != null && err.message!!.contains("rpc.returndata.limit")
|
||||||
}
|
}
|
||||||
|
|
||||||
class ZkSyncCallLimitValidator(
|
|
||||||
private val upstream: Upstream,
|
|
||||||
private val options: ChainOptions.Options,
|
|
||||||
) : AbstractCallLimitValidator(upstream, options) {
|
|
||||||
private val method = "debug_traceBlockByNumber"
|
|
||||||
|
|
||||||
override fun isEnabled() =
|
|
||||||
options.validateCallLimit && upstream.getMethods().getSupportedMethods().contains(method)
|
|
||||||
|
|
||||||
override fun createRequest() = ChainRequest(
|
|
||||||
method,
|
|
||||||
ListParams("0x1b73b2b", mapOf("tracer" to "callTracer")),
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun isLimitError(err: Throwable): Boolean =
|
|
||||||
err.message != null && err.message!!.contains("response size should not greater than")
|
|
||||||
}
|
|
||||||
|
|
||||||
fun callLimitValidatorFactory(
|
|
||||||
upstream: Upstream,
|
|
||||||
options: ChainOptions.Options,
|
|
||||||
config: ChainConfig,
|
|
||||||
chain: Chain,
|
|
||||||
): CallLimitValidator {
|
|
||||||
return if (listOf(Chain.ZKSYNC__MAINNET).contains(chain)) {
|
|
||||||
ZkSyncCallLimitValidator(upstream, options)
|
|
||||||
} else {
|
|
||||||
EthCallLimitValidator(upstream, options, config)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class ChainIdValidator(
|
class ChainIdValidator(
|
||||||
private val upstream: Upstream,
|
private val upstream: Upstream,
|
||||||
private val chain: Chain,
|
private val chain: Chain,
|
||||||
|
|||||||
Reference in New Issue
Block a user