From 94be70ef2fe528b4bf00e4623005588a600ea578 Mon Sep 17 00:00:00 2001 From: 0xpause Date: Fri, 11 Nov 2022 17:14:56 +0800 Subject: [PATCH] release v12 (#205) --- release/v12/BuildInfo.yaml | 2 +- .../install_plugin_proposal_entry.abi | Bin 122 -> 117 bytes .../install_plugin_proposal_entry.abi | Bin 127 -> 122 bytes .../create_oracle_add_proposal.abi | Bin 154 -> 149 bytes .../create_oracle_remove_proposal.abi | Bin 157 -> 152 bytes .../install_plugin_proposal_entry.abi | Bin 130 -> 125 bytes .../create_grant_proposal_entry.abi | Bin 168 -> 163 bytes .../create_grant_revoke_proposal_entry.abi | Bin 148 -> 143 bytes .../install_plugin_proposal_entry.abi | Bin 126 -> 121 bytes .../create_proposal_entry.abi | Bin 162 -> 157 bytes .../install_plugin_proposal_entry.abi | Bin 127 -> 122 bytes .../create_mint_proposal_entry.abi | Bin 148 -> 143 bytes .../install_plugin_proposal_entry.abi | Bin 125 -> 120 bytes .../create_token_accept_proposal_entry.abi | Bin 136 -> 131 bytes .../create_weight_proposal_entry.abi | Bin 149 -> 144 bytes .../install_plugin_proposal_entry.abi | Bin 123 -> 118 bytes .../v12/abis/StakeToSBTPlugin/stake_entry.abi | Bin 98 -> 81 bytes .../StakeToSBTPlugin/unstake_all_entry.abi | Bin 0 -> 68 bytes .../StakeToSBTPlugin/unstake_by_id_entry.abi | Bin 0 -> 74 bytes .../StakeToSBTPlugin/unstake_item_entry.abi | Bin 98 -> 0 bytes .../create_withdraw_proposal_entry.abi | Bin 156 -> 151 bytes .../create_proposal_entry.abi | Bin 152 -> 147 bytes .../install_plugin_proposal_entry.abi | Bin 126 -> 121 bytes .../bytecode_modules/MemberProposalPlugin.mv | Bin 1741 -> 1736 bytes .../v12/bytecode_modules/StakeToSBTPlugin.mv | Bin 5165 -> 5221 bytes release/v12/docs/AnyMemberPlugin.md | 13 +- release/v12/docs/ConfigProposalPlugin.md | 18 +- release/v12/docs/DAOSpace.md | 5 +- release/v12/docs/GasOracleProposalPlugin.md | 24 +- release/v12/docs/GrantProposalPlugin.md | 36 +-- .../v12/docs/InstallPluginProposalPlugin.md | 9 +- release/v12/docs/MemberProposalPlugin.md | 24 +- release/v12/docs/MintProposalPlugin.md | 24 +- release/v12/docs/SBTVoteStrategy.md | 2 - release/v12/docs/StakeToSBTPlugin.md | 205 ++++++++++-------- release/v12/docs/TreasuryPlugin.md | 12 +- release/v12/docs/UpgradeModulePlugin.md | 24 +- release/v12/source_maps/AnyMemberPlugin.mvsm | Bin 5516 -> 5506 bytes .../v12/source_maps/ConfigProposalPlugin.mvsm | Bin 6047 -> 6032 bytes release/v12/source_maps/DAOSpace.mvsm | Bin 192802 -> 192802 bytes .../source_maps/GasOracleProposalPlugin.mvsm | Bin 12038 -> 12018 bytes .../v12/source_maps/GrantProposalPlugin.mvsm | Bin 12478 -> 12448 bytes .../InstallPluginProposalPlugin.mvsm | Bin 4787 -> 4782 bytes .../v12/source_maps/MemberProposalPlugin.mvsm | Bin 9744 -> 9724 bytes .../v12/source_maps/MintProposalPlugin.mvsm | Bin 8507 -> 8487 bytes release/v12/source_maps/SBTVoteStrategy.mvsm | Bin 3158 -> 3158 bytes release/v12/source_maps/StakeToSBTPlugin.mvsm | Bin 38893 -> 39527 bytes release/v12/source_maps/TreasuryPlugin.mvsm | Bin 12581 -> 12571 bytes .../v12/source_maps/UpgradeModulePlugin.mvsm | Bin 7525 -> 7505 bytes release/v12/sources/AnyMemberPlugin.move | 10 +- release/v12/sources/ConfigProposalPlugin.move | 12 +- release/v12/sources/DAOSpace.move | 5 +- .../v12/sources/GasOracleProposalPlugin.move | 16 +- release/v12/sources/GrantProposalPlugin.move | 25 +-- .../sources/InstallPluginProposalPlugin.move | 9 +- release/v12/sources/MemberProposalPlugin.move | 17 +- release/v12/sources/MintProposalPlugin.move | 16 +- release/v12/sources/SBTVoteStrategy.move | 2 - release/v12/sources/StakeToSBTPlugin.move | 84 +++---- release/v12/sources/TreasuryPlugin.move | 8 +- release/v12/sources/UpgradeModulePlugin.move | 16 +- 61 files changed, 328 insertions(+), 290 deletions(-) create mode 100644 release/v12/abis/StakeToSBTPlugin/unstake_all_entry.abi create mode 100644 release/v12/abis/StakeToSBTPlugin/unstake_by_id_entry.abi delete mode 100644 release/v12/abis/StakeToSBTPlugin/unstake_item_entry.abi diff --git a/release/v12/BuildInfo.yaml b/release/v12/BuildInfo.yaml index 778af5fe..6c1f4789 100644 --- a/release/v12/BuildInfo.yaml +++ b/release/v12/BuildInfo.yaml @@ -333,7 +333,7 @@ compiled_package_info: ? address: "0x00000000000000000000000000000001" name: YieldFarmingV2 : StarcoinFramework - source_digest: E2AE9B65FA7E7B645BCC6FFF7E1C5A23CC82751DCC3A587627C198DC0F9119A0 + source_digest: E90F2F8FC8A933897A28C415C88680705ED69370B7BE7AE1025E9CE037CE07FC build_flags: dev_mode: false test_mode: false diff --git a/release/v12/abis/AnyMemberPlugin/install_plugin_proposal_entry.abi b/release/v12/abis/AnyMemberPlugin/install_plugin_proposal_entry.abi index fde5220ee0a7d4509cab7e49dd6822f8c9b9ddd1..4b6ed40af8c7317a11fa2efd02e3cc7cd7edb674 100644 GIT binary patch delta 28 jcmb;_oe(F^mReDgnwP@H$di~{l9`_upOTuBSjhwci-rk= delta 33 mcmXS|nh+<$oswFdT$EW*l9`{!#>kVH3}VEmq~;`6G64X}%nPaj diff --git a/release/v12/abis/ConfigProposalPlugin/install_plugin_proposal_entry.abi b/release/v12/abis/ConfigProposalPlugin/install_plugin_proposal_entry.abi index 27fb0ca0d7be0c0e17656b3f03559a8e69c0dff8..ace4ad77675121e2fbda4049d8c19f55743d56cb 100644 GIT binary patch delta 28 jcmb=gnvg8cmReDgnwP@H$di~{l9`_upOTuBSjhwcjTQ-$ delta 33 mcmb=bpO7rWoswFdT$EW*l9`{!#>kVH3}VEmq~;`6G64Y0rwh3N diff --git a/release/v12/abis/GasOracleProposalPlugin/create_oracle_add_proposal.abi b/release/v12/abis/GasOracleProposalPlugin/create_oracle_add_proposal.abi index d6e7001c4faff4ed0868eb7693f0f194aa23db86..1918610c2054b84c6db64f49e5d5ea7b65c5fd72 100644 GIT binary patch delta 17 YcmbQmIF)fi9y?oVMM-L2%ET%K05f?7@Bjb+ delta 22 dcmbQrIE!&Y9uId)YH@N=WIQAv;@YMM-L2%EVd)05k&y`~Uy| delta 22 dcmbQiIG1rkArE&-YH@N=WkVHT#}ie7oU=vlUT_F0FI>zod5s; delta 34 ncmbkVH3}VEmq~;`6G64Y0NDH delta 22 dcmbQsxQKB=G!J)5YH@N=WkVH3}VEmq~;`6G64Y0rwh3N diff --git a/release/v12/abis/MintProposalPlugin/create_mint_proposal_entry.abi b/release/v12/abis/MintProposalPlugin/create_mint_proposal_entry.abi index 7de9e6c0c4eda8623421d6401b82272f20f876fa..14cc604d85f7ca3b96c2bd4035f1e6d1b3201882 100644 GIT binary patch delta 17 YcmbQj*v~j2jh!vEq9iphWnz&M05VGj)&Kwi delta 22 dcmeBYoWeLEjfXoWwK%ybv!En1KW}2L5&%|u2loH~ diff --git a/release/v12/abis/MintProposalPlugin/install_plugin_proposal_entry.abi b/release/v12/abis/MintProposalPlugin/install_plugin_proposal_entry.abi index a40aee3c77faa0282c792f7d8ef9c4e22ac64067..dae9f166a49332961c00f40055c09df0b96e499f 100644 GIT binary patch delta 28 jcmb=en2;#WmReDgnwP@H$di~{l9`_upOTuBSjhwcjCKi) delta 33 mcmb=ZoscNQoswFdT$EW*l9`{!#>kVH3}VEmq~;`6G64X~=?k*} diff --git a/release/v12/abis/StakeToSBTPlugin/create_token_accept_proposal_entry.abi b/release/v12/abis/StakeToSBTPlugin/create_token_accept_proposal_entry.abi index e4f48fee6cd12987484101d243a20e4bd5cb6b35..1681816eca1a498a6ee88fb6cd4d8a924ff8106e 100644 GIT binary patch delta 30 lcmeBRY-XI0BhHpuQIeXM!p6vxm|T*XpBJB!nv+<`1OSn<39tYF delta 35 ocmZo>>|mUbBg37NTAW;zSx}OhpU1|?lb8%*#HXa@Bvvv30MXD3)&Kwi diff --git a/release/v12/abis/StakeToSBTPlugin/create_weight_proposal_entry.abi b/release/v12/abis/StakeToSBTPlugin/create_weight_proposal_entry.abi index 476ae1801a9ca557ca4b645277af650c0e8dd80d..bff74a43339e0872459ddc0fd2ab01abb610cbf9 100644 GIT binary patch delta 17 YcmbQrIDv6O8arERMM-L2%ETgN05WU^*#H0l delta 22 dcmbQhIF)fi8V`3$YH@N=WkVH3}VEmq~;`6G64X~D+{dv diff --git a/release/v12/abis/StakeToSBTPlugin/stake_entry.abi b/release/v12/abis/StakeToSBTPlugin/stake_entry.abi index 799c94154e95c24f63820ec798aebc8a22ca5bef..1ba9cb2b6b2287dec359d8c871260cbd35849ca4 100644 GIT binary patch delta 9 QcmYcaoS?_ZFwsE?01aURW&i*H delta 26 hcmWGcnxH2nsNkHKlardFkW{HqoLrPyP%=?p2>@-V2#f## diff --git a/release/v12/abis/StakeToSBTPlugin/unstake_all_entry.abi b/release/v12/abis/StakeToSBTPlugin/unstake_all_entry.abi new file mode 100644 index 0000000000000000000000000000000000000000..1791f37ea7b907432f3034b19c070504dfed0c07 GIT binary patch literal 68 zcmZP+EX^w}Nz6`-Pt3`QPt7YSs$@U~i~_+R`H=izr;vc0()7$c1}2u2#QYNWlKkw{ Iy!a9Z09(!y1ONa4 literal 0 HcmV?d00001 diff --git a/release/v12/abis/StakeToSBTPlugin/unstake_by_id_entry.abi b/release/v12/abis/StakeToSBTPlugin/unstake_by_id_entry.abi new file mode 100644 index 0000000000000000000000000000000000000000..746114b0a2a7cbc8cb0aff2f89d80dc521a2489f GIT binary patch literal 74 zcmZP+F3l@0Nz6`-PpXX1Oo>m;D=DgEKn08f!5|eO`N2*h0Xe1VnRyIMEGdckCF~{n O*{ON)C5%j&DNF$1kQ1f= literal 0 HcmV?d00001 diff --git a/release/v12/abis/StakeToSBTPlugin/unstake_item_entry.abi b/release/v12/abis/StakeToSBTPlugin/unstake_item_entry.abi deleted file mode 100644 index 031947a6edc1f433a63a494359f24a1b8a3ffa95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmZP+D$Oe{Nz6`-&n!vJjZe)hDXL^Z1&jj0AO#`$!A>CoIi=~Dd4dYgi8(o`DGEuI m3dPAqnFS?GEGdckCF~{n*{ON)B}{C&skuq1MJ!C2DNFz~^&9p8 diff --git a/release/v12/abis/TreasuryPlugin/create_withdraw_proposal_entry.abi b/release/v12/abis/TreasuryPlugin/create_withdraw_proposal_entry.abi index 599f4fe9711a2d4694260678e6762555092939be..a39f09635a5a3441d3312a0a974323101086208e 100644 GIT binary patch delta 17 YcmbQkIGu4q8arERMM-L2%ETfq05eks?f?J) delta 22 dcmbQvIEQgU8V`3$YH@N=W22oC@N diff --git a/release/v12/abis/UpgradeModulePlugin/create_proposal_entry.abi b/release/v12/abis/UpgradeModulePlugin/create_proposal_entry.abi index 12cdf4e3401350fb0e8e720a449cceb65f21eb32..14cc34a3c2e5bf1e25d500df693c998627c98b88 100644 GIT binary patch delta 17 YcmbQiIGJ%m6gyjLMM-L2%EUAy05UTL)&Kwi delta 22 dcmbQtID>IQ6c2YwYH@N=WkVH3}VEmq~;`6G64Y0NDHCl-PbI_I)fTSUB1^1=yx>wlQ+e;S%CmH_>3Pgfb%&3k#D9qY49?Dz5?~ n1CttvsjfPil~IjdiIrDEMM`C}5u-9AD-$OJ2gBx2reYQV6Lb$V diff --git a/release/v12/bytecode_modules/StakeToSBTPlugin.mv b/release/v12/bytecode_modules/StakeToSBTPlugin.mv index 7cd9a83ebe1e093bfa4d2915494d5320d4656b54..86aa150d689a0a1b0832f88e32704ae9bfc01bcc 100644 GIT binary patch delta 1359 zcmZuwOK%)S5bo;gnc3;-8SmJRU+vxXI`*u+etYe8+v~^L&f1BcICkCvf^iZ9!FGrs z2!#WdI7D1HSaZt-1##d4LCTE_;=r9BzzGQg%sZ)nE4g z+*f_r`I{#gV?MAJ-f{=;!;dI_5+8&0tM!BJe53wQsYmT;``h-fK>ptGf%l7+>Z!i3 z{67mV!6$u3)ti}Vhv5?E3>e_@bKH22H;=yi;xGU%1RHLx!-!jlQCWwvwszw11Z22y zM9udZuH?G7U~(0@f#Jy>K*1e6mFuM>u0cr2a_BSHKpzNPFA^_o_w;}O;hq6n@oa90 zYVA!Jq1vr6{}3s{a}$#Z%Jb87S9xKE1G6tiNy#NB(Bb^@f)9dUSp-U5U9QVoTdRpn z@e=v6Up|$gmRCk1;;+FvldndJ!|i1I+UcZghqiby`ESd?jDaE=I-bQg%7&GD`EpiEPD0wUt7PUNxQiWT8z*D;@e&Htxoc zIH<>;KOVxMW@+7!S3eN*X>+zC3hKu2Qx8J?Hv$wmwv%kN+d;9J? z_xu-`>-V;A-E8_#^sGX?$lbcTd+_+7`veci0XQ$=1ac0O(t~G5^Hdq9(4_nsk#H3; zYYEQFNyhpg&gP=dCAAK>=WsqT3=8x*W!VX|6%1bc>^DxLHS+$7UE9 z)`hOa!fYG`Jk*4 zH}O%BViuJpt+E(4tqN^Aq5dh5An`c1S%rioxjDrpb;jwYV~0(i1-zYJe+uXfQ{^3r z{FT+ZJgNO7Z;`x9Qtp&6ePjqtKel@=I6TZ2Jhv=7G)2;O0%yuK1Bw&c%}NkB%}Nra znpH}YrstS>v*0$m$~y==Ba|K3#tM7Lnk^G+Qc_)`Wfr-vI}`Q4u*5s*LRa%1%m^hw zab+nR!kV;NCGWw|vB-#IW(<#6xkR0un9;NIfAT{sd;-AS%QjzSr-2{APA$p5-3p z+F$nnVN!&U1t@_NN8|xKCG=PN0F>X9A5`rT|DEffCZp;X$*+O^C_Xg5Pci;W>QB>p zoK4tIvk%+5uCF07k1+xSWZ_J&pXs{~pL})V0Hzd`B0V*JzAyA9dLCJXeoQsmu`EQE z1_m)jY#D|Ck(FT}6l-L4U_=JV8aOgI?O4dDK^7?K<|R&5o8f%vCp_ zBy%?>EFvAUHF+`>8tjTM7s;;9U_k0MFHG5nj2w=y&sjk6jW)>8&4pfDWpgh+_@N5y&+9v}{vs!30E{bSl3)x|%!KDtus%(yq^4UlG{ow3R-qVAhY{s}Fcs4t7UpVLZIEV2 z4(7=7VjbfaJ6k}T7#PZc1QsB4k7W^@Ks7juY(YKvE^+{~K`B~<`QTQx%U8+_%@U$&#F+}djk@3lKSis2 z&3Ym1IOhgyevu;!IWzv4l(RkA@W)JqqQXjJs1Amqi8<~V*zX7;U9wdD``|l`eHVCJT2G&b`C+CzAMypg-H92O8Art#^ zev5%B_n`MBI4Dt*0#1gVZgl?JNoTD)I9qVd|h^$IY60m72sKm7P^vtr>oS zW2x0Rr&4KgZrJK}O^ z$|-Qn6|REQVaj=iM~I^-@?Rz6sn)!y;*@-bba|h`U0J{y>b**!BTYUf8r2j{qDcOA REQp{&5vtJS2`~f`=x@5bs%roM diff --git a/release/v12/docs/AnyMemberPlugin.md b/release/v12/docs/AnyMemberPlugin.md index af5d2b1c..361fffc8 100644 --- a/release/v12/docs/AnyMemberPlugin.md +++ b/release/v12/docs/AnyMemberPlugin.md @@ -3,6 +3,7 @@ # Module `0x1::AnyMemberPlugin` +This plugin let every can join the DAO, and auto get 1 sbt. - [Struct `AnyMemberPlugin`](#0x1_AnyMemberPlugin_AnyMemberPlugin) @@ -190,7 +191,7 @@ -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -199,8 +200,8 @@ Implementation -
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    InstallPluginProposalPlugin::create_proposal<DAOT, AnyMemberPlugin>(sender, required_caps(), title, introduction, description, action_delay);
+
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    InstallPluginProposalPlugin::create_proposal<DAOT, AnyMemberPlugin>(sender, required_caps(), title, introduction, extend, action_delay);
 }
 
@@ -214,7 +215,7 @@ -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -223,8 +224,8 @@ Implementation -
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/ConfigProposalPlugin.md b/release/v12/docs/ConfigProposalPlugin.md index 5986f4d0..c4a1c97d 100644 --- a/release/v12/docs/ConfigProposalPlugin.md +++ b/release/v12/docs/ConfigProposalPlugin.md @@ -154,7 +154,7 @@ Called by other contract which need proposal config -
public fun create_proposal<DAOT: store, ConfigT: drop, store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64, config: ConfigT)
+
public fun create_proposal<DAOT: store, ConfigT: drop, store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64, config: ConfigT)
 
@@ -163,7 +163,7 @@ Called by other contract which need proposal config Implementation -
public fun create_proposal<DAOT: store, ConfigT: store+drop>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>,action_delay: u64, config: ConfigT) {
+
public fun create_proposal<DAOT: store, ConfigT: store+drop>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>,action_delay: u64, config: ConfigT) {
     let witness = ConfigProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, ConfigProposalPlugin>(&witness);
     let action = ConfigProposalAction<ConfigT>{
@@ -172,7 +172,7 @@ Called by other contract which need proposal config
     DAOSpace::create_proposal<
         DAOT,
         ConfigProposalPlugin,
-        ConfigProposalAction<ConfigT>>(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+        ConfigProposalAction<ConfigT>>(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -244,7 +244,7 @@ Called by other contract which need proposal config -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -253,8 +253,8 @@ Called by other contract which need proposal config Implementation -
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    InstallPluginProposalPlugin::create_proposal<DAOT, ConfigProposalPlugin>(sender, required_caps(), title, introduction, description, action_delay);
+
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    InstallPluginProposalPlugin::create_proposal<DAOT, ConfigProposalPlugin>(sender, required_caps(), title, introduction, extend, action_delay);
 }
 
@@ -268,7 +268,7 @@ Called by other contract which need proposal config -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -277,8 +277,8 @@ Called by other contract which need proposal config Implementation -
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/DAOSpace.md b/release/v12/docs/DAOSpace.md index 55a9c15c..6fb137b7 100644 --- a/release/v12/docs/DAOSpace.md +++ b/release/v12/docs/DAOSpace.md @@ -6022,6 +6022,9 @@ no_with_veto counts as no but also adds a veto vote ## Function `create_proposal` propose a proposal. +title: title of the proposal +introduction: short introduction of the proposal +extend: extend of proposal , ipfs:// | { "title":"xxxxx",........ } action: the actual action to execute. action_delay: the delay to execute after the proposal is agreed quorum_scale_factor: used to scale up the base quorum_votes_rate. @@ -6760,7 +6763,7 @@ A portion of the pledged tokens will be rewarded to the executor who executes th let dao_address = dao_address<DAOT>(); assert!(exists<ProposalActions<ActionT>>(dao_address), Errors::invalid_state(ERR_PROPOSAL_ACTIONS_NOT_EXIST)); let (_, token) = take_proposal_action<ActionT>(dao_address, proposal_id); - // Part of the token is awarded to whoever executes this method , TODO: 10 % + // Part of the token is awarded to whoever executes this method , current: 10 % let award_amount = Token::value(&token) / 10; let (burn_token , award_token) = Token::split(token, award_amount); Account::deposit(Signer::address_of(sender), award_token); diff --git a/release/v12/docs/GasOracleProposalPlugin.md b/release/v12/docs/GasOracleProposalPlugin.md index 1ca0042d..ac8efbf8 100644 --- a/release/v12/docs/GasOracleProposalPlugin.md +++ b/release/v12/docs/GasOracleProposalPlugin.md @@ -277,7 +277,7 @@ -
public(script) fun create_oracle_add_proposal<DAOT: store, TokenType: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64, source_address: address)
+
public(script) fun create_oracle_add_proposal<DAOT: store, TokenType: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64, source_address: address)
 
@@ -286,13 +286,13 @@ Implementation -
public(script) fun create_oracle_add_proposal<DAOT: store, TokenType: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay: u64, source_address: address) {
+
public(script) fun create_oracle_add_proposal<DAOT: store, TokenType: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay: u64, source_address: address) {
     let witness = GasOracleProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, GasOracleProposalPlugin>(&witness);
     let action = OracleSourceAddAction<TokenType>{
         source_address
     };
-    DAOSpace::create_proposal(&cap, &sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, &sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -345,7 +345,7 @@ -
public(script) fun create_oracle_remove_proposal<DAOT: store, TokenType: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64, source_address: address)
+
public(script) fun create_oracle_remove_proposal<DAOT: store, TokenType: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64, source_address: address)
 
@@ -354,13 +354,13 @@ Implementation -
public(script) fun create_oracle_remove_proposal<DAOT: store, TokenType: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay: u64, source_address: address) {
+
public(script) fun create_oracle_remove_proposal<DAOT: store, TokenType: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay: u64, source_address: address) {
     let witness = GasOracleProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, GasOracleProposalPlugin>(&witness);
     let action = OracleSourceRemoveAction<TokenType>{
         source_address
     };
-    DAOSpace::create_proposal(&cap, &sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, &sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -434,7 +434,7 @@ -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -443,8 +443,8 @@ Implementation -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay: u64) {
-    InstallPluginProposalPlugin::create_proposal<DAOT, GasOracleProposalPlugin>(sender, required_caps(), title, introduction, description, action_delay);
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay: u64) {
+    InstallPluginProposalPlugin::create_proposal<DAOT, GasOracleProposalPlugin>(sender, required_caps(), title, introduction, extend, action_delay);
 }
 
@@ -458,7 +458,7 @@ -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -467,8 +467,8 @@ Implementation -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay: u64) {
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay: u64) {
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/GrantProposalPlugin.md b/release/v12/docs/GrantProposalPlugin.md index 5ec8b7a5..fa054d8d 100644 --- a/release/v12/docs/GrantProposalPlugin.md +++ b/release/v12/docs/GrantProposalPlugin.md @@ -291,7 +291,7 @@ -
public fun create_grant_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, grantee: address, total: u128, start_time: u64, period: u64, action_delay: u64)
+
public fun create_grant_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, grantee: address, total: u128, start_time: u64, period: u64, action_delay: u64)
 
@@ -300,7 +300,7 @@ Implementation -
public fun create_grant_proposal<DAOT: store, TokenT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){
+
public fun create_grant_proposal<DAOT: store, TokenT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){
     let witness = GrantProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, GrantProposalPlugin>(&witness);
     let action = GrantCreateAction<TokenT>{
@@ -309,7 +309,7 @@
         start_time:start_time,
         period:period
     };
-    DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -323,7 +323,7 @@ -
public(script) fun create_grant_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, grantee: address, total: u128, start_time: u64, period: u64, action_delay: u64)
+
public(script) fun create_grant_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, grantee: address, total: u128, start_time: u64, period: u64, action_delay: u64)
 
@@ -332,8 +332,8 @@ Implementation -
public (script) fun create_grant_proposal_entry<DAOT: store, TokenT:store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){
-    create_grant_proposal<DAOT, TokenT>(&sender, title, introduction, description, grantee, total, start_time, period, action_delay);
+
public (script) fun create_grant_proposal_entry<DAOT: store, TokenT:store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){
+    create_grant_proposal<DAOT, TokenT>(&sender, title, introduction, extend, grantee, total, start_time, period, action_delay);
 }
 
@@ -400,7 +400,7 @@ -
public fun create_grant_revoke_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, grantee: address, action_delay: u64)
+
public fun create_grant_revoke_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, grantee: address, action_delay: u64)
 
@@ -409,11 +409,11 @@ Implementation -
public fun create_grant_revoke_proposal<DAOT: store, TokenT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, grantee:address, action_delay:u64){
+
public fun create_grant_revoke_proposal<DAOT: store, TokenT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, grantee:address, action_delay:u64){
     let witness = GrantProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, GrantProposalPlugin>(&witness);
     let action = GrantRevokeAction<TokenT>{ grantee };
-    DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -427,7 +427,7 @@ -
public(script) fun create_grant_revoke_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, grantee: address, action_delay: u64)
+
public(script) fun create_grant_revoke_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, grantee: address, action_delay: u64)
 
@@ -436,8 +436,8 @@ Implementation -
public (script) fun create_grant_revoke_proposal_entry<DAOT: store, TokenT:store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, grantee:address, action_delay:u64){
-    create_grant_revoke_proposal<DAOT, TokenT>(&sender, title, introduction, description, grantee, action_delay);
+
public (script) fun create_grant_revoke_proposal_entry<DAOT: store, TokenT:store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, grantee:address, action_delay:u64){
+    create_grant_revoke_proposal<DAOT, TokenT>(&sender, title, introduction, extend, grantee, action_delay);
 }
 
@@ -503,7 +503,7 @@ -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -512,8 +512,8 @@ Implementation -
public fun install_plugin_proposal<DAOT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    InstallPluginProposalPlugin::create_proposal<DAOT, GrantProposalPlugin>(sender, required_caps(), title, introduction, description, action_delay);
+
public fun install_plugin_proposal<DAOT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    InstallPluginProposalPlugin::create_proposal<DAOT, GrantProposalPlugin>(sender, required_caps(), title, introduction, extend, action_delay);
 }
 
@@ -527,7 +527,7 @@ -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -536,8 +536,8 @@ Implementation -
public (script) fun install_plugin_proposal_entry<DAOT: store>(sender:signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public (script) fun install_plugin_proposal_entry<DAOT: store>(sender:signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/InstallPluginProposalPlugin.md b/release/v12/docs/InstallPluginProposalPlugin.md index 38e2e989..f42b9fb4 100644 --- a/release/v12/docs/InstallPluginProposalPlugin.md +++ b/release/v12/docs/InstallPluginProposalPlugin.md @@ -148,9 +148,12 @@ ## Function `create_proposal` +Create a proposal to install a plugin. +We do not provide a entry function for create_proposal, because we can not use CapType as an entry function parameter, +every plugin should provide a entry function to create proposal to install self. -
public fun create_proposal<DAOT: store, ToInstallPluginT: store>(sender: &signer, required_caps: vector<DAOSpace::CapType>, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun create_proposal<DAOT: store, ToInstallPluginT: store>(sender: &signer, required_caps: vector<DAOSpace::CapType>, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -159,7 +162,7 @@ Implementation -
public fun create_proposal<DAOT: store, ToInstallPluginT: store>(sender: &signer, required_caps: vector<CapType>, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay: u64){
+
public fun create_proposal<DAOT: store, ToInstallPluginT: store>(sender: &signer, required_caps: vector<CapType>, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay: u64){
     let witness = InstallPluginProposalPlugin{};
 
     let cap = DAOSpace::acquire_proposal_cap<DAOT, InstallPluginProposalPlugin>(&witness);
@@ -167,7 +170,7 @@
         required_caps,
     };
 
-    DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
diff --git a/release/v12/docs/MemberProposalPlugin.md b/release/v12/docs/MemberProposalPlugin.md index 5b614ef6..818e6e9c 100644 --- a/release/v12/docs/MemberProposalPlugin.md +++ b/release/v12/docs/MemberProposalPlugin.md @@ -197,7 +197,7 @@ -
public fun create_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, member: address, image_data: vector<u8>, image_url: vector<u8>, init_sbt: u128, action_delay: u64)
+
public fun create_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, member: address, image_data: vector<u8>, image_url: vector<u8>, init_sbt: u128, action_delay: u64)
 
@@ -206,7 +206,7 @@ Implementation -
public fun create_proposal<DAOT: store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, member: address, image_data:vector<u8>, image_url:vector<u8>, init_sbt: u128, action_delay: u64){
+
public fun create_proposal<DAOT: store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, member: address, image_data:vector<u8>, image_url:vector<u8>, init_sbt: u128, action_delay: u64){
     let witness = MemberProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, MemberProposalPlugin>(&witness);
     let action = MemberJoinAction{
@@ -217,7 +217,7 @@
     };
     assert!(!DAOSpace::is_exist_member_offer<DAOT>(member), Errors::already_published(ERR_MEMBER_OFFER_EXIST));
     assert!(!DAOSpace::is_member<DAOT>(member), Errors::already_published(ERR_MEMBER_EXIST));
-    DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -231,7 +231,7 @@ -
public(script) fun create_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, member: address, image_data: vector<u8>, image_url: vector<u8>, init_sbt: u128, action_delay: u64)
+
public(script) fun create_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, member: address, image_data: vector<u8>, image_url: vector<u8>, init_sbt: u128, action_delay: u64)
 
@@ -240,8 +240,8 @@ Implementation -
public (script) fun create_proposal_entry<DAOT: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, member: address, image_data:vector<u8>, image_url:vector<u8>, init_sbt: u128, action_delay: u64){
-    create_proposal<DAOT>(&sender, title, introduction, description, member, image_data, image_url, init_sbt, action_delay);
+
public (script) fun create_proposal_entry<DAOT: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, member: address, image_data:vector<u8>, image_url:vector<u8>, init_sbt: u128, action_delay: u64){
+    create_proposal<DAOT>(&sender, title, introduction, extend, member, image_data, image_url, init_sbt, action_delay);
 }
 
@@ -317,7 +317,7 @@ -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -326,8 +326,8 @@ Implementation -
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>,action_delay:u64){
-    InstallPluginProposalPlugin::create_proposal<DAOT, MemberJoinAction>(sender, required_caps(), title, introduction, description, action_delay);
+
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>,action_delay:u64){
+    InstallPluginProposalPlugin::create_proposal<DAOT, MemberProposalPlugin>(sender, required_caps(), title, introduction, extend, action_delay);
 }
 
@@ -341,7 +341,7 @@ -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -350,8 +350,8 @@ Implementation -
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/MintProposalPlugin.md b/release/v12/docs/MintProposalPlugin.md index e393609f..e9db71ee 100644 --- a/release/v12/docs/MintProposalPlugin.md +++ b/release/v12/docs/MintProposalPlugin.md @@ -241,7 +241,7 @@ MintToken request. -
public fun create_mint_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, receiver: address, amount: u128, action_delay: u64)
+
public fun create_mint_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, receiver: address, amount: u128, action_delay: u64)
 
@@ -250,14 +250,14 @@ MintToken request. Implementation -
public fun create_mint_proposal<DAOT: store, TokenT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, receiver: address, amount: u128, action_delay: u64){
+
public fun create_mint_proposal<DAOT: store, TokenT:store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, receiver: address, amount: u128, action_delay: u64){
     let witness = MintProposalPlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, MintProposalPlugin>(&witness);
     let action = MintTokenAction<TokenT>{
         receiver,
         amount,
     };
-    DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+    DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -271,7 +271,7 @@ MintToken request. -
public(script) fun create_mint_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, receiver: address, amount: u128, action_delay: u64)
+
public(script) fun create_mint_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, receiver: address, amount: u128, action_delay: u64)
 
@@ -280,8 +280,8 @@ MintToken request. Implementation -
public (script) fun create_mint_proposal_entry<DAOT: store, TokenT:store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, receiver: address, amount: u128, action_delay: u64){
-    create_mint_proposal<DAOT, TokenT>(&sender, description, title, introduction, receiver, amount, action_delay);
+
public (script) fun create_mint_proposal_entry<DAOT: store, TokenT:store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, receiver: address, amount: u128, action_delay: u64){
+    create_mint_proposal<DAOT, TokenT>(&sender, extend, title, introduction, receiver, amount, action_delay);
 }
 
@@ -348,7 +348,7 @@ MintToken request. -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -357,8 +357,8 @@ MintToken request. Implementation -
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    InstallPluginProposalPlugin::create_proposal<DAOT, MintProposalPlugin>(sender,required_caps(), title, introduction,  description, action_delay);
+
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    InstallPluginProposalPlugin::create_proposal<DAOT, MintProposalPlugin>(sender,required_caps(), title, introduction,  extend, action_delay);
 }
 
@@ -372,7 +372,7 @@ MintToken request. -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -381,8 +381,8 @@ MintToken request. Implementation -
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/SBTVoteStrategy.md b/release/v12/docs/SBTVoteStrategy.md index 13785739..58523ec1 100644 --- a/release/v12/docs/SBTVoteStrategy.md +++ b/release/v12/docs/SBTVoteStrategy.md @@ -48,8 +48,6 @@ deserialize snapshot vote value from state
public fun get_voting_power(state: &vector<u8>) : u128 {
     let sbt_value = deserialize_sbt_value_from_bcs_state(state);
-
-    //TODO support calculate weight_factor
     sbt_value
 }
 
diff --git a/release/v12/docs/StakeToSBTPlugin.md b/release/v12/docs/StakeToSBTPlugin.md index 68922dfa..c2b828fd 100644 --- a/release/v12/docs/StakeToSBTPlugin.md +++ b/release/v12/docs/StakeToSBTPlugin.md @@ -23,10 +23,13 @@ - [Function `set_sbt_weight_by_dao`](#0x1_StakeToSBTPlugin_set_sbt_weight_by_dao) - [Function `accept_token`](#0x1_StakeToSBTPlugin_accept_token) - [Function `stake`](#0x1_StakeToSBTPlugin_stake) +- [Function `stake_entry`](#0x1_StakeToSBTPlugin_stake_entry) - [Function `query_stake`](#0x1_StakeToSBTPlugin_query_stake) - [Function `query_stake_count`](#0x1_StakeToSBTPlugin_query_stake_count) - [Function `unstake_by_id`](#0x1_StakeToSBTPlugin_unstake_by_id) +- [Function `unstake_by_id_entry`](#0x1_StakeToSBTPlugin_unstake_by_id_entry) - [Function `unstake_all`](#0x1_StakeToSBTPlugin_unstake_all) +- [Function `unstake_all_entry`](#0x1_StakeToSBTPlugin_unstake_all_entry) - [Function `unstake_item`](#0x1_StakeToSBTPlugin_unstake_item) - [Function `get_sbt_weight`](#0x1_StakeToSBTPlugin_get_sbt_weight) - [Function `set_sbt_weight`](#0x1_StakeToSBTPlugin_set_sbt_weight) @@ -42,8 +45,6 @@ - [Function `execute_token_accept_proposal_entry`](#0x1_StakeToSBTPlugin_execute_token_accept_proposal_entry) - [Function `install_plugin_proposal`](#0x1_StakeToSBTPlugin_install_plugin_proposal) - [Function `install_plugin_proposal_entry`](#0x1_StakeToSBTPlugin_install_plugin_proposal_entry) -- [Function `stake_entry`](#0x1_StakeToSBTPlugin_stake_entry) -- [Function `unstake_item_entry`](#0x1_StakeToSBTPlugin_unstake_item_entry)
use 0x1::Account;
@@ -845,6 +846,35 @@ Accept token with token type
 
 
 
+
+
+
+
+## Function `stake_entry`
+
+
+
+
public(script) fun stake_entry<DAOT: store, TokenT: store>(sender: signer, amount: u128, lock_time: u64)
+
+ + + +
+Implementation + + +
public(script) fun stake_entry<DAOT: store, TokenT: store>(
+    sender: signer,
+    amount: u128,
+    lock_time: u64
+) acquires StakeList {
+    let token = Account::withdraw<TokenT>(&sender, amount);
+    stake<DAOT, TokenT>(&sender, token, lock_time);
+}
+
+ + +
@@ -862,8 +892,10 @@ Accept token with token type Implementation -
public fun query_stake<DAOT: store, TokenT: store>(member: address, id: u64)
-: (u64, u64, u64, u128, u128) acquires StakeList {
+
public fun query_stake<DAOT: store, TokenT: store>(
+    member: address,
+    id: u64
+): (u64, u64, u64, u128, u128) acquires StakeList {
     assert!(exists<StakeList<DAOT, TokenT>>(member), Errors::not_published(ERR_PLUGIN_NOT_STAKE));
     let stake_list = borrow_global_mut<StakeList<DAOT, TokenT>>(member);
     let item_index = find_item(id, &stake_list.items);
@@ -921,7 +953,7 @@ Query stake count from stake list
 Unstake from staking
 
 
-
public fun unstake_by_id<DAOT: store, TokenT: store>(member: address, id: u64)
+
public fun unstake_by_id<DAOT: store, TokenT: store>(sender: &signer, id: u64)
 
@@ -930,7 +962,8 @@ Unstake from staking Implementation -
public fun unstake_by_id<DAOT: store, TokenT: store>(member: address, id: u64) acquires StakeList {
+
public fun unstake_by_id<DAOT: store, TokenT: store>(sender: &signer, id: u64) acquires StakeList {
+    let member = Signer::address_of(sender);
     assert!(exists<StakeList<DAOT, TokenT>>(member), Errors::not_published(ERR_PLUGIN_NOT_STAKE));
     let stake_list = borrow_global_mut<StakeList<DAOT, TokenT>>(member);
     let item_index = find_item(id, &stake_list.items);
@@ -969,17 +1002,44 @@ Unstake from staking
 
 
 
+
+
+
+
+## Function `unstake_by_id_entry`
+
+
+
+
public(script) fun unstake_by_id_entry<DAOT: store, TokenT: store>(sender: signer, id: u64)
+
+ + + +
+Implementation + + +
public(script) fun unstake_by_id_entry<DAOT: store, TokenT: store>(
+    sender: signer,
+    id: u64
+) acquires StakeList {
+    unstake_by_id<DAOT, TokenT>(&sender, id);
+}
+
+ + +
## Function `unstake_all` -Unstake all staking items from member address, -No care whether the user is member or not +Unstake all staking items from sender, +No care whether the sender is member or not -
public fun unstake_all<DAOT: store, TokenT: store>(member: address)
+
public fun unstake_all<DAOT: store, TokenT: store>(sender: &signer)
 
@@ -988,15 +1048,16 @@ No care whether the user is member or not Implementation -
public fun unstake_all<DAOT: store, TokenT: store>(member: address) acquires StakeList {
-    assert!(exists<StakeList<DAOT, TokenT>>(member), Errors::not_published(ERR_PLUGIN_NOT_STAKE));
-    let stake_list = borrow_global_mut<StakeList<DAOT, TokenT>>(member);
+
public fun unstake_all<DAOT: store, TokenT: store>(sender: &signer) acquires StakeList {
+    let sender_addr = Signer::address_of(sender);
+    assert!(exists<StakeList<DAOT, TokenT>>(sender_addr), Errors::not_published(ERR_PLUGIN_NOT_STAKE));
+    let stake_list = borrow_global_mut<StakeList<DAOT, TokenT>>(sender_addr);
     let len = Vector::length(&mut stake_list.items);
 
     let idx = 0;
     while (idx < len) {
         let item = Vector::remove(&mut stake_list.items, idx);
-        Account::deposit(member, unstake_item<DAOT, TokenT>(member, item));
+        Account::deposit(sender_addr, unstake_item<DAOT, TokenT>(sender_addr, item));
         idx = idx + 1;
     };
 }
@@ -1004,6 +1065,30 @@ No care whether the user is member or not
 
 
 
+
+
+
+
+## Function `unstake_all_entry`
+
+
+
+
public(script) fun unstake_all_entry<DAOT: store, TokenT: store>(sender: signer)
+
+ + + +
+Implementation + + +
public(script) fun unstake_all_entry<DAOT: store, TokenT: store>(sender: signer) acquires StakeList {
+    unstake_all<DAOT, TokenT>(&sender);
+}
+
+ + +
@@ -1220,7 +1305,7 @@ Unstake a item from a item object Create proposal that to specific a weight for a locktime -
public fun create_weight_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, lock_time: u64, weight: u64, action_delay: u64)
+
public fun create_weight_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, lock_time: u64, weight: u64, action_delay: u64)
 
@@ -1233,7 +1318,7 @@ Create proposal that to specific a weight for a locktime sender: &signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, lock_time: u64, weight: u64, action_delay: u64 @@ -1248,7 +1333,7 @@ Create proposal that to specific a weight for a locktime }, title, introduction, - description, + extend, action_delay, Option::none<u8>()); } @@ -1264,7 +1349,7 @@ Create proposal that to specific a weight for a locktime -
public(script) fun create_weight_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, lock_time: u64, weight: u64, action_delay: u64)
+
public(script) fun create_weight_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, lock_time: u64, weight: u64, action_delay: u64)
 
@@ -1277,12 +1362,12 @@ Create proposal that to specific a weight for a locktime sender: signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, lock_time: u64, weight: u64, action_delay: u64 ) { - create_weight_proposal<DAOT, TokenT>(&sender,title, introduction, description, lock_time, weight, action_delay); + create_weight_proposal<DAOT, TokenT>(&sender,title, introduction, extend, lock_time, weight, action_delay); }
@@ -1364,7 +1449,7 @@ Create proposal that to specific a weight for a locktime Create proposal that to accept a token type, which allow user to convert amount of token to SBT -
public fun create_token_accept_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun create_token_accept_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -1377,7 +1462,7 @@ Create proposal that to accept a token type, which allow user to convert amount sender: &signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, action_delay: u64 ) { let witness = StakeToSBTPlugin {}; @@ -1390,7 +1475,7 @@ Create proposal that to accept a token type, which allow user to convert amount AcceptTokenCap<DAOT, TokenT> {}, title, introduction, - description, + extend, action_delay, Option::none<u8>() ); @@ -1407,7 +1492,7 @@ Create proposal that to accept a token type, which allow user to convert amount -
public(script) fun create_token_accept_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun create_token_accept_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -1420,10 +1505,10 @@ Create proposal that to accept a token type, which allow user to convert amount sender: signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, action_delay: u64 ) { - create_token_accept_proposal<DAOT, TokenT>(&sender, title, introduction, description, action_delay); + create_token_accept_proposal<DAOT, TokenT>(&sender, title, introduction, extend, action_delay); }
@@ -1501,7 +1586,7 @@ Create proposal that to accept a token type, which allow user to convert amount -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -1514,7 +1599,7 @@ Create proposal that to accept a token type, which allow user to convert amount sender: &signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, action_delay: u64 ) { InstallPluginProposalPlugin::create_proposal<DAOT, StakeToSBTPlugin>( @@ -1522,7 +1607,7 @@ Create proposal that to accept a token type, which allow user to convert amount required_caps(), title, introduction, - description, + extend, action_delay ); } @@ -1538,7 +1623,7 @@ Create proposal that to accept a token type, which allow user to convert amount -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -1551,68 +1636,10 @@ Create proposal that to accept a token type, which allow user to convert amount sender: signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, action_delay: u64 ) { - install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay); -} -
- - - - - - - -## Function `stake_entry` - -Called by script - - -
public(script) fun stake_entry<DAOT: store, TokenT: store>(sender: signer, amount: u128, lock_time: u64)
-
- - - -
-Implementation - - -
public(script) fun stake_entry<DAOT: store, TokenT: store>(
-    sender: signer,
-    amount: u128,
-    lock_time: u64
-) acquires StakeList {
-    let token = Account::withdraw<TokenT>(&sender, amount);
-    stake<DAOT, TokenT>(&sender, token, lock_time);
-}
-
- - - -
- - - -## Function `unstake_item_entry` - -Called by script - - -
public(script) fun unstake_item_entry<DAOT: store, TokenT: store>(member: address, id: u64)
-
- - - -
-Implementation - - -
public(script) fun unstake_item_entry<DAOT: store, TokenT: store>(
-    member: address,
-    id: u64
-) acquires StakeList {
-    unstake_by_id<DAOT, TokenT>(member, id);
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/docs/TreasuryPlugin.md b/release/v12/docs/TreasuryPlugin.md index 9d835b05..8821d43a 100644 --- a/release/v12/docs/TreasuryPlugin.md +++ b/release/v12/docs/TreasuryPlugin.md @@ -344,7 +344,7 @@ Should be called by token issuer. -
public fun create_withdraw_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, receiver: address, amount: u128, period: u64, action_delay: u64)
+
public fun create_withdraw_proposal<DAOT: store, TokenT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, receiver: address, amount: u128, period: u64, action_delay: u64)
 
@@ -357,7 +357,7 @@ Should be called by token issuer. sender: &signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, receiver: address, amount: u128, period: u64, @@ -377,7 +377,7 @@ Should be called by token issuer. set_scale_factor_inner<DAOT>(0u8); }; let scale = DAOSpace::get_custom_config<DAOT, QuorumScale>().scale; - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::some(scale)); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::some(scale)); }
@@ -391,7 +391,7 @@ Should be called by token issuer. -
public(script) fun create_withdraw_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, receiver: address, amount: u128, period: u64, action_delay: u64)
+
public(script) fun create_withdraw_proposal_entry<DAOT: store, TokenT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, receiver: address, amount: u128, period: u64, action_delay: u64)
 
@@ -404,13 +404,13 @@ Should be called by token issuer. sender: signer, title:vector<u8>, introduction:vector<u8>, - description: vector<u8>, + extend: vector<u8>, receiver: address, amount: u128, period: u64, action_delay: u64) { - create_withdraw_proposal<DAOT, TokenT>(&sender, title, introduction, description, receiver, amount, period, action_delay); + create_withdraw_proposal<DAOT, TokenT>(&sender, title, introduction, extend, receiver, amount, period, action_delay); }
diff --git a/release/v12/docs/UpgradeModulePlugin.md b/release/v12/docs/UpgradeModulePlugin.md index 63a3eeca..db2dd9fd 100644 --- a/release/v12/docs/UpgradeModulePlugin.md +++ b/release/v12/docs/UpgradeModulePlugin.md @@ -166,7 +166,7 @@ -
public fun create_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64, package_hash: vector<u8>, version: u64, enforced: bool)
+
public fun create_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64, package_hash: vector<u8>, version: u64, enforced: bool)
 
@@ -175,7 +175,7 @@ Implementation -
public fun create_proposal<DAOT: store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64, package_hash: vector<u8>, version: u64, enforced: bool) {
+
public fun create_proposal<DAOT: store>(sender: &signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64, package_hash: vector<u8>, version: u64, enforced: bool) {
     let witness = UpgradeModulePlugin{};
     let cap = DAOSpace::acquire_proposal_cap<DAOT, UpgradeModulePlugin>(&witness);
     let action = UpgradeModuleAction{
@@ -186,7 +186,7 @@
     DAOSpace::create_proposal<
         DAOT,
         UpgradeModulePlugin,
-        UpgradeModuleAction>(&cap, sender, action, title, introduction, description, action_delay, Option::none<u8>());
+        UpgradeModuleAction>(&cap, sender, action, title, introduction, extend, action_delay, Option::none<u8>());
 }
 
@@ -200,7 +200,7 @@ -
public(script) fun create_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64, package_hash: vector<u8>, version: u64, enforced: bool)
+
public(script) fun create_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64, package_hash: vector<u8>, version: u64, enforced: bool)
 
@@ -209,8 +209,8 @@ Implementation -
public (script) fun create_proposal_entry <DAOT: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64, package_hash: vector<u8>, version: u64, enforced: bool) {
-    create_proposal<DAOT>(&sender, title, introduction, description, action_delay, package_hash, version, enforced);
+
public (script) fun create_proposal_entry <DAOT: store>(sender: signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64, package_hash: vector<u8>, version: u64, enforced: bool) {
+    create_proposal<DAOT>(&sender, title, introduction, extend, action_delay, package_hash, version, enforced);
 }
 
@@ -286,7 +286,7 @@ -
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public fun install_plugin_proposal<DAOT: store>(sender: &signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -295,8 +295,8 @@ Implementation -
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    InstallPluginProposalPlugin::create_proposal<DAOT, UpgradeModulePlugin>(sender,required_caps(), title, introduction,  description, action_delay);
+
public fun install_plugin_proposal<DAOT:store>(sender:&signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    InstallPluginProposalPlugin::create_proposal<DAOT, UpgradeModulePlugin>(sender,required_caps(), title, introduction,  extend, action_delay);
 }
 
@@ -310,7 +310,7 @@ -
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, description: vector<u8>, action_delay: u64)
+
public(script) fun install_plugin_proposal_entry<DAOT: store>(sender: signer, title: vector<u8>, introduction: vector<u8>, extend: vector<u8>, action_delay: u64)
 
@@ -319,8 +319,8 @@ Implementation -
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, description: vector<u8>, action_delay:u64){
-    install_plugin_proposal<DAOT>(&sender, title, introduction, description, action_delay);
+
public (script) fun install_plugin_proposal_entry<DAOT:store>(sender:signer, title:vector<u8>, introduction:vector<u8>, extend: vector<u8>, action_delay:u64){
+    install_plugin_proposal<DAOT>(&sender, title, introduction, extend, action_delay);
 }
 
diff --git a/release/v12/source_maps/AnyMemberPlugin.mvsm b/release/v12/source_maps/AnyMemberPlugin.mvsm index 11d3036c6b3636e5c4644acb8ce717f3f703610a..b3f2257ebb4a4d88c5ad11e14e4f7918b270eb94 100644 GIT binary patch literal 5506 zcmb7|U5J!b7{|}-?1wwE?(R5a8mX(U>so$g6odt`X+fDEfrbh;j61LEyE`*G&d#~>qn&O3sf)YU&D&AzIh-K@AAL|E*sOw6J*6*lqboW0y@Vomx&zbkU z&w0+n8<`q!z5Mv~uZ}dV-?Fyt+}GC=hx_Blw|#dj_T#bd_x-$gl`+PL5d8las%gq? zSmb5bc!i~z&K5t15D~e$akkk+Ay>0pCw-&Dn76@%Dv}*uF6|Xm@^`QoLAW;U<%vjo zpA_@$ey-S|B9DZPIRSA$o6mSzFIRMr?INxhD!Tk)&g+nCt>qtP?Q0^BgwbESo%#2C14|5lclIEAs%(yi7WBvjOY2Ien zf5#jxO>6xD^e}b6qm{-?hEVB(rX|aiU60uaW#w*-XEyF@)-U?SjHj~C!(0GWbf!Xk zy0f|Hx93#Q2L!B!a(WuAP3f(udAmmHN%myg%cM4_piKnyf-xg>YwAb540`XcVhw_B zVnbLDK{v5SSd|f%CKkntfo@`PtUAz5Y$vNv#MDj9T9d%x;hWGt0=E)PVm5UpG~!R$#kli zQhg|aKEZ}P4e2aoRK#@bSD_-@P(Me>tqh-c0QVK;R#Rr%ZK-9SOvK6NR9=OYkh%&+ zw&#=X&%BC=7906rl*42HLqL>&7kzq7B~$6N9Fn`(rqAqFIgYD~ahHQ>)CX<_o)5ay z2U+zo+Cjc=Kp&$mSl@y^M!_EFV|0>yzk%-b2e8h-2-%i?z#0TSu3o{q33{}gPbDk_ zJzCaay$^b{3<_C~mYc}e1A4T~V)cR^ErV042gaS`I|O=Q404W<@90nR4Zv7wp2oTc z&r35{{RL?T&0w4~Cv*B|z<6oKux7#pX$C!SqBP$m--j?snnBKbX?BzE3z#C!0#*++ zNHbWyQJO(VohHo-tULfOO7l9_J$Ol)Ls(&E@9EMk!-~NSX~wY)>fuO5u~7g7I4QUCw| literal 5516 zcmb7|Uu+ar6o>D2+ue3sq|#RW0~Lg}Kv6-(^tE;|H9{-|j1Xa6J7XQ)ovyo6?V1=9 z5o3%Y@j(+GRT3gbYoek)AhwkkgJ6vsqd+uj4Oqb^f=wWP7Z~H)@3zVJ_MLNQ?wot> z>2BC^?xsx(-mmuTe)gV;eLH@6a@(C#9s7^BbZ>oa?D1V)lk1EzSxCVD{}S_i!|F!A z_^@9dD2xmRA;JccYdcP06D3^Dlumk0jWJ8WB+|KxA9{XSC0~lY0+P+1Um_ysk4B~8 zAdD(1@|C19Z$L{>EEW8sA4cx6n~C!w{ZtTzenqa;%Mj$Wl<}}tK_8=wARaiZCx1>2l&OXcrX+Daz3o_D-zg43&_mb}rG)XhA zoq5u1t2JgZTqVtJtUF-7G_zO_K(jRau9#O#a|m-37D)4vD`tx{U%-4DTBZ3VyZ#|& zn>4NU5zxcb0iUin<^m*Yv%U9iQT9d5ng$9#<<@vIxXsp&f~erD?AK%72u*aR@~}5D z7zM+j3R+D-4>WpyWw0ESTw>Pa57>qBmzKzRej#5~3+*J}F))TrQ1U^7TIoa*!m0-k}n)agt3uiAy?Qm1bbFb4Jm$T~fa_$%l-{T=Hx=sKOjIuE)| zXR+!UUFtNA)dIRsKO<)=roM5l)dmg^dW2^BHMmvZ6y|r3bnKERaesqMP|OecIWHgO zRew2){tq-<4jCyIR79$dTNBdBj%90=yq+=i2;knP+*5cVrIsmPnvHXV`H~7b!E^ip z^M*?~_jg{$LU%#ae^Cyv{UZU>(0KX6%H=&zj?0^Qv>kS<90%8xxNE?4=>vB=UKaE* zinHotR3Tp#bi02D>uJ!(DBc5ojNT;QyP(_si&*bLy=+U*V;uuMxE{hf40_0HrwTej z51FUQ*M+Hv%(#&CkhzU~9_S&nAIk?lWX7jdkB$-f_JAH80NwPGOydZfX9EH3O@qc?Rn&+$_!Ku>OWyq}k3t z3CrPDY0i?b19OcutuU!b?^bF4FZ`UmOE`l-t0;qNswEzGB diff --git a/release/v12/source_maps/ConfigProposalPlugin.mvsm b/release/v12/source_maps/ConfigProposalPlugin.mvsm index 16e8ecb5aa2a7717457e982ca221da1e0f9b8f1b..d433c503e90e34492049ceb7538f494b173a1cb4 100644 GIT binary patch literal 6032 zcmb7|O>9(E7=}-$^V6Y&rDYIS4J4uwHD(ebE?l72MGc{}sS#UbsGZy9#_650ou**W zCPE-|D1t}{>ZX;L6k=*zfS4Fv=*B_~CIk|L3j)MYVq(M!iK5SGdyTvIOp|B#obSv% z-#2g1own9>nYs}(bMldIW?ye6Cm&EGCdjoW0g;jN8U83Gq(24Z{*3Y05D?9_8Ses}}JLtqpVZ8)8vBI|L z#7ZtP=0VVjwF;{dbYiW>dJG&Ai>G-UQzupqvkW@1!eQ5mHN?)NpcCs|tYe@P>nW@; zXpo6zt>fS@%4g9ofLmhCVEzcMiS-liHCx>=vF_pi1C=CJveuY1*e{tpnHLZ@fxb|0 z#(D*G8mz_Y0G$Tb>I4V%Hh1~C`TKk#>vlc<6Z<|?FUxsFF0Wbcu*CwmUwN&2wc40I zSnl@~^Io49l-$=gvMvLzfxMFUsYWnq-K;fu8$h=ptg2g3rruG|fjo}&73e^o#`*@aY>|3p&@mg%j*i)z)cX~5%>IQH zpkp?@XzG}K8nYR6%x+jT^%e4E%wb5&zK`+jBbY0sX{|CijB-Dja{#KG-s49w4?)Z^ zw8wBivcA)M`6rmCp`!QlFIey`IKG!(M7?bHsN}u;1`B=zdkK<<-<;x02m1d=E7lIs zA@&+pFX#~Su?9hh*bvrRphIjJs|-5CNCk5cbck7N6dbny6zzL(8_{XZAHa1)FXLXd zzSD@_#GHkSM)WQVqD!4ev>tUOR5YS%S&#vH_HsnGBYL1mv==K6dPD=PH$ji+Zmf4e zkLX^k!=OiWBi0enBWkVpz(JiLLZ@tuGJ3p#%FEJ4+)LJXXu&PK1V8ub7F@xs!PG4X h_t!0WhB>DYrC4xew^G2Z>YHhJ!z@BMnt z`<`FF)3vFU%XfeDdspwl)2ZWUZ=Zdx`^MItw>52QGGlvpO-;40H^%fr4gCL8)Ao2i z==Ha(>(3YR#h%={+_o)#P;1OuQScCzMxZ7>U*K7_U=;bJU7*Bokfy9Czr%}I0qB~c z8P^v!5H)5W)Yd)mXs5iY{g`ENy$eTh--TGL=mlA?U)_w8xZ@Bl`K6qv>`yVjgoGcI z`t#XsnUbFm)S_=$Fb$1aubAog3odIe;s0tk>Y3Xjo%M1(JJd%1u%IEvwP)r=PU$VE z?GTC0Z=(DO+|R6^=_x3;3$GjE1AZy+ibdt8a94wA)dTb(UMJMb`388#-L7` z8LST=D$Vd7#H4wZdcQzinqOf31@+PlyVW4g*LZ06z#?hBiFE)PrCG*03<+sgu!dl< zG~dA*gC=Qyi1i6HOLGEi5?ZABHP#teBFzZaSx8FLTIawaim#*1f?I0d#EjItr)B~- z3AK)?xdL|;G!_n1HKM8e?@pP!cmIpP4(<$J1_S$)Pw^g+_^E9AUBFDSXM?O@%#;2Oxc@KV(QrcF0%8QvPuEeNaX7L=)10UgLASf7Iq z3Ty$`Dsbj*gm(lJ}0UKw=EhO?t%_A>RZgO1r7SWzBk z9kWZZmV=Jjwgpqi>;srjfsWZV3#L9oK9Bi2w8_37<=PKoE|sRW%HS}{yU3gh)HuD& zAHf`gsAFgkE-+s<^)vra{d(yzJqFB&cDaMY&WXr<@^s8F!g*mim9{mM#Rma ze@wcu@}QIK6|7f5C)sway`Yn9AJ$>eNmju+0XoT=v4%k>nYBj1Vf#t6^WZk87ceh^ z>zw|K`us^;`z7Ca5M0dh_U5O;%~(>Ji*0zIeu zu_~bFbP#J8^qh`jeGGa|U%(m%J*U<>1rF*cVLEODmHFdUR34j7B}{7Hq=m24nsOJ#nBc diff --git a/release/v12/source_maps/DAOSpace.mvsm b/release/v12/source_maps/DAOSpace.mvsm index e16b091768c7ed420cb8329f0350d259f47aa16a..5354ff2fbcc11ff1b545633b4e688bffc8abf276 100644 GIT binary patch literal 192802 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 Tre4ecXD0+OXXw|W)c5`m)qv=+ literal 192802 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�OdJf(y(7l|Esw?^w@xBCI(HpV80*8s2L;d)p zB;a<3p20i^L21o*{}WYS@FnVb2qeL|hJP1ATox2d^!IsZ!>AI657PaID_=UdZfN|- zFmtAIDBgpDgn`rFL#R)Q8$(7D+VRiWEhP9#@Cxe`s{vk9&^KRctcsv-K3gL?aT-s& zDWDUl2rNJ7#K~5#PMo$8Zx86iX)o4s(23I;tP`L|%=Rkj5%X>0{Ruk7I*;`Lbc*#Y zma%n;^%Yh*?m(S5<-*DhI&sQ_l^67gIX_kb&?#1Ctb(9Ztgcv5pi``7Ska)D-RyI! zld)vtjQ~9gH|7-3$=C~6(?KU=#+(Z}#hQ<`5Oj)V%vGQhC)+aUC9?g*I{=4#r z&`V@Tu#SRWBD3Xm_={p!m-9{nxXpL}iTMaZo_tALb&8Ks)2=}8>K`1fcl@M7%?v)r zO+2}9^Fu(J*sJq{hLHZBZ+nLgjvlGbBF{=*l!8$I5VtvkNWu>Wo;#UgH^J)$x&yNX z*B#gv;_U*RJ)Oon2fC}i zTS{xHNmCX4eJFHwysn^$m@AW!TfV5!xhx4pv!O$>zWB%PnO{bMLh#Uh5XBNp{r?3AZ@arKXsw{w0xM)KnDIU zMq+Z9%eU1^qF08HA<>Dk{wQ^XnyB?4pw4*%KX@Mkc*ATQ`b&`UNq_G2TE)dTJ?}QK zH%Hzi$QSjN^J^cPs4QKP!s z&Ax{3{DK}~PQaQ0dW6{>YbNNf{1Vnrpu6&&SU-dA%G+?>-9UHcg|NDV?#ee}?Eu}C zPsZ8_x+{N%vpI^XyYdW}*+6&YS>EEMchFt=9ggh7)LprKI(1iGk9aLXk40-?MSxyH zn2WU-^r&?@))LU8)(u$if?h({hjkeA`1UN;dC=qAn^?bqUP1_6>v@F@vQ?~!)d`A7 zGX`rS6qRNaWt@RoOqwMyXJYDc_!X=>pvU12*75cn=y7-$*7Kmp;YnCyp|m`s*;osp zj5Pn|Y*u0FO|9=>?Et;0^&_k!P+lH=AxHldvw}2@bp{;11D9q!%>uY3X-{M32gf9> zAZjtAyCrEQP|Ja9nq3XI4x|rc=j3>PFdYI&b2g#xfI!lma~nMG2XIXxzajobaGvPM zOz>Rbm=eDBHg6(B07>UW^cmom)%L{f2cg4blLtm6h7VUs>R{v~;2DuO^ek#-Ip{>t zUS6FD?jqhP(21bE{yGu-gLr>~P6V%DJqCwF5X;;dIuY#6?GO!mre*+E0_c=650)Qv z%4ly$oiffP-s_-K#)(*OfKC}lVjTsYGH%8C2z1K01nUUsl+hktr;I_|@tHxVjF&m` zZ=h2~+t%om@dii!4Rp$wX(K5p=#=qy6Ax3TjBjJ+#?&ce0nBxvQ%2ja>6FnnXF6rH zEt5_eZKJ1C##)?r6VNGRRjhuXQ^uKC3qhxhQ?V9-P8r|C+6X#j+=aCdbjtWK);Z8A z<7KR$K&Om6z|<+DvHalhN!~4JN5L&= zJBE1*9Fw+BP(L@iThjIg>UnTY+OFW<1k>@#e!uHx&+7xa-!F&N7j(aGtbX9|2dUfc zMFqEd?vEJ(j`bXcI>_j5^&E$q2yUM`8HG6xT+`3_xUWNKAgT0I`xvT20IBpvj&TbD zNu?Wbh}Pho8c#u<3681p=KcIJLI@x=o{zo++*0ER%mLt>8jnPt2((%95&4n7-g_YqcF?oXZYK8;lbbi!K=tB$edbJPVZ0d&IqBGyXK3GZ0WXbYxJ zcpG58gQ*i?UVQlTE0eZVml>W3O>bhlI}8g($Z zr9w%V!@)Hbnu$9fLIO#JF7Sh!5J+D0)NY<)a7jP!t>;$nrz!TL=rm;p@#cX}Q@UdH2A!sK z!pcKJr<0E<)cXw3$wwQkE})Z-H#vGsOr3n#dr>DJ_7>Fha`tZ0^K$k^)oIGRoXsB4 zY05^dFF~g%89!te3v`;22J30iX-XNa%AnJfCRi;&rzyR#!a=7gNmye+rzx|s7JyDu zHe($Jou*vE`Wtkb@-^2d6HkXuQ{KSLjH%NUV`TxIrr2jwCm-es&I=BI2*EtS#0fHU=Mnw+1+z?1=Fy}qiFd%?gl1TJ;$P^tH zJ|v0ncDw8mTSK|tF=Y#2GuHFl$fO`R!7tbAMiP4rkW8?lT&?a6*zS38;Kl0Pz|RFs z0i7H4#To`WH?TK?&JFew?_#gU$^mVEqL;H@JrN0Ca9}2J0c{DGYmbokjHF zdJY1eMdZaQ3p$Ii&xp<<#uINL=q$qCdpe7Fk9gZbXAvJ@?E#%d81pFT++YXRPSCl5 zeOh&HaE*BPK<5U3U_At#8yGW)=2iFjzhV9ky2rOow(iHXbL3p0`*CCD2i-dt!YTrK z62X{djV;G41+WT&o*J;{t_S?xiPsDCfZv#5px3P;uo6HI_`|V=gI>29g*6uRx|K1f zKzUi8Be7;d1!=azdKoH8b1v2^P|3+$f>}kHv$5ttRcYGmUR|0t%cvpE104Az)Rg8Y zSf`(zGM0 z=cT!mc!wZdn(tx#01?v6{yrHCL`pLwRw0OzW(}-n5G~D~SbZSI$qdIFD9sUAqaoJG zoPs%6noF>jL!6Vj0W(3G`>+mz-^o0VIaHcIV%>&BX$CXWE(A%^tcKMdlBIcxJFX{Y ziZoYZ_QD({&1qP#z;J24inSO z3L}_kj0HWVG#G0r=qaTJSc#ygl#G=GUQ=1nHJ$nPI=FopX*1?laINBPxVs>bFC%?~ z|0x8!d>QEv#A{vn4vy;=jLIQb1E((-#UTy>W^-gkX2W|L^c8HltiFX}?S#zn(ecp{{Cy;+_vqiDVm~yM z>u~Z3L>~%SaKloDM1}J`IEU4)S2*{T5WrtqZ$*hZL+W2ykB?>P&f!RXsIXXI(n~h< zZ75MU&<%Y}tnQ#2`b4a$pu6@cEOSrjF5xSz%b>f2^;o+=cL{5-u7mCp?6uQfLNjiR z&Y-)5u2^B9yM#1Y&x7s~>~pERgn7hU0lG^_###w_wa7jgy7Tyrcz=N2NwOR3PtdDH z#{3KP8jx)w^cqlYo}w0@*MM4KwFSLDBp+5g(5pqZVb-ffONqA*^!|{cSd&1nE5%`L z0==$e+Z(+<XzPiL~0Xpw1h}9Bw-e;^<;INPv z+?a#{+^%+Z%-rC5wV%N)30b@PTPN_XvADP=Uk;UjlB^;>Y5;Eg>sw&9flN<6mKJ65 zefc5lq5NPhn5vgo{s+X{ps)OPte-$%d1L(yo?b*fnu|}(f%zAtOZyk$8v&1Co&cvSosYK!3Yj+r zWQANJjKfwIZ*n!Nq?BfR~Ajo9`rTD8XH)IJiw@9>qKfu6@zxxZi@? z_cy=8ya*YRo&O+aPZ4ZSwRCysafY18>h=&%oP8U(dkXTGBJ{wwCk^ysafY18-}o zu)OE@ad&Lu{wyNR@tB)2i%N43)U2rinCdEj5*!x2qcq<&WyI_x zO`DK+mgX4Zy$D^TISp$Lbd}~jti{kxnoF^kfqtu{2i9`vA!8oE`UHAP(++-nOEVwi z=@QUKnszEezpG;B7W5k^cCH{?9^Fn9L`u`n5=2YW)>4c#?YR$-rkyGoC{0^SvC_1) zG)S7ZmIh1H)>51_Z*j+c$Q=?d%?+4)F%zU|tbO3ngnc)fElS`v*ZTnTZ*W{qN;ig) zI=D^s=D{ogj^7+YyiAiej|~ zJ-IR#>m|@T^M_$g13eA17;7WwZJ2kk9)O;(`5NmX=nb2PvHk)*weu9a>GOi#uvs3f zI_OEDjvTomrrxlb6|)hho-Q(0V{piOujJv2C1CzJY?#QFm#YN2%?ZNF2@V%I9 zAh@mB9>P2dp3h~W?jq(rV>_Ijb#>!s%(O2PRSyE5LkkDDlZ(KNF@c>_Ij zb@j;^^DPrqk6Xenu`mX1TU`cWCV=Zg^l;p9;JDXi0_qD88xTY@!kZTRU~4K0G(9~!a5B)tJsV6G3cyf9o8qH zvkH53omI5uT6O`w5R(V11n8{7-mf}Wuy?D@0A_RKd7v|ZSFm0OodFESdINL@VDEaJ z0jwe325^{v*`J#?!@>M>Xm#(Q{s#JKx`Oq)39M&!rq1?xuY%iaFd!_7Z(hn5K+E!znvgm5M{a)>xjDb+4B1nEH8jPam=YhB$m@{m{tD-3NsyH{ z8pFaPlVkk}ZY7<_kLE&7^TQ#D{vrOP@Hl?T|6`NYQJ3?>_rNJ}dwrzOI|VL(G~_#i z-Y|jX9e*3^C(!rtO{`m>@8fe=#VD!1kJDon0ev6eA!bobeIMJS>-)F{@tT0{keg$* z0No)s#cBq+L#}`|8gz#ojx`c=hujKl6zE~TJ-Y6?&3*Sa=wbe5tSz8B`HfhcKzH)? zuGd}nd&K()bk}_x%REVX@O}jA80f*fEvMc?F_n0EM)@4xV!Vf$2~+Q(_y#jGrrtwg zkFNJnlqKG?P*}Dh^|2a25oy-Nss}}-SrjV?ib=B<)=(%e%|=*>P(qsa=q05&jd%;7 zlr$G&t%lOld=qO2l#%8KSjVBPG*4n(fO66ti**qkmi9K4vy6j>TFHx(6JSYU&>F7Uo0H zJ)kkORB-75Z(`=e)IH#hR8#kW<%w4pbPs6E_Mm&fa#&qK_kd+nP2B^&&lwHC);(Zj z%wd?i2Ydl*0q7oZD%L8{J>Zm7Q}=*BVLk%g1K!5USCOn%-t)IoP2E>U5N{~xzS5Y} zLHCv6SaU%4mCvV|dZK$R=628%-Nrl(dZPO+taG6EMZTG8>OQ?Z=5^5fBH!T}{eh|b z^z7Wp!IfP4blWcKK0Pz>@_@r;j0UgzymsI=2mKsoC*Z4M%txw*d^P4<5XfHq6#NO` z{@tB#urCA8t$cJQYV|I#oUxI$j z-p4uu`Z2S0rysN5i1!ER$IO`N7r8uUwnp`1R+e}*KtE=+vFd<+%xYrQ0{xifz{(B! zF*9Z<(2tohO*!>r))cEfIBWvUk)N&WVE#Ewz&A&23HmOriPhQ!*4qo~#`9fBaC_97 zVYV`MAWvc&e$Wkq0(sw_Bplj3?M?d$s ziT4NS=l)}?Z$Lly_MG%{pEH3O2hh)bNvtZMM`LNQs)Fu_gHuh1kG0<)!b3ll%j65S zmsX``nb32ZpSV0Ml@V)$zO=?{Zo=vvw(Z#j5@t4nxRqfH>R8Zah{qal0_(lI(bVw} z2%zGIqK`B`ajCckh)X~h+L+5t*uL^X`x5QCQQfch4fJ2lPh1L}-Os=YbfJw|3>?1G zegph@bR1mYSLu|abKW_>YR~!3dlSC?*S&S?R{g8)MlIxm z+ew{=Szv7EbFBpXR*0%odAYV=LT=vFU{SHW>U!HqCOJ@Z)TEMNjc7g63c4O@WJqI)90njt6rC0|+&#Y_{)ibNp#QPTX%L9b#TCuRdo@6WP<7Lp50Gx>n~DSj*Z9P<-ei;TY!aSP}Zz?d(AZr0ne zUIX2%jkynWV|@(kZSZpBE;S@|ZvkOcSv-1s^And@SrBmy=qfYjM9@`MiZvZ{l^Js$ z=qj6!wFLC}ZOk>G&)RiZ8$l20#(W9%Svvx2J2-sEsli*G*A(1tf^LQx4~|c0wM1=i zbhr2Ybwuq7Ztwf+h3PYP6^EOYBldFVGq~JDyo;c3n85P9xC`qZ&?DF!tP7yq?MbY2 zpxf4Ahe3}^=dr#6eRb8C-aeOGgRjPF4*Hs@F=?b-FLL^Ca~%z9W7Y%5(Xat(6QjG0hF7A-f!k=<7PBKbJ>IkW zB~F{|?54xWd5WN?p(eLW7nkPcI!#gwDPSs8nNT!EE%M%omk2Jm6Fp1A4*_N({=JwQ4C(uLlH` z^)z%k@n(P?#Ajp813icvb1CS{b~CYNfgZ$dYu1DKTH-wk`WC6pSX)8gB4x}MLErfF z6xJrt!@cbQ^zBT0h_@H??M%iz1o|eW!&pZ_-=t*Blb~-Weh2Ga(6=7heQzd5gBo;^ zwV=6^Ss$~7G#g>XLA*2@Vzq;7q}dVcI%w%+_P}f{%??<7pp7(trq&ZN+e))9RtmIp zGP5u{NHYn`4;`gxkGsRSfV-?+ga3BvsNV^6~Ohv<^L(n*E#qS-1+SPR^^ zEW7+eRObnE9HjXw)`y@wwO6o=tvj_HSigYo)GlCs3%XM~U1{o0tua;F9(1Q>kFoC5 z?k3*-pgXk@SVf>awV_yRL3e7lq3BL6iuO_0v_yH_>tkIFx>I|dZET9EJ2iWr=}s-3 zc*8+Y0=i(00NttCvrtbL<`M5s(9?xdtOcN-ld#>Ao>*)l-ZP*l7MrnN0R5cAdaM^g zPeE)iqNgAq67Mt6&q?gU`W*CR3U4aCf;b!V}fl6dQ8|rye*)|gjrb2K#vKwjp#Aq zL*ji3dQA8n>pbW&;Z3XypvMH;`t_Jla}v+nf=+bXVRZpLdKl9OdQ518)fV)a@H6{e z6;qE1#;k^^#{^@V?bKs}vHE~FPM+{rlyJ&{TMybDvnNEx1WOCXOvsa;ol8RwKsY__ zX#9y_@=dw@?;)N9-L-AQ`q+dmltH%_bB!C^D&=pOdyVb*^3=n)#~?PGsm9icycH8J zvF{P%rDk#R<16DzS>u2(zKrt;g`9zKCT9ci2ZQ@Ve=XUlYazV1u0F^wo&e`h*3>Uy z9TlpSj+9fU&IC>X7WHHUDP(6$K)1S~Sf!u`R9lI9KwU<>HJ}I7*;s2q52&-SjI9UM z+p!v%gCJ{ZC+0h#he_MI^)Pvsc##}YJxtn$tcOWI@iIXVlUZ29K@XExV~qekOxiZ8 zhsl}5TL5~PEW%m{dYCN4x(Isev=i$s(8J`%SYLo1Cih{T0zFKw!TJ*P;1@&Nyae=w zXdu=tpeIDvV+{vAA+o)Qo)FnCP)~@aQSxHYS8r^8-&CHPdx>`hnn|-9>t$#zP1`-k zN%MQ+MU{CDSA@=EUWFMiW2RvZfor7M7i%c!D?($iilLQ^ITvdQw3g-?tcReDG@D{Q z1#PAIF||~V*-o0q+5`^oygypRj2+yvpf4~_8{07p`VRL;Fl&W!t8XP;nr%`nY35_i z0X^OtYc4pv)BlRQcpnhB)kJH|_QtMRIx43yFF2YfABtqAoWL*oK#a>9Xs09o0Jxpi z9VC}8V%h+>@~e(R7DsqRPxm0f~bEfGfha0eZ zfzG<@cIvz*ig=4b=RNsYvq0xP8CbJH=RLM`o%cLJyj`I49^19(yyt!5odccs9L4$p zblzk8DxLS#ri-cvI`3(S)fn`hFjrx<0iE|;iPaf&-qQr@3eb5^0#*;uc~2LtuAuXt z`dAG>=RLOD*LjZ_uWkXI_XM&24DIEJFdSrdbCysw}-@5L-} zdo=lP=!c+cSy5R|q1yh1m`fm*4_M^qmgLAA#UDf742(ju1x;p07lKZDZPn|f_c`Ki z2fcjxFxC#x>9IX1Iz5hJ&uf5QzT8jAhe0ROZ(#KxrcR{evATgyq-$e!2fff~OV=s) zbu{xHpi}PuP;vyOPPzMGeg`_`wr7G)x$Oy{7dmZQ*2%d&O>}ZTiT$1hIyt`yD<5=n zZaW#hB>D*PHiKRgU5oW5=q1tbu_E`ld|v7-W))05iMZ6n13igoht&!6BqA9r6Z9ma z0IL-ABw_*963~-~N3mW3J&AY^>l@IMh`rS3MNB=3ScLflrk+F?>qqd4W%qskn|xgo z+!BB^%z@yT0A!;MHM&~@a5HKSxF!GvxJ6(F3b~`l5I;7-rTGHZKR}OD#`-6C6J^kQ zZ{n5H;Px?=$1tCS7+=MADFSMQe+Ks@6WwvabPw)+2qz6Xk6X|wKpsAAA;&5CzVVHI{oBM^kt@)-(AvH#Z(!}G7v@=XGn&a*Q$c4mWmuCyXEe6c)fvrJ;yn*Kqj?c)H|UIJ1J>)HGaB2` z>x{l0h$v-i$RG z^s;CGYYgaRQ9JDEWzo&V+Xi}BbUxN9(95EB^z0}TtmDM{0`vmv5v*T8FQ7KRh2sNy z0ksWQSI`TnSy)4$i`=6>VGV_@(j193780ac6RQxqNpm+fG#OJb^crglcqKCEDzr`D zmIZIdd>UM{;O)4(OmxRA_#o~P2qz0ZiT@>-B`3MNCBu0E8t4pdI@Wy98Co{houD%` zV=Vx$RBmYXHQY1|5fOfsHD8X_7$PGkE44XVoQXPBnO(6G!0DYD;}9nTHzCN&_tvdC zn#qcMul)d`WhtJv;%x=pqi)374tmbJ3Tp@Gs|~h>_0@)b#Csd``F;@VUC`(Ieyjta z&-XX5KISOtv)IF`26}e3U~>hrw;RzuL|`&nW(!qn%xZL0bjLM!533%X}8W@pgz z=x$hjK+mJQU?qT_N5^CB1U);RiZvVb?6?$b5$M_R-B?RN&yI7kmV%xg+rB~1j-Mdj zR?xHKhbv7zJ3fT@4(QqOdss(6&yL^4It+St{5IBpXfAt2Q}R*Jv*RzZnx?zVd8=Vv z4SLRdwlb!k^V-tANphDyVV$^ zqQY5`KEV$@1NUd2R$;G)@Sc6DH`()=g3F^!8;HIU=+fjt+lBWw=+XHpto@)zXIs7= zoo!v{(fJf5{{(t;wns#d&V8uQG|;1S999?5qq99udUP%#-ff_>@v&I$% zIQ|;e5zyoKCs?OJkK?~$RiEPW(9@MzO+k<24-m60rXI(KV79~5E9b^)58h;XdVD{e zT^ixqr`5o$4X%CKWw=*YM0e@anqkI6^|GR1PHrx5gpuDS@S|ryZI_96qa2<}0hgx= ze0T#wZWlFq8HqP3;2xk~rMI}E1 zVLWO3H}pg1Ck5kk#^eQabM!mQeho6vuw~UkKbce_?;~r1-2!3@CKQwf9Ug;CK<*9U zjZXd9u$#d7$=nO<_>WNYzinC1IzOR=Gr+RCJaHc*_%_hvnmu%STsus>PeG4s_Soui ztp)qj5%jp$3F`*X>p#am-tTo}bzQQO`Q&*-GUjR8(Q#UczSdce zc>+^k>$JU%H$@hI*#MqR2DkhBT4A;W*POE}Zcm69tn#4VSbqYy8Fw;fDnu2O<&9UN z$0JUJh%oY{hw;mS4qH~?7Q9zYd}-RKdi0M@rC$d<`d^^rx|n+OKa6<{^yvRCma+Bd zzZa_yrR&kZBi4 ztIXiKN_9Sy5X>(s%++s$I)Z-^!kJhN$IpjL#~0-mjGh(@ZJo<>dEiX$$%Q>edUEjv@qPe3 zxv*_nPcG`vIvRnVTr9_04SI6%AlAd6Cl@2I9sxbMxEyOM=*dMaR&CIe3tRKvG(1qZFSw2NJurJgjoiG_Q6&Y%Wd%j@8IL0TTTKa7c=|%+2S*W)RTRLJ8jh>g zkK;cBj03XrpT~O>bQ`r%bsN1vyk9`K(GRiCfNrC<9&{URGLI{_pxbCQteT()Yhzvp zdayR8DP0fN#%c-Pba{|&K`Q{aGh{601aLh=?#F$|_>O1Do45y|iqjS3Z!j-F7|ZkV zcSLv{!F_pt5cUX&=9-Iqo2UOyZbM$c_B-4}xp;oa4JXy!#D=^Gu@my9IDJB8HiayN zFu!SVf-+8-a+owYmD8It`hv@=IkyvdKj?nJ?yl|^no@RK(EY+WN{+{_3n|1a1>G;$8rA*6L&SRubic3^s~mI^ZyTph%|9pJSRJGOr4tB`qT;c5aNvlop2{(jRKu;+ipp((LX@E z4WREfTZHu}=+*okSg(U#&EJUi2I#xZ{*Lt-=ym@+Sf7Kw+pGlZ3ur0_O1F%9EbKd;!9_)9xeu zQxHaO^%HvZqHu0~Xoua^{K6%-n!d#I9#~p&?~8mu<>k9WZWv#eN?gpHW)My~wv}z) z0kP(5b}n~^{6qm!Y+Fr}zm3c(&2#w--e!LA61aTBYC8q|6~fH-K4vGrhMFedbKS0N zwkZf+PdyjBm*DF`=X|rV9tNHB?ZkQqbk1jwlg|0#sk>`I=Y0RB`7*IKfnK<^=Zek_KO){4(AnXuSYLzA4s9FP*`bftnFKoL zi^cMT&iP_0O`Y@EliguCmYC~6=X@iv9s-^7*|SqGvK}PfanRY}D_AE$XNR@});V7z zy7f5FIbSSR3(z^=4Oo8AIo~x{eL?4ZBe2FoGdc7pV~qoy9ezn&7Gmn`(AKBU`IZpx ze$YAJ46N0lb3Qxt>YVQo@jiq$vX*vX{T+06_$}7YptHl1SigYI4jYn4GzXm>dRTFw zv%@DSxdrC6a^G!zUMJ1r#4CW#(oDx13tgl+2Wts*m1ZH^Ijac_UH)+~^?;%aw z=5LUu&5(LZb0^#QHuRF_0jzhRw=@r9orFJ0^B-8J;6`aaiuEP=4`eW!L&F_fU z1T#^Z#<~K$+ohVcl2uG_d-48I%;6B}cnd=j?j)!>Ij3-vd_(9`%#~nnLy;T)EaEoM z8R-tJmqBNwFJWy5ospJfodcaczK`_{=+Wmqb*%$j}7i+EeLe>_#-7pVCwAA zm~}CA_GnB~y3QVr)daj5^1x@HjRCh7n~zxtt}S*3?mTd7vFk85fSGW}4L^qX5jeD1 ztX-g6><+A>pj)glP3d|LWvr9n&6K;;ei_#|!MS?-A*X>`^^U*OGGMN7y zzL=YbIvRA#AB>f60?(D(@Ix}Iuqmz=q-tT-1=kBwO>moo+Xbl>n602@an7i5=E>Up zoYH)CyIKZ6xEW$5=arN?+zVHLTMV&z6Gj)6jLMVmDVu^k6RNuOWS#nZ-Y9Un)8}`t z{1)8rT=~?tb!%6=o_W+L^X6!m+wPxXCwBn@ooqH|@v5+&x-Gtic^q^v{5n>wsXJM^ z-BLa2xQ=)}(EW8HRtD()dLY&i(Ear=tdXGmYkSOe-&&V=riJOg)mXXU&65>+IMwt1 z1#Y+deTsPsTzi4@xEDb`xb`E~PsVh*fL%3>D_sy7&c)eGesD85J?-`#;zb}&lXW-( zZzAYZ!ft{-B{mRm3+Pi~F4jWOr^IxukgSluZn6Sj3B;uNN_nCVMb!= zJ1uPKdUDx@c-=uKK#j3_fKGty>8B@`cN1?V=*i^*tTmt~m+P=LfSz1V!+I3-u zWYBkS*p5`+ySe}lf$Vhz^! zpzpMpgtZ#>%np zptF%(ScgsEJLNXCMeA);{&U!dVW>BQ-iB1H;U@3`xedQ2@#Yl2>*Tx+W_@s-oL`CC z0_p^cQYP?G)WX8d!bxKaCdg-{+wr5G;5JuJ!b}FIYAi?mz=W1{W2|E)>_Vv~HuSt< zVE%JBlv7Zrg5HLFtXoasyW}>s?aGU4!R-po^_aaO+VK+`nYe=?YC_I+Dy_onOw{x*0kH>=ILl*o6W(wWSeiYt zMu48(*z)!4W*YHs13kN$fi(y8>}DR;640}od$3l6p4~i%wGs5}<_WAVpl3JvSbqU; zk*xYf`*}hJ+@7boA9D@3_KlC>ZUU#awFU8Mh>S81&8wF9Ip$YTqqw5CWr99hKAGS3 zpy%BPE-$+In%EHsTw1T)65V!pNzkqLRjk)Qx86svf`?q%Ea8{KQ@zWuyNIAw=ZiUqibeG%%t0(9# z`EsmYpu1$-QgxS{LA+t0yW|mABSCk`#+(4UqrDkxIOvXc0M_)uE=!wpFneL@PH`vZ zYoHe_jd=j{GUPd|??5j@8Z(0J)QgK(W5t19Tr_4IXfDs<<&po~J%@tTHK`(+X#99n`5!95t3iKlA z8G5kupqDnwiMJcPyX7ujTtFwk&@~Z=#;gu*H)^)POfa^?0*ZC@AZE-&6LpE)xy5L! z!7a;q0CSxQ>~t6EHq5=ocGx-V>YX#@2PW!LxpR&0rXhmc&b7zv1a3RmAM+MtJM5fw z_0Acy$V9zI?%e4tz8VElPA_7-i1{ociub1>k%>=hDWGLov6Fg_UxqnynPxDakf^c5T|2F6JMG(s_q&}>ECC7?iyxc%?I5z48^(=ycKdoZ=eljnRdi~4h^&jwHR~_{28mn z1nw5?OAMq8=JHguuV0qmpTw;W0|)sB`IFky$o%O^De3*%d9g|UzJ6c8pA_lEX8HU3 z6ZwBTc-8zv0$KdrpVZo`?jPb$92D^NN%gn#YWTCVg1pN(h!E>tV*VFnUXcHrk#&i8 zNt$m+Ff%J7Gb7uVn%%~$Rq^i`!G2l3bYj)!LLxs1WDM}9hknxBt7HD+OU?58l7HI-@$_)_Eeh;BvgR8~bI6&LWg{hz;P`TO`1 z2eji#ETv_p4(dlu{ua2N*TDSQG>(k)VA`PU$^xr~{$5#sMh}%#J@og`VfAMP(^A-; zKw|P0UV}f@kFQU5z?YI9={2k3V-e{*H%Un+u8EdOA)tEG3@@AfYxJ;^`B{wON+Pl*}neN+1V zaT{Vn|5RC7$-ZoUL)_FFwUNpmFDI2b9-0<5W! zFU?}C^I()T5Atcw#~dR~*SY|>(bX5~?UBaxfnDqD$NUEDTjz1?K)!wJ9EO_@cCB*~ z<`nSNI!|N3`C!>P%TX_J*YMLi7c#&BpRF^>kQHFtI;V^>rWkBm=WEP+0Bl?5dfaxf zX`K(_Jp;ORdb8@*na$_Q2i-akvGOQP-8#K9(5-VJ^EHBQozt+Efo`4N)6%VT1M_VJ z-8wg6JqEgUc3^dZZk^k)c7bl4d$3*x-8%PS9RS@r4`RI!x^*7L>IL08Z^G&W-8x;X zA1q3_jt-jyyVjY)YzF(*xf=UUcYe#%xgK{T3{MRGuojBQT=+Qt4#*A`Po1Ieiu*_ZpOXLHvqaBAIBO5-HZdA{s_>`_#WoV#njEX4)adX&Dg6`-HaEr zatw4cF2Ra}ZpL2q>1Mov`T9XO<2EeU*3H;!Bf1%nyD$^_X$eT*7=UFkYJT zu~tBVG~2N{VS+T*U~Pkm()3QLP@0u_##{}PrTHT(UxWDvX&%BHfImvpYn)T0c`GZg zhZCf^0jmRwq`3_12{=)j+pu=PRB1km)d?p_GlKOg6if4UtdHSjY3{`O1Wu8rxB4_` z4l>_ZF76U(j>kF)rc3iEa~5NsD$P=?IdGaZy_!Emn%42z+t^Jv`23N5<``pUgYU%ox3R{234UVZ2Q2gt zu#Jt)e4dqHrs>#tE8Zs1vC*4V$HoEX`x$g>d=6_6bZqpVla7rYoYXG&wB(m>57rBy zW8;fh2SCTha;!H%$HrW&i$KRluh?{KETXbXK*z=&R-TTjW20AnIyTN?zIC8uL}{9X&ps(v+}c`qi7e_SD>TlJ6L_7qv-Qk{h*_$x4Mp^8RI!i&{4Dy z>jcnIbbvh;Vd{Wcj&&L6fVmW_6?DM79BU=$fO#s`D$oJbwN``0mGBVSRzHb9d+APXyb$`(w7&<8F^1s#V}Q;(E-j?{05aeRnTpzA)&! zdotD{(08|Y2Kw&qWxgLk-`#Ck1EBBj1lIka?{4q;>brZv1Y@oReRqej5}@yH+Pql? z76-bP7bG466UYkLy_>KRdkX~f8=M4h4up7tAQ9))1NkdblgWh+Vb_pcVp_3K8*Dp=#uuHl`iQqRKpoyQPM-TqvL2B=4Q}wvD=)NIS z$I*Xc4uFoMJwv9Bqv=^(%b??E8FS9W)N$0cO2MM+*3fevfq>O(R9i4RAj9&v1W)1a zaeb?oqV{6$2VZ~Lf0qFtf#qNJdr`k}*YNX~{eLqcXCmjxg(F+jV#Fxu_b_5ut)QFO zO02(tZeq7#tpnY}+OXO|H?hrFouHf8B&=RI4`>qU2Ex4_&4=TW{!+9F?BUpvC z6Z9kS*4K~VE#`Y4^dmTo^*!iE@B-E`(2w9}tTgup&ETl2nzA_y%0pLF&n>GhpBt*E oOfv=LH8r8?1y{_gs0O6YSeZ>QQ1zxQP3`IP6q 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 diff --git a/release/v12/source_maps/InstallPluginProposalPlugin.mvsm b/release/v12/source_maps/InstallPluginProposalPlugin.mvsm index 975f8525141964bf637137a5b819824c40911a86..ee12064fda8fb2460c3af5623a4551a25806bfd0 100644 GIT binary patch literal 4782 zcmb7|NoW&M9EV?*q_$19i;62KieRY+6~zT{K}4n2B6Yzngl5p8F-eoDZIL1h>OovU z4{o61rCtOT6crTQ7ZkBtT2ZN}2dUtK;D+cowIh1^O$y(k@csX9=Dm5pd6TB=EkD1t zRu+ss{bgtKo7W?rj4z+xapGre`JJ3BZjcF2n%V{_RvWjaG|8=TSmGh`t=2j{(g|yif<;8s9&I&PgPtOeKJ4^+Q z*#gceNFBJ7hc^dnh^z!C=~oN3E2al~&wSP?WOj8|;)74cA7JX;pQBiklE{ zY$s+ZyA$&TgzUJJN<I|LXn>C;iwghG^?UP6pV(P z;GZhx-^Xopedb8HalCrSYqXuXm6lUF1$QQxQvEE=!3#sSe3ZSeInq2wzsry-O$X}= z1f=QBK~S3ceT*3hdD3iWviF@Awq;m-#}DMQ*Gla_Z_RMB=e6l(ugaB81;*@x(BJWV6fI`3RghWA z-=m@f{6^Sd+!5d>!baiE0v%yqR~=!;=+_E5!q#G)1RY`C%;^Z5&7xF+j<9O1WuPN$ z1y(KS2z$oeL@{-QoyY719bw-3>j>*$Adj`tn(5_nzp5-jC<*MLsu zI;`EGllchN4baKlhV>G3G6%5UfzI0!X1@Y--g;}L^L7#a)`QMl@7d9LdzXHXK<8~2 z)?3hd`wgpzZLjn8Yp<#Eb{PG}fzI2Zy{0}~PRFc+{xYD_T<1p20n&7>M)2_{??yZ9 zswOMf&qwto+$*ln7mhjwKF0e9I#I7;eFD9mz47&SF5&l%A)vSOFszxNxAQNqaTccD K&Q(}Tz?k1?u!xla literal 4787 zcmb7{OGs2<7>3U{<4if;@{*B@q=i&Si=re5A~LE~A{BO_X>?9?V4OM5jHnP46fPHzd-TXguB+@7QA{8dFI- znT}3>%QK8l(RVEko55GQDfwTgO{y|VRl8HE#9pL6N0dJ%j8zM|r)%cxC%lX^1bKmm z)f?qg-N3v9IZwwhMb9A^Oq+?AnNqXz4)-GzrOfsYD`mzatx-Fzsz#~!3Hcc-6E~Gz z95jq_D6|rpR5I4lnz51zRa8Sk9fV_Mx;16lUTRk0H#h@DCx?i{%y_h04b()zPVfh( zs+1oJFUKNLyx0@eT& zOLGuw2uh@R6KfbsrFkFgHO!LcZmc&@E=|XJ3m&3*9L+bwYl`M!1|jDZEumeUMw!7cfi} zc#W`TMu>oy2y4OH4?4o!t~$cr)9*9r2)lsw1$2bDGp8f$05jF=%$D5r$FNR;j<7RW z7ePl@HP$825%!(uo`b0)%w2ySVO0ej8qg8;gpq47b%ePaT}N0K{f>Z+uwJY_&=Ix> zs~^hbYC6_=@UWHdqCEv~7r|$kuOR0L`#{l{GmOUw3x!!Z$R)z6@aKbb+T;}NKx_ql z|2DB~(6O)-s~vPKI93WgsQ0+~KbpM$ha%oC(T}lTfWI_m+FZLMW>>~ea@&;`zRiBa zFrnOPv*Tu)naFsrolV_B@S4n{{K9X}b5-cYn!u~%f16$cx2s+Pn|@uOleq_L0CY0n z!1@3>nMbjHfllTc$6{V}-qvBQ1D&_-TIsyqOTUAl^VZ!vI&VMGZv=GS{=^D!n04M( zU@ZWhx8>8O&f9v-^`P^1`LwAoms>DGJ{Mhe3;c>#$iHx%sP8a~F!gbE$JfWXj(*EPALn|kZJ>|yT&(S&kF$l<28Qtm DJq1d| diff --git a/release/v12/source_maps/MemberProposalPlugin.mvsm b/release/v12/source_maps/MemberProposalPlugin.mvsm index 150ff421ff18c7e8ff9fce3c313948efbcfe22c2..b3485cbca3196a4d92fed9293f468ae747017a5f 100644 GIT binary patch literal 9724 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 JCFTza&i`U}%Ci6f diff --git a/release/v12/source_maps/MintProposalPlugin.mvsm b/release/v12/source_maps/MintProposalPlugin.mvsm index fb5c1baa8c13e7d5b3b15377dae8ae9a2706d4e0..43d9c184295fbef5c9c37eadabb7bf7f8bdc4235 100644 GIT binary patch literal 8487 zcmb7}TWnNS6o$`CJJXgHT6#f5B$yCdL@*#hBxpcdE&`>LVk=a~(mCS5bY^U)LKEP@ zL}Ne_EdewTjRCPmDK~>?Bxu2uAP5g~lNi*-pdoLs7w}nG|`}dH1FXY?noY{Nr zwe~(;fBCUrwsdrsogBR@R@!%8WYvemp4v9!QsKN;S1)-!fBL3Dj^jK8KKTDXU;dm( zELqVQPsE$*q7~8RC6Solan_4)9}(xEiRH63eKO_^;strOFIW{{=Eka27`TV$~S!ra|2lZuy;|nK}N92jfLGt_1+)j?u9@yl8m~_ zK8V=~IjnnQJltHLjKpJV&`AbdfS|h~$vY|iSJbPJ+3420k(c#PxP_daMf|#kcylbN z;^(3kK~CL&ZyyS~(Yh8j=za!_fVAN4QOZAr`?c}w>k`V1;6)*0c_bNgo0^pWIBqF8 z1v=NJ<1GTeOkgi+nl#&pw;R%>8OPcK0cm=35R~Q>;{6F3(oAD7W5N{G>OY;e=Qpl0!G_2XsSDNKm^P!(K7hu&vt~BehB9JG|WmwChzcgF0)QGi*p=cQ%$tx>DGp?_C}3HN zhoBAv>ry-xd7_DLSBlF}XF*D(cs>I{V79AV;8w(UK&QfHtoK1z%B@&!peyALto@)X zn!L>X{>W#F-=>7jvOQ!lHa4<0K2TbiFpewvogR*G#hNQvJiI=m=~9& ztQN7}1efM`tT5>GGL{P#S#ynDpPpkoaRJOMu$;Jj)PW|r<#ry5I~=kTcP^iyh`d*f z!Jh;H%jVRJo7R`+boUt+RbwTCUI*)r*@OHy1e508D$o9xc%ds`Ta_vZT@B7)onQ;` zVxZH;i>j;A5#k*OU6s~iod8{xygAlYX#q2}*vyvPGGVNxpsP|8YdPqul!3JZ^j+bC znITMlSGb#$@)voDrSA%BcycS~yFxqGF3@*{jaa)u-xbzlZ2)~&cm?Y`=(|D})>$Z! zv$O~69Ozqx_w*tev$&t*jDi8ud>HFdxJR15^NtfR2TIec5cf)R5%KC_kThMaWpJM~ zpTvs7U}+kw0W3EBI)Gv?JHfK`>_`2=1h;HGM{tipDy`=`{EJ}fpq!Y3T$TiM zpC61>47y-n!SB@lR3#9aE?KK9pg5{^R_fS7D&q(F35c?Q#2+TQE_K~7I z8a7z;5v-A*i`Xcvv7n3CIIPK_i`Z1GnV^fsin#YOLqLqJ6HSgsw4Vl+@!Jggh+m!0otQ zcI6Tr#`_WU670eH3G@{@k+4%24^- f(43j&RiUX9o*73oW;T32Fi)5;TfDSa>L@F z;3dXOf-!(0h#}D`RS^XQ3?)G@O%P%=QmYtl#z5qv(gX-t_1n@RzWsZed@s$n*EwhJ zb=KPZ%(eHHCF^G#JD<3=d(rlm;^Tizh%Z@p^Uc4zx>t0*eR}89MaGy(5P<*x1%_4l zv1DaKJP~iKuB)tTTJFb!##|HOJ|s?ujTLY;12X1y;)S?&AQX<*daXONlnlXaf5 zJ21b5T-LoI9&M^g`tg_=^bG?}LQd3ctZDEQE@Lj>_d<4qSL6B3`Z)pvjTs1`>iT$7 zEUE6P5VZ($tN(k1NYtyVUabb*!+^<<5xPA}`A2Y%TEC_`q1+hWO2}H}Cu3e?qw;6q zmV+tK2{#+>NeId;PDRa-=Eua_0|TU)#QGdErJ0(8kTkCn?+9_hANe(yYgM z3>X9H)Z>Zx4}o(%E zBYsph{4)GX$aHK@LkAl(5_0cc!=Y-d=K@>6xnpK=g**r)?Fm*M0B)fMhPYRyDECqe zW~@%I7~VQ?NSpqsx+?Wxo&jBz-oZKxx+?xWjuu$<>ceHsV&2aZ7$MD4tXVKpngg(A!zgK{D#U1M#)-EIiln(3 z>p2)B&G}esV5~H)wH6#+_-$whz^(OkU>*X;)^ilK%LaFBJw3RmAf4880lyb)9h4I@ zA&>7(p!@s-SjC_Vb_Uio&;{FC)4}0J zY{+Hbo5sY=h62AnQRmfr?BSiq_OZFjXRPZ^{swpWkA1E}y;wnFj{v;{si=AhRuC@% zx@Wdxy#=~wwqbRG?wKdBegWMx@5Z_Ux)T;K`;$R;!qi&nPB@o%Pl5h)mdYL72@ezR zYtWtWN33(8JKK{IlQGop3nu#)IyJh5e@Pgi|mVg6@P(+^2`BJE66ffkQHd zsX4U}aQbU}_lRQ*=mEP~ zmCa;wzA;lkHaCTHh&8yD(2cT6ubo0aqZMJiUb<8k%OF7BXNQ*aeVzT7eh_ zou~7$7J<&wC0IV_JgvoQ2A!uZSTBIi)BCYr1f8eWdI=mF>9Z8mS8PEg|M(gqw@vN1 zJ8lJUTyt1mQ h$eg*6it;((NNGuBz~tZlPdHLlR$5j*zpTobe*w6xVrc*X diff --git a/release/v12/source_maps/SBTVoteStrategy.mvsm b/release/v12/source_maps/SBTVoteStrategy.mvsm index 5567d6a4de71ba160350c1242dea8a95f3884464..93c7dbb536695d605f001618699ab5029a783eef 100644 GIT binary patch literal 3158 zcma*pUr1A79Eb6D&P_{A%doURR_4ldrD>@}ndT}%MBFmEu!F*8g-vuTD5A1LB0>YD z@qb^Lx)Z+vGQS^=^Jk*3)Mv zdjFiw$sTrn^B$|7I5p}m`tauDnDg;KjxnZy9Q6O6Bi&yUXzq*#{n75$Xt4dLNib$o z4RaZ@m5jp`iE@?lRoGf`Ct01LP$U>t7r2s*NhN1TFsy7lgAY=2I24Uoaa`bZ8W0#ook^}EtsRHuyZN2OWAdn`LcjOp+(r*M_m0Zd@0*dLzE@u8B{+ll=A$H%$Cxg znIq*mGau0+DW9NT&|)cXq9$mGl-E!K84S@-^x$t&lR8 z|BEXrPf8D}D5j-MM|mk!iGo8mD3@M^O){M9Lx52(6d$J?bNsO8E&jMP*XH zLVckPQa(q$q>WN~*ewdFTuLvhlq#gmK$TIYl=dRGNlJSU+AL)iC)ZLOYfv8RZfR`g zjdM{g!&Z`GR-`Rz#kIe+z(cVk67~MphZ~5Em(O?rHAs4Yv(MN2+c5L4lW}-_O-)wK lcE9BhR0n)kLtuyBs`oYQ+!e3_dmDXLT|;wqeO;|Fe*r`&0p|b! literal 3158 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 diff --git a/release/v12/source_maps/UpgradeModulePlugin.mvsm b/release/v12/source_maps/UpgradeModulePlugin.mvsm index 93dfd426f9ac61311985ed60cd3a450aff01268f..b6f9cd1beaac199cbe3e53c8f2a89a21cdffef77 100644 GIT binary patch literal 7505 zcmb7}ZA_JA9EYF7fdlfQ@)D+H%%K5IvXrc$wZcBw77J$eq1g^+=RCrhaL(zRLr_XD zw6<7ty==J*X9cxoutw!#_@ShwX|1I$i*mX6&=9u3t&m!_b=~UI`u4le*{*NbeLpYv z|M~sz=Q$I1-?6d2_vyZ8X1+SIV{+imbq6{>|6uJm{)V1YHp^DFaNtUaK-L7ew3yfK_{@W~lhVby`- zQ^)qqJbjvNIgZl>zU+JNdEh}caX02}$P1+0Sj0^#|9RXOAtxP8x4X*Ti`fr_(O5dk z`i0ZccuWm?j{%1u;C81uC#8?0erb*ox;%R@;PyQ1ls zn@TCa7Pk(ZGF@`Fw+`&G`!38a zkWqFwF7SPeU9;+U7w4UPHH(}~%HP&XZ zxS`w7!eI9>MljnT%W@<27;YC7B$Dw&JQZpWM&}r``1+7sv7ugf#XycQV(k? z*Jt2v$iS_$b*-PGY)-n+kjb-sh9_U{8Sx6X(C%=ZrH zeAtflF6eylR!rwZAH}y9^w#TjtOKC8UT8f)DzK_RZ_>Q9yg|>j6?0QWLW&~_|O$TlYGU+uv_%DEo0ePh(h@+tQGhk|UtDs7b{{;Zu`hssX~a$NIU>kciA0?58S)Lf$?rHVP#Wz>w7VT{ENwrwm~pGY zwq-2hi`Y`Id0Q{Vs|LLU-mH2Fb}`>`pj*Z(Si_)O#$l|ppj*Z?)&l63u>mWK`>Gp3 z6;=c2M&PZLZUkZGdkS@RA z#`*^=YV=hi^i30^lpe3ta9LLXgx4U;Yw>uWTWJ5=DGDIh4ZN5wR&)P(TDB^nCJ=-pB_g?P3Ycs`I z84=4r^bZLuEg~DkLd;CVn5z^ilQ0TfAj3)=jo!>Aqqom9J<)&P=L|moeV*sJ=RCjj z{XOTbarU{xSLdEyy>Iz5*CNig>)R&3Zg_gl_G2FntZMpUb&X9Tk3jMZ4nz{yf; zduG1=nVq?g(+gQS8`idLQ4{xJ?u7hc+Korul=7d$9e~_SEYsyGdq3vOP#lYAQtV$_ zCYFe+L4yo94ny2gN zZaS^}rMUNl6Vi3pgtrN@W!ZbP2Bdk2`QCyYX}Va0kSk5^9t5R1#(WcyC(S9WtUNYZ znx$A(P$11==B&mnl%`h!MbbRLdo=&7<|3>cP$^Ag{SFpgAwI{-z=R3e#3N4ml>c}Uog|2h-~YUVFdT|B$kahd>ksSmfo zhr7(ywSJ23Dsr5Az}K@q&J%YNivPQn7KftmxQ{p{p1)4;vpxi;N+-z~ysto?zr0y>KCIx{)_~53zgc-Lrp^cNcI$jN%6un5=R*?f z6zF{Lc1-8PtL)Q|*)N&lN3f28K7Sp@8U}s-s>eD5`uugC>#oDp=P&P((&sO)PWAcA zd*bx@D?kFx0)76PgH;Rq{8fjw1VVC;8n7BcpVYjxyj#xsDRO5&0Yb98;HU1j?drl8+@}w=a`S@MS~3Mz;nWXDd|1x|3aQw;RvckDbZ51z_7U z3iviw1~#wk6?nCvx4@fKZ@~`cdlq!d*o$=pbj$bv>s!z*V;pM|bjxVK%I3c6MsP3I zI?#>4+bi7&+L&(_=tkhxj&1~(nQshqBlrnx5_BU7^2pBu-3W5;n7R=x#C!mBBdEP& z>PD~;GXc60yufuog{d2Xv37t(f&NP70UfE*|=mB$9lg;D;;w8|{uM%AH|T zD0x^Fpp$GjbA~W=k{PQKEGAu!wi)aW7h5nN0oyv=ira2{t2#|!X24gS_A_7)_^Hza z_-~qp{M6~Y3>XHp0kTdf5O094)05Nf08`hg zv1-7gQ1=n0hfJVSf4p4FW77!kS>s!5!6@D&=q)&pbqn+sc(&sender, image_data, image_url); } - public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, extend, action_delay); } - public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file diff --git a/release/v12/sources/ConfigProposalPlugin.move b/release/v12/sources/ConfigProposalPlugin.move index 2c1addfa..be9d43af 100644 --- a/release/v12/sources/ConfigProposalPlugin.move +++ b/release/v12/sources/ConfigProposalPlugin.move @@ -40,7 +40,7 @@ module StarcoinFramework::ConfigProposalPlugin { caps } - public fun create_proposal(sender: &signer, title:vector, introduction:vector, description: vector,action_delay: u64, config: ConfigT) { + public fun create_proposal(sender: &signer, title:vector, introduction:vector, extend: vector,action_delay: u64, config: ConfigT) { let witness = ConfigProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = ConfigProposalAction{ @@ -49,7 +49,7 @@ module StarcoinFramework::ConfigProposalPlugin { DAOSpace::create_proposal< DAOT, ConfigProposalPlugin, - ConfigProposalAction>(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + ConfigProposalAction>(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } public fun execute_proposal(sender: &signer, proposal_id: u64) { @@ -70,12 +70,12 @@ module StarcoinFramework::ConfigProposalPlugin { execute_proposal(&sender, proposal_id); } - public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, extend, action_delay); } - public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file diff --git a/release/v12/sources/DAOSpace.move b/release/v12/sources/DAOSpace.move index ef8850b7..b94b03f0 100644 --- a/release/v12/sources/DAOSpace.move +++ b/release/v12/sources/DAOSpace.move @@ -1641,6 +1641,9 @@ module StarcoinFramework::DAOSpace { } /// propose a proposal. + /// `title`: title of the proposal + /// `introduction`: short introduction of the proposal + /// `extend`: extend of proposal , ipfs:// | { "title":"xxxxx",........ } /// `action`: the actual action to execute. /// `action_delay`: the delay to execute after the proposal is agreed /// `quorum_scale_factor`: used to scale up the base quorum_votes_rate. @@ -2098,7 +2101,7 @@ module StarcoinFramework::DAOSpace { let dao_address = dao_address(); assert!(exists>(dao_address), Errors::invalid_state(ERR_PROPOSAL_ACTIONS_NOT_EXIST)); let (_, token) = take_proposal_action(dao_address, proposal_id); - // Part of the token is awarded to whoever executes this method , TODO: 10 % + // Part of the token is awarded to whoever executes this method , current: 10 % let award_amount = Token::value(&token) / 10; let (burn_token , award_token) = Token::split(token, award_amount); Account::deposit(Signer::address_of(sender), award_token); diff --git a/release/v12/sources/GasOracleProposalPlugin.move b/release/v12/sources/GasOracleProposalPlugin.move index 97fb63cb..e6e7825b 100644 --- a/release/v12/sources/GasOracleProposalPlugin.move +++ b/release/v12/sources/GasOracleProposalPlugin.move @@ -61,13 +61,13 @@ module StarcoinFramework::GasOracleProposalPlugin { caps } - public(script) fun create_oracle_add_proposal(sender: signer, title:vector, introduction:vector, description: vector, action_delay: u64, source_address: address) { + public(script) fun create_oracle_add_proposal(sender: signer, title:vector, introduction:vector, extend: vector, action_delay: u64, source_address: address) { let witness = GasOracleProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = OracleSourceAddAction{ source_address }; - DAOSpace::create_proposal(&cap, &sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, &sender, action, title, introduction, extend, action_delay, Option::none()); } public(script) fun execute_oracle_add_proposal(sender: signer, proposal_id: u64) { @@ -89,13 +89,13 @@ module StarcoinFramework::GasOracleProposalPlugin { DAOSpace::save_to_storage(&storage_cap, OracleSources{ source_addresses }); } - public(script) fun create_oracle_remove_proposal(sender: signer, title:vector, introduction:vector, description: vector, action_delay: u64, source_address: address) { + public(script) fun create_oracle_remove_proposal(sender: signer, title:vector, introduction:vector, extend: vector, action_delay: u64, source_address: address) { let witness = GasOracleProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = OracleSourceRemoveAction{ source_address }; - DAOSpace::create_proposal(&cap, &sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, &sender, action, title, introduction, extend, action_delay, Option::none()); } public(script) fun execute_oracle_remove_proposal(sender: signer, proposal_id: u64) { @@ -118,11 +118,11 @@ module StarcoinFramework::GasOracleProposalPlugin { PriceOracleAggregator::latest_price_average_aggregator>(&source_addresses, ORACLE_UPDATED_IN) } - public fun install_plugin_proposal(sender: &signer, title:vector, introduction:vector, description: vector, action_delay: u64) { - InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender: &signer, title:vector, introduction:vector, extend: vector, action_delay: u64) { + InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, extend, action_delay); } - public(script) fun install_plugin_proposal_entry(sender: signer, title:vector, introduction:vector, description: vector, action_delay: u64) { - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public(script) fun install_plugin_proposal_entry(sender: signer, title:vector, introduction:vector, extend: vector, action_delay: u64) { + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file diff --git a/release/v12/sources/GrantProposalPlugin.move b/release/v12/sources/GrantProposalPlugin.move index af575704..8160dd35 100644 --- a/release/v12/sources/GrantProposalPlugin.move +++ b/release/v12/sources/GrantProposalPlugin.move @@ -1,4 +1,3 @@ -//TODO find more good name module StarcoinFramework::GrantProposalPlugin{ use StarcoinFramework::Errors; use StarcoinFramework::Option; @@ -61,7 +60,7 @@ module StarcoinFramework::GrantProposalPlugin{ const ERR_GRANTTREASURY_WITHDRAW_TOO_MORE :u64 = 102; const ERR_SENDER_NOT_SAME :u64 = 103; - public fun create_grant_proposal(sender: &signer, title:vector, introduction:vector, description: vector,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){ + public fun create_grant_proposal(sender: &signer, title:vector, introduction:vector, extend: vector,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){ let witness = GrantProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = GrantCreateAction{ @@ -70,11 +69,11 @@ module StarcoinFramework::GrantProposalPlugin{ start_time:start_time, period:period }; - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } - public (script) fun create_grant_proposal_entry(sender: signer, title:vector, introduction:vector, description: vector,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){ - create_grant_proposal(&sender, title, introduction, description, grantee, total, start_time, period, action_delay); + public (script) fun create_grant_proposal_entry(sender: signer, title:vector, introduction:vector, extend: vector,grantee: address, total: u128, start_time:u64, period: u64, action_delay:u64){ + create_grant_proposal(&sender, title, introduction, extend, grantee, total, start_time, period, action_delay); } public fun execute_grant_proposal(sender: &signer, proposal_id: u64){ @@ -90,15 +89,15 @@ module StarcoinFramework::GrantProposalPlugin{ execute_grant_proposal(&sender, proposal_id); } - public fun create_grant_revoke_proposal(sender: &signer, title:vector, introduction:vector, description: vector, grantee:address, action_delay:u64){ + public fun create_grant_revoke_proposal(sender: &signer, title:vector, introduction:vector, extend: vector, grantee:address, action_delay:u64){ let witness = GrantProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = GrantRevokeAction{ grantee }; - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } - public (script) fun create_grant_revoke_proposal_entry(sender: signer, title:vector, introduction:vector, description: vector, grantee:address, action_delay:u64){ - create_grant_revoke_proposal(&sender, title, introduction, description, grantee, action_delay); + public (script) fun create_grant_revoke_proposal_entry(sender: signer, title:vector, introduction:vector, extend: vector, grantee:address, action_delay:u64){ + create_grant_revoke_proposal(&sender, title, introduction, extend, grantee, action_delay); } public fun execute_grant_revoke_proposal(sender: &signer, proposal_id: u64){ @@ -113,12 +112,12 @@ module StarcoinFramework::GrantProposalPlugin{ execute_grant_revoke_proposal(&sender, proposal_id); } - public fun install_plugin_proposal(sender: &signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender: &signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, extend, action_delay); } - public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file diff --git a/release/v12/sources/InstallPluginProposalPlugin.move b/release/v12/sources/InstallPluginProposalPlugin.move index c9009ecd..6302cb5f 100644 --- a/release/v12/sources/InstallPluginProposalPlugin.move +++ b/release/v12/sources/InstallPluginProposalPlugin.move @@ -1,4 +1,3 @@ -//TODO find more good name module StarcoinFramework::InstallPluginProposalPlugin{ use StarcoinFramework::Option; use StarcoinFramework::DAOPluginMarketplace; @@ -39,8 +38,10 @@ module StarcoinFramework::InstallPluginProposalPlugin{ caps } - //TODO how to unify arguments. - public fun create_proposal(sender: &signer, required_caps: vector, title:vector, introduction:vector, description: vector, action_delay: u64){ + /// Create a proposal to install a plugin. + /// We do not provide a entry function for create_proposal, because we can not use CapType as an entry function parameter, + /// every plugin should provide a entry function to create proposal to install self. + public fun create_proposal(sender: &signer, required_caps: vector, title:vector, introduction:vector, extend: vector, action_delay: u64){ let witness = InstallPluginProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); @@ -48,7 +49,7 @@ module StarcoinFramework::InstallPluginProposalPlugin{ required_caps, }; - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } public fun execute_proposal(sender: &signer, proposal_id: u64){ diff --git a/release/v12/sources/MemberProposalPlugin.move b/release/v12/sources/MemberProposalPlugin.move index 469b89aa..53e1146a 100644 --- a/release/v12/sources/MemberProposalPlugin.move +++ b/release/v12/sources/MemberProposalPlugin.move @@ -1,4 +1,3 @@ -//TODO find more good name module StarcoinFramework::MemberProposalPlugin{ use StarcoinFramework::Option; use StarcoinFramework::DAOPluginMarketplace; @@ -47,7 +46,7 @@ module StarcoinFramework::MemberProposalPlugin{ caps } - public fun create_proposal(sender: &signer, title:vector, introduction:vector, description: vector, member: address, image_data:vector, image_url:vector, init_sbt: u128, action_delay: u64){ + public fun create_proposal(sender: &signer, title:vector, introduction:vector, extend: vector, member: address, image_data:vector, image_url:vector, init_sbt: u128, action_delay: u64){ let witness = MemberProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = MemberJoinAction{ @@ -58,11 +57,11 @@ module StarcoinFramework::MemberProposalPlugin{ }; assert!(!DAOSpace::is_exist_member_offer(member), Errors::already_published(ERR_MEMBER_OFFER_EXIST)); assert!(!DAOSpace::is_member(member), Errors::already_published(ERR_MEMBER_EXIST)); - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } - public (script) fun create_proposal_entry(sender: signer, title:vector, introduction:vector, description: vector, member: address, image_data:vector, image_url:vector, init_sbt: u128, action_delay: u64){ - create_proposal(&sender, title, introduction, description, member, image_data, image_url, init_sbt, action_delay); + public (script) fun create_proposal_entry(sender: signer, title:vector, introduction:vector, extend: vector, member: address, image_data:vector, image_url:vector, init_sbt: u128, action_delay: u64){ + create_proposal(&sender, title, introduction, extend, member, image_data, image_url, init_sbt, action_delay); } public fun execute_proposal(sender: &signer, proposal_id: u64){ @@ -87,12 +86,12 @@ module StarcoinFramework::MemberProposalPlugin{ execute_proposal(&sender, proposal_id); } - public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, description: vector,action_delay:u64){ - InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, extend: vector,action_delay:u64){ + InstallPluginProposalPlugin::create_proposal(sender, required_caps(), title, introduction, extend, action_delay); } - public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file diff --git a/release/v12/sources/MintProposalPlugin.move b/release/v12/sources/MintProposalPlugin.move index 5400999d..1d6a0180 100644 --- a/release/v12/sources/MintProposalPlugin.move +++ b/release/v12/sources/MintProposalPlugin.move @@ -60,18 +60,18 @@ module StarcoinFramework::MintProposalPlugin{ delegate_token_mint_cap(&sender); } - public fun create_mint_proposal(sender: &signer, title:vector, introduction:vector, description: vector, receiver: address, amount: u128, action_delay: u64){ + public fun create_mint_proposal(sender: &signer, title:vector, introduction:vector, extend: vector, receiver: address, amount: u128, action_delay: u64){ let witness = MintProposalPlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = MintTokenAction{ receiver, amount, }; - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } - public (script) fun create_mint_proposal_entry(sender: signer, title:vector, introduction:vector, description: vector, receiver: address, amount: u128, action_delay: u64){ - create_mint_proposal(&sender, description, title, introduction, receiver, amount, action_delay); + public (script) fun create_mint_proposal_entry(sender: signer, title:vector, introduction:vector, extend: vector, receiver: address, amount: u128, action_delay: u64){ + create_mint_proposal(&sender, extend, title, introduction, receiver, amount, action_delay); } public fun execute_mint_proposal(sender: &signer, proposal_id: u64){ @@ -87,12 +87,12 @@ module StarcoinFramework::MintProposalPlugin{ execute_mint_proposal(&sender, proposal_id); } - public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - InstallPluginProposalPlugin::create_proposal(sender,required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + InstallPluginProposalPlugin::create_proposal(sender,required_caps(), title, introduction, extend, action_delay); } - public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file diff --git a/release/v12/sources/SBTVoteStrategy.move b/release/v12/sources/SBTVoteStrategy.move index 79605d13..8279771e 100644 --- a/release/v12/sources/SBTVoteStrategy.move +++ b/release/v12/sources/SBTVoteStrategy.move @@ -9,8 +9,6 @@ module StarcoinFramework::SBTVoteStrategy{ /// deserialize snapshot vote value from state public fun get_voting_power(state: &vector) : u128 { let sbt_value = deserialize_sbt_value_from_bcs_state(state); - - //TODO support calculate weight_factor sbt_value } diff --git a/release/v12/sources/StakeToSBTPlugin.move b/release/v12/sources/StakeToSBTPlugin.move index c8d4c9e0..0cf1b71d 100644 --- a/release/v12/sources/StakeToSBTPlugin.move +++ b/release/v12/sources/StakeToSBTPlugin.move @@ -243,8 +243,19 @@ module StarcoinFramework::StakeToSBTPlugin { id } - public fun query_stake(member: address, id: u64) - : (u64, u64, u64, u128, u128) acquires StakeList { + public(script) fun stake_entry( + sender: signer, + amount: u128, + lock_time: u64 + ) acquires StakeList { + let token = Account::withdraw(&sender, amount); + stake(&sender, token, lock_time); + } + + public fun query_stake( + member: address, + id: u64 + ): (u64, u64, u64, u128, u128) acquires StakeList { assert!(exists>(member), Errors::not_published(ERR_PLUGIN_NOT_STAKE)); let stake_list = borrow_global_mut>(member); let item_index = find_item(id, &stake_list.items); @@ -271,7 +282,8 @@ module StarcoinFramework::StakeToSBTPlugin { } /// Unstake from staking - public fun unstake_by_id(member: address, id: u64) acquires StakeList { + public fun unstake_by_id(sender: &signer, id: u64) acquires StakeList { + let member = Signer::address_of(sender); assert!(exists>(member), Errors::not_published(ERR_PLUGIN_NOT_STAKE)); let stake_list = borrow_global_mut>(member); let item_index = find_item(id, &stake_list.items); @@ -307,21 +319,33 @@ module StarcoinFramework::StakeToSBTPlugin { ); } - /// Unstake all staking items from member address, - /// No care whether the user is member or not - public fun unstake_all(member: address) acquires StakeList { - assert!(exists>(member), Errors::not_published(ERR_PLUGIN_NOT_STAKE)); - let stake_list = borrow_global_mut>(member); + public(script) fun unstake_by_id_entry( + sender: signer, + id: u64 + ) acquires StakeList { + unstake_by_id(&sender, id); + } + + /// Unstake all staking items from sender, + /// No care whether the sender is member or not + public fun unstake_all(sender: &signer) acquires StakeList { + let sender_addr = Signer::address_of(sender); + assert!(exists>(sender_addr), Errors::not_published(ERR_PLUGIN_NOT_STAKE)); + let stake_list = borrow_global_mut>(sender_addr); let len = Vector::length(&mut stake_list.items); let idx = 0; while (idx < len) { let item = Vector::remove(&mut stake_list.items, idx); - Account::deposit(member, unstake_item(member, item)); + Account::deposit(sender_addr, unstake_item(sender_addr, item)); idx = idx + 1; }; } + public(script) fun unstake_all_entry(sender: signer) acquires StakeList { + unstake_all(&sender); + } + /// Unstake a item from a item object fun unstake_item( member: address, @@ -434,7 +458,7 @@ module StarcoinFramework::StakeToSBTPlugin { sender: &signer, title:vector, introduction:vector, - description: vector, + extend: vector, lock_time: u64, weight: u64, action_delay: u64 @@ -449,7 +473,7 @@ module StarcoinFramework::StakeToSBTPlugin { }, title, introduction, - description, + extend, action_delay, Option::none()); } @@ -458,12 +482,12 @@ module StarcoinFramework::StakeToSBTPlugin { sender: signer, title:vector, introduction:vector, - description: vector, + extend: vector, lock_time: u64, weight: u64, action_delay: u64 ) { - create_weight_proposal(&sender,title, introduction, description, lock_time, weight, action_delay); + create_weight_proposal(&sender,title, introduction, extend, lock_time, weight, action_delay); } public fun execute_weight_proposal( @@ -498,7 +522,7 @@ module StarcoinFramework::StakeToSBTPlugin { sender: &signer, title:vector, introduction:vector, - description: vector, + extend: vector, action_delay: u64 ) { let witness = StakeToSBTPlugin {}; @@ -511,7 +535,7 @@ module StarcoinFramework::StakeToSBTPlugin { AcceptTokenCap {}, title, introduction, - description, + extend, action_delay, Option::none() ); @@ -521,10 +545,10 @@ module StarcoinFramework::StakeToSBTPlugin { sender: signer, title:vector, introduction:vector, - description: vector, + extend: vector, action_delay: u64 ) { - create_token_accept_proposal(&sender, title, introduction, description, action_delay); + create_token_accept_proposal(&sender, title, introduction, extend, action_delay); } public fun execute_token_accept_proposal( @@ -556,7 +580,7 @@ module StarcoinFramework::StakeToSBTPlugin { sender: &signer, title:vector, introduction:vector, - description: vector, + extend: vector, action_delay: u64 ) { InstallPluginProposalPlugin::create_proposal( @@ -564,7 +588,7 @@ module StarcoinFramework::StakeToSBTPlugin { required_caps(), title, introduction, - description, + extend, action_delay ); } @@ -573,27 +597,9 @@ module StarcoinFramework::StakeToSBTPlugin { sender: signer, title:vector, introduction:vector, - description: vector, + extend: vector, action_delay: u64 ) { - install_plugin_proposal(&sender, title, introduction, description, action_delay); - } - - /// Called by script - public(script) fun stake_entry( - sender: signer, - amount: u128, - lock_time: u64 - ) acquires StakeList { - let token = Account::withdraw(&sender, amount); - stake(&sender, token, lock_time); - } - - /// Called by script - public(script) fun unstake_item_entry( - member: address, - id: u64 - ) acquires StakeList { - unstake_by_id(member, id); + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } diff --git a/release/v12/sources/TreasuryPlugin.move b/release/v12/sources/TreasuryPlugin.move index 96d19922..dbc8d672 100644 --- a/release/v12/sources/TreasuryPlugin.move +++ b/release/v12/sources/TreasuryPlugin.move @@ -91,7 +91,7 @@ module StarcoinFramework::TreasuryPlugin { sender: &signer, title:vector, introduction:vector, - description: vector, + extend: vector, receiver: address, amount: u128, period: u64, @@ -111,20 +111,20 @@ module StarcoinFramework::TreasuryPlugin { set_scale_factor_inner(0u8); }; let scale = DAOSpace::get_custom_config().scale; - DAOSpace::create_proposal(&cap, sender, action, title, introduction, description, action_delay, Option::some(scale)); + DAOSpace::create_proposal(&cap, sender, action, title, introduction, extend, action_delay, Option::some(scale)); } public(script) fun create_withdraw_proposal_entry( sender: signer, title:vector, introduction:vector, - description: vector, + extend: vector, receiver: address, amount: u128, period: u64, action_delay: u64) { - create_withdraw_proposal(&sender, title, introduction, description, receiver, amount, period, action_delay); + create_withdraw_proposal(&sender, title, introduction, extend, receiver, amount, period, action_delay); } public fun execute_withdraw_proposal(sender: &signer, proposal_id: u64) acquires WithdrawCapabilityHolder { diff --git a/release/v12/sources/UpgradeModulePlugin.move b/release/v12/sources/UpgradeModulePlugin.move index 7238c269..23f546de 100644 --- a/release/v12/sources/UpgradeModulePlugin.move +++ b/release/v12/sources/UpgradeModulePlugin.move @@ -41,7 +41,7 @@ module StarcoinFramework::UpgradeModulePlugin { caps } - public fun create_proposal(sender: &signer, title:vector, introduction:vector, description: vector, action_delay:u64, package_hash: vector, version: u64, enforced: bool) { + public fun create_proposal(sender: &signer, title:vector, introduction:vector, extend: vector, action_delay:u64, package_hash: vector, version: u64, enforced: bool) { let witness = UpgradeModulePlugin{}; let cap = DAOSpace::acquire_proposal_cap(&witness); let action = UpgradeModuleAction{ @@ -52,11 +52,11 @@ module StarcoinFramework::UpgradeModulePlugin { DAOSpace::create_proposal< DAOT, UpgradeModulePlugin, - UpgradeModuleAction>(&cap, sender, action, title, introduction, description, action_delay, Option::none()); + UpgradeModuleAction>(&cap, sender, action, title, introduction, extend, action_delay, Option::none()); } - public (script) fun create_proposal_entry (sender: signer, title:vector, introduction:vector, description: vector, action_delay:u64, package_hash: vector, version: u64, enforced: bool) { - create_proposal(&sender, title, introduction, description, action_delay, package_hash, version, enforced); + public (script) fun create_proposal_entry (sender: signer, title:vector, introduction:vector, extend: vector, action_delay:u64, package_hash: vector, version: u64, enforced: bool) { + create_proposal(&sender, title, introduction, extend, action_delay, package_hash, version, enforced); } public fun execute_proposal(sender: &signer, proposal_id: u64) { @@ -81,11 +81,11 @@ module StarcoinFramework::UpgradeModulePlugin { execute_proposal(&sender, proposal_id); } - public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - InstallPluginProposalPlugin::create_proposal(sender,required_caps(), title, introduction, description, action_delay); + public fun install_plugin_proposal(sender:&signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + InstallPluginProposalPlugin::create_proposal(sender,required_caps(), title, introduction, extend, action_delay); } - public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, description: vector, action_delay:u64){ - install_plugin_proposal(&sender, title, introduction, description, action_delay); + public (script) fun install_plugin_proposal_entry(sender:signer, title:vector, introduction:vector, extend: vector, action_delay:u64){ + install_plugin_proposal(&sender, title, introduction, extend, action_delay); } } \ No newline at end of file