Standardised Formatting for Custodial Grant Proposals


We had some issues recently with different users not being able to correctly verify custodial proposal hashes. It seems that different browser/OS combinations treat the text coming from this website differently to each other and this was causing the checked hashes to return different values to the original.
This prompted me to build a browser independent tool for both formatting and verifying proposals and their hashes. The tool is the Assistant bot which also has some other functions around this forum.

To use Assistant to format a custodial proposal, send a PM to @assistant. the first two words of the message should be ‘custodian hash’. The next word needs to be the custodial NuBit address followed by the grant amount. Any other text in the message will be treated as the proposal text and will be formatted as such.

eg. custodian hash BRQJYBb8h7ktfnxqeCzVo1uooFj6pHWMdJ 40 This is my proposal

Once correctly formatted, Assistant will calculate the RIPEMD160 hash of the proposal text and will reply to your PM with the text for your post.
To copy that text you need to click the ‘Verify’ link towards the bottom of Assistant reply. This shows you the raw text that was hashed. If you paste that raw text, in it’s entirety, into your post, it will appear nicely formatted as it did in Assistant reply.
If you don’t copy the raw ‘verify’ text, your post won’t be nicely formatted and the verification text will fail the hash if any one checks.

Assistant adds some hidden html tags to the formatted proposals which will allow future tools to easily access information.

To verify a custodian proposal hash, reply to a proposal post, mention Assistant and follow immediately with the word ‘verify’. Assistant will scan the entire thread for any proposals and re-calculate the hash on each. This provides a nice, easy way to verify that a custodian proposals text hasn’t changed and that you are voting for the correct thing in your Nu client.

I hope Assistant becomes useful. It will certainly help some beneficial development ideas I have to ensure that future custodian proposals are all in the same format.


eg. sending a PM with the following text
custodian hash BRQJYBb8h7ktfnxqeCzVo1uooFj6pHWMdJ 40 This is my proposal

provides this proposal:

Proposal RIPEMD160 hash: ca01e2019e041cdc110522d0322d676cd16b3d1d

=##=##=##=##=##=## Custodian Hash starts with this line ##=##=##=##=##=##=

Custodial Address: BRQJYBb8h7ktfnxqeCzVo1uooFj6pHWMdJ
Amount Requested: 40 NBT

This is my proposal

=##=##=##=##=##=## Custodian Hash ends with this line ##=##=##=##=##=##=

Verify. Use everything between and including the <custodianhash></custodianhash> tags.

By clicking the ‘verify’ link above and pasting everything between the tags into, I got the hash:

@assistant verify

Hi @cryptog

Here are the verification results of all the motion and custodian hashes I could find in this thread:

I found the following hashes:
0 Motion | 1 Custodial

custodial hash
Original Hash : ca01e2019e041cdc110522d0322d676cd16b3d1d
Calculated Hash : ca01e2019e041cdc110522d0322d676cd16b3d1d
The hash is good.

Should we add this to ? @CoinGame?


How do we proceed?

Is the process pretty much finished, or is there a chance the implementation will change?

The only thing I can see changing in the near future is the format of the text that is produced by the command. The actual method of requesting that text and the command use will stay the same.