diff --git a/lib/ucoin/wrappers/__init__.py b/lib/ucoin/wrappers/__init__.py index 55b11c19314f98130db7c060adc5969362954c84..31fc5405939b9f841b63108ed4e22225896d1795 100644 --- a/lib/ucoin/wrappers/__init__.py +++ b/lib/ucoin/wrappers/__init__.py @@ -18,8 +18,7 @@ # import logging -from .. import pks, hdc, settings -import network +from .. import pks, hdc, network, registry, settings logger = logging.getLogger("wrappers") diff --git a/lib/ucoin/wrappers/coins.py b/lib/ucoin/wrappers/coins.py index 1793a0f98a5162b685690dab7127e98e526e36f3..c292b3cca8756190d1ca42abdb8c3739ccaf2eae 100644 --- a/lib/ucoin/wrappers/coins.py +++ b/lib/ucoin/wrappers/coins.py @@ -18,7 +18,7 @@ # import logging -from . import Wrapper, pks, ucg, hdc, settings +from . import Wrapper, pks, network, hdc, settings logger = logging.getLogger("coins") diff --git a/lib/ucoin/wrappers/transactions.py b/lib/ucoin/wrappers/transactions.py index f4cc1f5bec5d154a2015ffe0de1fa8ad08599c52..4de53ff927a611ad2f54063a6d6be4532b24f543 100644 --- a/lib/ucoin/wrappers/transactions.py +++ b/lib/ucoin/wrappers/transactions.py @@ -17,8 +17,8 @@ # Caner Candan <caner@candan.fr>, http://caner.candan.fr # -import hashlib, logging -from . import Wrapper, pks, ucg, hdc, settings +import hashlib, logging, re +from . import Wrapper, pks, network, hdc, registry, settings logger = logging.getLogger("transactions") @@ -40,7 +40,7 @@ class Transaction(Wrapper): context_data = {} context_data.update(settings) - context_data.update(self.peering if self.peering else ucg.Peering().get()) + context_data.update(self.peering if self.peering else network.Peering().get()) context_data['version'] = 1 context_data['number'] = 0 if not last_tx else last_tx['transaction']['number']+1 context_data['previousHash'] = hashlib.sha1(("%(raw)s%(signature)s" % last_tx).encode('ascii')).hexdigest().upper() if last_tx else None @@ -99,7 +99,7 @@ Comment: data = coin.split(':') issuer, numbers = data[0], data[1:] for number in numbers: - view = hdc.coins.View(issuer, int(number), self.server, self.port).get() + view = hdc.coins.view.Owner(issuer, int(number), self.server, self.port).get() if view['owner'] != self.pgp_fingerprint: raise ValueError('Trying to divide a coin you do not own (%s)' % view['id']) coins.append(view) @@ -137,7 +137,7 @@ Coins: issuer = data[0] for number in data[1:]: - context_data.update(hdc.coins.View(issuer, int(number), self.server, self.port).get()) + context_data.update(hdc.coins.view.Owner(issuer, int(number), self.server, self.port).get()) tx += '%(id)s, %(transaction)s\n' % context_data return tx @@ -160,7 +160,7 @@ Coins: for coin in self.coins: data = coin.split('-') - context_data.update(hdc.coins.View(data[0], int(data[1]), self.server, self.port).get()) + context_data.update(hdc.coins.view.Owner(data[0], int(data[1]), self.server, self.port).get()) tx += '%(id)s, %(transaction)s\n' % context_data return tx @@ -182,7 +182,7 @@ Coins: """ % context_data try: - last_issuance = hdc.transactions.sender.issuance.Last(self.pgp_fingerprint, self.server, self.port).get() + last_issuance = hdc.transactions.sender.Last(self.pgp_fingerprint, self.server, self.port).get() except ValueError: last_issuance = None @@ -194,62 +194,3 @@ Coins: def get_mono_message(self, context_data, tx=''): return tx - -class Issue(MonoTransaction): - def __init__(self, pgp_fingerprint, amendment, coins, message='', keyid=None, server=None, port=None): - super().__init__('ISSUANCE', pgp_fingerprint, message, keyid=keyid, server=server, port=port) - - self.amendment = amendment - self.coins = coins - - def get_mono_message(self, context_data, tx=''): - context_data['amendment'] = self.amendment - - for idx, coin in enumerate(self.coins): - context_data['idx'] = idx + context_data['previous_idx'] - context_data['base'], context_data['power'] = [int(x) for x in coin.split(',')] - tx += '%(fingerprint)s-%(idx)d-%(base)d-%(power)d-A-%(amendment)d\n' % context_data - - return tx - -class Fusion(MonoTransaction): - def __init__(self, pgp_fingerprint, coins, message='', keyid=None, server=None, port=None): - super().__init__('FUSION', pgp_fingerprint, message, keyid=keyid, server=server, port=port) - - self.coins = coins - - def get_mono_message(self, context_data, tx=''): - coins = self.parse_coins(self.coins) - self.check_coins_sum(self.get_coins_sum(coins)) - - context_data['base'], context_data['power'] = int(m.groups()[0]), len(m.groups()[1]) - tx += '%(fingerprint)s-%(previous_idx)d-%(base)d-%(power)d-F-%(number)d\n' % context_data - - for coin in coins: tx += '%(id)s, %(transaction)s\n' % coin - - return tx - -class Divide(MonoTransaction): - def __init__(self, pgp_fingerprint, old_coins, new_coins, message='', keyid=None, server=None, port=None): - super().__init__('DIVISION', pgp_fingerprint, message, keyid=keyid, server=server, port=port) - - self.old_coins = old_coins - self.new_coins = new_coins - - def get_mono_message(self, context_data, tx=''): - old_coins = self.parse_coins(self.old_coins) - old_coins_sum = self.get_coins_sum(old_coins) - - new_coins_sum = 0 - for idx, coin in enumerate(self.new_coins): - context_data['idx'] = idx + context_data['previous_idx'] - context_data['base'], context_data['power'] = [int(x) for x in coin.split(',')] - new_coins_sum += context_data['base'] * 10**context_data['power'] - tx += '%(fingerprint)s-%(idx)d-%(base)d-%(power)d-D-%(number)d\n' % context_data - - if old_coins_sum != new_coins_sum: - raise ValueError('Amount of old coins (%d) is not equal to new coins (%d)' % (old_coins_sum, new_coins_sum)) - - for coin in old_coins: tx += '%(id)s, %(transaction)s\n' % coin - - return tx