def process_in_crypto(Time, CurrencyTitle): Crypton = CryptoAccount(CurrencyTitle, "trade_stock") List = Crypton.listtransactions() user_system = User.objects.get(id = 1) CurrencyInstance = Currency.objects.get(title = CurrencyTitle) getcontext().prec = crypton.settings.TRANS_PREC for trans in List : Txid = trans["txid"] # print "receive transactions %s" % (str(trans)) if not trans.has_key("blocktime") or trans["blocktime"]<Time: # print "old transactions "; continue #if trans["amount"]<0.0001: # continue if trans["category"] == "receive": Account = None Trans = None Decimal = format_numbers_strong(trans["amount"]) try : Account = PoolAccounts.objects.filter(address = trans["address"], currency = CurrencyInstance ) Trans = CryptoTransfers.objects.get(crypto_txid = Txid, currency = CurrencyInstance ) except Accounts.DoesNotExist: notify_admin_withdraw(u"unrecognized crypto incoming to %s %s %s" % (trans["address"], Decimal, CurrencyTitle ) ) continue except CryptoTransfers.DoesNotExist: if Account is not None: Trans = CryptoTransfers(crypto_txid = Txid, status="created", amnt = Decimal, currency = CurrencyInstance , account = trans["address"], user = Account.user, confirms = 0 ) Trans.save() print "#%i receive %s to %s amount of %s" % (Trans.id, Txid, trans["address"], Trans.amnt ) print "confirmations %i" % (trans["confirmations"] ) print "this trans is %s" % (Trans.status) if (Trans.status == "processing" or Trans.status == "created" ) and trans["confirmations"] > CryptoSettings["BTC"]["min_confirmation"]: print "processing it %s" % (str(trans)) Trans.confirms = int(trans["confirmations"]) Trans.status = "processing" Trans.save() # print "in in" crypton_in(Trans, user_system) if Trans.status == "processing" or Trans.status == "created": # print "update confirmations" Trans.status = "processing" Trans.confirms = int(trans["confirmations"]) Trans.save()
def process_in_crypto(Time, CurrencyTitle): Crypton = CryptoAccount(CurrencyTitle, "trade_stock") List = Crypton.listtransactions() user_system = User.objects.get(id=1) CurrencyInstance = Currency.objects.get(title=CurrencyTitle) getcontext().prec = crypton.settings.TRANS_PREC for trans in List: Txid = trans["txid"] if trans.has_key("blocktime") and trans["blocktime"] < Time: print "old transactions "; print "blocktime is %i " % trans["blocktime"] continue if trans["category"] == "receive": Account = None Trans = None New = False Decimal = format_numbers_strong(trans["amount"]) try: Account = Accounts.objects.get(reference=trans["address"]) Trans = CryptoTransfers.objects.get(crypto_txid=Txid, currency=CurrencyInstance) except Accounts.DoesNotExist: continue except CryptoTransfers.DoesNotExist: Trans = CryptoTransfers(crypto_txid=Txid, status="created", amnt=Decimal, currency=CurrencyInstance, account=trans["address"], user=Account.user, confirms=0) Trans.save() print "in one trans to our accounts" print "#%i receive %s to %s amount of %s" % (Trans.id, Txid, trans["address"], trans['amount'] ) print "confirmations %i" % (trans["confirmations"] ) print "this trans is %s" % (Trans.status) if (Trans.status == "processing" or Trans.status == "created")\ and trans["confirmations"] > CryptoSettings[CurrencyTitle]["min_confirmation"] : print "processing it %s" % (str(trans)) Trans.confirms = int(trans["confirmations"]) Trans.status = "processing" Trans.save() crypton_in(Trans, user_system) if Trans.status == "processing" or Trans.status == "created": Trans.status = "processing" Trans.confirms = int(trans["confirmations"]) Trans.save()