Extend fills
This commit is contained in:
parent
04bf6dd456
commit
5d91691480
2
Makefile
2
Makefile
|
@ -17,7 +17,7 @@ notebook:
|
|||
publish:
|
||||
make clean
|
||||
python setup.py sdist bdist_wheel
|
||||
pipenv run twine upload -u serum-community dist/*
|
||||
pipenv run twine upload dist/*
|
||||
|
||||
test-publish:
|
||||
make clean
|
||||
|
|
|
@ -14,11 +14,15 @@ async def main():
|
|||
connection = AsyncClient('https://mango.rpcpool.com/0f9acc0d45173b51bf7d7e09c1e5')
|
||||
|
||||
serum_markets = await asyncio.gather(*[
|
||||
AsyncMarket.load(connection, Publ(serum_market_config['serumMarketExternal']), Pubkey(serum_market_config['serumProgram']))
|
||||
AsyncMarket.load(connection, PublicKey(serum_market_config['serumMarketExternal']), PublicKey(serum_market_config['serumProgram']))
|
||||
for serum_market_config in group['serum3Markets']
|
||||
])
|
||||
|
||||
print(serum_markets)
|
||||
serum_market: AsyncMarket = serum_markets[0]
|
||||
|
||||
fills = await serum_market.load_fills(9999)
|
||||
|
||||
print([fill._asdict() for fill in fills])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -92,30 +92,37 @@ class MarketCore:
|
|||
|
||||
def parse_fill_event(self, event: t.Event) -> t.FilledOrder:
|
||||
if event.event_flags.bid:
|
||||
side = Side.BUY
|
||||
side = 'bids'
|
||||
|
||||
price_before_fees = (
|
||||
event.native_quantity_released + event.native_fee_or_rebate
|
||||
event.native_quantity_paid + event.native_fee_or_rebate
|
||||
if event.event_flags.maker
|
||||
else event.native_quantity_released - event.native_fee_or_rebate
|
||||
else event.native_quantity_paid - event.native_fee_or_rebate
|
||||
)
|
||||
|
||||
price = (price_before_fees * self.state.base_spl_token_multiplier()) / (self.state.quote_spl_token_multiplier() * event.native_quantity_released)
|
||||
|
||||
size = event.native_quantity_released / self.state.base_spl_token_multiplier()
|
||||
else:
|
||||
side = Side.SELL
|
||||
side = 'asks'
|
||||
|
||||
price_before_fees = (
|
||||
event.native_quantity_released - event.native_fee_or_rebate
|
||||
if event.event_flags.maker
|
||||
else event.native_quantity_released + event.native_fee_or_rebate
|
||||
)
|
||||
|
||||
price = (price_before_fees * self.state.base_spl_token_multiplier()) / (
|
||||
self.state.quote_spl_token_multiplier() * event.native_quantity_paid
|
||||
)
|
||||
size = event.native_quantity_paid / self.state.base_spl_token_multiplier()
|
||||
price = (price_before_fees * self.state.base_spl_token_multiplier()) / (self.state.quote_spl_token_multiplier() * event.native_quantity_paid)
|
||||
|
||||
size = event.native_quantity_paid / self.state.base_spl_token_multiplier()
|
||||
return t.FilledOrder(
|
||||
order_id=event.order_id,
|
||||
side=side,
|
||||
type='maker' if event.event_flags.maker else 'taker',
|
||||
price=price,
|
||||
size=size,
|
||||
fee_cost=event.native_fee_or_rebate * (1 if event.event_flags.maker else -1),
|
||||
fee=self.state.quote_spl_size_to_number(event.native_fee_or_rebate) * (-1 if event.event_flags.maker else 1),
|
||||
open_orders=event.public_key,
|
||||
client_order_id=event.order_id,
|
||||
)
|
||||
|
||||
def _prepare_new_oo_account(
|
||||
|
|
|
@ -39,16 +39,13 @@ class AccountFlags(NamedTuple):
|
|||
|
||||
|
||||
class FilledOrder(NamedTuple):
|
||||
client_order_id: int
|
||||
""""""
|
||||
side: str
|
||||
""""""
|
||||
type: str
|
||||
price: float
|
||||
""""""
|
||||
size: float
|
||||
""""""
|
||||
fee_cost: float
|
||||
""""""
|
||||
fee: float
|
||||
open_orders: PublicKey
|
||||
client_order_id: int
|
||||
|
||||
|
||||
class OrderInfo(NamedTuple):
|
||||
|
|
7
setup.py
7
setup.py
|
@ -3,13 +3,8 @@
|
|||
from setuptools import find_packages, setup
|
||||
|
||||
setup(
|
||||
<<<<<<< Updated upstream
|
||||
name="pyserum",
|
||||
version="0.6.0a",
|
||||
=======
|
||||
name="pyopenbook",
|
||||
version="0.7.0a",
|
||||
>>>>>>> Stashed changes
|
||||
version="0.7.3a",
|
||||
author="serum-community",
|
||||
description="""Python client library for interacting with the Project Serum DEX.""",
|
||||
install_requires=[
|
||||
|
|
Loading…
Reference in New Issue