def test_transacting_power_sign_message(testerchain): # Manually create a TransactingPower eth_address = testerchain.etherbase_account power = TransactingPower(password=INSECURE_DEVELOPMENT_PASSWORD, signer=Web3Signer(testerchain.client), account=eth_address) # Manually unlock power.unlock(password=INSECURE_DEVELOPMENT_PASSWORD) # Sign data_to_sign = b'Premium Select Luxury Pencil Holder' signature = power.sign_message(message=data_to_sign) # Verify is_verified = verify_eip_191(address=eth_address, message=data_to_sign, signature=signature) assert is_verified is True # Test invalid address/pubkey pair is_verified = verify_eip_191(address=testerchain.client.accounts[1], message=data_to_sign, signature=signature) assert is_verified is False
def test_transacting_power_sign_message(testerchain): # Manually create a TransactingPower testerchain.connect() eth_address = testerchain.etherbase_account power = TransactingPower(blockchain=testerchain, password=INSECURE_DEVELOPMENT_PASSWORD, account=eth_address) # The default state of the account is locked. # Test a signature without unlocking the account with pytest.raises(PowerUpError): power.sign_message(message=b'test') # Manually unlock power.unlock_account(password=INSECURE_DEVELOPMENT_PASSWORD) # Sign data_to_sign = b'Premium Select Luxury Pencil Holder' signature = power.sign_message(message=data_to_sign) # Verify is_verified = verify_eip_191(address=eth_address, message=data_to_sign, signature=signature) assert is_verified is True # Test invalid address/pubkey pair is_verified = verify_eip_191(address=testerchain.client.accounts[1], message=data_to_sign, signature=signature) assert is_verified is False # Test lockAccount call power.lock_account() # Test a signature without unlocking the account with pytest.raises(PowerUpError): power.sign_message(message=b'test') del power # Locks account