Problem: new public key interface not applied to 'abci' tests

Solution: Change 'pub_key' to 'public_key'
This commit is contained in:
Vanshdeep Singh 2018-09-03 17:18:44 +02:00
parent 8dda02dc0e
commit e7e7cea4eb
8 changed files with 21 additions and 23 deletions

View File

@ -64,7 +64,7 @@ class ValidatorElection(Transaction):
validators = {} validators = {}
for validator in bigchain.get_validators(height): for validator in bigchain.get_validators(height):
# NOTE: we assume that Tendermint encodes public key in base64 # NOTE: we assume that Tendermint encodes public key in base64
public_key = public_key_from_ed25519_key(key_from_base64(validator['pub_key']['value'])) public_key = public_key_from_ed25519_key(key_from_base64(validator['public_key']['value']))
validators[public_key] = validator['voting_power'] validators[public_key] = validator['voting_power']
return validators return validators

View File

@ -16,7 +16,7 @@ def encode_validator(v):
def decode_validator(v): def decode_validator(v):
return {'pub_key': {'type': v.pub_key.type, return {'public_key': {'type': v.pub_key.type,
'value': codecs.encode(v.pub_key.data, 'base64').decode().rstrip('\n')}, 'value': codecs.encode(v.pub_key.data, 'base64').decode().rstrip('\n')},
'voting_power': v.power} 'voting_power': v.power}
@ -24,12 +24,12 @@ def decode_validator(v):
def new_validator_set(validators, updates): def new_validator_set(validators, updates):
validators_dict = {} validators_dict = {}
for v in validators: for v in validators:
validators_dict[v['pub_key']['value']] = v validators_dict[v['public_key']['value']] = v
updates_dict = {} updates_dict = {}
for u in updates: for u in updates:
public_key64 = public_key_to_base64(u['public_key']['value']) public_key64 = public_key_to_base64(u['public_key']['value'])
updates_dict[public_key64] = {'pub_key': {'type': 'ed25519-base64', updates_dict[public_key64] = {'public_key': {'type': 'ed25519-base64',
'value': public_key64}, 'value': public_key64},
'voting_power': u['power']} 'voting_power': u['power']}

View File

@ -523,7 +523,7 @@ def mock_get_validators(height):
keys = node_keys() keys = node_keys()
pub_key = list(keys.keys())[0] pub_key = list(keys.keys())[0]
return [ return [
{'pub_key': {'value': pub_key, {'public_key': {'value': pub_key,
'type': 'ed25519-base64'}, 'type': 'ed25519-base64'},
'voting_power': 10} 'voting_power': 10}
] ]

View File

@ -643,9 +643,8 @@ def validators(b, node_keys):
(public_key, private_key) = list(node_keys.items())[0] (public_key, private_key) = list(node_keys.items())[0]
validator_set = [{'address': 'F5426F0980E36E03044F74DD414248D29ABCBDB2', validator_set = [{'address': 'F5426F0980E36E03044F74DD414248D29ABCBDB2',
'pub_key': { 'public_key': {'value': public_key,
'data': public_key, 'type': 'ed25519-base64'},
'type': 'ed25519'},
'voting_power': 10}] 'voting_power': 10}]
validator_update = {'validators': validator_set, validator_update = {'validators': validator_set,

View File

@ -227,7 +227,7 @@ def test_store_pre_commit_state_in_end_block(b, alice, init_chain_request):
def test_new_validator_set(b): def test_new_validator_set(b):
node1 = {'pub_key': {'type': 'ed25519-base64', node1 = {'public_key': {'type': 'ed25519-base64',
'value': 'FxjS2/8AFYoIUqF6AcePTc87qOT7e4WGgH+sGCpTUDQ='}, 'value': 'FxjS2/8AFYoIUqF6AcePTc87qOT7e4WGgH+sGCpTUDQ='},
'voting_power': 10} 'voting_power': 10}
node1_new_power = {'public_key': {'value': '1718D2DBFF00158A0852A17A01C78F4DCF3BA8E4FB7B8586807FAC182A535034', node1_new_power = {'public_key': {'value': '1718D2DBFF00158A0852A17A01C78F4DCF3BA8E4FB7B8586807FAC182A535034',
@ -244,7 +244,7 @@ def test_new_validator_set(b):
updated_validators = [] updated_validators = []
for u in updates: for u in updates:
updated_validators.append({'pub_key': {'type': 'ed25519-base64', updated_validators.append({'public_key': {'type': 'ed25519-base64',
'value': public_key_to_base64(u['public_key']['value'])}, 'value': public_key_to_base64(u['public_key']['value'])},
'voting_power': u['power']}) 'voting_power': u['power']})

View File

@ -40,7 +40,7 @@ def test_app(b, init_chain_request):
pk = codecs.encode(init_chain_request.validators[0].pub_key.data, 'base64').decode().strip('\n') pk = codecs.encode(init_chain_request.validators[0].pub_key.data, 'base64').decode().strip('\n')
[validator] = b.get_validators(height=1) [validator] = b.get_validators(height=1)
assert validator['pub_key']['value'] == pk assert validator['public_key']['value'] == pk
assert validator['voting_power'] == 10 assert validator['voting_power'] == 10
alice = generate_key_pair() alice = generate_key_pair()

View File

@ -22,7 +22,7 @@ def mock_get_validators(network_validators):
validators = [] validators = []
for public_key, power in network_validators.items(): for public_key, power in network_validators.items():
validators.append({ validators.append({
'pub_key': {'type': 'AC26791624DE60', 'value': public_key}, 'public_key': {'type': 'AC26791624DE60', 'value': public_key},
'voting_power': power 'voting_power': power
}) })
return validators return validators

View File

@ -228,8 +228,7 @@ def test_upsert_validator(b, node_key, node_keys, ed25519_node_keys):
(node_pub, _) = list(node_keys.items())[0] (node_pub, _) = list(node_keys.items())[0]
validators = [{'pub_key': {'type': 'ed25519', validators = [{'public_key': {'type': 'ed25519-base64', 'value': node_pub},
'data': node_pub},
'voting_power': 10}] 'voting_power': 10}]
latest_block = b.get_latest_block() latest_block = b.get_latest_block()
@ -268,7 +267,7 @@ def test_upsert_validator(b, node_key, node_keys, ed25519_node_keys):
new_validator_set = b.get_validators() new_validator_set = b.get_validators()
validator_pub_keys = [] validator_pub_keys = []
for v in new_validator_set: for v in new_validator_set:
validator_pub_keys.append(v['pub_key']['data']) validator_pub_keys.append(v['public_key']['value'])
assert (public_key64 in validator_pub_keys) assert (public_key64 in validator_pub_keys)
@ -339,7 +338,7 @@ def test_get_validator_update(b, node_keys, node_key, ed25519_node_keys):
# assert that the public key is not a part of the current validator set # assert that the public key is not a part of the current validator set
for v in b.get_validators(10): for v in b.get_validators(10):
assert not v['pub_key']['value'] == public_key64 assert not v['public_key']['value'] == public_key64
# ============================================================================ # ============================================================================
@ -365,7 +364,7 @@ def gen_vote(election, i, ed25519_node_keys):
def reset_validator_set(b, node_keys, height): def reset_validator_set(b, node_keys, height):
validators = [] validators = []
for (node_pub, _) in node_keys.items(): for (node_pub, _) in node_keys.items():
validators.append({'pub_key': {'type': 'ed25519', validators.append({'public_key': {'type': 'ed25519-base64',
'value': node_pub}, 'value': node_pub},
'voting_power': 10}) 'voting_power': 10})
b.store_validator_set(height, validators, 'election_id') b.store_validator_set(height, validators, 'election_id')