From 9c8cd3e4f4694880eb3dae165df279d804d7b7d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Machado?= Date: Wed, 29 Aug 2018 21:01:18 -0300 Subject: [PATCH 1/3] fix: added keypair.seed() TO secret param on Builder instance. --- mobius_client_python/auth/challenge.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mobius_client_python/auth/challenge.py b/mobius_client_python/auth/challenge.py index f53ec6b..882ae16 100644 --- a/mobius_client_python/auth/challenge.py +++ b/mobius_client_python/auth/challenge.py @@ -10,12 +10,14 @@ import random import datetime + # Helper object for timestamps class Time(object): def __init__(self, min_time=0, max_time=0): self.minTime = int(min_time) self.maxTime = int(max_time) + # Generates challenge transaction on developer's side. class Challenge(object): def __init__(self, developer_secret, expires_in): @@ -30,7 +32,8 @@ def call(self): keypair = self.keypair() builder = Builder(address=keypair.address().decode(), - sequence=self.random_sequence()) + sequence=self.random_sequence(), + secret=keypair.seed()) builder.add_memo(self.memo()) builder.add_time_bounds(self.build_time_bounds()) @@ -38,7 +41,7 @@ def call(self): builder.append_payment_op(source=Keypair.random(), destination=keypair.address().decode(), amount='0.000001') - builder.sign(keypair.seed()) + builder.sign() te = builder.gen_te() From 8302fa47c678933021bfcc79ac8427fc7a403e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Machado?= Date: Wed, 29 Aug 2018 21:21:40 -0300 Subject: [PATCH 2/3] Added a second call to .sign() to xdr to work --- mobius_client_python/auth/challenge.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mobius_client_python/auth/challenge.py b/mobius_client_python/auth/challenge.py index 882ae16..be12373 100644 --- a/mobius_client_python/auth/challenge.py +++ b/mobius_client_python/auth/challenge.py @@ -35,6 +35,8 @@ def call(self): sequence=self.random_sequence(), secret=keypair.seed()) + builder.sign() + builder.add_memo(self.memo()) builder.add_time_bounds(self.build_time_bounds()) From b7146f6d47136555d96149798c0025b93c26c8f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Machado?= Date: Wed, 12 Sep 2018 16:50:33 -0300 Subject: [PATCH 3/3] fix: Removed verification on asset param for balance() method --- mobius_client_python/blockchain/account.py | 16 ++++++++-------- mobius_client_python/client.py | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mobius_client_python/blockchain/account.py b/mobius_client_python/blockchain/account.py index c8db6ab..570b221 100644 --- a/mobius_client_python/blockchain/account.py +++ b/mobius_client_python/blockchain/account.py @@ -1,6 +1,7 @@ from stellar_base.keypair import Keypair from ..client import Client + class Account(object): def __init__(self, account, keypair): self.account = account @@ -20,7 +21,7 @@ def reload(self): return True - def trust_line_exsists(self,asset=None): + def trust_line_exsists(self, asset=None): if not asset: asset = self.client.get_stellar_asset() balance = dict(self.find_balance(asset)) @@ -31,9 +32,8 @@ def next_sequence_value(self): account = self.get_info() return int(account['sequence']) + 1 - def balance(self,asset=None): - if not asset: - asset = self.client.get_stellar_asset() + def balance(self, asset=None): + asset = self.client.get_stellar_asset() return float(self.find_balance(asset)['balance']) def get_keypair(self): @@ -42,11 +42,11 @@ def get_keypair(self): def get_info(self): return self.account - def authorized(self,keypair): + def authorized(self, keypair): return self.find_signer(public_key=keypair.address().decode()) def balance_match(self, asset, balance): - balance = dict(balance) # Bugfix for python 3.5 + balance = dict(balance) # Bugfix for python 3.5 if asset.is_native(): return balance['asset_type'] == 'native' else: @@ -55,9 +55,9 @@ def balance_match(self, asset, balance): asset_issuer_addr = Keypair.from_address(asset.issuer).address().decode() return asset_code == asset.code and issuer == asset_issuer_addr - def find_balance(self,asset): + def find_balance(self, asset): for item in self.account['balances']: - if self.balance_match(asset,item) == True: + if self.balance_match(asset, item): return item def find_signer(self,public_key): diff --git a/mobius_client_python/client.py b/mobius_client_python/client.py index e0dc2d9..9b7ee5f 100644 --- a/mobius_client_python/client.py +++ b/mobius_client_python/client.py @@ -44,7 +44,7 @@ def get_stellar_asset(self): if self.stellar_asset: return self.stellar_asset - stellar_asset = Asset(self.asset_code,self.get_asset_issuer()) + stellar_asset = Asset(self.asset_code, self.get_asset_issuer()) self.stellar_asset = stellar_asset return self.stellar_asset