def update_memo_key(self, key, account=None, **kwargs):
if not account:<EOL><INDENT>if "<STR_LIT>" in self.config:<EOL><INDENT>account = self.config["<STR_LIT>"]<EOL><DEDENT><DEDENT>if not account:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>PublicKey(key, prefix=self.prefix)<EOL>account = Account(account, blockchain_instance=self)<EOL>account["<STR_LIT>"]["<STR_LIT>"] = key<EOL>op = operations.Account_update(<EOL>**{<EOL>"<STR_LIT>": {"<STR_LIT>": <NUM_LIT:0>, "<STR_LIT>": "<STR_LIT>"},<EOL>"<STR_LIT>": account["<STR_LIT:id>"],<EOL>"<STR_LIT>": account["<STR_LIT>"],<EOL>"<STR_LIT>": {},<EOL>"<STR_LIT>": self.prefix,<EOL>}<EOL>)<EOL>return self.finalizeOp(op, account["<STR_LIT:name>"], "<STR_LIT>", **kwargs)<EOL>
Update an account's memo public key

            This method does **not** add any private keys to your
            wallet but merely changes the memo public key.

            :param str key: New memo public key
            :param str account: (optional) the account to allow access
                to (defaults to ``default_account``)