mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Problem: new public key interface not applied to 'abci' tests
Solution: Change 'pub_key' to 'public_key'
This commit is contained in:
parent
8dda02dc0e
commit
e7e7cea4eb
@ -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
|
||||||
|
|||||||
@ -16,21 +16,21 @@ 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}
|
||||||
|
|
||||||
|
|
||||||
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']}
|
||||||
|
|
||||||
new_validators_dict = {**validators_dict, **updates_dict}
|
new_validators_dict = {**validators_dict, **updates_dict}
|
||||||
|
|||||||
@ -523,8 +523,8 @@ 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}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -227,8 +227,8 @@ 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',
|
||||||
'type': 'ed25519-base58'},
|
'type': 'ed25519-base58'},
|
||||||
@ -244,8 +244,8 @@ 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']})
|
||||||
|
|
||||||
assert updated_validator_set == updated_validators
|
assert updated_validator_set == updated_validators
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user