Skip to content

Commit

Permalink
Refactor root cap (#198)
Browse files Browse the repository at this point in the history
* remove install_plugin_with_root_cap

* fix

* remove join_member_with_root_cap

* refactor StakeToSBTPlugin

* remove DAORootCap

* update exp

* refactor join member

* remove DAOExt

* update exp files
  • Loading branch information
pause125 committed Nov 10, 2022
1 parent 459ce12 commit b30fdc9
Show file tree
Hide file tree
Showing 32 changed files with 323 additions and 515 deletions.
6 changes: 3 additions & 3 deletions integration-tests/daospace/dao_create.exp
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ store key 0x00000000000000000000000000000001::DAOAccount::DAOAccountCap {
dao_address: bf3a917cf4fb6425b95cc12763e6038b
}

task 7 'run'. lines 59-67:
task 7 'run'. lines 55-63:
{
"gas_used": 79013,
"status": "Executed"
}

task 10 'run'. lines 73-84:
task 10 'run'. lines 69-77:
{
"gas_used": 1184587,
"gas_used": 1058109,
"status": "Executed"
}
19 changes: 6 additions & 13 deletions integration-tests/daospace/dao_create.move
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@ module 0xbf3a917cf4fb6425b95cc12763e6038b::XDAO {
use StarcoinFramework::Option;
use StarcoinFramework::DAOSpace;
use StarcoinFramework::DAOAccount;
use StarcoinFramework::Signer;
use StarcoinFramework::InstallPluginProposalPlugin::{Self, InstallPluginProposalPlugin};
use StarcoinFramework::MemberProposalPlugin::{Self, MemberProposalPlugin};
struct X has store{}
struct X has store, drop {}

const NAME: vector<u8> = b"X";
public (script) fun create_new_proposal_dao(
Expand All @@ -47,12 +44,11 @@ module 0xbf3a917cf4fb6425b95cc12763e6038b::XDAO {
);

let cap = DAOAccount::extract_dao_account_cap(&sender);
let dao_root_cap = DAOSpace::create_dao<X>(cap, *&NAME, Option::none<vector<u8>>(), Option::none<vector<u8>>(), b"ipfs://description", X{}, config);
DAOSpace::create_dao<X>(cap, *&NAME, Option::none<vector<u8>>(), Option::none<vector<u8>>(), b"ipfs://description", config);

DAOSpace::install_plugin_with_root_cap<X, InstallPluginProposalPlugin>(&dao_root_cap, InstallPluginProposalPlugin::required_caps());
DAOSpace::install_plugin_with_root_cap<X, MemberProposalPlugin>(&dao_root_cap, MemberProposalPlugin::required_caps());
DAOSpace::join_member_with_root_cap(&dao_root_cap, Signer::address_of(&sender), Option::none<vector<u8>>(), Option::none<vector<u8>>(), 1);
DAOSpace::burn_root_cap(dao_root_cap);
let witness = X {};
let member_cap = DAOSpace::acquire_member_cap<X, X>(&witness);
DAOSpace::join_member_with_member_cap(&member_cap, &sender, Option::none<vector<u8>>(), Option::none<vector<u8>>(), 1);
}
}

Expand All @@ -72,12 +68,9 @@ script{

//# run --signers alice
script{
use StarcoinFramework::DAOSpace;
use StarcoinFramework::IdentifierNFT;
use 0xbf3a917cf4fb6425b95cc12763e6038b::XDAO::{Self, X};
use 0xbf3a917cf4fb6425b95cc12763e6038b::XDAO;

fun main(sender: signer){
IdentifierNFT::accept<DAOSpace::DAOMember<X>, DAOSpace::DAOMemberBody<X>>(&sender);
XDAO::create_new_proposal_dao(sender, 1000, 1000, 1, 1000, 1000);
}
}
Expand Down
19 changes: 0 additions & 19 deletions integration-tests/daospace/dao_ext.exp

This file was deleted.

87 changes: 0 additions & 87 deletions integration-tests/daospace/dao_ext.move

This file was deleted.

22 changes: 11 additions & 11 deletions integration-tests/daospace/dao_grant.exp
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
processed 17 tasks

task 8 'run'. lines 107-118:
task 8 'run'. lines 104-115:
{
"gas_used": 1645442,
"gas_used": 1677839,
"status": "Executed"
}

task 9 'run'. lines 120-139:
task 9 'run'. lines 117-136:
{
"gas_used": 427915,
"gas_used": 445521,
"status": "Executed"
}

task 10 'run'. lines 141-173:
task 10 'run'. lines 138-170:
{
"gas_used": 630999,
"gas_used": 666211,
"status": "Executed"
}

task 12 'run'. lines 177-189:
task 12 'run'. lines 174-186:
{
"gas_used": 52853,
"status": {
Expand All @@ -34,20 +34,20 @@ task 12 'run'. lines 177-189:
}
}

task 13 'run'. lines 191-211:
task 13 'run'. lines 188-208:
{
"gas_used": 253287,
"status": "Executed"
}

task 15 'run'. lines 215-235:
task 15 'run'. lines 212-232:
{
"gas_used": 240921,
"status": "Executed"
}

task 16 'run'. lines 237-251:
task 16 'run'. lines 234-248:
{
"gas_used": 345263,
"gas_used": 362869,
"status": "Executed"
}
13 changes: 5 additions & 8 deletions integration-tests/daospace/dao_grant.move
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,12 @@ module creator::DAOHelper {
min_action_delay,
min_proposal_deposit,
);
let dao_root_cap = DAOSpace::create_dao<X>(dao_account_cap, *&NAME, Option::none<vector<u8>>(), Option::none<vector<u8>>(), b"ipfs://description", X{}, config);

DAOSpace::install_plugin_with_root_cap<X, InstallPluginProposalPlugin>(&dao_root_cap, InstallPluginProposalPlugin::required_caps());
DAOSpace::install_plugin_with_root_cap<X, AnyMemberPlugin>(&dao_root_cap, AnyMemberPlugin::required_caps());

DAOSpace::install_plugin_with_root_cap<X, XPlugin>(&dao_root_cap, required_caps());

DAOSpace::burn_root_cap(dao_root_cap);
DAOSpace::create_dao<X>(dao_account_cap, *&NAME, Option::none<vector<u8>>(), Option::none<vector<u8>>(), b"ipfs://description", config);

let install_cap = DAOSpace::acquire_install_plugin_cap<X, X>(&X{});
DAOSpace::install_plugin<X, X, InstallPluginProposalPlugin>(&install_cap, InstallPluginProposalPlugin::required_caps());
DAOSpace::install_plugin<X, X, AnyMemberPlugin>(&install_cap, AnyMemberPlugin::required_caps());
DAOSpace::install_plugin<X, X, XPlugin>(&install_cap, required_caps());
}

struct XPlugin has store, drop{}
Expand Down
30 changes: 15 additions & 15 deletions integration-tests/daospace/dao_member_proposal.exp
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
processed 29 tasks

task 8 'run'. lines 71-80:
task 8 'run'. lines 69-78:
{
"gas_used": 1259689,
"gas_used": 1292086,
"status": "Executed"
}

task 10 'run'. lines 84-91:
task 10 'run'. lines 82-89:
{
"gas_used": 608438,
"gas_used": 630062,
"status": "Executed"
}

task 15 'run'. lines 100-114:
task 15 'run'. lines 98-112:
{
"gas_used": 104830,
"status": "Executed"
}

task 17 'run'. lines 118-129:
task 17 'run'. lines 116-127:
{
"gas_used": 577624,
"status": "Executed"
}

task 18 'run'. lines 131-140:
task 18 'run'. lines 129-138:
{
"gas_used": 505220,
"gas_used": 523042,
"status": "Executed"
}

task 21 'call'. lines 146-146:
task 21 'call'. lines 144-144:
"0xa7dcef9aef26202fce82a7c7d6672afb/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"

task 23 'run'. lines 150-164:
task 23 'run'. lines 148-162:
{
"gas_used": 6238590,
"status": "Executed"
}

task 25 'run'. lines 168-178:
task 25 'run'. lines 166-176:
{
"gas_used": 109761,
"status": "Executed"
}

task 27 'run'. lines 182-192:
task 27 'run'. lines 180-190:
{
"gas_used": 455258,
"gas_used": 490902,
"status": "Executed"
}

task 28 'run'. lines 194-204:
task 28 'run'. lines 192-202:
{
"gas_used": 424233,
"gas_used": 428125,
"status": "Executed"
}
12 changes: 5 additions & 7 deletions integration-tests/daospace/dao_member_proposal.move
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,12 @@ module creator::DAOHelper {
min_action_delay,
min_proposal_deposit,
);
let dao_root_cap = DAOSpace::create_dao<X>(dao_account_cap, *&NAME, Option::none<vector<u8>>(), Option::none<vector<u8>>(), b"ipfs://description", X{}, config);

DAOSpace::install_plugin_with_root_cap<X, InstallPluginProposalPlugin>(&dao_root_cap, InstallPluginProposalPlugin::required_caps());
DAOSpace::install_plugin_with_root_cap<X, AnyMemberPlugin>(&dao_root_cap, AnyMemberPlugin::required_caps());
DAOSpace::install_plugin_with_root_cap<X, MemberProposalPlugin>(&dao_root_cap, MemberProposalPlugin::required_caps());

DAOSpace::burn_root_cap(dao_root_cap);
DAOSpace::create_dao<X>(dao_account_cap, *&NAME, Option::none<vector<u8>>(), Option::none<vector<u8>>(), b"ipfs://description", config);

let install_cap = DAOSpace::acquire_install_plugin_cap<X, X>(&X{});
DAOSpace::install_plugin<X, X, InstallPluginProposalPlugin>(&install_cap, InstallPluginProposalPlugin::required_caps());
DAOSpace::install_plugin<X, X, AnyMemberPlugin>(&install_cap, AnyMemberPlugin::required_caps());
DAOSpace::install_plugin<X, X, MemberProposalPlugin>(&install_cap, MemberProposalPlugin::required_caps());
}

public fun create_offer_proposal(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){
Expand Down

0 comments on commit b30fdc9

Please sign in to comment.