Skip to content

Commit

Permalink
Revert "[daospace] Remove proposal info and add get function for prop…
Browse files Browse the repository at this point in the history
…osal (#121)"

This reverts commit 7b44ee7.
  • Loading branch information
nkysg committed Mar 2, 2023
1 parent 62fcaf6 commit b555b5d
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 72 deletions.
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: 7CD9E807A29B6AE9D8C370363A262231F0337215FE432C7E16ADE2FD965B7E13
source_digest: 25ECF2754312EBC49B1DBE3DB09DC2A65003124E9C7037B9377DACB300395E8E
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 146-155:
task 7 'run'. lines 150-159:
{
"gas_used": 1192902,
"status": "Executed"
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

task 41 'run'. lines 447-459:
task 41 'run'. lines 452-464:
{
"gas_used": 450922,
"status": "Executed"
Expand Down
17 changes: 11 additions & 6 deletions integration-tests/daospace/dao_proposal.move
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,10 @@ 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 @@ -309,12 +313,7 @@ script{
//alice create proposal
fun create_proposal(sender: signer){
let proposal_id = DAOHelper::create_x_proposal<X, STC>(&sender, 100u128, @alice, 10000);
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);
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);

Debug::print(&proposer);
Debug::print(&start_time);
Expand Down Expand Up @@ -417,6 +416,12 @@ 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-206:
task 20 'run'. lines 175-200:
{
"gas_used": 450230,
"gas_used": 435640,
"status": "Executed"
}

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

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

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

task 28 'run'. lines 250-271:
task 28 'run'. lines 244-265:
{
"gas_used": 513498,
"status": "Executed"
Expand Down
8 changes: 1 addition & 7 deletions integration-tests/daospaceplugin/mint_proposal_plugin.move
Original file line number Diff line number Diff line change
Expand Up @@ -187,13 +187,7 @@ script {
let action_delay = 0;
MintProposalPlugin::create_mint_proposal<XDAO, AliceToken>(
&sender, description, @bob, amount, action_delay);

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);
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);

Debug::print(&proposer);
Debug::print(&start_time);
Expand Down
48 changes: 17 additions & 31 deletions sources/daospace/DAOSpace.move
Original file line number Diff line number Diff line change
Expand Up @@ -1242,6 +1242,11 @@ 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 @@ -1789,6 +1794,17 @@ 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 @@ -1828,43 +1844,13 @@ module StarcoinFramework::DAOSpace {
Option::none<u64>()
}

/// Return a copy of Proposal of proposal_id
///Return a copy of Proposal
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

0 comments on commit b555b5d

Please sign in to comment.