From 85010a979278a7d8263f4c33b6060ef794a78b09 Mon Sep 17 00:00:00 2001 From: Holger Nahrstaedt <holgernahrstaedt@gmx.de> Date: Fri, 9 Oct 2020 20:21:42 +0200 Subject: [PATCH] Fix severial issues for HF24 * Add new operation ids for HF 24 * Remove remaining py2 code * Run unit tests on beta.openhive.network * Fix compatibility issues with HF 24 * account get_follow_count, get_followers and get_following have been fixed --- CHANGELOG.rst | 4 ++ beem/account.py | 44 +++++++----- beem/amount.py | 9 +-- beem/asciichart.py | 7 +- beem/asset.py | 6 +- beem/block.py | 6 +- beem/blockchain.py | 16 +---- beem/blockchaininstance.py | 8 +-- beem/blockchainobject.py | 2 +- beem/blurt.py | 8 +-- beem/cli.py | 18 +++-- beem/comment.py | 15 ++-- beem/community.py | 7 +- beem/constants.py | 6 +- beem/conveyor.py | 6 +- beem/discussions.py | 6 +- beem/exceptions.py | 6 +- beem/hive.py | 8 +-- beem/hivesigner.py | 7 +- beem/imageuploader.py | 6 +- beem/instance.py | 7 +- beem/market.py | 7 +- beem/memo.py | 8 +-- beem/message.py | 7 +- beem/nodelist.py | 7 +- beem/notify.py | 6 +- beem/price.py | 9 +-- beem/profile.py | 6 +- beem/rc.py | 6 +- beem/snapshot.py | 7 +- beem/steem.py | 8 +-- beem/storage.py | 6 +- beem/transactionbuilder.py | 9 +-- beem/utils.py | 7 +- beem/vote.py | 7 +- beem/wallet.py | 7 +- beem/witness.py | 7 +- beemapi/graphenerpc.py | 14 +--- beemapi/node.py | 7 +- beemapi/noderpc.py | 6 +- beemapi/rpcutils.py | 6 +- beemapi/websocket.py | 7 +- beembase/ledgertransactions.py | 6 +- beembase/memo.py | 7 +- beembase/objects.py | 8 +-- beembase/objecttypes.py | 5 +- beembase/operationids.py | 10 +-- beembase/operations.py | 6 +- beembase/signedtransactions.py | 6 +- beembase/transactions.py | 5 +- beemgraphenebase/account.py | 15 ---- beemgraphenebase/aes.py | 8 +-- beemgraphenebase/base58.py | 8 +-- beemgraphenebase/bip38.py | 6 +- beemgraphenebase/chains.py | 5 +- beemgraphenebase/ecdsasig.py | 8 +-- beemgraphenebase/objects.py | 10 +-- beemgraphenebase/operations.py | 6 +- beemgraphenebase/py23.py | 6 +- beemgraphenebase/signedtransactions.py | 6 +- beemgraphenebase/types.py | 39 +--------- beemgraphenebase/unsignedtransactions.py | 7 +- setup.py | 1 + tests/beem/nodes.py | 15 ++++ tests/beem/test_account.py | 16 ++--- tests/beem/test_aes.py | 8 +-- tests/beem/test_amount.py | 58 +++++++-------- tests/beem/test_asset.py | 51 +++++-------- tests/beem/test_base_objects.py | 11 +-- tests/beem/test_block.py | 12 +--- tests/beem/test_blockchain.py | 13 +--- tests/beem/test_blockchain_batch.py | 12 +--- tests/beem/test_blockchain_threading.py | 13 ++-- tests/beem/test_cli.py | 18 ++--- tests/beem/test_comment.py | 12 +--- tests/beem/test_connection.py | 1 + tests/beem/test_constants.py | 13 +--- tests/beem/test_conveyor.py | 10 +-- tests/beem/test_discussions.py | 12 +--- tests/beem/test_hive.py | 39 ++++------ tests/beem/test_hivesigner.py | 13 +--- tests/beem/test_instance.py | 17 ++--- tests/beem/test_market.py | 92 +++++++++++------------- tests/beem/test_memo.py | 8 +-- tests/beem/test_message.py | 8 +-- tests/beem/test_nodelist.py | 6 +- tests/beem/test_objectcache.py | 9 +-- tests/beem/test_price.py | 87 +++++++++++----------- tests/beem/test_profile.py | 8 +-- tests/beem/test_steem.py | 21 ++---- tests/beem/test_storage.py | 13 +--- tests/beem/test_testnet.py | 7 +- tests/beem/test_txbuffers.py | 12 +--- tests/beem/test_utils.py | 5 +- tests/beem/test_vote.py | 12 +--- tests/beem/test_wallet.py | 12 +--- tests/beem/test_witness.py | 14 ++-- 97 files changed, 350 insertions(+), 842 deletions(-) create mode 100644 tests/beem/nodes.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d23ef879..e6b0333d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,10 @@ Changelog * Add hbd_interest_rate to beempy witnessproperties * Add beempy listdelegations (thanks to @crokkon) * fix account_name assignment from dict in get_account_reputations() (PR #259) +* Add new operation ids for HF 24 +* Remove remaining py2 code +* Run unit tests on beta.openhive.network +* Fix compatibility issues with HF 24 0.24.9 ------ diff --git a/beem/account.py b/beem/account.py index ec9a9985..3d817f8c 100644 --- a/beem/account.py +++ b/beem/account.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import pytz import json from datetime import datetime, timedelta, date, time @@ -1005,7 +1000,10 @@ class Account(BlockchainObject): raise OfflineHasNoRPCException("No RPC available in offline mode!") self.blockchain.rpc.set_next_node_on_empty_reply(False) if self.blockchain.rpc.get_use_appbase(): - return self.blockchain.rpc.get_follow_count({'account': account}, api='follow') + try: + return self.blockchain.rpc.get_follow_count({'account': account}, api='follow') + except: + return self.blockchain.rpc.get_follow_count(account, api='condenser') else: return self.blockchain.rpc.get_follow_count(account, api='follow') @@ -1086,18 +1084,30 @@ class Account(BlockchainObject): if self.blockchain.rpc.get_use_appbase(): query = {'account': self.name, 'start': last_user, 'type': what, 'limit': limit} if direction == "follower": - followers = self.blockchain.rpc.get_followers(query, api='follow') + try: + followers = self.blockchain.rpc.get_followers(query, api='follow') + except: + followers = self.blockchain.rpc.get_followers(self.name, last_user, what, limit, api='condenser') if isinstance(followers, dict) and 'followers' in followers: followers = followers['followers'] elif direction == "following": - followers = self.blockchain.rpc.get_following(query, api='follow') + try: + followers = self.blockchain.rpc.get_following(query, api='follow') + except: + followers = self.blockchain.rpc.get_following(self.name, last_user, what, limit, api='condenser') if isinstance(followers, dict) and 'following' in followers: followers = followers['following'] else: if direction == "follower": - followers = self.blockchain.rpc.get_followers(self.name, last_user, what, limit, api='follow') + try: + followers = self.blockchain.rpc.get_followers(self.name, last_user, what, limit, api='follow') + except: + followers = self.blockchain.rpc.get_followers([self.name, last_user, what, limit], api='condenser') elif direction == "following": - followers = self.blockchain.rpc.get_following(self.name, last_user, what, limit, api='follow') + try: + followers = self.blockchain.rpc.get_following(self.name, last_user, what, limit, api='follow') + except: + followers = self.blockchain.rpc.get_following(self.name, last_user, what, limit, api='condenser') if cnt == 0: followers_list = followers elif followers is not None and len(followers) > 1: @@ -1741,9 +1751,9 @@ class Account(BlockchainObject): else: return self.blockchain.rpc.get_expiring_vesting_delegations(account, formatTimeString(after), limit) - def get_account_votes(self, account=None, start_author="", start_permlink=""): + def get_account_votes(self, account=None, start_author="", start_permlink="", limit=1000, start_date=None): """ Returns all votes that the account has done - + :rtype: list .. code-block:: python @@ -1774,15 +1784,17 @@ class Account(BlockchainObject): vote_list = [] finished = False while not finished: - ret = self.blockchain.rpc.list_votes({"start": [account, start_author, start_permlink], "limit": 1000, "order": "by_voter_comment"}, api="database")["votes"] + ret = self.blockchain.rpc.list_votes({"start": [account, start_author, start_permlink], "limit": limit, "order": "by_voter_comment"}, api="database")["votes"] + if len(ret) < limit: + finished = True if start_author != "": if len(ret) == 0: finished = True ret = ret[1:] for vote in ret: - if vote["voter"] != account: + last_update = formatTimeString(vote["last_update"]) + if start_date is not None and last_update < start_date: finished = True - continue vote_list.append(vote) start_author = vote["author"] start_permlink = vote["permlink"] diff --git a/beem/amount.py b/beem/amount.py index d6929c4b..70877573 100644 --- a/beem/amount.py +++ b/beem/amount.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str -from future.utils import python_2_unicode_compatible +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from beem.instance import shared_blockchain_instance from beem.asset import Asset @@ -27,7 +21,6 @@ def quantize(amount, precision): return amount.quantize(places, rounding=ROUND_DOWN) -@python_2_unicode_compatible class Amount(dict): """ This class deals with Amounts of any asset to simplify dealing with the tuple:: diff --git a/beem/asciichart.py b/beem/asciichart.py index 9e1be974..7ac82f54 100644 --- a/beem/asciichart.py +++ b/beem/asciichart.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import sys from math import cos from math import sin diff --git a/beem/asset.py b/beem/asset.py index 91520e63..257a3172 100644 --- a/beem/asset.py +++ b/beem/asset.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import json from .exceptions import AssetDoesNotExistsException from .blockchainobject import BlockchainObject diff --git a/beem/block.py b/beem/block.py index edaf68c5..dd09ec78 100644 --- a/beem/block.py +++ b/beem/block.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- from datetime import datetime, timedelta, date import json from .exceptions import BlockDoesNotExistsException diff --git a/beem/blockchain.py b/beem/blockchain.py index a6cd622f..72638b8a 100644 --- a/beem/blockchain.py +++ b/beem/blockchain.py @@ -1,12 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from future.utils import python_2_unicode_compatible -from builtins import str -from builtins import range -from builtins import object +# -*- coding: utf-8 -*- import sys import time import hashlib @@ -26,10 +18,7 @@ from beem.instance import shared_blockchain_instance from .amount import Amount import beem as stm log = logging.getLogger(__name__) -if sys.version_info < (3, 0): - from Queue import Queue -else: - from queue import Queue +from queue import Queue FUTURES_MODULE = None if not FUTURES_MODULE: try: @@ -171,7 +160,6 @@ class Pool: return results -@python_2_unicode_compatible class Blockchain(object): """ This class allows to access the blockchain and read data from it diff --git a/beem/blockchaininstance.py b/beem/blockchaininstance.py index 176edbdb..a7d7fe67 100644 --- a/beem/blockchaininstance.py +++ b/beem/blockchaininstance.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import object +# -*- coding: utf-8 -*- import json import logging import re diff --git a/beem/blockchainobject.py b/beem/blockchainobject.py index 9702717e..82315a49 100644 --- a/beem/blockchainobject.py +++ b/beem/blockchainobject.py @@ -1,4 +1,4 @@ -# This Python file uses the following encoding: utf-8 +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from beem.instance import shared_blockchain_instance from datetime import datetime, timedelta diff --git a/beem/blurt.py b/beem/blurt.py index 6d84e333..4bc17168 100644 --- a/beem/blurt.py +++ b/beem/blurt.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import object +# -*- coding: utf-8 -*- import json import logging import re diff --git a/beem/cli.py b/beem/cli.py index ae1df7ce..44e56083 100644 --- a/beem/cli.py +++ b/beem/cli.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import os import ast import json @@ -440,7 +435,7 @@ def nextnode(results): stm.move_current_node_to_front() node = stm.get_default_nodes() offline = stm.offline - if len(node) < 2: + if len(node) < 2 or isinstance(node, str): print("At least two nodes are needed!") return node = node[1:] + [node[0]] @@ -2252,13 +2247,16 @@ def beneficiaries(authorperm, beneficiaries, export): account = stm.config["default_account"] if not unlock_wallet(stm): return - + options = {"author": c["author"], "permlink": c["permlink"], "max_accepted_payout": c["max_accepted_payout"], - "percent_steem_dollars": c["percent_steem_dollars"], "allow_votes": c["allow_votes"], "allow_curation_rewards": c["allow_curation_rewards"]} + if "percent_steem_dollars" in c: + options["percent_steem_dollars"] = c["percent_steem_dollars"] + elif "percent_hbd" in c: + options["percent_hbd"] = c["percent_hbd"] if isinstance(beneficiaries, tuple) and len(beneficiaries) == 1: beneficiaries = beneficiaries[0].split(",") @@ -2530,7 +2528,7 @@ def download(permlink, account, save, export): yaml_prefix += 'max_accepted_payout: %s\n' % str(comment["max_accepted_payout"]) if "percent_steem_dollars" in comment: yaml_prefix += 'percent_steem_dollars: %s\n' % str(comment["percent_steem_dollars"]) - else: + elif "percent_hbd" in comment: yaml_prefix += 'percent_hbd: %s\n' % str(comment["percent_hbd"]) if "tags" in comment.json_metadata: if len(comment.json_metadata["tags"]) > 0 and comment["category"] != comment.json_metadata["tags"][0] and len(comment["category"]) > 0: diff --git a/beem/comment.py b/beem/comment.py index 37c61071..43d784bd 100644 --- a/beem/comment.py +++ b/beem/comment.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str +# -*- coding: utf-8 -*- import json import re import logging @@ -499,12 +494,16 @@ class Comment(BlockchainObject): benefactor_tokens = author_tokens * beneficiaries_pct / 100. author_tokens -= benefactor_tokens - if median_hist is not None: + if median_hist is not None and "percent_steem_dollars" in self: sbd_steem = author_tokens * self["percent_steem_dollars"] / 20000. vesting_steem = median_price.as_base(self.blockchain.token_symbol) * (author_tokens - sbd_steem) return {'pending_rewards': True, "payout_SP": vesting_steem, "payout_SBD": sbd_steem, "total_payout_SBD": author_tokens} + elif median_hist is not None and "percent_hbd" in self: + sbd_steem = author_tokens * self["percent_hbd"] / 20000. + vesting_steem = median_price.as_base(self.blockchain.token_symbol) * (author_tokens - sbd_steem) + return {'pending_rewards': True, "payout_SP": vesting_steem, "payout_SBD": sbd_steem, "total_payout_SBD": author_tokens} else: - return {'pending_rewards': True, "total_payout": author_tokens} + return {'pending_rewards': True, "total_payout": author_tokens, "payout_SBD": None, "total_payout_SBD": None} def get_curation_rewards(self, pending_payout_SBD=False, pending_payout_value=None): """ Returns the curation rewards. The split between creator/curator is currently 50%/50%. diff --git a/beem/community.py b/beem/community.py index 1e64c79a..57c542b5 100644 --- a/beem/community.py +++ b/beem/community.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import pytz import json from datetime import datetime, timedelta, date, time diff --git a/beem/constants.py b/beem/constants.py index 6d003bc7..eed6663e 100644 --- a/beem/constants.py +++ b/beem/constants.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- STEEM_100_PERCENT = 10000 diff --git a/beem/conveyor.py b/beem/conveyor.py index 28a336bd..8c7f12f5 100644 --- a/beem/conveyor.py +++ b/beem/conveyor.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import hashlib import base64 import json diff --git a/beem/discussions.py b/beem/discussions.py index 39fec91b..6f52824f 100644 --- a/beem/discussions.py +++ b/beem/discussions.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- from .instance import shared_blockchain_instance from .account import Account from .comment import Comment diff --git a/beem/exceptions.py b/beem/exceptions.py index baee5db5..4c8b47a6 100644 --- a/beem/exceptions.py +++ b/beem/exceptions.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- class WalletExists(Exception): diff --git a/beem/hive.py b/beem/hive.py index 47bc19e3..95fbc8a0 100644 --- a/beem/hive.py +++ b/beem/hive.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import object +# -*- coding: utf-8 -*- import json import logging import re diff --git a/beem/hivesigner.py b/beem/hivesigner.py index 58aef166..882e58b6 100644 --- a/beem/hivesigner.py +++ b/beem/hivesigner.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str +# -*- coding: utf-8 -*- import json try: from urllib.parse import urlparse, urlencode, urljoin diff --git a/beem/imageuploader.py b/beem/imageuploader.py index 7ec054b5..6cff85c2 100644 --- a/beem/imageuploader.py +++ b/beem/imageuploader.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import logging import json import io diff --git a/beem/instance.py b/beem/instance.py index bccf638f..0a8d788a 100644 --- a/beem/instance.py +++ b/beem/instance.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import object +# -*- coding: utf-8 -*- import beem diff --git a/beem/market.py b/beem/market.py index 281ef6f6..a3a914d9 100644 --- a/beem/market.py +++ b/beem/market.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str +# -*- coding: utf-8 -*- import random import pytz import logging diff --git a/beem/memo.py b/beem/memo.py index 3b715d36..0681142e 100644 --- a/beem/memo.py +++ b/beem/memo.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import object +# -*- coding: utf-8 -*- from beem.instance import shared_blockchain_instance import random import os diff --git a/beem/message.py b/beem/message.py index 597ef9b4..aabedb74 100644 --- a/beem/message.py +++ b/beem/message.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import object +# -*- coding: utf-8 -*- import re import json import logging diff --git a/beem/nodelist.py b/beem/nodelist.py index e6426bbe..6252dec9 100644 --- a/beem/nodelist.py +++ b/beem/nodelist.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import next +# -*- coding: utf-8 -*- import re import time import math diff --git a/beem/notify.py b/beem/notify.py index d0d1a8b0..bcea5432 100644 --- a/beem/notify.py +++ b/beem/notify.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import logging from events import Events from beemapi.websocket import NodeWebsocket diff --git a/beem/price.py b/beem/price.py index aeee4159..4ef97834 100644 --- a/beem/price.py +++ b/beem/price.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from future.utils import python_2_unicode_compatible +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from fractions import Fraction from beem.instance import shared_blockchain_instance @@ -26,7 +20,6 @@ def check_asset(other, self, stm): raise AssertionError() -@python_2_unicode_compatible class Price(dict): """ This class deals with all sorts of prices of any pair of assets to simplify dealing with the tuple:: diff --git a/beem/profile.py b/beem/profile.py index f5128746..523b2a65 100644 --- a/beem/profile.py +++ b/beem/profile.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import logging import json try: diff --git a/beem/rc.py b/beem/rc.py index 78cd66c6..dc04a43c 100644 --- a/beem/rc.py +++ b/beem/rc.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import logging import json from .instance import shared_blockchain_instance diff --git a/beem/snapshot.py b/beem/snapshot.py index 9801b4ea..5e27cdaa 100644 --- a/beem/snapshot.py +++ b/beem/snapshot.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import pytz import json import re diff --git a/beem/steem.py b/beem/steem.py index 0de7952c..9bb79ad4 100644 --- a/beem/steem.py +++ b/beem/steem.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import object +# -*- coding: utf-8 -*- import json import logging import re diff --git a/beem/storage.py b/beem/storage.py index b6494e08..7a82c452 100644 --- a/beem/storage.py +++ b/beem/storage.py @@ -1,8 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import logging from .nodelist import NodeList log = logging.getLogger(__name__) diff --git a/beem/transactionbuilder.py b/beem/transactionbuilder.py index b321ed62..ca76a1b3 100644 --- a/beem/transactionbuilder.py +++ b/beem/transactionbuilder.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from future.utils import python_2_unicode_compatible +# -*- coding: utf-8 -*- import logging import struct import time @@ -29,7 +23,6 @@ from beem.instance import shared_blockchain_instance log = logging.getLogger(__name__) -@python_2_unicode_compatible class TransactionBuilder(dict): """ This class simplifies the creation of transactions by adding operations and signers. diff --git a/beem/utils.py b/beem/utils.py index 99bce729..36a631c0 100644 --- a/beem/utils.py +++ b/beem/utils.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import next +# -*- coding: utf-8 -*- import re import json import time as timenow diff --git a/beem/vote.py b/beem/vote.py index 6798ca8d..94cf30b7 100644 --- a/beem/vote.py +++ b/beem/vote.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str +# -*- coding: utf-8 -*- import json import math import pytz diff --git a/beem/wallet.py b/beem/wallet.py index 4a4dea7a..89a75ec3 100644 --- a/beem/wallet.py +++ b/beem/wallet.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str, bytes -from builtins import object +# -*- coding: utf-8 -*- import logging import os from beemgraphenebase.account import PrivateKey diff --git a/beem/witness.py b/beem/witness.py index 6474b8fa..402dec8d 100644 --- a/beem/witness.py +++ b/beem/witness.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str +# -*- coding: utf-8 -*- import json from beem.instance import shared_blockchain_instance from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type diff --git a/beemapi/graphenerpc.py b/beemapi/graphenerpc.py index 598f11d2..d4e12b7d 100644 --- a/beemapi/graphenerpc.py +++ b/beemapi/graphenerpc.py @@ -1,11 +1,4 @@ -"""graphennewsrpc.""" -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import next -from builtins import str -from builtins import object +# -*- coding: utf-8 -*- from itertools import cycle import threading import sys @@ -27,10 +20,7 @@ from .rpcutils import ( from .node import Nodes from beemgraphenebase.version import version as beem_version from beemgraphenebase.chains import known_chains -if sys.version_info[0] < 3: - from thread import interrupt_main -else: - from _thread import interrupt_main +from _thread import interrupt_main WEBSOCKET_MODULE = None if not WEBSOCKET_MODULE: try: diff --git a/beemapi/node.py b/beemapi/node.py index 6a943489..16842988 100644 --- a/beemapi/node.py +++ b/beemapi/node.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str +# -*- coding: utf-8 -*- import json import re import time diff --git a/beemapi/noderpc.py b/beemapi/noderpc.py index 6b3123b5..ce8cc830 100644 --- a/beemapi/noderpc.py +++ b/beemapi/noderpc.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import re import sys from .graphenerpc import GrapheneRPC diff --git a/beemapi/rpcutils.py b/beemapi/rpcutils.py index ceb427eb..57ad381f 100644 --- a/beemapi/rpcutils.py +++ b/beemapi/rpcutils.py @@ -1,8 +1,4 @@ -"""graphennewsrpc.""" -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import time import json import logging diff --git a/beemapi/websocket.py b/beemapi/websocket.py index 5185b624..43acf424 100644 --- a/beemapi/websocket.py +++ b/beemapi/websocket.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import next -from builtins import str +# -*- coding: utf-8 -*- import traceback import threading import ssl diff --git a/beembase/ledgertransactions.py b/beembase/ledgertransactions.py index d5601206..43bf1187 100644 --- a/beembase/ledgertransactions.py +++ b/beembase/ledgertransactions.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import int, str +# -*- coding: utf-8 -*- from beemgraphenebase.unsignedtransactions import Unsigned_Transaction as GrapheneUnsigned_Transaction from .operations import Operation from beemgraphenebase.chains import known_chains diff --git a/beembase/memo.py b/beembase/memo.py index f7e351d3..be030979 100644 --- a/beembase/memo.py +++ b/beembase/memo.py @@ -1,9 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import py23_bytes, bytes_types from beemgraphenebase.base58 import base58encode, base58decode from beemgraphenebase.types import varintdecode diff --git a/beembase/objects.py b/beembase/objects.py index 8dd1416c..2f45d010 100644 --- a/beembase/objects.py +++ b/beembase/objects.py @@ -1,10 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str -from builtins import object -from future.utils import python_2_unicode_compatible +# -*- coding: utf-8 -*- import json from math import floor from beemgraphenebase.py23 import py23_bytes, bytes_types, integer_types, string_types, text_type diff --git a/beembase/objecttypes.py b/beembase/objecttypes.py index 80f1f860..eaade3b2 100644 --- a/beembase/objecttypes.py +++ b/beembase/objecttypes.py @@ -1,7 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- #: Object types for object ids object_type = {} object_type["dynamic_global_property"] = 0 diff --git a/beembase/operationids.py b/beembase/operationids.py index 4e72b546..6b3d023c 100644 --- a/beembase/operationids.py +++ b/beembase/operationids.py @@ -1,7 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- #: Operation ids ops = [ 'vote', @@ -73,6 +70,11 @@ ops = [ 'sps_fund', 'hardfork_hive', 'hardfork_hive_restore', + 'delayed_voting', + 'consolidate_treasury_balance', + 'effective_comment_vote', + 'ineffective_delete_comment', + 'sps_convert' ] operations = {o: ops.index(o) for o in ops} diff --git a/beembase/operations.py b/beembase/operations.py index c83d1965..e2a54e9d 100644 --- a/beembase/operations.py +++ b/beembase/operations.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import int, str +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from collections import OrderedDict import json diff --git a/beembase/signedtransactions.py b/beembase/signedtransactions.py index 963882e7..2c0c6c94 100644 --- a/beembase/signedtransactions.py +++ b/beembase/signedtransactions.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import int, str +# -*- coding: utf-8 -*- from beemgraphenebase.signedtransactions import Signed_Transaction as GrapheneSigned_Transaction from .operations import Operation from beemgraphenebase.chains import known_chains diff --git a/beembase/transactions.py b/beembase/transactions.py index 53182e8b..dba77a2f 100644 --- a/beembase/transactions.py +++ b/beembase/transactions.py @@ -1,7 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- def getBlockParams(ws): diff --git a/beemgraphenebase/account.py b/beemgraphenebase/account.py index 03b1df17..5c5ba6a4 100644 --- a/beemgraphenebase/account.py +++ b/beemgraphenebase/account.py @@ -1,13 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes -from builtins import chr -from builtins import range -from builtins import object -from future.utils import python_2_unicode_compatible import hashlib import sys import re @@ -80,7 +71,6 @@ class PasswordKey(Prefix): return self.get_public() -@python_2_unicode_compatible class BrainKey(Prefix): """Brainkey implementation similar to the graphene-ui web-wallet. @@ -178,7 +168,6 @@ class BrainKey(Prefix): # # Copyright (c) 2013 Pavol Rusnak # Copyright (c) 2017 mruddy -@python_2_unicode_compatible class Mnemonic(object): """BIP39 mnemoric implementation""" def __init__(self): @@ -456,7 +445,6 @@ class MnemonicKey(Prefix): return self.get_public() -@python_2_unicode_compatible class Address(Prefix): """ Address class @@ -541,7 +529,6 @@ class Address(Prefix): return py23_bytes(self._address) -@python_2_unicode_compatible class GrapheneAddress(Address): """ Graphene Addresses are different. Hence we have a different class """ @@ -561,7 +548,6 @@ class GrapheneAddress(Address): return cls(result, prefix=pubkey.prefix) -@python_2_unicode_compatible class PublicKey(Prefix): """ This class deals with Public Keys and inherits ``Address``. @@ -714,7 +700,6 @@ class PublicKey(Prefix): return GrapheneAddress.from_pubkey(repr(self), prefix=self.prefix) -@python_2_unicode_compatible class PrivateKey(Prefix): """ Derives the compressed and uncompressed public keys and constructs two instances of :class:`PublicKey`: diff --git a/beemgraphenebase/aes.py b/beemgraphenebase/aes.py index 517bb072..0e5e3de8 100644 --- a/beemgraphenebase/aes.py +++ b/beemgraphenebase/aes.py @@ -1,10 +1,4 @@ -# This Python file uses the following encoding: utf-8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import chr -from builtins import object +# -*- coding: utf-8 -*- import hashlib import base64 try: diff --git a/beemgraphenebase/base58.py b/beemgraphenebase/base58.py index e822c5c3..f1c3ba27 100644 --- a/beemgraphenebase/base58.py +++ b/beemgraphenebase/base58.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from future.utils import python_2_unicode_compatible +# -*- coding: utf-8 -*- from binascii import hexlify, unhexlify from .py23 import py23_bytes, py23_chr, bytes_types, integer_types, string_types, text_type from .prefix import Prefix @@ -13,7 +8,6 @@ import logging log = logging.getLogger(__name__) -@python_2_unicode_compatible class Base58(Prefix): """Base58 base class diff --git a/beemgraphenebase/bip38.py b/beemgraphenebase/bip38.py index f804a95f..1c994419 100644 --- a/beemgraphenebase/bip38.py +++ b/beemgraphenebase/bip38.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str +# -*- coding: utf-8 -*- import sys import logging import hashlib diff --git a/beemgraphenebase/chains.py b/beemgraphenebase/chains.py index d2b76c9f..faa1e8a9 100644 --- a/beemgraphenebase/chains.py +++ b/beemgraphenebase/chains.py @@ -1,7 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- default_prefix = "STM" known_chains = { "HIVE": { diff --git a/beemgraphenebase/ecdsasig.py b/beemgraphenebase/ecdsasig.py index 81a3d463..d7deb97a 100644 --- a/beemgraphenebase/ecdsasig.py +++ b/beemgraphenebase/ecdsasig.py @@ -1,10 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, str -from builtins import chr -from builtins import range +# -*- coding: utf-8 -*- import sys import time import ecdsa diff --git a/beemgraphenebase/objects.py b/beemgraphenebase/objects.py index f141a05a..29acbde4 100644 --- a/beemgraphenebase/objects.py +++ b/beemgraphenebase/objects.py @@ -1,10 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import object -from future.utils import python_2_unicode_compatible +# -*- coding: utf-8 -*- from collections import OrderedDict import json from beemgraphenebase.types import ( @@ -19,7 +13,6 @@ from .objecttypes import object_type from .operationids import operations -@python_2_unicode_compatible class Operation(object): def __init__(self, op): if isinstance(op, list) and len(op) == 2: @@ -81,7 +74,6 @@ class Operation(object): return json.dumps([self.opId, self.op.toJson()]) -@python_2_unicode_compatible class GrapheneObject(object): """ Core abstraction class diff --git a/beemgraphenebase/operations.py b/beemgraphenebase/operations.py index 8bf23dd6..971d8ce0 100644 --- a/beemgraphenebase/operations.py +++ b/beemgraphenebase/operations.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from collections import OrderedDict +# -*- coding: utf-8 -*- import json from .types import ( Uint8, Int16, Uint16, Uint32, Uint64, diff --git a/beemgraphenebase/py23.py b/beemgraphenebase/py23.py index 20ab4492..1e909def 100644 --- a/beemgraphenebase/py23.py +++ b/beemgraphenebase/py23.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, int, str, chr +# -*- coding: utf-8 -*- import sys PY2 = sys.version_info[0] == 2 diff --git a/beemgraphenebase/signedtransactions.py b/beemgraphenebase/signedtransactions.py index 136f52e4..b652abec 100644 --- a/beemgraphenebase/signedtransactions.py +++ b/beemgraphenebase/signedtransactions.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, str, int +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import py23_bytes, bytes_types import ecdsa import hashlib diff --git a/beemgraphenebase/types.py b/beemgraphenebase/types.py index 2d3b4d28..b62bd2a5 100644 --- a/beemgraphenebase/types.py +++ b/beemgraphenebase/types.py @@ -1,14 +1,4 @@ -"""types.""" -# encoding=utf8 -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - -from builtins import bytes -from builtins import str -from builtins import object -from builtins import int +# -*- coding: utf-8 -*- import json import struct import sys @@ -18,8 +8,6 @@ from binascii import hexlify, unhexlify from datetime import datetime from collections import OrderedDict from .objecttypes import object_type - -from future.utils import python_2_unicode_compatible from .py23 import py23_bytes timeformat = '%Y-%m-%dT%H:%M:%S%Z' @@ -57,7 +45,6 @@ def JsonObj(data): return json.loads(str(data)) -@python_2_unicode_compatible class Uint8(object): """Uint8.""" @@ -74,7 +61,6 @@ class Uint8(object): return '%d' % self.data -@python_2_unicode_compatible class Int16(object): """Int16.""" @@ -90,7 +76,6 @@ class Int16(object): return '%d' % self.data -@python_2_unicode_compatible class Uint16(object): def __init__(self, d): self.data = int(d) @@ -103,7 +88,6 @@ class Uint16(object): return '%d' % self.data -@python_2_unicode_compatible class Uint32(object): def __init__(self, d): self.data = int(d) @@ -117,7 +101,6 @@ class Uint32(object): return '%d' % self.data -@python_2_unicode_compatible class Uint64(object): def __init__(self, d): self.data = int(d) @@ -131,7 +114,6 @@ class Uint64(object): return '%d' % self.data -@python_2_unicode_compatible class Varint32(object): def __init__(self, d): self.data = int(d) @@ -145,7 +127,6 @@ class Varint32(object): return '%d' % self.data -@python_2_unicode_compatible class Int64(object): def __init__(self, d): self.data = int(d) @@ -159,7 +140,6 @@ class Int64(object): return '%d' % self.data -@python_2_unicode_compatible class HexString(object): def __init__(self, d): self.data = d @@ -174,7 +154,6 @@ class HexString(object): return '%s' % str(self.data) -@python_2_unicode_compatible class String(object): def __init__(self, d): self.data = d @@ -209,7 +188,6 @@ class String(object): return bytes("".join(r), "utf-8") -@python_2_unicode_compatible class Bytes(object): def __init__(self, d): self.data = d @@ -224,7 +202,6 @@ class Bytes(object): return str(self.data) -@python_2_unicode_compatible class Hash(Bytes): def json(self): return str(self.data) @@ -233,28 +210,24 @@ class Hash(Bytes): return unhexlify(bytes(self.data, "utf-8")) -@python_2_unicode_compatible class Ripemd160(Hash): def __init__(self, a): assert len(a) == 40, "Require 40 char long hex" super().__init__(a) -@python_2_unicode_compatible class Sha1(Hash): def __init__(self, a): assert len(a) == 40, "Require 40 char long hex" super().__init__(a) -@python_2_unicode_compatible class Sha256(Hash): def __init__(self, a): assert len(a) == 64, "Require 64 char long hex" super().__init__(a) -@python_2_unicode_compatible class Void(object): def __init__(self): pass @@ -268,7 +241,6 @@ class Void(object): return "" -@python_2_unicode_compatible class Array(object): def __init__(self, d): self.data = d @@ -292,7 +264,6 @@ class Array(object): return json.dumps(r) -@python_2_unicode_compatible class PointInTime(object): def __init__(self, d): self.data = d @@ -314,7 +285,6 @@ class PointInTime(object): return self.data -@python_2_unicode_compatible class Signature(object): def __init__(self, d): self.data = d @@ -328,7 +298,6 @@ class Signature(object): return json.dumps(hexlify(self.data).decode('ascii')) -@python_2_unicode_compatible class Bool(Uint8): # Bool = Uint8 def __init__(self, d): super(Bool, self).__init__(d) @@ -343,7 +312,6 @@ class Set(Array): # Set = Array super(Set, self).__init__(d) -@python_2_unicode_compatible class Fixed_array(object): def __init__(self, d): raise NotImplementedError @@ -357,7 +325,6 @@ class Fixed_array(object): raise NotImplementedError -@python_2_unicode_compatible class Optional(object): def __init__(self, d): self.data = d @@ -379,7 +346,6 @@ class Optional(object): return not bool(py23_bytes(self.data)) -@python_2_unicode_compatible class Static_variant(object): def __init__(self, d, type_id): self.data = d @@ -394,7 +360,6 @@ class Static_variant(object): return json.dumps([self.type_id, self.data.json()]) -@python_2_unicode_compatible class Map(object): def __init__(self, data): self.data = data @@ -415,7 +380,6 @@ class Map(object): return json.dumps(r) -@python_2_unicode_compatible class Id(object): def __init__(self, d): self.data = Varint32(d) @@ -429,7 +393,6 @@ class Id(object): return str(self.data) -@python_2_unicode_compatible class Enum8(Uint8): # List needs to be provided by super class options = [] diff --git a/beemgraphenebase/unsignedtransactions.py b/beemgraphenebase/unsignedtransactions.py index 15fc9178..d8f79e8a 100644 --- a/beemgraphenebase/unsignedtransactions.py +++ b/beemgraphenebase/unsignedtransactions.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes, str, int +# -*- coding: utf-8 -*- from beemgraphenebase.py23 import py23_bytes, bytes_types import ecdsa import hashlib @@ -10,7 +6,6 @@ from binascii import hexlify, unhexlify from collections import OrderedDict from asn1crypto.core import OctetString import struct -from future.utils import python_2_unicode_compatible from collections import OrderedDict import json diff --git a/setup.py b/setup.py index 3205cb47..d44826fa 100755 --- a/setup.py +++ b/setup.py @@ -94,6 +94,7 @@ if __name__ == '__main__': 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: Financial and Insurance Industry', diff --git a/tests/beem/nodes.py b/tests/beem/nodes.py new file mode 100644 index 00000000..498f9dd8 --- /dev/null +++ b/tests/beem/nodes.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +from beem.nodelist import NodeList +from beem import Steem, Hive + + +def get_hive_nodes(): + #nodelist = NodeList() + #nodes = nodelist.get_hive_nodes() + #nodelist.update_nodes(blockchain_instance=Hive(node=nodes, num_retries=10)) + #return nodelist.get_hive_nodes() + return "https://beta.openhive.network" + + +def get_steem_nodes(): + return "https://api.steemit.com" diff --git a/tests/beem/test_account.py b/tests/beem/test_account.py index 9ed97a3c..7098f19f 100644 --- a/tests/beem/test_account.py +++ b/tests/beem/test_account.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import super +# -*- coding: utf-8 -*- import unittest import pytz from datetime import datetime, timedelta @@ -15,8 +10,8 @@ from beem.block import Block from beem.amount import Amount from beem.asset import Asset from beem.utils import formatTimeString -from beem.nodelist import NodeList from beem.instance import set_shared_steem_instance +from .nodes import get_hive_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -25,10 +20,7 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodes = nodelist.get_nodes(hive=True) - nodelist.update_nodes(steem_instance=Steem(node=nodes, num_retries=10)) - node_list = nodelist.get_nodes(hive=True) + node_list = get_hive_nodes() cls.bts = Steem( node=node_list, @@ -121,7 +113,7 @@ class Testcases(unittest.TestCase): h_list = [] for h in account.history_reverse(start=start, stop=stop, use_block_num=False, batch_size=10, raw_output=True): h_list.append(h) - self.assertEqual(h_list[0][0], 9) + self.assertEqual(h_list[0][0], 8) self.assertEqual(h_list[-1][0], 1) self.assertEqual(h_list[0][1]['block'], h_all_raw[-10 + zero_element][1]['block']) self.assertEqual(h_list[-1][1]['block'], h_all_raw[-2 + zero_element][1]['block']) diff --git a/tests/beem/test_aes.py b/tests/beem/test_aes.py index 7ff65083..072c591b 100644 --- a/tests/beem/test_aes.py +++ b/tests/beem/test_aes.py @@ -1,10 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import random import unittest diff --git a/tests/beem/test_amount.py b/tests/beem/test_amount.py index a64d8687..0a3fcefa 100644 --- a/tests/beem/test_amount.py +++ b/tests/beem/test_amount.py @@ -1,33 +1,27 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from beem import Steem from beem.amount import Amount from beem.asset import Asset -from beem.nodelist import NodeList -from beem.instance import set_shared_steem_instance, SharedInstance +from beem.instance import set_shared_blockchain_instance, SharedInstance from decimal import Decimal +from .nodes import get_hive_nodes, get_steem_nodes class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_steem_nodes(), num_retries=10)) cls.bts = Steem( - node=nodelist.get_steem_nodes(), + node=get_hive_nodes(), nobroadcast=True, num_retries=10 ) - set_shared_steem_instance(cls.bts) - cls.asset = Asset("SBD") + set_shared_blockchain_instance(cls.bts) + cls.asset = Asset("HBD") cls.symbol = cls.asset["symbol"] cls.precision = cls.asset["precision"] - cls.asset2 = Asset("STEEM") + cls.asset2 = Asset("HIVE") def dotest(self, ret, amount, symbol): self.assertEqual(float(ret), float(amount)) @@ -38,54 +32,54 @@ class Testcases(unittest.TestCase): def test_init(self): stm = self.bts # String init - asset = Asset("SBD", steem_instance=stm) + asset = Asset("HBD", blockchain_instance=stm) symbol = asset["symbol"] precision = asset["precision"] - amount = Amount("1 {}".format(symbol), steem_instance=stm) + amount = Amount("1 {}".format(symbol), blockchain_instance=stm) self.dotest(amount, 1, symbol) # Amount init - amount = Amount(amount, steem_instance=stm) + amount = Amount(amount, blockchain_instance=stm) self.dotest(amount, 1, symbol) # blockchain dict init amount = Amount({ "amount": 1 * 10 ** precision, "asset_id": asset["id"] - }, steem_instance=stm) + }, blockchain_instance=stm) self.dotest(amount, 1, symbol) # API dict init amount = Amount({ "amount": 1.3 * 10 ** precision, "asset": asset["id"] - }, steem_instance=stm) + }, blockchain_instance=stm) self.dotest(amount, 1.3, symbol) # Asset as symbol - amount = Amount(1.3, Asset("SBD"), steem_instance=stm) + amount = Amount(1.3, Asset("HBD"), blockchain_instance=stm) self.dotest(amount, 1.3, symbol) # Asset as symbol - amount = Amount(1.3, symbol, steem_instance=stm) + amount = Amount(1.3, symbol, blockchain_instance=stm) self.dotest(amount, 1.3, symbol) # keyword inits - amount = Amount(amount=1.3, asset=Asset("SBD", steem_instance=stm), steem_instance=stm) + amount = Amount(amount=1.3, asset=Asset("HBD", blockchain_instance=stm), blockchain_instance=stm) self.dotest(amount, 1.3, symbol) - amount = Amount(amount=1.3001, asset=Asset("SBD", steem_instance=stm), steem_instance=stm) + amount = Amount(amount=1.3001, asset=Asset("HBD", blockchain_instance=stm), blockchain_instance=stm) self.dotest(amount, 1.3001, symbol) - amount = Amount(amount=1.3001, asset=Asset("SBD", steem_instance=stm), fixed_point_arithmetic=True, steem_instance=stm) + amount = Amount(amount=1.3001, asset=Asset("HBD", blockchain_instance=stm), fixed_point_arithmetic=True, blockchain_instance=stm) self.dotest(amount, 1.3, symbol) # keyword inits - amount = Amount(amount=1.3, asset=dict(Asset("SBD", steem_instance=stm)), steem_instance=stm) + amount = Amount(amount=1.3, asset=dict(Asset("HBD", blockchain_instance=stm)), blockchain_instance=stm) self.dotest(amount, 1.3, symbol) # keyword inits - amount = Amount(amount=1.3, asset=symbol, steem_instance=stm) + amount = Amount(amount=1.3, asset=symbol, blockchain_instance=stm) self.dotest(amount, 1.3, symbol) def test_copy(self): @@ -106,24 +100,24 @@ class Testcases(unittest.TestCase): (1.0, self.symbol)) def test_json_appbase(self): - asset = Asset("SBD", steem_instance=self.bts) - amount = Amount("1", asset, new_appbase_format=False, steem_instance=self.bts) + asset = Asset("HBD", blockchain_instance=self.bts) + amount = Amount("1", asset, new_appbase_format=False, blockchain_instance=self.bts) if self.bts.rpc.get_use_appbase(): self.assertEqual( amount.json(), [str(1 * 10 ** asset.precision), asset.precision, asset.asset]) else: - self.assertEqual(amount.json(), "1.000 SBD") + self.assertEqual(amount.json(), "1.000 HBD") def test_json_appbase2(self): - asset = Asset("SBD", steem_instance=self.bts) - amount = Amount("1", asset, new_appbase_format=True, steem_instance=self.bts) + asset = Asset("HBD", blockchain_instance=self.bts) + amount = Amount("1", asset, new_appbase_format=True, blockchain_instance=self.bts) if self.bts.rpc.get_use_appbase(): self.assertEqual( amount.json(), {'amount': str(1 * 10 ** asset.precision), 'nai': asset.asset, 'precision': asset.precision}) else: - self.assertEqual(amount.json(), "1.000 SBD") + self.assertEqual(amount.json(), "1.000 HBD") def test_string(self): self.assertEqual( @@ -147,7 +141,7 @@ class Testcases(unittest.TestCase): int(Amount(int(1), self.symbol)), 1000) self.assertEqual( - int(Amount(amount=round(0.1509,3), asset=Asset("SBD"))), + int(Amount(amount=round(0.1509,3), asset=Asset("HBD"))), 151) def test_dict(self): diff --git a/tests/beem/test_asset.py b/tests/beem/test_asset.py index 0c962037..a7470269 100644 --- a/tests/beem/test_asset.py +++ b/tests/beem/test_asset.py @@ -1,25 +1,19 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from beem import Steem from beem.asset import Asset from beem.instance import set_shared_steem_instance from beem.exceptions import AssetDoesNotExistsException -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes + class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_steem_nodes(), num_retries=10)) cls.bts = Steem( - node=nodelist.get_steem_nodes(), + node=get_hive_nodes(), nobroadcast=True, num_retries=10 ) @@ -43,11 +37,11 @@ class Testcases(unittest.TestCase): Asset("FOObarNonExisting", full=False, steem_instance=stm) @parameterized.expand([ - ("normal", "SBD", "SBD", 3, "@@000000013"), - ("normal", "STEEM", "STEEM", 3, "@@000000021"), + ("normal", "HBD", "HBD", 3, "@@000000013"), + ("normal", "HIVE", "HIVE", 3, "@@000000021"), ("normal", "VESTS", "VESTS", 6, "@@000000037"), - ("normal", "@@000000013", "SBD", 3, "@@000000013"), - ("normal", "@@000000021", "STEEM", 3, "@@000000021"), + ("normal", "@@000000013", "HBD", 3, "@@000000013"), + ("normal", "@@000000021", "HIVE", 3, "@@000000021"), ("normal", "@@000000037", "VESTS", 6, "@@000000037"), ]) def test_properties(self, node_param, data, symbol_str, precision, asset_str): @@ -60,27 +54,20 @@ class Testcases(unittest.TestCase): self.assertEqual(asset.precision, precision) self.assertEqual(asset.asset, asset_str) - @parameterized.expand([ - ("normal"), - ("steemit"), - ]) - def test_assert_equal(self, node_param): - if node_param == "normal": - stm = self.bts - else: - stm = self.steemit - asset1 = Asset("SBD", full=False, steem_instance=stm) - asset2 = Asset("SBD", full=False, steem_instance=stm) + def test_assert_equal(self): + stm = self.bts + asset1 = Asset("HBD", full=False, steem_instance=stm) + asset2 = Asset("HBD", full=False, steem_instance=stm) self.assertTrue(asset1 == asset2) - self.assertTrue(asset1 == "SBD") - self.assertTrue(asset2 == "SBD") - asset3 = Asset("STEEM", full=False, steem_instance=stm) + self.assertTrue(asset1 == "HBD") + self.assertTrue(asset2 == "HBD") + asset3 = Asset("HIVE", full=False, steem_instance=stm) self.assertTrue(asset1 != asset3) - self.assertTrue(asset3 != "SBD") - self.assertTrue(asset1 != "STEEM") + self.assertTrue(asset3 != "HBD") + self.assertTrue(asset1 != "HIVE") - a = {'asset': '@@000000021', 'precision': 3, 'id': 'STEEM', 'symbol': 'STEEM'} - b = {'asset': '@@000000021', 'precision': 3, 'id': '@@000000021', 'symbol': 'STEEM'} + a = {'asset': '@@000000021', 'precision': 3, 'id': 'HIVE', 'symbol': 'HIVE'} + b = {'asset': '@@000000021', 'precision': 3, 'id': '@@000000021', 'symbol': 'HIVE'} self.assertTrue(Asset(a, steem_instance=stm) == Asset(b, steem_instance=stm)) """ diff --git a/tests/beem/test_base_objects.py b/tests/beem/test_base_objects.py index 00c1d7e4..8ed6314f 100644 --- a/tests/beem/test_base_objects.py +++ b/tests/beem/test_base_objects.py @@ -1,23 +1,18 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from beem import Steem, exceptions from beem.instance import set_shared_steem_instance from beem.account import Account from beem.witness import Witness from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_steem_nodes(), num_retries=10)) cls.bts = Steem( - node=nodelist.get_steem_nodes(), + node=get_hive_nodes(), nobroadcast=True, num_retries=10 ) diff --git a/tests/beem/test_block.py b/tests/beem/test_block.py index c4a5ca97..ade19383 100644 --- a/tests/beem/test_block.py +++ b/tests/beem/test_block.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from pprint import pprint @@ -10,7 +6,7 @@ from beem import Steem, exceptions from beem.block import Block, BlockHeader from datetime import datetime from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -18,10 +14,8 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) cls.bts = Steem( - node=nodelist.get_nodes(hive=True), + node=get_hive_nodes(), nobroadcast=True, keys={"active": wif}, num_retries=10 diff --git a/tests/beem/test_blockchain.py b/tests/beem/test_blockchain.py index 64de096a..0d9112a7 100644 --- a/tests/beem/test_blockchain.py +++ b/tests/beem/test_blockchain.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from datetime import datetime, timedelta @@ -14,8 +10,8 @@ from beem.blockchain import Blockchain from beem.exceptions import BlockWaitTimeExceeded from beem.block import Block from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList from beembase.signedtransactions import Signed_Transaction +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -23,11 +19,8 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodes = nodelist.get_nodes(hive=True) - nodelist.update_nodes(steem_instance=Steem(node=nodes, num_retries=10)) cls.bts = Steem( - node=nodelist.get_nodes(hive=True), + node=get_hive_nodes(), nobroadcast=True, keys={"active": wif}, num_retries=10 diff --git a/tests/beem/test_blockchain_batch.py b/tests/beem/test_blockchain_batch.py index 7e0f14ea..65c3c270 100644 --- a/tests/beem/test_blockchain_batch.py +++ b/tests/beem/test_blockchain_batch.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from datetime import datetime, timedelta @@ -14,7 +10,7 @@ from beem.blockchain import Blockchain from beem.block import Block from beem.instance import set_shared_steem_instance from beem.utils import formatTimeString -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -22,10 +18,8 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) cls.bts = Steem( - node=nodelist.get_nodes(hive=True), + node=get_hive_nodes(), nobroadcast=True, num_retries=10, timeout=30, diff --git a/tests/beem/test_blockchain_threading.py b/tests/beem/test_blockchain_threading.py index 090c2099..86244a09 100644 --- a/tests/beem/test_blockchain_threading.py +++ b/tests/beem/test_blockchain_threading.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from datetime import datetime, timedelta @@ -13,16 +9,15 @@ from beem import Steem from beem.blockchain import Blockchain from beem.block import Block from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes + class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_hive_nodes(), num_retries=10)) cls.bts = Steem( - node=nodelist.get_hive_nodes(), + node=get_hive_nodes(), nobroadcast=True, timeout=30, num_retries=30, diff --git a/tests/beem/test_cli.py b/tests/beem/test_cli.py index 93a4db44..8dfc28df 100644 --- a/tests/beem/test_cli.py +++ b/tests/beem/test_cli.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import super +# -*- coding: utf-8 -*- import unittest import click from click.testing import CliRunner @@ -15,7 +10,7 @@ from beemgraphenebase.account import PrivateKey from beem.cli import cli, balance from beem.instance import set_shared_steem_instance, shared_steem_instance from beembase.operationids import getOperationNameForId -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5Jt2wTfhUt5GkZHV1HYVfkEaJ6XnY8D2iA4qjtK9nnGXAhThM3w" posting_key = "5Jh1Gtu2j4Yi16TfhoDmg8Qj3ULcgRi7A49JXdfUUTVPkaFaRKz" @@ -26,10 +21,7 @@ pub_key = "STX52xMqKegLk4tdpNcUXU9Rw5DtdM9fxf3f12Gp55v1UjLX3ELZf" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) - cls.node_list = nodelist.get_nodes(hive=True) + cls.node_list = get_hive_nodes() # stm = shared_steem_instance() # stm.config.refreshBackup() @@ -401,8 +393,8 @@ class Testcases(unittest.TestCase): def test_claimaccount(self): runner = CliRunner() - result = runner.invoke(cli, ['-dx', 'claimaccount', 'holger80'], input="test\n") - result = runner.invoke(cli, ['-dx', 'claimaccount', '-n', '2', 'holger80'], input="test\n") + result = runner.invoke(cli, ['-dx', 'claimaccount', 'holger80']) + result = runner.invoke(cli, ['-dx', 'claimaccount', '-n', '2', 'holger80']) self.assertEqual(result.exit_code, 0) def test_power(self): diff --git a/tests/beem/test_comment.py b/tests/beem/test_comment.py index e439b22b..df1537f2 100644 --- a/tests/beem/test_comment.py +++ b/tests/beem/test_comment.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super, str +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from pprint import pprint @@ -12,7 +8,7 @@ from beem.vote import Vote from beem.account import Account from beem.instance import set_shared_blockchain_instance from beem.utils import resolve_authorperm -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -20,9 +16,7 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(blockchain_instance=Hive(node=nodelist.get_hive_nodes(), num_retries=10)) - node_list = nodelist.get_hive_nodes() + node_list = get_hive_nodes() cls.bts = Hive( node=node_list, diff --git a/tests/beem/test_connection.py b/tests/beem/test_connection.py index f3f7f409..b4d56668 100644 --- a/tests/beem/test_connection.py +++ b/tests/beem/test_connection.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import unittest from beem import Hive, Steem from beem.account import Account diff --git a/tests/beem/test_constants.py b/tests/beem/test_constants.py index 429a3b08..5f8d28d6 100644 --- a/tests/beem/test_constants.py +++ b/tests/beem/test_constants.py @@ -1,16 +1,11 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import str -from builtins import super +# -*- coding: utf-8 -*- import unittest import pytz from datetime import datetime, timedelta from parameterized import parameterized from pprint import pprint from beem import Steem, exceptions, constants -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -19,10 +14,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(exclude_limited=False), num_retries=10)) cls.appbase = Steem( - node=nodelist.get_nodes(exclude_limited=True), + node=get_steem_nodes(), nobroadcast=True, bundle=False, # Overwrite wallet to use this list of wifs only diff --git a/tests/beem/test_conveyor.py b/tests/beem/test_conveyor.py index aac0b2d9..fac15d3a 100644 --- a/tests/beem/test_conveyor.py +++ b/tests/beem/test_conveyor.py @@ -1,12 +1,9 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import unittest from beem import Steem from beem.conveyor import Conveyor from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = '5Jh1Gtu2j4Yi16TfhoDmg8Qj3ULcgRi7A49JXdfUUTVPkaFaRKz' @@ -15,8 +12,7 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - stm = Steem(node=nodelist.get_nodes(), nobroadcast=True, + stm = Steem(node=get_steem_nodes(), nobroadcast=True, num_retries=10, expiration=120) set_shared_steem_instance(stm) diff --git a/tests/beem/test_discussions.py b/tests/beem/test_discussions.py index 7a0b01d6..65f8edc6 100644 --- a/tests/beem/test_discussions.py +++ b/tests/beem/test_discussions.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from pprint import pprint @@ -16,7 +12,7 @@ from beem.discussions import ( ) from datetime import datetime from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -24,9 +20,7 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) - node_list = nodelist.get_nodes(hive=True) + node_list = get_hive_nodes() cls.bts = Steem( node=node_list, diff --git a/tests/beem/test_hive.py b/tests/beem/test_hive.py index 79521d86..817b5f22 100644 --- a/tests/beem/test_hive.py +++ b/tests/beem/test_hive.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import unittest from parameterized import parameterized @@ -15,7 +10,7 @@ from beem.amount import Amount from beem.version import version as beem_version from beem.account import Account from beemgraphenebase.account import PrivateKey -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes # Py3 compatibility import sys @@ -28,10 +23,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - cls.nodelist = NodeList() - cls.nodelist.update_nodes(steem_instance=Hive(node=cls.nodelist.get_hive_nodes(), num_retries=10)) cls.bts = Hive( - node=cls.nodelist.get_hive_nodes(), + node=get_hive_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, @@ -67,7 +60,7 @@ class Testcases(unittest.TestCase): self.assertEqual(float(amount), 1.33) def test_create_account(self): - bts = Hive(node=self.nodelist.get_hive_nodes(), + bts = Hive(node=get_hive_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, @@ -143,7 +136,7 @@ class Testcases(unittest.TestCase): "test") def test_create_account_password(self): - bts = Hive(node=self.nodelist.get_hive_nodes(), + bts = Hive(node=get_hive_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, @@ -416,8 +409,12 @@ class Testcases(unittest.TestCase): self.assertIn( "gtg", op["author"]) - self.assertEqual('1000000.000 SBD', op["max_accepted_payout"]) - self.assertEqual(10000, op["percent_steem_dollars"]) + if "percent_steem_dollars" in op: + self.assertEqual('1000000.000 SBD', op["max_accepted_payout"]) + self.assertEqual(10000, op["percent_steem_dollars"]) + else: + self.assertEqual('1000000.000 HBD', op["max_accepted_payout"]) + self.assertEqual(10000, op["percent_hbd"]) self.assertEqual(True, op["allow_votes"]) self.assertEqual(True, op["allow_curation_rewards"]) self.assertEqual("witness-gtg-log", op["permlink"]) @@ -427,7 +424,7 @@ class Testcases(unittest.TestCase): self.assertFalse(bts.get_blockchain_version() == '0.0.0') def test_offline(self): - bts = Hive(node=self.nodelist.get_hive_nodes(), + bts = Hive(node=get_hive_nodes(), offline=True, data_refresh_time_seconds=900, keys={"active": wif, "owner": wif2, "memo": wif3}) @@ -456,7 +453,7 @@ class Testcases(unittest.TestCase): self.assertFalse(bts.is_steem) def test_properties(self): - bts = Hive(node=self.nodelist.get_hive_nodes(), + bts = Hive(node=get_hive_nodes(), nobroadcast=True, data_refresh_time_seconds=900, keys={"active": wif, "owner": wif2, "memo": wif3}, @@ -535,13 +532,3 @@ class Testcases(unittest.TestCase): bts.switch_blockchain("hive", update_nodes=True) assert bts.is_hive - def test_switch_blockchain(self): - bts = self.bts - nodes_hive = self.nodelist.get_hive_nodes() - nodes_steem = self.nodelist.get_steem_nodes() - rpc = Steem(nodes_steem) - assert rpc.is_steem - assert not rpc.get_replace_hive_by_steem() - rpc = Hive(nodes_hive) - assert rpc.is_hive - assert rpc.get_replace_hive_by_steem() diff --git a/tests/beem/test_hivesigner.py b/tests/beem/test_hivesigner.py index 24f86416..5512ed9a 100644 --- a/tests/beem/test_hivesigner.py +++ b/tests/beem/test_hivesigner.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import unittest from parameterized import parameterized @@ -19,7 +14,7 @@ from beem.witness import Witness from beem.account import Account from beemgraphenebase.account import PrivateKey from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes from beem.hivesigner import HiveSigner # Py3 compatibility import sys @@ -30,10 +25,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) cls.bts = Steem( - node=nodelist.get_nodes(hive=True), + node=get_hive_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, diff --git a/tests/beem/test_instance.py b/tests/beem/test_instance.py index 93da62ac..b4c7f9cd 100644 --- a/tests/beem/test_instance.py +++ b/tests/beem/test_instance.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import unittest import random @@ -26,7 +21,7 @@ from beem.transactionbuilder import TransactionBuilder from beembase.operations import Transfer from beemgraphenebase.account import PasswordKey, PrivateKey, PublicKey from beem.utils import parse_time, formatTimedelta -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes # Py3 compatibility import sys @@ -37,14 +32,12 @@ core_unit = "STM" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - cls.nodelist = NodeList() - cls.nodelist.update_nodes(steem_instance=Steem(node=cls.nodelist.get_nodes(hive=True), num_retries=10)) - stm = Steem(node=cls.nodelist.get_nodes(hive=True)) + stm = Steem(node=get_hive_nodes()) stm.config.refreshBackup() stm.set_default_nodes(["xyz"]) del stm - cls.urls = cls.nodelist.get_nodes(hive=True) + cls.urls = get_hive_nodes() cls.bts = Steem( node=cls.urls, nobroadcast=True, @@ -60,7 +53,7 @@ class Testcases(unittest.TestCase): @classmethod def tearDownClass(cls): - stm = Steem(node=cls.nodelist.get_nodes()) + stm = Steem(node=get_hive_nodes()) stm.config.recover_with_latest_backup() @parameterized.expand([ diff --git a/tests/beem/test_market.py b/tests/beem/test_market.py index a769ed42..7eb8a0ce 100644 --- a/tests/beem/test_market.py +++ b/tests/beem/test_market.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from pprint import pprint @@ -12,7 +8,7 @@ from beem.price import Price from beem.asset import Asset from beem.amount import Amount from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -21,10 +17,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_steem_nodes(), num_retries=10)) cls.bts = Steem( - node=nodelist.get_steem_nodes(), + node=get_hive_nodes(), nobroadcast=True, unsigned=True, keys={"active": wif}, @@ -37,37 +31,37 @@ class Testcases(unittest.TestCase): def test_market(self): bts = self.bts - m1 = Market(u'STEEM', u'SBD', steem_instance=bts) - self.assertEqual(m1.get_string(), u'SBD:STEEM') + m1 = Market(u'HIVE', u'HBD', steem_instance=bts) + self.assertEqual(m1.get_string(), u'HBD:HIVE') m2 = Market(steem_instance=bts) - self.assertEqual(m2.get_string(), u'SBD:STEEM') - m3 = Market(u'STEEM:SBD', steem_instance=bts) - self.assertEqual(m3.get_string(), u'STEEM:SBD') + self.assertEqual(m2.get_string(), u'HBD:HIVE') + m3 = Market(u'HIVE:HBD', steem_instance=bts) + self.assertEqual(m3.get_string(), u'HIVE:HBD') self.assertTrue(m1 == m2) - base = Asset("SBD", steem_instance=bts) - quote = Asset("STEEM", steem_instance=bts) + base = Asset("HBD", steem_instance=bts) + quote = Asset("HIVE", steem_instance=bts) m = Market(base, quote, steem_instance=bts) - self.assertEqual(m.get_string(), u'STEEM:SBD') + self.assertEqual(m.get_string(), u'HIVE:HBD') def test_ticker(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) ticker = m.ticker() self.assertEqual(len(ticker), 6) - self.assertEqual(ticker['steem_volume']["symbol"], u'STEEM') - self.assertEqual(ticker['sbd_volume']["symbol"], u'SBD') + self.assertEqual(ticker['hive_volume']["symbol"], u'HIVE') + self.assertEqual(ticker['hbd_volume']["symbol"], u'HBD') def test_volume(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) volume = m.volume24h() - self.assertEqual(volume['STEEM']["symbol"], u'STEEM') - self.assertEqual(volume['SBD']["symbol"], u'SBD') + self.assertEqual(volume['HIVE']["symbol"], u'HIVE') + self.assertEqual(volume['HBD']["symbol"], u'HBD') def test_orderbook(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) orderbook = m.orderbook(limit=10) self.assertEqual(len(orderbook['asks_date']), 10) self.assertEqual(len(orderbook['asks']), 10) @@ -76,7 +70,7 @@ class Testcases(unittest.TestCase): def test_recenttrades(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) recenttrades = m.recent_trades(limit=10) recenttrades_raw = m.recent_trades(limit=10, raw_data=True) self.assertEqual(len(recenttrades), 10) @@ -84,7 +78,7 @@ class Testcases(unittest.TestCase): def test_trades(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) trades = m.trades(limit=10) trades_raw = m.trades(limit=10, raw_data=True) trades_history = m.trade_history(limit=10) @@ -94,20 +88,20 @@ class Testcases(unittest.TestCase): def test_market_history(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) buckets = m.market_history_buckets() history = m.market_history(buckets[2]) self.assertTrue(len(history) > 0) def test_accountopenorders(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) openOrder = m.accountopenorders("test") self.assertTrue(isinstance(openOrder, list)) def test_buy(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) bts.txbuffer.clear() tx = m.buy(5, 0.1, account="test") self.assertEqual( @@ -116,26 +110,26 @@ class Testcases(unittest.TestCase): ) op = tx["operations"][0][1] self.assertIn("test", op["owner"]) - self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["min_to_receive"]) - self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["amount_to_sell"]) + self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["min_to_receive"]) + self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["amount_to_sell"]) - p = Price(5, u"SBD:STEEM", steem_instance=bts) + p = Price(5, u"HBD:HIVE", steem_instance=bts) tx = m.buy(p, 0.1, account="test") op = tx["operations"][0][1] - self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["min_to_receive"]) - self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["amount_to_sell"]) + self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["min_to_receive"]) + self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["amount_to_sell"]) - p = Price(5, u"SBD:STEEM", steem_instance=bts) - a = Amount(0.1, "STEEM", steem_instance=bts) + p = Price(5, u"HBD:HIVE", steem_instance=bts) + a = Amount(0.1, "HIVE", steem_instance=bts) tx = m.buy(p, a, account="test") op = tx["operations"][0][1] self.assertEqual(str(a), op["min_to_receive"]) - self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["amount_to_sell"]) + self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["amount_to_sell"]) def test_sell(self): bts = self.bts bts.txbuffer.clear() - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) tx = m.sell(5, 0.1, account="test") self.assertEqual( (tx["operations"][0][0]), @@ -143,26 +137,26 @@ class Testcases(unittest.TestCase): ) op = tx["operations"][0][1] self.assertIn("test", op["owner"]) - self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["min_to_receive"]) - self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["amount_to_sell"]) + self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"]) + self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"]) - p = Price(5, u"SBD:STEEM") + p = Price(5, u"HBD:HIVE") tx = m.sell(p, 0.1, account="test") op = tx["operations"][0][1] - self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["min_to_receive"]) - self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["amount_to_sell"]) + self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"]) + self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"]) - p = Price(5, u"SBD:STEEM", steem_instance=bts) - a = Amount(0.1, "STEEM", steem_instance=bts) + p = Price(5, u"HBD:HIVE", steem_instance=bts) + a = Amount(0.1, "HIVE", steem_instance=bts) tx = m.sell(p, a, account="test") op = tx["operations"][0][1] - self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["min_to_receive"]) - self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["amount_to_sell"]) + self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"]) + self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"]) def test_cancel(self): bts = self.bts bts.txbuffer.clear() - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) tx = m.cancel(5, account="test") self.assertEqual( (tx["operations"][0][0]), @@ -175,6 +169,6 @@ class Testcases(unittest.TestCase): def test_steem_usb_impied(self): bts = self.bts - m = Market(u'STEEM:SBD', steem_instance=bts) + m = Market(u'HIVE:HBD', steem_instance=bts) steem_usd = m.steem_usd_implied() self.assertGreater(steem_usd, 0) diff --git a/tests/beem/test_memo.py b/tests/beem/test_memo.py index 5deb2139..a7fb685e 100644 --- a/tests/beem/test_memo.py +++ b/tests/beem/test_memo.py @@ -1,4 +1,4 @@ -from builtins import super +# -*- coding: utf-8 -*- import unittest import mock from beem import Hive @@ -9,7 +9,7 @@ import random import shutil, tempfile import os from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" core_unit = "STM" @@ -19,10 +19,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Hive(node=nodelist.get_hive_nodes(), num_retries=10)) cls.bts = Hive( - node=nodelist.get_nodes(exclude_limited=True), + node=get_hive_nodes(), nobroadcast=True, keys=[wif], num_retries=10 diff --git a/tests/beem/test_message.py b/tests/beem/test_message.py index 75969cd7..6d18ca6b 100644 --- a/tests/beem/test_message.py +++ b/tests/beem/test_message.py @@ -1,11 +1,11 @@ -from builtins import super +# -*- coding: utf-8 -*- import unittest import mock from beem import Hive from beem.message import Message from beem.account import Account from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" core_unit = "STM" @@ -15,10 +15,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Hive(node=nodelist.get_hive_nodes(), num_retries=10)) cls.bts = Hive( - node=nodelist.get_nodes(exclude_limited=True), + node=get_hive_nodes(), nobroadcast=True, keys=[wif], num_retries=10 diff --git a/tests/beem/test_nodelist.py b/tests/beem/test_nodelist.py index 2421103b..9beac5bb 100644 --- a/tests/beem/test_nodelist.py +++ b/tests/beem/test_nodelist.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from beem import Steem, exceptions, Hive from beem.instance import set_shared_blockchain_instance diff --git a/tests/beem/test_objectcache.py b/tests/beem/test_objectcache.py index 4c2a6090..e3b90e2a 100644 --- a/tests/beem/test_objectcache.py +++ b/tests/beem/test_objectcache.py @@ -1,16 +1,9 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super -from builtins import str +# -*- coding: utf-8 -*- import time import unittest from beem import Steem, exceptions from beem.instance import set_shared_steem_instance from beem.blockchainobject import ObjectCache -from beem.account import Account -from beem.nodelist import NodeList class Testcases(unittest.TestCase): diff --git a/tests/beem/test_price.py b/tests/beem/test_price.py index dbd3fafd..e7452aa5 100644 --- a/tests/beem/test_price.py +++ b/tests/beem/test_price.py @@ -1,23 +1,18 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- from beem import Steem from beem.instance import set_shared_steem_instance from beem.amount import Amount from beem.price import Price, Order, FilledOrder from beem.asset import Asset import unittest -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(exclude_limited=False), num_retries=10)) steem = Steem( - node=nodelist.get_nodes(exclude_limited=True), + node=get_hive_nodes(), nobroadcast=True, num_retries=10 ) @@ -26,69 +21,69 @@ class Testcases(unittest.TestCase): def test_init(self): # self.assertEqual(1, 1) - Price("0.315 STEEM/SBD") - Price(1.0, "STEEM/SBD") - Price(0.315, base="STEEM", quote="SBD") - Price(0.315, base=Asset("STEEM"), quote=Asset("SBD")) + Price("0.315 HIVE/HBD") + Price(1.0, "HIVE/HBD") + Price(0.315, base="HIVE", quote="HBD") + Price(0.315, base=Asset("HIVE"), quote=Asset("HBD")) Price({ - "base": {"amount": 1, "asset_id": "SBD"}, - "quote": {"amount": 10, "asset_id": "STEEM"}}) - Price("", quote="10 SBD", base="1 STEEM") - Price("10 SBD", "1 STEEM") - Price(Amount("10 SBD"), Amount("1 STEEM")) + "base": {"amount": 1, "asset_id": "HBD"}, + "quote": {"amount": 10, "asset_id": "HIVE"}}) + Price("", quote="10 HBD", base="1 HIVE") + Price("10 HBD", "1 HIVE") + Price(Amount("10 HBD"), Amount("1 HIVE")) def test_multiplication(self): - p1 = Price(10.0, "STEEM/SBD") - p2 = Price(5.0, "VESTS/STEEM") + p1 = Price(10.0, "HIVE/HBD") + p2 = Price(5.0, "VESTS/HIVE") p3 = p1 * p2 - p4 = p3.as_base("SBD") + p4 = p3.as_base("HBD") p4_2 = p3.as_quote("VESTS") self.assertEqual(p4["quote"]["symbol"], "VESTS") - self.assertEqual(p4["base"]["symbol"], "SBD") - # 10 STEEM/SBD * 0.2 VESTS/STEEM = 50 VESTS/SBD = 0.02 SBD/VESTS + self.assertEqual(p4["base"]["symbol"], "HBD") + # 10 HIVE/HBD * 0.2 VESTS/HIVE = 50 VESTS/HBD = 0.02 HBD/VESTS self.assertEqual(float(p4), 0.02) self.assertEqual(p4_2["quote"]["symbol"], "VESTS") - self.assertEqual(p4_2["base"]["symbol"], "SBD") + self.assertEqual(p4_2["base"]["symbol"], "HBD") self.assertEqual(float(p4_2), 0.02) p3 = p1 * 5 self.assertEqual(float(p3), 50) # Inline multiplication - p5 = Price(10.0, "STEEM/SBD") + p5 = Price(10.0, "HIVE/HBD") p5 *= p2 - p4 = p5.as_base("SBD") + p4 = p5.as_base("HBD") self.assertEqual(p4["quote"]["symbol"], "VESTS") - self.assertEqual(p4["base"]["symbol"], "SBD") - # 10 STEEM/SBD * 0.2 VESTS/STEEM = 2 VESTS/SBD = 0.02 SBD/VESTS + self.assertEqual(p4["base"]["symbol"], "HBD") + # 10 HIVE/HBD * 0.2 VESTS/HIVE = 2 VESTS/HBD = 0.02 HBD/VESTS self.assertEqual(float(p4), 0.02) - p6 = Price(10.0, "STEEM/SBD") + p6 = Price(10.0, "HIVE/HBD") p6 *= 5 self.assertEqual(float(p6), 50) def test_div(self): - p1 = Price(10.0, "STEEM/SBD") - p2 = Price(5.0, "STEEM/VESTS") + p1 = Price(10.0, "HIVE/HBD") + p2 = Price(5.0, "HIVE/VESTS") - # 10 STEEM/SBD / 5 STEEM/VESTS = 2 VESTS/SBD + # 10 HIVE/HBD / 5 HIVE/VESTS = 2 VESTS/HBD p3 = p1 / p2 p4 = p3.as_base("VESTS") self.assertEqual(p4["base"]["symbol"], "VESTS") - self.assertEqual(p4["quote"]["symbol"], "SBD") - # 10 STEEM/SBD * 0.2 VESTS/STEEM = 2 VESTS/SBD = 0.5 SBD/VESTS + self.assertEqual(p4["quote"]["symbol"], "HBD") + # 10 HIVE/HBD * 0.2 VESTS/HIVE = 2 VESTS/HBD = 0.5 HBD/VESTS self.assertEqual(float(p4), 2) def test_div2(self): - p1 = Price(10.0, "STEEM/SBD") - p2 = Price(5.0, "STEEM/SBD") + p1 = Price(10.0, "HIVE/HBD") + p2 = Price(5.0, "HIVE/HBD") - # 10 STEEM/SBD / 5 STEEM/VESTS = 2 VESTS/SBD + # 10 HIVE/HBD / 5 HIVE/VESTS = 2 VESTS/HBD p3 = p1 / p2 self.assertTrue(isinstance(p3, (float, int))) self.assertEqual(float(p3), 2.0) p3 = p1 / 5 self.assertEqual(float(p3), 2.0) - p3 = p1 / Amount("1 SBD") + p3 = p1 / Amount("1 HBD") self.assertEqual(float(p3), 0.1) p3 = p1 p3 /= p2 @@ -98,8 +93,8 @@ class Testcases(unittest.TestCase): self.assertEqual(float(p3), 2.0) def test_ltge(self): - p1 = Price(10.0, "STEEM/SBD") - p2 = Price(5.0, "STEEM/SBD") + p1 = Price(10.0, "HIVE/HBD") + p2 = Price(5.0, "HIVE/HBD") self.assertTrue(p1 > p2) self.assertTrue(p2 < p1) @@ -107,8 +102,8 @@ class Testcases(unittest.TestCase): self.assertTrue(p2 < 10) def test_leeq(self): - p1 = Price(10.0, "STEEM/SBD") - p2 = Price(5.0, "STEEM/SBD") + p1 = Price(10.0, "HIVE/HBD") + p2 = Price(5.0, "HIVE/HBD") self.assertTrue(p1 >= p2) self.assertTrue(p2 <= p1) @@ -116,8 +111,8 @@ class Testcases(unittest.TestCase): self.assertTrue(p2 <= 10) def test_ne(self): - p1 = Price(10.0, "STEEM/SBD") - p2 = Price(5.0, "STEEM/SBD") + p1 = Price(10.0, "HIVE/HBD") + p2 = Price(5.0, "HIVE/HBD") self.assertTrue(p1 != p2) self.assertTrue(p1 == p1) @@ -125,11 +120,11 @@ class Testcases(unittest.TestCase): self.assertTrue(p1 == 10) def test_order(self): - order = Order(Amount("2 SBD"), Amount("1 STEEM")) + order = Order(Amount("2 HBD"), Amount("1 HIVE")) self.assertTrue(repr(order) is not None) def test_filled_order(self): - order = {"date": "1900-01-01T00:00:00", "current_pays": "2 SBD", "open_pays": "1 STEEM"} + order = {"date": "1900-01-01T00:00:00", "current_pays": "2 HBD", "open_pays": "1 HIVE"} filledOrder = FilledOrder(order) self.assertTrue(repr(filledOrder) is not None) - self.assertEqual(filledOrder.json()["current_pays"], Amount("2.000 SBD").json()) + self.assertEqual(filledOrder.json()["current_pays"], Amount("2.000 HBD").json()) diff --git a/tests/beem/test_profile.py b/tests/beem/test_profile.py index 2c4c0b86..32265a05 100644 --- a/tests/beem/test_profile.py +++ b/tests/beem/test_profile.py @@ -1,10 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import bytes -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import random import unittest diff --git a/tests/beem/test_steem.py b/tests/beem/test_steem.py index b563ea59..e58cc91a 100644 --- a/tests/beem/test_steem.py +++ b/tests/beem/test_steem.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import unittest from parameterized import parameterized @@ -15,7 +10,7 @@ from beem.amount import Amount from beem.version import version as beem_version from beem.account import Account from beemgraphenebase.account import PrivateKey -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes # Py3 compatibility import sys @@ -27,10 +22,8 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - cls.nodelist = NodeList() - cls.nodelist.update_nodes(steem_instance=Steem(node=cls.nodelist.get_steem_nodes(), num_retries=10)) cls.bts = Steem( - node=cls.nodelist.get_steem_nodes(), + node=get_steem_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, @@ -67,7 +60,7 @@ class Testcases(unittest.TestCase): self.assertEqual(float(amount), 1.33) def test_create_account(self): - bts = Steem(node=self.nodelist.get_steem_nodes(), + bts = Steem(node=get_steem_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, @@ -143,7 +136,7 @@ class Testcases(unittest.TestCase): "test") def test_create_account_password(self): - bts = Steem(node=self.nodelist.get_steem_nodes(), + bts = Steem(node=get_steem_nodes(), nobroadcast=True, unsigned=True, data_refresh_time_seconds=900, @@ -423,7 +416,7 @@ class Testcases(unittest.TestCase): self.assertFalse(bts.get_blockchain_version() == '0.0.0') def test_offline(self): - bts = Steem(node=self.nodelist.get_steem_nodes(), + bts = Steem(node=get_steem_nodes(), offline=True, data_refresh_time_seconds=900, keys={"active": wif, "owner": wif2, "memo": wif3}) @@ -452,7 +445,7 @@ class Testcases(unittest.TestCase): self.assertTrue(bts.is_steem) def test_properties(self): - bts = Steem(node=self.nodelist.get_steem_nodes(), + bts = Steem(node=get_steem_nodes(), nobroadcast=True, data_refresh_time_seconds=900, keys={"active": wif, "owner": wif2, "memo": wif3}, diff --git a/tests/beem/test_storage.py b/tests/beem/test_storage.py index cca88694..77310181 100644 --- a/tests/beem/test_storage.py +++ b/tests/beem/test_storage.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import unittest from parameterized import parameterized @@ -19,7 +14,7 @@ from beem.witness import Witness from beem.account import Account from beemgraphenebase.account import PrivateKey from beem.instance import set_shared_steem_instance, shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes # Py3 compatibility import sys core_unit = "STM" @@ -31,11 +26,9 @@ class Testcases(unittest.TestCase): def setUpClass(cls): stm = shared_steem_instance() stm.config.refreshBackup() - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(exclude_limited=False), num_retries=10)) cls.stm = Steem( - node=nodelist.get_nodes(exclude_limited=True), + node=get_steem_nodes(), nobroadcast=True, # We want to bundle many operations into a single transaction bundle=True, diff --git a/tests/beem/test_testnet.py b/tests/beem/test_testnet.py index b26963f8..c00b588b 100644 --- a/tests/beem/test_testnet.py +++ b/tests/beem/test_testnet.py @@ -1,9 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import range -from builtins import super +# -*- coding: utf-8 -*- import string import unittest import random diff --git a/tests/beem/test_txbuffers.py b/tests/beem/test_txbuffers.py index 63838310..67bff1ab 100644 --- a/tests/beem/test_txbuffers.py +++ b/tests/beem/test_txbuffers.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from beem import Steem @@ -23,7 +19,7 @@ from beemstorage.exceptions import WalletLocked from beemapi import exceptions from beem.wallet import Wallet from beem.utils import formatTimeFromNow -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" wif2 = "5JKu2dFfjKAcD6aP1HqBDxMNbdwtvPS99CaxBzvMYhY94Pt6RDS" wif3 = "5K1daXjehgPZgUHz6kvm55ahEArBHfCHLy6ew8sT7sjDb76PU2P" @@ -33,9 +29,7 @@ class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(exclude_limited=False), num_retries=10)) - node_list = nodelist.get_nodes(exclude_limited=True) + node_list = get_hive_nodes() cls.stm = Steem( node=node_list, keys={"active": wif, "owner": wif2, "memo": wif3}, diff --git a/tests/beem/test_utils.py b/tests/beem/test_utils.py index 5228d6eb..c86abaaf 100644 --- a/tests/beem/test_utils.py +++ b/tests/beem/test_utils.py @@ -1,7 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals +# -*- coding: utf-8 -*- import unittest from datetime import datetime, date, timedelta from beem.utils import ( diff --git a/tests/beem/test_vote.py b/tests/beem/test_vote.py index 9b8b4a4c..268fe6ae 100644 --- a/tests/beem/test_vote.py +++ b/tests/beem/test_vote.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized import pytz @@ -14,7 +10,7 @@ from beem.account import Account from beem.vote import Vote, ActiveVotes, AccountVotes from beem.instance import set_shared_steem_instance from beem.utils import construct_authorperm, resolve_authorperm, resolve_authorpermvoter, construct_authorpermvoter -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -22,10 +18,8 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) cls.bts = Steem( - node=nodelist.get_nodes(hive=True), + node=get_hive_nodes(), nobroadcast=True, keys={"active": wif}, num_retries=10 diff --git a/tests/beem/test_wallet.py b/tests/beem/test_wallet.py index 78c8dc07..5ae74dd4 100644 --- a/tests/beem/test_wallet.py +++ b/tests/beem/test_wallet.py @@ -1,8 +1,4 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from pprint import pprint @@ -12,7 +8,7 @@ from beem.amount import Amount from beem.asset import Asset from beem.wallet import Wallet from beem.instance import set_shared_steem_instance, shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -22,11 +18,9 @@ class Testcases(unittest.TestCase): def setUpClass(cls): stm = shared_steem_instance() stm.config.refreshBackup() - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(exclude_limited=False), num_retries=10)) cls.stm = Steem( - node=nodelist.get_nodes(exclude_limited=True), + node=get_hive_nodes(), nobroadcast=True, # We want to bundle many operations into a single transaction bundle=True, diff --git a/tests/beem/test_witness.py b/tests/beem/test_witness.py index ed09f107..474b6058 100644 --- a/tests/beem/test_witness.py +++ b/tests/beem/test_witness.py @@ -1,15 +1,11 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals -from builtins import super +# -*- coding: utf-8 -*- import unittest from parameterized import parameterized from pprint import pprint from beem import Steem from beem.witness import Witness, Witnesses, WitnessesVotedByAccount, WitnessesRankedByVote from beem.instance import set_shared_steem_instance -from beem.nodelist import NodeList +from .nodes import get_hive_nodes, get_steem_nodes wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" @@ -17,17 +13,15 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" class Testcases(unittest.TestCase): @classmethod def setUpClass(cls): - nodelist = NodeList() - nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes(hive=True), num_retries=10)) cls.bts = Steem( - node=nodelist.get_nodes(hive=True), + node=get_hive_nodes(), nobroadcast=True, unsigned=True, keys={"active": wif}, num_retries=10 ) cls.steemit = Steem( - node="https://api.steemit.com", + node=get_steem_nodes(), nobroadcast=True, unsigned=True, keys={"active": wif}, -- GitLab