Add strategy_version to API response
This commit is contained in:
parent
e3190cf8a8
commit
d0467b30ba
@ -145,6 +145,7 @@ class OrderTypes(BaseModel):
|
|||||||
|
|
||||||
class ShowConfig(BaseModel):
|
class ShowConfig(BaseModel):
|
||||||
version: str
|
version: str
|
||||||
|
strategy_version: Optional[str]
|
||||||
api_version: float
|
api_version: float
|
||||||
dry_run: bool
|
dry_run: bool
|
||||||
stake_currency: str
|
stake_currency: str
|
||||||
|
@ -121,9 +121,11 @@ def edge(rpc: RPC = Depends(get_rpc)):
|
|||||||
@router.get('/show_config', response_model=ShowConfig, tags=['info'])
|
@router.get('/show_config', response_model=ShowConfig, tags=['info'])
|
||||||
def show_config(rpc: Optional[RPC] = Depends(get_rpc_optional), config=Depends(get_config)):
|
def show_config(rpc: Optional[RPC] = Depends(get_rpc_optional), config=Depends(get_config)):
|
||||||
state = ''
|
state = ''
|
||||||
|
strategy_version = None
|
||||||
if rpc:
|
if rpc:
|
||||||
state = rpc._freqtrade.state
|
state = rpc._freqtrade.state
|
||||||
resp = RPC._rpc_show_config(config, state)
|
strategy_version = rpc._freqtrade.strategy.version()
|
||||||
|
resp = RPC._rpc_show_config(config, state, strategy_version)
|
||||||
resp['api_version'] = API_VERSION
|
resp['api_version'] = API_VERSION
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
|
@ -98,7 +98,8 @@ class RPC:
|
|||||||
self._fiat_converter = CryptoToFiatConverter()
|
self._fiat_converter = CryptoToFiatConverter()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _rpc_show_config(config, botstate: Union[State, str]) -> Dict[str, Any]:
|
def _rpc_show_config(config, botstate: Union[State, str],
|
||||||
|
strategy_version: Optional[str] = None) -> Dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Return a dict of config options.
|
Return a dict of config options.
|
||||||
Explicitly does NOT return the full config to avoid leakage of sensitive
|
Explicitly does NOT return the full config to avoid leakage of sensitive
|
||||||
@ -106,6 +107,7 @@ class RPC:
|
|||||||
"""
|
"""
|
||||||
val = {
|
val = {
|
||||||
'version': __version__,
|
'version': __version__,
|
||||||
|
'strategy_version': strategy_version,
|
||||||
'dry_run': config['dry_run'],
|
'dry_run': config['dry_run'],
|
||||||
'stake_currency': config['stake_currency'],
|
'stake_currency': config['stake_currency'],
|
||||||
'stake_currency_decimals': decimals_per_coin(config['stake_currency']),
|
'stake_currency_decimals': decimals_per_coin(config['stake_currency']),
|
||||||
|
@ -394,7 +394,7 @@ class IStrategy(ABC, HyperStrategyMixin):
|
|||||||
"""
|
"""
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def version(self) -> str:
|
def version(self) -> Optional[str]:
|
||||||
"""
|
"""
|
||||||
Returns version of the strategy.
|
Returns version of the strategy.
|
||||||
"""
|
"""
|
||||||
|
@ -533,6 +533,7 @@ def test_api_show_config(botclient):
|
|||||||
assert rc.json()['timeframe_min'] == 5
|
assert rc.json()['timeframe_min'] == 5
|
||||||
assert rc.json()['state'] == 'running'
|
assert rc.json()['state'] == 'running'
|
||||||
assert rc.json()['bot_name'] == 'freqtrade'
|
assert rc.json()['bot_name'] == 'freqtrade'
|
||||||
|
assert rc.json()['strategy_version'] is None
|
||||||
assert not rc.json()['trailing_stop']
|
assert not rc.json()['trailing_stop']
|
||||||
assert 'bid_strategy' in rc.json()
|
assert 'bid_strategy' in rc.json()
|
||||||
assert 'ask_strategy' in rc.json()
|
assert 'ask_strategy' in rc.json()
|
||||||
|
Loading…
Reference in New Issue
Block a user