forked from chaintool/funga-eth
		
	making review changes #2
@ -4,7 +4,7 @@ import logging
 | 
				
			|||||||
import os
 | 
					import os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# external imports
 | 
					# external imports
 | 
				
			||||||
from hexathon import strip_0x
 | 
					from hexathon import strip_0x, add_0x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# local imports
 | 
					# local imports
 | 
				
			||||||
from funga.eth.signer import EIP155Signer
 | 
					from funga.eth.signer import EIP155Signer
 | 
				
			||||||
@ -18,30 +18,30 @@ logg = logging.getLogger()
 | 
				
			|||||||
script_dir = os.path.dirname(os.path.realpath(__file__))
 | 
					script_dir = os.path.dirname(os.path.realpath(__file__))
 | 
				
			||||||
data_dir = os.path.join(script_dir, 'testdata')
 | 
					data_dir = os.path.join(script_dir, 'testdata')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TestCli(unittest.TestCase):
 | 
					class TestCli(unittest.TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def setUp(self):
 | 
					    def setUp(self):
 | 
				
			||||||
        #pk = bytes.fromhex('5087503f0a9cc35b38665955eb830c63f778453dd11b8fa5bd04bc41fd2cc6d6')
 | 
					        # pk = bytes.fromhex('5087503f0a9cc35b38665955eb830c63f778453dd11b8fa5bd04bc41fd2cc6d6')
 | 
				
			||||||
        #pk_getter = pkGetter(pk)
 | 
					        # pk_getter = pkGetter(pk)
 | 
				
			||||||
        self.keystore = DictKeystore()
 | 
					        self.keystore = DictKeystore()
 | 
				
			||||||
        SignRequestHandler.keystore = self.keystore
 | 
					        SignRequestHandler.keystore = self.keystore
 | 
				
			||||||
        self.signer = EIP155Signer(self.keystore)
 | 
					        self.signer = EIP155Signer(self.keystore)
 | 
				
			||||||
        SignRequestHandler.signer = self.signer
 | 
					        SignRequestHandler.signer = self.signer
 | 
				
			||||||
        self.handler = SignRequestHandler()
 | 
					        self.handler = SignRequestHandler()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    def test_new_account(self):
 | 
					    def test_new_account(self):
 | 
				
			||||||
        q = {
 | 
					        q = {
 | 
				
			||||||
                'id': 0,
 | 
					            'id': 0,
 | 
				
			||||||
                'method': 'personal_newAccount',
 | 
					            'method': 'personal_newAccount',
 | 
				
			||||||
                'params': [''],
 | 
					            'params': [''],
 | 
				
			||||||
                }
 | 
					        }
 | 
				
			||||||
        (rpc_id, result) = self.handler.process_input(q)
 | 
					        (rpc_id, result) = self.handler.process_input(q)
 | 
				
			||||||
        self.assertTrue(self.keystore.get(result))
 | 
					        self.assertTrue(self.keystore.get(result))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    def test_sign_tx(self):
 | 
					    def test_sign_tx(self):
 | 
				
			||||||
        keystore_file = os.path.join(data_dir, 'UTC--2021-01-08T18-37-01.187235289Z--00a329c0648769a73afac7f9381e08fb43dbea72')
 | 
					        keystore_file = os.path.join(data_dir,
 | 
				
			||||||
 | 
					                                     'UTC--2021-01-08T18-37-01.187235289Z--00a329c0648769a73afac7f9381e08fb43dbea72')
 | 
				
			||||||
        sender = self.keystore.import_keystore_file(keystore_file)
 | 
					        sender = self.keystore.import_keystore_file(keystore_file)
 | 
				
			||||||
        tx_hexs = {
 | 
					        tx_hexs = {
 | 
				
			||||||
            'nonce': '0x',
 | 
					            'nonce': '0x',
 | 
				
			||||||
@ -62,26 +62,37 @@ class TestCli(unittest.TestCase):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        # eth_signTransaction wraps personal_signTransaction, so here we test both already
 | 
					        # eth_signTransaction wraps personal_signTransaction, so here we test both already
 | 
				
			||||||
        q = {
 | 
					        q = {
 | 
				
			||||||
                'id': 0,
 | 
					            'id': 0,
 | 
				
			||||||
                'method': 'eth_signTransaction',
 | 
					            'method': 'eth_signTransaction',
 | 
				
			||||||
                'params': [tx_s],
 | 
					            'params': [tx_s],
 | 
				
			||||||
                }
 | 
					        }
 | 
				
			||||||
        (rpc_id, result) = self.handler.process_input(q)
 | 
					        (rpc_id, result) = self.handler.process_input(q)
 | 
				
			||||||
        logg.debug('result {}'.format(result))
 | 
					        logg.debug('result {}'.format(result))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.assertEqual(strip_0x(result), 'f86c2a8504a817c8008252089435353535353535353535353535353535353535358203e884deadbeef82466aa0b7c1bbf52f736ada30fe253c7484176f44d6fd097a9720dc85ae5bbc7f060e54a07afee2563b0cf6d00333df51cc62b0d13c63108b2bce54ce2ad24e26ce7b4f25')
 | 
					        self.assertEqual(strip_0x(result),
 | 
				
			||||||
 | 
					                         'f86c2a8504a817c8008252089435353535353535353535353535353535353535358203e884deadbeef82466aa0b7c1bbf52f736ada30fe253c7484176f44d6fd097a9720dc85ae5bbc7f060e54a07afee2563b0cf6d00333df51cc62b0d13c63108b2bce54ce2ad24e26ce7b4f25')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def pbkdf2_test(self):
 | 
				
			||||||
 | 
					        keystore_filepath = os.path.join(data_dir, 'foo2.json')
 | 
				
			||||||
 | 
					        address_hex = self.keystore.import_keystore_file(keystore_filepath)
 | 
				
			||||||
 | 
					        logg.debug('getting {}'.format(address_hex))
 | 
				
			||||||
 | 
					        pk = self.keystore.get(strip_0x(address_hex), '')
 | 
				
			||||||
 | 
					        self.assertEqual(pk.lower(), 'a1De08A738F0bD3B261dC41d7E2102599bf648CA')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_sign_msg(self):
 | 
					    def test_sign_msg(self):
 | 
				
			||||||
        keystore_file = os.path.join(data_dir, 'UTC--2021-01-08T18-37-01.187235289Z--00a329c0648769a73afac7f9381e08fb43dbea72')
 | 
					        keystore_file = os.path.join(data_dir,
 | 
				
			||||||
 | 
					                                     'UTC--2021-01-08T18-37-01.187235289Z--00a329c0648769a73afac7f9381e08fb43dbea72')
 | 
				
			||||||
        sender = self.keystore.import_keystore_file(keystore_file)
 | 
					        sender = self.keystore.import_keystore_file(keystore_file)
 | 
				
			||||||
        q = {
 | 
					        q = {
 | 
				
			||||||
                'id': 0,
 | 
					            'id': 0,
 | 
				
			||||||
                'method': 'eth_sign',
 | 
					            'method': 'eth_sign',
 | 
				
			||||||
                'params': [sender, '0xdeadbeef'],
 | 
					            'params': [sender, '0xdeadbeef'],
 | 
				
			||||||
                }
 | 
					        }
 | 
				
			||||||
        (rpc_id, result) = self.handler.process_input(q)
 | 
					        (rpc_id, result) = self.handler.process_input(q)
 | 
				
			||||||
        logg.debug('result msg {}'.format(result))
 | 
					        logg.debug('result msg {}'.format(result))
 | 
				
			||||||
        self.assertEqual(strip_0x(result), '50320dda75190a121b7b5979de66edadafd02bdfbe4f6d49552e79c01410d2464aae35e385c0e5b61663ff7b44ef65fa0ac7ad8a57472cf405db399b9dba3e1600')
 | 
					        self.assertEqual(strip_0x(result),
 | 
				
			||||||
 | 
					                         '50320dda75190a121b7b5979de66edadafd02bdfbe4f6d49552e79c01410d2464aae35e385c0e5b61663ff7b44ef65fa0ac7ad8a57472cf405db399b9dba3e1600')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == '__main__':
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user