Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/polymarket/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
AcceptedOrder,
Activity,
ActivityType,
ApiKey,
ApiKeyCreds,
AssetType,
BalanceAllowance,
Expand Down Expand Up @@ -93,6 +94,7 @@
MetaHolder,
MetaMarketPosition,
Notification,
NotificationType,
OpenInterest,
OpenOrder,
OrderBook,
Expand Down Expand Up @@ -219,6 +221,7 @@
"AcceptedOrder",
"Activity",
"ActivityType",
"ApiKey",
"ApiKeyCreds",
"AssetType",
"AsyncPaginator",
Expand Down Expand Up @@ -309,6 +312,7 @@
"MetaHolder",
"MetaMarketPosition",
"Notification",
"NotificationType",
"OpenInterest",
"OpenOrder",
"OrderBook",
Expand Down
44 changes: 44 additions & 0 deletions src/polymarket/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,44 @@
AcceptedOrder,
ApiKeyCreds,
AssetType,
AutoRedeemedNotification,
AutoRedeemedNotificationPayload,
BalanceAllowance,
BuilderApiKeyInfo,
BuilderFeeRates,
BuilderTrade,
CancelOrdersResponse,
ChildCommentCreatedNotification,
ChildCommentNotificationPayload,
ClobTrade,
ComboAutoRedeemedNotification,
ComboAutoRedeemedNotificationPayload,
CurrentReward,
CurrentRewardConfig,
EarningBreakdown,
GaslessTransaction,
LastTradePrice,
LastTradePriceForToken,
MakerOrder,
MarketNotificationPayload,
MarketNotificationRewards,
MarketNotificationRewardsRate,
MarketNotificationToken,
MarketOrderType,
MarketRegisteredNotification,
MarketResolvedNotification,
MarketReward,
MarketRewardConfig,
MarketRewardToken,
Notification,
NotificationType,
OpenOrder,
OrderBook,
OrderBookLevel,
OrderCancellationNotification,
OrderFillFailedNotification,
OrderFillNotification,
OrderNotificationPayload,
OrderPostStatus,
OrderResponse,
OrderResponseErrorCode,
Expand All @@ -32,6 +49,8 @@
PriceRequest,
RejectedOrder,
RelayerTransactionState,
RewardPayoutNotification,
RewardPayoutNotificationPayload,
RewardsPercentages,
SignedOrder,
TickSize,
Expand All @@ -41,6 +60,8 @@
UserEarning,
UserRewardsConfig,
UserRewardsEarning,
YieldPayoutNotification,
YieldPayoutNotificationPayload,
)
from polymarket.models.collateral_return import (
CollateralReturnOperation,
Expand Down Expand Up @@ -188,6 +209,7 @@
)
from polymarket.models.rfq import ComboMarket, ComboMarketOutcome, ComboMarketOutcomes
from polymarket.models.types import (
ApiKey,
ComboActivityId,
ComboConditionId,
CommentId,
Expand All @@ -211,14 +233,21 @@
"AcceptedOrder",
"Activity",
"ActivityType",
"ApiKey",
"ApiKeyCreds",
"AssetType",
"AutoRedeemedNotification",
"AutoRedeemedNotificationPayload",
"BalanceAllowance",
"BuilderApiKeyInfo",
"BuilderFeeRates",
"BuilderTrade",
"CancelOrdersResponse",
"ChildCommentCreatedNotification",
"ChildCommentNotificationPayload",
"ClobTrade",
"ComboAutoRedeemedNotification",
"ComboAutoRedeemedNotificationPayload",
"TradeStatus",
"CurrentReward",
"CurrentRewardConfig",
Expand All @@ -227,12 +256,23 @@
"LastTradePrice",
"LastTradePriceForToken",
"MakerOrder",
"MarketNotificationPayload",
"MarketNotificationRewards",
"MarketNotificationRewardsRate",
"MarketNotificationToken",
"MarketOrderType",
"MarketRegisteredNotification",
"MarketResolvedNotification",
"MarketReward",
"MarketRewardConfig",
"MarketRewardToken",
"Notification",
"NotificationType",
"OpenOrder",
"OrderCancellationNotification",
"OrderFillFailedNotification",
"OrderFillNotification",
"OrderNotificationPayload",
"OrderBook",
"OrderBookLevel",
"OrderPostStatus",
Expand All @@ -245,6 +285,8 @@
"PriceRequest",
"RejectedOrder",
"RelayerTransactionState",
"RewardPayoutNotification",
"RewardPayoutNotificationPayload",
"RewardsPercentages",
"SignedOrder",
"TickSize",
Expand All @@ -253,6 +295,8 @@
"UserEarning",
"UserRewardsConfig",
"UserRewardsEarning",
"YieldPayoutNotification",
"YieldPayoutNotificationPayload",
"BuilderVolumeEntry",
"BuilderVolumeTimePeriod",
"ClosedPosition",
Expand Down
46 changes: 45 additions & 1 deletion src/polymarket/models/clob/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,37 @@
BalanceAllowance,
ClobTrade,
MakerOrder,
Notification,
OpenOrder,
TradeStatus,
)
from polymarket.models.clob.api_key import ApiKeyCreds, BuilderApiKeyInfo
from polymarket.models.clob.builder import BuilderFeeRates, BuilderTrade
from polymarket.models.clob.cancel import CancelOrdersResponse
from polymarket.models.clob.last_trade import LastTradePrice, LastTradePriceForToken
from polymarket.models.clob.notifications import (
AutoRedeemedNotification,
AutoRedeemedNotificationPayload,
ChildCommentCreatedNotification,
ChildCommentNotificationPayload,
ComboAutoRedeemedNotification,
ComboAutoRedeemedNotificationPayload,
MarketNotificationPayload,
MarketNotificationRewards,
MarketNotificationRewardsRate,
MarketNotificationToken,
MarketRegisteredNotification,
MarketResolvedNotification,
Notification,
NotificationType,
OrderCancellationNotification,
OrderFillFailedNotification,
OrderFillNotification,
OrderNotificationPayload,
RewardPayoutNotification,
RewardPayoutNotificationPayload,
YieldPayoutNotification,
YieldPayoutNotificationPayload,
)
from polymarket.models.clob.order_book import OrderBook, OrderBookLevel
from polymarket.models.clob.order_response import (
AcceptedOrder,
Expand Down Expand Up @@ -45,12 +68,18 @@
"AcceptedOrder",
"ApiKeyCreds",
"AssetType",
"AutoRedeemedNotification",
"AutoRedeemedNotificationPayload",
"BalanceAllowance",
"BuilderApiKeyInfo",
"BuilderFeeRates",
"BuilderTrade",
"CancelOrdersResponse",
"ChildCommentCreatedNotification",
"ChildCommentNotificationPayload",
"ClobTrade",
"ComboAutoRedeemedNotification",
"ComboAutoRedeemedNotificationPayload",
"TradeStatus",
"CurrentReward",
"CurrentRewardConfig",
Expand All @@ -59,12 +88,23 @@
"LastTradePrice",
"LastTradePriceForToken",
"MakerOrder",
"MarketNotificationPayload",
"MarketNotificationRewards",
"MarketNotificationRewardsRate",
"MarketNotificationToken",
"MarketOrderType",
"MarketRegisteredNotification",
"MarketResolvedNotification",
"MarketReward",
"MarketRewardConfig",
"MarketRewardToken",
"Notification",
"NotificationType",
"OpenOrder",
"OrderCancellationNotification",
"OrderFillFailedNotification",
"OrderFillNotification",
"OrderNotificationPayload",
"OrderBook",
"OrderBookLevel",
"OrderPostStatus",
Expand All @@ -76,6 +116,8 @@
"PriceRequest",
"RejectedOrder",
"RelayerTransactionState",
"RewardPayoutNotification",
"RewardPayoutNotificationPayload",
"RewardsPercentages",
"SignedOrder",
"TickSize",
Expand All @@ -84,4 +126,6 @@
"UserEarning",
"UserRewardsConfig",
"UserRewardsEarning",
"YieldPayoutNotification",
"YieldPayoutNotificationPayload",
]
28 changes: 1 addition & 27 deletions src/polymarket/models/clob/account.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import annotations

from typing import Annotated, Any, Literal, TypeAlias, cast
from typing import Annotated, Literal, TypeAlias, cast

from pydantic import BeforeValidator, Field, field_validator

Expand Down Expand Up @@ -149,31 +149,6 @@ def render(self: ClobTrade) -> str:
return render(self)


class Notification(BaseModel):
"""Account notification."""

id: int
owner: str
type: int
payload: Any = None
timestamp: RequiredEpochOrIsoTimestamp

@field_validator("id", mode="before")
@classmethod
def _parse_id(cls, value: object) -> int:
if isinstance(value, bool):
msg = f"notification id must be an integer, got bool {value!r}"
raise ValueError(msg)
if isinstance(value, int):
return value
if isinstance(value, str) and (
value.isdigit() or (value.startswith("-") and value[1:].isdigit())
):
return int(value)
msg = f"notification id must be an integer or numeric string, got {type(value).__name__}"
raise ValueError(msg)


class BalanceAllowance(BaseModel):
"""Balance and allowance values for an asset in base units."""

Expand Down Expand Up @@ -222,6 +197,5 @@ def _parse_base_units(value: object, name: str) -> int:
"BalanceAllowance",
"ClobTrade",
"MakerOrder",
"Notification",
"OpenOrder",
]
Loading
Loading