Skip to content

Commit 01eb0e8

Browse files
committed
add get_account_info method
1 parent ad66966 commit 01eb0e8

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

convex_api/convex_api.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,23 @@ def transfer(self, to_address_account, amount, account):
181181
result = self.send(line, account)
182182
return result
183183

184+
def get_account_info(self, address_account):
185+
if isinstance(address_account, str):
186+
address = remove_0x_prefix(address_account)
187+
else:
188+
address = remove_0x_prefix(address_account.address)
189+
190+
account_url = urljoin(self._url, f'/api/v1/accounts/{address}')
191+
logger.debug(f'get_account_info {account_url}')
192+
193+
response = requests.get(account_url)
194+
if response.status_code != 200:
195+
raise ConvexRequestError('get_account_info', response.status_code, response.text)
196+
197+
result = response.json()
198+
logger.debug(f'get_account_info repsonse {result}')
199+
return result
200+
184201
def _transaction_prepare(self, address, transaction, language=None):
185202
"""
186203
@@ -252,6 +269,7 @@ def _transaction_query(self, address, transaction, language=None):
252269

253270
return result
254271

272+
255273
@property
256274
def language(self):
257275
return self._language

tests/intergration/test_convex_api.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,19 @@ def test_convex_api_request_funds(convex_url, test_account):
3535
request_amount = convex.request_funds(amount, test_account)
3636
assert(request_amount == amount)
3737

38+
def test_convex_get_account_info(convex_url, test_account):
39+
convex = ConvexAPI(convex_url)
40+
info = convex.get_account_info(test_account)
41+
assert(info)
42+
assert(info['type']== 'user')
43+
assert(info['balance'] > 0)
44+
assert(info['sequence'] > 0)
45+
46+
47+
account = Account.create_new()
48+
with pytest.raises(ConvexRequestError, match='Address does not exist'):
49+
info = convex.get_account_info(account)
50+
3851
def test_convex_api_send_basic_lisp(convex_url, test_account):
3952
convex = ConvexAPI(convex_url)
4053
request_amount = convex.request_funds(TEST_FUNDING_AMOUNT, test_account)

0 commit comments

Comments
 (0)