Skip to content
Snippets Groups Projects
Unverified Commit 3d9c1d51 authored by Holger Nahrstaedt's avatar Holger Nahrstaedt Committed by GitHub
Browse files

Merge pull request #84 from crokkon/hf20_account_creation

adding methods to claim and create discounted accouts
parents 74c189a5 3845fc78
No related branches found
No related tags found
No related merge requests found
...@@ -26,8 +26,8 @@ ops = [ ...@@ -26,8 +26,8 @@ ops = [
'comment_options', 'comment_options',
'set_withdraw_vesting_route', 'set_withdraw_vesting_route',
'limit_order_create2', 'limit_order_create2',
'challenge_authority', 'claim_account',
'prove_authority', 'create_claimed_account',
'request_account_recovery', 'request_account_recovery',
'recover_account', 'recover_account',
'change_recovery_account', 'change_recovery_account',
......
...@@ -446,16 +446,48 @@ class Limit_order_cancel(GrapheneObject): ...@@ -446,16 +446,48 @@ class Limit_order_cancel(GrapheneObject):
])) ]))
class Prove_authority(GrapheneObject): class Claim_account(GrapheneObject):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
if check_for_class(self, args): if check_for_class(self, args):
return return
if len(args) == 1 and len(kwargs) == 0: if len(args) == 1 and len(kwargs) == 0:
kwargs = args[0] kwargs = args[0]
super(Prove_authority, self).__init__( super(Claim_account, self).__init__(
OrderedDict([ OrderedDict([
('challenged', String(kwargs["challenged"])), ('creator', String(kwargs["creator"])),
('require_owner', Bool(kwargs["require_owner"])), ('fee', Amount(kwargs["fee"])),
('extensions', Array([])),
]))
class Create_claimed_account(GrapheneObject):
def __init__(self, *args, **kwargs):
if check_for_class(self, args):
return
if len(args) == 1 and len(kwargs) == 0:
kwargs = args[0]
prefix = kwargs.get("prefix", default_prefix)
if not len(kwargs["new_account_name"]) <= 16:
raise AssertionError("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(Create_claimed_account, self).__init__(
OrderedDict([
('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([])),
])) ]))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment