Struct near_parameters::config_store::RuntimeConfigStore
source · pub struct RuntimeConfigStore { /* private fields */ }
Expand description
Stores runtime config for each protocol version where it was updated.
Implementations§
source§impl RuntimeConfigStore
impl RuntimeConfigStore
sourcepub fn new(genesis_runtime_config: Option<&RuntimeConfig>) -> Self
pub fn new(genesis_runtime_config: Option<&RuntimeConfig>) -> Self
Constructs a new store.
If genesis_runtime_config is Some, configs for protocol versions 0 and 42 are overridden by this config and config with lowered storage cost, respectively. This is done to preserve compatibility with previous implementation, where we updated runtime config by sequential modifications to the genesis runtime config. calimero_zero_storage flag sets all storages fees to zero by setting storage_amount_per_byte to zero, to keep calimero private shards compatible with future protocol upgrades this is done for all protocol versions TODO #4775: introduce new protocol version to have the same runtime config for all chains
sourcepub fn for_chain_id(chain_id: &str) -> Self
pub fn for_chain_id(chain_id: &str) -> Self
Create store of runtime configs for the given chain id.
For mainnet and other chains except testnet we don’t need to override runtime config for first protocol versions. For testnet, runtime config for genesis block was (incorrectly) different, that’s why we need to override it specifically to preserve compatibility.
sourcepub fn with_one_config(runtime_config: RuntimeConfig) -> Self
pub fn with_one_config(runtime_config: RuntimeConfig) -> Self
Constructs test store.
sourcepub fn get_config(
&self,
protocol_version: ProtocolVersion
) -> &Arc<RuntimeConfig>
pub fn get_config( &self, protocol_version: ProtocolVersion ) -> &Arc<RuntimeConfig>
Returns a RuntimeConfig
for the corresponding protocol version.
Trait Implementations§
source§impl Clone for RuntimeConfigStore
impl Clone for RuntimeConfigStore
source§fn clone(&self) -> RuntimeConfigStore
fn clone(&self) -> RuntimeConfigStore
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more