Как исправить скрипт отката
Всем @privet!
Я продолжаю серию необоснованных поклёпов, на этот раз пострадала @lokkie. В своём недавнем посте про откаты против бирж я обвинил её в том, что она снизила процент в скрипте откатов с 80% до 76%.
После получения оплеухи благородного гнева детального рассмотрения вопроса, выяснилось, что в произошедшем "виноват" скрипт отката. Стандартный скрипт @ropox суммирует вознаграждение и делит его на все голоса в момент запуска, в том числе, на те, которые были получены после авторских выплат. Мой же скрипт, показавший 76%, учитывает опоздавших кураторов и на них откаты не рассчитывает.
Скорее всего, исправить скрипт @ropox довольно просто, достаточно взять значение last_payout, возвращаемое функцией get_content() и попадающее в свойства объекта content, и исключить голоса, сделанные после этого момента, в функциях sumRshares(content) и doTransfers там, где сейчас берутся все active_votes подряд. То есть, вместо
for(let v of content.active_votes) {
написать
for(let v of content.active_votes.filter(vote => vote.time < content.last_payout)) {
на строчках 94 и 128. Но не верьте мне на слово, у меня с javascript не очень, проверьте у более опытных товарищей.
UPDATE: скрипт отката в репозитории обновлён автором и его исправления отличаются от моего псевдокода. Пользуйтесь официальной версией, если не уверены в своих способностях правильно изменить код.
P.S. Этот пост участвует в движухе #апвот100 — все GBG, полученные автором в первом окне выплат, возвращаются кураторам, принёсшим хотя бы копеечку (0.001 GBG) в копилку поста.