Example #1
0
 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)
Example #2
0
 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)
Example #3
0
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
Example #4
0
 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)
Example #5
0
 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)
Example #6
0
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
Example #7
0
 def get(self):
     supply = util.devise(db, util.cha_supply(db), 'CHA', 'output')
     self.render("index.html", supply = supply)
Example #8
0
    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()
Example #9
0
                                        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()
Example #10
0
 def get(self):
     supply = util.devise(db, util.cha_supply(db), 'CHA', 'output')
     self.render("index.html", supply=supply)