Merge pull request #1592 from iAmShorty/address-validation
[FIX] checking payout address
This commit is contained in:
commit
0d2895f517
@ -45,6 +45,17 @@ if ($setting->getValue('disable_manual_payouts') != 1) {
|
||||
$dBalance = $aBalance['confirmed'];
|
||||
$aData['coin_address'] = $user->getCoinAddress($aData['account_id']);
|
||||
$aData['username'] = $user->getUserName($aData['account_id']);
|
||||
// Validate address against RPC
|
||||
try {
|
||||
$aStatus = $bitcoin->validateaddress($aData['coin_address']);
|
||||
if (!$aStatus['isvalid']) {
|
||||
$log->logError('Failed to verify this users coin address, skipping payout');
|
||||
continue;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$log->logError('Failed to verify this users coin address, skipping payout');
|
||||
continue;
|
||||
}
|
||||
if ($dBalance > $config['txfee_manual']) {
|
||||
// To ensure we don't run this transaction again, lets mark it completed
|
||||
if (!$oPayout->setProcessed($aData['id'])) {
|
||||
@ -106,6 +117,17 @@ if ($setting->getValue('disable_auto_payouts') != 1) {
|
||||
$log->logInfo("\tUserID\tUsername\tBalance\tThreshold\tAddress");
|
||||
foreach ($users as $aUserData) {
|
||||
$dBalance = $aUserData['confirmed'];
|
||||
// Validate address against RPC
|
||||
try {
|
||||
$aStatus = $bitcoin->validateaddress($aUserData['coin_address']);
|
||||
if (!$aStatus['isvalid']) {
|
||||
$log->logError('Failed to verify this users coin address, skipping payout');
|
||||
continue;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$log->logError('Failed to verify this users coin address, skipping payout');
|
||||
continue;
|
||||
}
|
||||
$log->logInfo("\t" . $aUserData['id'] . "\t" . $aUserData['username'] . "\t" . $dBalance . "\t" . $aUserData['ap_threshold'] . "\t\t" . $aUserData['coin_address']);
|
||||
// Only run if balance meets threshold and can pay the potential transaction fee
|
||||
if ($dBalance > $aUserData['ap_threshold'] && $dBalance > $config['txfee_auto']) {
|
||||
@ -113,7 +135,7 @@ if ($setting->getValue('disable_auto_payouts') != 1) {
|
||||
try {
|
||||
$txid = $bitcoin->sendtoaddress($aUserData['coin_address'], $dBalance - $config['txfee_auto']);
|
||||
} catch (Exception $e) {
|
||||
$log->logError('E0078: RPC method did not return 200 OK: Address: ' . $aData['coin_address'] . ' ERROR: ' . $e->getMessage());
|
||||
$log->logError('E0078: RPC method did not return 200 OK: Address: ' . $aUserData['coin_address'] . ' ERROR: ' . $e->getMessage());
|
||||
$monitoring->endCronjob($cron_name, 'E0078', 1, true);
|
||||
}
|
||||
// Create transaction record
|
||||
|
||||
Loading…
Reference in New Issue
Block a user