예제 #1
0
 foreach ($pending as $p) {
     $txid = $p["Transaction_Id"];
     $id = $p["id"];
     $account = $p["Account"];
     $amount = floatval($p["Amount"]);
     $pending_transaction = $wallet->Client->gettransaction($txid);
     $conf = intval($pending_transaction["confirmations"]);
     if ($conf >= 4) {
         //Si la transaction a suffisament de confirmations, on set son Paid à 1 et on set la Balance
         BaseDonnee::setDeposit($bdd, $id, 1, $conf);
         $balance = BaseDonnee::execQuery($bdd, "SELECT * FROM balances WHERE Coin = '{$coin}' AND Account='{$account}'")[0]["Amount"];
         $newbalance = floatval($balance) + $amount;
         BaseDonnee::setBalance($bdd, $account, $coin, $newbalance);
     } else {
         if ($p["Confirmations"] != $pending_transaction["confirmations"]) {
             BaseDonnee::setDeposit($bdd, $id, 0, $conf);
         }
     }
 }
 $lastHash = $row["Last_Hash"];
 /*S'il n'y a pas de "last hash" dans la BDD : le wallet viens d'être créée.
   Il faut donc lui assigner la valeur du dernier hash */
 if (empty($lastHash)) {
     $transactionsInfo = $wallet->Client->listsinceblock();
 } else {
     $transactionsInfo = $wallet->Client->listsinceblock($lastHash);
 }
 //Si $transactioninfos est vide, alors on a pas eu de nouvelles transactions. On passe son tour.
 if (empty($transactionsInfo["transactions"])) {
     continue;
 }