def get(self): db_updated = yield tornado.gen.Task(is_db_updated) bitcoin_updated = yield tornado.gen.Task(is_bitcoin_updated) version_updated = yield tornado.gen.Task(is_version_updated) block_count_db, block_count_bitcoin = yield tornado.gen.Task( get_status) info = None error = None bets = util.get_bets(db, order_by='tx_index', validity='valid') bets = bet_tuples(bets[:100]) my_bets = [] supply = util.devise(db, util.cha_supply(db), 'CHA', 'output') max_profit = float(supply) * config.MAX_PROFIT self.render("casino.html", db_updated=db_updated, bitcoin_updated=bitcoin_updated, version_updated=version_updated, bets=bets, my_bets=my_bets, supply=supply, house_edge=config.HOUSE_EDGE, max_profit=max_profit, info=info, error=error, block_count_db=block_count_db, block_count_bitcoin=block_count_bitcoin)
def post(self): db_updated = yield tornado.gen.Task(is_db_updated) bitcoin_updated = yield tornado.gen.Task(is_bitcoin_updated) version_updated = yield tornado.gen.Task(is_version_updated) block_count_db, block_count_bitcoin = yield tornado.gen.Task(get_status) info = None error = None bets = util.get_bets(db, order_by='tx_index', validity='valid') bets = bet_tuples(bets[:100]) my_bets = [] supply = util.devise(db, util.cha_supply(db), 'CHA', 'output') max_profit = float(supply)*config.MAX_PROFIT if self.get_argument("form")=="roll" and self.get_argument("source") and self.get_argument("bet") and self.get_argument("payout") and self.get_argument("chance"): source = self.get_argument("source") bet_amount = util.devise(db, self.get_argument("bet"), 'CHA', 'input') chance = util.devise(db, self.get_argument("chance"), 'value', 'input') payout = util.devise(db, self.get_argument("payout"), 'value', 'input') try: tx_hex = bet.create(db, source, bet_amount, chance, payout, unsigned=False) bitcoin.transmit(tx_hex, ask=False) info = "Thanks for betting!" except: error = sys.exc_info()[1] elif self.get_argument("form")=="my_bets" and self.get_argument("address"): try: my_bets = util.get_bets(db, source = self.get_argument("address"), order_by='tx_index', validity='valid') my_bets = bet_tuples(my_bets) except: my_bets = [] self.render("casino.html", db_updated = db_updated, bitcoin_updated = bitcoin_updated, version_updated = version_updated, bets = bets, my_bets = my_bets, supply = supply, house_edge = config.HOUSE_EDGE, max_profit = max_profit, info = info, error = error, block_count_db = block_count_db, block_count_bitcoin = block_count_bitcoin)
def balance_tuples(balances): balances_new = [] if balances!=None: cha_supply = util.cha_supply(db) for balance in balances: burns = util.get_burns(db, source = balance['address'], validity='valid') burned = sum([burn['burned'] for burn in burns]) balances_new.append((balance['address'],util.devise(db, balance['amount'], 'CHA', 'output'),util.devise(db, burned, 'BTC', 'output'), balance['amount']/cha_supply*100)) return balances_new
def post(self): db_updated = yield tornado.gen.Task(is_db_updated) bitcoin_updated = yield tornado.gen.Task(is_bitcoin_updated) version_updated = yield tornado.gen.Task(is_version_updated) block_count_db, block_count_bitcoin = yield tornado.gen.Task( get_status) info = None error = None bets = util.get_bets(db, order_by='tx_index', validity='valid') bets = bet_tuples(bets[:100]) my_bets = [] supply = util.devise(db, util.cha_supply(db), 'CHA', 'output') max_profit = float(supply) * config.MAX_PROFIT if self.get_argument("form") == "roll" and self.get_argument( "source") and self.get_argument("bet") and self.get_argument( "payout") and self.get_argument("chance"): source = self.get_argument("source") bet_amount = util.devise(db, self.get_argument("bet"), 'CHA', 'input') chance = util.devise(db, self.get_argument("chance"), 'value', 'input') payout = util.devise(db, self.get_argument("payout"), 'value', 'input') try: tx_hex = bet.create(db, source, bet_amount, chance, payout, unsigned=False) bitcoin.transmit(tx_hex, ask=False) info = "Thanks for betting!" except: error = sys.exc_info()[1] elif self.get_argument("form") == "my_bets" and self.get_argument( "address"): try: my_bets = util.get_bets(db, source=self.get_argument("address"), order_by='tx_index', validity='valid') my_bets = bet_tuples(my_bets) except: my_bets = [] self.render("casino.html", db_updated=db_updated, bitcoin_updated=bitcoin_updated, version_updated=version_updated, bets=bets, my_bets=my_bets, supply=supply, house_edge=config.HOUSE_EDGE, max_profit=max_profit, info=info, error=error, block_count_db=block_count_db, block_count_bitcoin=block_count_bitcoin)
def get(self): db_updated = yield tornado.gen.Task(is_db_updated) bitcoin_updated = yield tornado.gen.Task(is_bitcoin_updated) version_updated = yield tornado.gen.Task(is_version_updated) block_count_db, block_count_bitcoin = yield tornado.gen.Task(get_status) info = None error = None bets = util.get_bets(db, order_by='tx_index', validity='valid') bets = bet_tuples(bets[:100]) my_bets = [] supply = util.devise(db, util.cha_supply(db), 'CHA', 'output') max_profit = float(supply)*config.MAX_PROFIT self.render("casino.html", db_updated = db_updated, bitcoin_updated = bitcoin_updated, version_updated = version_updated, bets = bets, my_bets = my_bets, supply = supply, house_edge = config.HOUSE_EDGE, max_profit = max_profit, info = info, error = error, block_count_db = block_count_db, block_count_bitcoin = block_count_bitcoin)
def balance_tuples(balances): balances_new = [] if balances != None: cha_supply = util.cha_supply(db) for balance in balances: burns = util.get_burns(db, source=balance['address'], validity='valid') burned = sum([burn['burned'] for burn in burns]) balances_new.append( (balance['address'], util.devise(db, balance['amount'], 'CHA', 'output'), util.devise(db, burned, 'BTC', 'output'), balance['amount'] / cha_supply * 100)) return balances_new
def get(self): supply = util.devise(db, util.cha_supply(db), 'CHA', 'output') self.render("index.html", supply = supply)
elif args.action == 'cancel': unsigned_tx_hex = cancel.create(db, args.offer_hash, unsigned=args.unsigned) print(unsigned_tx_hex) if args.unsigned else json_print(bitcoin.transmit(unsigned_tx_hex)) elif args.action == 'balances': try: bitcoin.base58_decode(args.address, config.ADDRESSVERSION) except Exception: raise exceptions.InvalidAddressError('Invalid Bitcoin address:', args.address) balances(args.address) elif args.action == 'asset': # TODO: Use API if args.asset == 'CHA': total = util.devise(db, util.cha_supply(db), args.asset, 'output') divisible = True elif args.asset == 'BTC': total = None divisible = True asset_id = util.get_asset_id(args.asset) print('Asset Name:', args.asset) print('Asset ID:', asset_id) print('Total Issued:', total) elif args.action == 'wallet': total_table = PrettyTable(['Asset', 'Balance']) totals = {} print()
unsigned=args.unsigned) print(unsigned_tx_hex) if args.unsigned else json_print( bitcoin.transmit(unsigned_tx_hex)) elif args.action == 'balances': try: bitcoin.base58_decode(args.address, config.ADDRESSVERSION) except Exception: raise exceptions.InvalidAddressError('Invalid Bitcoin address:', args.address) balances(args.address) elif args.action == 'asset': # TODO: Use API if args.asset == 'CHA': total = util.devise(db, util.cha_supply(db), args.asset, 'output') divisible = True elif args.asset == 'BTC': total = None divisible = True asset_id = util.get_asset_id(args.asset) print('Asset Name:', args.asset) print('Asset ID:', asset_id) print('Total Issued:', total) elif args.action == 'wallet': total_table = PrettyTable(['Asset', 'Balance']) totals = {} print()
def get(self): supply = util.devise(db, util.cha_supply(db), 'CHA', 'output') self.render("index.html", supply=supply)