Example #1
0
<?php

$included = true;
include '../../inc/db-conf.php';
include '../../inc/wallet_driver.php';
$wallet = new jsonRPCClient($driver_login);
include '../../inc/functions.php';
if (empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']) || mysql_num_rows(mysql_query("SELECT `id` FROM `players` WHERE `hash`='" . prot($_GET['_unique']) . "' LIMIT 1")) == 0) {
    exit;
}
$player = mysql_fetch_array(mysql_query("SELECT `id`,`balance` FROM `players` WHERE `hash`='" . prot($_GET['_unique']) . "' LIMIT 1"));
$validate = $wallet->validateaddress($_GET['valid_addr']);
if ($validate['isvalid'] == false) {
    $error = 'yes';
    $con = 0;
} else {
    if (!is_numeric($_GET['amount']) || (double) $_GET['amount'] > $player['balance'] || (double) $_GET['amount'] < 0.001) {
        $error = 'yes';
        $con = 1;
    } else {
        $amount = (double) $_GET['amount'] - 0.0002;
        $txid = $wallet->sendfrom('', $_GET['valid_addr'], $amount);
        mysql_query("UPDATE `players` SET `balance`=`balance`-" . prot($_GET['amount']) . " WHERE `id`={$player['id']} LIMIT 1");
        $error = 'no';
        $con = $txid;
    }
}
$return = array('error' => $error, 'content' => $con);
echo json_encode($return);
Example #2
0
 function cashout($sendaddress)
 {
     if ($this->validateToken()) {
         $ab = $this->getAccountBalance($this->__get("token"));
         if ($ab === null) {
             return false;
         }
         if ($ab - '.0004' < 0) {
             return false;
         } else {
             $ab = $ab - 0.0004;
         }
         try {
             $bitcoind = new jsonRPCClient('http://' . $this->__get("username") . ':' . $this->__get("password") . '@' . $this->__get("btcserver") . ':' . $this->__get("btcport") . '/');
             $balance = $bitcoind->sendfrom(md5($this->__get("token")), $sendaddress, $ab, 2);
         } catch (Exception $e) {
             return false;
         }
         $this->__set("balance", $ab);
         $this->__set("access_token", JWT::encode($this->__get("access_token"), $_ENV['token_key']));
         return true;
     } else {
         return false;
     }
 }
 public static function LTC_transaction_o_complete()
 {
     $id = Core::validate($_GET['id']);
     $hash = Core::validate($_GET['hash']);
     $at = new AtLtc();
     if (!$at->findById($id)) {
         header('Location: ' . URL_WRONG_DATA_INPUT);
         exit;
     }
     if ($hash != self::hash_for_money_output_link($at->getId(), $at->getUID())) {
         header('Location: ' . URL_WRONG_DATA_INPUT);
         exit;
     }
     $amount = $at->getValue();
     $wallets = self::LTC_MinAndMaxWallets();
     if ($wallets['max'] == null || $wallets['max']['current_balance'] < $amount) {
         header('Location: ' . URL_SERVER_ERROR);
         exit;
     }
     $wallet = new WalletsLtc();
     $wallet->findById($wallets['max']['id']);
     $rpcClient = new jsonRPCClient('http://' . LTC_RPC_USER . ':' . LTC_RPC_PASSWORD . '@' . LTC_RPC_HOST . ':' . LTC_RPC_PORT . '/');
     try {
         $transaction_hash = $rpcClient->sendfrom($wallet->getAccount(), $amount, LTC_CONFIRMATIONS);
     } catch (Exception $e) {
         header('Location: ' . URL_SERVER_ERROR);
         exit;
     }
     $currency = new Currency();
     $currency->findBy(array('Name' => 'LTC'));
     $limits = self::transactionLimits($currency->getId(), 'LTC', 1);
     $feeVolume = $amount * $limits['fee'];
     $feeVolume = Core::round_up($feeVolume, 8);
     $purses = Purse::findBy(array('UID' => $at->getUID(), 'CurId' => $currency->getId()));
     $purse = new Purse();
     $purse->findById($purses[0]['id']);
     $purse->addValue(-($amount + $feeVolume));
     $purse->save();
     $systemFeeVolume = $amount * $limits['system_fee'];
     $systemFeeVolume = Core::round_up($systemFeeVolume, 8);
     $profit = ($feeVolume - $systemFeeVolume) * $wallet->getShare();
     $wallet->setProfit($wallet->getProfit() + $profit);
     $wallet->save();
     $at->setDone(1);
     $at->setTransactionHash($transaction_hash);
     $at->setTimestamp(Core::timestamp_gmp());
     $at->save();
     header('Location: ' . URL_SUCCESS_PAYMENT);
 }
Example #4
0
     $amount = $_GET['amount'];
     if (trim($amount) == "") {
         $data = array("error" => 4, "errormsg" => "Invalid Amount", "time" => time());
         header('Content-Type: application/json');
         echo json_encode($data);
         exit;
     }
     if (!is_numeric($amount)) {
         $data = array("error" => 4, "errormsg" => "Invalid Amount", "time" => time());
         header('Content-Type: application/json');
         echo json_encode($data);
         exit;
     }
     //ok lets sends some coin
     try {
         $txid = @$bitcoin->sendfrom("john", (string) $qr, (double) $amount);
         $data = array("error" => 0, "errormsg" => "", "time" => time(), "command" => $command, "txid" => $txid);
         header('Content-Type: application/json');
         echo json_encode($data);
         exit;
     } catch (Exception $e) {
         $data = array("error" => 5, "errormsg" => "Error Processing Transaction", "time" => time());
         header('Content-Type: application/json');
         echo json_encode($data);
         exit;
     }
     print_r($output);
 } else {
     $data = array("error" => 2, "errormsg" => "Invalid Command", "time" => time());
     header('Content-Type: application/json');
     echo json_encode($data);
Example #5
0
            mysql_query("INSERT INTO `transactions` (`id`, `amount`, `topay`, `address`, `state`, `tx`, `date`) VALUES (NULL, '" . $amount . "', '" . $topay . "', '" . $address . "', '0', '" . $trans['txid'] . "', " . time() . ");");
        }
    }
    $query = mysql_query("SELECT SUM(amount) FROM `transactions`;");
    $query = mysql_fetch_row($query);
    $money = $query[0];
    $query = mysql_query("SELECT SUM(topay) FROM `transactions` WHERE `state` > 0;");
    $query = mysql_fetch_row($query);
    $money -= $query[0];
    $query = mysql_query("SELECT * FROM `transactions` WHERE `state` = 0 AND `topay` > 0 ORDER BY `id` ASC;");
    while ($row = mysql_fetch_assoc($query)) {
        print "Money: " . $money . "\n";
        if ($money < $row['topay']) {
            break;
        }
        mysql_query("UPDATE `transactions` SET `state` = 1 WHERE `id` = " . $row['id'] . ";");
        $money -= $row['topay'];
    }
    // Paying out
    if (time() - $lastPayout > $config['payout-check']) {
        $lastPayout = time();
        $query = mysql_query('SELECT * FROM `transactions` WHERE `state` = 1 ORDER BY `date` ASC;');
        while ($row = mysql_fetch_assoc($query)) {
            $txout = $client->sendfrom($config['ponziacc'], $row['address'], round((double) $row['topay'], 4) - $row['amount'] * $config['fee']);
            mysql_query("UPDATE `transactions` SET `state` = 2, `out` = '" . $txout . "' WHERE `id` = " . $row['id'] . ";");
            print $row['topay'] . " " . $config['val'] . " sent to " . $row['address'] . ".\n";
        }
    }
    echo "Waiting...\n";
    sleep(20);
}
function funct_Billing_JSONRPC_SendFrom($strWalletAddress, $intAmount, $strFromAddress)
{
    //send to an address and specify sent from as well
    $mybtc = new jsonRPCClient(JSONRPC_CONNECTIONSTRING);
    //- ** requires second password
    $strWalletAddress = $mybtc->sendfrom($strFromAddress, $strWalletAddress, $intAmount);
    return $strTransactionID;
}