code: def unlock(self, password: str):
          
          if self.locked:
              self._privkey = decode_keyfile_json(self.keystore, password.encode('UTF-8'))
              self.locked = False
              # get address such that it stays accessible after a subsequent lock
              self._fill_address()
docs: Unlock the account with a password.
  
          If the account is already unlocked, nothing happens, even if the password is wrong.
  
          Raises:
              ValueError: (originating in ethereum.keys) if the password is wrong
              (and the account is locked)