Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Relax key + store constraint in TransferRequest and TransferRequest type parameter T #9604

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions crates/sui-framework/docs/genesis.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@

<pre><code><b>use</b> <a href="">0x1::option</a>;
<b>use</b> <a href="">0x1::vector</a>;
<b>use</b> <a href="">0x2::balance</a>;
<b>use</b> <a href="">0x2::coin</a>;
<b>use</b> <a href="">0x2::object</a>;
<b>use</b> <a href="">0x2::sui</a>;
<b>use</b> <a href="">0x2::tx_context</a>;
<b>use</b> <a href="../../../build/Sui/docs/balance.md#0x2_balance">0x2::balance</a>;
<b>use</b> <a href="../../../build/Sui/docs/coin.md#0x2_coin">0x2::coin</a>;
<b>use</b> <a href="../../../build/Sui/docs/object.md#0x2_object">0x2::object</a>;
<b>use</b> <a href="../../../build/Sui/docs/sui.md#0x2_sui">0x2::sui</a>;
<b>use</b> <a href="../../../build/Sui/docs/tx_context.md#0x2_tx_context">0x2::tx_context</a>;
<b>use</b> <a href="sui_system.md#0x3_sui_system">0x3::sui_system</a>;
<b>use</b> <a href="validator.md#0x3_validator">0x3::validator</a>;
<b>use</b> <a href="validator_set.md#0x3_validator_set">0x3::validator_set</a>;
Expand Down Expand Up @@ -305,7 +305,7 @@ It will create a singleton SuiSystemState object, which contains
all the information we need in the system.


<pre><code><b>fun</b> <a href="genesis.md#0x3_genesis_create">create</a>(sui_system_state_id: <a href="_UID">object::UID</a>, sui_supply: <a href="_Balance">balance::Balance</a>&lt;<a href="_SUI">sui::SUI</a>&gt;, genesis_chain_parameters: <a href="genesis.md#0x3_genesis_GenesisChainParameters">genesis::GenesisChainParameters</a>, genesis_validators: <a href="">vector</a>&lt;<a href="genesis.md#0x3_genesis_GenesisValidatorMetadata">genesis::GenesisValidatorMetadata</a>&gt;, token_distribution_schedule: <a href="genesis.md#0x3_genesis_TokenDistributionSchedule">genesis::TokenDistributionSchedule</a>, ctx: &<b>mut</b> <a href="_TxContext">tx_context::TxContext</a>)
<pre><code><b>fun</b> <a href="genesis.md#0x3_genesis_create">create</a>(sui_system_state_id: <a href="../../../build/Sui/docs/object.md#0x2_object_UID">object::UID</a>, sui_supply: <a href="../../../build/Sui/docs/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../../../build/Sui/docs/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;, genesis_chain_parameters: <a href="genesis.md#0x3_genesis_GenesisChainParameters">genesis::GenesisChainParameters</a>, genesis_validators: <a href="">vector</a>&lt;<a href="genesis.md#0x3_genesis_GenesisValidatorMetadata">genesis::GenesisValidatorMetadata</a>&gt;, token_distribution_schedule: <a href="genesis.md#0x3_genesis_TokenDistributionSchedule">genesis::TokenDistributionSchedule</a>, ctx: &<b>mut</b> <a href="../../../build/Sui/docs/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>)
</code></pre>


Expand All @@ -323,18 +323,18 @@ all the information we need in the system.
ctx: &<b>mut</b> TxContext,
) {
// Ensure this is only called at <a href="genesis.md#0x3_genesis">genesis</a>
<b>assert</b>!(<a href="_epoch">tx_context::epoch</a>(ctx) == 0, 0);
<b>assert</b>!(<a href="../../../build/Sui/docs/tx_context.md#0x2_tx_context_epoch">tx_context::epoch</a>(ctx) == 0, 0);

<b>let</b> <a href="genesis.md#0x3_genesis_TokenDistributionSchedule">TokenDistributionSchedule</a> {
stake_subsidy_fund_mist,
allocations,
} = token_distribution_schedule;

<b>let</b> subsidy_fund = <a href="_split">balance::split</a>(
<b>let</b> subsidy_fund = <a href="../../../build/Sui/docs/balance.md#0x2_balance_split">balance::split</a>(
&<b>mut</b> sui_supply,
stake_subsidy_fund_mist,
);
<b>let</b> storage_fund = <a href="_zero">balance::zero</a>();
<b>let</b> storage_fund = <a href="../../../build/Sui/docs/balance.md#0x2_balance_zero">balance::zero</a>();

// Create all the `Validator` structs
<b>let</b> validators = <a href="_empty">vector::empty</a>();
Expand Down Expand Up @@ -428,7 +428,7 @@ all the information we need in the system.



<pre><code><b>fun</b> <a href="genesis.md#0x3_genesis_allocate_tokens">allocate_tokens</a>(sui_supply: <a href="_Balance">balance::Balance</a>&lt;<a href="_SUI">sui::SUI</a>&gt;, allocations: <a href="">vector</a>&lt;<a href="genesis.md#0x3_genesis_TokenAllocation">genesis::TokenAllocation</a>&gt;, validators: &<b>mut</b> <a href="">vector</a>&lt;<a href="validator.md#0x3_validator_Validator">validator::Validator</a>&gt;, ctx: &<b>mut</b> <a href="_TxContext">tx_context::TxContext</a>)
<pre><code><b>fun</b> <a href="genesis.md#0x3_genesis_allocate_tokens">allocate_tokens</a>(sui_supply: <a href="../../../build/Sui/docs/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../../../build/Sui/docs/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;, allocations: <a href="">vector</a>&lt;<a href="genesis.md#0x3_genesis_TokenAllocation">genesis::TokenAllocation</a>&gt;, validators: &<b>mut</b> <a href="">vector</a>&lt;<a href="validator.md#0x3_validator_Validator">validator::Validator</a>&gt;, ctx: &<b>mut</b> <a href="../../../build/Sui/docs/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>)
</code></pre>


Expand All @@ -451,7 +451,7 @@ all the information we need in the system.
staked_with_validator,
} = <a href="_pop_back">vector::pop_back</a>(&<b>mut</b> allocations);

<b>let</b> allocation_balance = <a href="_split">balance::split</a>(&<b>mut</b> sui_supply, amount_mist);
<b>let</b> allocation_balance = <a href="../../../build/Sui/docs/balance.md#0x2_balance_split">balance::split</a>(&<b>mut</b> sui_supply, amount_mist);

<b>if</b> (<a href="_is_some">option::is_some</a>(&staked_with_validator)) {
<b>let</b> validator_address = <a href="_destroy_some">option::destroy_some</a>(staked_with_validator);
Expand All @@ -463,8 +463,8 @@ all the information we need in the system.
ctx
);
} <b>else</b> {
<a href="_transfer">sui::transfer</a>(
<a href="_from_balance">coin::from_balance</a>(allocation_balance, ctx),
<a href="../../../build/Sui/docs/sui.md#0x2_sui_transfer">sui::transfer</a>(
<a href="../../../build/Sui/docs/coin.md#0x2_coin_from_balance">coin::from_balance</a>(allocation_balance, ctx),
recipient_address,
);
};
Expand All @@ -473,7 +473,7 @@ all the information we need in the system.

// Provided allocations must fully allocate the sui_supply and there
// should be none left at this point.
<a href="_destroy_zero">balance::destroy_zero</a>(sui_supply);
<a href="../../../build/Sui/docs/balance.md#0x2_balance_destroy_zero">balance::destroy_zero</a>(sui_supply);
}
</code></pre>

Expand Down
26 changes: 26 additions & 0 deletions crates/sui-framework/docs/kiosk.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ be used to implement application-specific transfer rules.
- [Function `item_count`](#0x2_kiosk_item_count)
- [Function `profits_amount`](#0x2_kiosk_profits_amount)
- [Function `profits_mut`](#0x2_kiosk_profits_mut)
- [Function `has_item`](#0x2_kiosk_has_item)
- [Function `purchase_cap_kiosk`](#0x2_kiosk_purchase_cap_kiosk)
- [Function `purchase_cap_item`](#0x2_kiosk_purchase_cap_item)
- [Function `purchase_cap_min_price`](#0x2_kiosk_purchase_cap_min_price)
Expand Down Expand Up @@ -1012,6 +1013,31 @@ Get mutable access to <code>profits</code> - useful for extendability.



</details>

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

## Function `has_item`

Check whether the an item is present in the <code><a href="kiosk.md#0x2_kiosk_Kiosk">Kiosk</a></code>.


<pre><code><b>public</b> <b>fun</b> <a href="kiosk.md#0x2_kiosk_has_item">has_item</a>(self: &<a href="kiosk.md#0x2_kiosk_Kiosk">kiosk::Kiosk</a>, item_id: <a href="object.md#0x2_object_ID">object::ID</a>): bool
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b> <b>fun</b> <a href="kiosk.md#0x2_kiosk_has_item">has_item</a>(self: &<a href="kiosk.md#0x2_kiosk_Kiosk">Kiosk</a>, item_id: ID): bool {
dof::exists_(&self.id, <a href="kiosk.md#0x2_kiosk_Item">Item</a> { id: item_id })
}
</code></pre>



</details>

<a name="0x2_kiosk_purchase_cap_kiosk"></a>
Expand Down
34 changes: 17 additions & 17 deletions crates/sui-framework/docs/stake_subsidy.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
- [Function `current_epoch_subsidy_amount`](#0x3_stake_subsidy_current_epoch_subsidy_amount)


<pre><code><b>use</b> <a href="">0x2::bag</a>;
<b>use</b> <a href="">0x2::balance</a>;
<b>use</b> <a href="">0x2::math</a>;
<b>use</b> <a href="">0x2::sui</a>;
<b>use</b> <a href="">0x2::tx_context</a>;
<pre><code><b>use</b> <a href="../../../build/Sui/docs/bag.md#0x2_bag">0x2::bag</a>;
<b>use</b> <a href="../../../build/Sui/docs/balance.md#0x2_balance">0x2::balance</a>;
<b>use</b> <a href="../../../build/Sui/docs/math.md#0x2_math">0x2::math</a>;
<b>use</b> <a href="../../../build/Sui/docs/sui.md#0x2_sui">0x2::sui</a>;
<b>use</b> <a href="../../../build/Sui/docs/tx_context.md#0x2_tx_context">0x2::tx_context</a>;
</code></pre>


Expand All @@ -38,7 +38,7 @@

<dl>
<dt>
<code><a href="">balance</a>: <a href="_Balance">balance::Balance</a>&lt;<a href="_SUI">sui::SUI</a>&gt;</code>
<code><a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>: <a href="../../../build/Sui/docs/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../../../build/Sui/docs/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;</code>
</dt>
<dd>
Balance of SUI set aside for stake subsidies that will be drawn down over time.
Expand Down Expand Up @@ -70,7 +70,7 @@
period. Expressed in basis points.
</dd>
<dt>
<code>extra_fields: <a href="_Bag">bag::Bag</a></code>
<code>extra_fields: <a href="../../../build/Sui/docs/bag.md#0x2_bag_Bag">bag::Bag</a></code>
</dt>
<dd>
Any extra fields that's not defined statically.
Expand Down Expand Up @@ -100,7 +100,7 @@



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_create">create</a>(<a href="">balance</a>: <a href="_Balance">balance::Balance</a>&lt;<a href="_SUI">sui::SUI</a>&gt;, initial_stake_subsidy_amount: u64, stake_subsidy_period_length: u64, stake_subsidy_decrease_rate: u16, ctx: &<b>mut</b> <a href="_TxContext">tx_context::TxContext</a>): <a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">stake_subsidy::StakeSubsidy</a>
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_create">create</a>(<a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>: <a href="../../../build/Sui/docs/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../../../build/Sui/docs/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;, initial_stake_subsidy_amount: u64, stake_subsidy_period_length: u64, stake_subsidy_decrease_rate: u16, ctx: &<b>mut</b> <a href="../../../build/Sui/docs/tx_context.md#0x2_tx_context_TxContext">tx_context::TxContext</a>): <a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">stake_subsidy::StakeSubsidy</a>
</code></pre>


Expand All @@ -110,7 +110,7 @@


<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_create">create</a>(
<a href="">balance</a>: Balance&lt;SUI&gt;,
<a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>: Balance&lt;SUI&gt;,
initial_stake_subsidy_amount: u64,
stake_subsidy_period_length: u64,
stake_subsidy_decrease_rate: u16,
Expand All @@ -123,12 +123,12 @@
);

<a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">StakeSubsidy</a> {
<a href="">balance</a>,
<a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>,
distribution_counter: 0,
current_distribution_amount: initial_stake_subsidy_amount,
stake_subsidy_period_length,
stake_subsidy_decrease_rate,
extra_fields: <a href="_new">bag::new</a>(ctx),
extra_fields: <a href="../../../build/Sui/docs/bag.md#0x2_bag_new">bag::new</a>(ctx),
}
}
</code></pre>
Expand All @@ -144,7 +144,7 @@
Advance the epoch counter and draw down the subsidy for the epoch.


<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_advance_epoch">advance_epoch</a>(self: &<b>mut</b> <a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">stake_subsidy::StakeSubsidy</a>): <a href="_Balance">balance::Balance</a>&lt;<a href="_SUI">sui::SUI</a>&gt;
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_advance_epoch">advance_epoch</a>(self: &<b>mut</b> <a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">stake_subsidy::StakeSubsidy</a>): <a href="../../../build/Sui/docs/balance.md#0x2_balance_Balance">balance::Balance</a>&lt;<a href="../../../build/Sui/docs/sui.md#0x2_sui_SUI">sui::SUI</a>&gt;
</code></pre>


Expand All @@ -154,13 +154,13 @@ Advance the epoch counter and draw down the subsidy for the epoch.


<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_advance_epoch">advance_epoch</a>(self: &<b>mut</b> <a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">StakeSubsidy</a>): Balance&lt;SUI&gt; {
// Take the minimum of the reward amount and the remaining <a href="">balance</a> in
// Take the minimum of the reward amount and the remaining <a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a> in
// order <b>to</b> ensure we don't overdraft the remaining stake subsidy
// <a href="">balance</a>
<b>let</b> to_withdraw = <a href="_min">math::min</a>(self.current_distribution_amount, <a href="_value">balance::value</a>(&self.<a href="">balance</a>));
// <a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>
<b>let</b> to_withdraw = <a href="../../../build/Sui/docs/math.md#0x2_math_min">math::min</a>(self.current_distribution_amount, <a href="../../../build/Sui/docs/balance.md#0x2_balance_value">balance::value</a>(&self.<a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>));

// Drawn down the subsidy for this epoch.
<b>let</b> <a href="stake_subsidy.md#0x3_stake_subsidy">stake_subsidy</a> = <a href="_split">balance::split</a>(&<b>mut</b> self.<a href="">balance</a>, to_withdraw);
<b>let</b> <a href="stake_subsidy.md#0x3_stake_subsidy">stake_subsidy</a> = <a href="../../../build/Sui/docs/balance.md#0x2_balance_split">balance::split</a>(&<b>mut</b> self.<a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>, to_withdraw);

self.distribution_counter = self.distribution_counter + 1;

Expand Down Expand Up @@ -196,7 +196,7 @@ Returns the amount of stake subsidy to be added at the end of the current epoch.


<pre><code><b>public</b> <b>fun</b> <a href="stake_subsidy.md#0x3_stake_subsidy_current_epoch_subsidy_amount">current_epoch_subsidy_amount</a>(self: &<a href="stake_subsidy.md#0x3_stake_subsidy_StakeSubsidy">StakeSubsidy</a>): u64 {
<a href="_min">math::min</a>(self.current_distribution_amount, <a href="_value">balance::value</a>(&self.<a href="">balance</a>))
<a href="../../../build/Sui/docs/math.md#0x2_math_min">math::min</a>(self.current_distribution_amount, <a href="../../../build/Sui/docs/balance.md#0x2_balance_value">balance::value</a>(&self.<a href="../../../build/Sui/docs/balance.md#0x2_balance">balance</a>))
}
</code></pre>

Expand Down
Loading