3 from Account import Account
6 class Transaction(object):
9 def list_transactions(connection):
10 response = connection.request("/list-transactions")
12 resp_json = json.loads(response.text)
14 if resp_json['status'] == 'success':
15 return resp_json['data']
16 elif resp_json['status'] == 'fail':
17 return resp_json['msg']
22 def list_by_account_id(connection, account_id):
23 body_json = {"account_id": account_id}
24 response = connection.request("/list-transactions", body_json)
26 resp_json = json.loads(response.text)
28 if resp_json['status'] == 'success':
29 return resp_json['data']
30 elif resp_json['status'] == 'fail':
31 return resp_json['msg']
36 def list_by_account_alias(connection, account_alias):
37 account = Account.find_by_alias(connection, account_alias)
38 body_json = {"account_id": account.id}
39 response = connection.request("/list-transactions", body_json)
41 resp_json = json.loads(response.text)
43 if resp_json['status'] == 'success':
44 return resp_json['data']
45 elif resp_json['status'] == 'fail':
46 return resp_json['msg']
51 def get_transaction(connection, tx_id):
52 body_json = {"tx_id": tx_id}
53 response = connection.request("/get-transaction", body_json)
55 resp_json = json.loads(response.text)
57 if resp_json['status'] == 'success':
58 return resp_json['data'], 1
59 elif resp_json['status'] == 'fail':
60 return resp_json['msg'], -1
65 def build_transaction(connection, actions):
67 body_json = {"base_transaction": None, "actions": actions,
68 "ttl": 1, "time_range": 0}
69 response = connection.request("/build-transaction", body_json)
71 resp_json = json.loads(response.text)
73 if resp_json['status'] == 'success':
74 return resp_json['data']
75 elif resp_json['status'] == 'fail':
76 return resp_json['msg']
81 def sign_transaction(connection, password, transaction):
82 body_json = {"password": password, "transaction": transaction}
83 response = connection.request("/sign-transaction", body_json)
85 resp_json = json.loads(response.text)
87 if resp_json['status'] == 'success':
88 return resp_json['data']
89 elif resp_json['status'] == 'fail':
90 return resp_json['msg']
95 def submit_transaction(connection, raw_transaction):
96 body_json = {"raw_transaction": raw_transaction}
97 response = connection.request("/submit-transaction", body_json)
99 resp_json = json.loads(response.text)
101 if resp_json['status'] == 'success':
102 return resp_json['data']
105 class Action(object):
108 def spend_account(amount, account_id, asset_id):
111 'account_id': account_id,
112 'asset_id': asset_id,
113 'type': 'spend_account'
117 def issue(amount, asset_id):
120 'asset_id': asset_id,
125 def gas(amount, account_id, asset_id):
128 'account_id': account_id,
129 'asset_id': asset_id,
130 'type': 'spend_account'
134 def control_address(amount, asset_id, address):
137 'asset_id': asset_id,
139 'type': 'control_address'
143 def unspent_output(output_id):
145 'type': 'spend_account_unspent_output',
146 'output_id': output_id