Gap
OpinionExchange in core accepts a walletAddress option at construction time, stored on the exchange instance and used by account-level methods (fetchPositions, fetchMyTrades). Neither SDK exposes walletAddress as a constructor parameter for the Opinion class, making wallet-gated operations inaccessible.
Core
core/src/exchanges/opinion/index.ts:47
export interface OpinionExchangeOptions {
credentials?: ExchangeCredentials;
walletAddress?: string;
websocket?: OpinionWebSocketConfig;
}
core/src/exchanges/opinion/index.ts:71
constructor(options?: ExchangeCredentials | OpinionExchangeOptions)
The walletAddress field is stored on the exchange instance and used when calling fetchPositions() (line 302) and fetchMyTrades() (line 296).
TypeScript SDK
sdks/typescript/pmxt/client.ts:2732
class Opinion extends Exchange {
constructor(options?: ExchangeOptions) { super("opinion", options); }
}
ExchangeOptions has no walletAddress field.
Python SDK
sdks/python/pmxt/_exchanges.py:280
class Opinion(Exchange):
def __init__(
self,
api_key: Optional[str] = None,
private_key: Optional[str] = None,
proxy_address: Optional[str] = None,
base_url: Optional[str] = None,
auto_start_server: Optional[bool] = None,
pmxt_api_key: Optional[str] = None,
): ...
No wallet_address parameter.
Evidence
OpinionExchangeOptions.walletAddress is defined in opinion/index.ts:47. The field is consumed by the exchange for wallet-scoped reads (fetchPositions, fetchMyTrades). Both SDK constructors omit it.
Impact
SDK users cannot pass a wallet address when constructing an Opinion exchange instance. Calls to opinion.fetchPositions() and opinion.fetchMyTrades() will either return empty results or throw, depending on how the exchange handles a missing wallet address. The option is irretrievable after construction.
Found by automated Core-to-SDK surface coverage audit
Gap
OpinionExchangein core accepts awalletAddressoption at construction time, stored on the exchange instance and used by account-level methods (fetchPositions,fetchMyTrades). Neither SDK exposeswalletAddressas a constructor parameter for theOpinionclass, making wallet-gated operations inaccessible.Core
core/src/exchanges/opinion/index.ts:47core/src/exchanges/opinion/index.ts:71The
walletAddressfield is stored on the exchange instance and used when callingfetchPositions()(line 302) andfetchMyTrades()(line 296).TypeScript SDK
sdks/typescript/pmxt/client.ts:2732ExchangeOptionshas nowalletAddressfield.Python SDK
sdks/python/pmxt/_exchanges.py:280No
wallet_addressparameter.Evidence
OpinionExchangeOptions.walletAddressis defined inopinion/index.ts:47. The field is consumed by the exchange for wallet-scoped reads (fetchPositions,fetchMyTrades). Both SDK constructors omit it.Impact
SDK users cannot pass a wallet address when constructing an
Opinionexchange instance. Calls toopinion.fetchPositions()andopinion.fetchMyTrades()will either return empty results or throw, depending on how the exchange handles a missing wallet address. The option is irretrievable after construction.Found by automated Core-to-SDK surface coverage audit