diff --git a/pool/page_pplns.php b/pool/page_pplns.php index 42f47acc..475569ea 100644 --- a/pool/page_pplns.php +++ b/pool/page_pplns.php @@ -90,6 +90,8 @@ Block: $pg .= '%'; $pg .= 'Base BTC'; $pg .= 'Avg Hashrate'; + $pg .= 'BTC -1.5%'; + $pg .= 'Address'; $pg .= "\n"; $diffacc_total = $ans['diffacc_total']; @@ -98,12 +100,18 @@ Block: $reward = $ans['block_reward'] / pow(10,8); $elapsed = $ans['pplns_elapsed']; $count = $ans['rows']; + $tot_btc = 0; + $tot_pay = 0; for ($i = 0; $i < $count; $i++) { $diffacc_user = $ans['diffacc_user:'.$i]; $diffacc_percent = number_format(100.0 * $diffacc_user / $diffacc_total, 2).'%'; - $diffacc_btc = number_format($reward * $diffacc_user / $diffacc_total, 8); + $base_btc = $reward * $diffacc_user / $diffacc_total; + $diffacc_btc = number_format($base_btc, 8); $avg_hash = number_format($diffacc_user / $elapsed * pow(2,32), 0); + $pay_btc = $base_btc * 0.985; + $dsp_btc = number_format($pay_btc, 8); + $payaddress = $ans['payaddress:'.$i]; if (($i % 2) == 0) $row = 'even'; @@ -116,8 +124,26 @@ Block: $pg .= "$diffacc_percent"; $pg .= "$diffacc_btc"; $pg .= "$avg_hash"; + $pg .= "$dsp_btc"; + $pg .= "$payaddress"; $pg .= "\n"; + + $tot_btc += $base_btc; + $tot_pay += $pay_btc; } + if (($i % 2) == 0) + $row = 'even'; + else + $row = 'odd'; + + $pg .= ""; + $pg .= ''; + $pg .= "".number_format($tot_btc,8).""; + $pg .= ''; + $pg .= ''.number_format($pay_btc,8).''; + $pg .= ''; + $pg .= "\n"; + $pg .= "\n"; } diff --git a/src/ckdb.c b/src/ckdb.c index 80492eba..d71634c6 100644 --- a/src/ckdb.c +++ b/src/ckdb.c @@ -47,7 +47,7 @@ #define DB_VLOCK "1" #define DB_VERSION "0.9" -#define CKDB_VERSION DB_VERSION"-0.273" +#define CKDB_VERSION DB_VERSION"-0.275" #define WHERE_FFL " - from %s %s() line %d" #define WHERE_FFL_HERE __FILE__, __func__, __LINE__ @@ -10012,18 +10012,28 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, u_item = find_userid(miningpayouts->userid); K_RUNLOCK(users_free); if (u_item) { + K_ITEM *pa_item; + PAYMENTADDRESSES *pa; + char *payaddress; + + pa_item = find_paymentaddresses(miningpayouts->userid); + if (pa_item) { + DATA_PAYMENTADDRESSES(pa, pa_item); + payaddress = pa->payaddress; + } else + payaddress = "none"; + DATA_USERS(users, u_item); snprintf(tmp, sizeof(tmp), - "user:%d=%s%c", - rows, - users->username, - FLDSEP); + "user:%d=%s%cpayaddress:%d=%s%c", + rows, users->username, FLDSEP, + rows, payaddress, FLDSEP); + } else { snprintf(tmp, sizeof(tmp), - "user:%d=%"PRId64"%c", - rows, - miningpayouts->userid, - FLDSEP); + "user:%d=%"PRId64"%cpayaddress:%d=none%c", + rows, miningpayouts->userid, FLDSEP, + rows, FLDSEP); } APPEND_REALLOC(buf, off, len, tmp); @@ -10038,9 +10048,9 @@ static char *cmd_pplns(__maybe_unused PGconn *conn, char *cmd, char *id, rows++; } snprintf(tmp, sizeof(tmp), - "rows=%d%c,flds=%s%c", + "rows=%d%cflds=%s%c", rows, FLDSEP, - "user,diffacc_user", FLDSEP); + "user,diffacc_user,payaddress", FLDSEP); APPEND_REALLOC(buf, off, len, tmp); snprintf(tmp, sizeof(tmp), "arn=%s%carp=%s%c",