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

Block UID in Peer and block

parent 010f5805
No related branches found
No related tags found
No related merge requests found
......@@ -197,14 +197,14 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
json_sample = {
"pubkey": "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU",
"uid": "inso",
"sigDate": 1421787800,
"sigDate": "0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"memberships": [
{
"version": 1,
"currency": "meta_brouzouf",
"membership": "IN",
"blockNumber": 0,
"blockHash": "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709",
"blockHash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"written": 10005
},
{
......
......@@ -99,7 +99,7 @@ PoWMin: 3
Time: 1418077277
MedianTime: 1418077277
Issuer: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk
Parameters: 0.01:302400:100:5259600:2629800:3:5:2629800:3:11:600:10:20:0.67
Parameters: 0.1:86400:100:604800:15:604800:2629800:3:3:2629800:3:11:600:20:144:0.67
MembersCount: 4
Identities:
HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:h/H8tDIEbfA4yxMQcvfOXVDQhi1sUa9qYtPKrM59Bulv97ouwbAvAsEkC1Uyit1IOpeAV+CQQs4IaAyjE8F1Cw==:0-DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:cgeek
......@@ -193,8 +193,8 @@ class Test_Block(unittest.TestCase):
self.assertEqual(block.time, 1418077277)
self.assertEqual(block.mediantime, 1418077277)
self.assertEqual(block.issuer, "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk")
self.assertEqual(block.parameters, ('0.01','302400','100','5259600','2629800','3','5',
'2629800','3','11','600','10','20','0.67'))
self.assertEqual(block.parameters, ('0.1','86400','100','604800','15', '604800', '2629800','3','3',
'2629800','3','11','600','20','144','0.67'))
self.assertEqual(block.members_count, 4)
self.assertEqual(len(block.identities), 4)
self.assertEqual(len(block.joiners), 4)
......
......@@ -25,7 +25,7 @@ class TestPeer(unittest.TestCase):
peer = Peer.from_signed_raw(rawpeer)
self.assertEqual(peer.currency, "beta_brousouf")
self.assertEqual(peer.pubkey, "HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY")
self.assertEqual(str(peer.blockid), "8-1922C324ABC4AF7EF7656734A31F5197888DDD52")
self.assertEqual(str(peer.blockUID), "8-1922C324ABC4AF7EF7656734A31F5197888DDD52")
self.assertEqual(len(peer.endpoints), 3)
self.assertTrue(type(peer.endpoints[0]) is BMAEndpoint)
self.assertTrue(type(peer.endpoints[1]) is BMAEndpoint)
......@@ -50,7 +50,7 @@ class TestPeer(unittest.TestCase):
self.assertEqual(from_rendered_peer.currency, "beta_brousouf")
self.assertEqual(from_rendered_peer.pubkey, "HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY")
self.assertEqual(str(from_rendered_peer.blockid), "8-1922C324ABC4AF7EF7656734A31F5197888DDD52")
self.assertEqual(str(from_rendered_peer.blockUID), "8-1922C324ABC4AF7EF7656734A31F5197888DDD52")
self.assertEqual(len(from_rendered_peer.endpoints), 3)
self.assertTrue(type(from_rendered_peer.endpoints[0]) is BMAEndpoint)
self.assertTrue(type(from_rendered_peer.endpoints[1]) is BMAEndpoint)
......
......@@ -117,9 +117,8 @@ The class Block handles Block documents.
re_issuer = re.compile("Issuer: ({pubkey_regex})\n".format(pubkey_regex=pubkey_regex))
re_previoushash = re.compile("PreviousHash: ({block_hash_regex})\n".format(block_hash_regex=block_hash_regex))
re_previousissuer = re.compile("PreviousIssuer: ({pubkey_regex})\n".format(pubkey_regex=pubkey_regex))
re_parameters = re.compile("Parameters: ([0-9]+\.[0-9]+):([0-9]+):([0-9]+):([0-9]+):\
([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):\
([0-9]+\.[0-9]+)\n")
re_parameters = re.compile("Parameters: ([0-9]+\.[0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):\
([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+):([0-9]+\.[0-9]+)\n")
re_memberscount = re.compile("MembersCount: ([0-9]+)\n")
re_identities = re.compile("Identities:\n")
re_joiners = re.compile("Joiners:\n")
......@@ -218,7 +217,7 @@ The class Block handles Block documents.
self.noonce = noonce
@property
def blockid(self):
def blockUID(self):
return BlockUID(self.number, self.inner_hash)
@classmethod
......@@ -270,8 +269,11 @@ The class Block handles Block documents.
parameters = None
if number == 0:
try:
parameters = Block.re_parameters.match(lines[n]).groups()
n += 1
except AttributeError:
raise MalformedDocumentError("Parameters")
members_count = int(Block.parse_field("MembersCount", lines[n]))
n += 1
......@@ -341,7 +343,7 @@ The class Block handles Block documents.
tx_lines = ""
header_data = Transaction.re_header.match(lines[n])
if header_data is None:
raise MalformedDocumentError("Inline transaction ({0})".format(lines[n]))
raise MalformedDocumentError("Compact transaction ({0})".format(lines[n]))
version = int(header_data.group(1))
issuers_num = int(header_data.group(2))
inputs_num = int(header_data.group(3))
......
......@@ -35,12 +35,12 @@ class Peer(Document):
"Endpoints": re_endpoints
}}
def __init__(self, version, currency, pubkey, blockid,
def __init__(self, version, currency, pubkey, blockUID,
endpoints, signature):
super().__init__(version, currency, [signature])
self.pubkey = pubkey
self.blockid = blockid
self.blockUID = blockUID
self.endpoints = endpoints
@classmethod
......@@ -60,7 +60,7 @@ class Peer(Document):
pubkey = Peer.parse_field("Pubkey", lines[n])
n += 1
blockid = BlockUID.from_str(Peer.parse_field("Block", lines[n]))
blockUID = BlockUID.from_str(Peer.parse_field("Block", lines[n]))
n += 1
Peer.parse_field("Endpoints", lines[n])
......@@ -74,7 +74,7 @@ class Peer(Document):
signature = Peer.re_signature.match(lines[n]).group(1)
return cls(version, currency, pubkey, blockid, endpoints, signature)
return cls(version, currency, pubkey, blockUID, endpoints, signature)
def raw(self):
doc = """Version: {0}
......@@ -83,7 +83,7 @@ Currency: {1}
PublicKey: {2}
Block: {3}
Endpoints:
""".format(self.version, self.currency, self.pubkey, self.blockid)
""".format(self.version, self.currency, self.pubkey, self.blockUID)
for endpoint in self.endpoints:
doc += "{0}\n".format(endpoint.inline())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment