Reload config (#315)

This commit is contained in:
KirillPamPam
2023-10-06 14:04:08 +04:00
committed by GitHub
parent 582896c44d
commit 4d377f806d
20 changed files with 595 additions and 84 deletions

View File

@@ -16,12 +16,23 @@ class ChainOptions {
val validateChain: Boolean,
)
open class DefaultOptions : PartialOptions() {
var chains: List<String>? = null
data class DefaultOptions(
var chains: List<String>? = null,
var options: PartialOptions? = null
}
)
open class PartialOptions {
data class PartialOptions(
var disableValidation: Boolean? = null,
var disableUpstreamValidation: Boolean? = null,
var validationInterval: Int? = null,
var timeout: Duration? = null,
var providesBalance: Boolean? = null,
var validatePeers: Boolean? = null,
var validateCalllimit: Boolean? = null,
var minPeers: Int? = null,
var validateSyncing: Boolean? = null,
var validateChain: Boolean? = null
) {
companion object {
@JvmStatic
fun getDefaults(): PartialOptions {
@@ -31,29 +42,6 @@ class ChainOptions {
}
}
var disableValidation: Boolean? = null
var disableUpstreamValidation: Boolean? = null
var validationInterval: Int? = null
set(value) {
require(value == null || value > 0) {
"validation-interval must be a positive number: $value"
}
field = value
}
var timeout: Duration? = null
var providesBalance: Boolean? = null
var validatePeers: Boolean? = null
var validateCalllimit: Boolean? = null
var minPeers: Int? = null
set(value) {
require(value == null || value >= 0) {
"min-peers must be a positive number: $value"
}
field = value
}
var validateSyncing: Boolean? = null
var validateChain: Boolean? = null
fun merge(overwrites: PartialOptions?): PartialOptions {
if (overwrites == null) {
return this