Недавно выкатили код HF-22, фичи описаны здесь
В том числе, была реализована плавная автоконвертация GBG в GOLOS если % долга превышает 20%. Я высказывался против данной функциональности, т.к. это просто архитектурно некрасиво. Просматривая код, оказалось, что и при реализации могут возникнуть проблемы. Реализованный код кое-чего не учитывает и таким образом позволяет избежать конвертации GBG.
Итак, следите за руками.
Код конвертации учитывает балансы на аккаунтах, предварительно отменяет ордера на бирже. Но он не учитывает специальные escrow-балансы. Есть такая штука как операция escrow_transfer
. Смотреть в libraries/chain/steem_evaluator.cpp
в void escrow_transfer_evaluator::do_apply
. Там мы видим, что когда она обрабатывается, средства списываются с баланса аккаунта, и зачисляются на специальный промежуточный escrow-баланс.
_db.adjust_balance(from_account, -steem_spent);
_db.adjust_balance(from_account, -sbd_spent);
_db.create<escrow_object>([&](escrow_object& esc) {
esc.escrow_id = o.escrow_id;
esc.from = o.from;
esc.to = o.to;
esc.agent = o.agent;
esc.ratification_deadline = o.ratification_deadline;
esc.escrow_expiration = o.escrow_expiration;
esc.sbd_balance = o.sbd_amount;
esc.steem_balance = o.steem_amount;
esc.pending_fee = o.fee;
});
Таким образом, некто может "закопать" GBG в таком escrow-переводе и спокойно пересидеть принудительную конвертацию. Всех конвертирует а тебя нет, PROFIT!
P.S.
Приходите к нам в троллбокс: https://t.me/upit_trollbox
Мои opensource-проекты на Голосе
- golos-python - python-библиотека для Голоса.
- golos-witness-tools - набор скриптов для делегатов.
- golos-scripts - разные полезные скрипты для Голоса на python
Join us to mine!
@vvk а это вообще работало кога либо? в смысле эскроу
@erikkartmen работв