feat: expose trading approvals state (DEV-565) - #262
Open
kartojal wants to merge 1 commit into
Open
Conversation
kartojal
marked this pull request as ready for review
August 10, 2026 16:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Related: Polymarket/ts-sdk#286
Linear: DEV-565
Testing
Note
Medium Risk
Changes the approval resolution path used by
setup_trading_approvalsand adds RPC reads for collateral/position operator allowances; behavior should match prior logic but touches trading prerequisites.Overview
Adds typed trading approval state (
TradingApprovalsState,MissingTradingApprovals, and per-token ERC-20/ERC-1155 entries) and splits on-chain approval logic into read state vs build transaction calls (get_trading_approvals_state/build_missing_trading_approval_calls), replacing the old all-in-oneresolve_missing_trading_approval_*helpers.Public sync/async clients gain an RPC transport and
get_trading_approvals_state(wallet=...)so any wallet can be checked without a signer. Secure clients expose the same read with an optional wallet (defaulting to the authenticated wallet).setup_trading_approvalsnow resolves missing approvals via the shared state reader, then submits only the needed calls. New types are exported from the package root; a read-only integration test asserts expected missing approval counts for a known unapproved address.Reviewed by Cursor Bugbot for commit 88211a3. Bugbot is set up for automated code reviews on this repo. Configure here.