From 37ef05cbc1e5526bbf3e7a0658d9209d34d0ea20 Mon Sep 17 00:00:00 2001 From: nk_ysg Date: Thu, 2 Mar 2023 16:16:57 +0800 Subject: [PATCH] Revert "Daospace support plugin marketplace (#116)" This reverts commit 6cccb7395721be0d5037b799830dd85b84658129. --- build/StarcoinFramework/BuildInfo.yaml | 8 +- .../GenesisSignerCapability.mv | Bin 716 -> 495 bytes .../InstallPluginProposalPlugin.mv | Bin 1249 -> 811 bytes .../bytecode_modules/MemberProposalPlugin.mv | Bin 1500 -> 1111 bytes .../bytecode_modules/StdlibUpgradeScripts.mv | Bin 2455 -> 2164 bytes .../docs/InstallPluginProposalPlugin.md | 53 +-- .../docs/MemberProposalPlugin.md | 49 +- build/StarcoinFramework/docs/README.md | 2 - .../docs/StdlibUpgradeScripts.md | 22 - .../source_maps/GenesisSignerCapability.mvsm | Bin 1304 -> 1304 bytes .../InstallPluginProposalPlugin.mvsm | Bin 4687 -> 3461 bytes .../source_maps/MemberProposalPlugin.mvsm | Bin 7428 -> 6202 bytes .../source_maps/StdlibUpgradeScripts.mvsm | Bin 7351 -> 6931 bytes .../daospace/dao_extension_point_init.exp | 28 -- .../daospace/dao_extension_point_init.move | 29 -- .../dao_extension_point_publish_version.exp | 184 -------- .../dao_extension_point_publish_version.move | 110 ----- .../daospace/dao_extension_point_register.exp | 114 ----- .../dao_extension_point_register.move | 155 ------- .../dao_extension_point_star_and_unstar.exp | 68 --- .../dao_extension_point_star_and_unstar.move | 87 ---- .../dao_extension_point_transfer_owner.exp | 168 ------- .../dao_extension_point_transfer_owner.move | 143 ------ .../daospace/dao_extension_point_update.exp | 64 --- .../daospace/dao_extension_point_update.move | 96 ---- integration-tests/daospace/dao_grant.exp | 16 +- integration-tests/daospace/dao_grant.move | 29 +- .../daospace/dao_plugin_marketplace_init.exp | 23 - .../daospace/dao_plugin_marketplace_init.move | 25 -- ...gin_marketplace_publish_plugin_version.exp | 234 ---------- ...in_marketplace_publish_plugin_version.move | 115 ----- ...dao_plugin_marketplace_register_plugin.exp | 84 ---- ...ao_plugin_marketplace_register_plugin.move | 117 ----- .../dao_plugin_marketplace_star_plugin.exp | 93 ---- .../dao_plugin_marketplace_star_plugin.move | 134 ------ .../dao_plugin_marketplace_update_plugin.exp | 67 --- .../dao_plugin_marketplace_update_plugin.move | 90 ---- integration-tests/daospace/dao_proposal.exp | 40 +- integration-tests/daospace/dao_proposal.move | 29 +- .../daospace/dao_proposal_rejected.exp | 145 +----- integration-tests/daospace/dao_upgrade.exp | 28 +- integration-tests/daospace/dao_upgrade.move | 43 -- .../daospace/stake_to_sbt_plugin.exp | 28 +- .../daospace/stake_to_sbt_plugin.move | 10 - integration-tests/daospace/xdao.exp | 48 +- integration-tests/daospace/xdao.move | 24 +- .../daospaceplugin/mint_proposal_plugin.exp | 34 +- .../daospaceplugin/mint_proposal_plugin.move | 9 - .../daospaceplugin/salary_gov_plugin.exp | 22 +- .../daospaceplugin/salary_gov_plugin.move | 30 +- .../starcoin_dao/starcoin_dao.exp | 2 +- .../starcoin_dao/starcoin_onchain_config.exp | 2 +- .../starcoin_dao/starcoin_upgrade_module.exp | 2 +- sources/GenesisSignerCapability.move | 11 - sources/StarcoinDAO.move | 5 +- sources/StdlibUpgradeScripts.move | 24 - sources/daospace/DAOExtensionPoint.move | 393 ---------------- sources/daospace/DAOPluginMarketplace.move | 423 ------------------ sources/daospace/DAOSpace.move | 52 +-- sources/daospaceplugin/AnyMemberPlugin.move | 27 -- .../daospaceplugin/ConfigProposalPlugin.move | 28 -- .../daospaceplugin/GrantProposalPlugin.move | 30 +- .../InstallPluginProposalPlugin.move | 30 -- .../daospaceplugin/MemberProposalPlugin.move | 29 +- .../daospaceplugin/MintProposalPlugin.move | 30 +- sources/daospaceplugin/StakeToSBTPlugin.move | 34 +- .../daospaceplugin/UpgradeModulePlugin.move | 27 -- 67 files changed, 134 insertions(+), 3912 deletions(-) delete mode 100644 integration-tests/daospace/dao_extension_point_init.exp delete mode 100644 integration-tests/daospace/dao_extension_point_init.move delete mode 100644 integration-tests/daospace/dao_extension_point_publish_version.exp delete mode 100644 integration-tests/daospace/dao_extension_point_publish_version.move delete mode 100644 integration-tests/daospace/dao_extension_point_register.exp delete mode 100644 integration-tests/daospace/dao_extension_point_register.move delete mode 100644 integration-tests/daospace/dao_extension_point_star_and_unstar.exp delete mode 100644 integration-tests/daospace/dao_extension_point_star_and_unstar.move delete mode 100644 integration-tests/daospace/dao_extension_point_transfer_owner.exp delete mode 100644 integration-tests/daospace/dao_extension_point_transfer_owner.move delete mode 100644 integration-tests/daospace/dao_extension_point_update.exp delete mode 100644 integration-tests/daospace/dao_extension_point_update.move delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_init.exp delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_init.move delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.exp delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.move delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_register_plugin.exp delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_register_plugin.move delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_star_plugin.exp delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_star_plugin.move delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_update_plugin.exp delete mode 100644 integration-tests/daospace/dao_plugin_marketplace_update_plugin.move delete mode 100644 sources/daospace/DAOExtensionPoint.move delete mode 100644 sources/daospace/DAOPluginMarketplace.move diff --git a/build/StarcoinFramework/BuildInfo.yaml b/build/StarcoinFramework/BuildInfo.yaml index 922f029b..9f795b98 100644 --- a/build/StarcoinFramework/BuildInfo.yaml +++ b/build/StarcoinFramework/BuildInfo.yaml @@ -66,12 +66,6 @@ compiled_package_info: ? address: "0x00000000000000000000000000000001" name: DAOAccount : StarcoinFramework - ? address: "0x00000000000000000000000000000001" - name: DAOExtensionPoint - : StarcoinFramework - ? address: "0x00000000000000000000000000000001" - name: DAOPluginMarketplace - : StarcoinFramework ? address: "0x00000000000000000000000000000001" name: DAORegistry : StarcoinFramework @@ -318,7 +312,7 @@ compiled_package_info: ? address: "0x00000000000000000000000000000001" name: YieldFarmingV2 : StarcoinFramework - source_digest: E084083B9449F396039B8495E0E69BE4F2537E6F6E63F8187394FFDA78F1A9B2 + source_digest: DC60876727975D2C568C06813162A81120B13D4F6A6B636E13364139A16514B3 build_flags: dev_mode: false test_mode: false diff --git a/build/StarcoinFramework/bytecode_modules/GenesisSignerCapability.mv b/build/StarcoinFramework/bytecode_modules/GenesisSignerCapability.mv index e97e30f18af5d3169ea19566b8a0cb68b3832438..741517c93d8cd706025b7fa19e95efb34058cccb 100644 GIT binary patch delta 147 zcmX@Z`kr}$xK}q5$5kc)wx>*7T<@9Kc)l`O@UCTM;$P3q$H30O!NAGD#lX(Nz{tbG zz`)JG$iTqM#K6GB&%naKD8S0dz$D1Vz`!WP%EG`bJTXzqfYm7{KRKJr#nIm}IXS;H yuY?=O3`$MUEG{XkWOq-^OD)bUX7+OnVe>CaOwLK2oWLkLxs&lRBj4m)CT{@1ogY>J delta 387 zcmY*TJyOCz82vWc1PmYnq9|zNDQLkTMx6*_@Bm9#GdrxincZbZDy|@7Z)I(5<#+%~ zZ{Pv!982Q_3cBz8eDA$)`@?x?UVPfcC+xc~*z;boTYkfx$`7`xzxW7hP=^KtP%8r3 z#Q-~i0GbwnwGS9j%RykZT>y08V6YFDq_wDa#XO{UW2%OHmN4P;xQwU4u@tu~87i4d zO?WPOC*46ej^#|4T6Uh^8!9xDVkns~LB`~^kf?XhZm_Xf5Viu$s5Ar55 tWJ04@vDD~B2K|2=%E^q=+_`-JLVJ(T=rSlk5w^gC5|p6=+fW4`{s7c2b<_X= diff --git a/build/StarcoinFramework/bytecode_modules/InstallPluginProposalPlugin.mv b/build/StarcoinFramework/bytecode_modules/InstallPluginProposalPlugin.mv index fdaafbbde468952b822fb23d308871a5436491e5..7f2efeaea0ffb7342172170bc576cc853ffda581 100644 GIT binary patch delta 264 zcmXAjAx{KB42AnTotf^;+}-Z7fFUUG$m1Ld8UzUl6uIER5)v#qMR+2C_=LV_@!O;%wP+vR@T!-)tc7>L{T4J+-I zvEKwpf=?mEpdHrIP=<$}CxtQ^d!T+`x6#9cn+a delta 712 zcmXw%O=}cE5QeL2db)dhI--P@faxYCL zipv*Q(cPwlYv3>4a)6erbY^z-8`Q;OWu z5>cZ|F!V71lvs(J#+4PVRsfu99>By<*$5@!_&MHv(AwMGKS)l8HhmiBuT7aH@v)H( z9%e3Cd~8xv*y7L*QaBrVD~ zNv794$Vb_zh-a0e`}dxmnC|q*?yFJWwNv$fl+E;t1V8I-Zg2J!ZEo1qy=PRFf UpaGMOT3>0HgGQqthHeV~0f?4}FaQ7m diff --git a/build/StarcoinFramework/bytecode_modules/MemberProposalPlugin.mv b/build/StarcoinFramework/bytecode_modules/MemberProposalPlugin.mv index 4a63924773c82d9938ff0086507502b1fe713e81..fb38d9d9d41c623d7b18ac8c41b7b1e21b35c642 100644 GIT binary patch delta 380 zcmXAlJ5Iwu5Qb-F$LoFAUOR6msi>)_EIK4ahls=pLS!MNKtd2THMFil;sjI_IRXs@ z5<&=WzzOKs4bAt@>!0HPwjb)|ar|Q$05pOjvn94K`5p(+GrnVdC!T~_%iO%kR`MlZ z(cd8u2w;eUNdhJ@V4KL#5xf5?L>w;t5*cC&R3cDwpos#l3`}R}{T*Y80cDyA21Zr1 zHrg|7KNfx0_0I=A^bN^@7se7x;GrA(#VC~H5hBD|CE#>owCyCCT-s;n%A#z#xZWiV z3Rosaks*PK&}g98Lqq4VK0m2flhtCmxSGx<^Xt>I3$?#@biAC->ZYdK=9k`@oDT{h w&LYRTp~4Unwwh0V*goEY32tN56R)2=< zE5`gcz98q1^@)i$V!{3(3i;M;s*mn-GGYV*3m9;)!Ku1!puhoY5t$m&^8Du9K~off z$iSs4N~?+_!a|3GHlj&M=lzgcY`IfeWisav3j@+ z{0bTdS66&w_8RsKj<1->Osp9VqjikI-Utj&S1WjJ-4uoEDhQl9zN2-kcYVe?Rz@YWm+Dlqf8gKhxza*9jDXt*>`;9$uvu+ z>2RDr)3b;4ZLc}f)4^!oFevK|mQ6Ap6nd1FQ(X-5dJ)$r`SiS%pB|0V^7xV*oav%W zC)uoT-Mx_1?ew4S?C$RClOtUm6q9^X4#)F%N?KceaIE9`u=w$$h)-%+oL}lBIrdq9 zYiFx3>BjXmGf&@~t9Q4z=i1Hx+RFkE3we_*N{S>gBwU)kwBG4TNL);$ zst&kKRF-k2<&ck&50PUf9&zI-v^@wN4<#jvY-35}KGbQ0D$hA0j1pf#1Hx7kc*d^( E0Ll-4zW@LL diff --git a/build/StarcoinFramework/bytecode_modules/StdlibUpgradeScripts.mv b/build/StarcoinFramework/bytecode_modules/StdlibUpgradeScripts.mv index 9e60ae09c8c723a03f8330e20be49e9f63d0d975..5857c3391d8e1aff820a07d3a56b937ae823f6f2 100644 GIT binary patch delta 564 zcmWlWyKfUg5XNWr_HOUxyIbG+?D%b;?iV%tg3%w zUs1g0pH1_J8yJ7w=kAxnKlWxcys|6-o+kkJI21=N0)}HnO#=i7?Jx1xMIvbL9n%87YXb^* zfWU+hL*>1J1uzqjtV-d{0u9-R0GwOJ5P5jJ1jw}mBwd`8E6BaO)f(uBG8$II^As2P2ShWzW?-WHGg$BPfybIW|8He zv`LQq_`?am)==d8=6K*UMwc@@8)QHsDT)-K0|Jb>LC-};pp5d@X8WKt1skU5fUGc` z`dpX1TQ1t*psZ55<}!!LIy2~JeCdH~I3RID?9yIhX@2@^=D#zu^8VJ}8kGq%8}tHaEw$U0Hn$$rOFKHMTR6-N|^v?OVJoamSsT1tRcXJ zC@b803B^GzCzzEhv=#>#kSm~raW!cm(Y}`Acf5|6&TXVKNVINdb3p3MA#Un6t2Ock z1i7tIRui{v=FaXw6ztvN7!vcfah5P{O)wT?W6BJjHRr5(vtm`PMRUojnJeZh1th6h zQU#=9Rg4JXEA&m*>fW=a`{c+C_Pb~8ju(13bH{A>-f^eBANZ$!&*`35;tfA=>#bJc z_IhrQZq@g;pY~m^*YUl5zvJ~ymN|Deo#4dnpLU%`ZukaQ2gYvTc>UpSx!Yc^?{qJE z57)H2j@LeO+U^54;O)(e1&7v2HrdSKbHcry!^qz8u^Z@nUgNRT@&4Z<{DEz%AM~9Q z_s~DsJiNH5B-Bmg{%JdKT5i*Cops&w!pB|Vvyh@xqdKKDNeyb!6t!rYX2LkB&W>Qr zeyEg?fo56cSlBG`3J{Rm5_=)+BZwA4mlSKG>mb8AQh<)*2s@{$%sZhX85BfIEIp}W p1=A@kvG=Rd1kma56IoHR36K$8P-R*U|Bw<|4((_WmBZ`NwSSiwojm{m diff --git a/build/StarcoinFramework/docs/InstallPluginProposalPlugin.md b/build/StarcoinFramework/docs/InstallPluginProposalPlugin.md index b23499d4..b7f8cbdf 100644 --- a/build/StarcoinFramework/docs/InstallPluginProposalPlugin.md +++ b/build/StarcoinFramework/docs/InstallPluginProposalPlugin.md @@ -7,17 +7,13 @@ - [Struct `InstallPluginProposalPlugin`](#0x1_InstallPluginProposalPlugin_InstallPluginProposalPlugin) - [Struct `InstallPluginAction`](#0x1_InstallPluginProposalPlugin_InstallPluginAction) -- [Function `initialize`](#0x1_InstallPluginProposalPlugin_initialize) - [Function `required_caps`](#0x1_InstallPluginProposalPlugin_required_caps) - [Function `create_proposal`](#0x1_InstallPluginProposalPlugin_create_proposal) - [Function `execute_proposal`](#0x1_InstallPluginProposalPlugin_execute_proposal) - [Function `execute_proposal_entry`](#0x1_InstallPluginProposalPlugin_execute_proposal_entry) -
use 0x1::DAOPluginMarketplace;
-use 0x1::DAOSpace;
-use 0x1::GenesisSignerCapability;
-use 0x1::Option;
+
use 0x1::DAOSpace;
 use 0x1::Vector;
 
@@ -75,50 +71,6 @@ - - - - -## Function `initialize` - - - -
public fun initialize()
-
- - - -
-Implementation - - -
public fun initialize() {
-    let signer = GenesisSignerCapability::get_genesis_signer();
-
-    DAOPluginMarketplace::register_plugin<InstallPluginProposalPlugin>(
-        &signer,
-        b"0x1::InstallPluginProposalPlugin",
-        b"The plugin for install plugin proposal",
-        Option::none(),
-    );
-
-    let implement_extpoints = Vector::empty<vector<u8>>();
-    let depend_extpoints = Vector::empty<vector<u8>>();
-
-    let witness = InstallPluginProposalPlugin{};
-    DAOPluginMarketplace::publish_plugin_version<InstallPluginProposalPlugin>(
-        &signer,
-        &witness,
-        b"v0.1.0",
-        *&implement_extpoints,
-        *&depend_extpoints,
-        b"inner-plugin://install-plugin-proposal-plugin",
-    );
-}
-
- - -
@@ -169,7 +121,6 @@ let action = InstallPluginAction<ToInstallPluginT>{ required_caps, }; - DAOSpace::create_proposal(&cap, sender, action, description, action_delay); }
@@ -195,10 +146,8 @@
public fun execute_proposal<DAOT: store, ToInstallPluginT: store>(sender: &signer, proposal_id: u64){
     let witness = InstallPluginProposalPlugin{};
-
     let proposal_cap = DAOSpace::acquire_proposal_cap<DAOT, InstallPluginProposalPlugin>(&witness);
     let InstallPluginAction{required_caps} = DAOSpace::execute_proposal<DAOT, InstallPluginProposalPlugin, InstallPluginAction<ToInstallPluginT>>(&proposal_cap, sender, proposal_id);
-
     let install_plugin_cap = DAOSpace::acquire_install_plugin_cap<DAOT, InstallPluginProposalPlugin>(&witness);
     DAOSpace::install_plugin<DAOT, InstallPluginProposalPlugin, ToInstallPluginT>(&install_plugin_cap, required_caps);
 }
diff --git a/build/StarcoinFramework/docs/MemberProposalPlugin.md b/build/StarcoinFramework/docs/MemberProposalPlugin.md
index aae9005a..f617d08c 100644
--- a/build/StarcoinFramework/docs/MemberProposalPlugin.md
+++ b/build/StarcoinFramework/docs/MemberProposalPlugin.md
@@ -7,7 +7,6 @@
 
 -  [Struct `MemberProposalPlugin`](#0x1_MemberProposalPlugin_MemberProposalPlugin)
 -  [Struct `MemberJoinAction`](#0x1_MemberProposalPlugin_MemberJoinAction)
--  [Function `initialize`](#0x1_MemberProposalPlugin_initialize)
 -  [Function `required_caps`](#0x1_MemberProposalPlugin_required_caps)
 -  [Function `create_proposal`](#0x1_MemberProposalPlugin_create_proposal)
 -  [Function `create_proposal_entry`](#0x1_MemberProposalPlugin_create_proposal_entry)
@@ -17,9 +16,7 @@
 -  [Function `install_plugin_proposal_entry`](#0x1_MemberProposalPlugin_install_plugin_proposal_entry)
 
 
-
use 0x1::DAOPluginMarketplace;
-use 0x1::DAOSpace;
-use 0x1::GenesisSignerCapability;
+
use 0x1::DAOSpace;
 use 0x1::InstallPluginProposalPlugin;
 use 0x1::Option;
 use 0x1::Vector;
@@ -97,50 +94,6 @@
 
 
 
-
-
-
-
-## Function `initialize`
-
-
-
-
public fun initialize()
-
- - - -
-Implementation - - -
public fun initialize() {
-    let signer = GenesisSignerCapability::get_genesis_signer();
-
-    DAOPluginMarketplace::register_plugin<MemberProposalPlugin>(
-        &signer,
-        b"0x1::MemberProposalPlugin",
-        b"The plugin for member proposal",
-        Option::none(),
-    );
-
-    let implement_extpoints = Vector::empty<vector<u8>>();
-    let depend_extpoints = Vector::empty<vector<u8>>();
-
-    let witness = MemberProposalPlugin{};
-    DAOPluginMarketplace::publish_plugin_version<MemberProposalPlugin>(
-        &signer,
-        &witness,
-        b"v0.1.0",
-        *&implement_extpoints,
-        *&depend_extpoints,
-        b"inner-plugin://member-proposal-plugin",
-    );
-}
-
- - -
diff --git a/build/StarcoinFramework/docs/README.md b/build/StarcoinFramework/docs/README.md index bfdd2d71..6369a48d 100644 --- a/build/StarcoinFramework/docs/README.md +++ b/build/StarcoinFramework/docs/README.md @@ -32,8 +32,6 @@ This is the root document for the Move StarcoinFramework module documentation. T - [`0x1::ConsensusStrategy`](ConsensusStrategy.md#0x1_ConsensusStrategy) - [`0x1::CoreAddresses`](CoreAddresses.md#0x1_CoreAddresses) - [`0x1::DAOAccount`](DAOAccount.md#0x1_DAOAccount) -- [`0x1::DAOExtensionPoint`](DAOExtensionPoint.md#0x1_DAOExtensionPoint) -- [`0x1::DAOPluginMarketplace`](DAOPluginMarketplace.md#0x1_DAOPluginMarketplace) - [`0x1::DAORegistry`](DAORegistry.md#0x1_DAORegistry) - [`0x1::DAOSpace`](DAOSpace.md#0x1_DAOSpace) - [`0x1::Dao`](Dao.md#0x1_Dao) diff --git a/build/StarcoinFramework/docs/StdlibUpgradeScripts.md b/build/StarcoinFramework/docs/StdlibUpgradeScripts.md index 66b1d67d..05f2ad8b 100644 --- a/build/StarcoinFramework/docs/StdlibUpgradeScripts.md +++ b/build/StarcoinFramework/docs/StdlibUpgradeScripts.md @@ -23,35 +23,25 @@ The module for StdlibUpgrade init scripts
use 0x1::Account;
-use 0x1::AnyMemberPlugin;
 use 0x1::Block;
 use 0x1::Collection;
 use 0x1::Config;
-use 0x1::ConfigProposalPlugin;
 use 0x1::CoreAddresses;
-use 0x1::DAOExtensionPoint;
-use 0x1::DAOPluginMarketplace;
 use 0x1::DAORegistry;
 use 0x1::GenesisNFT;
 use 0x1::GenesisSignerCapability;
-use 0x1::GrantProposalPlugin;
-use 0x1::InstallPluginProposalPlugin;
 use 0x1::LanguageVersion;
-use 0x1::MemberProposalPlugin;
-use 0x1::MintProposalPlugin;
 use 0x1::NFT;
 use 0x1::Offer;
 use 0x1::OnChainConfigDao;
 use 0x1::Oracle;
 use 0x1::STC;
 use 0x1::STCUSDOracle;
-use 0x1::StakeToSBTPlugin;
 use 0x1::StarcoinDAO;
 use 0x1::Timestamp;
 use 0x1::Token;
 use 0x1::Treasury;
 use 0x1::TreasuryWithdrawDaoProposal;
-use 0x1::UpgradeModulePlugin;
 
@@ -401,18 +391,6 @@ deprecated, use do_upgrade_from_v6_to_v7_with_language_version.
public fun do_upgrade_from_v12_to_v12_1() {
-    DAOExtensionPoint::initialize();
-    DAOPluginMarketplace::initialize();
-
-    AnyMemberPlugin::initialize();
-    ConfigProposalPlugin::initialize();
-    GrantProposalPlugin::initialize();
-    InstallPluginProposalPlugin::initialize();
-    MemberProposalPlugin::initialize();
-    MintProposalPlugin::initialize();
-    StakeToSBTPlugin::initialize();
-    UpgradeModulePlugin::initialize();
-
     //TODO : config rate need mind
     StarcoinDAO::create_dao( 60000, 120000, 10, 10000, 1000 * 1000 * 1000 * 1000);
 }
diff --git a/build/StarcoinFramework/source_maps/GenesisSignerCapability.mvsm b/build/StarcoinFramework/source_maps/GenesisSignerCapability.mvsm
index 419474011b5833894d5984087365e57bfba604f3..c9fecd14646cc3a2a1c5f7895744fa6081b86f61 100644
GIT binary patch
literal 1304
zcma*lze@sf7=ZEjPBZ#pmX$#*K@`yzQDYFtAr0zq22F{I#DR)6rYgJV`&41%ifzLLI%8`K-=YY6hkjFG;EFXn}j`WhmrHPY8G
zj+&%^y0A8z
b>Vd?Vu;YnjDr(1VXVXb-SXN>yo)q~3TRi~-

literal 1304
zcma*ly-NZC7{~GFe1l4}t~Y2B!lvtcEk*D)-GkDsVp88s=N5?Y7nfu$?
z{KM#yYYvLYI2rW+XAHy(rGjHSDSNe4sKj#R+={(!S6!g1+-!J7Odr<_O-4~8Gf6w=-@{oH+X`hh+(4aB3x6rk
z>n}FP@&ugUskOIN0#~V(6>7Mx=5Yz@Gdu!cNT1;h^-B5-A-j?XElPM|H`{Lq%PZ
zpvX%fbO;ja5E7k=4v|52$?zJ1N@)?=7xkNTqE7$Wh2LS}_dM^s&&>SiT`jrO`*F#g
zIy_gpf2woqtGk~T=FW{Z94v`!S}t99aKG6Y(*+^;_ZO<`NW1w&D%F)5?03>#xlA_W
zCf5HI8M7+-F4N4SX{f3v^IxYPRT-nI-m6q%6H<#O%8Pl(#msoSlRbUY(mU*D3PVt2
zwYPT4T@7QNgo4L$mZEX6BCefI+Br3q3EZ0y%h>~iPR>ro`x04KRo$cF5tJouw=d^p
z^G+tMYF^^cLV2Rk)8k1yl{l`7-c#@y!jZKq?T
z08^>&b~WBkD3TAG-!&}FG5TEuOPXz1m!Mdh{tP10d_%u?5S8X_tR>hWP5*9{NOL1^
z*k&k|W-ZnhD3j(ktnE-P%^g_H5R>K}tTw2S<~JtPj#(v5&pH4BlIsXs3W9~qG0Xud
zIAl&xblzJgV8~p?y$WU7_3uL5NvgN=7XBnyHO|_XC7%8BY4P$&)z(FfX@v5>>jfxU
z^%g5GGzs%mj6%>5dBQ5s!PMvwnZ}z39U^{L9U>iEYd7c+iDDfB9U}hZbcoE;Zv}LS
ze8u_&Iz&R=jRqYeWAuw*>JaJ0JPkTT{QIv%WQ3JZfew*fSfijr#DCB$Wr)nuZxM9d
ze8Bn+)w1UWtRGM#P0#uX0UqW0s4-0tEW&nU?uCLQtd*i}Z<&A*b`&=ag+$m0{u%Jz
zHaVilh)+QuPoH7E0v!wESTmqw!LwdN0M+3PJp^2;738dV1^1fg(_RJlB;E_qLzuvt
k20a9SeLaLl`h5YNjVoBS97}aJzQwG=)Y;g8)d*E4tmkXjOBuUApMJeqPHqT*?xcZ$n^;}Fn|Nnd5_dVx#-jn*+{^jZ1
zTf0`Z48_h5Z|RR0ZHi9${NmuSJKXu>Kx6L$V@y4S;O}2(+6pI^Po&fJ>6Xp5Q=iSa
znOtJzUx6_x(YKX`9T2K$$o$i(K~)~6s>`cX;tiyGo+vM73D$bhJ$-YGp5e@>G1X8I
zSyr<~&T0YXA{g~@)Kat-BGH`Xq^zu3l?}KF7@M`Wwb)rJ6;CGIoT^Gw(F&z0E0@gL
zZr;u~s-^?~D3m3Vo*qwG=|rn4>Z0HhgrmQ!l)t{vm?j7_3*~;J?=Tc@xATsblaubn
zy$_~b@AgBy_fQ~jHot3FnoF72Du_rkgjEM)r0K6gRGLTVcNz+%nZ&vXMbh+lt5}+k
z>Gu>$r1>1{6_iTzHC8{AN%I}nXBaEZL9BuzW5!AI8fF-?LYkfxfdI)h4Q)0A3z<2X
z^I+5=vxuS<-Y@|}W-abID0N5P3voN8p3Wq`1Cf~h`^^$}f4y3~d{VV9U|xG
z*8@64u3_B-9U`}}?t>1I`}bkym2s5bL0_hTIg9Sa+=PJoUD&pHVK)K8p@zj>!)6RAj9E~m`6wIlClY$q>|
zQ0-x3I$?s{?53?|%gG0?T}jjz*a>Ak9=Z!PG(@~=Yg
zRTup(fZnU?ST8|G_yATVbJ7t$18W}W2ydk4VoV*(O;|fY2eZGmI+#z=uLpE6`?s17
z=127V06K2{dql_WYM%H;&~cl@+6p>uTd~?e$L%4kGcZA>&cPA0QkvbEeNZLMD@a;TFnnUbQIp$<(dR7GlcsypIReP!lMS^_wHsG%Fe2(tw2-=Ld2XsViz}gEs
gBK+}nM4Y4FWzZ4Pjr9z4L>$9<4mu+Gu?E1HpHQ%q0ssI2

diff --git a/build/StarcoinFramework/source_maps/MemberProposalPlugin.mvsm b/build/StarcoinFramework/source_maps/MemberProposalPlugin.mvsm
index 5cbe9a66cad4862d2e22cef22a8890269db5b41a..bc49ed0b1539bfd00ed601301a2f0c8f7e07db62 100644
GIT binary patch
literal 6202
zcmb7|ZD^Hc7{~APvUBD(U*_iK6q~(mp-I_VL6PYel!-aQLZLdG?L5lUdD%SAF^PgK
z!eSBh!Axlrg5ifkNtzJ`)u?4AK?Gt^l(SEnj7XZU7wq?Rx}$IZ`#JFY_Pg)%JlAz!
z_jU2)H#eOqe*R^{y~o-+3-2#D(z1BP@?he|L+#%-&#c@({%p4~WG-7m$B$%_rwu+szKZb@YhVELfDr*WQl@b==2I(XwaA3#k0b3Il&
zn3#G-Yo_(<93zOIKrDIBx=owa#*>&QA)N}mQqC(Y|0~?Dp+4sY17&}x;t!V8nji6}
zAyxb*XM!1f?9DM_A03LOMWF2^jFk^JCJ*z
zAv+Mhb0+5%vQMf-_p{((NGGnpcD0gQlg2Cq+*_2p60fW3b}4rq-iE4st8%yE^+T%q
zmP-GHcbkF4Kz2yE`|(~6W3kJxl)NBN{^Phiz_jQyU%?xOxGXulYeJgeu-_CUrFjtR
z9MnkD#vmn4dl+h^X^%pkH0?oXkfuEb^Q38?bG|g~b1smk{r5&`+BaG#%~|qO;9xgN
z)1K*OX}-dKdts3@_hF4di!={njX|q44`CgJ#nOBS>qBUh<`Y;S!BT04)&w|oxhb?6
zaBE1HF#iD8hLo(KQ$Uo4)QsN_jtyxQY8OOkNNdpV1NVmX5cXr>+>r9f0Yqv@PqE+y
z;K}r@dKhsW^dR#t)&%JL_hYP+pzq&PSf@eXzh|({g1&#xVVwtk|6ahl3~5;juVKxC
zzNtg&cW?+(W6GGT!L4Sl!R&yz;}CZfZa35q{X2bU{G4jXYwg3ctB#@>hq+}8{RlMt7c7TGFY`YK!e}`TI~m+s6Q|3wQS??5N#d#s;8C+BCZ
zOQ2iXZmi3oTUlt$f`i&tXUuKjmhjs#?*!L`_u{UHC<%WM|51pP@H`84LHNot;bVwz
zfll~gtoJ}C{5aO9pcB3a>jdb8ht_A{F#k{SS#~=7G)p3x_vF{Ad3>~72+S}tT%CA5
npu@EYs~2>*?EmX<^|N0dbhwIG!=US<59=k+quv3mQ84Cjo~~7q

literal 7428
zcmb7|TWnNC9EYd3-Cnk(NG(!>k(3%kj98#*AwJZINJMGD7ZJN|+e10ny|}v#TB8I-
zNi}$jw%#ggsU{E=TOR~sG>WDqhzSu=tvoash~Yt^Ni8)RzhgVbx8Lk0-`h8{b7tm$
zIj5<%PjJ=QkK*)I%rp|rR;bKTtP`NT37lUXyh}Lw4l7)MQww?WpHs}Z
z3rwC`qcw~57Q5M@`&-*$ClK#!GZ~Y31LFdk2(tc$xOJpUV2lgc`FE
zzZF99e~(=0U8rd&_2aQlFWM2y#?+9<(04=0%#iMMmm2Xh_5c+72|pXnv}M(R{m8=*
ziM0pM9PRMBVvndnhZ*ny^AaY|I|OU8dYO@CIkx<;wjS@5qe1Lb=EAPC{tr
zDV6>J>Xu;Y_E<`}#du{9-tK1;UM8dbAKAAFFxC3b|BN>c`7-3}tOe3s%UWBYP?{B3
z8=y#z=NxI;byiB#{`*{M+9$e9nm*_A6U>vQ
zz0+0FG-TsKxLlectO!&~vjVFM=1a30YY|)_&04Ibut1vU*r6LRuastB)q_KoYeCxr
zZUw0m^FeSeNLkz-$fY3d!haqd3(^4UAmmVxK1BZ%+zZmz*eAfbAdMrRg`5h~1qS>9
ztW0Osg*b~rH!{~?)q~Ez%dr|k=igOWt3l`AHCWA{^X~?%O`!AdW~{9cmXQ#~@UXGed=UQ#gmZ|3ou$S+3+_>{2fGiP
zqhLGo4sZiL4QpKwI@lsu&7gzL?tu=rv&?r9bg=z~H3d4@rm>1Rwh|e@uVaQVbpzFk*$-uM
zPJ8opt7UI|xt!Bpb={QNTdte3O+0rS=%#EDRy*jX%m$2Z%ARDt=Rh}QFJSe7ZpwzR
zJ_6m8y^3`ZbW`>@)+p$vY#8ep=%(yA*7u;BvN+Z$sF61$uug+Rb)7_uL|h9@Ip$n&
zEig5>S3@oZW(j@+1W8Cf>1M=s(5;Dwl>(hDS7SW{I$H)-8XVH)?R*Go2HeUHFU2>O
zsP}L-mGl!?`35{%V9XfI^W&*5FYYC>?qhoy_a=lgerG~|)`_viPH?SPMVwIt2nl&s
z+nBc>^jXo)he6jXd$hV<
zjWgdQ=z3+Znyy!KIQ2TvRmk2EU4?cq-_xM0&?{I2psUaUtWQ8!p`%!1psUbVv!<>>
z=P{>1SD|yWrmjMvB4e%xU4@o1XCtPrLV>js94>t?3GZ!idnI`Xa|j9?Ur9c|9f4e4
z<3Gb6g`D1iPcdKug6Ng0tD)SORiIPXEm-S7r>?uP?ggE??!)Q?ow_daKwB|&>Iy6$
z9CBAL+I!%3;O}D|0M`Q_!94`I9Qc>`-$G6YKF)yi5bTaT@Tv+vet|ylg;>{uKJX=2
zH-bL!NtSsNrath%x)~f^nOb=4)*!?=NZwp!*YP;+6M@gSK=o0eA8#1+c0GkP0(!gb
g|Lg5K$$aCWx9benH0b#F0_#uErM-mwQ4YrZ0|9OejsO4v

diff --git a/build/StarcoinFramework/source_maps/StdlibUpgradeScripts.mvsm b/build/StarcoinFramework/source_maps/StdlibUpgradeScripts.mvsm
index 9f090ea69f8e57d07fb7a75c2315d4931852730a..45ef7d9a9fcf81cdf8730f13e40ee4b5d6febead 100644
GIT binary patch
literal 6931
zcmb7|Z)jCz9LJyCwLfli+udfCGyml7%(eC>=E_!>5J(hrbJj{&m)pI^d2#pNaqhLX
z%K0X%H_MgIF_$Emn59Or8lw`8Kp_iZ5ZOO_v7%s&z=^Vu`aIEr-hGb;KJPx~cYf!2
ze$VeY&zbnXaV)3xh0ZtAO~*%$Hl6Nl9qkXCITGsn?!^m5&pdFd-5BFQ7X1Ips_4kX
zdg9MM(cA4tVopcYjrV5KW}z_?BI0DZF;if#Y^_hD-heC_xUj;QDhNo^S|RWebR6xX
zRk`wXwxLDF)PT;m7VBQn**0M{L$-Xc`>`H^Tco)j>nX^QW)arYkSk4VZ3Q2%)KX|n
z2biqfw3CcEt}2=>$Xg+h6Hi3C9i^WrGUh`lOgQe29w+RkQW@yamuG&f*1L!Nx26p8>j%8NOg%Z
zwV+G24yzt?sb1sZ4Vb!At3gehKR`=%qf2^)u+DzAk9YdeBQf
zi1je&rEaYa;3Lr=(B`b_cbB+|{1*hWqmf=!1vO>#2gt!))u`dAGDBGVK$lDmYd`3c`4wvhbjf^;^#|yZ@y1^74wZZ;E(5(g
z{LPb>W9r?Z4yzt~y!=V}$px?l8}Cl)&zi50ry!7@h$l1Q9ZtWh!{Y^f*+5=u+cw8_
zV#=Q-`c<0}dy#TO#H|Hgw{=*ppzHQJ&)$To>(|)>w=!zOZJqWs@
ztTko>>tTJIT3*
zPdJ^4h9e0-H_mfYK@Lfk_r#M<#0~ewGuvZsq%Z7alWXD3+6un=%eq{)XIS7hq_pZ9
zpOD)ZkZbSI4QV&Q_ds?s)u%!il6f)Y_Bw7nC41dI!j3{gIumg-;Y>Us4~nm%zX3V_
z&Wg(CdCXl$2D$@3g5`idS9+^XpDQPccNU6eS3iXH
zIh07#TQ_>A@RmzZ#`KnXnKZpcRW8k0-sT!qNb@4rbyy_LAnj!h+$v4487-FPOT-(5
z+oZV{Yd_pB&0(xDSRzdu&)SvJJcM-wmP+#&)_ZV=G*4npz%psRk97i;OY<%Xl4c!N
zJ*<)DH$1%ovqqZMY6Ksxwu?iHYk#8o{Q;0h?zcDi`8fRm@ng`N?GV<44XbNn*%wC((b*>y9&ZU&HFwl|Q6
X9EOh&KLtGuZ()4~dKj#A8jSe|^Fk8)

literal 7351
zcmb7|Yitx%6vuCO>GlO>p@p_vRInfq1N9MT3qna#jgpw4sHFw6tlMe3vX45ufCj#R
zk@7`+L<==g2(L(@1|JkdtPoU;s0kR(RJmY-_v%!>&3dkr#AP$+tB~Q;!gwTo2s||x%2^Jj01V_|6gADvRr#I
z@#w?doo=k%Sr&H_-MOq8V@#Kb`2GZAz6JXWYW)go!9<&Y3OoU84g{oWty=IA^f=l#
zR^>NNXZs6kNrj)lRagr^XS)Qe6N2)-)?#gkQPMnsbqeyOc@Ap?Leea$G-fswNOJ+!
z3MiCj0;>m#r1=uo02E8JsLGg9D3N9uYa)!6W+hex#z=D#))Xj}W)0R|Fjktsao-Cu
z!_u_YBJfdm&Ghn0FnOV@lWuoh)qksy;}FPCq+*?p(vOrHa|}vSj=Lu5MBPj#r>=Pr
ze-*HL@>chf$}6A;$40C}HgOsAG}al=t#}mcEa+A&=UyV9TXBSV)tI^!8?YKdx8h8!
z#h_a;GS-;Mpj&Y@@%Djk#aiOc1Ko;)#2W(Lib3Kn0^N$%Y6KsT^W(5F--GXFxQKko
zUO)xNvZ`fgnG3p9>#*uUm#W>Z8bFt-wdRA5T5Uz^v1-8QOxTLN4Z_J-x^pd4A-c|S
zvx!Vvb$TBc9kTyKy~*_pk7rJUUccE`3qh}6CDtO)>o-K2jhMRCFJfH+-RgU>eg@s@
zO=ZU13%b=KSoeW$b!#mFABp~eHeyx3yTmo*QRO^=U_92Xs^CtA3$O*7=uGQl&6mg*AW)b}q;t_V&XcMR-=zMI
zK|!XY!*QK<7U<)G`<%T(9xv&8EKUAH^1c7v|l
z4y-+(>-I;i%b@Fa5bFx)y7iu_uG?y!V-4uKy~;mN#ncCPYfS?mHy@=D*4bv@7tj^e
zgSroNMOkaV4Xl^-5#EC{|GhT*$YB%eZqPYcYmW`AAJ~PEF~5Te6vX23%-Xbkz4!zB
zZwTiyxmYrq&Bdd!l%ETO1;&&?QCTvPc4BUHeInP@?#9+feQa{goN!ve_k3w8WP64p
zZy;sW)cAnhK7)|GLJy>^1m6b1bY{H@T~6i|5bAc^L`KfKorK*B#o1iU%|&yGlzdTq
z4*g}w|M#h=d^TZjfzj9V2$HPL6JT!D{jwBqIp|uQh1Cjr0{3F|gPy>9unvQsz#FjM
z06l@dyVnyq#KP8sp1^1L=i4y#sPJl2H}q=aJqCILC$UnXC-D7PY0&SLUf1dO%9F%9
z4f+$$L99KnZj|QRSV!O{
zX}*T_I!u;k8`epfB28~&yjhxaig{0j8fn&JHN#YC7GvEF)1-MBYY1+U<}g+W=OLRs~%=b^E>{%0dtl#tu-HfjM@%9plz@p(fob@*oeH@Uf}0&`VQi8(3@=^
z)(IO{&-|azu3FV^$|J}@zaR6KBDR1|xfQDo^!cC~YX#`@fwfkGj}7f{zQk;~o=-PD
d$j{gd$U~OUdx#%`UWNl$r$8@*wLSu4{sC)W-Sz+g

diff --git a/integration-tests/daospace/dao_extension_point_init.exp b/integration-tests/daospace/dao_extension_point_init.exp
deleted file mode 100644
index b65c2b8b..00000000
--- a/integration-tests/daospace/dao_extension_point_init.exp
+++ /dev/null
@@ -1,28 +0,0 @@
-processed 6 tasks
-
-task 3 'run'. lines 7-15:
-{
-  "gas_used": 177755,
-  "status": "Executed"
-}
-
-task 4 'view'. lines 17-17:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 1
-}
-
-task 5 'run'. lines 19-27:
-{
-  "gas_used": 13211,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "25606"
-    }
-  }
-}
diff --git a/integration-tests/daospace/dao_extension_point_init.move b/integration-tests/daospace/dao_extension_point_init.move
deleted file mode 100644
index 7eb31614..00000000
--- a/integration-tests/daospace/dao_extension_point_init.move
+++ /dev/null
@@ -1,29 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr bob --amount 2000000000
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: MoveAbort
-
-
diff --git a/integration-tests/daospace/dao_extension_point_publish_version.exp b/integration-tests/daospace/dao_extension_point_publish_version.exp
deleted file mode 100644
index 786e371c..00000000
--- a/integration-tests/daospace/dao_extension_point_publish_version.exp
+++ /dev/null
@@ -1,184 +0,0 @@
-processed 17 tasks
-
-task 4 'run'. lines 46-54:
-{
-  "gas_used": 177755,
-  "status": "Executed"
-}
-
-task 5 'run'. lines 56-64:
-{
-  "gas_used": 418301,
-  "status": "Executed"
-}
-
-task 6 'view'. lines 66-66:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 7 'view'. lines 68-68:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 8 'run'. lines 70-78:
-{
-  "gas_used": 148757,
-  "status": "Executed"
-}
-
-task 9 'view'. lines 80-80:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 10 'view'. lines 82-82:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 3
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 2
-            tag: 76302e312e31
-            types_d_ts: 697066733a2f2f74797065735f645f74735f31
-            document: 697066733a2f2f70625f646f6331
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 11 'run'. lines 84-92:
-{
-  "gas_used": 152757,
-  "status": "Executed"
-}
-
-task 12 'view'. lines 94-94:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 13 'view'. lines 96-96:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 4
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 2
-            tag: 76302e312e31
-            types_d_ts: 697066733a2f2f74797065735f645f74735f31
-            document: 697066733a2f2f70625f646f6331
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 3
-            tag: 76302e312e32
-            types_d_ts: 697066733a2f2f74797065735f645f74735f32
-            document: 697066733a2f2f6474735f646f6332
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 14 'run'. lines 98-106:
-{
-  "gas_used": 108002,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "27399"
-    }
-  }
-}
-
-task 15 'view'. lines 108-108:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 16 'view'. lines 110-110:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 4
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 2
-            tag: 76302e312e31
-            types_d_ts: 697066733a2f2f74797065735f645f74735f31
-            document: 697066733a2f2f70625f646f6331
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 3
-            tag: 76302e312e32
-            types_d_ts: 697066733a2f2f74797065735f645f74735f32
-            document: 697066733a2f2f6474735f646f6332
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
diff --git a/integration-tests/daospace/dao_extension_point_publish_version.move b/integration-tests/daospace/dao_extension_point_publish_version.move
deleted file mode 100644
index abae36c3..00000000
--- a/integration-tests/daospace/dao_extension_point_publish_version.move
+++ /dev/null
@@ -1,110 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# publish
-module creator::TestExtentionPoint {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint";
-
-    public(script) fun initialize(sender: signer) {
-        DAOExtensionPoint::register(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://pb_doc",
-            Option::none(),
-        );
-    }
-
-    public(script) fun publish_version_v1(sender: signer) {
-        DAOExtensionPoint::publish_version(
-            &sender,
-            b"v0.1.1",
-            b"ipfs://types_d_ts_1",
-            b"ipfs://pb_doc1",
-        );
-    }
-
-    public(script) fun publish_version_v2(sender: signer) {
-        DAOExtensionPoint::publish_version(
-            &sender,
-            b"v0.1.2",
-            b"ipfs://types_d_ts_2",
-            b"ipfs://dts_doc2",
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::initialize(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::publish_version_v1(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::publish_version_v2(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::publish_version_v2(sender);
-    }
-}
-// check: MoveAbort
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
diff --git a/integration-tests/daospace/dao_extension_point_register.exp b/integration-tests/daospace/dao_extension_point_register.exp
deleted file mode 100644
index b90994da..00000000
--- a/integration-tests/daospace/dao_extension_point_register.exp
+++ /dev/null
@@ -1,114 +0,0 @@
-processed 14 tasks
-
-task 4 'run'. lines 48-56:
-{
-  "gas_used": 177755,
-  "status": "Executed"
-}
-
-task 5 'run'. lines 58-66:
-{
-  "gas_used": 466152,
-  "status": "Executed"
-}
-
-task 6 'view'. lines 68-68:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 7 'view'. lines 70-70:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-        4f533d53746172636f696e,
-        53746f72653d49504653,
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f6474735f646f63
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 8 'run'. lines 72-80:
-{
-  "gas_used": 60246,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "26630"
-    }
-  }
-}
-
-task 9 'view'. lines 82-82:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-        4f533d53746172636f696e,
-        53746f72653d49504653,
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f6474735f646f63
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 11 'run'. lines 110-118:
-{
-  "gas_used": 38409,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "28167"
-    }
-  }
-}
-
-task 13 'run'. lines 147-155:
-{
-  "gas_used": 137491,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "28167"
-    }
-  }
-}
diff --git a/integration-tests/daospace/dao_extension_point_register.move b/integration-tests/daospace/dao_extension_point_register.move
deleted file mode 100644
index 796845c4..00000000
--- a/integration-tests/daospace/dao_extension_point_register.move
+++ /dev/null
@@ -1,155 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# publish
-module creator::TestExtentionPoint {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint";
-
-    public(script) fun initialize(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::register(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://dts_doc",
-            Option::some(labels),
-        );
-    }
-
-    public(script) fun initialize_with_long_text(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::register(
-            &sender,
-            b"0123456789012345678901234567890123456789012345678901234567890123456789", 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://dts_doc",
-            Option::some(labels),
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::initialize(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::initialize(sender);
-    }
-}
-// check: MoveAbort
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
-
-//# publish
-module creator::TestExtentionPoint2 {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint2 has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint2";
-
-    public(script) fun initialize_with_long_text(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::register(
-            &sender,
-            b"0123456789012345678901234567890123456789012345678901234567890123456789", 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://dts_doc",
-            Option::some(labels),
-        );
-    }
-}
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint2;
-
-    fun main(sender: signer) {
-        TestExtentionPoint2::initialize_with_long_text(sender);
-    }
-}
-// check: MoveAbort
-
-
-//# publish
-module creator::TestExtentionPoint3 {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint3 has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint3";
-
-    public(script) fun initialize_with_long_text(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=ipfs://0123456789012345678901234567890123456789012345678901234567890123456789");
-
-        DAOExtensionPoint::register(
-            &sender,
-            b"XXXX",
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://dts_doc",
-            Option::some(labels),
-        );
-    }
-}
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint3;
-
-    fun main(sender: signer) {
-        TestExtentionPoint3::initialize_with_long_text(sender);
-    }
-}
-// check: MoveAbort
diff --git a/integration-tests/daospace/dao_extension_point_star_and_unstar.exp b/integration-tests/daospace/dao_extension_point_star_and_unstar.exp
deleted file mode 100644
index bdeb04f3..00000000
--- a/integration-tests/daospace/dao_extension_point_star_and_unstar.exp
+++ /dev/null
@@ -1,68 +0,0 @@
-processed 13 tasks
-
-task 6 'run'. lines 32-40:
-{
-  "gas_used": 177755,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 42-50:
-{
-  "gas_used": 418301,
-  "status": "Executed"
-}
-
-task 8 'run'. lines 52-61:
-{
-  "gas_used": 59320,
-  "status": "Executed"
-}
-
-task 9 'run'. lines 63-72:
-{
-  "gas_used": 15374,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "26881"
-    }
-  }
-}
-
-task 10 'run'. lines 74-83:
-{
-  "gas_used": 59320,
-  "status": "Executed"
-}
-
-task 11 'view'. lines 85-85:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 12 'view'. lines 87-87:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 54657374457874656e74696f6e506f696e74
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-    ]
-    star_count: 2
-    created_at: 10
-    updated_at: 10
-}
diff --git a/integration-tests/daospace/dao_extension_point_star_and_unstar.move b/integration-tests/daospace/dao_extension_point_star_and_unstar.move
deleted file mode 100644
index 7f9f3bdf..00000000
--- a/integration-tests/daospace/dao_extension_point_star_and_unstar.move
+++ /dev/null
@@ -1,87 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestExtentionPoint {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint";
-
-    public(script) fun initialize(sender: signer) {
-        DAOExtensionPoint::register(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://pb_doc",
-            Option::none(),
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers creator
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::initialize(sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        DAOExtensionPoint::star(&sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        DAOExtensionPoint::star(&sender);
-    }
-}
-// check: MoveAbort
-
-//# run --signers alice
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        DAOExtensionPoint::star(&sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
diff --git a/integration-tests/daospace/dao_extension_point_transfer_owner.exp b/integration-tests/daospace/dao_extension_point_transfer_owner.exp
deleted file mode 100644
index 8db94728..00000000
--- a/integration-tests/daospace/dao_extension_point_transfer_owner.exp
+++ /dev/null
@@ -1,168 +0,0 @@
-processed 18 tasks
-
-task 6 'run'. lines 32-40:
-{
-  "gas_used": 177755,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 42-50:
-{
-  "gas_used": 418301,
-  "status": "Executed"
-}
-
-task 8 'run'. lines 52-71:
-{
-  "gas_used": 64233,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "26113"
-    }
-  }
-}
-
-task 9 'run'. lines 73-82:
-{
-  "gas_used": 80067,
-  "status": "Executed"
-}
-
-task 10 'view'. lines 84-84:
-store key 0x00000000000000000000000000000001::NFTGallery::NFTGallery<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta, 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody> {
-    withdraw_events: store 0x00000000000000000000000000000001::Event::EventHandle<0x00000000000000000000000000000001::NFTGallery::WithdrawEvent<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta>> {
-        counter: 0
-        guid: 0300000000000000b5d577dc9ce59725e29886632e69ecdf
-    }
-    deposit_events: store 0x00000000000000000000000000000001::Event::EventHandle<0x00000000000000000000000000000001::NFTGallery::DepositEvent<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta>> {
-        counter: 1
-        guid: 0400000000000000b5d577dc9ce59725e29886632e69ecdf
-    }
-    items: [
-        store 0x00000000000000000000000000000001::NFT::NFT<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta, 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody> {
-            creator: 1
-            id: 1
-            base_meta: copy drop store 0x00000000000000000000000000000001::NFT::Metadata {
-                name: 457874506f696e744f776e65724e4654
-                image: 
-                image_data: 697066733a2f2f516d6454776468466936317a68524d334d74504c78754b7961717633655045434c47734d6739704d726550763469
-                description: 54686520657874656e73696f6e20706f696e74206f776e6572204e4654
-            }
-            type_meta: copy drop store 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta {
-                extpoint_id: 1
-                registry_address: 1
-            }
-            body: store 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody {
-                dummy_field: false
-            }
-        },
-    ]
-}
-
-task 11 'run'. lines 86-95:
-{
-  "gas_used": 197269,
-  "status": "Executed"
-}
-
-task 12 'view'. lines 97-97:
-store key 0x00000000000000000000000000000001::NFTGallery::NFTGallery<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta, 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody> {
-    withdraw_events: store 0x00000000000000000000000000000001::Event::EventHandle<0x00000000000000000000000000000001::NFTGallery::WithdrawEvent<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta>> {
-        counter: 1
-        guid: 0300000000000000b5d577dc9ce59725e29886632e69ecdf
-    }
-    deposit_events: store 0x00000000000000000000000000000001::Event::EventHandle<0x00000000000000000000000000000001::NFTGallery::DepositEvent<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta>> {
-        counter: 1
-        guid: 0400000000000000b5d577dc9ce59725e29886632e69ecdf
-    }
-    items: [
-    ]
-}
-
-task 13 'view'. lines 99-99:
-store key 0x00000000000000000000000000000001::NFTGallery::NFTGallery<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta, 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody> {
-    withdraw_events: store 0x00000000000000000000000000000001::Event::EventHandle<0x00000000000000000000000000000001::NFTGallery::WithdrawEvent<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta>> {
-        counter: 0
-        guid: 0300000000000000a7dcef9aef26202fce82a7c7d6672afb
-    }
-    deposit_events: store 0x00000000000000000000000000000001::Event::EventHandle<0x00000000000000000000000000000001::NFTGallery::DepositEvent<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta>> {
-        counter: 1
-        guid: 0400000000000000a7dcef9aef26202fce82a7c7d6672afb
-    }
-    items: [
-        store 0x00000000000000000000000000000001::NFT::NFT<0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta, 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody> {
-            creator: 1
-            id: 1
-            base_meta: copy drop store 0x00000000000000000000000000000001::NFT::Metadata {
-                name: 457874506f696e744f776e65724e4654
-                image: 
-                image_data: 697066733a2f2f516d6454776468466936317a68524d334d74504c78754b7961717633655045434c47734d6739704d726550763469
-                description: 54686520657874656e73696f6e20706f696e74206f776e6572204e4654
-            }
-            type_meta: copy drop store 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTMeta {
-                extpoint_id: 1
-                registry_address: 1
-            }
-            body: store 0x00000000000000000000000000000001::DAOExtensionPoint::OwnerNFTBody {
-                dummy_field: false
-            }
-        },
-    ]
-}
-
-task 14 'run'. lines 101-120:
-{
-  "gas_used": 180322,
-  "status": "Executed"
-}
-
-task 15 'view'. lines 122-122:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 16 'view'. lines 124-124:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 74657374
-    description: 697066733a2f2f6465736372697074696f6e32
-    labels: [
-        4f533d53746172636f696e,
-        53746f72653d49504653,
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 17 'run'. lines 127-143:
-{
-  "gas_used": 140065,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "NFT"
-        }
-      },
-      "abort_code": "26372"
-    }
-  }
-}
diff --git a/integration-tests/daospace/dao_extension_point_transfer_owner.move b/integration-tests/daospace/dao_extension_point_transfer_owner.move
deleted file mode 100644
index 973c03b2..00000000
--- a/integration-tests/daospace/dao_extension_point_transfer_owner.move
+++ /dev/null
@@ -1,143 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestExtentionPoint {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint";
-
-    public(script) fun initialize(sender: signer) {
-        DAOExtensionPoint::register(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://pb_doc",
-            Option::none(),
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::initialize(sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers alice
-script {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::update(&sender,
-            b"test", 
-            b"ipfs://description2",
-            Option::some(labels),
-        );
-    }
-}
-// check: MoveAbort
-
-//# run --signers alice
-script {
-    use StarcoinFramework::NFTGallery;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(sender: signer) {
-        NFTGallery::accept(&sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address bob --resource 0x1::NFTGallery::NFTGallery<0x1::DAOExtensionPoint::OwnerNFTMeta,0x1::DAOExtensionPoint::OwnerNFTBody>
-
-//# run --signers bob
-script {
-    use StarcoinFramework::NFTGallery;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(sender: signer) {
-        NFTGallery::transfer(&sender, 1, @alice);
-    }
-}
-// check: EXECUTED
-
-//# view --address bob --resource 0x1::NFTGallery::NFTGallery<0x1::DAOExtensionPoint::OwnerNFTMeta,0x1::DAOExtensionPoint::OwnerNFTBody>
-
-//# view --address alice --resource 0x1::NFTGallery::NFTGallery<0x1::DAOExtensionPoint::OwnerNFTMeta,0x1::DAOExtensionPoint::OwnerNFTBody>
-
-//# run --signers alice
-script {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::update(&sender,
-            b"test", 
-            b"ipfs://description2",
-            Option::some(labels),
-        );
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
-
-
-//# run --signers alice
-script {
-    use StarcoinFramework::NFT;
-    use StarcoinFramework::NFTGallery;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(sender: signer) {
-        let nft = NFTGallery::withdraw_one(&sender);
-        
-        let base_meta = *NFT::get_base_meta(&nft);
-        let type_meta = *NFT::get_type_meta(&nft);
-        NFT::update_meta(&sender, &mut nft, base_meta, type_meta);
-
-        NFTGallery::deposit(&sender, nft);
-    }
-}
-// check: MoveAbort
\ No newline at end of file
diff --git a/integration-tests/daospace/dao_extension_point_update.exp b/integration-tests/daospace/dao_extension_point_update.exp
deleted file mode 100644
index cd898d9b..00000000
--- a/integration-tests/daospace/dao_extension_point_update.exp
+++ /dev/null
@@ -1,64 +0,0 @@
-processed 12 tasks
-
-task 6 'run'. lines 32-40:
-{
-  "gas_used": 177755,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 42-50:
-{
-  "gas_used": 418301,
-  "status": "Executed"
-}
-
-task 8 'run'. lines 52-71:
-{
-  "gas_used": 64233,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOExtensionPoint"
-        }
-      },
-      "abort_code": "26113"
-    }
-  }
-}
-
-task 9 'run'. lines 73-92:
-{
-  "gas_used": 180322,
-  "status": "Executed"
-}
-
-task 10 'view'. lines 94-94:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Registry {
-    next_id: 2
-}
-
-task 11 'view'. lines 96-96:
-store key 0x00000000000000000000000000000001::DAOExtensionPoint::Entry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestExtentionPoint::TestExtentionPoint> {
-    id: 1
-    name: 74657374
-    description: 697066733a2f2f6465736372697074696f6e32
-    labels: [
-        4f533d53746172636f696e,
-        53746f72653d49504653,
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOExtensionPoint::Version {
-            number: 1
-            tag: 76302e312e30
-            types_d_ts: 697066733a2f2f74797065735f645f7473
-            document: 697066733a2f2f70625f646f63
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
diff --git a/integration-tests/daospace/dao_extension_point_update.move b/integration-tests/daospace/dao_extension_point_update.move
deleted file mode 100644
index a5e02ebf..00000000
--- a/integration-tests/daospace/dao_extension_point_update.move
+++ /dev/null
@@ -1,96 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestExtentionPoint {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOExtensionPoint;
-
-    struct TestExtentionPoint has store, copy, drop {}
-
-    const NAME: vector = b"TestExtentionPoint";
-
-    public(script) fun initialize(sender: signer) {
-        DAOExtensionPoint::register(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            b"ipfs://types_d_ts",
-            b"ipfs://pb_doc",
-            Option::none(),
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOExtensionPoint;
-
-    fun main(_sender: signer) {
-        DAOExtensionPoint::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        TestExtentionPoint::initialize(sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers alice
-script {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::update(&sender,
-            b"test", 
-            b"ipfs://description2",
-            Option::some(labels),
-        );
-    }
-}
-// check: MoveAbort
-
-//# run --signers bob
-script {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOExtensionPoint;
-    use creator::TestExtentionPoint;
-
-    fun main(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOExtensionPoint::update(&sender,
-            b"test", 
-            b"ipfs://description2",
-            Option::some(labels),
-        );
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Registry
-
-//# view --address Genesis --resource 0x1::DAOExtensionPoint::Entry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestExtentionPoint::TestExtentionPoint>
diff --git a/integration-tests/daospace/dao_grant.exp b/integration-tests/daospace/dao_grant.exp
index af361f14..93c73607 100644
--- a/integration-tests/daospace/dao_grant.exp
+++ b/integration-tests/daospace/dao_grant.exp
@@ -16,25 +16,25 @@ task 5 'run'. lines 13-21:
   }
 }
 
-task 8 'run'. lines 123-136:
+task 8 'run'. lines 100-109:
 {
-  "gas_used": 8205741,
+  "gas_used": 1195699,
   "status": "Executed"
 }
 
-task 9 'run'. lines 138-157:
+task 9 'run'. lines 111-130:
 {
   "gas_used": 315396,
   "status": "Executed"
 }
 
-task 10 'run'. lines 159-193:
+task 10 'run'. lines 132-166:
 {
   "gas_used": 561697,
   "status": "Executed"
 }
 
-task 12 'run'. lines 197-209:
+task 12 'run'. lines 170-182:
 {
   "gas_used": 52853,
   "status": {
@@ -50,19 +50,19 @@ task 12 'run'. lines 197-209:
   }
 }
 
-task 13 'run'. lines 211-231:
+task 13 'run'. lines 184-204:
 {
   "gas_used": 241369,
   "status": "Executed"
 }
 
-task 15 'run'. lines 235-255:
+task 15 'run'. lines 208-228:
 {
   "gas_used": 229003,
   "status": "Executed"
 }
 
-task 16 'run'. lines 257-271:
+task 16 'run'. lines 230-244:
 {
   "gas_used": 192361,
   "status": "Executed"
diff --git a/integration-tests/daospace/dao_grant.move b/integration-tests/daospace/dao_grant.move
index 3fb81005..4526ae27 100644
--- a/integration-tests/daospace/dao_grant.move
+++ b/integration-tests/daospace/dao_grant.move
@@ -22,7 +22,6 @@ script{
 
 //# publish
 module creator::DAOHelper {
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOAccount;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::AnyMemberPlugin::{Self, AnyMemberPlugin};
@@ -30,7 +29,7 @@ module creator::DAOHelper {
     use StarcoinFramework::Vector;
     use StarcoinFramework::STC;
     use StarcoinFramework::Option;
-
+    
     struct X has store, copy, drop{}
     
     const NAME: vector = b"X";
@@ -67,28 +66,6 @@ module creator::DAOHelper {
 
     struct XPlugin has store, drop{}
 
-    public fun initialize_x_plugin(sender: &signer) {
-        DAOPluginMarketplace::register_plugin(
-            sender,
-            b"0x1::XPlugin",
-            b"The X plugin.",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = XPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            sender,
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://x-plugin",
-        );
-    }
-
     public fun required_caps():vector{
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::install_plugin_cap_type());
@@ -122,13 +99,9 @@ module creator::DAOHelper {
 
 //# run --signers creator
 script{
-    use StarcoinFramework::StdlibUpgradeScripts;
     use creator::DAOHelper;
 
     fun main(sender: signer){
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-        DAOHelper::initialize_x_plugin(&sender);
-
         // time unit is millsecond
         DAOHelper::create_dao(sender, 10000, 3600000, 2, 10000, 10);
     }
diff --git a/integration-tests/daospace/dao_plugin_marketplace_init.exp b/integration-tests/daospace/dao_plugin_marketplace_init.exp
deleted file mode 100644
index 06e0fd23..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_init.exp
+++ /dev/null
@@ -1,23 +0,0 @@
-processed 5 tasks
-
-task 3 'run'. lines 7-15:
-{
-  "gas_used": 176952,
-  "status": "Executed"
-}
-
-task 4 'run'. lines 17-25:
-{
-  "gas_used": 13211,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "25606"
-    }
-  }
-}
diff --git a/integration-tests/daospace/dao_plugin_marketplace_init.move b/integration-tests/daospace/dao_plugin_marketplace_init.move
deleted file mode 100644
index c8c3f691..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_init.move
+++ /dev/null
@@ -1,25 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr bob --amount 2000000000
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    fun main(_sender: signer) {
-        DAOPluginMarketplace::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    fun main(_sender: signer) {
-        DAOPluginMarketplace::initialize();
-    }
-}
-// check: MoveAbort
\ No newline at end of file
diff --git a/integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.exp b/integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.exp
deleted file mode 100644
index a3fb462f..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.exp
+++ /dev/null
@@ -1,234 +0,0 @@
-processed 15 tasks
-
-task 6 'run'. lines 46-54:
-{
-  "gas_used": 176952,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 56-64:
-{
-  "gas_used": 381209,
-  "status": "Executed"
-}
-
-task 8 'run'. lines 66-74:
-{
-  "gas_used": 93711,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "26369"
-    }
-  }
-}
-
-task 9 'run'. lines 76-84:
-{
-  "gas_used": 183982,
-  "status": "Executed"
-}
-
-task 10 'view'. lines 86-86:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 2
-    versions: [
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 1
-            tag: 76302e312e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 11 'run'. lines 88-101:
-{
-  "gas_used": 1134753,
-  "status": "Executed"
-}
-
-task 12 'view'. lines 103-103:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 8
-    versions: [
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 3
-            tag: 76302e332e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 4
-            tag: 76302e342e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 5
-            tag: 76302e352e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 6
-            tag: 76302e362e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 7
-            tag: 76302e372e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 13 'run'. lines 105-113:
-{
-  "gas_used": 152443,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "27399"
-    }
-  }
-}
-
-task 14 'view'. lines 115-115:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 8
-    versions: [
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 3
-            tag: 76302e332e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 4
-            tag: 76302e342e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 5
-            tag: 76302e352e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 6
-            tag: 76302e362e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-        store 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginVersion {
-            number: 7
-            tag: 76302e372e30
-            implement_extpoints: [
-                746573745f706c7567696e,
-            ]
-            depend_extpoints: [
-                746573745f706c7567696e,
-            ]
-            js_entry_uri: 697066733a2f2f6a735f656e7472795f757269
-            created_at: 10
-        },
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
diff --git a/integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.move b/integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.move
deleted file mode 100644
index 8595fad3..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_publish_plugin_version.move
+++ /dev/null
@@ -1,115 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestPlugin {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    struct TestPlugin has store, drop {}
-
-    const NAME: vector = b"TestPlugin";
-
-    public(script) fun register(sender: signer) {
-        DAOPluginMarketplace::register_plugin(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            Option::none(),
-        );
-    }
-
-    public fun publish_version(sender: &signer, tag: vector) {
-        let vec = Vector::empty>();
-        Vector::push_back>(&mut vec, b"test_plugin");
-
-        let witness = TestPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            sender,
-            &witness,
-            tag, 
-            *&vec, 
-            *&vec,
-            b"ipfs://js_entry_uri"
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    fun main(_sender: signer) {
-        DAOPluginMarketplace::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::register(sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers alice
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::publish_version(&sender, b"v0.1.0");
-    }
-}
-// check: MoveAbort
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::publish_version(&sender, b"v0.1.0");
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::publish_version(&sender, b"v0.2.0");
-        TestPlugin::publish_version(&sender, b"v0.3.0");
-        TestPlugin::publish_version(&sender, b"v0.4.0");
-        TestPlugin::publish_version(&sender, b"v0.5.0");
-        TestPlugin::publish_version(&sender, b"v0.6.0");
-        TestPlugin::publish_version(&sender, b"v0.7.0");
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::publish_version(&sender, b"v0.7.0");
-    }
-}
-// check: MoveAbort
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
diff --git a/integration-tests/daospace/dao_plugin_marketplace_register_plugin.exp b/integration-tests/daospace/dao_plugin_marketplace_register_plugin.exp
deleted file mode 100644
index 81a63a5a..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_register_plugin.exp
+++ /dev/null
@@ -1,84 +0,0 @@
-processed 14 tasks
-
-task 6 'run'. lines 31-39:
-{
-  "gas_used": 176952,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 41-49:
-{
-  "gas_used": 381209,
-  "status": "Executed"
-}
-
-task 8 'run'. lines 51-59:
-{
-  "gas_used": 33042,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "26630"
-    }
-  }
-}
-
-task 9 'run'. lines 61-69:
-{
-  "gas_used": 33042,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "26630"
-    }
-  }
-}
-
-task 11 'run'. lines 97-105:
-{
-  "gas_used": 429185,
-  "status": "Executed"
-}
-
-task 12 'view'. lines 107-107:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin2::TestPlugin2> {
-    id: 2
-    name: 54657374506c7567696e32
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-        4f533d53746172636f696e,
-        53746f72653d49504653,
-    ]
-    next_version_number: 1
-    versions: [
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 13 'run'. lines 109-117:
-{
-  "gas_used": 46958,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "26630"
-    }
-  }
-}
diff --git a/integration-tests/daospace/dao_plugin_marketplace_register_plugin.move b/integration-tests/daospace/dao_plugin_marketplace_register_plugin.move
deleted file mode 100644
index 4d516e32..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_register_plugin.move
+++ /dev/null
@@ -1,117 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestPlugin {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    struct TestPlugin has store, drop {}
-
-    const NAME: vector = b"TestPlugin";
-
-    /// directly upgrade the sender account to DAOAccount and create DAO
-    public(script) fun register(sender: signer) {
-        DAOPluginMarketplace::register_plugin(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            Option::none(),
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    fun main(_sender: signer) {
-        DAOPluginMarketplace::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers creator
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::register(sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers creator
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::register(sender);
-    }
-}
-// check: MoveAbort
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::register(sender);
-    }
-}
-// check: MoveAbort
-
-
-//# publish
-module creator::TestPlugin2 {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    struct TestPlugin2 has store, drop {}
-
-    const NAME: vector = b"TestPlugin2";
-
-    /// directly upgrade the sender account to DAOAccount and create DAO
-    public(script) fun register(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        DAOPluginMarketplace::register_plugin(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            Option::some(labels),
-        );
-    }
-}
-
-//# run --signers bob
-script {
-    use creator::TestPlugin2;
-    
-    fun main(sender: signer) {
-        TestPlugin2::register(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin2::TestPlugin2>
-
-//# run --signers alice
-script {
-    use creator::TestPlugin2;
-    
-    fun main(sender: signer) {
-        TestPlugin2::register(sender);
-    }
-}
-// check: MoveAbort
\ No newline at end of file
diff --git a/integration-tests/daospace/dao_plugin_marketplace_star_plugin.exp b/integration-tests/daospace/dao_plugin_marketplace_star_plugin.exp
deleted file mode 100644
index 06c3c086..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_star_plugin.exp
+++ /dev/null
@@ -1,93 +0,0 @@
-processed 15 tasks
-
-task 6 'run'. lines 46-54:
-{
-  "gas_used": 176952,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 56-64:
-{
-  "gas_used": 381209,
-  "status": "Executed"
-}
-
-task 8 'run'. lines 66-77:
-{
-  "gas_used": 59320,
-  "status": "Executed"
-}
-
-task 9 'run'. lines 79-90:
-{
-  "gas_used": 15374,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "26881"
-    }
-  }
-}
-
-task 10 'run'. lines 92-103:
-{
-  "gas_used": 59320,
-  "status": "Executed"
-}
-
-task 11 'view'. lines 105-105:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 1
-    versions: [
-    ]
-    star_count: 2
-    created_at: 10
-    updated_at: 10
-}
-
-task 12 'run'. lines 108-119:
-{
-  "gas_used": 46959,
-  "status": "Executed"
-}
-
-task 13 'view'. lines 121-121:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 1
-    versions: [
-    ]
-    star_count: 1
-    created_at: 10
-    updated_at: 10
-}
-
-task 14 'run'. lines 123-134:
-{
-  "gas_used": 18574,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "27137"
-    }
-  }
-}
diff --git a/integration-tests/daospace/dao_plugin_marketplace_star_plugin.move b/integration-tests/daospace/dao_plugin_marketplace_star_plugin.move
deleted file mode 100644
index c941683d..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_star_plugin.move
+++ /dev/null
@@ -1,134 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestPlugin {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    struct TestPlugin has store, drop {}
-
-    const NAME: vector = b"TestPlugin";
-
-    public(script) fun register(sender: signer) {
-        DAOPluginMarketplace::register_plugin(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            Option::none(),
-        );
-    }
-
-    public(script) fun publish_version(sender: signer) {
-        let vec = Vector::empty>();
-        Vector::push_back>(&mut vec, b"test_plugin");
-
-        let witness = TestPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &sender,
-            &witness,
-            b"v0.1.0", 
-            *&vec, 
-            *&vec,
-            b"ipfs://js_entry_uri"
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    fun main(_sender: signer) {
-        DAOPluginMarketplace::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::register(sender);
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        DAOPluginMarketplace::star_plugin(
-            &sender,
-        );
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        DAOPluginMarketplace::star_plugin(
-            &sender,
-        );
-    }
-}
-// check: MoveAbort
-
-//# run --signers alice
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        DAOPluginMarketplace::star_plugin(
-            &sender,
-        );
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
-
-
-//# run --signers alice
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        DAOPluginMarketplace::unstar_plugin(
-            &sender,
-        );
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
-
-//# run --signers alice
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        DAOPluginMarketplace::unstar_plugin(
-            &sender,
-        );
-    }
-}
-// check: MoveAbort
diff --git a/integration-tests/daospace/dao_plugin_marketplace_update_plugin.exp b/integration-tests/daospace/dao_plugin_marketplace_update_plugin.exp
deleted file mode 100644
index 09e331a4..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_update_plugin.exp
+++ /dev/null
@@ -1,67 +0,0 @@
-processed 12 tasks
-
-task 6 'run'. lines 46-54:
-{
-  "gas_used": 176952,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 56-64:
-{
-  "gas_used": 381209,
-  "status": "Executed"
-}
-
-task 8 'view'. lines 66-66:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e
-    labels: [
-    ]
-    next_version_number: 1
-    versions: [
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
-
-task 9 'run'. lines 68-76:
-{
-  "gas_used": 67221,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOPluginMarketplace"
-        }
-      },
-      "abort_code": "26369"
-    }
-  }
-}
-
-task 10 'run'. lines 78-86:
-{
-  "gas_used": 183519,
-  "status": "Executed"
-}
-
-task 11 'view'. lines 88-88:
-store key 0x00000000000000000000000000000001::DAOPluginMarketplace::PluginEntry<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::TestPlugin::TestPlugin> {
-    id: 1
-    name: 54657374506c7567696e
-    description: 697066733a2f2f6465736372697074696f6e32
-    labels: [
-        4f533d53746172636f696e,
-        53746f72653d49504653,
-    ]
-    next_version_number: 1
-    versions: [
-    ]
-    star_count: 0
-    created_at: 10
-    updated_at: 10
-}
diff --git a/integration-tests/daospace/dao_plugin_marketplace_update_plugin.move b/integration-tests/daospace/dao_plugin_marketplace_update_plugin.move
deleted file mode 100644
index d9699ea2..00000000
--- a/integration-tests/daospace/dao_plugin_marketplace_update_plugin.move
+++ /dev/null
@@ -1,90 +0,0 @@
-//# init -n dev
-
-//# faucet --addr Genesis
-
-//# faucet --addr creator --amount 100000000000
-
-//# faucet --addr bob --amount 2000000000
-
-//# faucet --addr alice --amount 10000000000
-
-//# publish
-module creator::TestPlugin {
-    use StarcoinFramework::Option;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    struct TestPlugin has store, drop {}
-
-    const NAME: vector = b"TestPlugin";
-
-    public(script) fun register(sender: signer) {
-        DAOPluginMarketplace::register_plugin(
-            &sender,
-            NAME, 
-            b"ipfs://description",
-            Option::none(),
-        );
-    }
-
-    public(script) fun update_plugin(sender: signer) {
-        let labels = Vector::empty>();
-        Vector::push_back>(&mut labels, b"OS=Starcoin");
-        Vector::push_back>(&mut labels, b"Store=IPFS");
-
-        let cap = TestPlugin{};
-        DAOPluginMarketplace::update_plugin(
-            &sender,
-            &cap,
-            NAME,
-            b"ipfs://description2",
-            Option::some(labels),
-        );
-    }
-}
-
-//# run --signers Genesis
-script {
-    use StarcoinFramework::DAOPluginMarketplace;
-
-    fun main(_sender: signer) {
-        DAOPluginMarketplace::initialize();
-    }
-}
-// check: EXECUTED
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::register(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
-
-//# run --signers alice
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::update_plugin(sender);
-    }
-}
-// check: MoveAbort
-
-//# run --signers bob
-script {
-    use creator::TestPlugin;
-    
-    fun main(sender: signer) {
-        TestPlugin::update_plugin(sender);
-    }
-}
-// check: EXECUTED
-
-//# view --address Genesis --resource 0x1::DAOPluginMarketplace::PluginEntry<{{$.faucet[1].txn.raw_txn.decoded_payload.ScriptFunction.args[0]}}::TestPlugin::TestPlugin>
-
-
diff --git a/integration-tests/daospace/dao_proposal.exp b/integration-tests/daospace/dao_proposal.exp
index 840c1020..72e7f58c 100644
--- a/integration-tests/daospace/dao_proposal.exp
+++ b/integration-tests/daospace/dao_proposal.exp
@@ -1,42 +1,42 @@
 processed 42 tasks
 
-task 7 'run'. lines 169-182:
+task 7 'run'. lines 146-155:
 {
-  "gas_used": 8202944,
+  "gas_used": 1192902,
   "status": "Executed"
 }
 
-task 8 'run'. lines 184-198:
+task 8 'run'. lines 159-173:
 {
   "gas_used": 109239,
   "status": "Executed"
 }
 
-task 9 'run'. lines 200-225:
+task 9 'run'. lines 175-200:
 {
   "gas_used": 306386,
   "status": "Executed"
 }
 
-task 11 'run'. lines 230-246:
+task 11 'run'. lines 205-221:
 {
   "gas_used": 235032,
   "status": "Executed"
 }
 
-task 12 'run'. lines 248-264:
+task 12 'run'. lines 223-239:
 {
   "gas_used": 235032,
   "status": "Executed"
 }
 
-task 16 'run'. lines 272-286:
+task 16 'run'. lines 247-261:
 {
   "gas_used": 104944,
   "status": "Executed"
 }
 
-task 19 'run'. lines 293-306:
+task 19 'run'. lines 268-281:
 {
   "gas_used": 532278,
   "status": {
@@ -52,46 +52,46 @@ task 19 'run'. lines 293-306:
   }
 }
 
-task 22 'run'. lines 313-324:
+task 22 'run'. lines 288-299:
 {
   "gas_used": 577624,
   "status": "Executed"
 }
 
-task 23 'run'. lines 327-351:
+task 23 'run'. lines 302-326:
 {
   "gas_used": 476235,
   "status": "Executed"
 }
 
-task 25 'run'. lines 355-364:
+task 25 'run'. lines 330-339:
 {
   "gas_used": 11943,
   "status": "Executed"
 }
 
-task 26 'call'. lines 366-366:
+task 26 'call'. lines 341-341:
 "0xb5d577dc9ce59725e29886632e69ecdf/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"
 
-task 28 'run'. lines 370-389:
+task 28 'run'. lines 345-364:
 {
   "gas_used": 6523189,
   "status": "Executed"
 }
 
-task 29 'call'. lines 392-392:
+task 29 'call'. lines 367-367:
 "0xa7dcef9aef26202fce82a7c7d6672afb/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"
 
-task 31 'run'. lines 396-409:
+task 31 'run'. lines 371-384:
 {
   "gas_used": 6195892,
   "status": "Executed"
 }
 
-task 32 'call'. lines 412-412:
+task 32 'call'. lines 387-387:
 "0x3d4926eeda5b14b0ac979269ee79e40e/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"
 
-task 34 'run'. lines 416-429:
+task 34 'run'. lines 391-404:
 {
   "gas_used": 35135,
   "status": {
@@ -107,19 +107,19 @@ task 34 'run'. lines 416-429:
   }
 }
 
-task 36 'run'. lines 434-449:
+task 36 'run'. lines 409-424:
 {
   "gas_used": 106454,
   "status": "Executed"
 }
 
-task 39 'run'. lines 457-467:
+task 39 'run'. lines 432-442:
 {
   "gas_used": 115442,
   "status": "Executed"
 }
 
-task 41 'run'. lines 472-484:
+task 41 'run'. lines 447-459:
 {
   "gas_used": 451300,
   "status": "Executed"
diff --git a/integration-tests/daospace/dao_proposal.move b/integration-tests/daospace/dao_proposal.move
index 5c760898..dcb64b9c 100644
--- a/integration-tests/daospace/dao_proposal.move
+++ b/integration-tests/daospace/dao_proposal.move
@@ -23,7 +23,6 @@
 
 //# publish
 module creator::DAOHelper {
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOAccount;
     use StarcoinFramework::DAOSpace::{Self, CapType, Proposal};
     use StarcoinFramework::MemberProposalPlugin::{Self, MemberProposalPlugin};
@@ -78,28 +77,6 @@ module creator::DAOHelper {
         receiver: address,
     }
 
-    public fun initialize_x_plugin(sender: &signer) {
-        DAOPluginMarketplace::register_plugin(
-            sender,
-            b"0x1::XPlugin",
-            b"The X plugin.",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = XPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            sender,
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://x-plugin",
-        );
-    }
-
     public fun required_caps():vector{
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::install_plugin_cap_type());
@@ -168,19 +145,17 @@ module creator::DAOHelper {
 
 //# run --signers creator
 script{
-    use StarcoinFramework::StdlibUpgradeScripts;
     use creator::DAOHelper;
 
     fun main(sender: signer){
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-        DAOHelper::initialize_x_plugin(&sender);
-
         // time unit is millsecond
         DAOHelper::create_dao(sender, 10000, 600000, 2, 10000, 10);
     }
 }
 // check: EXECUTED
 
+
+
 //# run --signers alice
 script{
     use creator::DAOHelper::{X};
diff --git a/integration-tests/daospace/dao_proposal_rejected.exp b/integration-tests/daospace/dao_proposal_rejected.exp
index 4ef8f252..bb8fe3bf 100644
--- a/integration-tests/daospace/dao_proposal_rejected.exp
+++ b/integration-tests/daospace/dao_proposal_rejected.exp
@@ -2,35 +2,14 @@ processed 40 tasks
 
 task 7 'run'. lines 126-135:
 {
-  "gas_used": 969953,
-  "status": {
-    "MoveAbort": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAOSpace"
-        }
-      },
-      "abort_code": "179201"
-    }
-  }
+  "gas_used": 1192902,
+  "status": "Executed"
 }
 
 task 8 'run'. lines 139-153:
 {
-  "gas_used": 5286,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAORegistry"
-        }
-      },
-      "function": 0,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 109239,
+  "status": "Executed"
 }
 
 task 9 'run'. lines 155-180:
@@ -41,36 +20,14 @@ task 9 'run'. lines 155-180:
 
 task 11 'run'. lines 185-201:
 {
-  "gas_used": 42286,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAORegistry"
-        }
-      },
-      "function": 0,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 235032,
+  "status": "Executed"
 }
 
 task 12 'run'. lines 203-219:
 {
-  "gas_used": 42286,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAORegistry"
-        }
-      },
-      "function": 0,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 235032,
+  "status": "Executed"
 }
 
 task 16 'run'. lines 227-241:
@@ -103,19 +60,8 @@ task 22 'run'. lines 268-279:
 
 task 23 'run'. lines 282-306:
 {
-  "gas_used": 18867,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAORegistry"
-        }
-      },
-      "function": 0,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 476235,
+  "status": "Executed"
 }
 
 task 25 'run'. lines 310-319:
@@ -129,19 +75,8 @@ task 26 'call'. lines 321-321:
 
 task 28 'run'. lines 325-344:
 {
-  "gas_used": 3733,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x662ba5a1a1da0f1c70a9762c7eeb7aaf",
-          "name": "DAOHelper"
-        }
-      },
-      "function": 3,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 6529557,
+  "status": "Executed"
 }
 
 task 29 'call'. lines 347-347:
@@ -149,19 +84,8 @@ task 29 'call'. lines 347-347:
 
 task 31 'run'. lines 351-364:
 {
-  "gas_used": 3205,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x662ba5a1a1da0f1c70a9762c7eeb7aaf",
-          "name": "DAOHelper"
-        }
-      },
-      "function": 3,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 6192786,
+  "status": "Executed"
 }
 
 task 32 'call'. lines 367-367:
@@ -169,51 +93,28 @@ task 32 'call'. lines 367-367:
 
 task 34 'run'. lines 371-384:
 {
-  "gas_used": 3469,
+  "gas_used": 35207,
   "status": {
-    "ExecutionFailure": {
+    "MoveAbort": {
       "location": {
         "Module": {
-          "address": "0x662ba5a1a1da0f1c70a9762c7eeb7aaf",
-          "name": "DAOHelper"
+          "address": "0x00000000000000000000000000000001",
+          "name": "DAOSpace"
         }
       },
-      "function": 3,
-      "code_offset": 1
+      "abort_code": "51201"
     }
   }
 }
 
 task 36 'run'. lines 389-404:
 {
-  "gas_used": 2381,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x662ba5a1a1da0f1c70a9762c7eeb7aaf",
-          "name": "DAOHelper"
-        }
-      },
-      "function": 3,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 105721,
+  "status": "Executed"
 }
 
 task 39 'run'. lines 412-428:
 {
-  "gas_used": 17640,
-  "status": {
-    "ExecutionFailure": {
-      "location": {
-        "Module": {
-          "address": "0x00000000000000000000000000000001",
-          "name": "DAORegistry"
-        }
-      },
-      "function": 0,
-      "code_offset": 1
-    }
-  }
+  "gas_used": 321723,
+  "status": "Executed"
 }
diff --git a/integration-tests/daospace/dao_upgrade.exp b/integration-tests/daospace/dao_upgrade.exp
index 8d845abe..2a965779 100644
--- a/integration-tests/daospace/dao_upgrade.exp
+++ b/integration-tests/daospace/dao_upgrade.exp
@@ -1,45 +1,33 @@
-processed 18 tasks
+processed 16 tasks
 
-task 3 'run'. lines 7-15:
-{
-  "gas_used": 6483371,
-  "status": "Executed"
-}
-
-task 5 'run'. lines 97-105:
-{
-  "gas_used": 522882,
-  "status": "Executed"
-}
-
-task 9 'run'. lines 121-128:
+task 7 'run'. lines 78-85:
 {
   "gas_used": 600,
   "status": "MiscellaneousError"
 }
 
-task 10 'run'. lines 130-144:
+task 8 'run'. lines 87-101:
 {
   "gas_used": 173698,
   "status": "Executed"
 }
 
-task 11 'run'. lines 145-154:
+task 9 'run'. lines 102-111:
 {
-  "gas_used": 1047820,
+  "gas_used": 1012753,
   "status": "Executed"
 }
 
-task 12 'deploy'. lines 156-156:
+task 10 'deploy'. lines 113-113:
 Publish failure: Discard { status_code: StrView(2015), status_code_name: "UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION" }
 
-task 14 'run'. lines 160-167:
+task 12 'run'. lines 117-124:
 {
   "gas_used": 110070,
   "status": "Executed"
 }
 
-task 17 'run'. lines 173-180:
+task 15 'run'. lines 130-137:
 {
   "gas_used": 11344,
   "status": "Executed"
diff --git a/integration-tests/daospace/dao_upgrade.move b/integration-tests/daospace/dao_upgrade.move
index 16f1e2ac..3c4e6625 100644
--- a/integration-tests/daospace/dao_upgrade.move
+++ b/integration-tests/daospace/dao_upgrade.move
@@ -4,19 +4,8 @@
 
 //# faucet --addr alice --amount 10000000000
 
-//# run --signers creator
-script {
-    use StarcoinFramework::StdlibUpgradeScripts;
-
-    fun upgrade_from_v11_to_v12() {
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-    }
-}
-// check: EXECUTED
-
 //# publish
 module creator::DAOHelper {
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOAccount;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::AnyMemberPlugin::{Self, AnyMemberPlugin};
@@ -57,28 +46,6 @@ module creator::DAOHelper {
 
     struct XPlugin has store, drop {}
 
-    public fun initialize_x_plugin(sender: &signer) {
-        DAOPluginMarketplace::register_plugin(
-            sender,
-            b"0x1::XPlugin",
-            b"The X plugin.",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = XPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            sender,
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://x-plugin",
-        );
-    }
-
     public fun required_caps(): vector {
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::install_plugin_cap_type());
@@ -94,16 +61,6 @@ module creator::DAOHelper {
     }
 }
 
-//# run --signers creator
-script {
-    use creator::DAOHelper;
-
-    fun main(sender: signer) {
-        DAOHelper::initialize_x_plugin(&sender);
-    }
-}
-// check: EXECUTED
-
 //# package
 module creator::test {
     public fun hello() {}
diff --git a/integration-tests/daospace/stake_to_sbt_plugin.exp b/integration-tests/daospace/stake_to_sbt_plugin.exp
index 25772a82..94e6cab7 100644
--- a/integration-tests/daospace/stake_to_sbt_plugin.exp
+++ b/integration-tests/daospace/stake_to_sbt_plugin.exp
@@ -1,24 +1,18 @@
-processed 18 tasks
+processed 17 tasks
 
-task 4 'run'. lines 19-27:
+task 5 'run'. lines 61-69:
 {
-  "gas_used": 6483371,
+  "gas_used": 1672577,
   "status": "Executed"
 }
 
-task 6 'run'. lines 71-79:
-{
-  "gas_used": 1684266,
-  "status": "Executed"
-}
-
-task 7 'run'. lines 81-117:
+task 6 'run'. lines 71-107:
 {
   "gas_used": 652577,
   "status": "Executed"
 }
 
-task 8 'run'. lines 119-130:
+task 7 'run'. lines 109-120:
 {
   "gas_used": 38522,
   "status": {
@@ -34,37 +28,37 @@ task 8 'run'. lines 119-130:
   }
 }
 
-task 10 'run'. lines 134-147:
+task 9 'run'. lines 124-137:
 {
   "gas_used": 86636,
   "status": "Executed"
 }
 
-task 11 'run'. lines 149-165:
+task 10 'run'. lines 139-155:
 {
   "gas_used": 419842,
   "status": "Executed"
 }
 
-task 13 'run'. lines 169-182:
+task 12 'run'. lines 159-172:
 {
   "gas_used": 217386,
   "status": "Executed"
 }
 
-task 14 'run'. lines 184-200:
+task 13 'run'. lines 174-190:
 {
   "gas_used": 541049,
   "status": "Executed"
 }
 
-task 16 'run'. lines 204-219:
+task 15 'run'. lines 194-209:
 {
   "gas_used": 226351,
   "status": "Executed"
 }
 
-task 17 'run'. lines 221-232:
+task 16 'run'. lines 211-222:
 {
   "gas_used": 307027,
   "status": {
diff --git a/integration-tests/daospace/stake_to_sbt_plugin.move b/integration-tests/daospace/stake_to_sbt_plugin.move
index 8482756d..d0b3ad2f 100644
--- a/integration-tests/daospace/stake_to_sbt_plugin.move
+++ b/integration-tests/daospace/stake_to_sbt_plugin.move
@@ -16,16 +16,6 @@
 // }
 // // check: EXECUTED
 
-//# run --signers creator
-script {
-    use StarcoinFramework::StdlibUpgradeScripts;
-
-    fun upgrade_from_v11_to_v12() {
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-    }
-}
-// check: EXECUTED
-
 //# publish
 module creator::XDAO {
     use StarcoinFramework::DAOAccount;
diff --git a/integration-tests/daospace/xdao.exp b/integration-tests/daospace/xdao.exp
index dbdc79e7..6fdd4ef6 100644
--- a/integration-tests/daospace/xdao.exp
+++ b/integration-tests/daospace/xdao.exp
@@ -1,49 +1,7 @@
-processed 8 tasks
+processed 4 tasks
 
-task 2 'run'. lines 7-14:
+task 3 'run'. lines 54-61:
 {
-  "gas_used": 6483371,
+  "gas_used": 1074271,
   "status": "Executed"
 }
-
-task 4 'run'. lines 54-61:
-{
-  "gas_used": 1097649,
-  "status": "Executed"
-}
-
-task 5 'view'. lines 63-63:
-key 0x00000000000000000000000000000001::DAOSpace::DAO {
-    id: 2
-    name: 58
-    description: 697066733a2f2f6465736372697074696f6e
-    dao_address: 662ba5a1a1da0f1c70a9762c7eeb7aaf
-    next_member_id: 1
-    next_proposal_id: 1
-}
-
-task 6 'view'. lines 65-65:
-key 0x00000000000000000000000000000001::DAOSpace::InstalledPluginInfo<0x00000000000000000000000000000001::InstallPluginProposalPlugin::InstallPluginProposalPlugin> {
-    plugin_id: 4
-    granted_caps: [
-        copy drop store 0x00000000000000000000000000000001::DAOSpace::CapType {
-            code: 7u8
-        },
-        copy drop store 0x00000000000000000000000000000001::DAOSpace::CapType {
-            code: 0u8
-        },
-    ]
-}
-
-task 7 'view'. lines 67-67:
-key 0x00000000000000000000000000000001::DAOSpace::InstalledPluginInfo<0x00000000000000000000000000000001::MemberProposalPlugin::MemberProposalPlugin> {
-    plugin_id: 5
-    granted_caps: [
-        copy drop store 0x00000000000000000000000000000001::DAOSpace::CapType {
-            code: 6u8
-        },
-        copy drop store 0x00000000000000000000000000000001::DAOSpace::CapType {
-            code: 7u8
-        },
-    ]
-}
diff --git a/integration-tests/daospace/xdao.move b/integration-tests/daospace/xdao.move
index 0d1cb664..0ffb02b4 100644
--- a/integration-tests/daospace/xdao.move
+++ b/integration-tests/daospace/xdao.move
@@ -4,14 +4,14 @@
 
 // TODO figure out how to call genesis init script in integration tests
 
-//# run --signers creator
-script{
-    use StarcoinFramework::StdlibUpgradeScripts;
-
-    fun main(){
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-    }
-}
+////# run --signers creator
+//script{
+//    use StarcoinFramework::StdlibUpgradeScripts;
+//
+//    fun main(){
+//        StdlibUpgradeScripts::upgrade_from_v11_to_v12();
+//    }
+//}
 
 //# publish
 module creator::XDAO {
@@ -58,10 +58,4 @@ script{
     fun main(sender: signer){
         XDAO::create_dao(sender, 10, 10, 10, 10, 10);
     }
-}
-
-//# view --address creator --resource 0x1::DAOSpace::DAO
-
-//# view --address creator --resource 0x1::DAOSpace::InstalledPluginInfo<0x1::InstallPluginProposalPlugin::InstallPluginProposalPlugin>
-
-//# view --address creator --resource 0x1::DAOSpace::InstalledPluginInfo<0x1::MemberProposalPlugin::MemberProposalPlugin>
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/integration-tests/daospaceplugin/mint_proposal_plugin.exp b/integration-tests/daospaceplugin/mint_proposal_plugin.exp
index 0849be17..5bacfd7e 100644
--- a/integration-tests/daospaceplugin/mint_proposal_plugin.exp
+++ b/integration-tests/daospaceplugin/mint_proposal_plugin.exp
@@ -1,30 +1,24 @@
-processed 30 tasks
+processed 29 tasks
 
-task 5 'run'. lines 11-18:
-{
-  "gas_used": 6483371,
-  "status": "Executed"
-}
-
-task 9 'run'. lines 80-94:
+task 8 'run'. lines 71-85:
 {
   "gas_used": 125914,
   "status": "Executed"
 }
 
-task 10 'run'. lines 96-105:
+task 9 'run'. lines 87-96:
 {
-  "gas_used": 1162585,
+  "gas_used": 1127518,
   "status": "Executed"
 }
 
-task 11 'run'. lines 107-117:
+task 10 'run'. lines 98-108:
 {
   "gas_used": 53739,
   "status": "Executed"
 }
 
-task 12 'run'. lines 119-132:
+task 11 'run'. lines 110-123:
 {
   "gas_used": 8525,
   "status": {
@@ -41,46 +35,46 @@ task 12 'run'. lines 119-132:
   }
 }
 
-task 13 'run'. lines 134-148:
+task 12 'run'. lines 125-139:
 {
   "gas_used": 264828,
   "status": "Executed"
 }
 
-task 17 'run'. lines 156-167:
+task 16 'run'. lines 147-158:
 {
   "gas_used": 101440,
   "status": "Executed"
 }
 
-task 20 'run'. lines 173-182:
+task 19 'run'. lines 164-173:
 {
   "gas_used": 575872,
   "status": "Executed"
 }
 
-task 21 'run'. lines 184-215:
+task 20 'run'. lines 175-206:
 {
   "gas_used": 450230,
   "status": "Executed"
 }
 
-task 23 'call'. lines 219-219:
+task 22 'call'. lines 210-210:
 "0xa7dcef9aef26202fce82a7c7d6672afb/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::XDAO::XDAO>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::XDAO::XDAO>>"
 
-task 25 'run'. lines 223-237:
+task 24 'run'. lines 214-228:
 {
   "gas_used": 8799122,
   "status": "Executed"
 }
 
-task 27 'run'. lines 241-255:
+task 26 'run'. lines 232-246:
 {
   "gas_used": 173636,
   "status": "Executed"
 }
 
-task 29 'run'. lines 259-280:
+task 28 'run'. lines 250-271:
 {
   "gas_used": 514254,
   "status": "Executed"
diff --git a/integration-tests/daospaceplugin/mint_proposal_plugin.move b/integration-tests/daospaceplugin/mint_proposal_plugin.move
index f2fd5916..e1354dfd 100644
--- a/integration-tests/daospaceplugin/mint_proposal_plugin.move
+++ b/integration-tests/daospaceplugin/mint_proposal_plugin.move
@@ -8,15 +8,6 @@
 
 //# faucet --addr cindy --amount 10000000000
 
-//# run --signers creator
-script{
-    use StarcoinFramework::StdlibUpgradeScripts;
-
-    fun main(){
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-    }
-}
-
 //# publish
 module creator::XDAO {
     use StarcoinFramework::DAOAccount;
diff --git a/integration-tests/daospaceplugin/salary_gov_plugin.exp b/integration-tests/daospaceplugin/salary_gov_plugin.exp
index 43fb2fc6..72de0cb9 100644
--- a/integration-tests/daospaceplugin/salary_gov_plugin.exp
+++ b/integration-tests/daospaceplugin/salary_gov_plugin.exp
@@ -1,36 +1,36 @@
 processed 21 tasks
 
-task 7 'run'. lines 252-266:
+task 7 'run'. lines 229-238:
 {
-  "gas_used": 8160906,
+  "gas_used": 1147505,
   "status": "Executed"
 }
 
-task 8 'run'. lines 269-277:
+task 8 'run'. lines 241-249:
 {
   "gas_used": 44618,
   "status": "Executed"
 }
 
-task 10 'run'. lines 282-297:
+task 10 'run'. lines 254-269:
 {
   "gas_used": 279652,
   "status": "Executed"
 }
 
-task 11 'run'. lines 300-311:
+task 11 'run'. lines 272-283:
 {
   "gas_used": 392604,
   "status": "Executed"
 }
 
-task 13 'run'. lines 316-332:
+task 13 'run'. lines 288-304:
 {
   "gas_used": 290837,
   "status": "Executed"
 }
 
-task 14 'run'. lines 335-345:
+task 14 'run'. lines 307-317:
 {
   "gas_used": 22142,
   "status": {
@@ -46,25 +46,25 @@ task 14 'run'. lines 335-345:
   }
 }
 
-task 16 'run'. lines 349-366:
+task 16 'run'. lines 321-338:
 {
   "gas_used": 453778,
   "status": "Executed"
 }
 
-task 18 'run'. lines 370-386:
+task 18 'run'. lines 342-358:
 {
   "gas_used": 290837,
   "status": "Executed"
 }
 
-task 19 'run'. lines 388-397:
+task 19 'run'. lines 360-369:
 {
   "gas_used": 25017,
   "status": "Executed"
 }
 
-task 20 'run'. lines 399-409:
+task 20 'run'. lines 371-381:
 {
   "gas_used": 22142,
   "status": {
diff --git a/integration-tests/daospaceplugin/salary_gov_plugin.move b/integration-tests/daospaceplugin/salary_gov_plugin.move
index 2b0964b8..9cd61fe6 100644
--- a/integration-tests/daospaceplugin/salary_gov_plugin.move
+++ b/integration-tests/daospaceplugin/salary_gov_plugin.move
@@ -8,10 +8,9 @@
 
 //# publish
 module creator::SalaryGovPlugin {
-    use StarcoinFramework::Signer;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace;
     use StarcoinFramework::Vector;
+    use StarcoinFramework::Signer;
     use StarcoinFramework::Account;
     use StarcoinFramework::Timestamp;
     use StarcoinFramework::Errors;
@@ -35,28 +34,6 @@ module creator::SalaryGovPlugin {
         boss: address,
     }
 
-    public fun initialize(sender: &signer) {
-        DAOPluginMarketplace::register_plugin(
-            sender,
-            b"0x1::SalaryGovPlugin",
-            b"The salary plugin for DAO",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = SalaryGovPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            sender,
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://salary-gov-plugin",
-        );
-    }
-
     public fun required_caps(): vector {
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::member_cap_type());
@@ -251,14 +228,9 @@ module creator::XDAO {
 
 //# run --signers creator
 script {
-    use StarcoinFramework::StdlibUpgradeScripts;
-    use creator::SalaryGovPlugin;
     use creator::XDAO;
 
     fun main(sender: signer) {
-        StdlibUpgradeScripts::upgrade_from_v12_to_v12_1();
-        SalaryGovPlugin::initialize(&sender);
-
         // time unit is millsecond
         XDAO::create_dao(sender, 10000, 360000, 1, 10000, 0, @acting_boss);
     }
diff --git a/integration-tests/starcoin_dao/starcoin_dao.exp b/integration-tests/starcoin_dao/starcoin_dao.exp
index 8fcc1f46..967f1b6e 100644
--- a/integration-tests/starcoin_dao/starcoin_dao.exp
+++ b/integration-tests/starcoin_dao/starcoin_dao.exp
@@ -2,6 +2,6 @@ processed 4 tasks
 
 task 3 'run'. lines 8-16:
 {
-  "gas_used": 6483371,
+  "gas_used": 1789338,
   "status": "Executed"
 }
diff --git a/integration-tests/starcoin_dao/starcoin_onchain_config.exp b/integration-tests/starcoin_dao/starcoin_onchain_config.exp
index 73b60c4a..5d442609 100644
--- a/integration-tests/starcoin_dao/starcoin_onchain_config.exp
+++ b/integration-tests/starcoin_dao/starcoin_onchain_config.exp
@@ -2,7 +2,7 @@ processed 24 tasks
 
 task 4 'run'. lines 9-17:
 {
-  "gas_used": 6476171,
+  "gas_used": 1782138,
   "status": "Executed"
 }
 
diff --git a/integration-tests/starcoin_dao/starcoin_upgrade_module.exp b/integration-tests/starcoin_dao/starcoin_upgrade_module.exp
index 8f9f9513..b980497a 100644
--- a/integration-tests/starcoin_dao/starcoin_upgrade_module.exp
+++ b/integration-tests/starcoin_dao/starcoin_upgrade_module.exp
@@ -2,7 +2,7 @@ processed 27 tasks
 
 task 4 'run'. lines 9-17:
 {
-  "gas_used": 6476171,
+  "gas_used": 1782138,
   "status": "Executed"
 }
 
diff --git a/sources/GenesisSignerCapability.move b/sources/GenesisSignerCapability.move
index a5f70b74..bbfd8156 100644
--- a/sources/GenesisSignerCapability.move
+++ b/sources/GenesisSignerCapability.move
@@ -8,20 +8,9 @@ module StarcoinFramework::GenesisSignerCapability {
     friend StarcoinFramework::Genesis;
     friend StarcoinFramework::StdlibUpgradeScripts;
     friend StarcoinFramework::DAORegistry;
-    friend StarcoinFramework::DAOExtensionPoint;
-    friend StarcoinFramework::DAOPluginMarketplace;
     friend StarcoinFramework::Block;
     friend StarcoinFramework::DAOAccount;
 
-    friend StarcoinFramework::AnyMemberPlugin;
-    friend StarcoinFramework::ConfigProposalPlugin;
-    friend StarcoinFramework::GrantProposalPlugin;
-    friend StarcoinFramework::InstallPluginProposalPlugin;
-    friend StarcoinFramework::MemberProposalPlugin;
-    friend StarcoinFramework::MintProposalPlugin;
-    friend StarcoinFramework::StakeToSBTPlugin;
-    friend StarcoinFramework::UpgradeModulePlugin;
-
     const ENOT_GENESIS_ACCOUNT: u64 = 11;
 
     struct GenesisSignerCapability has key {
diff --git a/sources/StarcoinDAO.move b/sources/StarcoinDAO.move
index 834a2fbc..e1ee1eca 100644
--- a/sources/StarcoinDAO.move
+++ b/sources/StarcoinDAO.move
@@ -53,13 +53,14 @@ module StarcoinFramework::StarcoinDAO{
         DAOSpace::set_custom_config_cap(OnChainConfigDao::config_cap());
 
         DAOSpace::install_plugin_with_root_cap(&dao_root_cap, InstallPluginProposalPlugin::required_caps()); 
-        DAOSpace::install_plugin_with_root_cap(&dao_root_cap, UpgradeModulePlugin::required_caps());
+        DAOSpace::install_plugin_with_root_cap(&dao_root_cap,UpgradeModulePlugin::required_caps());
         DAOSpace::install_plugin_with_root_cap(&dao_root_cap, ConfigProposalPlugin::required_caps());
+        
         DAOSpace::install_plugin_with_root_cap(&dao_root_cap, StakeToSBTPlugin::required_caps());
-
         StakeToSBTPlugin::accept_token_with_root_cap(&dao_root_cap);
         StakeToSBTPlugin::set_sbt_weight_with_root_cap(&dao_root_cap, 60000, 1000);
         
         DAOSpace::burn_root_cap(dao_root_cap);
+
     }
 }
\ No newline at end of file
diff --git a/sources/StdlibUpgradeScripts.move b/sources/StdlibUpgradeScripts.move
index 3f5afa8d..946043d5 100644
--- a/sources/StdlibUpgradeScripts.move
+++ b/sources/StdlibUpgradeScripts.move
@@ -21,16 +21,6 @@ module StdlibUpgradeScripts {
         use StarcoinFramework::Account;
         use StarcoinFramework::Block;
         use StarcoinFramework::DAORegistry;
-        use StarcoinFramework::DAOExtensionPoint;
-        use StarcoinFramework::DAOPluginMarketplace;
-        use StarcoinFramework::AnyMemberPlugin;
-        use StarcoinFramework::ConfigProposalPlugin;
-        use StarcoinFramework::GrantProposalPlugin;
-        use StarcoinFramework::InstallPluginProposalPlugin;
-        use StarcoinFramework::MemberProposalPlugin;
-        use StarcoinFramework::MintProposalPlugin;
-        use StarcoinFramework::StakeToSBTPlugin;
-        use StarcoinFramework::UpgradeModulePlugin;
         use StarcoinFramework::StarcoinDAO;
 
         spec module {
@@ -116,7 +106,6 @@ module StdlibUpgradeScripts {
         public(script) fun upgrade_from_v11_to_v12() {
             do_upgrade_from_v11_to_v12();
         }
-
         public fun do_upgrade_from_v11_to_v12() {
             Block::checkpoints_init();
             DAORegistry::initialize();
@@ -125,20 +114,7 @@ module StdlibUpgradeScripts {
         public(script) fun upgrade_from_v12_to_v12_1()  {
             do_upgrade_from_v12_to_v12_1();
         }
-
         public fun do_upgrade_from_v12_to_v12_1() {
-            DAOExtensionPoint::initialize();
-            DAOPluginMarketplace::initialize();
-
-            AnyMemberPlugin::initialize();
-            ConfigProposalPlugin::initialize();
-            GrantProposalPlugin::initialize();
-            InstallPluginProposalPlugin::initialize();
-            MemberProposalPlugin::initialize();
-            MintProposalPlugin::initialize();
-            StakeToSBTPlugin::initialize();
-            UpgradeModulePlugin::initialize();
-
             //TODO : config rate need mind
             StarcoinDAO::create_dao( 60000, 120000, 10, 10000, 1000 * 1000 * 1000 * 1000);
         }
diff --git a/sources/daospace/DAOExtensionPoint.move b/sources/daospace/DAOExtensionPoint.move
deleted file mode 100644
index 94b41bf3..00000000
--- a/sources/daospace/DAOExtensionPoint.move
+++ /dev/null
@@ -1,393 +0,0 @@
-module StarcoinFramework::DAOExtensionPoint {
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::CoreAddresses;
-    use StarcoinFramework::Errors;
-    use StarcoinFramework::Signer;
-    use StarcoinFramework::Timestamp;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::NFT;
-    use StarcoinFramework::NFTGallery;
-    use StarcoinFramework::Option::{Self, Option};
-    use StarcoinFramework::Event;
-    use StarcoinFramework::TypeInfo::{Self, TypeInfo};
-
-    const ERR_ALREADY_INITIALIZED: u64 = 100;
-    const ERR_NOT_CONTRACT_OWNER: u64 = 101;
-    const ERR_EXPECT_EXT_POINT_NFT: u64 = 102;
-    const ERR_NOT_FOUND_EXT_POINT: u64 = 103;
-    const ERR_ALREADY_REGISTERED: u64 = 104;
-    const ERR_STAR_ALREADY_STARED: u64 = 105;
-    const ERR_STAR_NOT_FOUND_STAR: u64 = 106;
-    const ERR_TAG_DUPLICATED: u64 = 107;
-
-    const ERR_VERSION_COUNT_LIMIT: u64 = 108;
-    const ERR_ITEMS_COUNT_LIMIT: u64 = 109;
-    const ERR_STRING_TOO_LONG: u64 = 110;
-
-    const MAX_VERSION_COUNT: u64 = 256; // Max version count for extension point.
-    const MAX_LABELS_COUNT: u64 = 20; // Max labels count for extension point.
-
-    const MAX_INPUT_LEN: u64 = 64;
-    const MAX_TEXT_LEN: u64 = 256;
-
-    struct Version has store  {
-       number: u64,
-       tag: vector,
-       types_d_ts: vector,
-       document: vector,
-       created_at: u64,
-    }
-
-    struct Registry has key, store  {
-       next_id: u64,
-    }
-
-    struct Entry has key, store  {
-       id: u64,
-       name: vector,
-       description: vector,
-       labels: vector>,
-       next_version_number: u64,
-       versions: vector,
-       star_count: u64,
-       created_at: u64,
-       updated_at: u64,
-    }
-
-    struct Star has key, store {
-        created_at: u64,
-    }
-
-    struct OwnerNFTMeta has copy, store, drop {
-        extpoint_id: u64,
-        registry_address: address,
-    }
-
-    struct OwnerNFTBody has store{}
-
-    struct NFTMintCapHolder has key {
-        cap: NFT::MintCapability,
-        nft_metadata: NFT::Metadata,
-    }
-
-    /// registry event handlers
-    struct RegistryEventHandlers has key, store{
-        register: Event::EventHandle,
-    }
-
-    struct ExtensionPointRegisterEvent has drop, store{
-        id: u64,
-        type: TypeInfo,
-        name: vector,
-        description:vector,
-        labels: vector>
-    }
-
-    /// extension point event handlers
-    struct ExtensionPointEventHandlers has key, store{
-        publish_version: Event::EventHandle>,
-        star: Event::EventHandle>,
-        unstar: Event::EventHandle>,
-        update: Event::EventHandle>,
-    }
-
-    struct PublishVersionEvent has drop, store{
-        sender: address,
-        version_number: u64,
-    }
-
-    struct StarEvent has drop, store{
-        sender: address,
-    }
-
-    struct UnstarEvent has drop, store{
-        sender: address,
-    }
-
-    struct UpdateInfoEvent has drop, store{
-        sender: address,
-        id: u64,
-        name: vector,
-        description:vector,
-        labels: vector>
-    }
-
-    fun next_extpoint_id(registry: &mut Registry): u64 {
-        let extpoint_id = registry.next_id;
-        registry.next_id = extpoint_id + 1;
-        extpoint_id
-    }
-
-    fun next_extpoint_version_number(extpoint: &mut Entry): u64 {
-        let version_number = extpoint.next_version_number;
-        extpoint.next_version_number = version_number + 1;
-        version_number
-    }
-
-    fun has_extpoint_nft(sender_addr: address, extpoint_id: u64): bool {
-        if (!NFTGallery::is_accept(sender_addr)) {
-            return false
-        };
-
-        let nft_infos = NFTGallery::get_nft_infos(sender_addr);
-        let len = Vector::length(&nft_infos);
-        if (len == 0) {
-            return false
-        };
-
-        let idx = len - 1;
-        loop {
-            let nft_info = Vector::borrow(&nft_infos, idx);
-            let (_, _, _, type_meta) = NFT::unpack_info(*nft_info);
-            if (type_meta.extpoint_id == extpoint_id) {
-                return true
-            };
-
-            if (idx == 0) {
-                return false
-            };
-            
-            idx = idx - 1;
-        }
-    }
-
-    fun ensure_exists_extpoint_nft(sender_addr: address, extpoint_id: u64) {
-        assert!(has_extpoint_nft(sender_addr, extpoint_id), Errors::invalid_state(ERR_EXPECT_EXT_POINT_NFT));
-    }
-
-    fun assert_tag_no_repeat(v: &vector, tag:vector) {
-        let i = 0;
-        let len = Vector::length(v);
-        while (i < len) {
-            let e = Vector::borrow(v, i);
-            assert!(*&e.tag != *&tag, Errors::invalid_argument(ERR_TAG_DUPLICATED));
-            i = i + 1;
-        };
-    }
-
-    fun assert_string_length(s: &vector, max_len: u64) {
-        let len = Vector::length(s);
-        assert!(len <= max_len, Errors::invalid_argument(ERR_STRING_TOO_LONG));
-    }
-
-    fun assert_string_array_length(v: &vector>, max_item_len: u64, max_string_len: u64) {
-        assert!(Vector::length(v) <= max_item_len, Errors::limit_exceeded(ERR_ITEMS_COUNT_LIMIT));
-
-        let i = 0;
-        let len = Vector::length(v);
-        while (i < len) {
-            let e = Vector::borrow(v, i);
-            assert_string_length(e, max_string_len);
-            i = i + 1;
-        };
-    }
-
-    public fun initialize() {
-        assert!(!exists(CoreAddresses::GENESIS_ADDRESS()), Errors::already_published(ERR_ALREADY_INITIALIZED));
-        let signer = GenesisSignerCapability::get_genesis_signer();
-
-        let nft_name = b"ExtPointOwnerNFT";
-        let nft_image = b"ipfs://QmdTwdhFi61zhRM3MtPLxuKyaqv3ePECLGsMg9pMrePv4i";
-        let nft_description = b"The extension point owner NFT";
-        let basemeta = NFT::new_meta_with_image_data(nft_name, nft_image, nft_description);
-        let basemeta_bak = *&basemeta;
-        NFT::register_v2(&signer, basemeta);
-
-        let nft_mint_cap = NFT::remove_mint_capability(&signer);
-        move_to(&signer, NFTMintCapHolder{
-            cap: nft_mint_cap,
-            nft_metadata: basemeta_bak,
-        });
-
-        move_to(&signer, Registry{
-            next_id: 1,
-        });
-
-        move_to(&signer, RegistryEventHandlers {
-            register: Event::new_event_handle(&signer),
-        });
-    }
-
-    public fun register(sender: &signer, name: vector, description: vector, types_d_ts:vector, dts_doc:vector, 
-        option_labels: Option>>):u64 acquires Registry, NFTMintCapHolder, RegistryEventHandlers {
-        assert_string_length(&name, MAX_INPUT_LEN);
-        assert_string_length(&description, MAX_TEXT_LEN);
-        assert_string_length(&types_d_ts, MAX_TEXT_LEN);
-        assert_string_length(&dts_doc, MAX_TEXT_LEN);
-
-        assert!(!exists>(CoreAddresses::GENESIS_ADDRESS()), Errors::already_published(ERR_ALREADY_REGISTERED));
-        let registry = borrow_global_mut(CoreAddresses::GENESIS_ADDRESS());
-        let extpoint_id = next_extpoint_id(registry);
-
-        let version = Version {
-            number: 1,
-            tag: b"v0.1.0",
-            types_d_ts: types_d_ts,
-            document: dts_doc,
-            created_at: Timestamp::now_seconds(),
-        };
-
-        let labels = if(Option::is_some(&option_labels)){
-            Option::destroy_some(option_labels)
-        } else {
-            Vector::empty>()
-        };
-
-        assert_string_array_length(&labels, MAX_LABELS_COUNT, MAX_INPUT_LEN);
-
-        let genesis_account = GenesisSignerCapability::get_genesis_signer();
-        move_to(&genesis_account, Entry{
-            id: copy extpoint_id, 
-            name: copy name,
-            description: copy description,
-            labels: copy labels,
-            next_version_number: 2,
-            versions: Vector::singleton(version), 
-            star_count: 0,
-            created_at: Timestamp::now_seconds(),
-            updated_at: Timestamp::now_seconds(),
-        });
-
-        move_to(&genesis_account, ExtensionPointEventHandlers{
-            publish_version: Event::new_event_handle>(&genesis_account),
-            star: Event::new_event_handle>(&genesis_account),
-            unstar: Event::new_event_handle>(&genesis_account),
-            update: Event::new_event_handle>(&genesis_account),
-        });
-
-        // grant owner NFT to sender
-        let nft_mint_cap = borrow_global_mut(CoreAddresses::GENESIS_ADDRESS());
-        let meta = OwnerNFTMeta{
-            registry_address: CoreAddresses::GENESIS_ADDRESS(),
-            extpoint_id: extpoint_id,
-        };
-
-        let nft = NFT::mint_with_cap_v2(CoreAddresses::GENESIS_ADDRESS(), &mut nft_mint_cap.cap, *&nft_mint_cap.nft_metadata, meta, OwnerNFTBody{});
-        NFTGallery::deposit(sender, nft);
-
-        // registry register event emit
-        let registry_event_handlers = borrow_global_mut(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut registry_event_handlers.register,
-            ExtensionPointRegisterEvent {
-                id: copy extpoint_id,
-                type: TypeInfo::type_of(),
-                name: copy name,
-                description: copy description,
-                labels: copy labels,
-            },
-        );
-
-        extpoint_id
-    }
-
-    public fun publish_version(
-        sender: &signer, 
-        tag: vector,
-        types_d_ts:vector,
-        dts_doc: vector, 
-    ) acquires Entry, ExtensionPointEventHandlers {
-        assert_string_length(&tag, MAX_INPUT_LEN);
-        assert_string_length(&types_d_ts, MAX_TEXT_LEN);
-        assert_string_length(&dts_doc, MAX_TEXT_LEN);
-
-        let sender_addr = Signer::address_of(sender);
-        let extp = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-
-        ensure_exists_extpoint_nft(sender_addr, extp.id);
-        assert!(Vector::length(&extp.versions) <= MAX_VERSION_COUNT, Errors::limit_exceeded(ERR_VERSION_COUNT_LIMIT));
-        assert_tag_no_repeat(&extp.versions, copy tag);
-
-        let number = next_extpoint_version_number(extp);
-        Vector::push_back(&mut extp.versions, Version{
-            number: number,
-            tag: tag,
-            types_d_ts: types_d_ts,
-            document: dts_doc,
-            created_at: Timestamp::now_seconds(),
-        });
-
-        extp.updated_at = Timestamp::now_seconds();
-
-        // publish version event emit
-        let plugin_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut plugin_event_handlers.publish_version,
-            PublishVersionEvent {
-                sender: copy sender_addr,
-                version_number: copy number,
-            },
-        );
-    }
-
-    public fun update(sender: &signer, name: vector, description: vector, option_labels: Option>>) acquires Entry, ExtensionPointEventHandlers {
-        assert_string_length(&name, MAX_INPUT_LEN);
-        assert_string_length(&description, MAX_TEXT_LEN);
-
-        let sender_addr = Signer::address_of(sender);
-        let extp = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        ensure_exists_extpoint_nft(sender_addr, extp.id);
-
-        extp.name = name;
-        extp.description = description;
-
-        if(Option::is_some(&option_labels)){
-            let labels = Option::destroy_some(option_labels);
-            assert_string_array_length(&labels, MAX_LABELS_COUNT, MAX_INPUT_LEN);
-            extp.labels = labels;
-        };
-
-        extp.updated_at = Timestamp::now_seconds();
-
-        // update extpoint entry event emit
-        let plugin_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut plugin_event_handlers.update,
-            UpdateInfoEvent {
-                sender: sender_addr,
-                id: *&extp.id,
-                name: *&extp.name,
-                description: *&extp.description,
-                labels: *&extp.labels,
-            },
-        );
-    }
-
-    public fun star(sender: &signer) acquires Entry, ExtensionPointEventHandlers {
-        let sender_addr = Signer::address_of(sender);
-        assert!(!exists>(sender_addr), Errors::invalid_state(ERR_STAR_ALREADY_STARED));
-
-        move_to(sender, Star{
-            created_at: Timestamp::now_seconds(),
-        });
-
-        let entry = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        entry.star_count = entry.star_count + 1;
-        entry.updated_at = Timestamp::now_seconds();
-
-        // star event emit
-        let extpoint_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut extpoint_event_handlers.star,
-            StarEvent {
-                sender: sender_addr,
-            },
-        );
-    }
-
-    public fun unstar(sender: &signer) acquires Star, Entry, ExtensionPointEventHandlers {
-        let sender_addr = Signer::address_of(sender);
-        assert!(exists>(sender_addr), Errors::invalid_state(ERR_STAR_NOT_FOUND_STAR));
-
-        let star = move_from>(sender_addr);
-        let Star {created_at:_} = star;
-
-        let entry = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        entry.star_count = entry.star_count - 1;
-        entry.updated_at = Timestamp::now_seconds();
-
-        // unstar event emit
-        let extpoint_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut extpoint_event_handlers.unstar,
-            UnstarEvent {
-                sender: sender_addr,
-            },
-        );
-    }
-}
diff --git a/sources/daospace/DAOPluginMarketplace.move b/sources/daospace/DAOPluginMarketplace.move
deleted file mode 100644
index a9c10962..00000000
--- a/sources/daospace/DAOPluginMarketplace.move
+++ /dev/null
@@ -1,423 +0,0 @@
-module StarcoinFramework::DAOPluginMarketplace {
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::CoreAddresses;
-    use StarcoinFramework::Errors;
-    use StarcoinFramework::Signer;
-    use StarcoinFramework::Timestamp;
-    use StarcoinFramework::Vector;
-    use StarcoinFramework::NFT;
-    use StarcoinFramework::NFTGallery;
-    use StarcoinFramework::Option::{Self, Option};
-    use StarcoinFramework::Event;
-    use StarcoinFramework::TypeInfo::{Self, TypeInfo};
-
-    const ERR_ALREADY_INITIALIZED: u64 = 100;
-    const ERR_NOT_CONTRACT_OWNER: u64 = 101;
-    const ERR_NOT_FOUND_PLUGIN: u64 = 102;
-    const ERR_EXPECT_PLUGIN_NFT: u64 = 103;
-    const ERR_PLUGIN_ALREADY_EXISTS: u64 = 104;
-    const ERR_STAR_ALREADY_STARED: u64 = 105;
-    const ERR_STAR_NOT_FOUND_STAR: u64 = 106;
-    const ERR_TAG_DUPLICATED: u64 = 107;
-
-    const ERR_VERSION_COUNT_LIMIT: u64 = 108;
-    const ERR_ITEMS_COUNT_LIMIT: u64 = 109;
-    const ERR_STRING_TOO_LONG: u64 = 110;
-
-    const MAX_VERSION_COUNT: u64 = 5; // Max version count for extension point.
-    const MAX_ITEMS_COUNT: u64 = 20; // Max items count for vector.
-
-    const MAX_INPUT_LEN: u64 = 64;
-    const MAX_TEXT_LEN: u64 = 256;
-
-    struct PluginVersion has store {
-        number: u64, //Numeric version number, such as 1, 2, 3
-        tag: vector, //Plugin tag, e.g. v0.1.1
-        implement_extpoints: vector>, //Implemented extension points
-        depend_extpoints: vector>, //Dependent extension points
-        js_entry_uri: vector, //Front-end JS code resource URI, for example: "https://cdn.xxxx.xxxx/xxxx/xxxxx.js"
-        created_at: u64, //Plugin creation time
-    }
-    
-    struct PluginRegistry has key, store {
-        next_plugin_id: u64,
-    }
-
-    struct PluginEntry has key, store {
-        id: u64, //Plugin ID
-        name: vector, //plugin name
-        description: vector, //Plugin description
-        labels: vector>, //Plugin label
-        next_version_number: u64, //next version number
-        versions: vector, //All versions of the plugin
-        star_count: u64, //Star count
-        created_at: u64, //Plugin creation time
-        updated_at: u64, //Plugin last update time
-    }
-
-    struct Star has key, store {
-        created_at: u64, //creation time
-    }
-
-    /// Plugin Owner NFT
-    struct PluginOwnerNFTMeta has copy, store, drop {
-        plugin_id: u64,
-        registry_address: address,
-    }
-
-    struct PluginOwnerNFTBody has store{}
-
-    struct PluginOwnerNFTMintCapHolder has key {
-        cap: NFT::MintCapability,
-        nft_metadata: NFT::Metadata,
-    }
-
-    fun next_plugin_id(plugin_registry: &mut PluginRegistry): u64 {
-        let plugin_id = plugin_registry.next_plugin_id;
-        plugin_registry.next_plugin_id = plugin_id + 1;
-        plugin_id
-    }
-
-    fun next_plugin_version_number(plugin: &mut PluginEntry): u64 {
-        let version_number = plugin.next_version_number;
-        plugin.next_version_number = version_number + 1;
-        version_number
-    }
-
-    fun has_plugin_owner_nft(sender_addr: address, plugin_id: u64): bool {
-        if (!NFTGallery::is_accept(sender_addr)) {
-            return false
-        };
-
-        let nft_infos = NFTGallery::get_nft_infos(sender_addr);
-        let len = Vector::length(&nft_infos);
-        if (len == 0) {
-            return false
-        };
-
-        let idx = len - 1;
-        loop {
-            let nft_info = Vector::borrow(&nft_infos, idx);
-            let (_, _, _, type_meta) = NFT::unpack_info(*nft_info);
-            if (type_meta.plugin_id == plugin_id) {
-                return true
-            };
-
-            if (idx == 0) {
-                return false
-            };
-            
-            idx = idx - 1;
-        }
-    }
-
-    fun ensure_exists_plugin_owner_nft(sender_addr: address, plugin_id: u64) {
-        assert!(has_plugin_owner_nft(sender_addr, plugin_id), Errors::invalid_state(ERR_EXPECT_PLUGIN_NFT));
-    }
-
-    fun assert_tag_no_repeat(v: &vector, tag:vector) {
-        let i = 0;
-        let len = Vector::length(v);
-        while (i < len) {
-            let e = Vector::borrow(v, i);
-            assert!(*&e.tag != *&tag, Errors::invalid_argument(ERR_TAG_DUPLICATED));
-            i = i + 1;
-        };
-    }
-
-    fun assert_string_length(s: &vector, max_len: u64) {
-        let len = Vector::length(s);
-        assert!(len <= max_len, Errors::invalid_argument(ERR_STRING_TOO_LONG));
-    }
-
-    fun assert_string_array_length(v: &vector>, max_item_len: u64, max_string_len: u64) {
-        assert!(Vector::length(v) <= max_item_len, Errors::limit_exceeded(ERR_ITEMS_COUNT_LIMIT));
-
-        let i = 0;
-        let len = Vector::length(v);
-        while (i < len) {
-            let e = Vector::borrow(v, i);
-            assert_string_length(e, max_string_len);
-            i = i + 1;
-        };
-    }
-
-    /// registry event handlers
-    struct RegistryEventHandlers has key, store{
-        register: Event::EventHandle,
-    }
-
-    struct PluginRegisterEvent has drop, store{
-        id: u64,
-        type: TypeInfo,
-        name: vector,
-        description:vector,
-        labels: vector>
-    }
-
-    /// plugin event handlers
-    struct PluginEventHandlers has key, store{
-        publish_version: Event::EventHandle>,
-        star: Event::EventHandle>,
-        unstar: Event::EventHandle>,
-        update_plugin: Event::EventHandle>,
-    }
-
-    struct PluginPublishVersionEvent has drop, store{
-        sender: address,
-        version_number: u64,
-    }
-
-    struct StarPluginEvent has drop, store{
-        sender: address,
-    }
-
-    struct UnstarPluginEvent has drop, store{
-        sender: address,
-    }
-
-    struct UpdatePluginInfoEvent has drop, store{
-        sender: address,
-        id: u64,
-        name: vector,
-        description:vector,
-        labels: vector>
-    }
-
-    public fun initialize() {
-        assert!(!exists(CoreAddresses::GENESIS_ADDRESS()), Errors::already_published(ERR_ALREADY_INITIALIZED));
-        let signer = GenesisSignerCapability::get_genesis_signer();
-
-        let nft_name = b"PluginOwnerNFT";
-        let nft_image = b"ipfs://QmdTwdhFi61zhRM3MtPLxuKyaqv3ePECLGsMg9pMrePv4i";
-        let nft_description = b"The plugin owner NFT";
-        let basemeta = NFT::new_meta_with_image_data(nft_name, nft_image, nft_description);
-        let basemeta_bak = *&basemeta;
-        NFT::register_v2(&signer, basemeta);
-
-        let nft_mint_cap = NFT::remove_mint_capability(&signer);
-        move_to(&signer, PluginOwnerNFTMintCapHolder{
-            cap: nft_mint_cap,
-            nft_metadata: basemeta_bak,
-        });
-
-        move_to(&signer, PluginRegistry{
-            next_plugin_id: 1,
-        });
-
-        move_to(&signer, RegistryEventHandlers {
-            register: Event::new_event_handle(&signer),
-        });
-    }
-
-    public fun register_plugin(sender: &signer, name: vector, description: vector, option_labels: Option>>): u64 
-        acquires PluginRegistry, PluginOwnerNFTMintCapHolder, RegistryEventHandlers {
-        assert_string_length(&name, MAX_INPUT_LEN);
-        assert_string_length(&description, MAX_TEXT_LEN);
-
-        assert!(!exists>(CoreAddresses::GENESIS_ADDRESS()), Errors::already_published(ERR_PLUGIN_ALREADY_EXISTS));
-        let plugin_registry = borrow_global_mut(CoreAddresses::GENESIS_ADDRESS());
-        let plugin_id = next_plugin_id(plugin_registry);
-
-        let genesis_account = GenesisSignerCapability::get_genesis_signer();
-
-        let labels = if(Option::is_some(&option_labels)){
-            Option::destroy_some(option_labels)
-        } else {
-            Vector::empty>()
-        };
-
-        assert_string_array_length(&labels, MAX_ITEMS_COUNT, MAX_INPUT_LEN);
-
-        move_to(&genesis_account, PluginEntry{
-            id: copy plugin_id, 
-            name: copy name, 
-            description: copy description,
-            labels: copy labels,
-            next_version_number: 1,
-            versions: Vector::empty(), 
-            star_count: 0,
-            created_at: Timestamp::now_seconds(),
-            updated_at: Timestamp::now_seconds(),
-        });
-
-        move_to(&genesis_account, PluginEventHandlers{
-            publish_version: Event::new_event_handle>(&genesis_account),
-            star: Event::new_event_handle>(&genesis_account),
-            unstar: Event::new_event_handle>(&genesis_account),
-            update_plugin: Event::new_event_handle>(&genesis_account),
-        });
-
-        // grant owner NFT to sender
-        let nft_mint_cap = borrow_global_mut(CoreAddresses::GENESIS_ADDRESS());
-        let meta = PluginOwnerNFTMeta{
-            registry_address: CoreAddresses::GENESIS_ADDRESS(),
-            plugin_id: copy plugin_id,
-        };
-
-        let nft = NFT::mint_with_cap_v2(CoreAddresses::GENESIS_ADDRESS(), &mut nft_mint_cap.cap, *&nft_mint_cap.nft_metadata, meta, PluginOwnerNFTBody{});
-        NFTGallery::deposit(sender, nft);
-
-        // registry register event emit
-        let registry_event_handlers = borrow_global_mut(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut registry_event_handlers.register,
-            PluginRegisterEvent {
-                id: copy plugin_id,
-                type: TypeInfo::type_of(),
-                name: copy name,
-                description: copy description,
-                labels: copy labels,
-            },
-        );
-
-        plugin_id
-    }
-
-    public fun exists_plugin(): bool {
-        return exists>(CoreAddresses::GENESIS_ADDRESS())
-    }
-
-    public fun take_plugin_id(): u64 acquires PluginEntry {
-        let plugin = borrow_global>(CoreAddresses::GENESIS_ADDRESS());
-        return plugin.id
-    }
-
-    public fun publish_plugin_version(
-        sender: &signer, 
-        _witness: &PluginT,
-        tag: vector,
-        implement_extpoints: vector>, 
-        depend_extpoints: vector>,
-        js_entry_uri: vector, 
-    ) acquires PluginEntry, PluginEventHandlers {
-        assert_string_length(&tag, MAX_INPUT_LEN);
-        assert_string_array_length(&implement_extpoints, MAX_ITEMS_COUNT, MAX_INPUT_LEN);
-        assert_string_array_length(&depend_extpoints, MAX_ITEMS_COUNT, MAX_INPUT_LEN);
-        assert_string_length(&js_entry_uri, MAX_TEXT_LEN);
-
-        let sender_addr = Signer::address_of(sender);
-        let plugin = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        
-        ensure_exists_plugin_owner_nft(copy sender_addr, plugin.id);
-        assert_tag_no_repeat(&plugin.versions, copy tag);
-
-        // Remove the old version when the number of versions is greater than MAX_VERSION_COUNT
-        if (Vector::length(&plugin.versions) >= MAX_VERSION_COUNT) {
-            let oldest_version = Vector::remove(&mut plugin.versions, 0);
-            let PluginVersion {
-                number: _,
-                tag: _,
-                implement_extpoints: _,
-                depend_extpoints: _,
-                js_entry_uri: _,
-                created_at: _,
-            } = oldest_version;
-        };
-        
-        let version_number = next_plugin_version_number(plugin);
-        Vector::push_back(&mut plugin.versions, PluginVersion{
-            number: copy version_number,
-            tag: tag,
-            implement_extpoints: implement_extpoints,
-            depend_extpoints: depend_extpoints,
-            js_entry_uri: js_entry_uri,
-            created_at: Timestamp::now_seconds(),
-        });
-
-        plugin.updated_at = Timestamp::now_seconds();
-
-        // plugin register event emit
-        let plugin_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut plugin_event_handlers.publish_version,
-            PluginPublishVersionEvent {
-                sender: copy sender_addr,
-                version_number: copy version_number,
-            },
-        );
-    }
-
-    public fun exists_plugin_version(
-        version_number: u64,
-    ): bool acquires PluginEntry {
-        let plugin = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        return version_number > 0 && version_number < plugin.next_version_number
-    }
-
-    public fun star_plugin(sender: &signer) acquires PluginEntry, PluginEventHandlers {
-        let sender_addr = Signer::address_of(sender);
-        assert!(!exists>(sender_addr), Errors::invalid_state(ERR_STAR_ALREADY_STARED));
-
-        move_to(sender, Star{
-            created_at: Timestamp::now_seconds(),
-        });
-
-        let plugin = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        plugin.star_count = plugin.star_count + 1;
-        plugin.updated_at = Timestamp::now_seconds();
-
-        // star plugin event emit
-        let plugin_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut plugin_event_handlers.star,
-            StarPluginEvent {
-                sender: sender_addr,
-            },
-        );
-    }
-
-    public fun unstar_plugin(sender: &signer) acquires PluginEntry, Star, PluginEventHandlers {
-        let sender_addr = Signer::address_of(sender);
-        assert!(exists>(sender_addr), Errors::invalid_state(ERR_STAR_NOT_FOUND_STAR));
-
-        let star = move_from>(sender_addr);
-        let Star { created_at:_} = star;
-
-        let plugin = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        plugin.star_count = plugin.star_count - 1;
-        plugin.updated_at = Timestamp::now_seconds();
-
-        // unstar plugin event emit
-        let plugin_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut plugin_event_handlers.unstar,
-            UnstarPluginEvent {
-                sender: sender_addr,
-            },
-        );
-    }
-
-    public fun has_star_plugin(sender: &signer): bool {
-        let sender_addr = Signer::address_of(sender);
-        return exists>(sender_addr)
-    }
-
-    public fun update_plugin(sender: &signer, _witness: &PluginT, name: vector, description: vector, option_labels: Option>>) acquires PluginEntry, PluginEventHandlers {
-        assert_string_length(&name, MAX_INPUT_LEN);
-        assert_string_length(&description, MAX_TEXT_LEN);
-
-        let sender_addr = Signer::address_of(sender);
-        let plugin = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        ensure_exists_plugin_owner_nft(sender_addr, plugin.id);
-
-        plugin.name = name;
-        plugin.description = description;
-
-        if(Option::is_some(&option_labels)){
-            let labels = Option::destroy_some(option_labels);
-            assert_string_array_length(&labels, MAX_ITEMS_COUNT, MAX_INPUT_LEN);
-            plugin.labels = labels;
-        };
-
-        plugin.updated_at = Timestamp::now_seconds();
-
-        // update plugin event emit
-        let plugin_event_handlers = borrow_global_mut>(CoreAddresses::GENESIS_ADDRESS());
-        Event::emit_event(&mut plugin_event_handlers.update_plugin,
-            UpdatePluginInfoEvent {
-                sender: sender_addr,
-                id: *&plugin.id,
-                name: *&plugin.name,
-                description: *&plugin.description,
-                labels: *&plugin.labels,
-            },
-        );
-    }
-}
diff --git a/sources/daospace/DAOSpace.move b/sources/daospace/DAOSpace.move
index 83be24c7..420d5a01 100644
--- a/sources/daospace/DAOSpace.move
+++ b/sources/daospace/DAOSpace.move
@@ -21,18 +21,17 @@ module StarcoinFramework::DAOSpace {
     use StarcoinFramework::SBTVoteStrategy;
     use StarcoinFramework::SnapshotUtil;
     use StarcoinFramework::Block;
-    use StarcoinFramework::DAOPluginMarketplace;
 
     friend StarcoinFramework::StarcoinDAO;
     
-    
     const ERR_NO_GRANTED: u64 = 100;
     const ERR_REPEAT_ELEMENT: u64 = 101;
-    const ERR_STORAGE_ERROR: u64 = 102;
-    const ERR_NFT_ERROR: u64 = 103;
-    const ERR_ALREADY_INIT: u64 = 104;
-    const ERR_TOKEN_ERROR: u64 = 105;
-    const ERR_DAO_EXT: u64 = 106;
+    const ERR_PLUGIN_HAS_INSTALLED: u64 = 102;
+    const ERR_STORAGE_ERROR: u64 = 103;
+    const ERR_NFT_ERROR: u64 = 104;
+    const ERR_ALREADY_INIT: u64 = 105;
+    const ERR_TOKEN_ERROR: u64 = 106;
+    const ERR_DAO_EXT: u64 = 107;
 
     /// member
     const ERR_EXPECT_MEMBER: u64 = 200;
@@ -67,12 +66,6 @@ module StarcoinFramework::DAOSpace {
     const ERR_SNAPSHOT_PROOF_PARAM_INVALID: u64 = 604;
     const ERR_STATE_PROOF_VERIFY_INVALID: u64 = 605;
 
-    /// plugin
-    const ERR_PLUGIN_NOT_EXIST: u64 = 700;
-    const ERR_PLUGIN_VERSION_NOT_EXIST: u64 = 701;
-    const ERR_PLUGIN_HAS_INSTALLED: u64 = 702;
-    const ERR_PLUGIN_NOT_INSTALLED: u64 = 703;
-
     /// DAO resource, every DAO has this resource at it's DAO account
     struct DAO has key {
         id: u64,
@@ -247,8 +240,7 @@ module StarcoinFramework::DAOSpace {
 
     /// The info for DAO installed Plugin
     struct InstalledPluginInfo has key {
-        plugin_id: u64, // The plugin id of plugin marketplace
-        granted_caps: vector, // The granted capabilities
+        granted_caps: vector,
     }
 
     /// The DAO member NFT metadata
@@ -478,44 +470,14 @@ module StarcoinFramework::DAOSpace {
     }
 
     fun do_install_plugin(granted_caps: vector) acquires DAOAccountCapHolder {
-        assert!(DAOPluginMarketplace::exists_plugin(), Errors::invalid_state(ERR_PLUGIN_NOT_EXIST));
         assert_no_repeat(&granted_caps);
-
         let dao_signer = dao_signer();
-        let plugin_id = DAOPluginMarketplace::take_plugin_id();
-
         assert!(!exists>(Signer::address_of(&dao_signer)), Errors::already_published(ERR_PLUGIN_HAS_INSTALLED));
         move_to(&dao_signer, InstalledPluginInfo{
-            plugin_id: plugin_id,
             granted_caps,
         });
     }
 
-    /// Uninstall plugin with DAORootCap
-    public fun uninstall_plugin_with_root_cap(_cap: &DAORootCap) acquires DAOAccountCapHolder, InstalledPluginInfo {
-        do_uninstall_plugin();
-    }
-
-    /// Uninstall plugin with DAOInstallPluginCap
-    public fun uninstall_plugin(_cap: &DAOInstallPluginCap) acquires DAOAccountCapHolder, InstalledPluginInfo {
-        do_uninstall_plugin();
-    }
-
-    fun do_uninstall_plugin() acquires DAOAccountCapHolder, InstalledPluginInfo {
-        assert!(DAOPluginMarketplace::exists_plugin(), Errors::invalid_state(ERR_PLUGIN_NOT_EXIST));
-
-        let dao_signer = dao_signer();
-        let dao_address = Signer::address_of(&dao_signer);
-
-        assert!(exists>(dao_address), Errors::already_published(ERR_PLUGIN_NOT_INSTALLED));
-        let installed_plugin = move_from>(dao_address);
-
-        let InstalledPluginInfo {
-            plugin_id:_,
-            granted_caps:_,
-        } = installed_plugin;
-    }
-
     // ModuleUpgrade functions
 
     /// Submit upgrade module plan
diff --git a/sources/daospaceplugin/AnyMemberPlugin.move b/sources/daospaceplugin/AnyMemberPlugin.move
index e5b7b967..34f3d353 100644
--- a/sources/daospaceplugin/AnyMemberPlugin.move
+++ b/sources/daospaceplugin/AnyMemberPlugin.move
@@ -1,7 +1,5 @@
 //TODO find more good name
 module StarcoinFramework::AnyMemberPlugin{
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Vector;
     use StarcoinFramework::Signer;
@@ -16,30 +14,6 @@ module StarcoinFramework::AnyMemberPlugin{
         caps 
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::AnyMemberPlugin",
-            b"The member plugin that allow all member to do join.",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = AnyMemberPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer, 
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://any-member-plugin",
-        );
-    }
-
     //TODO how to unify arguments.
     public fun join(sender: &signer, image_data:vector, image_url:vector){
         let witness = AnyMemberPlugin{};
@@ -59,5 +33,4 @@ module StarcoinFramework::AnyMemberPlugin{
     public (script) fun install_plugin_proposal_entry(sender:signer, description: vector, action_delay:u64){
         install_plugin_proposal(&sender, description, action_delay);
     }
-
 }
\ No newline at end of file
diff --git a/sources/daospaceplugin/ConfigProposalPlugin.move b/sources/daospaceplugin/ConfigProposalPlugin.move
index 32373d60..3cb4d75b 100644
--- a/sources/daospaceplugin/ConfigProposalPlugin.move
+++ b/sources/daospaceplugin/ConfigProposalPlugin.move
@@ -1,8 +1,5 @@
 /// Called by other contract which need proposal config
 module StarcoinFramework::ConfigProposalPlugin {
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Vector;
     use StarcoinFramework::InstallPluginProposalPlugin;
@@ -13,30 +10,6 @@ module StarcoinFramework::ConfigProposalPlugin {
         config: ConfigT,
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::ConfigProposalPlugin",
-            b"The config proposal plugin",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = ConfigProposalPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer, 
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://config-proposal-plugin",
-        );
-    }
-
     public fun required_caps(): vector {
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::modify_config_cap_type());
@@ -80,5 +53,4 @@ module StarcoinFramework::ConfigProposalPlugin {
     public (script) fun install_plugin_proposal_entry(sender:signer, description: vector, action_delay:u64){
         install_plugin_proposal(&sender, description, action_delay);
     }
-
 }
\ No newline at end of file
diff --git a/sources/daospaceplugin/GrantProposalPlugin.move b/sources/daospaceplugin/GrantProposalPlugin.move
index 7e8c5e69..b72c23c7 100644
--- a/sources/daospaceplugin/GrantProposalPlugin.move
+++ b/sources/daospaceplugin/GrantProposalPlugin.move
@@ -1,11 +1,8 @@
 //TODO find more good name
 module StarcoinFramework::GrantProposalPlugin{
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Errors;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Signer;
+    use StarcoinFramework::Errors;
     use StarcoinFramework::Vector;
     use StarcoinFramework::InstallPluginProposalPlugin;
 
@@ -30,30 +27,6 @@ module StarcoinFramework::GrantProposalPlugin{
         grantee:address
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::GrantProposalPlugin",
-            b"The plugin for grant proposal",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = GrantProposalPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer, 
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://grant-proposal-plugin",
-        );
-    }
-
     public fun required_caps():vector{
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::grant_cap_type());
@@ -159,5 +132,4 @@ module StarcoinFramework::GrantProposalPlugin{
     public (script) fun install_plugin_proposal_entry(sender:signer, description: vector, action_delay:u64){
         install_plugin_proposal(&sender, description, action_delay);
     }
-
 }
\ No newline at end of file
diff --git a/sources/daospaceplugin/InstallPluginProposalPlugin.move b/sources/daospaceplugin/InstallPluginProposalPlugin.move
index f719d75b..0a0a989b 100644
--- a/sources/daospaceplugin/InstallPluginProposalPlugin.move
+++ b/sources/daospaceplugin/InstallPluginProposalPlugin.move
@@ -1,8 +1,5 @@
 //TODO find more good name
 module StarcoinFramework::InstallPluginProposalPlugin{
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Vector;
 
@@ -12,30 +9,6 @@ module StarcoinFramework::InstallPluginProposalPlugin{
         required_caps: vector,
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::InstallPluginProposalPlugin",
-            b"The plugin for install plugin proposal",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = InstallPluginProposalPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer,
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://install-plugin-proposal-plugin",
-        );
-    }
-
     public fun required_caps():vector{
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());   
         Vector::push_back(&mut caps, DAOSpace::install_plugin_cap_type());    
@@ -50,16 +23,13 @@ module StarcoinFramework::InstallPluginProposalPlugin{
         let action = InstallPluginAction{
             required_caps,
         };
-
         DAOSpace::create_proposal(&cap, sender, action, description, action_delay);
     }
 
     public fun execute_proposal(sender: &signer, proposal_id: u64){
         let witness = InstallPluginProposalPlugin{};
-
         let proposal_cap = DAOSpace::acquire_proposal_cap(&witness);
         let InstallPluginAction{required_caps} = DAOSpace::execute_proposal>(&proposal_cap, sender, proposal_id);
-        
         let install_plugin_cap = DAOSpace::acquire_install_plugin_cap(&witness);
         DAOSpace::install_plugin(&install_plugin_cap, required_caps);
     }
diff --git a/sources/daospaceplugin/MemberProposalPlugin.move b/sources/daospaceplugin/MemberProposalPlugin.move
index 23d393b2..f24cf56f 100644
--- a/sources/daospaceplugin/MemberProposalPlugin.move
+++ b/sources/daospaceplugin/MemberProposalPlugin.move
@@ -1,10 +1,8 @@
 //TODO find more good name
 module StarcoinFramework::MemberProposalPlugin{
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Vector;
+    use StarcoinFramework::Option;
     use StarcoinFramework::InstallPluginProposalPlugin;
 
     struct MemberProposalPlugin has store, drop{}
@@ -16,30 +14,6 @@ module StarcoinFramework::MemberProposalPlugin{
         image_data: vector
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::MemberProposalPlugin",
-            b"The plugin for member proposal",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = MemberProposalPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer, 
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://member-proposal-plugin",
-        );
-    }
-
     public fun required_caps():vector{
         let caps = Vector::singleton(DAOSpace::member_cap_type());   
         Vector::push_back(&mut caps, DAOSpace::proposal_cap_type());    
@@ -81,5 +55,4 @@ module StarcoinFramework::MemberProposalPlugin{
     public (script) fun install_plugin_proposal_entry(sender:signer, description: vector, action_delay:u64){
         install_plugin_proposal(&sender, description, action_delay);
     }
-
 }
\ No newline at end of file
diff --git a/sources/daospaceplugin/MintProposalPlugin.move b/sources/daospaceplugin/MintProposalPlugin.move
index 8193bdb4..447d910c 100644
--- a/sources/daospaceplugin/MintProposalPlugin.move
+++ b/sources/daospaceplugin/MintProposalPlugin.move
@@ -1,10 +1,7 @@
 module StarcoinFramework::MintProposalPlugin{
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Errors;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Signer;
+    use StarcoinFramework::Errors;
     use StarcoinFramework::Vector;
     use StarcoinFramework::InstallPluginProposalPlugin;
     use StarcoinFramework::Token;
@@ -20,30 +17,6 @@ module StarcoinFramework::MintProposalPlugin{
         amount: u128,
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::MintProposalPlugin",
-            b"The plugin for minting tokens.",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = MintProposalPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer,
-            &witness,
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://mint-proposal-plugin",
-        );
-    }
-
     public fun required_caps():vector{
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::token_mint_cap_type());
@@ -97,5 +70,4 @@ module StarcoinFramework::MintProposalPlugin{
     public (script) fun install_plugin_proposal_entry(sender:signer, description: vector, action_delay:u64){
         install_plugin_proposal(&sender, description, action_delay);
     }
-
 }
\ No newline at end of file
diff --git a/sources/daospaceplugin/StakeToSBTPlugin.move b/sources/daospaceplugin/StakeToSBTPlugin.move
index 4fba70a2..2be172da 100644
--- a/sources/daospaceplugin/StakeToSBTPlugin.move
+++ b/sources/daospaceplugin/StakeToSBTPlugin.move
@@ -1,14 +1,13 @@
 module StarcoinFramework::StakeToSBTPlugin {
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Errors;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
+
     use StarcoinFramework::Token;
     use StarcoinFramework::Account;
     use StarcoinFramework::DAOSpace;
     use StarcoinFramework::Vector;
     use StarcoinFramework::Signer;
+    use StarcoinFramework::Errors;
     use StarcoinFramework::Timestamp;
+    use StarcoinFramework::Option;
     use StarcoinFramework::InstallPluginProposalPlugin;
     use StarcoinFramework::IdentifierNFT;
 
@@ -20,31 +19,7 @@ module StarcoinFramework::StakeToSBTPlugin {
     const ERR_PLUGIN_ITEM_CANT_FOUND: u64 = 1006;
     const ERR_PLUGIN_NO_MATCH_LOCKTIME: u64 = 1007;
 
-    struct StakeToSBTPlugin has store, drop{}
-
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::StakeToSBTPlugin",
-            b"The plugin for stake to SBT",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = StakeToSBTPlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer,
-            &witness, 
-            b"v0.1.0", 
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://stake-to-sbt-plugin",
-        );
-    }
+    struct StakeToSBTPlugin has store, drop {}
 
     struct Stake has key, store {
         id: u64,
@@ -482,7 +457,6 @@ module StarcoinFramework::StakeToSBTPlugin {
         accept_token(cap);
     }
 
-
     public(script) fun execute_token_accept_proposal_entry(sender: signer,
                                                                                  proposal_id: u64) {
         execute_token_accept_proposal(&sender, proposal_id);                                                                            
diff --git a/sources/daospaceplugin/UpgradeModulePlugin.move b/sources/daospaceplugin/UpgradeModulePlugin.move
index 90e05d6a..9fcfbe0a 100644
--- a/sources/daospaceplugin/UpgradeModulePlugin.move
+++ b/sources/daospaceplugin/UpgradeModulePlugin.move
@@ -1,7 +1,4 @@
 module StarcoinFramework::UpgradeModulePlugin {
-    use StarcoinFramework::GenesisSignerCapability;
-    use StarcoinFramework::Option;
-    use StarcoinFramework::DAOPluginMarketplace;
     use StarcoinFramework::DAOSpace::{Self, CapType};
     use StarcoinFramework::Vector;
     use StarcoinFramework::InstallPluginProposalPlugin;
@@ -14,30 +11,6 @@ module StarcoinFramework::UpgradeModulePlugin {
         enforced: bool
     }
 
-    public fun initialize() {
-        let signer = GenesisSignerCapability::get_genesis_signer();
-        
-        DAOPluginMarketplace::register_plugin(
-            &signer,
-            b"0x1::UpgradeModulePlugin",
-            b"The plugin for upgrade module.",
-            Option::none(),
-        );
-
-        let implement_extpoints = Vector::empty>();
-        let depend_extpoints = Vector::empty>();
-
-        let witness = UpgradeModulePlugin{};
-        DAOPluginMarketplace::publish_plugin_version(
-            &signer,
-            &witness,
-            b"v0.1.0",
-            *&implement_extpoints,
-            *&depend_extpoints,
-            b"inner-plugin://upgrade-module-plugin",
-        );
-    }
-
     public fun required_caps(): vector {
         let caps = Vector::singleton(DAOSpace::proposal_cap_type());
         Vector::push_back(&mut caps, DAOSpace::upgrade_module_cap_type());