Пример #1
0
    def __init__(self, peerplays_instance=None):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.sports = self.peerplays.rpc.list_sports()

        super(Sports, self).__init__([
            Sport(x, lazy=True, peerplays_instance=peerplays_instance)
            for x in self.sports
        ])
Пример #2
0
 def __init__(
     self,
     identifier,
     peerplays_instance=None,
 ):
     self.identifier = identifier
     self.peerplays = peerplays_instance or shared_peerplays_instance()
     self.refresh()
Пример #3
0
    def __init__(self, sport_id, peerplays_instance=None):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.eventgroups = self.peerplays.rpc.list_event_groups(sport_id)

        super(EventGroups, self).__init__([
            EventGroup(x, lazy=True, peerplays_instance=peerplays_instance)
            for x in self.eventgroups
        ])
Пример #4
0
    def __init__(self, from_account, to_account, peerplays_instance=None):

        self.peerplays = peerplays_instance or shared_peerplays_instance()

        self.to_account = Account(to_account,
                                  peerplays_instance=self.peerplays)
        self.from_account = Account(from_account,
                                    peerplays_instance=self.peerplays)
Пример #5
0
 def __init__(
     self,
     member,
     peerplays_instance=None,
 ):
     self.member = member
     self.peerplays = peerplays_instance or shared_peerplays_instance()
     self.refresh()
Пример #6
0
    def __init__(self, peerplays_instance=None):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.schedule = self.peerplays.rpc.get_object("2.12.0").get(
            "current_shuffled_witnesses", [])

        super(Witnesses, self).__init__([
            Witness(x, lazy=True, peerplays_instance=self.peerplays)
            for x in self.schedule
        ])
    def __init__(self, betting_market_group_id, peerplays_instance=None):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.bettingmarkets = self.peerplays.rpc.list_betting_markets(
            betting_market_group_id)

        super(BettingMarkets, self).__init__([
            BettingMarket(x, lazy=True, peerplays_instance=peerplays_instance)
            for x in self.bettingmarkets
        ])
Пример #8
0
    def __init__(self, peerplays_instance=None, mode="irreversible"):
        self.peerplays = peerplays_instance or shared_peerplays_instance()

        if mode == "irreversible":
            self.mode = 'last_irreversible_block_num'
        elif mode == "head":
            self.mode = "head_block_number"
        else:
            raise ValueError("invalid value for 'mode'!")
Пример #9
0
    def __init__(self, data, peerplays_instance=None):
        self.peerplays = peerplays_instance or shared_peerplays_instance()

        if isinstance(data, dict):
            super(AccountUpdate, self).__init__(data)
        else:
            account = Account(data, peerplays_instance=self.peerplays)
            update = self.peerplays.rpc.get_objects(
                ["2.6.%s" % (account["id"].split(".")[2])])[0]
            super(AccountUpdate, self).__init__(update)
Пример #10
0
    def __init__(
        self,
        block,
        peerplays_instance=None,
    ):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.block = block

        if isinstance(block, Block):
            super(Block, self).__init__(block)
        else:
            self.refresh()
Пример #11
0
    def __init__(self, account, full=False, peerplays_instance=None):
        self.full = full
        self.peerplays = peerplays_instance or shared_peerplays_instance()

        if isinstance(account, Account):
            super(Account, self).__init__(account)
            self.name = account["name"]
        elif isinstance(account, str):
            self.name = account.strip().lower()
        else:
            raise ValueError(
                "Account() expects an account name, id or an instance of Account"
            )

        self.refresh()
Пример #12
0
    def __init__(
        self,
        accounts=[],
        objects=[],
        on_tx=None,
        on_object=None,
        on_block=None,
        on_account=None,
        peerplays_instance=None,
    ):
        # Events
        super(Notify, self).__init__()
        self.events = Events()

        # PeerPlays instance
        self.peerplays = peerplays_instance or shared_peerplays_instance()

        # Accounts
        account_ids = []
        for account_name in accounts:
            account = Account(
                account_name,
                peerplays_instance=self.peerplays
            )
            account_ids.append(account["id"])

        # Callbacks
        if on_tx:
            self.on_tx += on_tx
        if on_object:
            self.on_object += on_object
        if on_block:
            self.on_block += on_block
        if on_account:
            self.on_account += on_account

        # Open the websocket
        self.websocket = PeerPlaysWebsocket(
            urls=self.peerplays.rpc.urls,
            user=self.peerplays.rpc.user,
            password=self.peerplays.rpc.password,
            accounts=account_ids,
            objects=objects,
            on_tx=on_tx,
            on_object=on_object,
            on_block=on_block,
            on_account=self.process_account,
        )
Пример #13
0
    def __init__(
        self,
        identifier,
        lazy=False,
        peerplays_instance=None,
    ):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.cached = False

        if isinstance(identifier, str):
            self.identifier = identifier
            if not lazy:
                self.refresh()
        elif isinstance(identifier, dict):
            self.cached = False
            self.identifier = identifier.get("id")
            super(BettingMarketGroup, self).__init__(identifier)
Пример #14
0
    def __init__(
        self,
        witness,
        lazy=False,
        peerplays_instance=None,
    ):
        self.peerplays = peerplays_instance or shared_peerplays_instance()
        self.cached = False

        if isinstance(witness, Witness):
            self.witness = witness["name"]
            super(Witness, self).__init__(witness)
            self.cached = True
            self._cache(witness)
        else:
            self.witness = witness
            if witness in Witness.witness_cache:
                super(Witness, self).__init__(Witness.witness_cache[witness])
                self.cached = True
            elif not lazy and not self.cached:
                self.refresh()
Пример #15
0
    def __init__(self, asset, lazy=False, full=False, peerplays_instance=None):
        self.cached = False
        self.full = full
        self.asset = None

        self.peerplays = peerplays_instance or shared_peerplays_instance()

        if isinstance(asset, Asset):
            self.asset = asset.get("symbol")
            super(Asset, self).__init__(asset)
            self.cached = True
            self._cache(asset)
        elif isinstance(asset, str):
            self.asset = asset
            if self.asset in Asset.assets_cache:
                super(Asset, self).__init__(Asset.assets_cache[self.asset])
                self.cached = True
            elif not lazy and not self.cached:
                self.refresh()
                self.cached = True
        else:
            raise ValueError(
                "Asset() expects a symbol, id or an instance of Asset")
Пример #16
0
 def get_node(self):
     return shared_peerplays_instance()
 def __init__(self, tx={}, peerplays_instance=None):
     self.peerplays = peerplays_instance or shared_peerplays_instance()
     self.clear()
     if not isinstance(tx, dict):
         raise ValueError("Invalid TransactionBuilder Format")
     super(TransactionBuilder, self).__init__(tx)
Пример #18
0
    def __init__(self, *args, amount=None, asset=None, peerplays_instance=None):
        self["asset"] = {}

        self.peerplays = peerplays_instance or shared_peerplays_instance()

        if len(args) == 1 and isinstance(args[0], Amount):
            # Copy Asset object
            self["amount"] = args[0]["amount"]
            self["symbol"] = args[0]["symbol"]
            self["asset"] = args[0]["asset"]

        elif len(args) == 1 and isinstance(args[0], str):
            self["amount"], self["symbol"] = args[0].split(" ")
            self["asset"] = Asset(self["symbol"], peerplays_instance=self.peerplays)

        elif (len(args) == 1 and
                isinstance(args[0], dict) and
                "amount" in args[0] and
                "asset_id" in args[0]):
            self["asset"] = Asset(args[0]["asset_id"], peerplays_instance=self.peerplays)
            self["symbol"] = self["asset"]["symbol"]
            self["amount"] = int(args[0]["amount"]) / 10 ** self["asset"]["precision"]

        elif (len(args) == 1 and
                isinstance(args[0], dict) and
                "amount" in args[0] and
                "asset" in args[0]):
            self["asset"] = Asset(args[0]["asset"], peerplays_instance=self.peerplays)
            self["symbol"] = self["asset"]["symbol"]
            self["amount"] = int(args[0]["amount"]) / 10 ** self["asset"]["precision"]

        elif len(args) == 2 and isinstance(args[1], Asset):
            self["amount"] = args[0]
            self["symbol"] = args[1]["symbol"]
            self["asset"] = args[1]

        elif len(args) == 2 and isinstance(args[1], str):
            self["amount"] = args[0]
            self["asset"] = Asset(args[1], peerplays_instance=self.peerplays)
            self["symbol"] = self["asset"]["symbol"]

        elif amount and asset and isinstance(asset, Asset):
            self["amount"] = amount
            self["asset"] = asset
            self["symbol"] = self["asset"]["symbol"]

        elif amount and asset and isinstance(asset, dict):
            self["amount"] = amount
            self["asset"] = asset
            self["symbol"] = self["asset"]["symbol"]

        elif amount and asset and isinstance(asset, str):
            self["amount"] = amount
            self["asset"] = Asset(asset)
            self["symbol"] = asset

        else:
            raise ValueError

        # make sure amount is a float
        self["amount"] = float(self["amount"])