Fixed timezone comparisons for time-in-force checks.
This commit is contained in:
parent
3302f5088c
commit
c3f7ad60f6
|
@ -147,7 +147,8 @@ class PerpOrderBookSide(AddressableAccount):
|
|||
node = self.nodes[index]
|
||||
if node.type_name == "leaf":
|
||||
expiration = (
|
||||
node.timestamp + timedelta(seconds=float(node.time_in_force))
|
||||
node.timestamp.astimezone(timezone.utc)
|
||||
+ timedelta(seconds=float(node.time_in_force))
|
||||
if node.time_in_force == 0
|
||||
else Order.NoExpiration
|
||||
)
|
||||
|
|
|
@ -20,7 +20,7 @@ import pyserum.enums
|
|||
import typing
|
||||
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from decimal import Decimal
|
||||
from pyserum.market.types import Order as PySerumOrder
|
||||
from solana.publickey import PublicKey
|
||||
|
@ -144,7 +144,9 @@ class OrderType(enum.Enum):
|
|||
@dataclass
|
||||
class Order:
|
||||
DefaultMatchLimit: typing.ClassVar[int] = 20
|
||||
NoExpiration: typing.ClassVar[datetime] = datetime.fromtimestamp(0)
|
||||
NoExpiration: typing.ClassVar[datetime] = datetime.fromtimestamp(0).astimezone(
|
||||
timezone.utc
|
||||
)
|
||||
id: int
|
||||
client_id: int
|
||||
owner: PublicKey
|
||||
|
|
Loading…
Reference in New Issue