diff --git a/pool/page_pplns2.php b/pool/page_pplns2.php index 398dfa81..3f0d77ed 100644 --- a/pool/page_pplns2.php +++ b/pool/page_pplns2.php @@ -40,6 +40,15 @@ function calctx($ans, $count, $miner_sat, $diffacc_total) $diffacc_user = $ans['diffacc:'.$i]; $pay_sat = $ans['amount:'.$i]; $payaddress = $ans['payaddress:'.$i]; + if ($payaddress == 'hold') + { + $dd = ''; + if ($pay_sat > 0 && $pay_sat < $dust) + $dd = ' (dust)'; + $ers .= "Hold for '$username'$dd ($pay_sat)
"; + $unpaid += $pay_sat; + continue; + } if ($payaddress == 'none') { $c0 = substr($username, 0, 1); @@ -54,7 +63,7 @@ function calctx($ans, $count, $miner_sat, $diffacc_total) $dd = ''; if ($pay_sat < $dust) $dd = ' (dust)'; - $ers .= "No address for '$username'$dd
"; + $ers .= "No address for '$username'$dd ($pay_sat)
"; } $unpaid += $pay_sat; continue; diff --git a/src/ckdb.h b/src/ckdb.h index dd30fc1d..3b5c9711 100644 --- a/src/ckdb.h +++ b/src/ckdb.h @@ -51,7 +51,7 @@ #define DB_VLOCK "1" #define DB_VERSION "1.0.5" -#define CKDB_VERSION DB_VERSION"-1.982" +#define CKDB_VERSION DB_VERSION"-1.983" #define WHERE_FFL " - from %s %s() line %d" #define WHERE_FFL_HERE __FILE__, __func__, __LINE__ @@ -1975,6 +1975,11 @@ extern K_LIST *process_pplns_free; #define PAYOUTS_REJECT_STR "R" #define PAYREJECT(_status) ((_status)[0] == PAYOUTS_REJECT) +// UserAtts to hold payouts +#define HOLD_PAYOUTS "HoldPayouts" +#define HOLD_ADDRESS "hold" +#define NONE_ADDRESS "none" + // Default number of shifts (payouts) to display on web #define SHIFTS_DEFAULT 99 /* OptionControl can override it diff --git a/src/ckdb_cmd.c b/src/ckdb_cmd.c index 9cf3d9a6..6b41ae28 100644 --- a/src/ckdb_cmd.c +++ b/src/ckdb_cmd.c @@ -4761,7 +4761,7 @@ static char *cmd_pplns2(__maybe_unused PGconn *conn, char *cmd, char *id, char *block_extra, *marks_status = EMPTY; size_t siz = sizeof(reply); K_ITEM *i_height; - K_ITEM b_look, *b_item, *p_item, *mp_item, *pay_item, *u_item; + K_ITEM b_look, *b_item, *p_item, *mp_item, *pay_item, *u_item, *ua_item; K_ITEM *w_item; MININGPAYOUTS *miningpayouts; PAYMENTS *payments; @@ -4920,6 +4920,9 @@ static char *cmd_pplns2(__maybe_unused PGconn *conn, char *cmd, char *id, goto shazbot; } DATA_USERS(users, u_item); + K_RLOCK(useratts_free); + ua_item = find_useratts(miningpayouts->userid, HOLD_PAYOUTS); + K_RUNLOCK(useratts_free); K_RLOCK(payments_free); pay_item = find_first_paypayid(miningpayouts->userid, @@ -4936,7 +4939,8 @@ static char *cmd_pplns2(__maybe_unused PGconn *conn, char *cmd, char *id, "amount:%d=%"PRId64"%c" "diffacc:%d=%.1f%c", rows, payments->subname, FLDSEP, - rows, payments->payaddress, FLDSEP, + rows, ua_item ? HOLD_ADDRESS : + payments->payaddress, FLDSEP, rows, payments->amount, FLDSEP, rows, payments->diffacc, FLDSEP); APPEND_REALLOC(buf, off, len, tmp); @@ -4954,7 +4958,7 @@ static char *cmd_pplns2(__maybe_unused PGconn *conn, char *cmd, char *id, "amount:%d=%"PRId64"%c" "diffacc:%d=%.1f%c", rows, users->username, FLDSEP, - rows, "none", FLDSEP, + rows, NONE_ADDRESS, FLDSEP, rows, miningpayouts->amount, FLDSEP, rows, miningpayouts->diffacc, FLDSEP); APPEND_REALLOC(buf, off, len, tmp);