From 09634103232e2e48e9dafb062938960a07bf8ff2 Mon Sep 17 00:00:00 2001 From: Holger Nahrstaedt <holgernahrstaedt@gmx.de> Date: Sat, 13 Mar 2021 22:01:50 +0100 Subject: [PATCH] Improve hybrid operation in operations (pre / post HF 24 operation are supported) --- CHANGELOG.rst | 1 + beembase/operations.py | 51 ++++++++++++++++++------------------------ 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 11425ceb..8f14bfde 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,7 @@ Changelog 0.24.22 ------- * Fix to parameter in transfer_to_vesting +* Allow hybrid operation in operations (pre / post HF 24 operation are supported) 0.24.21 ------- diff --git a/beembase/operations.py b/beembase/operations.py index 9168e5c2..f2675033 100644 --- a/beembase/operations.py +++ b/beembase/operations.py @@ -440,22 +440,16 @@ class Witness_set_properties(GrapheneObject): is_hex = False if isinstance(k[1], int) and k[0] in ["account_subsidy_budget", "account_subsidy_decay", "maximum_block_size"]: props[k[0]] = (hexlify(Uint32(k[1]).__bytes__())).decode() - elif isinstance(k[1], int) and k[0] in ["sbd_interest_rate"]: - props[k[0]] = (hexlify(Uint16(k[1]).__bytes__())).decode() - elif isinstance(k[1], int) and k[0] in ["hbd_interest_rate"]: - props[k[0]] = (hexlify(Uint16(k[1]).__bytes__())).decode() + elif isinstance(k[1], int) and k[0] in ["sbd_interest_rate", "hbd_interest_rate"]: + props[k[0]] = (hexlify(Uint16(k[1]).__bytes__())).decode() elif not isinstance(k[1], str) and k[0] in ["account_creation_fee"]: props[k[0]] = (hexlify(Amount(k[1], prefix=prefix, json_str=json_str).__bytes__())).decode() elif not is_hex and isinstance(k[1], str) and k[0] in ["account_creation_fee"]: props[k[0]] = (hexlify(Amount(k[1], prefix=prefix, json_str=json_str).__bytes__())).decode() - elif not isinstance(k[1], str) and k[0] in ["sbd_exchange_rate"]: + elif not isinstance(k[1], str) and k[0] in ["sbd_exchange_rate", "hbd_exchange_rate"]: if 'prefix' not in k[1]: k[1]['prefix'] = prefix - props[k[0]] = (hexlify(ExchangeRate(k[1]).__bytes__())).decode() - elif not isinstance(k[1], str) and k[0] in ["hbd_exchange_rate"]: - if 'prefix' not in k[1]: - k[1]['prefix'] = prefix - props[k[0]] = (hexlify(ExchangeRate(k[1]).__bytes__())).decode() + props[k[0]] = (hexlify(ExchangeRate(k[1]).__bytes__())).decode() elif not is_hex and k[0] in ["url"]: props[k[0]] = (hexlify(String(k[1]).__bytes__())).decode() else: @@ -569,15 +563,15 @@ class Comment_options(GrapheneObject): extensions = Array([]) if "extensions" in kwargs and kwargs["extensions"]: extensions = Array([CommentOptionExtensions(o) for o in kwargs["extensions"]]) - if "percent_steem_dollars" in kwargs: + if "percent_hbd" in kwargs: super(Comment_options, self).__init__( OrderedDict([ ('author', String(kwargs["author"])), ('permlink', String(kwargs["permlink"])), ('max_accepted_payout', Amount(kwargs["max_accepted_payout"], prefix=prefix, json_str=json_str)), - ('percent_steem_dollars', - Uint16(int(kwargs["percent_steem_dollars"]))), + ('percent_hbd', + Uint16(int(kwargs["percent_hbd"]))), ('allow_votes', Bool(bool(kwargs["allow_votes"]))), ('allow_curation_rewards', Bool(bool(kwargs["allow_curation_rewards"]))), @@ -590,8 +584,8 @@ class Comment_options(GrapheneObject): ('permlink', String(kwargs["permlink"])), ('max_accepted_payout', Amount(kwargs["max_accepted_payout"], prefix=prefix)), - ('percent_hbd', - Uint16(int(kwargs["percent_hbd"]))), + ('percent_steem_dollars', + Uint16(int(kwargs["percent_steem_dollars"]))), ('allow_votes', Bool(bool(kwargs["allow_votes"]))), ('allow_curation_rewards', Bool(bool(kwargs["allow_curation_rewards"]))), @@ -619,7 +613,6 @@ class Feed_publish(GrapheneObject): if len(args) == 1 and len(kwargs) == 0: kwargs = args[0] prefix = kwargs.get("prefix", default_prefix) - json_str = kwargs.get("json_str", False) if 'prefix' not in kwargs['exchange_rate']: kwargs['exchange_rate']['prefix'] = prefix super(Feed_publish, self).__init__( @@ -847,18 +840,18 @@ class Claim_reward_balance(GrapheneObject): ('reward_hbd', Amount(kwargs["reward_hbd"], prefix=prefix)), ('reward_vests', Amount(kwargs["reward_vests"], prefix=prefix)), ])) - elif "reward_steem" in kwargs: + elif "reward_hive" in kwargs: super(Claim_reward_balance, self).__init__( OrderedDict([ ('account', String(kwargs["account"])), - ('reward_steem', Amount(kwargs["reward_steem"], prefix=prefix, json_str=json_str)), + ('reward_hive', Amount(kwargs["reward_hive"], prefix=prefix, json_str=json_str)), ('reward_vests', Amount(kwargs["reward_vests"], prefix=prefix)), ])) else: super(Claim_reward_balance, self).__init__( OrderedDict([ ('account', String(kwargs["account"])), - ('reward_hive', Amount(kwargs["reward_hive"], prefix=prefix)), + ('reward_steem', Amount(kwargs["reward_steem"], prefix=prefix)), ('reward_vests', Amount(kwargs["reward_vests"], prefix=prefix)), ])) @@ -931,15 +924,15 @@ class Escrow_transfer(GrapheneObject): meta = json.dumps(kwargs["json_meta"]) else: meta = kwargs["json_meta"] - if "sbd_amount" in kwargs and "steem_amount" in kwargs: + if "hbd_amount" in kwargs and "hive_amount" in kwargs: super(Escrow_transfer, self).__init__( OrderedDict([ ('from', String(kwargs["from"])), ('to', String(kwargs["to"])), ('agent', String(kwargs["agent"])), ('escrow_id', Uint32(kwargs["escrow_id"])), - ('sbd_amount', Amount(kwargs["sbd_amount"], prefix=prefix, json_str=json_str)), - ('steem_amount', Amount(kwargs["steem_amount"], prefix=prefix, json_str=json_str)), + ('hbd_amount', Amount(kwargs["hbd_amount"], prefix=prefix, json_str=json_str)), + ('hive_amount', Amount(kwargs["hive_amount"], prefix=prefix, json_str=json_str)), ('fee', Amount(kwargs["fee"], prefix=prefix, json_str=json_str)), ('ratification_deadline', PointInTime(kwargs["ratification_deadline"])), ('escrow_expiration', PointInTime(kwargs["escrow_expiration"])), @@ -952,8 +945,8 @@ class Escrow_transfer(GrapheneObject): ('to', String(kwargs["to"])), ('agent', String(kwargs["agent"])), ('escrow_id', Uint32(kwargs["escrow_id"])), - ('hbd_amount', Amount(kwargs["hbd_amount"], prefix=prefix)), - ('hive_amount', Amount(kwargs["hive_amount"], prefix=prefix)), + ('sbd_amount', Amount(kwargs["sbd_amount"], prefix=prefix)), + ('steem_amount', Amount(kwargs["steem_amount"], prefix=prefix)), ('fee', Amount(kwargs["fee"], prefix=prefix)), ('ratification_deadline', PointInTime(kwargs["ratification_deadline"])), ('escrow_expiration', PointInTime(kwargs["escrow_expiration"])), @@ -984,15 +977,15 @@ class Escrow_release(GrapheneObject): kwargs = args[0] prefix = kwargs.get("prefix", default_prefix) json_str = kwargs.get("json_str", False) - if "steem_amount" in kwargs and "sbd_amount" in kwargs: + if "hive_amount" in kwargs and "hbd_amount" in kwargs: super(Escrow_release, self).__init__( OrderedDict([ ('from', String(kwargs["from"])), ('to', String(kwargs["to"])), ('who', String(kwargs["who"])), ('escrow_id', Uint32(kwargs["escrow_id"])), - ('sbd_amount', Amount(kwargs["sbd_amount"], prefix=prefix, json_str=json_str)), - ('steem_amount', Amount(kwargs["steem_amount"], prefix=prefix, json_str=json_str)), + ('hbd_amount', Amount(kwargs["hbd_amount"], prefix=prefix, json_str=json_str)), + ('hive_amount', Amount(kwargs["hive_amount"], prefix=prefix, json_str=json_str)), ])) else: super(Escrow_release, self).__init__( @@ -1001,8 +994,8 @@ class Escrow_release(GrapheneObject): ('to', String(kwargs["to"])), ('who', String(kwargs["who"])), ('escrow_id', Uint32(kwargs["escrow_id"])), - ('hbd_amount', Amount(kwargs["hbd_amount"], prefix=prefix)), - ('hive_amount', Amount(kwargs["hive_amount"], prefix=prefix)), + ('sbd_amount', Amount(kwargs["sbd_amount"], prefix=prefix)), + ('steem_amount', Amount(kwargs["steem_amount"], prefix=prefix)), ])) -- GitLab