コード例 #1
0
 def test_success(self):
     testee = TornadoClient(self.get_url('/echo'))
     response = yield testee.some_method(1, [2], {
         '3': 4,
         '5': True,
         '6': None
     })
     self.assertEqual([1, [2], {'3': 4, '6': None, '5': True}], response)
コード例 #2
0
 def test_custom_headers(self):
     testee = TornadoClient(self.get_url('/echo'))
     response = yield testee.send(Request('some_method', 1, [2], {
         '3': 4,
         '5': True,
         '6': None
     }),
                                  headers={'foo': 'bar'})
     self.assertEqual([1, [2], {'3': 4, '6': None, '5': True}], response)
コード例 #3
0
from tornado.ioloop import IOLoop
from jsonrpcclient.tornado_client import TornadoClient

client = TornadoClient('http://localhost:5000/')


async def main():
    response = await client.request('ping')
    print(response)


IOLoop.current().run_sync(main)
コード例 #4
0
class Account(GenesisClass):
    balance = Balance()
    blockchain = Blockchain()
    permissions = Permissions()
    mailer = Mail()
    client_storage = TornadoClient(settings.storageurl)
    client_withdraw = TornadoClient(settings.withdrawhost)

    validator = {
        "QTUM": lambda x: Qtum.public_key_to_hex_address(x),
        "ETH": lambda x: R8_Ethereum.public_key_to_checksum_address(x),
        "PUT": lambda x: Qtum.public_key_to_hex_address(x),
    }

    withdraw_address = {
        "PUTTEST": lambda x: bip32addresses.Bip32Addresses.address_to_hex(x),
        "QTUMTEST": lambda x: x
    }

    ident_offer = {0: "read_access", 1: "write_access"}

    async def withdraw_fee(self, coinid):
        if not isinstance(coinid, str):
            return {
                "error": 400,
                "reason": "Coinid type error. Must be string."
            }
        fees = {
            "BTCTEST": 0.001 * pow(10, 8),
            "ETH": 0.01 * pow(10, 8),
            "QTUMTEST": 0.5 * pow(10, 8),
            "PUTTEST": 50 * pow(10, 8),
            "LTCTEST": 0.05 * pow(10, 8)
        }
        try:
            fee = fees[coinid]
        except KeyError:
            fee = 0
        return fee

    async def logsource(self, **params):
        result = await self.client_storage.request(method_name="logsource",
                                                   **params)
        return result

    async def createaccount(self, **params):
        result = await self.client_storage.request(method_name="createaccount",
                                                   **params)
        return result

    async def getaccountdata(self, **params):
        result = await self.client_storage.request(
            method_name="getaccountdata", **params)
        return result

    async def createwallet(self, **params):
        result = await self.client_storage.request(method_name="createwallet",
                                                   **params)
        return result

    async def getnews(self, **params):
        result = await self.client_storage.request(method_name="getnews",
                                                   **params)
        return result

    async def setnews(self, **params):
        result = await self.client_storage.request(method_name="setnews",
                                                   **params)
        return result

    async def getaccountbywallet(self, **params):
        result = await self.client_storage.request(
            method_name="getaccountbywallet", **params)
        return result

    async def updatelevel(self, **params):
        result = await self.client_storage.request(method_name="updatelevel",
                                                   **params)
        return result

    async def insertoffer(self, **params):
        result = await self.client_storage.request(method_name="insertoffer",
                                                   **params)
        return result

    async def getoffer(self, **params):
        result = await self.client_storage.request(method_name="getoffer",
                                                   **params)
        return result

    async def removeoffer(self, **params):
        result = await self.client_storage.request(method_name="removeoffer",
                                                   **params)
        return result

    async def updateoffer(self, **params):
        result = await self.client_storage.request(method_name="updateoffer",
                                                   **params)
        return result

    async def mailedconfirm(self, **params):
        result = await self.client_storage.request(method_name="mailedconfirm",
                                                   **params)
        return result

    async def getoffers(self, **params):
        result = await self.client_storage.request(method_name="getoffers",
                                                   **params)
        return result

    async def getuserscontent(self, **params):
        result = await self.client_storage.request(
            method_name="getuserscontent", **params)
        return result

    async def setuserscontent(self, **params):
        result = await self.client_storage.request(
            method_name="setuserscontent", **params)
        return result

    async def updateuserscontent(self, **params):
        result = await self.client_storage.request(
            method_name="updateuserscontent", **params)
        return result

    async def getallcontent(self):
        result = await self.client_storage.request(method_name="getallcontent")
        return result

    async def getsinglecontent(self, cid):
        result = await self.client_storage.request(
            method_name="getsinglecontent", cid=cid)
        return result

    async def changecontentowner(self, **params):
        result = await self.client_storage.request(
            method_name="changecontentowner", **params)
        return result

    async def setaccessstring(self, **params):
        result = await self.client_storage.request(
            method_name="setaccessstring", **params)
        return result

    async def getreviews(self, **params):
        result = await self.client_storage.request(method_name="getreviews",
                                                   **params)
        return result

    async def setreview(self, **params):
        result = await self.client_storage.request(method_name="setreview",
                                                   **params)
        return result

    async def updatereview(self, **params):
        result = await self.client_storage.request(method_name="updatereview",
                                                   **params)
        return result

    async def writedeal(self, **params):
        result = await self.client_storage.request(method_name="writedeal",
                                                   **params)
        return result

    async def getdeals(self, **params):
        result = await self.client_storage.request(method_name="getdeals",
                                                   **params)
        return result

    async def updatedescription(self, **params):
        result = await self.client_storage.request(
            method_name="updatedescription", **params)
        return result

    async def setwriteprice(self, **params):
        result = await self.client_storage.request(method_name="setwriteprice",
                                                   **params)
        return result

    async def setreadprice(self, **params):
        result = await self.client_storage.request(method_name="setreadprice",
                                                   **params)
        return result

    async def changeowner(self, **params):
        result = await self.client_storage.request(method_name="changeowner",
                                                   **params)
        return result

    async def sharecontent(self, **params):
        result = await self.client_storage.request(method_name="sharecontent",
                                                   **params)
        return result

    async def withdraw(self, **params):
        result = await self.client_withdraw.request(method_name="withdraw",
                                                    **params)
        return result
コード例 #5
0
 def test_failure(self):
     testee = TornadoClient(self.get_url('/fail'))
     with self.assertRaises(httpclient.HTTPError) as ctx:
         yield testee.fail(code=500)
     self.assertEqual('HTTP 500: Internal Server Error', str(ctx.exception))
コード例 #6
0
from robin8_billing import robin8_billing
import logging
import json
import os
import settings
from jsonrpcclient.tornado_client import TornadoClient
from tornado_components.web import RobustTornadoClient, SignedTornadoClient
from config import storage_type, storage_host, storage_port, storage_download_time_limit, \
                    contract_owner, contract_owner_hex, contract_address, blockchain_type, \
                    decimals, ipc_path, http_provider, pmes_abi, private_key, \
                    gas_limit, gas_price
from robin8.pmes_eth_contract_handler import PmesEthContractHandler
from robin8.pmes_qtum_contract_handler import PmesQtumContractHandler
from qtum_utils.qtum import Qtum

client_storage = TornadoClient(settings.storageurl)
client_balance = TornadoClient(settings.balanceurl)

coinid = "QTUM"


def get_storage_handler():
    if storage_type == 'ipfs':
        return R8Storage.init_ipfs(host=storage_host,
                                   port=storage_port,
                                   time_limit=storage_download_time_limit)
    else:
        return R8Storage.init_no_storage()


def verify(func):
コード例 #7
0
ファイル: balance_methods.py プロジェクト: chris0203/pmes
    async def incbalance(self, *args, **kwargs):
        """ Increments users balance 

        Accepts:
            - message (signed dictionary):
                - "address" - str
                - "amount" - int
                - "uid" - str
                - "coinid" - str

        Returns:
            - dictionary with following fields:
                - "address" - str
                - "coinid" - str
                - "amount" - int
                - "uid" - int
                - "unconfirmed" - int (0 by default)
                - "deposit" - int (0 by default)
                - "txid" - None
                
        """
        # Get data from message
        message = json.loads(kwargs.get("message", "{}"))
        address = message.get("address")
        amount = int(message.get("amount", 0))
        uid = message.get("uid")
        coinid = message.get("coinid")
        txid = message.get("txid")

        # Connect to database
        db = client[coinid]
        balances = db[settings.BALANCE]

        # Check if amount
        if not amount:
            return {"error": 400, "reason": "Funds is zero"}

        # Get account by uid or address
        if uid:
            balance = await balances.find_one({"uid": int(uid)})
        elif address:
            balance = await balances.find_one({"address": address})
        # Increment balance if account exists
        if not balance:
            return {
                "error": 404,
                "reason": "Increment balance. Balance not found"
            }

        # Update balance
        if not txid:
            await balances.find_one_and_update(
                {"address": balance["address"]},
                {"$inc": {
                    "amount": int(amount)
                }})
            result = await balances.find_one({"address": balance["address"]})

        else:
            db = client["PUT"]
            balances = db[settings.BALANCE]
            await balances.find_one_and_update(
                {"uid": balance["uid"]},
                {"$inc": {
                    "unconfirmed": int(amount)
                }})
            result = await balances.find_one({"uid": balance["uid"]})

            await balances.find_one_and_update({"uid": balance["uid"]},
                                               {"$set": {
                                                   "txid": txid
                                               }})

        account_client = SignedTornadoClient(settings.storageurl)
        account = await account_client.request(method_name="getaccountdata",
                                               **{"id": balance["uid"]})

        # Send mail to user
        if account.get("email"):
            client_email = TornadoClient(settings.emailurl)
            email_data = {
                "to":
                account["email"],
                "subject":
                "Robin8 Support",
                "optional":
                "You`ve got %s tokens. Now your balance is %s" %
                (amount / pow(10, 8), int(result["amount"]) / pow(10, 8))
            }
            await client_email.request(method_name="sendmail", **email_data)

        # Return result
        result = {i: result[i] for i in result if i != "_id"}
        result["amount"] = int(result["amount"])
        return result
コード例 #8
0
ファイル: client.py プロジェクト: Purusah/asino777
from tornado import ioloop
from jsonrpcclient.tornado_client import TornadoClient
#from casino import get_balance

port = 8001
client = TornadoClient("http://localhost:8001/")


async def get_balance():
    await client.request("get_balance")


async def update_balance():
    await client.request("update_balance", **balance)


async def test_ping():
    await client.request("ping")


# async def main():
#     b = await get_balance()
#     #assert(b == 274)
#     p = await test_ping()
#     #assert(p == "pong")
#
# ioloop.IOLoop.current().run_sync(main)