IMHO niekde okolo riadku 42, +- tri riadky
edit: got it ! ked som v predsilvestrovskom zmatku pred nultou K-party do addTransaction metody implementoval obmedzenie dane MAXIMAL_WALLET_AMOUNT, zaniesol som v bloku zacinajucom na riadku 42 nasledovnu chybu:
Popis chyby
V pripade ze niekto chcel dat K node cloveka ktoreho wallet vlastnil viac ako je povolenych
MAXIMAL_WALLET_AMOUNT (e.g. blurec ci maniac), dane K sa automaticky presmeruje na Ganeshu. Takze sa v riadku 44 vykona $receptor_id=GANESH_ID.
Bug nastal v tom, že
v bloku sa sice zmenila hodnota premennej $receptor_id, ale nie zodpovedajuce hodnoty premennych $(pre|post)transaction_receptor_wallet_amount. Tie teda zostala na hodnote povodneho adresata (t.j. napr. blureca ci maniaca). O par riadkov sa potom vykona kriticky atomicky insert do ledgeru s tou pokazenou hodnotou.
Q.E.D.
Transakciou 3270540 bolo udelene 🪶 maniacovej node "Re: ssh snake" (node_id=9118230). Transakcia 3270540 obsahuje memo "9118230 owned by 192". Na maniacovom (user_id=192) receptor_wallete je pred transakciou 137670 🦆. Po vykonani tej transakcie je take iste mnozstvo 🦆 aj na Ganeshovom wallete.
Fix
Pridat na riadok 45
$receptor_wallet_amount=Kybchain::getWalletAmount(GANESH_ID);
https://git.kyberia.sk/kyberia/kyberia2/commit/16eb2d01575d9b346ba41dd803cd3d3ee6038ad9
Moral of the story
Hodinu pred K-party sa jadro ledgeru neprogramuje, obzvlast ked do toho skacu Zena, Matka, deti a pudel.