コード例 #1
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]
            prefix = kwargs.pop("prefix", default_prefix)

            meta = ""
            if "json_metadata" in kwargs and kwargs["json_metadata"]:
                if isinstance(kwargs["json_metadata"], dict):
                    meta = json.dumps(kwargs["json_metadata"])
                else:
                    meta = kwargs["json_metadata"]

            owner = Permission(kwargs["owner"], prefix=prefix) if "owner" in kwargs else None
            active = Permission(kwargs["active"], prefix=prefix) if "active" in kwargs else None
            posting = Permission(kwargs["posting"], prefix=prefix) if "posting" in kwargs else None

            super().__init__(OrderedDict([
                ('account', String(kwargs["account"])),
                ('owner', Optional(owner)),
                ('active', Optional(active)),
                ('posting', Optional(posting)),
                ('memo_key', PublicKey(kwargs["memo_key"], prefix=prefix)),
                ('json_metadata', String(meta)),
            ]))
コード例 #2
0
ファイル: operations.py プロジェクト: bitphage/golos-python
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            active_approvals_to_add = [
                String(str(x))
                for x in kwargs.get("active_approvals_to_add") or []
            ]
            active_approvals_to_remove = [
                String(str(x))
                for x in kwargs.get("active_approvals_to_remove") or []
            ]
            owner_approvals_to_add = [
                String(str(x))
                for x in kwargs.get("owner_approvals_to_add") or []
            ]
            owner_approvals_to_remove = [
                String(str(x))
                for x in kwargs.get("owner_approvals_to_remove") or []
            ]
            posting_approvals_to_add = [
                String(str(x))
                for x in kwargs.get("posting_approvals_to_add") or []
            ]
            posting_approvals_to_remove = [
                String(str(x))
                for x in kwargs.get("posting_approvals_to_remove") or []
            ]
            key_approvals_to_add = [
                String(str(x))
                for x in kwargs.get("key_approvals_to_add") or []
            ]
            key_approvals_to_remove = [
                String(str(x))
                for x in kwargs.get("key_approvals_to_remove") or []
            ]

            super().__init__(
                OrderedDict([
                    ("author", String(kwargs["author"])),
                    ("title", String(kwargs["title"])),
                    ("active_approvals_to_add",
                     Array(active_approvals_to_add)),
                    ("active_approvals_to_remove",
                     Array(active_approvals_to_remove)),
                    ("owner_approvals_to_add", Array(owner_approvals_to_add)),
                    ("owner_approvals_to_remove",
                     Array(owner_approvals_to_remove)),
                    ("posting_approvals_to_add",
                     Array(posting_approvals_to_add)),
                    ("posting_approvals_to_remove",
                     Array(posting_approvals_to_remove)),
                    ("key_approvals_to_add", Array(key_approvals_to_add)),
                    ("key_approvals_to_remove",
                     Array(key_approvals_to_remove)),
                    ("extensions", Array(kwargs.get("extensions") or [])),
                ]))
コード例 #3
0
ファイル: operations.py プロジェクト: pmartynov/golodranets
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]
            if "json" in kwargs and kwargs["json"]:
                if (isinstance(kwargs["json"], dict)
                        or isinstance(kwargs["json"], list)):
                    js = json.dumps(kwargs["json"])
                else:
                    js = kwargs["json"]

            if len(kwargs["id"]) > 32:
                raise Exception("'id' too long")

            super().__init__(
                OrderedDict([
                    ('required_auths',
                     Array([String(o) for o in kwargs["required_auths"]])),
                    ('required_posting_auths',
                     Array([
                         String(o) for o in kwargs["required_posting_auths"]
                     ])),
                    ('id', String(kwargs["id"])),
                    ('json', String(js)),
                ]))
コード例 #4
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]
            prefix = kwargs.pop("prefix", default_prefix)

            assert len(kwargs["new_account_name"]) <= 16, "Account name must be at most 16 chars long"

            meta = ""
            if "json_metadata" in kwargs and kwargs["json_metadata"]:
                if isinstance(kwargs["json_metadata"], dict):
                    meta = json.dumps(kwargs["json_metadata"])
                else:
                    meta = kwargs["json_metadata"]
            super().__init__(OrderedDict([
                ('fee', Amount(kwargs["fee"])),
                ('delegation', Amount(kwargs["delegation"])),
                ('creator', String(kwargs["creator"])),
                ('new_account_name', String(kwargs["new_account_name"])),
                ('owner', Permission(kwargs["owner"], prefix=prefix)),
                ('active', Permission(kwargs["active"], prefix=prefix)),
                ('posting', Permission(kwargs["posting"], prefix=prefix)),
                ('memo_key', PublicKey(kwargs["memo_key"], prefix=prefix)),
                ('json_metadata', String(meta)),
                ('extensions', Array([])),
            ]))
コード例 #5
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            # handle beneficiaries
            extensions = Array([])
            beneficiaries = kwargs.get('beneficiaries')
            # TODO: Explore this 2 lines
            if not beneficiaries and kwargs['extensions'] and len(kwargs['extensions'][0]) == 2:
                beneficiaries = kwargs['extensions'][0][1].get('beneficiaries')
            if beneficiaries and type(beneficiaries) == list:
                ext_obj = [0, {'beneficiaries': beneficiaries}]
                ext = CommentOptionExtensions(ext_obj)
                extensions = Array([ext])

            super().__init__(OrderedDict([
                ('author', String(kwargs["author"])),
                ('permlink', String(kwargs["permlink"])),
                ('max_accepted_payout', Amount(kwargs["max_accepted_payout"])),
                ('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"]))),
                ('extensions', extensions),
            ]))
コード例 #6
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            assert kwargs['proposed_operations'], 'proposed_operations cannot be empty!'

            if isinstance(kwargs['proposed_operations'][0], GrapheneObject):
                proposed_operations = [OperationWrapper(Operation(op)) for op in kwargs['proposed_operations']]
            else:
                proposed_operations = [OperationWrapper(Operation(op['op'])) for op in kwargs['proposed_operations']]

            review_period_time = PointInTime(kwargs['review_period_time']) if kwargs.get('review_period_time') else None

            super().__init__(OrderedDict([
                ('author', String(kwargs['author'])),
                ('title', String(kwargs['title'])),
                ('memo', String(kwargs.get('memo', ''))),
                ('expiration_time', PointInTime(kwargs['expiration_time'])),
                ('proposed_operations', Array(proposed_operations)),
                ('review_period_time', Optional(review_period_time)),
                ('extensions', Array(kwargs.get('extensions') or [])),
            ]))
コード例 #7
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            active_approvals_to_add = [String(str(x)) for x in kwargs.get('active_approvals_to_add') or []]
            active_approvals_to_remove = [String(str(x)) for x in kwargs.get('active_approvals_to_remove') or []]
            owner_approvals_to_add = [String(str(x)) for x in kwargs.get('owner_approvals_to_add') or []]
            owner_approvals_to_remove = [String(str(x)) for x in kwargs.get('owner_approvals_to_remove') or []]
            posting_approvals_to_add = [String(str(x)) for x in kwargs.get('posting_approvals_to_add') or []]
            posting_approvals_to_remove = [String(str(x)) for x in kwargs.get('posting_approvals_to_remove') or []]
            key_approvals_to_add = [String(str(x)) for x in kwargs.get('key_approvals_to_add') or []]
            key_approvals_to_remove = [String(str(x)) for x in kwargs.get('key_approvals_to_remove') or []]

            super().__init__(OrderedDict([
                ('author', String(kwargs['author'])),
                ('title', String(kwargs['title'])),
                ('active_approvals_to_add', Array(active_approvals_to_add)),
                ('active_approvals_to_remove', Array(active_approvals_to_remove)),
                ('owner_approvals_to_add', Array(owner_approvals_to_add)),
                ('owner_approvals_to_remove', Array(owner_approvals_to_remove)),
                ('posting_approvals_to_add', Array(posting_approvals_to_add)),
                ('posting_approvals_to_remove', Array(posting_approvals_to_remove)),
                ('key_approvals_to_add', Array(key_approvals_to_add)),
                ('key_approvals_to_remove', Array(key_approvals_to_remove)),
                ('extensions', Array(kwargs.get('extensions') or [])),
            ]))
コード例 #8
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('delegator', String(kwargs["delegator"])),
             ('delegatee', String(kwargs["delegatee"])),
             ('vesting_shares', Amount(kwargs["vesting_shares"])),
         ]))
コード例 #9
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            super().__init__(OrderedDict([
                ('author', String(kwargs['author'])),
                ('permlink', String(kwargs['permlink'])),
            ]))
コード例 #10
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('account', String(kwargs["account"])),
             ('witness', String(kwargs["witness"])),
             ('approve', Bool(bool(kwargs["approve"]))),
         ]))
コード例 #11
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('from', String(kwargs["from"])),
             ('to', String(kwargs["to"])),
             ('amount', Amount(kwargs["amount"])),
         ]))
コード例 #12
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('voter', String(kwargs["voter"])),
             ('author', String(kwargs["author"])),
             ('permlink', String(kwargs["permlink"])),
             ('weight', Int16(kwargs["weight"])),
         ]))
コード例 #13
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('from_account', String(kwargs["from_account"])),
             ('to_account', String(kwargs["to_account"])),
             ('percent', Uint16((kwargs["percent"]))),
             ('auto_vest', Bool(kwargs["auto_vest"])),
         ]))
コード例 #14
0
ファイル: operations.py プロジェクト: bitphage/golos-python
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            new_extensions = []

            # handle beneficiaries
            if "beneficiaries" in kwargs and kwargs["beneficiaries"]:
                new_extensions.append(
                    [0, {
                        "beneficiaries": kwargs["beneficiaries"]
                    }])

            if "auction_window_reward_destination" in kwargs and kwargs[
                    "auction_window_reward_destination"]:
                new_extensions.append([
                    1, {
                        "destination":
                        kwargs["auction_window_reward_destination"]
                    }
                ])

            if "curation_rewards_percent" in kwargs and kwargs[
                    "curation_rewards_percent"]:
                new_extensions.append(
                    [2, {
                        "percent": kwargs["curation_rewards_percent"]
                    }])

            if new_extensions:
                kwargs["extensions"] = new_extensions

            extensions = Array([])
            if "extensions" in kwargs and kwargs["extensions"]:
                extensions = Array(
                    [CommentOptionExtensions(o) for o in kwargs["extensions"]])

            super().__init__(
                OrderedDict([
                    ("author", String(kwargs["author"])),
                    ("permlink", String(kwargs["permlink"])),
                    ("max_accepted_payout",
                     Amount(kwargs["max_accepted_payout"])),
                    ("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"]))),
                    ("extensions", extensions),
                ]))
コード例 #15
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('author', String(kwargs['author'])),
             ('title', String(kwargs['title'])),
             ('requester', String(kwargs['requester'])),
             ('extensions', Array(kwargs.get('extensions') or []))
         ]))
コード例 #16
0
ファイル: operations.py プロジェクト: bitphage/golos-python
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(
             OrderedDict([
                 ("author", String(kwargs["author"])),
                 ("title", String(kwargs["title"])),
                 ("requester", String(kwargs["requester"])),
                 ("extensions", Array(kwargs.get("extensions") or [])),
             ]))
コード例 #17
0
ファイル: operations.py プロジェクト: bitphage/golos-python
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(
             OrderedDict([
                 ("from", String(kwargs["from"])),
                 ("to", String(kwargs["to"])),
                 ("amount", Amount(kwargs["amount"])),
                 ("to_vesting", Bool(bool(kwargs["to_vesting"]))),
                 ("extensions", Array([])),
             ]))
コード例 #18
0
ファイル: operations.py プロジェクト: bitphage/golos-python
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         if "memo" not in kwargs:
             kwargs["memo"] = ""
         super().__init__(
             OrderedDict([
                 ("from", String(kwargs["from"])),
                 ("to", String(kwargs["to"])),
                 ("amount", Amount(kwargs["amount"])),
                 ("memo", String(kwargs["memo"])),
             ]))
コード例 #19
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            prefix = kwargs.pop("prefix", default_prefix)

            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            # Sort keys (FIXME: ideally, the sorting is part of Public
            # Key and not located here)
            kwargs["key_auths"] = sorted(
                kwargs["key_auths"],
                key=lambda x: repr(PublicKey(x[0], prefix=prefix)),
                reverse=False,
            )
            kwargs["account_auths"] = sorted(
                kwargs["account_auths"],
                key=lambda x: x[0],
                reverse=False,
            )

            accountAuths = Map([
                [String(e[0]), Uint16(e[1])]
                for e in kwargs["account_auths"]
            ])
            keyAuths = Map([
                [PublicKey(e[0], prefix=prefix), Uint16(e[1])]
                for e in kwargs["key_auths"]
            ])
            super().__init__(OrderedDict([
                ('weight_threshold', Uint32(int(kwargs["weight_threshold"]))),
                ('account_auths', accountAuths),
                ('key_auths', keyAuths),
            ]))
コード例 #20
0
ファイル: operations.py プロジェクト: bitphage/golos-python
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            props = kwargs.get("props")

            # A hack to extract properties at the second op processing in transactionbuilder
            if props and type(props) == list:
                props = props[1]

            if props and type(props) == dict:
                type_id = 0
                if "min_delegation" in props:
                    type_id = 1
                if "auction_window_size" in props:
                    type_id = 2
                if "worker_reward_percent" in props:
                    type_id = 3
                if "claim_idleness_time" in props:
                    type_id = 4

                obj = [type_id, {"props": props}]
                props = Props(obj)

            super().__init__(
                OrderedDict([
                    ("owner", String(kwargs["owner"])),
                    ("props", props),
                ]))
コード例 #21
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]
            if "memo" not in kwargs:
                kwargs["memo"] = ""

            super().__init__(OrderedDict([
                ('from', String(kwargs["from"])),
                ('request_id', Uint32(int(kwargs["request_id"]))),
                ('to', String(kwargs["to"])),
                ('amount', Amount(kwargs["amount"])),
                ('memo', String(kwargs["memo"])),
            ]))
コード例 #22
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]
            prefix = kwargs.pop("prefix", default_prefix)

            if not kwargs["block_signing_key"]:
                kwargs["block_signing_key"] = "STM1111111111111111111111111111111114T1Anm"
            super().__init__(OrderedDict([
                ('owner', String(kwargs["owner"])),
                ('url', String(kwargs["url"])),
                ('block_signing_key', PublicKey(kwargs["block_signing_key"], prefix=prefix)),
                ('props', WitnessProps(kwargs["props"])),
                ('fee', Amount(kwargs["fee"])),
            ]))
コード例 #23
0
ファイル: operations.py プロジェクト: bitphage/golos-python
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            comment = String(
                kwargs["comment"]) if kwargs.get("comment") else None

            super().__init__(
                OrderedDict([
                    ("app", String(kwargs["app"])),
                    ("version", Uint16(int(kwargs["version"]))),
                    ("target", kwargs["target"]),
                    ("comment", Optional(comment)),
                ]))
コード例 #24
0
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]

            meta = ""
            if kwargs.get('json_metadata'):
                if isinstance(kwargs["json_metadata"], dict):
                    meta = json.dumps(kwargs["json_metadata"])
                else:
                    meta = kwargs["json_metadata"]

            super().__init__(OrderedDict([
                ('account', String(kwargs["account"])),
                ('json_metadata', String(meta)),
            ]))
コード例 #25
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('publisher', String(kwargs["publisher"])),
             ('exchange_rate', ExchangeRate(kwargs["exchange_rate"])),
         ]))
コード例 #26
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('owner', String(kwargs["owner"])),
             ('orderid', Uint32(int(kwargs["orderid"]))),
         ]))
コード例 #27
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('account', String(kwargs["account"])),
             ('weight', Int16(kwargs["weight"])),
         ]))
コード例 #28
0
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(OrderedDict([
             ('from', String(kwargs["from"])),
             ('request_id', Uint32(int(kwargs["request_id"]))),
         ]))
コード例 #29
0
ファイル: operations.py プロジェクト: bitphage/golos-python
 def __init__(self, *args, **kwargs):
     if isArgsThisClass(self, args):
         self.data = args[0].data
     else:
         if len(args) == 1 and len(kwargs) == 0:
             kwargs = args[0]
         super().__init__(
             OrderedDict([
                 ("account", String(kwargs["account"])),
                 ("vesting_shares", Amount(kwargs["vesting_shares"])),
             ]))
コード例 #30
0
ファイル: operations.py プロジェクト: bitphage/golos-python
    def __init__(self, *args, **kwargs):
        if isArgsThisClass(self, args):
            self.data = args[0].data
        else:
            if len(args) == 1 and len(kwargs) == 0:
                kwargs = args[0]
            prefix = kwargs.pop("prefix", default_prefix)

            if not kwargs["block_signing_key"]:
                kwargs[
                    "block_signing_key"] = "GLS1111111111111111111111111111111114T1Anm"
            super().__init__(
                OrderedDict([
                    ("owner", String(kwargs["owner"])),
                    ("url", String(kwargs["url"])),
                    ("block_signing_key",
                     PublicKey(kwargs["block_signing_key"], prefix=prefix)),
                    ("props", ChainProperties(kwargs["props"])),
                    ("fee", Amount(kwargs["fee"])),
                ]))