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)
Beispiel #3
0
    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())
Beispiel #7
0
    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')
Beispiel #8
0
    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()
Beispiel #10
0
    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')
Beispiel #15
0
    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)
Beispiel #16
0
    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)
Beispiel #17
0
    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)
Beispiel #18
0
    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)
Beispiel #19
0
    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)