feat(trading): perps markets in trading python tests (#5283)
This commit is contained in:
parent
f315917094
commit
824bcf89bd
@ -6,8 +6,6 @@ import requests
|
|||||||
import time
|
import time
|
||||||
import docker
|
import docker
|
||||||
import http.server
|
import http.server
|
||||||
import socketserver
|
|
||||||
from threading import Thread
|
|
||||||
|
|
||||||
|
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
@ -18,6 +16,7 @@ from fixtures.market import (
|
|||||||
setup_simple_market,
|
setup_simple_market,
|
||||||
setup_opening_auction_market,
|
setup_opening_auction_market,
|
||||||
setup_continuous_market,
|
setup_continuous_market,
|
||||||
|
setup_perps_market,
|
||||||
)
|
)
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
@ -241,3 +240,11 @@ def continuous_market(vega):
|
|||||||
@pytest.fixture(scope="function")
|
@pytest.fixture(scope="function")
|
||||||
def proposed_market(vega):
|
def proposed_market(vega):
|
||||||
return setup_simple_market(vega, approve_proposal=False)
|
return setup_simple_market(vega, approve_proposal=False)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="function")
|
||||||
|
def perps_market(vega, request):
|
||||||
|
kwargs = {}
|
||||||
|
if hasattr(request, "param"):
|
||||||
|
kwargs.update(request.param)
|
||||||
|
return setup_perps_market(vega, **kwargs)
|
||||||
|
@ -154,3 +154,88 @@ def setup_continuous_market(vega: VegaService, market_id: str = None, **kwargs):
|
|||||||
vega.wait_for_total_catchup()
|
vega.wait_for_total_catchup()
|
||||||
|
|
||||||
return market_id
|
return market_id
|
||||||
|
|
||||||
|
def setup_perps_market(
|
||||||
|
vega: VegaService,
|
||||||
|
custom_asset_name="tDAI",
|
||||||
|
custom_asset_symbol="tDAI",
|
||||||
|
):
|
||||||
|
for wallet in wallets:
|
||||||
|
vega.create_key(wallet.name)
|
||||||
|
|
||||||
|
vega.mint(
|
||||||
|
MM_WALLET.name,
|
||||||
|
asset="VOTE",
|
||||||
|
amount=mint_amount,
|
||||||
|
)
|
||||||
|
|
||||||
|
vega.update_network_parameter(
|
||||||
|
MM_WALLET.name, parameter="market.fee.factors.makerFee", new_value="0.1"
|
||||||
|
)
|
||||||
|
vega.forward("10s")
|
||||||
|
vega.wait_fn(1)
|
||||||
|
vega.wait_for_total_catchup()
|
||||||
|
|
||||||
|
vega.create_asset(
|
||||||
|
MM_WALLET.name,
|
||||||
|
name=custom_asset_name,
|
||||||
|
symbol=custom_asset_symbol,
|
||||||
|
decimals=5,
|
||||||
|
max_faucet_amount=1e10,
|
||||||
|
)
|
||||||
|
vega.wait_fn(1)
|
||||||
|
vega.wait_for_total_catchup()
|
||||||
|
tdai_id = vega.find_asset_id(symbol=custom_asset_symbol)
|
||||||
|
logger.info(f"Created asset: {custom_asset_symbol}")
|
||||||
|
|
||||||
|
vega.mint(
|
||||||
|
"Key 1",
|
||||||
|
asset=tdai_id,
|
||||||
|
amount=mint_amount,
|
||||||
|
)
|
||||||
|
|
||||||
|
vega.mint(
|
||||||
|
MM_WALLET.name,
|
||||||
|
asset=tdai_id,
|
||||||
|
amount=mint_amount,
|
||||||
|
)
|
||||||
|
|
||||||
|
vega.mint(
|
||||||
|
MM_WALLET2.name,
|
||||||
|
asset=tdai_id,
|
||||||
|
amount=mint_amount,
|
||||||
|
)
|
||||||
|
vega.wait_fn(1)
|
||||||
|
vega.wait_for_total_catchup()
|
||||||
|
|
||||||
|
vega.update_network_parameter(
|
||||||
|
proposal_key=MM_WALLET.name,
|
||||||
|
parameter="limits.markets.proposePerpetualEnabled",
|
||||||
|
new_value="1",
|
||||||
|
)
|
||||||
|
|
||||||
|
vega.wait_for_total_catchup()
|
||||||
|
|
||||||
|
market_id = vega.create_simple_perps_market(
|
||||||
|
market_name="BTC:DAI_Perpetual",
|
||||||
|
proposal_key=MM_WALLET.name,
|
||||||
|
settlement_asset_id=tdai_id,
|
||||||
|
settlement_data_key=TERMINATE_WALLET.name,
|
||||||
|
funding_payment_frequency_in_seconds=10,
|
||||||
|
market_decimals=5,
|
||||||
|
)
|
||||||
|
vega.wait_for_total_catchup()
|
||||||
|
|
||||||
|
submit_liquidity(vega, MM_WALLET.name, market_id)
|
||||||
|
submit_multiple_orders(
|
||||||
|
vega, MM_WALLET.name, market_id, "SIDE_SELL", [[1, 110], [1, 105]]
|
||||||
|
)
|
||||||
|
submit_multiple_orders(
|
||||||
|
vega, MM_WALLET2.name, market_id, "SIDE_BUY", [[1, 90], [1, 95]]
|
||||||
|
)
|
||||||
|
submit_order(vega, "Key 1", market_id, "SIDE_BUY", 1, 110)
|
||||||
|
vega.forward("10s")
|
||||||
|
vega.wait_fn(1)
|
||||||
|
vega.wait_for_total_catchup()
|
||||||
|
|
||||||
|
return market_id
|
Loading…
Reference in New Issue
Block a user