def set_proxy(self, proxy_account, account=None, **kwargs):
        """ Set a specific proxy for account

            :param bitshares.account.Account proxy_account: Account to be
                    proxied
            :param str account: (optional) the account to allow access
                to (defaults to ``default_account``)
        """
        if not account:
            if "default_account" in self.config:
                account = self.config["default_account"]
        if not account:
            raise ValueError("You need to provide an account")
        account = Account(account, blockchain_instance=self)
        proxy = Account(proxy_account, blockchain_instance=self)
        options = account["options"]
        options["voting_account"] = proxy["id"]

        op = operations.Account_update(
            **{
                "fee": {"amount": 0, "asset_id": "1.3.0"},
                "account": account["id"],
                "new_options": options,
                "extensions": {},
                "prefix": self.prefix,
            }
        )
        return self.finalizeOp(op, account["name"], "active", **kwargs)
Set a specific proxy for account

            :param bitshares.account.Account proxy_account: Account to be
                    proxied
            :param str account: (optional) the account to allow access
                to (defaults to ``default_account``)