def test_7_token_history_no_db(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) result = token_history(wallet, None, ['abc']) self.assertFalse(result)
def test_send_token_bad(self): wallet = self.GetWallet1(recreate=True) token_hash = 'f8d448b227991cf07cb96a6f9c0322437f1599b9' ImportToken(wallet, token_hash) args = ['NEP5', self.watch_addr_str, '32'] framework = construct_send_basic(wallet, args) self.assertFalse(framework)
def test_7_send_token_bad(self): wallet = self.GetWallet1(recreate=True) token_hash = 'f8d448b227991cf07cb96a6f9c0322437f1599b9' ImportToken(wallet, token_hash) args = ['NEP5', self.watch_addr_str, '32'] res = construct_and_send(None, wallet, args, prompt_password=False) self.assertFalse(res)
def test_7_token_history_no_token(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) db = NotificationDB.instance() result = token_history(wallet, db, ["BAD"]) self.assertFalse(result) db.close()
def test_1_import_token(self): wallet = self.GetWallet1() self.assertEqual(len(wallet.GetTokens()), 1) ImportToken(wallet, self.token_hash_str) token = list(wallet.GetTokens().values())[0] self.assertEqual(token.name, 'NEX Template V4') self.assertEqual(token.symbol, 'NXT4') self.assertEqual(token.decimals, 8) self.assertEqual(token.Address, 'Ab61S1rk2VtCVd3NtGNphmBckWk4cfBdmB')
def test_token_serialize(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) token = self.get_token(wallet) stream = StreamManager.GetStream() writer = BinaryWriter(stream) token.Serialize(writer) self.assertEqual(b'0f4e45582054656d706c617465205634044e58543408', stream.ToArray())
def test_1_import_token(self): wallet = self.GetWallet1() self.assertEqual(len(wallet.GetTokens()), 0) ImportToken(wallet, self.token_hash_str) token = list(wallet.GetTokens().values())[0] self.assertEqual(token.name, 'NEP5 Standard') self.assertEqual(token.symbol, 'NEP5') self.assertEqual(token.decimals, 8) self.assertEqual(token.Address, 'AYhE3Svuqdfh1RtzvE8hUhNR7HSpaSDFQg')
def test_token_serialize(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) token = self.get_token(wallet) stream = StreamManager.GetStream() writer = BinaryWriter(stream) token.Serialize(writer) self.assertEqual(b'0d4e455035205374616e64617264044e45503508', stream.ToArray())
def test_7_token_history_correct(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) db = NotificationDB.instance() token = self.get_token(wallet) result = token_history(wallet, db, [token.symbol]) self.assertTrue(result) db.close()
def test_3_import_token(self): wallet = self.GetWallet1(recreate=True) self.assertEqual(len(wallet.GetTokens()), 1) token_hash = '31730cc9a1844891a3bafd1aa929a4142860d8d3' ImportToken(wallet, token_hash) token = list(wallet.GetTokens().values())[0] self.assertEqual(token.name, 'NEX Template V4') self.assertEqual(token.symbol, 'NXT4') self.assertEqual(token.decimals, 8) self.assertEqual(token.Address, 'Ab61S1rk2VtCVd3NtGNphmBckWk4cfBdmB')
def test_8_mint(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) token = self.get_token(wallet) addr_to = self.wallet_1_addr args = [token.symbol, addr_to, '--attach-neo=10'] mint = token_mint(wallet, args, prompt_passwd=False) self.assertTrue(mint)
def test_sendmany_token(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[ "neo", self.watch_addr_str, "1", "NXT4", self.watch_addr_str, "32" ]): wallet = self.GetWallet1(recreate=True) token_hash = '31730cc9a1844891a3bafd1aa929a4142860d8d3' ImportToken(wallet, token_hash) args = ["2", '--from-addr=%s' % self.wallet_1_addr] framework = construct_send_many(wallet, args) self.assertFalse(framework)
def test_send_token_ok(self): with patch('neo.Prompt.Commands.Tokens.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): wallet = self.GetWallet1(recreate=True) token_hash = '31730cc9a1844891a3bafd1aa929a4142860d8d3' ImportToken(wallet, token_hash) args = [ 'NXT4', self.watch_addr_str, '30', '--from-addr=%s' % self.wallet_1_addr ] framework = construct_send_basic(wallet, args) self.assertTrue(framework)
def test_3_import_token(self): wallet = self.GetWallet1() self.assertEqual(len(wallet.GetTokens()), 0) token_hash = 'f8d448b227991cf07cb96a6f9c0322437f1599b9' ImportToken(wallet, token_hash) token = list(wallet.GetTokens().values())[0] self.assertEqual(token.name, 'NEP5 Standard') self.assertEqual(token.symbol, 'NEP5') self.assertEqual(token.decimals, 8) self.assertEqual(token.Address, 'AYhE3Svuqdfh1RtzvE8hUhNR7HSpaSDFQg')
def test_8_send_token_ok(self): wallet = self.GetWallet1(recreate=True) token_hash = '31730cc9a1844891a3bafd1aa929a4142860d8d3' ImportToken(wallet, token_hash) args = [ 'NXT4', self.watch_addr_str, '32', '--from-addr=%s' % self.wallet_1_addr ] res = construct_and_send(None, wallet, args, prompt_password=False) self.assertTrue(res)
def test_5_token_approve(self): # we need to reset the wallet now wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) token = self.get_token(wallet) addr_from = wallet.GetDefaultContract().Address addr_to = self.watch_addr_str args = [token.symbol, addr_from, addr_to, '123'] send = token_approve_allowance(wallet, args, prompt_passwd=False) self.assertTrue(send)
def test_4_token_send(self): wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) token = self.get_token(wallet) addr_from = wallet.GetDefaultContract().Address addr_to = self.watch_addr_str args = [token.symbol, addr_from, addr_to, '1300'] # this should fail, since it is more than current balance send = token_send(wallet, args, prompt_passwd=False) self.assertTrue(send)
def test_6_transfer_from(self): # we need to reset the wallet now wallet = self.GetWallet1(recreate=True) ImportToken(wallet, self.token_hash_str) token = self.get_token(wallet) addr_from = wallet.GetDefaultContract().Address addr_to = self.watch_addr_str args = [token.symbol, addr_from, addr_to, '123'] # this should be false, since this wallet has no allowance send = token_send_from(wallet, args, prompt_passwd=False) self.assertFalse(send)
def do_import(self, arguments): item = get_arg(arguments) if not item: print("please specify something to import") return if item == 'wif': if not self.Wallet: print("Please open a wallet before importing WIF") return wif = get_arg(arguments, 1) if not wif: print("Please supply a valid WIF key") return try: prikey = KeyPair.PrivateKeyFromWIF(wif) key = self.Wallet.CreateKey(prikey) print("Imported key %s " % wif) print("Pubkey: %s \n" % key.PublicKey.encode_point(True).hex()) print("Wallet: %s " % json.dumps(self.Wallet.ToJson(), indent=4)) except ValueError as e: print(str(e)) except Exception as e: print(str(e)) return elif item == 'nep2': if not self.Wallet: print("Please open a wallet before importing a NEP2 key") return nep2_key = get_arg(arguments, 1) if not nep2_key: print("Please supply a valid nep2 encrypted private key") return nep2_passwd = prompt("[Key Password]> ", is_password=True) try: prikey = KeyPair.PrivateKeyFromNEP2(nep2_key, nep2_passwd) key = self.Wallet.CreateKey(prikey) print("Imported nep2 key: %s " % nep2_key) print("Pubkey: %s \n" % key.PublicKey.encode_point(True).hex()) print("Wallet: %s " % json.dumps(self.Wallet.ToJson(), indent=4)) except ValueError as e: print(str(e)) except Exception as e: print(str(e)) return elif item == 'contract': return self.load_smart_contract(arguments) elif item == 'contract_addr': return ImportContractAddr(self.Wallet, arguments[1:]) elif item == 'watch_addr': return ImportWatchAddr(self.Wallet, get_arg(arguments, 1)) elif item == 'multisig_addr': return ImportMultiSigContractAddr(self.Wallet, arguments[1:]) elif item == 'token': return ImportToken(self.Wallet, get_arg(arguments, 1)) else: print("Import of '%s' not implemented" % item)