Added simple events and fills properties to event queues.
This commit is contained in:
parent
6f7d402c12
commit
a5ce59fe90
|
@ -361,6 +361,26 @@ class PerpEventQueue(AddressableAccount):
|
||||||
|
|
||||||
return distinct
|
return distinct
|
||||||
|
|
||||||
|
@property
|
||||||
|
def events(self) -> typing.Sequence[PerpEvent]:
|
||||||
|
return [*self.processed_events, *self.unprocessed_events]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def fills(self) -> typing.Sequence[PerpFillEvent]:
|
||||||
|
fills: typing.List[PerpFillEvent] = []
|
||||||
|
for event in self.events:
|
||||||
|
if isinstance(event, PerpFillEvent):
|
||||||
|
fills += [event]
|
||||||
|
return fills
|
||||||
|
|
||||||
|
@property
|
||||||
|
def liquidations(self) -> typing.Sequence[PerpLiquidateEvent]:
|
||||||
|
liquidations: typing.List[PerpLiquidateEvent] = []
|
||||||
|
for event in self.events:
|
||||||
|
if isinstance(event, PerpLiquidateEvent):
|
||||||
|
liquidations += [event]
|
||||||
|
return liquidations
|
||||||
|
|
||||||
def subscribe(
|
def subscribe(
|
||||||
self,
|
self,
|
||||||
context: Context,
|
context: Context,
|
||||||
|
@ -380,7 +400,7 @@ class PerpEventQueue(AddressableAccount):
|
||||||
self, mango_account_address: PublicKey
|
self, mango_account_address: PublicKey
|
||||||
) -> typing.Sequence[PerpEvent]:
|
) -> typing.Sequence[PerpEvent]:
|
||||||
events: typing.List[PerpEvent] = []
|
events: typing.List[PerpEvent] = []
|
||||||
for event in [*self.processed_events, *self.unprocessed_events]:
|
for event in self.events:
|
||||||
if mango_account_address in event.accounts_to_crank:
|
if mango_account_address in event.accounts_to_crank:
|
||||||
events += [event]
|
events += [event]
|
||||||
return events
|
return events
|
||||||
|
|
|
@ -234,6 +234,18 @@ class SerumEventQueue(AddressableAccount):
|
||||||
|
|
||||||
return distinct
|
return distinct
|
||||||
|
|
||||||
|
@property
|
||||||
|
def events(self) -> typing.Sequence[SerumEvent]:
|
||||||
|
return [*self.processed_events, *self.unprocessed_events]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def fills(self) -> typing.Sequence[SerumEvent]:
|
||||||
|
fills: typing.List[SerumEvent] = []
|
||||||
|
for event in self.events:
|
||||||
|
if event.event_flags.fill:
|
||||||
|
fills += [event]
|
||||||
|
return fills
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def capacity(self) -> int:
|
def capacity(self) -> int:
|
||||||
return len(self.unprocessed_events) + len(self.processed_events)
|
return len(self.unprocessed_events) + len(self.processed_events)
|
||||||
|
|
Loading…
Reference in New Issue