Add missing fields to json (and json parse)

This commit is contained in:
Matthias
2023-09-16 14:01:27 +02:00
parent 3a7f390510
commit 394d758d32
4 changed files with 17 additions and 0 deletions

View File

@@ -628,6 +628,7 @@ class LocalTrade:
'amount_precision': self.amount_precision,
'price_precision': self.price_precision,
'precision_mode': self.precision_mode,
'contract_size': self.contract_size,
'has_open_orders': self.has_open_orders,
'orders': orders_json,
}
@@ -1788,6 +1789,10 @@ class Trade(ModelBase, LocalTrade):
is_short=data["is_short"],
trading_mode=data["trading_mode"],
funding_fees=data["funding_fees"],
amount_precision=data.get('amount_precision', None),
price_precision=data.get('price_precision', None),
precision_mode=data.get('precision_mode', None),
contract_size=data.get('contract_size', None),
)
for order in data["orders"]:

View File

@@ -1385,6 +1385,7 @@ def test_to_json(fee):
precision_mode=1,
amount_precision=8.0,
price_precision=7.0,
contract_size=1,
)
result = trade.to_json()
assert isinstance(result, dict)
@@ -1450,6 +1451,7 @@ def test_to_json(fee):
'amount_precision': 8.0,
'price_precision': 7.0,
'precision_mode': 1,
'contract_size': 1,
'orders': [],
'has_open_orders': False,
}
@@ -1471,6 +1473,7 @@ def test_to_json(fee):
precision_mode=2,
amount_precision=7.0,
price_precision=8.0,
contract_size=1
)
result = trade.to_json()
assert isinstance(result, dict)
@@ -1536,6 +1539,7 @@ def test_to_json(fee):
'amount_precision': 7.0,
'price_precision': 8.0,
'precision_mode': 2,
'contract_size': 1,
'orders': [],
'has_open_orders': False,
}

View File

@@ -66,6 +66,10 @@ def test_trade_fromjson():
"is_short": false,
"trading_mode": "spot",
"funding_fees": 0.0,
"amount_precision": 1.0,
"price_precision": 3.0,
"precision_mode": 2,
"contract_size": 1.0,
"open_order_id": null,
"orders": [
{
@@ -180,6 +184,9 @@ def test_trade_fromjson():
assert isinstance(trade.open_date, datetime)
assert trade.exit_reason == 'no longer good'
assert trade.realized_profit == 2.76315361
assert trade.precision_mode == 2
assert trade.amount_precision == 1.0
assert trade.contract_size == 1.0
assert len(trade.orders) == 5
last_o = trade.orders[-1]

View File

@@ -90,6 +90,7 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
'amount_precision': 8.0,
'price_precision': 8.0,
'precision_mode': 2,
'contract_size': 1,
'has_open_orders': False,
'orders': [{
'amount': 91.07468123, 'average': 1.098e-05, 'safe_price': 1.098e-05,