local_message_signer middleware for web3.py (#1713)
This commit is contained in:
		
				
					committed by
					
						 F. Eugene Aumson
						F. Eugene Aumson
					
				
			
			
				
	
			
			
			
						parent
						
							fde9fc9dd4
						
					
				
				
					commit
					4f25ff6a50
				
			
							
								
								
									
										1
									
								
								python-packages/middlewares/test/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								python-packages/middlewares/test/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| """Tests of zero_x.middlewares.""" | ||||
| @@ -0,0 +1,40 @@ | ||||
| """Tests of 0x.middlewares.local_message_signer.""" | ||||
|  | ||||
| from eth_utils import to_checksum_address | ||||
| from web3 import Web3 | ||||
| from zero_ex.contract_addresses import NETWORK_TO_ADDRESSES, NetworkId | ||||
| from zero_ex.middlewares.local_message_signer import ( | ||||
|     construct_local_message_signer, | ||||
| ) | ||||
| from zero_ex.order_utils import ( | ||||
|     generate_order_hash_hex, | ||||
|     is_valid_signature, | ||||
|     make_empty_order, | ||||
|     sign_hash, | ||||
| ) | ||||
|  | ||||
|  | ||||
| def test_local_message_signer__sign_order(): | ||||
|     """Test signing order with the local_message_signer middleware""" | ||||
|     expected_signature = ( | ||||
|         "0x1cd17d75b891accf16030c572a64cf9e7955de63bcafa5b084439cec630ade2d7" | ||||
|         "c00f47a2f4d5b6a4508267bf4b8527100bd97cf1af9984c0a58e42d25b13f4f0a03" | ||||
|     ) | ||||
|     address = "0x5409ED021D9299bf6814279A6A1411A7e866A631" | ||||
|     exchange = NETWORK_TO_ADDRESSES[NetworkId.GANACHE].exchange | ||||
|     private_key = ( | ||||
|         "f2f48ee19680706196e2e339e5da3491186e0c4c5030670656b0e0164837257d" | ||||
|     ) | ||||
|     web3_rpc_url = "http://127.0.0.1:8545" | ||||
|     web3_instance = Web3.HTTPProvider(web3_rpc_url) | ||||
|     web3_instance.middlewares.add(construct_local_message_signer(private_key)) | ||||
|     order = make_empty_order() | ||||
|     order_hash = generate_order_hash_hex(order, exchange) | ||||
|     signature = sign_hash( | ||||
|         web3_instance, to_checksum_address(address), order_hash | ||||
|     ) | ||||
|     assert signature == expected_signature | ||||
|     is_valid = is_valid_signature( | ||||
|         web3_instance, order_hash, signature, address | ||||
|     )[0] | ||||
|     assert is_valid is True | ||||
		Reference in New Issue
	
	Block a user