def test_Public_Conversion(self): privateKey = Wallet_Create(save=False) publicKey1 = privateKey.publicKey() pem = publicKey1.toPem() publicKey2 = PublicKey.fromPem(pem) self.assertEqual(publicKey1.point.x, publicKey2.point.x) self.assertEqual(publicKey1.point.y, publicKey2.point.y) self.assertEqual(publicKey1.curve, publicKey2.curve)
def test_Private_Pem_Conversion(self): password = "******" temp_private_key_class = Wallet_Create(password, save=False) pem = temp_private_key_class.toPem() privateKey2 = PrivateKey.fromPem(pem) self.assertEqual(temp_private_key_class.secret, privateKey2.secret) self.assertEqual(temp_private_key_class.curve, privateKey2.curve)
def test_node_connection_saving_and_unl(self): password = "******" temp_private_key = Wallet_Create(password) node_1 = ndstart("127.0.0.1", 10001) temp_private_key2 = Wallet_Create(password) node_2 = ndstart("127.0.0.1", 10002) save_new_unl_node(node_1.id) save_new_unl_node(node_2.id) ndconnect("127.0.0.1", 10001) finded_node = False in_unl_list = False get_as_node = False nodes_list = get_connected_node() for element in nodes_list: if element == node_1.id or element == node_2.id: finded_node = True temp_unl_node_list = get_unl_nodes() temp_get_as_node_type = get_as_node_type(temp_unl_node_list) for unl_element in temp_unl_node_list: if unl_element == node_1.id or unl_element == node_2.id: for node_element_of_unl in temp_get_as_node_type: if node_1.host == node_element_of_unl.host or node_2 == node_element_of_unl.host: if node_1.port == node_element_of_unl.port or node_2 == node_element_of_unl.port: get_as_node = True in_unl_list = True unl_node_delete(unl_element) connected_node_delete(element) node_1.stop() node_2.stop() saved_wallets = get_saved_wallet() for each_wallet in saved_wallets: if temp_private_key == saved_wallets[each_wallet][ "privatekey"] or temp_private_key2 == saved_wallets[ each_wallet]["privatekey"]: Wallet_Delete(each_wallet) self.assertEqual(finded_node, True, "Problem on connection saving system.") self.assertEqual(in_unl_list, True, "Problem on UNL node saving system.") self.assertEqual(get_as_node, True, "Problem on UNL get as node system.")
def test_saving_and_importing_the_wallet(self): temp_private_key_class = Wallet_Create() temp_private_key = temp_private_key_class.toPem().replace('\n', '') saved_wallets = get_saved_wallet() result = False for each_wallet in saved_wallets: if temp_private_key == (each_wallet[1]).replace('\n', ''): if temp_private_key == (Wallet_Import((saved_wallets.index(each_wallet)),1)).replace('\n', ''): result = True Wallet_Delete(each_wallet) break result = True if "PRIVATE" in temp_private_key else False self.assertEqual(result, True, "A problem on the saving and importing the wallet.")
def test_saving_and_importing_and_deleting_the_wallet(self): password = "******" temp_private_key = Wallet_Create(password) saved_wallets = get_saved_wallet() result = False for each_wallet in saved_wallets: if temp_private_key == (saved_wallets[each_wallet]["privatekey"]): if temp_private_key == (Wallet_Import(each_wallet, 1, password)): Wallet_Delete(each_wallet) result = True if each_wallet not in get_saved_wallet( ) else False break elif decrypt(temp_private_key, password) == (Wallet_Import( each_wallet, 1, password)): Wallet_Delete(each_wallet) result = True if each_wallet not in get_saved_wallet( ) else False break self.assertEqual(result, True, "A problem on the saving and importing the wallet.")
def create_the_wallet(self, widget): text_list = [] for obj in self.wallet_alert_dialog.content_cls.children: for sub_obj in obj.children: Wallet_Create(sub_obj.text) self.dismiss_wallet_alert_dialog(widget) sub_obj.text = ""
def test_saving_and_importing_and_deleting_the_wallet(self): temp_private_key_class = Wallet_Create() temp_private_key = temp_private_key_class.toPem() saved_wallets = get_saved_wallet() result = False for each_wallet in saved_wallets: if temp_private_key == (saved_wallets[each_wallet]["privatekey"]): if temp_private_key == (Wallet_Import( each_wallet, 1)) and "PRIVATE" in temp_private_key: Wallet_Delete(each_wallet) result = True if each_wallet not in get_saved_wallet( ) else False break self.assertEqual(result, True, "A problem on the saving and importing the wallet.")
def create_a_wallet(password=None): """ Creates a wallet. """ if password is None: password = getpass("Password: ") Wallet_Create(password) del password
def menu(): """ The main structure of the cli mode, this function prints the menu, listens to the entries, makes the directions. """ while True: show_menu() choices_input = question_maker(mode="main") if choices_input == "connectmainnetwork": connect_to_main_network() if choices_input == "cw": Wallet_Create() if choices_input == "sc": temp_coin_amount = input("Coin Amount (ex. 1.0): ") type_control = False try: float(temp_coin_amount) type_control = True except: print("This is not float coin amount.") if type_control and not float(temp_coin_amount) < GetBlock().minumum_transfer_amount: send_coin(float(temp_coin_amount), input("Please write receiver adress: ")) if choices_input == "gb": print(GetBalance(Wallet_Import(0,0), GetBlock())) print(Wallet_Import(0,3)) if choices_input == "help": show_menu() if choices_input == "ndstart": ndstart(str(input("ip: ")), int(input("port: "))) if choices_input == "ndstop": ndstop() if choices_input == "ndconnect": ndconnect(str(input("node ip: ")), int(input("node port: "))) if choices_input == "ndconnectmixdb": ndconnectmixdb() if choices_input == "ndnewunl": save_new_unl_node(input("Please write ID of the node: ")) if choices_input == "testmodeon": test_mode(True) if choices_input == "testmodeoff": test_mode(False) if choices_input == "debugmodeon": debug_mode(True) # from node.myownp2pn import mynode # mynode.main_node.debug = True if choices_input == "debugmodeoff": debug_mode(False) # from node.myownp2pn import mynode # mynode.main_node.debug = False if choices_input == "getfullnodelist": GetNodeList() if choices_input == "getblock": if the_settings()["test_mode"]: CreateBlock() else: GetBlockFromOtherNode() if choices_input == "0": exit()
def Wallet_Create(self): Wallet_Create() self.show_wallet_alert_dialog()
def menu(): """ The main structure of the cli mode, this function prints the menu, listens to the entries, makes the directions. """ while True: show_menu() choices_input = question_maker(mode="main") if choices_input == "w": all_wallets = list(get_saved_wallet()) if not len(all_wallets) == 0: current_wallet = the_settings()["wallet"] for wallet in all_wallets: number = str(all_wallets.index(wallet)) address = Wallet_Import(all_wallets.index(wallet),3) if not current_wallet == number: print(menu_maker(menu_number=number, menu_text=address)) else: print(menu_maker(menu_number=number, menu_text=address + " - CURRENTLY USED")) while True: try: new_wallet = input("Please select wallet: ") if int(new_wallet) in list(range(len(all_wallets))): change_wallet(new_wallet) break else: print("There is no such wallet") except: print("This is not a number") else: print("There is no wallet") if choices_input == "connectmainnetwork": connect_to_main_network() if choices_input == "cw": Wallet_Create() if choices_input == "sc": temp_coin_amount = input("Coin Amount (ex. 1.0): ") type_control = False try: float(temp_coin_amount) type_control = True except: print("This is not float coin amount.") if type_control and not float(temp_coin_amount) < GetBlock().minumum_transfer_amount: send_coin(float(temp_coin_amount), input("Please write receiver adress: ")) if choices_input == "gb": print(GetBalance(Wallet_Import(-1,0), GetBlock())) if choices_input == "help": show_menu() if choices_input == "ndstart": ndstart(str(input("ip: ")), int(input("port: "))) if choices_input == "ndstop": ndstop() if choices_input == "ndconnect": ndconnect(str(input("node ip: ")), int(input("node port: "))) if choices_input == "ndconnectmixdb": ndconnectmixdb() if choices_input == "ndnewunl": save_new_unl_node(input("Please write ID of the node: ")) if choices_input == "testmodeon": test_mode(True) if choices_input == "testmodeoff": test_mode(False) if choices_input == "debugmodeon": debug_mode(True) # from node.myownp2pn import mynode # mynode.main_node.debug = True if choices_input == "debugmodeoff": debug_mode(False) # from node.myownp2pn import mynode # mynode.main_node.debug = False if choices_input == "getfullnodelist": GetNodeList() if choices_input == "getblock": if the_settings()["test_mode"]: CreateBlock() else: GetBlockFromOtherNode() if choices_input == "0": exit()