Skip to content

Commit

Permalink
Migrate Genesis initialize to new DAOSpace (#181)
Browse files Browse the repository at this point in the history
* migrate Genesis to new DAOSpace

* deprecated some old DAO tests

* fix deprecated fun
  • Loading branch information
pause125 committed Oct 14, 2022
1 parent f0270c3 commit 57e859e
Show file tree
Hide file tree
Showing 41 changed files with 682 additions and 754 deletions.
Binary file modified build/StarcoinFramework/abis/Genesis/initialize.abi
Binary file not shown.
Binary file modified build/StarcoinFramework/bytecode_modules/Account.mv
Binary file not shown.
Binary file modified build/StarcoinFramework/bytecode_modules/Genesis.mv
Binary file not shown.
Binary file not shown.
Binary file modified build/StarcoinFramework/bytecode_modules/OnChainConfigDao.mv
Binary file not shown.
Binary file modified build/StarcoinFramework/bytecode_modules/STC.mv
Binary file not shown.
Binary file modified build/StarcoinFramework/bytecode_modules/StdlibUpgradeScripts.mv
Binary file not shown.
Binary file not shown.
18 changes: 9 additions & 9 deletions build/StarcoinFramework/docs/Account.md
Original file line number Diff line number Diff line change
Expand Up @@ -615,15 +615,6 @@ Message for SignerDelegate events



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



<pre><code><b>const</b> <a href="Account.md#0x1_Account_EPROLOGUE_ACCOUNT_DOES_NOT_EXIST">EPROLOGUE_ACCOUNT_DOES_NOT_EXIST</a>: u64 = 0;
</code></pre>



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

The address bytes length
Expand Down Expand Up @@ -715,6 +706,15 @@ The address bytes length



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



<pre><code><b>const</b> <a href="Account.md#0x1_Account_EPROLOGUE_ACCOUNT_DOES_NOT_EXIST">EPROLOGUE_ACCOUNT_DOES_NOT_EXIST</a>: u64 = 0;
</code></pre>



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


Expand Down
354 changes: 146 additions & 208 deletions build/StarcoinFramework/docs/Genesis.md

Large diffs are not rendered by default.

43 changes: 43 additions & 0 deletions build/StarcoinFramework/docs/ModifyDaoConfigProposal.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ A proposal module which is used to modify Token's DAO configuration.
- [Struct `DaoConfigUpdate`](#0x1_ModifyDaoConfigProposal_DaoConfigUpdate)
- [Constants](#@Constants_0)
- [Function `plugin`](#0x1_ModifyDaoConfigProposal_plugin)
- [Function `destroy_modify_config_capability`](#0x1_ModifyDaoConfigProposal_destroy_modify_config_capability)
- [Function `propose`](#0x1_ModifyDaoConfigProposal_propose)
- [Function `execute`](#0x1_ModifyDaoConfigProposal_execute)
- [Module Specification](#@Module_Specification_1)
Expand Down Expand Up @@ -173,6 +174,48 @@ Should be called by token issuer.



</details>

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

## Function `destroy_modify_config_capability`

Destroy ModifyConfigCapability


<pre><code><b>public</b> <b>fun</b> <a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_destroy_modify_config_capability">destroy_modify_config_capability</a>&lt;TokenT: <b>copy</b>, drop, store&gt;(sender: &signer)
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b> <b>fun</b> <a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_destroy_modify_config_capability">destroy_modify_config_capability</a>&lt;TokenT: <b>copy</b> + drop + store&gt;(sender: &signer)
<b>acquires</b> <a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_DaoConfigModifyCapability">DaoConfigModifyCapability</a> {
<b>let</b> token_issuer = <a href="Token.md#0x1_Token_token_address">Token::token_address</a>&lt;TokenT&gt;();
<b>assert</b>!(<a href="Signer.md#0x1_Signer_address_of">Signer::address_of</a>(sender) == token_issuer, <a href="Errors.md#0x1_Errors_requires_address">Errors::requires_address</a>(<a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_ERR_NOT_AUTHORIZED">ERR_NOT_AUTHORIZED</a>));

<b>let</b> <a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_DaoConfigModifyCapability">DaoConfigModifyCapability</a> {cap} = <b>move_from</b>&lt;<a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_DaoConfigModifyCapability">DaoConfigModifyCapability</a>&lt;TokenT&gt;&gt;(token_issuer);
<a href="Config.md#0x1_Config_destroy_modify_config_capability">Config::destroy_modify_config_capability</a>&lt;DaoConfig&lt;TokenT&gt;&gt;(cap);
}
</code></pre>



</details>

<details>
<summary>Specification</summary>



<pre><code><b>pragma</b> verify = <b>false</b>;
</code></pre>



</details>

<a name="0x1_ModifyDaoConfigProposal_propose"></a>
Expand Down
126 changes: 59 additions & 67 deletions build/StarcoinFramework/docs/STC.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,17 @@ It uses apis defined in the <code><a href="Token.md#0x1_Token">Token</a></code>
- [Function `initialize`](#0x1_STC_initialize)
- [Function `upgrade_from_v1_to_v2`](#0x1_STC_upgrade_from_v1_to_v2)
- [Function `initialize_v2`](#0x1_STC_initialize_v2)
- [Function `initialize_v3`](#0x1_STC_initialize_v3)
- [Function `is_stc`](#0x1_STC_is_stc)
- [Function `burn`](#0x1_STC_burn)
- [Function `token_address`](#0x1_STC_token_address)
- [Module Specification](#@Module_Specification_1)


<pre><code><b>use</b> <a href="ConsensusConfig.md#0x1_ConsensusConfig">0x1::ConsensusConfig</a>;
<b>use</b> <a href="CoreAddresses.md#0x1_CoreAddresses">0x1::CoreAddresses</a>;
<b>use</b> <a href="Dao.md#0x1_Dao">0x1::Dao</a>;
<b>use</b> <a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal">0x1::ModifyDaoConfigProposal</a>;
<b>use</b> <a href="OnChainConfigDao.md#0x1_OnChainConfigDao">0x1::OnChainConfigDao</a>;
<b>use</b> <a href="PackageTxnManager.md#0x1_PackageTxnManager">0x1::PackageTxnManager</a>;
<b>use</b> <a href="RewardConfig.md#0x1_RewardConfig">0x1::RewardConfig</a>;
<pre><code><b>use</b> <a href="CoreAddresses.md#0x1_CoreAddresses">0x1::CoreAddresses</a>;
<b>use</b> <a href="Errors.md#0x1_Errors">0x1::Errors</a>;
<b>use</b> <a href="Token.md#0x1_Token">0x1::Token</a>;
<b>use</b> <a href="TransactionPublishOption.md#0x1_TransactionPublishOption">0x1::TransactionPublishOption</a>;
<b>use</b> <a href="TransactionTimeoutConfig.md#0x1_TransactionTimeoutConfig">0x1::TransactionTimeoutConfig</a>;
<b>use</b> <a href="Treasury.md#0x1_Treasury">0x1::Treasury</a>;
<b>use</b> <a href="UpgradeModuleDaoProposal.md#0x1_UpgradeModuleDaoProposal">0x1::UpgradeModuleDaoProposal</a>;
<b>use</b> <a href="VMConfig.md#0x1_VMConfig">0x1::VMConfig</a>;
</code></pre>


Expand Down Expand Up @@ -114,7 +106,7 @@ precision of STC token.
STC initialization.


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize">initialize</a>(account: &signer, voting_delay: u64, voting_period: u64, voting_quorum_rate: u8, min_action_delay: u64)
<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize">initialize</a>(_account: &signer, _voting_delay: u64, _voting_period: u64, _voting_quorum_rate: u8, _min_action_delay: u64)
</code></pre>


Expand All @@ -124,34 +116,13 @@ STC initialization.


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize">initialize</a>(
account: &signer,
voting_delay: u64,
voting_period: u64,
voting_quorum_rate: u8,
min_action_delay: u64,
_account: &signer,
_voting_delay: u64,
_voting_period: u64,
_voting_quorum_rate: u8,
_min_action_delay: u64,
) {
<a href="Token.md#0x1_Token_register_token">Token::register_token</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account, <a href="STC.md#0x1_STC_PRECISION">PRECISION</a>);
<b>let</b> burn_cap = <a href="Token.md#0x1_Token_remove_burn_capability">Token::remove_burn_capability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account);
<b>move_to</b>(account, <a href="STC.md#0x1_STC_SharedBurnCapability">SharedBurnCapability</a> { cap: burn_cap });
<a href="Dao.md#0x1_Dao_plugin">Dao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(
account,
voting_delay,
voting_period,
voting_quorum_rate,
min_action_delay,
);
<a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_plugin">ModifyDaoConfigProposal::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account);
<b>let</b> upgrade_plan_cap = <a href="PackageTxnManager.md#0x1_PackageTxnManager_extract_submit_upgrade_plan_cap">PackageTxnManager::extract_submit_upgrade_plan_cap</a>(account);
<a href="UpgradeModuleDaoProposal.md#0x1_UpgradeModuleDaoProposal_plugin">UpgradeModuleDaoProposal::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(
account,
upgrade_plan_cap,
);
// the following configurations are gov-ed by <a href="Dao.md#0x1_Dao">Dao</a>.
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="TransactionPublishOption.md#0x1_TransactionPublishOption_TransactionPublishOption">TransactionPublishOption::TransactionPublishOption</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="VMConfig.md#0x1_VMConfig_VMConfig">VMConfig::VMConfig</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="ConsensusConfig.md#0x1_ConsensusConfig_ConsensusConfig">ConsensusConfig::ConsensusConfig</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="RewardConfig.md#0x1_RewardConfig_RewardConfig">RewardConfig::RewardConfig</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="TransactionTimeoutConfig.md#0x1_TransactionTimeoutConfig_TransactionTimeoutConfig">TransactionTimeoutConfig::TransactionTimeoutConfig</a>&gt;(account);
<b>abort</b> <a href="Errors.md#0x1_Errors_deprecated">Errors::deprecated</a>(1)
}
</code></pre>

Expand All @@ -164,7 +135,7 @@ STC initialization.



<pre><code><b>include</b> <a href="Token.md#0x1_Token_RegisterTokenAbortsIf">Token::RegisterTokenAbortsIf</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;{precision: <a href="STC.md#0x1_STC_PRECISION">PRECISION</a>};
<pre><code><b>pragma</b> verify = <b>false</b>;
</code></pre>


Expand All @@ -186,11 +157,11 @@ STC initialization.
<summary>Implementation</summary>


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_upgrade_from_v1_to_v2">upgrade_from_v1_to_v2</a>(account: &signer,total_amount: u128,): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt; {
<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_upgrade_from_v1_to_v2">upgrade_from_v1_to_v2</a>(account: &signer, total_amount: u128, ): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt; {
<a href="CoreAddresses.md#0x1_CoreAddresses_assert_genesis_address">CoreAddresses::assert_genesis_address</a>(account);

// Mint all stc, and destroy mint capability
<b>let</b> total_stc = <a href="Token.md#0x1_Token_mint">Token::mint</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account, total_amount-<a href="Token.md#0x1_Token_market_cap">Token::market_cap</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;());
<b>let</b> total_stc = <a href="Token.md#0x1_Token_mint">Token::mint</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account, total_amount - <a href="Token.md#0x1_Token_market_cap">Token::market_cap</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;());
<b>let</b> withdraw_cap = <a href="Treasury.md#0x1_Treasury_initialize">Treasury::initialize</a>(account, total_stc);
<b>let</b> mint_cap = <a href="Token.md#0x1_Token_remove_mint_capability">Token::remove_mint_capability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account);
<a href="Token.md#0x1_Token_destroy_mint_capability">Token::destroy_mint_capability</a>(mint_cap);
Expand Down Expand Up @@ -221,7 +192,7 @@ STC initialization.
STC initialization.


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize_v2">initialize_v2</a>(account: &signer, total_amount: u128, voting_delay: u64, voting_period: u64, voting_quorum_rate: u8, min_action_delay: u64): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC_STC">STC::STC</a>&gt;
<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize_v2">initialize_v2</a>(_account: &signer, _total_amount: u128, _voting_delay: u64, _voting_period: u64, _voting_quorum_rate: u8, _min_action_delay: u64): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC_STC">STC::STC</a>&gt;
</code></pre>


Expand All @@ -231,12 +202,52 @@ STC initialization.


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize_v2">initialize_v2</a>(
_account: &signer,
_total_amount: u128,
_voting_delay: u64,
_voting_period: u64,
_voting_quorum_rate: u8,
_min_action_delay: u64,
): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt; {
<b>abort</b> <a href="Errors.md#0x1_Errors_deprecated">Errors::deprecated</a>(1)
}
</code></pre>



</details>

<details>
<summary>Specification</summary>



<pre><code><b>pragma</b> verify = <b>false</b>;
</code></pre>



</details>

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

## Function `initialize_v3`

STC initialization.


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize_v3">initialize_v3</a>(account: &signer, total_amount: u128): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC_STC">STC::STC</a>&gt;
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b> <b>fun</b> <a href="STC.md#0x1_STC_initialize_v3">initialize_v3</a>(
account: &signer,
total_amount: u128,
voting_delay: u64,
voting_period: u64,
voting_quorum_rate: u8,
min_action_delay: u64,
): <a href="Treasury.md#0x1_Treasury_WithdrawCapability">Treasury::WithdrawCapability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt; {
<a href="Token.md#0x1_Token_register_token">Token::register_token</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account, <a href="STC.md#0x1_STC_PRECISION">PRECISION</a>);

Expand All @@ -249,25 +260,6 @@ STC initialization.

<b>let</b> burn_cap = <a href="Token.md#0x1_Token_remove_burn_capability">Token::remove_burn_capability</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account);
<b>move_to</b>(account, <a href="STC.md#0x1_STC_SharedBurnCapability">SharedBurnCapability</a> { cap: burn_cap });
<a href="Dao.md#0x1_Dao_plugin">Dao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(
account,
voting_delay,
voting_period,
voting_quorum_rate,
min_action_delay,
);
<a href="ModifyDaoConfigProposal.md#0x1_ModifyDaoConfigProposal_plugin">ModifyDaoConfigProposal::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(account);
<b>let</b> upgrade_plan_cap = <a href="PackageTxnManager.md#0x1_PackageTxnManager_extract_submit_upgrade_plan_cap">PackageTxnManager::extract_submit_upgrade_plan_cap</a>(account);
<a href="UpgradeModuleDaoProposal.md#0x1_UpgradeModuleDaoProposal_plugin">UpgradeModuleDaoProposal::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;(
account,
upgrade_plan_cap,
);
// the following configurations are gov-ed by <a href="Dao.md#0x1_Dao">Dao</a>.
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="TransactionPublishOption.md#0x1_TransactionPublishOption_TransactionPublishOption">TransactionPublishOption::TransactionPublishOption</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="VMConfig.md#0x1_VMConfig_VMConfig">VMConfig::VMConfig</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="ConsensusConfig.md#0x1_ConsensusConfig_ConsensusConfig">ConsensusConfig::ConsensusConfig</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="RewardConfig.md#0x1_RewardConfig_RewardConfig">RewardConfig::RewardConfig</a>&gt;(account);
<a href="OnChainConfigDao.md#0x1_OnChainConfigDao_plugin">OnChainConfigDao::plugin</a>&lt;<a href="STC.md#0x1_STC">STC</a>, <a href="TransactionTimeoutConfig.md#0x1_TransactionTimeoutConfig_TransactionTimeoutConfig">TransactionTimeoutConfig::TransactionTimeoutConfig</a>&gt;(account);
withdraw_cap
}
</code></pre>
Expand All @@ -281,7 +273,7 @@ STC initialization.



<pre><code><b>include</b> <a href="Token.md#0x1_Token_RegisterTokenAbortsIf">Token::RegisterTokenAbortsIf</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt;{precision: <a href="STC.md#0x1_STC_PRECISION">PRECISION</a>};
<pre><code><b>include</b> <a href="Token.md#0x1_Token_RegisterTokenAbortsIf">Token::RegisterTokenAbortsIf</a>&lt;<a href="STC.md#0x1_STC">STC</a>&gt; { precision: <a href="STC.md#0x1_STC_PRECISION">PRECISION</a> };
</code></pre>


Expand Down

0 comments on commit 57e859e

Please sign in to comment.