Ejemplo n.º 1
0
    def info(cls, thash: str):
        data = utils.make_request("getrawtransaction", [thash, True])

        if data["error"] is None:
            if "blockhash" in data["result"]:
                block = utils.make_request("getblock", [data["result"]["blockhash"]])["result"]
                data["result"]["height"] = block["height"]
            else:
                data["result"]["height"] = -1

            if data["result"]["height"] != 0:
                for index, vin in enumerate(data["result"]["vin"]):
                    if "txid" in vin:
                        vin_data = utils.make_request("getrawtransaction", [vin["txid"], True])
                        if vin_data["error"] is None:
                            data["result"]["vin"][index]["scriptPubKey"] = vin_data["result"]["vout"][vin["vout"]]["scriptPubKey"]
                            data["result"]["vin"][index]["value"] = utils.satoshis(vin_data["result"]["vout"][vin["vout"]]["value"])

            amount = 0
            for index, vout in enumerate(data["result"]["vout"]):
                data["result"]["vout"][index]["value"] = utils.satoshis(vout["value"])
                amount += vout["value"]

            data["result"]["amount"] = amount

        return data
Ejemplo n.º 2
0
    def info(cls, thash: str):
        data = utils.make_request('getrawtransaction', [thash, True])

        if data['error'] is None:
            if 'blockhash' in data['result']:
                block = utils.make_request(
                    'getblock', [data['result']['blockhash']])['result']
                data['result']['height'] = block['height']
            else:
                data['result']['height'] = -1

            if data['result']['height'] != 0:
                for index, vin in enumerate(data['result']['vin']):
                    if 'txid' in vin:
                        vin_data = utils.make_request('getrawtransaction',
                                                      [vin['txid'], True])
                        if vin_data['error'] is None:
                            data['result']['vin'][index][
                                'scriptPubKey'] = vin_data['result']['vout'][
                                    vin['vout']]['scriptPubKey']
                            data['result']['vin'][index][
                                'value'] = utils.satoshis(
                                    vin_data['result']['vout'][
                                        vin['vout']]['value'])

            amount = 0
            for index, vout in enumerate(data['result']['vout']):
                data['result']['vout'][index]['value'] = utils.satoshis(
                    vout['value'])
                amount += vout['value']

            data['result']['amount'] = amount

        return data
Ejemplo n.º 3
0
    def fee(cls):
        data = utils.make_request("estimatesmartfee", [6])

        if "errors" in data["result"]:
            return utils.response({
                "feerate": utils.satoshis(0.0001),
                "blocks": 6
            })

        data["result"]["feerate"] = utils.satoshis(data["result"]["feerate"])

        return data
Ejemplo n.º 4
0
    def supply(cls):
        data = utils.make_request('getblockchaininfo')
        height = data['result']['blocks']

        calc_height = height

        reward = utils.satoshis(50)
        halvings = 840000
        halvings_count = 0
        supply = reward

        while calc_height > halvings:
            total = halvings * reward
            reward = reward / 2
            calc_height = calc_height - halvings
            halvings_count += 1

            supply += total

        supply = supply + calc_height * reward

        return {
            'halvings': int(halvings_count),
            'supply': int(supply),
            'height': height
        }
Ejemplo n.º 5
0
    def fee(cls):
        data = utils.make_request('estimatesmartfee', [6])

        if data['error'] is None:
            data['result']['feerate'] = utils.satoshis(
                data['result']['feerate'])

        return data
Ejemplo n.º 6
0
    def fee(cls):
        #data = utils.make_request('estimatesmartfee', [6])

        #if data['error'] is None:
        #	data['result']['feerate'] = utils.satoshis(data['result']['feerate'])

        #return data

        return utils.response({'feerate': utils.satoshis(0.001), 'blocks': 6})
Ejemplo n.º 7
0
    def fee(cls):
        # ToDo: Fix me

        # data = utils.make_request("estimatesmartfee", [6])

        # if data["error"] is None:
        #   data["result"]["feerate"] = utils.satoshis(data["result"]["feerate"])

        # return data

        return utils.response({"feerate": utils.satoshis(0.0001), "blocks": 6})
Ejemplo n.º 8
0
    def info(cls, thash: str):
        data = {"result": ''}
        rpc_call = bitcoin_cli.get_raw_transaction(thash)
        # data = utils.make_request("getrawtransaction", [thash, True])
        if rpc_call is not None:
            data["result"] = rpc_call
            if "blockhash" in data["result"]:
                rpc_call = bitcoin_cli.get_block(data["result"]["blockhash"])
                block = {"result": rpc_call}
                block = block["result"]
                data["result"]["height"] = block["height"]
            else:
                data["result"]["height"] = -1
            if data["result"]["height"] != 0:
                for index, vin in enumerate(data["result"]["vin"]):
                    if "txid" in vin:
                        rpc_call = bitcoin_cli.get_raw_transaction(vin["txid"])
                        # print(rpc_call)
                        if rpc_call is None:
                            vin_data = {"result": rpc_call}
                            data["result"]["vin"][index][
                                "scriptPubKey"] = vin_data["result"]["vout"][
                                    vin["vout"]]["scriptPubKey"]
                            data["result"]["vin"][index][
                                "value"] = utils.satoshis(
                                    vin_data["result"]["vout"][
                                        vin["vout"]]["value"])

            amount = 0
            for index, vout in enumerate(data["result"]["vout"]):
                data["result"]["vout"][index]["value"] = utils.satoshis(
                    vout["value"])
                amount += vout["value"]

            data["result"]["amount"] = amount

        return data
Ejemplo n.º 9
0
    def fee(cls):
        # ToDo: Fix me
        # https://github.com/sugarchain-project/sugarchain/issues/34

        # data = utils.make_request('estimatesmartfee', [6])

        # if data['error'] is None:
        # 	data['result']['feerate'] = utils.satoshis(data['result']['feerate'])

        # return data

        return utils.response({
            'feerate': utils.satoshis(0.00001),
            'blocks': 6
        })
Ejemplo n.º 10
0
    def fee(cls):
        # ToDo: Fix me
        # https://github.com/sugarchain-project/sugarchain/issues/34

        # data = utils.make_request("estimatesmartfee", [6])

        # if data["error"] is None:
        #   data["result"]["feerate"] = utils.satoshis(data["result"]["feerate"])

        # return data

        return utils.response({
            "feerate": utils.satoshis(0.00001),
            "blocks": 6
        })
Ejemplo n.º 11
0
    def fee(cls):
        # ToDo: Fix me
        # https://github.com/nooncoin/api-server/issue/

        # data = utils.make_request("estimatesmartfee", [6])

        # if data["error"] is None:
        #   data["result"]["feerate"] = utils.satoshis(data["result"]["feerate"])

        # return data

        return utils.response({
            "feerate": utils.satoshis(0.00001),
            "blocks": 6
        })
Ejemplo n.º 12
0
 def fee(cls):
     return utils.response({"feerate": utils.satoshis(0.001), "blocks": 6})