Skip to content
Snippets Groups Projects
Commit 67c80cb3 authored by Jonah Husson's avatar Jonah Husson
Browse files

Points should maintain an external list of wallet to country mappings

parent aaa01e07
Branches
No related tags found
1 merge request!10Points should maintain an external list of wallet to country mappings
......@@ -28,6 +28,8 @@ state_key = "consensus_points_timestamp" # Static key used for states table
positive_points_func = 'submit_cmix_points'
negative_points_func = 'submit_cmix_deductions'
raw_points_log = ''
wallet_list_path = ''
wallet_list = None
#################
......@@ -127,6 +129,8 @@ def process_period(conn, substrate, keypair, point_info, start_period, end_perio
# Calculate points for the retrieved round information
wallet_points, raw_points = round_point_computation(point_info, round_info, active_nodes)
update_wallet_country_list(active_nodes, wallet_list_path)
# Define Lists
positive = []
negative = []
......@@ -412,7 +416,7 @@ def get_args():
get_args controls the argparse usage for the script. It sets up and parses
arguments and returns them in dict format
"""
global raw_points_log
global raw_points_log, wallet_list_path
parser = argparse.ArgumentParser(description="Options for point assignment script")
parser.add_argument("--verbose", action="store_true",
help="Print debug logs", default=False)
......@@ -441,6 +445,7 @@ def get_args():
default="cmix")
parser.add_argument("--pass", type=str,
help="DB password")
parser.add_argument("--wallet-list-path", type=str, help="List of wallet-country")
args = vars(parser.parse_args())
log.basicConfig(format='[%(levelname)s] %(asctime)s: %(message)s',
......@@ -448,6 +453,7 @@ def get_args():
datefmt='%d-%b-%y %H:%M:%S',
filename=args["log"])
raw_points_log = args['raw_points_log']
wallet_list_path = args['wallet_list_path']
return args
......@@ -474,6 +480,21 @@ def parse_bins(countries_list):
return ret
def update_wallet_country_list(active_nodes, list_path):
global wallet_list
with open(list_path, "a+") as f:
if not wallet_list:
wallet_list = {}
lines = f.readlines()
for line in lines:
parts = line.split(",")
wallet_list[parts[0]] = wallet_list[parts[1]]
for line in active_nodes:
if line[0] not in wallet_list:
wallet_list[line[0]] = line[2]
f.write(f"{line[0]},{line[2]}\n")
########################
# Connection Functions #
########################
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment