def btc_cash_sendCointoUser_asAdmin(amount, comment, userid): """ #TO User ##this function will move the coin from agoras wallet_btc to a user as an admin :param amount: :param comment: :param userid: :return: """ try: type_transaction = 9 userswallet = btccash_Wallet.query.filter_by(userid=userid).first() curbal = Decimal(userswallet.currentbalance) amounttomod = Decimal(amount) newbalance = Decimal(curbal) + Decimal(amounttomod) userswallet.currentbalance = newbalance db.session.add(userswallet) db.session.commit() btc_cash_addtransaction(category=type_transaction, amount=amount, userid=userid, comment=comment, shard=userswallet.shard, orderid=0, balance=newbalance ) except Exception as e: print(str(e)) errorLogger(function='sendcointouser', error=e, kindoferror=4, user=userid) db.session.rollback()
def createWallet(userid): """ THIS function creates the wallet_btc and puts its first address there :param userid: :return: """ try: type_transaction = 1 user = db.session.query(User).filter(User.id == userid).first() timestamp = datetime.utcnow() wallet = BtcWalletWork(userid=userid, type=type_transaction, amount=0, sendto=0, comment=0, created=timestamp, txtcomment='', shard=user.shard) db.session.add(wallet) db.session.commit() except Exception as e: errorLogger(function='createWallet', error=e, kindoferror=4, user=userid) db.session.rollback()
def sendCointoHoldings(amount, userid, comment): """ # TO Agora # this function will move the coin from vendor to agora holdings. This is for vendor verification :param amount: :param userid: :param comment: :return: """ a = checkbalance(userid=userid, amount=amount) if a == 1: try: type_transaction = 7 now = datetime.utcnow() user = db.session.query(User).filter(User.id == userid).first() userswallet = BtcWallet.query.filter_by(userid=userid).first() curbal = Decimal(userswallet.currentbalance) amounttomod = floating_decimals(amount, 8) newbalance = floating_decimals(curbal, 8) - floating_decimals( amounttomod, 8) userswallet.currentbalance = newbalance db.session.add(userswallet) db.session.commit() c = str(comment) a = Decimal(amount) commentstring = "Vendor Verification: Level " + c addtransaction(category=type_transaction, amount=amount, userid=user.id, comment=commentstring, shard=user.shard, orderid=0, balance=newbalance) getcurrentholdings = db.session.query(Agoraholdings).order_by( Agoraholdings.id.desc()).first() currentamount = floating_decimals(getcurrentholdings.total, 8) newamount = floating_decimals(currentamount, 8) + floating_decimals(a, 8) holdingsaccount = Agoraholdings(amount=a, timestamp=now, userid=userid, total=newamount) db.session.add(holdingsaccount) db.session.commit() except Exception as e: print(str(e)) errorLogger(function='sendcointoholdings', error=e, kindoferror=4, user=userid) db.session.rollback() else: pass
def btc_cash_sendCoinfromHoldings(amount, userid, comment): """ # TO Agora # this function will move the coin from holdings back to vendor. This is for vendor verification :param amount: :param userid: :param comment: :return: """ try: type_transaction = 8 now = datetime.utcnow() user = db.session.query(User).filter(User.id == userid).first() userswallet = btccash_Wallet.query.filter_by(userid=userid).first() curbal = Decimal(userswallet.currentbalance) amounttomod = Decimal(amount) newbalance = Decimal(curbal) + Decimal(amounttomod) userswallet.currentbalance = newbalance db.session.add(userswallet) db.session.commit() c = str(comment) a = Decimal(amount) commentstring = "Vendor Verification Refund: Level " + c btc_cash_addtransaction(category=type_transaction, amount=amount, userid=user.id, comment=commentstring, shard=user.shard_btccash, orderid=0, balance=newbalance ) getcurrentholdings = db.session.query(Agoraholdings_btccash).order_by(Agoraholdings_btccash.id.desc()).first() currentamount = floating_decimals(getcurrentholdings.total, 8) newamount = floating_decimals(currentamount, 8) - floating_decimals(a, 8) holdingsaccount = Agoraholdings_btccash( amount=a, timestamp=now, userid=userid, total=newamount ) db.session.add(holdingsaccount) db.session.commit() except Exception as e: print(str(e)) errorLogger(function='sendcoinfromholdings', error=e, kindoferror=4, user=userid) db.session.rollback()
def takeCointoUser_asAdmin(amount, comment, userid): """ # TO User # this function will move the coin from agoras wallet_btc to a user as an admin :param amount: :param comment: :param userid: :return: """ try: type_transaction = 10 a = Decimal(amount) userswallet = BtcWallet.query.filter_by(userid=userid).first() curbal = Decimal(userswallet.currentbalance) amounttomod = Decimal(amount) newbalance = Decimal(curbal) - Decimal(amounttomod) userswallet.currentbalance = newbalance db.session.add(userswallet) db.session.commit() addtransaction(category=type_transaction, amount=amount, userid=userid, comment=comment, shard=userswallet.shard, orderid=0, balance=newbalance) getcurrentprofit = db.session.query(Agoraprofit).order_by( Agoraprofit.id.desc()).first() currentamount = floating_decimals(getcurrentprofit.total, 8) newamount = floating_decimals(currentamount, 8) + floating_decimals( a, 8) prof = Agoraprofit(amount=amount, timestamp=datetime.utcnow(), total=newamount) db.session.add(prof) db.session.commit() except Exception as e: print(str(e)) errorLogger(function='sendcointouser', error=e, kindoferror=4, user=userid) db.session.rollback()
def btc_cash_sendCointoAgora(amount, comment, shard): """ # TO Agora # this function will move the coin from agoras escrow to profit account # no balance necessary :param amount: :param comment: :param shard: :return: """ try: type_transaction = 6 now = datetime.utcnow() oid = int(comment) a = Decimal(amount) btc_cash_addtransaction( category=type_transaction, amount=amount, userid=1, comment='Sent Coin to Agora profit', shard=shard, orderid=oid, balance=0 ) getcurrentprofit = db.session.query(Agoraprofit_btccash).order_by(Agoraprofit_btccash.id.desc()).first() currentamount = floating_decimals(getcurrentprofit.total, 8) newamount = floating_decimals(currentamount, 8) + floating_decimals(a, 8) prof = Agoraprofit_btccash( amount=amount, order=oid, timestamp=now, total=newamount ) db.session.add(prof) db.session.commit() except Exception as e: print(str(e)) errorLogger(function='sendcointoagora', error=e, kindoferror=4, user=1) db.session.rollback()
def sendCointoEscrow(amount, comment, userid): """ #TO Agora Wallet ##this function will move the coin to agoras wallet_btc from a user :param amount: :param comment: :param userid: :return: """ a = checkbalance(userid=userid, amount=amount) if a == 1: try: type_transaction = 4 userswallet = BtcWallet.query.filter_by(userid=userid).first() curbal = Decimal(userswallet.currentbalance) amounttomod = Decimal(amount) newbalance = Decimal(curbal) - Decimal(amounttomod) userswallet.currentbalance = newbalance db.session.add(userswallet) db.session.commit() oid = int(comment) addtransaction(category=type_transaction, amount=amount, userid=userid, comment='Sent Coin To Escrow', shard=userswallet.shard, orderid=oid, balance=newbalance) except Exception as e: errorLogger(function='sendcointoescrow', error=e, kindoferror=4, user=userid) # find order and cancel it order = db.session.query(Orders).filter( Orders.id == comment).first() # change the order status order.disputed_order = 0 order.cancelled = 1 order.completed = 1 order.buyorsell = 1 order.released = 1 order.completed_time = datetime.utcnow() db.session.add(order) db.session.commit() else: order = db.session.query(Orders).filter(Orders.id == comment).first() # change the order status # change the order status order.disputed_order = 0 order.cancelled = 1 order.completed = 1 order.buyorsell = 1 order.released = 1 order.completed_time = datetime.utcnow() db.session.add(order) db.session.commit() notification(type=34, username='', userid=userid, salenumber=comment, bitcoin=amount)