def METHOD_NAME(self, txo: TxOutput) -> bytes:
    from trezor.enums import OutputScriptType
    from apps.bitcoin import scripts
    from .unified_addresses import Typecode, decode
    # unified addresses
    if txo.address is not None and txo.address[0] == "u":
        assert txo.script_type is OutputScriptType.PAYTOADDRESS
        receivers = decode(txo.address, self.coin)
        if Typecode.P2PKH in receivers:
            pubkeyhash = receivers[Typecode.P2PKH]
            return scripts.output_script_p2pkh(pubkeyhash)
        if Typecode.P2SH in receivers:
            scripthash = receivers[Typecode.P2SH]
            return scripts.output_script_p2sh(scripthash)
        raise DataError("Unified address does not include a transparent receiver.")
    # transparent addresses
    return super().METHOD_NAME(txo)