Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[daospace] Remove unused ProposalInfo and add get function for proposal #121

Merged
merged 1 commit into from
Sep 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build/StarcoinFramework/BuildInfo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ compiled_package_info:
? address: "0x00000000000000000000000000000001"
name: YieldFarmingV2
: StarcoinFramework
source_digest: 25ECF2754312EBC49B1DBE3DB09DC2A65003124E9C7037B9377DACB300395E8E
source_digest: 7CD9E807A29B6AE9D8C370363A262231F0337215FE432C7E16ADE2FD965B7E13
build_flags:
dev_mode: false
test_mode: false
Expand Down
42 changes: 21 additions & 21 deletions integration-tests/daospace/dao_proposal.exp
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
processed 42 tasks

task 7 'run'. lines 150-159:
task 7 'run'. lines 146-155:
{
"gas_used": 1192902,
"status": "Executed"
}

task 8 'run'. lines 163-177:
task 8 'run'. lines 159-173:
{
"gas_used": 109239,
"status": "Executed"
}

task 9 'run'. lines 179-204:
task 9 'run'. lines 175-200:
{
"gas_used": 306386,
"status": "Executed"
}

task 11 'run'. lines 209-225:
task 11 'run'. lines 205-221:
{
"gas_used": 235032,
"status": "Executed"
}

task 12 'run'. lines 227-243:
task 12 'run'. lines 223-239:
{
"gas_used": 235032,
"status": "Executed"
}

task 16 'run'. lines 251-265:
task 16 'run'. lines 247-261:
{
"gas_used": 104944,
"status": "Executed"
}

task 19 'run'. lines 272-285:
task 19 'run'. lines 268-281:
{
"gas_used": 532278,
"status": {
Expand All @@ -52,46 +52,46 @@ task 19 'run'. lines 272-285:
}
}

task 22 'run'. lines 292-303:
task 22 'run'. lines 288-299:
{
"gas_used": 577624,
"status": "Executed"
}

task 23 'run'. lines 306-325:
task 23 'run'. lines 302-326:
{
"gas_used": 461617,
"gas_used": 476235,
"status": "Executed"
}

task 25 'run'. lines 329-338:
task 25 'run'. lines 330-339:
{
"gas_used": 11943,
"status": "Executed"
}

task 26 'call'. lines 340-340:
task 26 'call'. lines 341-341:
"0xb5d577dc9ce59725e29886632e69ecdf/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"

task 28 'run'. lines 344-363:
task 28 'run'. lines 345-364:
{
"gas_used": 6523189,
"status": "Executed"
}

task 29 'call'. lines 366-366:
task 29 'call'. lines 367-367:
"0xa7dcef9aef26202fce82a7c7d6672afb/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"

task 31 'run'. lines 370-383:
task 31 'run'. lines 371-384:
{
"gas_used": 6195892,
"status": "Executed"
}

task 32 'call'. lines 386-386:
task 32 'call'. lines 387-387:
"0x3d4926eeda5b14b0ac979269ee79e40e/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::DAOHelper::X>>"

task 34 'run'. lines 390-403:
task 34 'run'. lines 391-404:
{
"gas_used": 35135,
"status": {
Expand All @@ -107,19 +107,19 @@ task 34 'run'. lines 390-403:
}
}

task 36 'run'. lines 408-429:
task 36 'run'. lines 409-424:
{
"gas_used": 134454,
"gas_used": 106076,
"status": "Executed"
}

task 39 'run'. lines 437-447:
task 39 'run'. lines 432-442:
{
"gas_used": 115064,
"status": "Executed"
}

task 41 'run'. lines 452-464:
task 41 'run'. lines 447-459:
{
"gas_used": 450922,
"status": "Executed"
Expand Down
17 changes: 6 additions & 11 deletions integration-tests/daospace/dao_proposal.move
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,6 @@ module creator::DAOHelper {
DAOSpace::proposal_state<DAOT>(proposal_id)
}

public fun proposal_info<DAOT:store>(proposal_id: u64): (u64, address, u64, u64, u128, u128, u128, u128, u64, vector<u8>) {
DAOSpace::proposal_info<DAOT>(proposal_id)
}

public fun proposal<DAOT:store>(proposal_id: u64): Proposal {
DAOSpace::proposal<DAOT>(proposal_id)
}
Expand Down Expand Up @@ -313,7 +309,12 @@ script{
//alice create proposal
fun create_proposal(sender: signer){
let proposal_id = DAOHelper::create_x_proposal<X, STC>(&sender, 100u128, @alice, 10000);
let (_id, proposer, start_time, end_time, _yes_votes, _no_votes, _no_with_veto_votes, _abstain_votes, block_number, state_root) = DAOSpace::proposal_info<X>(proposal_id);
let proposal = DAOSpace::proposal<X>(proposal_id);

let proposer = DAOSpace::proposal_proposer(&proposal);
let (start_time,end_time) = DAOSpace::proposal_time(&proposal);
let block_number = DAOSpace::proposal_block_number(&proposal);
let state_root = DAOSpace::proposal_state_root(&proposal);

Debug::print(&proposer);
Debug::print(&start_time);
Expand Down Expand Up @@ -416,12 +417,6 @@ script{
Debug::print(&120100);
Debug::print(&proposal_state);

let (_id, _proposer, _start_time, _end_time, _yes_votes, _no_votes, _abstain_votes, _veto_votes, _block_number, _state_root) = DAOHelper::proposal_info<X>(proposal_id);
Debug::print(&_yes_votes);
Debug::print(&_no_votes);
Debug::print(&_abstain_votes);
Debug::print(&_veto_votes);

let proposal = DAOHelper::proposal<X>(proposal_id);
Debug::print(&proposal);
}
Expand Down
12 changes: 6 additions & 6 deletions integration-tests/daospaceplugin/mint_proposal_plugin.exp
Original file line number Diff line number Diff line change
Expand Up @@ -53,28 +53,28 @@ task 19 'run'. lines 164-173:
"status": "Executed"
}

task 20 'run'. lines 175-200:
task 20 'run'. lines 175-206:
{
"gas_used": 435640,
"gas_used": 450230,
"status": "Executed"
}

task 22 'call'. lines 204-204:
task 22 'call'. lines 210-210:
"0xa7dcef9aef26202fce82a7c7d6672afb/1/0x00000000000000000000000000000001::IdentifierNFT::IdentifierNFT<0x00000000000000000000000000000001::DAOSpace::DAOMember<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::XDAO::XDAO>,0x00000000000000000000000000000001::DAOSpace::DAOMemberBody<0x662ba5a1a1da0f1c70a9762c7eeb7aaf::XDAO::XDAO>>"

task 24 'run'. lines 208-222:
task 24 'run'. lines 214-228:
{
"gas_used": 8799122,
"status": "Executed"
}

task 26 'run'. lines 226-240:
task 26 'run'. lines 232-246:
{
"gas_used": 172880,
"status": "Executed"
}

task 28 'run'. lines 244-265:
task 28 'run'. lines 250-271:
{
"gas_used": 513498,
"status": "Executed"
Expand Down
8 changes: 7 additions & 1 deletion integration-tests/daospaceplugin/mint_proposal_plugin.move
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,13 @@ script {
let action_delay = 0;
MintProposalPlugin::create_mint_proposal<XDAO, AliceToken>(
&sender, description, @bob, amount, action_delay);
let (_id, proposer, start_time, end_time, _yes_votes, _no_votes, _no_with_veto_votes, _abstain_votes, block_number, state_root) = DAOSpace::proposal_info<XDAO>(1);

let proposal = DAOSpace::proposal<XDAO>(1);

let proposer = DAOSpace::proposal_proposer(&proposal);
let (start_time,end_time) = DAOSpace::proposal_time(&proposal);
let block_number = DAOSpace::proposal_block_number(&proposal);
let state_root = DAOSpace::proposal_state_root(&proposal);

Debug::print(&proposer);
Debug::print(&start_time);
Expand Down
48 changes: 31 additions & 17 deletions sources/daospace/DAOSpace.move
Original file line number Diff line number Diff line change
Expand Up @@ -1242,11 +1242,6 @@ module StarcoinFramework::DAOSpace {
proposal_id: u64,
}

/// Same as Proposal but has copy and drop
struct ProposalInfo has store, copy, drop {
//TODO add fields
}

/// Keep a global proposal record for query proposal by id.
/// Replace with Table when support Table.
struct GlobalProposals has key {
Expand Down Expand Up @@ -1794,17 +1789,6 @@ module StarcoinFramework::DAOSpace {
}
}

/// get proposal's information.
/// return: (id, proposer, start_time, end_time, yes_votes, no_votes, abstain_votes, veto_votes, block_number, state_root).
public fun proposal_info<DAOT: store>(
proposal_id: u64,
): (u64, address, u64, u64, u128, u128, u128, u128, u64, vector<u8>) acquires GlobalProposals {
let dao_address = DAORegistry::dao_address<DAOT>();
let proposals = borrow_global_mut<GlobalProposals>(dao_address);
let proposal = borrow_proposal(proposals, proposal_id);
(proposal.id, proposal.proposer, proposal.start_time, proposal.end_time, proposal.yes_votes, proposal.no_votes, proposal.abstain_votes, proposal.veto_votes, proposal.block_number, *&proposal.state_root)
}

fun borrow_proposal_mut(proposals: &mut GlobalProposals, proposal_id: u64): &mut Proposal{
let i = 0;
let len = Vector::length(&proposals.proposals);
Expand Down Expand Up @@ -1844,13 +1828,43 @@ module StarcoinFramework::DAOSpace {
Option::none<u64>()
}

///Return a copy of Proposal
/// Return a copy of Proposal of proposal_id
public fun proposal<DAOT>(proposal_id: u64): Proposal acquires GlobalProposals{
let dao_address = dao_address<DAOT>();
let global_proposals = borrow_global<GlobalProposals>(dao_address);
*borrow_proposal(global_proposals, proposal_id)
}

/// get proposal's id.
public fun proposal_id(proposal: &Proposal): u64 {
proposal.id
}

/// get proposal's proposer.
public fun proposal_proposer(proposal: &Proposal): address {
proposal.proposer
}

/// get proposal's time(start_time/end_time).
public fun proposal_time(proposal: &Proposal): (u64, u64) {
(proposal.start_time,proposal.end_time)
}

/// get proposal's votes(Yes/No/Abstain/Veto).
public fun proposal_votes(proposal: &Proposal): (u128, u128, u128, u128) {
(proposal.yes_votes, proposal.no_votes, proposal.abstain_votes, proposal.veto_votes)
}

/// get proposal's block number.
public fun proposal_block_number(proposal: &Proposal): u64 {
proposal.block_number
}

/// get proposal's state root.
public fun proposal_state_root(proposal: &Proposal): vector<u8> {
*&proposal.state_root
}

/// queue agreed proposal to execute.
public(script) fun queue_proposal_action_entry<DAOT:store>(
_signer: signer,
Expand Down