crates/sui-framework/docs/sui_system/validator_wrapper.md
ValidatorWrappercreate_v1load_validator_maybe_upgradedestroyupgrade_to_latestversion<a name="sui_system_validator_wrapper_ValidatorWrapper"></a>
ValidatorWrapper<a name="@Constants_0"></a>
<a name="sui_system_validator_wrapper_EInvalidVersion"></a>
<pre><code><b>const</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_EInvalidVersion">EInvalidVersion</a>: u64 = 0; </code></pre><a name="sui_system_validator_wrapper_create_v1"></a>
create_v1<a name="sui_system_validator_wrapper_load_validator_maybe_upgrade"></a>
load_validator_maybe_upgradeThis function should always return the latest supported version. If the inner version is old, we upgrade it lazily in-place.
<pre><code><b>public</b>(package) <b>fun</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_load_validator_maybe_upgrade">load_validator_maybe_upgrade</a>(self: &<b>mut</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_ValidatorWrapper">sui_system::validator_wrapper::ValidatorWrapper</a>): &<b>mut</b> <a href="../sui_system/validator.md#sui_system_validator_Validator">sui_system::validator::Validator</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b>(package) <b>fun</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_load_validator_maybe_upgrade">load_validator_maybe_upgrade</a>(self: &<b>mut</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_ValidatorWrapper">ValidatorWrapper</a>): &<b>mut</b> Validator { self.<a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_upgrade_to_latest">upgrade_to_latest</a>(); self.inner.load_value_mut() } </code></pre> </details><a name="sui_system_validator_wrapper_destroy"></a>
destroyDestroy the wrapper and retrieve the inner validator object.
<pre><code><b>public</b>(package) <b>fun</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_destroy">destroy</a>(self: <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_ValidatorWrapper">sui_system::validator_wrapper::ValidatorWrapper</a>): <a href="../sui_system/validator.md#sui_system_validator_Validator">sui_system::validator::Validator</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b>(package) <b>fun</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_destroy">destroy</a>(self: <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_ValidatorWrapper">ValidatorWrapper</a>): Validator { <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_upgrade_to_latest">upgrade_to_latest</a>(&self); <b>let</b> <a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_ValidatorWrapper">ValidatorWrapper</a> { inner } = self; inner.<a href="../sui_system/validator_wrapper.md#sui_system_validator_wrapper_destroy">destroy</a>() } </code></pre> </details><a name="sui_system_validator_wrapper_upgrade_to_latest"></a>
upgrade_to_latest<a name="sui_system_validator_wrapper_version"></a>
version