# piker: trading gear for hackers
# Copyright (C)
#   Guillermo Rodriguez (aka ze jefe)
#   Tyler Goodlet
#   (in stewardship for pikers)

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

"""
binancial secs on the floor, in the office, behind the dumpster.

"""
from .api import (
    get_client,
)
from .feed import (
    get_mkt_info,
    open_history_client,
    open_symbol_search,
    stream_quotes,
)
from .broker import (
    open_trade_dialog,
    get_cost,
)
from .venues import (
    SpotPair,
    FutesPair,
)

__all__ = [
    'get_client',
    'get_mkt_info',
    'get_cost',
    'SpotPair',
    'FutesPair',
    'open_trade_dialog',
    'open_history_client',
    'open_symbol_search',
    'stream_quotes',
]


# per-daemon-kind (sub)mod groups: declares which of our
# submods host the eps run by each daemon-actor kind as
# defined by `piker.data.validate._eps`.
# NOTE: `get_mkt_info` and `open_symbol_search` both live
# in `.feed` for this backend (no `symbols.py`).
_brokerd_mods: list[str] = [
    'api',
    'broker',
]

_datad_mods: list[str] = [
    'api',
    'feed',
]


# tractor RPC enable arg
__enable_modules__: list[str] = list(dict.fromkeys(
    _brokerd_mods
    +
    _datad_mods
))
