Skip to content
Snippets Groups Projects
Commit dee108d1 authored by inso's avatar inso
Browse files

Wrappers only create HDC document

parent 43c93753
No related branches found
No related tags found
No related merge requests found
...@@ -24,15 +24,26 @@ logger = logging.getLogger("transactions") ...@@ -24,15 +24,26 @@ logger = logging.getLogger("transactions")
class Transaction(Wrapper): class Transaction(Wrapper):
def __init__(self, pgp_fingerprint, message='', keyid=None, peering=None, server=None, port=None): def __init__(self, pgp_fingerprint, recipient, coins, message='', keyid=None, peering=None, server=None, port=None):
super().__init__(server, port) super().__init__(server, port)
self.keyid = keyid self.keyid = keyid
self.pgp_fingerprint = pgp_fingerprint self.pgp_fingerprint = pgp_fingerprint
self.message = message self.message = message
self.error = None self.error = None
self.peering = peering self.peering = peering
self.recipient = recipient
self.coins = coins
self.coins.sort()
def __call__(self): def __call__(self):
tx = self.get_message()
txs = settings['gpg'].sign(tx, keyid=self.keyid, detach=True)
return (tx, txs)
def get_context_data(self):
return {}
def get_message(self):
try: try:
last_tx = hdc.transactions.sender.Last(count=1, pgp_fingerprint=self.pgp_fingerprint, last_tx = hdc.transactions.sender.Last(count=1, pgp_fingerprint=self.pgp_fingerprint,
server=self.server, port=self.port).get() server=self.server, port=self.port).get()
...@@ -55,6 +66,7 @@ class Transaction(Wrapper): ...@@ -55,6 +66,7 @@ class Transaction(Wrapper):
context_data['previousHash'] = previous_hash context_data['previousHash'] = previous_hash
context_data['message'] = self.message context_data['message'] = self.message
context_data['fingerprint'] = self.pgp_fingerprint context_data['fingerprint'] = self.pgp_fingerprint
context_data['recipient'] = self.recipient
context_data.update(self.get_context_data()) context_data.update(self.get_context_data())
tx = """\ tx = """\
...@@ -66,56 +78,6 @@ Number: %(number)d ...@@ -66,56 +78,6 @@ Number: %(number)d
if last_tx: tx += "PreviousHash: %(previousHash)s\n" % context_data if last_tx: tx += "PreviousHash: %(previousHash)s\n" % context_data
try:
tx += self.get_message(context_data)
except ValueError as e:
self.error = e
return False
tx += """\
Comment:
%(message)s""" % context_data
tx = tx.replace("\n", "\r\n")
print(self.keyid)
print(tx)
txs = settings['gpg'].sign(tx, keyid=self.keyid, detach=True)
print(txs)
print(tx)
return self.process(tx, txs)
def get_context_data(self):
return {}
def get_message(self, context_data, tx=''):
return tx
def get_error(self):
return self.error
def process(self, tx, txs):
try:
hdc.transactions.Process(self.server, self.port).post(transaction=tx, signature=txs)
except ValueError as e:
self.error = str(e)
else:
return True
return False
class RawTransfer(Transaction):
def __init__(self, pgp_fingerprint, recipient, coins, message='',
keyid=None, server=None, port=None):
super().__init__(pgp_fingerprint, message,
keyid=keyid, server=server, port=port)
self.recipient = recipient
self.coins = coins
self.coins.sort()
def get_message(self, context_data, tx=''):
context_data['recipient'] = self.recipient
tx += """\ tx += """\
Recipient: %(recipient)s Recipient: %(recipient)s
...@@ -132,3 +94,13 @@ Coins: ...@@ -132,3 +94,13 @@ Coins:
return tx return tx
tx += """\
Comment:
%(message)s""" % context_data
tx = tx.replace("\n", "\r\n")
return tx
def get_error(self):
return self.error
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