Proposal problem: Governance object is not valid

CaptAhab

Member
Mar 25, 2015
102
57
78
Dash Address
XwUeFiUQz1qLurzcpzKBDUTPvj1Tzx3FYs
Hi @nmarley

Many thanks, something happened when I was first on the waiting for confirmations screen, after getting the txid. The web page jumped back to a blank proposal form, with no forward option on the browser (I did not refresh the browser).
I then stated again, and submitted with the previous TX id. I did this on a number of occasions trying to make it work. The info I sent was just from the most recent attempt.
I am using Chrome and the time on my PC is correct.

Best
 
Last edited:

nmarley

Administrator
Core Developer
Dash Core Team
Moderator
Jun 28, 2014
369
427
133
Hi @nmarley

Many thanks, something happened when I was first on the waiting for confirmations screen, after getting the txid. The web page jumped back to a blank proposal form, with no forward option on the browser (I did not refresh the browser).
I then stated again, and submitted with the previous TX id. I did this on a number of occasions trying to make it work. The info I sent was just from the most recent attempt.
I am using Chrome and the time on my PC is correct.

Best
Ahhh... ok, this answer a lot actually. When you do a "prepare", the proposal parameters and the timestamp are all hashed, and that hash is stored with the burned funds in OP_RETURN. So in order to submit the proposal, you have to submit it with all the parameters the same as when they were prepared.

That said, I believe it's just a matter of guessing the right timestamp AND the right start_time and end_time which are encoded within the proposal data. Since the gap between proposal start and end time are the same distance, I think that we'll only have to figure out the two variables, but it might take some time. I've written a tool to help and will try and run it this evening with several different input ranges to see if I can "guess" the hash needed to submit your proposal. I'll keep you informed, probably won't be 'til later this afternoon/evening.
 

nmarley

Administrator
Core Developer
Dash Core Team
Moderator
Jun 28, 2014
369
427
133
@CaptAhab Oh, wanted to ask:

Did any of the proposal parameters change from the first time you issued the prepare command? Dash address, URL, proposal name?

If any of those things changed it might be extremely difficult to recover the proposal at this point.

The "gobject prepare" command might have that info if you still have your Dash-Qt client open and haven't closed it in the few days that have passed. Actaully, if you have that it would be best, but I understand it's not likely.
 

CaptAhab

Member
Mar 25, 2015
102
57
78
Dash Address
XwUeFiUQz1qLurzcpzKBDUTPvj1Tzx3FYs
I attempted to use the same proposal name, that's the only thing that may have changed!

Here is the earliest submission I have
gobject submit 0 1 1499978105 5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353033303932303535222c226e616d65223a225375727665792d7768792d4d65726368616e74732d6e6f742d7573696e672d44617368222c227061796d656e745f61646472657373223a2258775565466955517a31714c75727a63707a4b4244555450766a31547a7833465973222c227061796d656e745f616d6f756e74223a2238322e3735222c2273746172745f65706f6368223a2231353030353136353735222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e646173682e6f72672f666f72756d2f746872656164732f70726f6a6563742d70726f706f73616c2d756e6465727374616e64696e672d7468652d62617272696572732d746f2d61646f7074696f6e2d6f662d646173682d62792d756b2d627573696e65737365732d616e642d6d65726368616e74732e31353737302f227d5d5d a89d5da1466d1e7556c7c957f741992d5d795adafde8106edfa9df1f80ac1df3

On later ones I know I changed the proposal name.

Fingers crossed.

Thanks
 

nmarley

Administrator
Core Developer
Dash Core Team
Moderator
Jun 28, 2014
369
427
133
I'm seeing different payment addresses as well in the two outputs you've provided me.

Code:
$ python bin/dehex.py 5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353033303932303535222c226e616d65223a225375727665792d7768792d4d65726368616e74732d6e6f742d7573696e672d44617368222c227061796d656e745f61646472657373223a2258775565466955517a31714c75727a63707a4b4244555450766a31547a7833465973222c227061796d656e745f616d6f756e74223a2238322e3735222c2273746172745f65706f6368223a2231353030353136353735222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e646173682e6f72672f666f72756d2f746872656164732f70726f6a6563742d70726f706f73616c2d756e6465727374616e64696e672d7468652d62617272696572732d746f2d61646f7074696f6e2d6f662d646173682d62792d756b2d627573696e65737365732d616e642d6d65726368616e74732e31353737302f227d5d5d
[["proposal",{"end_epoch":"1503092055","name":"Survey-why-Merchants-not-using-Dash","payment_address":"XwUeFiUQz1qLurzcpzKBDUTPvj1Tzx3FYs","payment_amount":"82.75","start_epoch":"1500516575","type":1,"url":"https://www.dash.org/forum/threads/project-proposal-understanding-the-barriers-to-adoption-of-dash-by-uk-businesses-and-merchants.15770/"}]]

$ python bin/dehex.py 5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353033303933323532222c226e616d65223a225768792d6172652d4d65726368616e74732d6e6f742d7573696e672d44617368222c227061796d656e745f61646472657373223a22586f664e59384a59537341644b68314263774b4b6e435454517a456e485878587368222c227061796d656e745f616d6f756e74223a2238322e3735222c2273746172745f65706f6368223a2231353030353137373732222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e646173682e6f72672f666f72756d2f746872656164732f70726f6a6563742d70726f706f73616c2d756e6465727374616e64696e672d7468652d62617272696572732d746f2d61646f7074696f6e2d6f662d646173682d62792d756b2d627573696e65737365732d616e642d6d65726368616e74732e31353737302f227d5d5d
[["proposal",{"end_epoch":"1503093252","name":"Why-are-Merchants-not-using-Dash","payment_address":"XofNY8JYSsAdKh1BcwKKnCTTQzEnHXxXsh","payment_amount":"82.75","start_epoch":"1500517772","type":1,"url":"https://www.dash.org/forum/threads/project-proposal-understanding-the-barriers-to-adoption-of-dash-by-uk-businesses-and-merchants.15770/"}]]

Will try with the earliest and see if I can get a match. If not, it's likely the proposal process will need to be re-done. If this is the case, you will only want to "prepare" once, then keep that Dash-QT console open. Grab a bite, watch a show, whatever you need to do. Come back after 6 confirmations and enter the exact same thing, only change "prepare" to "submit" and add the TXID of your "prepare" transaction at the end. Or you might use the tools at DashCentral or other sites if it's easier.
 

nmarley

Administrator
Core Developer
Dash Core Team
Moderator
Jun 28, 2014
369
427
133
Hey @CaptAhab ,

Wanted to let you know the results on this -- I wasn't able to figure out what the hash was.

Eventually I restored to compiling a range guesser into DashCore and trying to guess using that and a custom Python script to generate the proposal data using the time ranges which are within a few hours of when you prepared the TX as well as within around an hour of the estimated next block time, but no such luck. I believe there are too many variables that could have been different.

Branch of DashCore code for reference: https://github.com/dashpay/dash/compare/v0.12.1.x...nmarley:genhash-debug
Custom Python script: https://github.com/nmarley/prop-gen

I'm sorry about the loss of your 5 Dash, really wish there was a way to recover it. Without the original "prepare" command, it's almost impossible to know what's changed or guess the hash parameters.

In the future, I'd suggest leaving the Dash-Qt window open after you "prepare", and do not close it. Save the TXID that gets returned also. Your "gobject prepare" and the TXID that results are the only things needed to submit the proposal, but you cannot change any of the information once it's been prepared. By keeping the Dash-Qt console window open, you're able to simply cut-and-paste the command, change "prepare" to "submit", then add the TXID at the end.
 

UdjinM6

Official Dash Dev
Core Developer
Dash Core Team
May 20, 2014
3,639
3,537
1,183
Hey @CaptAhab ,

Wanted to let you know the results on this -- I wasn't able to figure out what the hash was.

Eventually I restored to compiling a range guesser into DashCore and trying to guess using that and a custom Python script to generate the proposal data using the time ranges which are within a few hours of when you prepared the TX as well as within around an hour of the estimated next block time, but no such luck. I believe there are too many variables that could have been different.

Branch of DashCore code for reference: https://github.com/dashpay/dash/compare/v0.12.1.x...nmarley:genhash-debug
Custom Python script: https://github.com/nmarley/prop-gen

I'm sorry about the loss of your 5 Dash, really wish there was a way to recover it. Without the original "prepare" command, it's almost impossible to know what's changed or guess the hash parameters.

In the future, I'd suggest leaving the Dash-Qt window open after you "prepare", and do not close it. Save the TXID that gets returned also. Your "gobject prepare" and the TXID that results are the only things needed to submit the proposal, but you cannot change any of the information once it's been prepared. By keeping the Dash-Qt console window open, you're able to simply cut-and-paste the command, change "prepare" to "submit", then add the TXID at the end.
I would also advise to save prepare command somewhere in txt file BEFORE entering it into Dash Core console window.
 

abob54

New Member
Jun 3, 2017
39
36
18
Germany
@CaptAhab Your proposal is posted to the blockchain now (+2.71%, good start!).

Was the process on Dash Treasury any easier or is there a way it could be simplified/improved from the viewpoint of a proposal owner like yourself?
 

CaptAhab

Member
Mar 25, 2015
102
57
78
Dash Address
XwUeFiUQz1qLurzcpzKBDUTPvj1Tzx3FYs
Thanks @abob54 I found it easier to use, and I liked the way it took all the formatting of the proposal well. I also liked the posting you did supporting the proposal on other sites, thanks.
The only down side is getting to be recognised as the owner at DashCentral. Can @rango help me?
 
  • Like
Reactions: abob54

jimbursch

Well-known Member
Mar 5, 2017
837
501
163
57
@CaptAhab -- are you able to answer @nmarley questions?

I would like to get to the bottom of what happened here so that we can get to work on mitigating the problem to ensure it doesn't happen to somebody else.
 

CaptAhab

Member
Mar 25, 2015
102
57
78
Dash Address
XwUeFiUQz1qLurzcpzKBDUTPvj1Tzx3FYs
Hi @jimbursch,

Not sure if I have.
I think I had some form of interruption with the server, and I started the process again, after I got dumped back at the first screen. Probably typed a different project name and from then on I think was doomed.
On reflection I was too trusting. I assumed it would just work, and in fact you need to be really careful and record every step. There clearly needs to be a fund to refund people as well.
 

DynhoJ

New Member
Jan 20, 2017
25
5
3
29
Hello everyone,

One question if I burned 5 dash but did not get to make the proposal because of errors is there any way I can get refunded for those 5 dash so I can make the proposal or get back what I lost?

thanks in advanced
 

jimbursch

Well-known Member
Mar 5, 2017
837
501
163
57
Hi @DynhoJ

There is no way to get a refund once the 5 Dash is spent/burned. There may be some community members who would be willing to give you a donation out of sympathy.

@tungfa do you have any thoughts on this?
 
  • Like
Reactions: CaptAhab

tungfa

Grizzled Member
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,902
6,737
1,283
Hello everyone,

One question if I burned 5 dash but did not get to make the proposal because of errors is there any way I can get refunded for those 5 dash so I can make the proposal or get back what I lost?

thanks in advanced
as posted by jim
there re no refunds - sorry
u have to understand that 'anybody' could come and claim proposal errors or issues and request 5 here or there
i am not saying that u are one of them but that is the safety mechanism

what were your issues or error ?
 

DynhoJ

New Member
Jan 20, 2017
25
5
3
29
I tried to do the proposal with very little time towards the finish, then after I got the "prepare" it was giving wrong governance object or invalid I tried to get help udjinm6 tried to help but it was all on top of the limit period for introducing proposal and I could not get it to work, so basically burned the 5 dash but never actually got the proposal up.