SMT hard fork testing report #5 : Emission token unit bug, calling for more support

Hello,

Asking for more support

When I started this proposal, I assumed that the smt testing period would last about three months, so I put the end of my proposal in three months, but my proposal is coming to an end and the testing is still ongoing, so I would like to ask for your support on my followup proposal, obviously should the testing end before the end of the proposal, I will cancel the proposal now that it no longer serves a purpose.

Here's a few easy links to vote on it :

https://steemproposals.com/proposal/70 steemconnect

Anyways, onto the report

The previous bug is still ongoing

The steemit team worked hard and pushed a fix for the previous bug I found, but alas, it came back with another issue linked to it. So the testnet has been restarted with some additional logging so that we can have more insight on how to fix it for good. I have restarted my testnet killer script (source here : https://github.com/drov0/hf23-testing/blob/master/bulk_full_setup.js) and the testnet should crash in the coming days. Hopefully this will be the last time this script works.

Another issue with the emission operation found

Meanwhile while reading some code I realized that with the emission operation it is possible to set it up so that the chain will emit tokens to an account that doesn't exists.

This wouldn't have any bad effect when the emission object is created, but as soon as the smt launches and the first emission executes itself, the chain won't realize that the account doesn't exists and basically give tokens to a nonexistent account. Which would, as you can expect, would probably crash the network, I didn't put this theory to the test as this would just delay further testing. Chain restarts are quite time consuming.

The reason why is that it's not an obvious flaw since you can set various emission destinations market, vesting, reward pool and founders. And there is quite a bit of code there in order to support those various destinations.

Fixing the issue

While I was at it and since the steemit team is focused on the other bug, I figured I would to make the fix myself, so I submitted a pull request with the necessary code changes to fix the issue : https://github.com/steemit/steem/pull/3582

it's working but it's lacking some unit tests. So I'll do some more work on it later on.

Does this bug has a twin ?

Doing all this and realizing that the emission target accounts (vesting, reward pool etc etc) system is quite similar for the ICO part, so I've checked it out as well.

And it looks like it does not have one, as you can see here : https://github.com/steemit/steem/blob/master/libraries/chain/smt_evaluator.cpp#L135

This function calls this other function (https://github.com/steemit/steem/blob/master/libraries/chain/smt_evaluator.cpp#L122) to validate all the targets.

So all good on that end.

Anyways that's about it for this report. Please consider voting my followup proposal using these links :

https://steemproposals.com/proposal/70 steemconnect


Comments
Steemie currently dosen't allow you to make comments. If you want to write something, write it using another frontend (like Steemit)
Click there to view this post on Steemit.com
  • @bangbang

    thanks for this blog bro

  • @freddio

    you have my vote

  • @jaydih

    keep up the good work 👍👍

  • @cyberblock

    Nothing worse than an evil twin

  • @ae1000

    Thanks

  • @fedismaoui

    hello steemit and i hope that you dont spam me , i need some support from you . i m using this website since two years and i couldnt increase my account at all . peace to you all from north africa .

  • @steempeak

    Good job finding those bugs.

  • @marki99

    You have my vote.

  • @smooth

    This is good work and I am supporting the extension.

    Another benefit that Steem gets from funding this work is @howo becoming more familiar with the core Steem code, and can be better prepared to start to help with additional development and testing tasks in the future. Having more people with experience working with the code for Steem is a big deal.

  • @alexanderfluke

    Hi, Martin!
    I apologize for writing here, but I saw that you are one of the founders of the Steempress platform, and I felt it necessary to inform you that with the help of the @steemcleaners, I started the process of downvoting the @abrikoss account which using your plugin to publish meaningless posts with links to other people's content ... I thought you should know about this.