Skip to content

Commit

Permalink
fix docs
Browse files Browse the repository at this point in the history
  • Loading branch information
0xripleys committed Jul 30, 2024
1 parent 98b9ec6 commit 84a33b6
Show file tree
Hide file tree
Showing 7 changed files with 744 additions and 0 deletions.
431 changes: 431 additions & 0 deletions crates/sui-framework/docs/sui-system/staking_pool.md

Large diffs are not rendered by default.

62 changes: 62 additions & 0 deletions crates/sui-framework/docs/sui-system/sui_system.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ the SuiSystemStateInner version, or vice versa.
- [Function `request_add_stake_non_entry`](#0x3_sui_system_request_add_stake_non_entry)
- [Function `request_add_stake_mul_coin`](#0x3_sui_system_request_add_stake_mul_coin)
- [Function `request_withdraw_stake`](#0x3_sui_system_request_withdraw_stake)
- [Function `convert_to_fungible_staked_sui`](#0x3_sui_system_convert_to_fungible_staked_sui)
- [Function `redeem_fungible_staked_sui`](#0x3_sui_system_redeem_fungible_staked_sui)
- [Function `request_withdraw_stake_non_entry`](#0x3_sui_system_request_withdraw_stake_non_entry)
- [Function `report_validator`](#0x3_sui_system_report_validator)
- [Function `undo_report_validator`](#0x3_sui_system_undo_report_validator)
Expand Down Expand Up @@ -615,6 +617,66 @@ Withdraw stake from a validator's staking pool.



</details>

<a name="0x3_sui_system_convert_to_fungible_staked_sui"></a>

## Function `convert_to_fungible_staked_sui`

Convert StakedSui into a FungibleStakedSui object.


<pre><code><b>public</b> <b>fun</b> <a href="sui_system.md#0x3_sui_system_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(wrapper: &<b>mut</b> <a href="sui_system.md#0x3_sui_system_SuiSystemState">sui_system::SuiSystemState</a>, staked_sui: <a href="staking_pool.md#0x3_staking_pool_StakedSui">staking_pool::StakedSui</a>, ctx: &<b>mut</b> <a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b> <b>fun</b> <a href="sui_system.md#0x3_sui_system_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(
wrapper: &<b>mut</b> <a href="sui_system.md#0x3_sui_system_SuiSystemState">SuiSystemState</a>,
staked_sui: StakedSui,
ctx: &<b>mut</b> TxContext,
): FungibleStakedSui {
<b>let</b> self = <a href="sui_system.md#0x3_sui_system_load_system_state_mut">load_system_state_mut</a>(wrapper);
self.<a href="sui_system.md#0x3_sui_system_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_sui_system_redeem_fungible_staked_sui"></a>

## Function `redeem_fungible_staked_sui`

Convert FungibleStakedSui into a StakedSui object.


<pre><code><b>public</b> <b>fun</b> <a href="sui_system.md#0x3_sui_system_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(wrapper: &<b>mut</b> <a href="sui_system.md#0x3_sui_system_SuiSystemState">sui_system::SuiSystemState</a>, fungible_staked_sui: <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>, ctx: &<a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="../sui-framework/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../sui-framework/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b> <b>fun</b> <a href="sui_system.md#0x3_sui_system_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(
wrapper: &<b>mut</b> <a href="sui_system.md#0x3_sui_system_SuiSystemState">SuiSystemState</a>,
fungible_staked_sui: FungibleStakedSui,
ctx: &TxContext,
): Balance&lt;SUI&gt; {
<b>let</b> self = <a href="sui_system.md#0x3_sui_system_load_system_state_mut">load_system_state_mut</a>(wrapper);
self.<a href="sui_system.md#0x3_sui_system_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(fungible_staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_sui_system_request_withdraw_stake_non_entry"></a>
Expand Down
58 changes: 58 additions & 0 deletions crates/sui-framework/docs/sui-system/sui_system_state_inner.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ title: Module `0x3::sui_system_state_inner`
- [Function `request_add_stake`](#0x3_sui_system_state_inner_request_add_stake)
- [Function `request_add_stake_mul_coin`](#0x3_sui_system_state_inner_request_add_stake_mul_coin)
- [Function `request_withdraw_stake`](#0x3_sui_system_state_inner_request_withdraw_stake)
- [Function `convert_to_fungible_staked_sui`](#0x3_sui_system_state_inner_convert_to_fungible_staked_sui)
- [Function `redeem_fungible_staked_sui`](#0x3_sui_system_state_inner_redeem_fungible_staked_sui)
- [Function `report_validator`](#0x3_sui_system_state_inner_report_validator)
- [Function `undo_report_validator`](#0x3_sui_system_state_inner_undo_report_validator)
- [Function `report_validator_impl`](#0x3_sui_system_state_inner_report_validator_impl)
Expand Down Expand Up @@ -1299,6 +1301,62 @@ Withdraw some portion of a stake from a validator's staking pool.



</details>

<a name="0x3_sui_system_state_inner_convert_to_fungible_staked_sui"></a>

## Function `convert_to_fungible_staked_sui`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(self: &<b>mut</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_SuiSystemStateInnerV2">sui_system_state_inner::SuiSystemStateInnerV2</a>, staked_sui: <a href="staking_pool.md#0x3_staking_pool_StakedSui">staking_pool::StakedSui</a>, ctx: &<b>mut</b> <a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b>(package) <b>fun</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(
self: &<b>mut</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_SuiSystemStateInnerV2">SuiSystemStateInnerV2</a>,
staked_sui: StakedSui,
ctx: &<b>mut</b> TxContext,
) : FungibleStakedSui {
self.validators.<a href="sui_system_state_inner.md#0x3_sui_system_state_inner_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_sui_system_state_inner_redeem_fungible_staked_sui"></a>

## Function `redeem_fungible_staked_sui`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(self: &<b>mut</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_SuiSystemStateInnerV2">sui_system_state_inner::SuiSystemStateInnerV2</a>, fungible_staked_sui: <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>, ctx: &<a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="../sui-framework/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../sui-framework/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b>(package) <b>fun</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(
self: &<b>mut</b> <a href="sui_system_state_inner.md#0x3_sui_system_state_inner_SuiSystemStateInnerV2">SuiSystemStateInnerV2</a>,
fungible_staked_sui: FungibleStakedSui,
ctx: &TxContext,
) : Balance&lt;SUI&gt; {
self.validators.<a href="sui_system_state_inner.md#0x3_sui_system_state_inner_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(fungible_staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_sui_system_state_inner_report_validator"></a>
Expand Down
58 changes: 58 additions & 0 deletions crates/sui-framework/docs/sui-system/validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ title: Module `0x3::validator`
- [Function `activate`](#0x3_validator_activate)
- [Function `adjust_stake_and_gas_price`](#0x3_validator_adjust_stake_and_gas_price)
- [Function `request_add_stake`](#0x3_validator_request_add_stake)
- [Function `convert_to_fungible_staked_sui`](#0x3_validator_convert_to_fungible_staked_sui)
- [Function `redeem_fungible_staked_sui`](#0x3_validator_redeem_fungible_staked_sui)
- [Function `request_add_stake_at_genesis`](#0x3_validator_request_add_stake_at_genesis)
- [Function `request_withdraw_stake`](#0x3_validator_request_withdraw_stake)
- [Function `request_set_gas_price`](#0x3_validator_request_set_gas_price)
Expand Down Expand Up @@ -918,6 +920,62 @@ Request to add stake to the validator's staking pool, processed at the end of th



</details>

<a name="0x3_validator_convert_to_fungible_staked_sui"></a>

## Function `convert_to_fungible_staked_sui`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="validator.md#0x3_validator_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(self: &<b>mut</b> <a href="validator.md#0x3_validator_Validator">validator::Validator</a>, staked_sui: <a href="staking_pool.md#0x3_staking_pool_StakedSui">staking_pool::StakedSui</a>, ctx: &<b>mut</b> <a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b>(package) <b>fun</b> <a href="validator.md#0x3_validator_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(
self: &<b>mut</b> <a href="validator.md#0x3_validator_Validator">Validator</a>,
staked_sui: StakedSui,
ctx: &<b>mut</b> TxContext,
) : FungibleStakedSui {
self.<a href="staking_pool.md#0x3_staking_pool">staking_pool</a>.<a href="validator.md#0x3_validator_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_validator_redeem_fungible_staked_sui"></a>

## Function `redeem_fungible_staked_sui`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="validator.md#0x3_validator_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(self: &<b>mut</b> <a href="validator.md#0x3_validator_Validator">validator::Validator</a>, fungible_staked_sui: <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>, ctx: &<a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="../sui-framework/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../sui-framework/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b>(package) <b>fun</b> <a href="validator.md#0x3_validator_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(
self: &<b>mut</b> <a href="validator.md#0x3_validator_Validator">Validator</a>,
fungible_staked_sui: FungibleStakedSui,
ctx: &TxContext,
) : Balance&lt;SUI&gt; {
self.<a href="staking_pool.md#0x3_staking_pool">staking_pool</a>.<a href="validator.md#0x3_validator_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(fungible_staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_validator_request_add_stake_at_genesis"></a>
Expand Down
81 changes: 81 additions & 0 deletions crates/sui-framework/docs/sui-system/validator_set.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ title: Module `0x3::validator_set`
- [Function `request_remove_validator`](#0x3_validator_set_request_remove_validator)
- [Function `request_add_stake`](#0x3_validator_set_request_add_stake)
- [Function `request_withdraw_stake`](#0x3_validator_set_request_withdraw_stake)
- [Function `convert_to_fungible_staked_sui`](#0x3_validator_set_convert_to_fungible_staked_sui)
- [Function `redeem_fungible_staked_sui`](#0x3_validator_set_redeem_fungible_staked_sui)
- [Function `request_set_commission_rate`](#0x3_validator_set_request_set_commission_rate)
- [Function `advance_epoch`](#0x3_validator_set_advance_epoch)
- [Function `update_and_process_low_stake_departures`](#0x3_validator_set_update_and_process_low_stake_departures)
Expand Down Expand Up @@ -948,6 +950,85 @@ the stake and any rewards corresponding to it will be immediately processed.



</details>

<a name="0x3_validator_set_convert_to_fungible_staked_sui"></a>

## Function `convert_to_fungible_staked_sui`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="validator_set.md#0x3_validator_set_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(self: &<b>mut</b> <a href="validator_set.md#0x3_validator_set_ValidatorSet">validator_set::ValidatorSet</a>, staked_sui: <a href="staking_pool.md#0x3_staking_pool_StakedSui">staking_pool::StakedSui</a>, ctx: &<b>mut</b> <a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b>(package) <b>fun</b> <a href="validator_set.md#0x3_validator_set_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(
self: &<b>mut</b> <a href="validator_set.md#0x3_validator_set_ValidatorSet">ValidatorSet</a>,
staked_sui: StakedSui,
ctx: &<b>mut</b> TxContext,
) : FungibleStakedSui {
<b>let</b> staking_pool_id = pool_id(&staked_sui);
<b>let</b> <a href="validator.md#0x3_validator">validator</a> =
<b>if</b> (self.staking_pool_mappings.contains(staking_pool_id)) { // This is an active <a href="validator.md#0x3_validator">validator</a>.
<b>let</b> validator_address = self.staking_pool_mappings[pool_id(&staked_sui)];
<a href="validator_set.md#0x3_validator_set_get_candidate_or_active_validator_mut">get_candidate_or_active_validator_mut</a>(self, validator_address)
} <b>else</b> { // This is an inactive pool.
<b>assert</b>!(self.inactive_validators.contains(staking_pool_id), <a href="validator_set.md#0x3_validator_set_ENoPoolFound">ENoPoolFound</a>);
<b>let</b> wrapper = &<b>mut</b> self.inactive_validators[staking_pool_id];
wrapper.load_validator_maybe_upgrade()
};

<a href="validator.md#0x3_validator">validator</a>.<a href="validator_set.md#0x3_validator_set_convert_to_fungible_staked_sui">convert_to_fungible_staked_sui</a>(staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_validator_set_redeem_fungible_staked_sui"></a>

## Function `redeem_fungible_staked_sui`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="validator_set.md#0x3_validator_set_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(self: &<b>mut</b> <a href="validator_set.md#0x3_validator_set_ValidatorSet">validator_set::ValidatorSet</a>, fungible_staked_sui: <a href="staking_pool.md#0x3_staking_pool_FungibleStakedSui">staking_pool::FungibleStakedSui</a>, ctx: &<a href="../sui-framework/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="../sui-framework/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../sui-framework/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b>(package) <b>fun</b> <a href="validator_set.md#0x3_validator_set_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(
self: &<b>mut</b> <a href="validator_set.md#0x3_validator_set_ValidatorSet">ValidatorSet</a>,
fungible_staked_sui: FungibleStakedSui,
ctx: &TxContext,
) : Balance&lt;SUI&gt; {
<b>let</b> staking_pool_id = fungible_staked_sui_pool_id(&fungible_staked_sui);

<b>let</b> <a href="validator.md#0x3_validator">validator</a> =
<b>if</b> (self.staking_pool_mappings.contains(staking_pool_id)) { // This is an active <a href="validator.md#0x3_validator">validator</a>.
<b>let</b> validator_address = self.staking_pool_mappings[staking_pool_id];
<a href="validator_set.md#0x3_validator_set_get_candidate_or_active_validator_mut">get_candidate_or_active_validator_mut</a>(self, validator_address)
} <b>else</b> { // This is an inactive pool.
<b>assert</b>!(self.inactive_validators.contains(staking_pool_id), <a href="validator_set.md#0x3_validator_set_ENoPoolFound">ENoPoolFound</a>);
<b>let</b> wrapper = &<b>mut</b> self.inactive_validators[staking_pool_id];
wrapper.load_validator_maybe_upgrade()
};

<a href="validator.md#0x3_validator">validator</a>.<a href="validator_set.md#0x3_validator_set_redeem_fungible_staked_sui">redeem_fungible_staked_sui</a>(fungible_staked_sui, ctx)
}
</code></pre>



</details>

<a name="0x3_validator_set_request_set_commission_rate"></a>
Expand Down
Binary file modified crates/sui-framework/packages_compiled/sui-system
Binary file not shown.
Loading

0 comments on commit 84a33b6

Please sign in to comment.