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

Unable to propose a proposal with an approve_proposal operation #214

Closed
vikramrajkumar opened this issue Jan 18, 2017 · 7 comments
Closed

Comments

@vikramrajkumar
Copy link
Contributor

From @abitmore on June 4, 2016 19:0

Got this message while trying to propose a proposal with an approve_proposal operation:

10 assert_exception: Assert Exception
other.size() == 0:
    {}
    th_a  proposal_evaluator.cpp:54 do_evaluate

The issue is probably caused by lack of size checking on auth.key_auths before this line in proposal.cpp, imo the code could be

if( auth.key_auths.size() > 0 )
   o.emplace_back( std::move(auth) );

To fix this issue, a hard fork is needed.

Copied from original issue: cryptonomex/graphene#658

@vikramrajkumar
Copy link
Contributor Author

From @abitmore on January 3, 2017 22:59

Actually it should be proposal_update_operation (and if to add an account authority to "approve" the proposal).

@oxarbitrage oxarbitrage modified the milestones: Roadmap to hardfork, Hardfork - Operations changes, Roadmap to hardfork 1 Aug 13, 2017
@abitmore abitmore added the bug label Nov 22, 2017
@abitmore abitmore modified the milestones: Hardfork - Operations and Authority related., Future Consensus-Changing Release Feb 25, 2018
@xiangxn
Copy link

xiangxn commented Apr 11, 2018

FC_ASSERT( other.size() == 0)
This should be:'op' with special permission requirements, cannot create a proposal.
Because these ‘op’s may not be able to execute because of missing signatures

@pmconrad pmconrad self-assigned this Apr 12, 2018
@pmconrad pmconrad mentioned this issue Apr 12, 2018
oxarbitrage pushed a commit that referenced this issue Apr 12, 2018
oxarbitrage pushed a commit that referenced this issue Apr 12, 2018
@oxarbitrage
Copy link
Member

closed by #841

@abitmore abitmore modified the milestones: Future Consensus-Changing Release, 201805 - Consensus Changing Release Apr 12, 2018
@pmconrad
Copy link
Contributor

Reopened - replay is failing with pr #841

@pmconrad pmconrad reopened this Apr 16, 2018
@pmconrad
Copy link
Contributor

#841 contained a fix, plus hardfork protection to prevent a proposal_update from being included in a proposal_create.
It was overlooked, however, that while a proposal_create(proposal_update) currently fails to execute and therefore can't be integrated into the blockchain, a proposal_create(proposal_create(proposal_update)), i. e. a proposal_update nested in two layers of proposal_create, does not currently fail, and has in fact already appeared on-chain.

@abitmore
Copy link
Member

I was thinking of the same thing.. Thank you @pmconrad for the explanation.

@abitmore
Copy link
Member

Fixed with #857.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants