Skip to content
Open
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
48 changes: 48 additions & 0 deletions src/polymarket/clients/async_public.py
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,18 @@ async def close(self) -> None:
finally:
await self._ctx.clob.close()

@overload
async def get_market(
self, *, id: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
async def get_market(
self, *, slug: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
async def get_market(
self, *, url: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
async def get_market(
self,
*,
Expand All @@ -322,6 +334,36 @@ async def get_market_tags(self, id: str) -> tuple[TagReference, ...]:
"""Get a market's tags."""
return await async_dispatch(self._ctx, _gamma_actions.get_market_tags_spec(id))

@overload
async def get_event(
self,
*,
id: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
async def get_event(
self,
*,
slug: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
async def get_event(
self,
*,
url: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
async def get_event(
self,
*,
Expand Down Expand Up @@ -363,6 +405,12 @@ async def get_series(
_gamma_actions.get_series_spec(id, locale=locale),
)

@overload
async def get_tag(
self, *, id: str, include_template: bool | None = None, locale: str | None = None
) -> Tag: ...
@overload
async def get_tag(self, *, slug: str, locale: str | None = None) -> Tag: ...
async def get_tag(
self,
*,
Expand Down
60 changes: 60 additions & 0 deletions src/polymarket/clients/async_secure.py
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,18 @@ async def _close_rfq_session(self) -> None:
def _user_or_wallet(self, user: str | None) -> str:
return self._ctx.wallet if user is None else user

@overload
async def get_market(
self, *, id: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
async def get_market(
self, *, slug: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
async def get_market(
self, *, url: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
async def get_market(
self,
*,
Expand All @@ -756,6 +768,36 @@ async def get_market_tags(self, id: str) -> tuple[TagReference, ...]:
"""Get a market's tags."""
return await async_dispatch(self._ctx, _gamma_actions.get_market_tags_spec(id))

@overload
async def get_event(
self,
*,
id: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
async def get_event(
self,
*,
slug: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
async def get_event(
self,
*,
url: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
async def get_event(
self,
*,
Expand Down Expand Up @@ -797,6 +839,12 @@ async def get_series(
_gamma_actions.get_series_spec(id, locale=locale),
)

@overload
async def get_tag(
self, *, id: str, include_template: bool | None = None, locale: str | None = None
) -> Tag: ...
@overload
async def get_tag(self, *, slug: str, locale: str | None = None) -> Tag: ...
async def get_tag(
self,
*,
Expand Down Expand Up @@ -2282,6 +2330,18 @@ async def merge_positions(
)
return await self._dispatch_single_call(call, metadata=resolved_metadata)

@overload
async def redeem_positions(
self, *, condition_id: str, metadata: str | None = None
) -> TransactionHandle: ...
@overload
async def redeem_positions(
self, *, market_id: str, metadata: str | None = None
) -> TransactionHandle: ...
@overload
async def redeem_positions(
self, *, position_id: str, metadata: str | None = None
) -> TransactionHandle: ...
async def redeem_positions(
self,
*,
Expand Down
48 changes: 48 additions & 0 deletions src/polymarket/clients/public.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,18 @@ def close(self) -> None:
finally:
self._ctx.clob.close()

@overload
def get_market(
self, *, id: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
def get_market(
self, *, slug: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
def get_market(
self, *, url: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
def get_market(
self,
*,
Expand All @@ -167,6 +179,36 @@ def get_market_tags(self, id: str) -> tuple[TagReference, ...]:
"""Get a market's tags."""
return sync_dispatch(self._ctx, _gamma_actions.get_market_tags_spec(id))

@overload
def get_event(
self,
*,
id: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
def get_event(
self,
*,
slug: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
def get_event(
self,
*,
url: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
def get_event(
self,
*,
Expand Down Expand Up @@ -208,6 +250,12 @@ def get_series(
_gamma_actions.get_series_spec(id, locale=locale),
)

@overload
def get_tag(
self, *, id: str, include_template: bool | None = None, locale: str | None = None
) -> Tag: ...
@overload
def get_tag(self, *, slug: str, locale: str | None = None) -> Tag: ...
def get_tag(
self,
*,
Expand Down
60 changes: 60 additions & 0 deletions src/polymarket/clients/secure.py
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,18 @@ def close(self) -> None:
def _user_or_wallet(self, user: str | None) -> str:
return self._ctx.wallet if user is None else user

@overload
def get_market(
self, *, id: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
def get_market(
self, *, slug: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
@overload
def get_market(
self, *, url: str, include_tag: bool | None = None, locale: str | None = None
) -> Market: ...
def get_market(
self,
*,
Expand All @@ -489,6 +501,36 @@ def get_market_tags(self, id: str) -> tuple[TagReference, ...]:
"""Get a market's tags."""
return sync_dispatch(self._ctx, _gamma_actions.get_market_tags_spec(id))

@overload
def get_event(
self,
*,
id: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
def get_event(
self,
*,
slug: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
@overload
def get_event(
self,
*,
url: str,
include_best_lines: bool | None = None,
include_chat: bool | None = None,
include_template: bool | None = None,
locale: str | None = None,
) -> Event: ...
def get_event(
self,
*,
Expand Down Expand Up @@ -530,6 +572,12 @@ def get_series(
_gamma_actions.get_series_spec(id, locale=locale),
)

@overload
def get_tag(
self, *, id: str, include_template: bool | None = None, locale: str | None = None
) -> Tag: ...
@overload
def get_tag(self, *, slug: str, locale: str | None = None) -> Tag: ...
def get_tag(
self,
*,
Expand Down Expand Up @@ -2176,6 +2224,18 @@ def merge_positions(
)
return self._dispatch_single_call(call, metadata=resolved_metadata)

@overload
def redeem_positions(
self, *, condition_id: str, metadata: str | None = None
) -> SyncTransactionHandle: ...
@overload
def redeem_positions(
self, *, market_id: str, metadata: str | None = None
) -> SyncTransactionHandle: ...
@overload
def redeem_positions(
self, *, position_id: str, metadata: str | None = None
) -> SyncTransactionHandle: ...
def redeem_positions(
self,
*,
Expand Down
8 changes: 6 additions & 2 deletions tests/unit/test_relayer_redeem_positions.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,10 @@ async def run() -> None:
client = await make_deposit_client()
try:
with pytest.raises(UserInputError, match="exactly one"):
await client.redeem_positions(condition_id=_CONDITION_ID, market_id="123")
# Two selectors is intentionally invalid — exercises the runtime guard.
await client.redeem_positions( # pyright: ignore[reportCallIssue]
condition_id=_CONDITION_ID, market_id="123"
)
finally:
await client.close()

Expand All @@ -111,7 +114,8 @@ async def run() -> None:
client = await make_deposit_client()
try:
with pytest.raises(UserInputError, match="exactly one"):
await client.redeem_positions()
# Zero selectors is intentionally invalid — exercises the runtime guard.
await client.redeem_positions() # pyright: ignore[reportCallIssue]
finally:
await client.close()

Expand Down
Loading