@polymarket/client 0.1.0-beta.2 → 0.1.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers-v5';
2
- import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-D7tLX0ye.js';
2
+ import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-BHjtOekI.js';
3
3
  import '@polymarket/bindings';
4
4
  import '@polymarket/types';
5
5
  import '@polymarket/bindings/gamma';
@@ -7,6 +7,7 @@ import '@polymarket/bindings/relayer';
7
7
  import 'zod';
8
8
  import '@polymarket/bindings/clob';
9
9
  import '@polymarket/bindings/data';
10
+ import '@polymarket/bindings/rfq';
10
11
  import '@polymarket/bindings/subscriptions';
11
12
  import 'ox';
12
13
 
package/dist/index.d.ts CHANGED
@@ -1,21 +1,24 @@
1
- import { ConditionId } from '@polymarket/bindings';
1
+ import { CtfConditionId, ComboConditionId } from '@polymarket/bindings';
2
2
  export * from '@polymarket/bindings';
3
3
  export { OrderSide, OrderType } from '@polymarket/bindings';
4
4
  export * from '@polymarket/bindings/clob';
5
5
  export { SignatureType } from '@polymarket/bindings/clob';
6
6
  export * from '@polymarket/bindings/data';
7
- export { ActivityType } from '@polymarket/bindings/data';
7
+ export { ActivityType, ComboPositionStatus } from '@polymarket/bindings/data';
8
8
  export * from '@polymarket/bindings/gamma';
9
9
  export { WalletType } from '@polymarket/bindings/gamma';
10
10
  export * from '@polymarket/bindings/relayer';
11
- import { EvmAddress } from '@polymarket/types';
12
- import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-D7tLX0ye.js';
13
- export { c as AccountIdentity, d as AnalyticsActions, e as ApproveErc1155ForAllError, f as ApproveErc20Error, B as BaseClient, g as BasePublicClient, h as BaseSecureClient, i as BeginAuthenticationRequest, C as CancelAllError, j as CancelMarketOrdersError, k as CancelOrderError, l as CancelOrdersError, m as CancelledSigningError, n as Client, o as ClientActions, p as ClientDecorator, q as CreateSecureClientError, D as DataActions, r as DiscoveryActions, s as DownloadAccountingSnapshotError, t as DropNotificationsError, E as EnvironmentConfig, u as EstimateMarketPriceError, F as FetchClosedOnlyModeError, v as FetchCommentsByIdError, w as FetchEventError, x as FetchEventLiveVolumeError, y as FetchEventTagsError, z as FetchLastTradePriceError, G as FetchLastTradePricesError, H as FetchMarketError, I as FetchMarketTagsError, J as FetchMidpointError, K as FetchMidpointsError, L as FetchNotificationsError, M as FetchOrderBookError, N as FetchOrderBooksError, O as FetchOrderError, P as FetchOrderScoringError, Q as FetchOrdersScoringError, R as FetchPortfolioValueError, V as FetchPriceError, W as FetchPriceHistoryError, X as FetchPricesError, Y as FetchPublicProfileError, Z as FetchRelatedTagResourcesError, _ as FetchRelatedTagsError, $ as FetchRewardPercentagesError, a0 as FetchSeriesError, a1 as FetchSpreadError, a2 as FetchSpreadsError, a3 as FetchTagError, a4 as FetchTotalEarningsForUserForDayError, a5 as FetchTradedMarketCountError, a6 as InsufficientLiquidityError, a7 as IsGaslessReadyError, a8 as ListAccountTradesError, a9 as ListActivityError, aa as ListBuilderLeaderboardError, ab as ListBuilderTradesError, ac as ListBuilderVolumeError, ad as ListClosedPositionsError, ae as ListCommentsByUserAddressError, af as ListCommentsError, ag as ListCurrentRewardsError, ah as ListEventsError, ai as ListMarketHoldersError, aj as ListMarketPositionsError, ak as ListMarketRewardsError, al as ListMarketsError, am as ListOpenInterestError, an as ListOpenOrdersError, ao as ListPositionsError, ap as ListSeriesError, aq as ListTagsError, ar as ListTeamsError, as as ListTraderLeaderboardError, at as ListTradesError, au as ListUserEarningsAndMarketsConfigError, av as ListUserEarningsForDayError, aw as MergePositionsError, ax as Page, ay as PageSizeSchema, az as Paginated, aA as PostOrderError, aB as PostOrdersError, aC as PublicAccountActions, aD as PublicActions, aE as PublicClient, aF as PublicClientOptions, aG as PublicRewardsActions, aH as PublicSubscriptionsActions, aI as RateLimitError, aJ as RedeemPositionsError, aK as RequestRejectedError, aL as RequestRejectedErrorOptions, aM as SearchError, aN as SecureAccountActions, aO as SecureActions, aP as SecureClient, aQ as SecureClientOptions, aR as SecureDownloadAccountingSnapshotRequest, aS as SecureFetchPortfolioValueRequest, aT as SecureFetchTradedMarketCountRequest, aU as SecureListActivityRequest, aV as SecureListClosedPositionsRequest, aW as SecureListPositionsRequest, aX as SecureRewardsActions, aY as SecureSubscriptionsActions, aZ as SecureTradingActions, a_ as SecureWalletActions, a$ as SetupGaslessWalletError, b0 as SetupTradingApprovalsError, S as Signer, b1 as SignerTransactionRequest, b2 as SigningError, b3 as SplitPositionError, b4 as TimeoutError, b5 as TransactionFailedError, b6 as TransactionHandle, b7 as TransactionOutcome, b8 as TransferErc20Error, b9 as TransportError, a as TypedData, ba as TypedDataDomain, bb as TypedDataField, T as TypedDataPayload, bc as UnexpectedResponseError, bd as WaitForTransactionError, be as WalletDerivationConfig, bf as accountActions, bg as allActions, bh as analyticsActions, bi as createPublicClient, bj as createSecureClient, bk as dataActions, bl as discoveryActions, bm as makeErrorGuard, bn as production, bo as rewardsActions, bp as subscriptionsActions, bq as tradingActions, br as walletActions } from './types-D7tLX0ye.js';
14
- export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-BDLhQVTP.js';
11
+ import { Tagged, EvmAddress } from '@polymarket/types';
12
+ import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-BHjtOekI.js';
13
+ export { c as AccountIdentity, d as AnalyticsActions, e as ApproveErc1155ForAllError, f as ApproveErc20Error, B as BaseClient, g as BasePublicClient, h as BaseSecureClient, i as BeginAuthenticationRequest, C as CancelAllError, j as CancelMarketOrdersError, k as CancelOrderError, l as CancelOrdersError, m as CancelledSigningError, n as Client, o as ClientActions, p as ClientDecorator, q as CreateSecureClientError, D as DataActions, r as DiscoveryActions, s as DownloadAccountingSnapshotError, t as DropNotificationsError, E as EnvironmentConfig, u as EstimateMarketPriceError, F as FetchClosedOnlyModeError, v as FetchCommentsByIdError, w as FetchEventError, x as FetchEventLiveVolumeError, y as FetchEventTagsError, z as FetchLastTradePriceError, G as FetchLastTradePricesError, H as FetchMarketError, I as FetchMarketTagsError, J as FetchMidpointError, K as FetchMidpointsError, L as FetchNotificationsError, M as FetchOrderBookError, N as FetchOrderBooksError, O as FetchOrderError, P as FetchOrderScoringError, Q as FetchOrdersScoringError, R as FetchPortfolioValueError, V as FetchPriceError, W as FetchPriceHistoryError, X as FetchPricesError, Y as FetchPublicProfileError, Z as FetchRelatedTagResourcesError, _ as FetchRelatedTagsError, $ as FetchRewardPercentagesError, a0 as FetchSeriesError, a1 as FetchSpreadError, a2 as FetchSpreadsError, a3 as FetchTagError, a4 as FetchTotalEarningsForUserForDayError, a5 as FetchTradedMarketCountError, a6 as InsufficientLiquidityError, a7 as ListAccountTradesError, a8 as ListActivityError, a9 as ListBuilderLeaderboardError, aa as ListBuilderTradesError, ab as ListBuilderVolumeError, ac as ListClosedPositionsError, ad as ListComboPositionsError, ae as ListCommentsByUserAddressError, af as ListCommentsError, ag as ListCurrentRewardsError, ah as ListEventsError, ai as ListMarketHoldersError, aj as ListMarketPositionsError, ak as ListMarketRewardsError, al as ListMarketsError, am as ListOpenInterestError, an as ListOpenOrdersError, ao as ListPositionsError, ap as ListSeriesError, aq as ListTagsError, ar as ListTeamsError, as as ListTraderLeaderboardError, at as ListTradesError, au as ListUserEarningsAndMarketsConfigError, av as ListUserEarningsForDayError, aw as MergePositionsError, ax as OpenRfqSessionError, ay as Page, az as PageSizeSchema, aA as Paginated, aB as PostOrderError, aC as PostOrdersError, aD as PublicAccountActions, aE as PublicActions, aF as PublicClient, aG as PublicClientOptions, aH as PublicRewardsActions, aI as PublicSubscriptionsActions, aJ as RateLimitError, aK as RedeemPositionsError, aL as RequestRejectedError, aM as RequestRejectedErrorOptions, aN as RfqCancelQuoteAck, aO as RfqCancelQuoteError, aP as RfqCancelQuoteRejectedError, aQ as RfqCancelQuoteRejectedErrorOptions, aR as RfqConfirmationAck, aS as RfqConfirmationError, aT as RfqConfirmationRejectedError, aU as RfqConfirmationRequestEvent, aV as RfqEvent, aW as RfqQuoteError, aX as RfqQuoteReference, aY as RfqQuoteRejectedError, aZ as RfqQuoteRejectedErrorOptions, a_ as RfqQuoteRequestEvent, a$ as RfqQuoteResponse, b0 as RfqQuoteSource, b1 as RfqSession, b2 as SearchError, b3 as SecureAccountActions, b4 as SecureActions, b5 as SecureClient, b6 as SecureClientOptions, b7 as SecureDownloadAccountingSnapshotRequest, b8 as SecureFetchPortfolioValueRequest, b9 as SecureFetchTradedMarketCountRequest, ba as SecureListActivityRequest, bb as SecureListClosedPositionsRequest, bc as SecureListComboPositionsRequest, bd as SecureListPositionsRequest, be as SecureRewardsActions, bf as SecureRfqActions, bg as SecureSubscriptionsActions, bh as SecureTradingActions, bi as SecureWalletActions, bj as SetupGaslessWalletError, bk as SetupTradingApprovalsError, S as Signer, bl as SignerTransactionRequest, bm as SigningError, bn as SplitPositionError, bo as TimeoutError, bp as TransactionFailedError, bq as TransactionHandle, br as TransactionOutcome, bs as TransferErc20Error, bt as TransportError, a as TypedData, bu as TypedDataDomain, bv as TypedDataField, T as TypedDataPayload, bw as UnexpectedResponseError, bx as WaitForTransactionError, by as WalletDerivationConfig, bz as accountActions, bA as allActions, bB as analyticsActions, bC as createPublicClient, bD as createSecureClient, bE as dataActions, bF as discoveryActions, bG as makeErrorGuard, bH as production, bI as rewardsActions, bJ as rfqActions, bK as subscriptionsActions, bL as tradingActions, bM as walletActions } from './types-BHjtOekI.js';
14
+ export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-shrXkDsG.js';
15
+ export { RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqQuoteId, RfqQuoteRequest, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide } from '@polymarket/bindings/rfq';
15
16
  import 'zod';
16
17
  import '@polymarket/bindings/subscriptions';
17
18
  import 'ox';
18
19
 
20
+ type CanonicalComboLegs = Tagged<readonly bigint[], 'CanonicalComboLegs'>;
21
+
19
22
  type Erc20ApprovalCallError = UserInputError;
20
23
  declare const Erc20ApprovalCallError: {
21
24
  isError(error: unknown): error is UserInputError;
@@ -60,7 +63,7 @@ declare const SplitPositionCallError: {
60
63
  * @throws {@link SplitPositionCallError}
61
64
  * Thrown when the amount is invalid.
62
65
  */
63
- declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
66
+ declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: CtfConditionId, amount: bigint): TransactionCall;
64
67
  type MergePositionsCallError = UserInputError;
65
68
  declare const MergePositionsCallError: {
66
69
  isError(error: unknown): error is UserInputError;
@@ -75,7 +78,7 @@ declare const MergePositionsCallError: {
75
78
  * @throws {@link MergePositionsCallError}
76
79
  * Thrown when the amount is invalid.
77
80
  */
78
- declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
81
+ declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: CtfConditionId, amount: bigint): TransactionCall;
79
82
  /**
80
83
  * Creates a transaction call for `redeemPositions(address,bytes32,bytes32,uint256[])`
81
84
  * on Conditional Tokens-compatible contracts, including the collateral adapters.
@@ -86,7 +89,51 @@ declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAd
86
89
  * @throws {@link CtfRedeemPositionsCallError}
87
90
  * Thrown when the condition is invalid.
88
91
  */
89
- declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId): TransactionCall;
92
+ declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: CtfConditionId): TransactionCall;
93
+ type SplitV2CallError = UserInputError;
94
+ declare const SplitV2CallError: {
95
+ isError(error: unknown): error is UserInputError;
96
+ };
97
+ /**
98
+ * Creates a transaction call for protocol v2 Router `split(bytes31,uint256)`.
99
+ *
100
+ * @throws {@link SplitV2CallError}
101
+ * Thrown when the condition ID or amount is invalid.
102
+ */
103
+ declare function splitV2Call(routerAddress: EvmAddress, conditionId: ComboConditionId, amount: bigint): TransactionCall;
104
+ type MergeV2CallError = UserInputError;
105
+ declare const MergeV2CallError: {
106
+ isError(error: unknown): error is UserInputError;
107
+ };
108
+ /**
109
+ * Creates a transaction call for protocol v2 Router `merge(bytes31,uint256)`.
110
+ *
111
+ * @throws {@link MergeV2CallError}
112
+ * Thrown when the condition ID or amount is invalid.
113
+ */
114
+ declare function mergeV2Call(routerAddress: EvmAddress, conditionId: ComboConditionId, amount: bigint): TransactionCall;
115
+ type RedeemV2CallError = UserInputError;
116
+ declare const RedeemV2CallError: {
117
+ isError(error: unknown): error is UserInputError;
118
+ };
119
+ /**
120
+ * Creates a transaction call for protocol v2 Router `redeem(bytes31,uint256,uint256)`.
121
+ *
122
+ * @throws {@link RedeemV2CallError}
123
+ * Thrown when the condition ID, outcome index, or amount is invalid.
124
+ */
125
+ declare function redeemV2Call(routerAddress: EvmAddress, conditionId: ComboConditionId, outcomeIndex: 0 | 1, amount: bigint): TransactionCall;
126
+ type CombinatorialPrepareConditionCallError = UserInputError;
127
+ declare const CombinatorialPrepareConditionCallError: {
128
+ isError(error: unknown): error is UserInputError;
129
+ };
130
+ /**
131
+ * Creates a transaction call for CombinatorialModule `prepareCondition(uint256[])`.
132
+ *
133
+ * @throws {@link CombinatorialPrepareConditionCallError}
134
+ * Thrown when any leg position ID is invalid.
135
+ */
136
+ declare function combinatorialPrepareConditionCall(combinatorialModuleAddress: EvmAddress, legs: CanonicalComboLegs): TransactionCall;
90
137
 
91
138
  type RelayerApiKeyConfig = {
92
139
  key: string;
@@ -155,4 +202,4 @@ declare function relayerApiKey(config: RelayerApiKeyConfig): ApiKeyAuthorization
155
202
  */
156
203
  declare function buildHmacSignature(secret: string, timestamp: number, method: string, requestPath: string, body?: string): Promise<string>;
157
204
 
158
- export { ApiKeyAuthorization, CtfRedeemPositionsCallError, Erc20ApprovalCallError, Erc20TransferCallError, MergePositionsCallError, type RelayerApiKeyConfig, type RemoteBuilderSigningConfig, SplitPositionCallError, TransactionCall, UserInputError, buildHmacSignature, ctfRedeemPositionsCall, erc1155ApprovalForAllCall, erc20ApprovalCall, erc20TransferCall, mergePositionsCall, relayerApiKey, remoteBuilderSigning, splitPositionCall };
205
+ export { ApiKeyAuthorization, CombinatorialPrepareConditionCallError, CtfRedeemPositionsCallError, Erc20ApprovalCallError, Erc20TransferCallError, MergePositionsCallError, MergeV2CallError, RedeemV2CallError, type RelayerApiKeyConfig, type RemoteBuilderSigningConfig, SplitPositionCallError, SplitV2CallError, TransactionCall, UserInputError, buildHmacSignature, combinatorialPrepareConditionCall, ctfRedeemPositionsCall, erc1155ApprovalForAllCall, erc20ApprovalCall, erc20TransferCall, mergePositionsCall, mergeV2Call, redeemV2Call, relayerApiKey, remoteBuilderSigning, splitPositionCall, splitV2Call };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import {W,ea,ca,aa,ya,Qc,Oc,Mc,Kc,Ic,Qb,Ob,Mb,Oa,wa,Yb,_b,kc,sb,qb,ob,mb,kb,ib,gb,eb,cb,Sa,Qa,Kb,Cb,Ab,yb,cd,xd,md,kd,ed,vd,td,rd,pd,id,gd,Wb,Ub,Sb,Ib,Gb,Eb,ua,sa,qa,oa,ma,ka,nd,_,Y as Y$1,ic,gc,ec,cc,pc,oc,Gc,Ec,Cc,Ac,ad,Zc,Wc,Bd,Ia,Ea,Ma,N,I,ac,wb,ub,F as F$1,E,J as J$1,G,v as v$1,t,H,Q as Q$1,x}from'./chunk-VQOVE5SC.js';export{Ha as ApproveErc1155ForAllError,Da as ApproveErc20Error,fc as CancelAllError,hc as CancelMarketOrdersError,bc as CancelOrderError,dc as CancelOrdersError,Dc as CreateLimitOrderError,zc as CreateMarketOrderError,g as CtfRedeemPositionsCallError,Pc as DownloadAccountingSnapshotError,da as DropNotificationsError,b as Erc20ApprovalCallError,e as Erc20TransferCallError,jc as EstimateMarketPriceError,V as FetchClosedOnlyModeError,zb as FetchCommentsByIdError,Fb as FetchEventError,Jb as FetchEventLiveVolumeError,Hb as FetchEventTagsError,nb as FetchLastTradePriceError,pb as FetchLastTradePricesError,Tb as FetchMarketError,Vb as FetchMarketTagsError,Pa as FetchMidpointError,Ra as FetchMidpointsError,ba as FetchNotificationsError,fb as FetchOrderBookError,hb as FetchOrderBooksError,Z as FetchOrderError,ja as FetchOrderScoringError,la as FetchOrdersScoringError,Lc as FetchPortfolioValueError,bb as FetchPriceError,rb as FetchPriceHistoryError,db as FetchPricesError,bd as FetchPublicProfileError,ud as FetchRelatedTagResourcesError,sd as FetchRelatedTagsError,ta as FetchRewardPercentagesError,hd as FetchSeriesError,ld as FetchSportsMarketTypesError,jb as FetchSpreadError,lb as FetchSpreadsError,qd as FetchTagError,pa as FetchTotalEarningsForUserForDayError,Nc as FetchTradedMarketCountError,M as IsGaslessReadyError,$ as ListAccountTradesError,xa as ListActivityError,Lb as ListBuilderLeaderboardError,Na as ListBuilderTradesError,Nb as ListBuilderVolumeError,Jc as ListClosedPositionsError,Bb as ListCommentsByUserAddressError,xb as ListCommentsError,tb as ListCurrentRewardsError,Db as ListEventsError,Xb as ListMarketHoldersError,$b as ListMarketPositionsError,vb as ListMarketRewardsError,Rb as ListMarketsError,Zb as ListOpenInterestError,X as ListOpenOrdersError,Hc as ListPositionsError,fd as ListSeriesError,jd as ListSportsError,od as ListTagsError,wd as ListTeamsError,Pb as ListTraderLeaderboardError,va as ListTradesError,ra as ListUserEarningsAndMarketsConfigError,na as ListUserEarningsForDayError,a as MAX_UINT256,j as MergePositionsCallError,Yc as MergePositionsError,Fc as PlaceLimitOrderError,Bc as PlaceMarketOrderError,mc as PostOrderError,nc as PostOrdersError,$c as RedeemPositionsError,dd as SearchError,La as SetupTradingApprovalsError,h as SplitPositionCallError,Vc as SplitPositionError,Ad as TransferErc20Error,za as WaitForTransactionError,l as ctfRedeemPositionsCall,m as encodeProxyCall,n as encodeSafeMultisendCall,d as erc1155ApprovalForAllCall,c as erc20ApprovalCall,f as erc20TransferCall,Aa as expectTransactionHandle,k as mergePositionsCall,i as splitPositionCall}from'./chunk-VQOVE5SC.js';import {k,h,e,d as d$1,j,c,b as b$1,a as a$1,f,g}from'./chunk-E2CLUN5M.js';export{h as CancelledSigningError,i as InsufficientLiquidityError,e as RateLimitError,d as RequestRejectedError,j as SigningError,f as TimeoutError,g as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,k as makeErrorGuard}from'./chunk-E2CLUN5M.js';import {ApiKeySchema,EvmAddressSchema}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';import {z}from'zod';import {expectEvmAddress,expectEvmSignature,ResultAsync,invariant,isSameEvmAddress,setNonBlockingInterval,setNonBlockingTimeout}from'@polymarket/types';import Hs from'ky';import {RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';var ws=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function xs(t){return new Y(t)}function Ms(t){return new J(t)}var Y=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#r(e)}catch(r){throw j.fromError(r,"Could not authorize the builder-authenticated request")}}async#t(){let e=this.#e.headers,r=typeof e=="function"?await e():e,s=new Headers(r);return s.set("content-type","application/json"),s}async#r(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#t(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return ws.parse(await r.json())}},J=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function Ht(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function Os(t){return {listPositions:Ic.bind(null,t),listClosedPositions:Kc.bind(null,t),fetchPortfolioValue:Mc.bind(null,t),fetchTradedMarketCount:Oc.bind(null,t),downloadAccountingSnapshot:Qc.bind(null,t),listMarketPositions:ac.bind(null,t),listActivity:ya.bind(null,t)}}function A(t,e={}){return {...e,user:e.user??t.account.wallet}}function Z(t){let e=Os(t);return t.isPublicClient()?e:{...e,listPositions:r=>Ic(t,A(t,r)),listClosedPositions:r=>Kc(t,A(t,r)),fetchPortfolioValue:r=>Mc(t,A(t,r)),fetchTradedMarketCount:r=>Oc(t,A(t,r)),downloadAccountingSnapshot:r=>Qc(t,A(t,r)),listActivity:r=>ya(t,A(t,r)),listAccountTrades:aa.bind(null,t),fetchNotifications:ca.bind(null,t),dropNotifications:ea.bind(null,t),fetchClosedOnlyMode:W.bind(null,t)}}function X(t){return {listBuilderTrades:Oa.bind(null,t),listBuilderLeaderboard:Mb.bind(null,t),fetchBuilderVolume:Ob.bind(null,t),listTraderLeaderboard:Qb.bind(null,t)}}function Q(t){return {fetchEventLiveVolume:Kb.bind(null,t),fetchMidpoint:Qa.bind(null,t),fetchMidpoints:Sa.bind(null,t),fetchPrice:cb.bind(null,t),fetchPrices:eb.bind(null,t),fetchOrderBook:gb.bind(null,t),fetchOrderBooks:ib.bind(null,t),fetchSpread:kb.bind(null,t),fetchSpreads:mb.bind(null,t),fetchLastTradePrice:ob.bind(null,t),fetchLastTradePrices:qb.bind(null,t),fetchPriceHistory:sb.bind(null,t),estimateMarketPrice:kc.bind(null,t),listOpenInterest:_b.bind(null,t),listMarketHolders:Yb.bind(null,t),listTrades:wa.bind(null,t)}}function ee(t){return {listEvents:Eb.bind(null,t),fetchEvent:Gb.bind(null,t),fetchEventTags:Ib.bind(null,t),listMarkets:Sb.bind(null,t),fetchMarket:Ub.bind(null,t),fetchMarketTags:Wb.bind(null,t),listSeries:gd.bind(null,t),fetchSeries:id.bind(null,t),listTags:pd.bind(null,t),fetchTag:rd.bind(null,t),fetchRelatedTags:td.bind(null,t),fetchRelatedTagResources:vd.bind(null,t),search:ed.bind(null,t),listSports:kd.bind(null,t),fetchSportsMarketTypes:md.bind(null,t),listTeams:xd.bind(null,t),fetchPublicProfile:cd.bind(null,t),listComments:yb.bind(null,t),fetchCommentsById:Ab.bind(null,t),listCommentsByUserAddress:Cb.bind(null,t)}}function Ls(t){return {listCurrentRewards:ub.bind(null,t),listMarketRewards:wb.bind(null,t)}}function te(t){let e=Ls(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ka.bind(null,t),fetchOrdersScoring:ma.bind(null,t),listUserEarningsForDay:oa.bind(null,t),fetchTotalEarningsForUserForDay:qa.bind(null,t),listUserEarningsAndMarketsConfig:sa.bind(null,t),fetchRewardPercentages:ua.bind(null,t)}}function re(t){return t.isSecureClient()?{subscribe(e){return nd(t,e)}}:{subscribe(e){return nd(t,e)}}}function It(t){return {createMarketOrder:Ac.bind(null,t),placeMarketOrder:Cc.bind(null,t),createLimitOrder:Ec.bind(null,t),placeLimitOrder:Gc.bind(null,t),postOrder:oc(t),postOrders:pc(t),cancelOrder:cc.bind(null,t),cancelOrders:ec.bind(null,t),cancelAll:gc.bind(null,t),cancelMarketOrders:ic.bind(null,t),listOpenOrders:Y$1.bind(null,t),fetchOrder:_.bind(null,t)}}function Ut(t){return {isGaslessReady:N.bind(null,t),setupTradingApprovals:Ma.bind(null,t),approveErc20:Ea.bind(null,t),approveErc1155ForAll:Ia.bind(null,t),transferErc20:Bd.bind(null,t),splitPosition:Wc.bind(null,t),mergePositions:Zc.bind(null,t),redeemPositions:ad.bind(null,t)}}function Kt(t){return t.isSecureClient()?{...Z(t),...X(t),...Q(t),...ee(t),...te(t),...re(t),...It(t),...Ut(t)}:{...Z(t),...X(t),...Q(t),...ee(t),...te(t),...re(t)}}var _t={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),autoRedeemOperator:expectEvmAddress("0xF3cFb6a6eBFeB51876289Eb235719EB1C65252B0"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),clob:"https://clob.polymarket.com",clobMarketWs:"wss://ws-subscriptions-clob.polymarket.com/ws/market",clobUserWs:"wss://ws-subscriptions-clob.polymarket.com/ws/user",relayer:"https://relayer-v2.polymarket.com",gamma:"https://gamma-api.polymarket.com",data:"https://data-api.polymarket.com",rtdsWs:"wss://ws-live-data.polymarket.com",sportsWs:"wss://sports-api.polymarket.com/ws",relayerMaxPolls:100,relayerPollFrequencyMs:2e3};async function Nt(t,e,r,s,i){let n=`${e}${r}${s}`;i!==void 0&&(n+=i);let o=await globalThis.crypto.subtle.importKey("raw",Fs(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),h=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(n));return Ds(Bs(h))}function Fs(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let i=0;i<r.length;i+=1)s[i]=r.charCodeAt(i);return s.buffer}function Bs(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function Ds(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}var a=class{#e;#t;constructor({root:e,resolveHeaders:r}){this.#e=Hs.create({prefixUrl:e,throwHttpErrors:false}),this.#t=r;}get(e,r={}){return this.#i("GET",e,r)}post(e,r={}){return this.#i("POST",e,r)}del(e,r={}){return this.#i("DELETE",e,r)}#r(e){return e.startsWith("/")?e.slice(1):e}#i(e,r,s){return this.#c(this.#s(e,r,s))}async#s(e,r,s){let i=this.#n(e,r,s),n=await this.#t?.(i),o=this.#u(i.headers,n);return i.body!==void 0&&!o.has("content-type")&&o.set("content-type","application/json"),this.#e(this.#r(r),{body:i.body,headers:o,method:e,searchParams:i.params})}#n(e,r,s){return {body:"json"in s?this.#o(s.json):void 0,headers:s.headers,json:"json"in s?s.json:void 0,method:e,params:"params"in s?s.params:void 0,path:r}}#o(e){if(e!==void 0)return JSON.stringify(e)}#u(...e){let r=new Headers;for(let s of e)if(s!==void 0)for(let[i,n]of new Headers(s).entries())r.set(i,n);return r}#c(e$1){return ResultAsync.fromPromise(e$1.then(async r=>{if(r.ok)return r;if(r.status===429)throw new e(`Request to ${r.url} was rate limited`);let s=await this.#a(r);throw new d$1(s,{status:r.status})}),r=>r instanceof e||r instanceof d$1?r:c.fromError(r))}async#a(e){let r=e.headers.get("content-type")?.toLowerCase();if(r?.includes("application/json")){let{error:i}=await e.clone().json().catch(()=>({}));if(i)return `${String(i)} (${e.url})`}if(r?.includes("text/plain")){let i=await e.clone().text().then(n=>n.trim(),()=>"");if(i)return `${i} (${e.url})`}return e.headers.get("server")?.toLowerCase()?.includes("cloudflare")?`Request to ${e.url} was blocked by Cloudflare with status ${e.status}`:r?.includes("text/html")||r?.includes("application/xhtml+xml")?`Request to ${e.url} failed with status ${e.status} and an unexpected HTML response body`:`Request to ${e.url} failed with status ${e.status} and unreadable response body`}};function p(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var Is=1e4,Us=3e4,Ks=5e3,_s=10*6e4,Ns=3e4,P=class{#e=0;#t;start(e){this.stop(),this.#e=Date.now(),this.#t=setNonBlockingInterval(()=>{e("PING");},Is);}handleMessage(e){return e!=="PONG"?false:(this.#e=Date.now(),true)}isStale(e){return e-this.#e>Us}stop(){this.#t!==void 0&&(clearInterval(this.#t),this.#t=void 0);}},M=class{#e=0;#t;start(e){this.stop(),this.#e=Date.now(),this.#t=setNonBlockingInterval(()=>{e("PING");},Ks);}handleMessage(){return this.#e=Date.now(),false}isStale(e){return e-this.#e>_s}stop(){this.#t!==void 0&&(clearInterval(this.#t),this.#t=void 0);}},O=class{#e=0;#t;start(e){this.#e=Date.now(),this.#t=e;}stop(){this.#t=void 0;}handleMessage(e){return e!=="ping"?false:(this.#e=Date.now(),this.#t?.("pong"),true)}isStale(e){return e-this.#e>Ns}};var js=5e3,zs=250,$s=3e4,u=class{#e;#t=0;schedule(e){if(this.#e!==void 0||!e.shouldReconnect())return;let r=Ys(this.#t,{baseMs:zs,maxMs:$s});this.#t+=1,this.#e=setNonBlockingTimeout(()=>{this.#e=void 0,this.#r(e);},r);}stop(){this.#e!==void 0&&(clearTimeout(this.#e),this.#e=void 0);}resetBackoff(){this.#t=0,this.stop();}async#r(e){if(e.shouldReconnect())try{await e.reconnect();}catch{this.schedule(e);}}},l=class{#e;#t;#r;#i;constructor(e){this.#e=e.heartbeat;}connect(e){if(this.#t?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#u(),this.#r!==void 0)return this.#r;let s=this.#n(e).then(()=>({reusedOpenSocket:false})).catch(i=>{throw this.#r===s&&(this.#r=void 0),i});return this.#r=s,s}send(e){return this.#s(JSON.stringify(e))}#s(e){return this.#t?.readyState!==WebSocket.OPEN?false:(this.#t.send(e),true)}async close(){let e=await this.#l();this.#a(),!(e===void 0||e.readyState===WebSocket.CLOSED)&&await new Promise(r=>{e.addEventListener("close",()=>r(),{once:true}),e.readyState!==WebSocket.CLOSING&&e.close();});}async#n(e){let r=await e.prepare?.();return new Promise((s,i)=>{let n=new WebSocket(e.url),o=()=>{n.removeEventListener("error",h),this.#o(n),this.#c(),e.onOpen(r),s(n);},h=S=>{n.removeEventListener("open",o),i(new c(`WebSocket connection failed: ${e.url}`,{cause:S}));};n.addEventListener("open",o,{once:true}),n.addEventListener("error",h,{once:true}),n.addEventListener("message",S=>{if(this.#t!==n)return;let k=String(S.data);if(this.#e.handleMessage(k))return;let q;try{q=JSON.parse(k);}catch{return}e.onMessage(q);}),n.addEventListener("close",()=>{this.#t===n&&(this.#u(),e.onClose());}),n.addEventListener("error",()=>e.onError());})}#o(e){this.#t=e,this.#r=void 0;}#u(){this.#a(),this.#t=void 0;}#c(){this.#a(),this.#e.start(e=>this.#s(e)),this.#i=setNonBlockingInterval(()=>{if(!this.#e.isStale(Date.now()))return;let e=this.#t;e?.readyState===WebSocket.OPEN&&e.close();},js);}#a(){this.#i!==void 0&&(clearInterval(this.#i),this.#i=void 0),this.#e.stop();}async#l(){let e=this.#t,r=this.#r;return this.#t=void 0,this.#r=void 0,e!==void 0?e:r?.then(()=>this.#t,()=>{})}};function Ys(t,e){let r=Math.min(e.baseMs*2**t,e.maxMs);return Math.random()*r}var d=class{#e=new Set;#t;constructor(e){this.#t=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let i={subscription:e,subscriber:s};return {change:this.#r(i),entry:i}}#r(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#t(this.#e)}};function se(t,e,r){let s=L(r.assetsIds,e.assetsIds),i=L(e.assetsIds,r.assetsIds);s.length>0&&t(Gt(s,r.customFeatureEnabled));let n=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&n!==void 0&&t(Gt([n],r.customFeatureEnabled)),i.length>0&&t(Zs(i));}function ie(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(zt(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(jt(r.markets));return}let s=L(r.markets,e.markets),i=L(e.markets,r.markets);s.length>0&&t(jt(s)),i.length>0&&t(zt(i));}function $t(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let i of s.tokenIds)e.add(i);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Yt(t){let e=false,r=new Set;for(let{subscription:s}of t){if(er(s)){e=true;continue}for(let i of s.markets??[])r.add(i);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Jt(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Gt(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Zs(t){return {assets_ids:t,operation:"unsubscribe"}}function Zt(t,e){return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},markets:t.markets,type:"user"}}function jt(t){return {markets:t,operation:"subscribe"}}function zt(t){return {markets:t,operation:"unsubscribe"}}function Xt(t){return e=>{switch(e.type){case "price_change":return e.payload.priceChanges.some(r=>t.tokenIds.includes(r.tokenId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(e.payload.tokenIds??[]).some(r=>t.tokenIds.includes(r));case "best_bid_ask":return t.customFeatureEnabled===true&&t.tokenIds.includes(e.payload.tokenId);default:return t.tokenIds.includes(e.payload.tokenId)}}}function Qt(t){if(er(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function er(t){return (t.markets?.length??0)===0}function L(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var b=class{#e;#t;#r=new l({heartbeat:new P});#i=new u;#s=new d({deriveServerState:$t});constructor(e){this.#e=e.url;}async subscribe(e){let{change:r,entry:s}=this.#s.add(e,{matches:Xt(e)});return await this.#n(s,r),p(s.subscriber.queue,()=>this.#o(s))}async#n(e,r){let{before:s,after:i}=r;try{(await this.#c()).reusedOpenSocket&&se(o=>this.#r.send(o),s,i);}catch(n){throw await this.#o(e),n}}async#o(e){let{before:r,after:s}=this.#s.remove(e);if(!this.#s.hasActiveSubscriptions()){await this.close();return}se(i=>this.#r.send(i),r,s);}async close(){this.#t===void 0&&(this.#t=this.#u().finally(()=>{this.#t=void 0;})),await this.#t;}async#u(){this.#i.stop(),this.#s.endAll(),await this.#r.close();}#c(){return this.#r.connect({onClose:()=>this.#d(),onError:()=>this.#p(),onMessage:e=>this.#l(e),onOpen:()=>this.#a(),url:this.#e})}#a(){this.#i.resetBackoff(),this.#m();}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=MarketEventSchema.safeParse(s);i.success&&this.#s.dispatch(i.data);}}#d(){this.#s.hasActiveSubscriptions()&&this.#y();}#p(){}#m(){this.#r.send(Jt(this.#s.serverState()));}#y(){this.#i.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#s.hasActiveSubscriptions()});}};var v=class{#e;#t;#r;#i=new l({heartbeat:new P});#s=new u;#n=new d({deriveServerState:Yt});constructor(e){this.#e=e.url,this.#t=e.resolveCredentials;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Qt(e)});return await this.#o(s,r),p(s.subscriber.queue,()=>this.#u(s))}async#o(e,r){let{before:s,after:i}=r;try{(await this.#a()).reusedOpenSocket&&ie(o=>this.#i.send(o),s,i);}catch(n){throw await this.#u(e),n}}async#u(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}ie(i=>this.#i.send(i),r,s);}async close(){this.#r===void 0&&(this.#r=this.#c().finally(()=>{this.#r=void 0;})),await this.#r;}async#c(){this.#s.stop(),this.#n.endAll(),await this.#i.close();}#a(){return this.#i.connect({onClose:()=>this.#p(),onError:()=>this.#m(),onMessage:e=>this.#d(e),onOpen:e=>this.#l(e),prepare:()=>this.#t(),url:this.#e})}#l(e){this.#s.resetBackoff(),this.#y(e);}#d(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=UserEventSchema.safeParse(s);i.success&&this.#n.dispatch(i.data);}}#p(){this.#n.hasActiveSubscriptions()&&this.#b();}#m(){}#y(e){this.#i.send(Zt(this.#n.serverState(),e));}#b(){this.#s.schedule({reconnect:()=>this.#a(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var R=class{#e;#t;#r=new l({heartbeat:new M});#i=new u;#s=new d({deriveServerState:si});constructor(e){this.#e=e;}async subscribe(e){let{change:r,entry:s}=this.#s.add(e,{matches:ci(e)});return await this.#n(s,r),p(s.subscriber.queue,()=>this.#o(s))}async#n(e,r){try{if((await this.#c()).reusedOpenSocket){let{before:i,after:n}=r,o=ti(i,n);this.#y(o);}}catch(s){throw await this.#o(e),s}}async#o(e){let{before:r,after:s}=this.#s.remove(e),i=ri(r,s);this.#b(i),this.#s.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#u().finally(()=>{this.#t=void 0;})),await this.#t;}async#u(){this.#i.stop(),this.#s.endAll(),await this.#r.close();}#c(){return this.#r.connect({onClose:()=>this.#d(),onError:()=>this.#p(),onMessage:e=>this.#l(e),onOpen:()=>this.#a(),url:this.#e})}#a(){this.#i.resetBackoff(),this.#m();}#l(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#s.dispatch(r.data);}#d(){this.#s.hasActiveSubscriptions()&&this.#h();}#p(){}#m(){this.#y(Array.from(this.#s.serverState().values()));}#y(e){e.length!==0&&this.#r.send(ii(e));}#b(e){e.length!==0&&this.#r.send(ni(e));}#h(){this.#i.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#s.hasActiveSubscriptions()});}};function ti(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function ri(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function si(t){let e=new Map;for(let{subscription:r}of t)for(let s of oi(r))e.has(s.key)||e.set(s.key,s);return e}function ii(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function ni(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function oi(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>F("comments",e));case "prices.crypto.binance":return [F("crypto_prices","update")];case "prices.crypto.chainlink":return [F("crypto_prices_chainlink","update")];case "prices.equity.pyth":return [F("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function F(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function ci(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var C=class{#e;#t;#r=new l({heartbeat:new O});#i=new u;#s=new d;constructor(e){this.#e=e.url;}async subscribe(e){let{entry:r}=this.#s.add(e);return await this.#n(r),p(r.subscriber.queue,()=>this.#o(r))}async#n(e){try{await this.#c();}catch(r){throw await this.#o(e),r}}async#o(e){this.#s.remove(e),this.#s.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#u().finally(()=>{this.#t=void 0;})),await this.#t;}async#u(){this.#i.stop(),this.#s.endAll(),await this.#r.close();}#c(){return this.#r.connect({onClose:()=>this.#d(),onError:()=>this.#p(),onMessage:e=>this.#l(e),onOpen:()=>this.#a(),url:this.#e})}#a(){this.#i.resetBackoff();}#l(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#s.dispatch(r.data);}#d(){this.#s.hasActiveSubscriptions()&&this.#m();}#p(){}#m(){this.#i.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#s.hasActiveSubscriptions()});}};var B=class{#e;#t;get context(){return this.#e}get decorators(){return this.#t}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#t=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#t.push(e);}},mi=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),yi=z.object({wallet:EvmAddressSchema,credentials:mi.optional(),nonce:z.number().int().positive().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),D=class extends B{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new a({root:e.environment.data}),gamma:new a({root:e.environment.gamma}),clob:new a({root:e.environment.clob,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new a({root:e.environment.relayer,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new F$1({url:e.environment.rpc}),webSockets:{clobMarket:new b({url:e.environment.clobMarketWs}),sports:new C({url:e.environment.sportsWs}),rtds:new R(e.environment.rtdsWs)}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=E(e,yi);return Promise.resolve(async function*(){let i=Math.floor(Date.now()/1e3),n=s?.nonce??0,o=expectEvmAddress(yield J$1()),h=expectEvmAddress(s.wallet),S=G(this.environment,o,h);if(s.credentials!==void 0){let ae=this.#e(s.credentials,S,r);try{if((await v$1(ae)).includes(s.credentials.key))return ae}catch(w){if(!(w instanceof d$1)||w.status!==401)throw w}}let k=yield {kind:"signAuthMessage",payload:Ht({address:o,chainId:this.environment.chainId,nonce:n,timestamp:i})},q=await t(this,{address:o,nonce:n,signature:expectEvmSignature(k),timestamp:i});return this.#e(q,S,r)}.call(this))}#e(e,r,s){let i=new ce({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let n of this.decorators)i.extend(n);return i}},ce=class t extends B{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,signer:e.signer,clob:new a({root:e.environment.clob,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new a({root:e.environment.relayer,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new F$1({url:e.environment.rpc}),gamma:new a({root:e.environment.gamma}),data:new a({root:e.environment.data}),secureClob:new a({resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob}),webSockets:{clobMarket:new b({url:e.environment.clobMarketWs}),clobUser:new v({resolveCredentials:()=>this.credentials,url:e.environment.clobUserWs}),sports:new C({url:e.environment.sportsWs}),rtds:new R(e.environment.rtdsWs)}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return invariant(this.context.signer!==void 0,"Secure client does not have a signer. Create secure clients with createSecureClient to use wallet-interactive methods."),this.context.signer}async setupGaslessWallet(){let e=expectEvmAddress(await this.signer.getAddress());if(invariant(isSameEvmAddress(e,this.account.signer),"The current signer address does not match the authenticated signer for this client."),this.account.walletType!==WalletType.EOA)return this.#t(this.account.wallet,e);let r=await H(this.rpc,e,this.environment.walletDerivation);return await N(this,{wallet:r,type:WalletType.DEPOSIT_WALLET})?this.#t(r,e):(await(await Q$1(this)).wait(),this.#t(r,e))}#t(e,r){let s=new t({account:G(this.environment,r,e),apiKey:this.context.apiKey,credentials:this.credentials,environment:this.environment,signer:this.context.signer});for(let i of this.decorators)s.extend(i);return s}get secureClob(){return this.context.secureClob}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.clobUser.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),{apiKey:r,environment:s}=this.context;try{await x(this);}finally{this.endAuthenticationLifecycle(),await e;}let i=new D({apiKey:r,environment:s});for(let n of this.decorators)i.extend(n);return i}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await Nt(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw j.fromError(r,"Could not sign the L2-authenticated request")}}};function sr(t={}){return new D({environment:t.environment??_t,apiKey:t.apiKey}).extend(Kt)}var bi=k(h,e,d$1,j,c,b$1,a$1),hi=k(e,d$1,j,f,g,c,b$1,a$1);async function Si(t){let e=sr({environment:t.environment,apiKey:t.apiKey}),r=t.wallet??await t.signer.getAddress();return e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(I(t.signer))}
2
- export{bi as CreateSecureClientError,hi as SetupGaslessWalletError,Z as accountActions,Kt as allActions,X as analyticsActions,Nt as buildHmacSignature,sr as createPublicClient,Si as createSecureClient,Q as dataActions,ee as discoveryActions,_t as production,Ms as relayerApiKey,xs as remoteBuilderSigning,te as rewardsActions,re as subscriptionsActions,It as tradingActions,Ut as walletActions};//# sourceMappingURL=index.js.map
1
+ import {la,va,ta,ra,Pa,jd,hd,fd,dd,cd,$c,fc as fc$1,dc,bc,db,Na,nc,pc,Bc,Jb,Hb,Fb,Db,Bb,zb,xb,vb,tb,hb,fb,$b,Tb,Rb,Pb,Sd,ze,oe as oe$1,me,ge as ge$1,xe,ve,te,re,ke,ie as ie$1,lc,jc,hc,Zb,Xb,Vb,La,Ja,Ha,Fa,Da,Ba,_d,pe as pe$1,pa,na,zc,xc,vc,tc,Gc,Fc,Zc,Xc,Vc,Tc,Qd,Ld,Cd,De,Za,Va,bb,Z,ca,Y,fa,rc,Nb,Lb,V,U as U$1,_ as _$1,W as W$1,L,J,N,Td,Vd,Xd,X,Hc,Ic}from'./chunk-76B5WBIO.js';export{Ya as ApproveErc1155ForAllError,Ua as ApproveErc20Error,wc as CancelAllError,yc as CancelMarketOrdersError,sc as CancelOrderError,uc as CancelOrdersError,A as CombinatorialPrepareConditionCallError,kd as ComboPositionStatus,Wc as CreateLimitOrderError,Sc as CreateMarketOrderError,o as CtfRedeemPositionsCallError,id as DownloadAccountingSnapshotError,ua as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Ac as EstimateMarketPriceError,ka as FetchClosedOnlyModeError,Qb as FetchCommentsByIdError,Wb as FetchEventError,_b as FetchEventLiveVolumeError,Yb as FetchEventTagsError,Eb as FetchLastTradePriceError,Gb as FetchLastTradePricesError,ic as FetchMarketError,kc as FetchMarketTagsError,eb as FetchMidpointError,gb as FetchMidpointsError,sa as FetchNotificationsError,wb as FetchOrderBookError,yb as FetchOrderBooksError,oa as FetchOrderError,Aa as FetchOrderScoringError,Ca as FetchOrdersScoringError,ed as FetchPortfolioValueError,sb as FetchPriceError,Ib as FetchPriceHistoryError,ub as FetchPricesError,Rd as FetchPublicProfileError,we as FetchRelatedTagResourcesError,ue as FetchRelatedTagsError,Ka as FetchRewardPercentagesError,je as FetchSeriesError,ne as FetchSportsMarketTypesError,Ab as FetchSpreadError,Cb as FetchSpreadsError,se as FetchTagError,Ga as FetchTotalEarningsForUserForDayError,gd as FetchTradedMarketCountError,qa as ListAccountTradesError,Oa as ListActivityError,ac as ListBuilderLeaderboardError,cb as ListBuilderTradesError,cc as ListBuilderVolumeError,ad as ListClosedPositionsError,bd as ListComboPositionsError,Sb as ListCommentsByUserAddressError,Ob as ListCommentsError,Kb as ListCurrentRewardsError,Ub as ListEventsError,mc as ListMarketHoldersError,qc as ListMarketPositionsError,Mb as ListMarketRewardsError,gc as ListMarketsError,oc as ListOpenInterestError,ma as ListOpenOrdersError,_c as ListPositionsError,he as ListSeriesError,le as ListSportsError,qe as ListTagsError,ye as ListTeamsError,ec as ListTraderLeaderboardError,Ma as ListTradesError,Ia as ListUserEarningsAndMarketsConfigError,Ea as ListUserEarningsForDayError,a as MAX_UINT256,r as MergePositionsCallError,Gd as MergePositionsError,w as MergeV2CallError,Zd as OpenRfqSessionError,Yc as PlaceLimitOrderError,Uc as PlaceMarketOrderError,Dc as PostOrderError,Ec as PostOrdersError,Pd as RedeemPositionsError,y as RedeemV2CallError,Wd as RfqCancelQuoteError,Vd as RfqCancelQuoteRejectedError,$d as RfqConfirmationDecision,Yd as RfqConfirmationError,Xd as RfqConfirmationRejectedError,ae as RfqDirection,be as RfqErrorCode,ce as RfqExecutionStatus,Ud as RfqQuoteError,Td as RfqQuoteRejectedError,de as RfqRequestedSizeUnit,ee as RfqSide,fe as SearchError,ab as SetupTradingApprovalsError,p as SplitPositionCallError,xd as SplitPositionError,u as SplitV2CallError,Ce as TransferErc20Error,Qa as WaitForTransactionError,B as combinatorialPrepareConditionCall,t as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,C as encodeProxyCall,D as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,Ra as expectTransactionHandle,s as mergePositionsCall,x as mergeV2Call,z as redeemV2Call,q as splitPositionCall,v as splitV2Call}from'./chunk-76B5WBIO.js';import {a,k,h,e,d as d$1,j,f,g,c,b}from'./chunk-E2CLUN5M.js';export{h as CancelledSigningError,i as InsufficientLiquidityError,e as RateLimitError,d as RequestRejectedError,j as SigningError,f as TimeoutError,g as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,k as makeErrorGuard}from'./chunk-E2CLUN5M.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,ResultAsync,invariant,setNonBlockingInterval,setNonBlockingTimeout}from'@polymarket/types';import Os from'ky';import {RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqKnownInboundMessageSchema,RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/rfq';var vs=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function Ps(t){return new ne(t)}function Cs(t){return new se(t)}var ne=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#r(e)}catch(r){throw j.fromError(r,"Could not authorize the builder-authenticated request")}}async#t(){let e=this.#e.headers,r=typeof e=="function"?await e():e,n=new Headers(r);return n.set("content-type","application/json"),n}async#r(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#t(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return vs.parse(await r.json())}},se=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function er(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function Es(t){return {listPositions:$c.bind(null,t),listClosedPositions:cd.bind(null,t),listComboPositions:dd.bind(null,t),fetchPortfolioValue:fd.bind(null,t),fetchTradedMarketCount:hd.bind(null,t),downloadAccountingSnapshot:jd.bind(null,t),listMarketPositions:rc.bind(null,t),listActivity:Pa.bind(null,t)}}function y(t,e={}){return {...e,user:e.user??t.account.wallet}}function ie(t){let e=Es(t);return t.isPublicClient()?e:{...e,listPositions:r=>$c(t,y(t,r)),listClosedPositions:r=>cd(t,y(t,r)),listComboPositions:r=>dd(t,y(t,r)),fetchPortfolioValue:r=>fd(t,y(t,r)),fetchTradedMarketCount:r=>hd(t,y(t,r)),downloadAccountingSnapshot:r=>jd(t,y(t,r)),listActivity:r=>Pa(t,y(t,r)),listAccountTrades:ra.bind(null,t),fetchNotifications:ta.bind(null,t),dropNotifications:va.bind(null,t),fetchClosedOnlyMode:la.bind(null,t)}}function oe(t){return {listBuilderTrades:db.bind(null,t),listBuilderLeaderboard:bc.bind(null,t),fetchBuilderVolume:dc.bind(null,t),listTraderLeaderboard:fc$1.bind(null,t)}}function ce(t){return {fetchEventLiveVolume:$b.bind(null,t),fetchMidpoint:fb.bind(null,t),fetchMidpoints:hb.bind(null,t),fetchPrice:tb.bind(null,t),fetchPrices:vb.bind(null,t),fetchOrderBook:xb.bind(null,t),fetchOrderBooks:zb.bind(null,t),fetchSpread:Bb.bind(null,t),fetchSpreads:Db.bind(null,t),fetchLastTradePrice:Fb.bind(null,t),fetchLastTradePrices:Hb.bind(null,t),fetchPriceHistory:Jb.bind(null,t),estimateMarketPrice:Bc.bind(null,t),listOpenInterest:pc.bind(null,t),listMarketHolders:nc.bind(null,t),listTrades:Na.bind(null,t)}}function ae(t){return {listEvents:Vb.bind(null,t),fetchEvent:Xb.bind(null,t),fetchEventTags:Zb.bind(null,t),listMarkets:hc.bind(null,t),fetchMarket:jc.bind(null,t),fetchMarketTags:lc.bind(null,t),listSeries:ie$1.bind(null,t),fetchSeries:ke.bind(null,t),listTags:re.bind(null,t),fetchTag:te.bind(null,t),fetchRelatedTags:ve.bind(null,t),fetchRelatedTagResources:xe.bind(null,t),search:ge$1.bind(null,t),listSports:me.bind(null,t),fetchSportsMarketTypes:oe$1.bind(null,t),listTeams:ze.bind(null,t),fetchPublicProfile:Sd.bind(null,t),listComments:Pb.bind(null,t),fetchCommentsById:Rb.bind(null,t),listCommentsByUserAddress:Tb.bind(null,t)}}function Ts(t){return {listCurrentRewards:Lb.bind(null,t),listMarketRewards:Nb.bind(null,t)}}function ue(t){let e=Ts(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:Ba.bind(null,t),fetchOrdersScoring:Da.bind(null,t),listUserEarningsForDay:Fa.bind(null,t),fetchTotalEarningsForUserForDay:Ha.bind(null,t),listUserEarningsAndMarketsConfig:Ja.bind(null,t),fetchRewardPercentages:La.bind(null,t)}}function tr(t){return {openRfqSession(){return _d(t)}}}function de(t){return t.isSecureClient()?{subscribe(e){return pe$1(t,e)}}:{subscribe(e){return pe$1(t,e)}}}function rr(t){return {createMarketOrder:Tc.bind(null,t),placeMarketOrder:Vc.bind(null,t),createLimitOrder:Xc.bind(null,t),placeLimitOrder:Zc.bind(null,t),postOrder:Fc(t),postOrders:Gc(t),cancelOrder:tc.bind(null,t),cancelOrders:vc.bind(null,t),cancelAll:xc.bind(null,t),cancelMarketOrders:zc.bind(null,t),listOpenOrders:na.bind(null,t),fetchOrder:pa.bind(null,t)}}function nr(t){return {isGaslessReady:()=>Promise.resolve(true),setupTradingApprovals:bb.bind(null,t),approveErc20:Va.bind(null,t),approveErc1155ForAll:Za.bind(null,t),transferErc20:De.bind(null,t),splitPosition:Cd.bind(null,t),mergePositions:Ld.bind(null,t),redeemPositions:Qd.bind(null,t)}}function sr(t){return t.isSecureClient()?{...ie(t),...oe(t),...ce(t),...ae(t),...ue(t),...tr(t),...de(t),...rr(t),...nr(t)}:{...ie(t),...oe(t),...ce(t),...ae(t),...ue(t),...de(t)}}var le={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),exchangeV3:expectEvmAddress("0xe3333700cA9d93003F00f0F71f8515005F6c00Aa"),protocolV2Router:expectEvmAddress("0x12121212006e4CD160D18e3f00711DA5c3372600"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),clob:"https://clob.polymarket.com",clobMarketWs:"wss://ws-subscriptions-clob.polymarket.com/ws/market",clobUserWs:"wss://ws-subscriptions-clob.polymarket.com/ws/user",relayer:"https://relayer-v2.polymarket.com",gamma:"https://gamma-api.polymarket.com",data:"https://data-api.polymarket.com",rtdsWs:"wss://ws-live-data.polymarket.com",rfqQuoterWs:"wss://combos-rfq-gateway-quoter.polymarket.sh/ws/rfq",sportsWs:"wss://sports-api.polymarket.com/ws",relayerMaxPolls:100,relayerPollFrequencyMs:2e3},fc={...le,name:"preproduction",clob:"https://clob-preprod-int-v2.polymarket.com",data:"https://data-api-preprod-int.polymarket.com",gamma:"https://gamma-api-preprod-int.polymarket.com",relayer:"https://relayer-v2-preprod-int.polymarket.com"};async function ir(t,e,r,n,s){let i=`${e}${r}${n}`;s!==void 0&&(i+=s);let o=await globalThis.crypto.subtle.importKey("raw",ks(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),b=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return xs(ws(b))}function ks(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),n=new Uint8Array(r.length);for(let s=0;s<r.length;s+=1)n[s]=r.charCodeAt(s);return n.buffer}function ws(t){let e=new Uint8Array(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r)}function xs(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}var u=class{#e;#t;constructor({root:e,resolveHeaders:r}){this.#e=Os.create({prefixUrl:e,throwHttpErrors:false}),this.#t=r;}get(e,r={}){return this.#s("GET",e,r)}post(e,r={}){return this.#s("POST",e,r)}del(e,r={}){return this.#s("DELETE",e,r)}#r(e){return e.startsWith("/")?e.slice(1):e}#s(e,r,n){return this.#o(this.#n(e,r,n))}async#n(e,r,n){let s=this.#a(e,r,n),i=await this.#t?.(s),o=this.#c(s.headers,i);return s.body!==void 0&&!o.has("content-type")&&o.set("content-type","application/json"),this.#e(this.#r(r),{body:s.body,headers:o,method:e,searchParams:s.params})}#a(e,r,n){return {body:"json"in n?this.#d(n.json):void 0,headers:n.headers,json:"json"in n?n.json:void 0,method:e,params:"params"in n?n.params:void 0,path:r}}#d(e){if(e!==void 0)return JSON.stringify(e)}#c(...e){let r=new Headers;for(let n of e)if(n!==void 0)for(let[s,i]of new Headers(n).entries())r.set(s,i);return r}#o(e$1){return ResultAsync.fromPromise(e$1.then(async r=>{if(r.ok)return r;if(r.status===429)throw new e(`Request to ${r.url} was rate limited`);let n=await this.#i(r);throw new d$1(n,{status:r.status})}),r=>r instanceof e||r instanceof d$1?r:c.fromError(r))}async#i(e){let r=e.headers.get("content-type")?.toLowerCase();if(r?.includes("application/json")){let{error:s}=await e.clone().json().catch(()=>({}));if(s)return `${String(s)} (${e.url})`}if(r?.includes("text/plain")){let s=await e.clone().text().then(i=>i.trim(),()=>"");if(s)return `${s} (${e.url})`}return e.headers.get("server")?.toLowerCase()?.includes("cloudflare")?`Request to ${e.url} was blocked by Cloudflare with status ${e.status}`:r?.includes("text/html")||r?.includes("application/xhtml+xml")?`Request to ${e.url} failed with status ${e.status} and an unexpected HTML response body`:`Request to ${e.url} failed with status ${e.status} and unreadable response body`}};function m(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var Is=1e4,Ls=3e4,Fs=5e3,Bs=10*6e4,Ds=3e4,A=class{#e=0;#t;start(e){this.stop(),this.#e=Date.now(),this.#t=setNonBlockingInterval(()=>{e("PING");},Is);}handleMessage(e){return e!=="PONG"?false:(this.#e=Date.now(),true)}isStale(e){return e-this.#e>Ls}stop(){this.#t!==void 0&&(clearInterval(this.#t),this.#t=void 0);}},F=class{#e=0;#t;start(e){this.stop(),this.#e=Date.now(),this.#t=setNonBlockingInterval(()=>{e("PING");},Fs);}handleMessage(){return this.#e=Date.now(),false}isStale(e){return e-this.#e>Bs}stop(){this.#t!==void 0&&(clearInterval(this.#t),this.#t=void 0);}},B=class{#e=0;#t;start(e){this.#e=Date.now(),this.#t=e;}stop(){this.#t=void 0;}handleMessage(e){return e!=="ping"?false:(this.#e=Date.now(),this.#t?.("pong"),true)}isStale(e){return e-this.#e>Ds}};var _s=5e3,Us=250,Hs=3e4,l=class{#e;#t=0;schedule(e){if(this.#e!==void 0||!e.shouldReconnect())return;let r=js(this.#t,{baseMs:Us,maxMs:Hs});this.#t+=1,this.#e=setNonBlockingTimeout(()=>{this.#e=void 0,this.#r(e);},r);}stop(){this.#e!==void 0&&(clearTimeout(this.#e),this.#e=void 0);}resetBackoff(){this.#t=0,this.stop();}async#r(e){if(e.shouldReconnect())try{await e.reconnect();}catch{this.schedule(e);}}},d=class{#e;#t;#r;#s;constructor(e={}){this.#e=e.heartbeat;}connect(e){if(this.#t?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#c(),this.#r!==void 0)return this.#r;let n=this.#a(e).then(()=>({reusedOpenSocket:false})).catch(s=>{throw this.#r===n&&(this.#r=void 0),s});return this.#r=n,n}send(e){return this.#n(JSON.stringify(e))}#n(e){return this.#t?.readyState!==WebSocket.OPEN?false:(this.#t.send(e),true)}async close(){let e=await this.#u();this.#i(),!(e===void 0||e.readyState===WebSocket.CLOSED)&&await new Promise(r=>{e.addEventListener("close",()=>r(),{once:true}),e.readyState!==WebSocket.CLOSING&&e.close();});}async#a(e){let r=await e.prepare?.();return new Promise((n,s)=>{let i=Ks(e.url,e.headers),o=()=>{i.removeEventListener("error",b),this.#d(i),this.#o(),e.onOpen(r),n(i);},b=R=>{i.removeEventListener("open",o),s(new c(`WebSocket connection failed: ${e.url}`,{cause:R}));};i.addEventListener("open",o,{once:true}),i.addEventListener("error",b,{once:true}),i.addEventListener("message",R=>{if(this.#t!==i)return;let x=String(R.data);if(this.#e?.handleMessage(x))return;let M;try{M=JSON.parse(x);}catch{return}e.onMessage(M);}),i.addEventListener("close",()=>{this.#t===i&&(this.#c(),e.onClose());}),i.addEventListener("error",()=>e.onError());})}#d(e){this.#t=e,this.#r=void 0;}#c(){this.#i(),this.#t=void 0;}#o(){this.#i();let e=this.#e;e!==void 0&&(e.start(r=>this.#n(r)),this.#s=setNonBlockingInterval(()=>{if(!e.isStale(Date.now()))return;let r=this.#t;r?.readyState===WebSocket.OPEN&&r.close();},_s));}#i(){this.#s!==void 0&&(clearInterval(this.#s),this.#s=void 0),this.#e?.stop();}async#u(){let e=this.#t,r=this.#r;return this.#t=void 0,this.#r=void 0,e!==void 0?e:r?.then(()=>this.#t,()=>{})}};function Ks(t,e){if(e===void 0)return new WebSocket(t);try{let r=Reflect.construct(WebSocket,[t,{headers:e}]);if(r instanceof WebSocket)return r}catch(r){throw new c("WebSocket headers require a header-capable WebSocket implementation.",{cause:r})}throw new c("WebSocket headers require a header-capable WebSocket implementation.")}function js(t,e){let r=Math.min(e.baseMs*2**t,e.maxMs);return Math.random()*r}var p=class{#e=new Set;#t;constructor(e){this.#t=e?.deriveServerState??(()=>{});}add(e,r={}){let n={queue:pushable({objectMode:true})};r.matches!==void 0&&(n.matches=r.matches);let s={subscription:e,subscriber:n};return {change:this.#r(s),entry:s}}#r(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#t(this.#e)}};function pe(t,e,r){let n=D(r.assetsIds,e.assetsIds),s=D(e.assetsIds,r.assetsIds);n.length>0&&t(cr(n,r.customFeatureEnabled));let i=r.assetsIds[0];n.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(cr([i],r.customFeatureEnabled)),s.length>0&&t(Vs(s));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(ur(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(ar(r.markets));return}let n=D(r.markets,e.markets),s=D(e.markets,r.markets);n.length>0&&t(ar(n)),s.length>0&&t(ur(s));}function dr(t){let e=new Set,r=false;for(let{subscription:n}of t){for(let s of n.tokenIds)e.add(s);r||=n.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function lr(t){let e=false,r=new Set;for(let{subscription:n}of t){if(yr(n)){e=true;continue}for(let s of n.markets??[])r.add(s);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function pr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function cr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Vs(t){return {assets_ids:t,operation:"unsubscribe"}}function fr(t,e){return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},markets:t.markets,type:"user"}}function ar(t){return {markets:t,operation:"subscribe"}}function ur(t){return {markets:t,operation:"unsubscribe"}}function mr(t){return e=>{switch(e.type){case "price_change":return e.payload.priceChanges.some(r=>t.tokenIds.includes(r.tokenId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(e.payload.tokenIds??[]).some(r=>t.tokenIds.includes(r));case "best_bid_ask":return t.customFeatureEnabled===true&&t.tokenIds.includes(e.payload.tokenId);default:return t.tokenIds.includes(e.payload.tokenId)}}}function hr(t){if(yr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function yr(t){return (t.markets?.length??0)===0}function D(t,e){let r=new Set(e);return t.filter(n=>!r.has(n))}var S=class{#e;#t;#r=new d({heartbeat:new A});#s=new l;#n=new p({deriveServerState:dr});constructor(e){this.#e=e.url;}async subscribe(e){let{change:r,entry:n}=this.#n.add(e,{matches:mr(e)});return await this.#a(n,r),m(n.subscriber.queue,()=>this.#d(n))}async#a(e,r){let{before:n,after:s}=r;try{(await this.#o()).reusedOpenSocket&&pe(o=>this.#r.send(o),n,s);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:n}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}pe(s=>this.#r.send(s),r,n);}async close(){this.#t===void 0&&(this.#t=this.#c().finally(()=>{this.#t=void 0;})),await this.#t;}async#c(){this.#s.stop(),this.#n.endAll(),await this.#r.close();}#o(){return this.#r.connect({onClose:()=>this.#l(),onError:()=>this.#p(),onMessage:e=>this.#u(e),onOpen:()=>this.#i(),url:this.#e})}#i(){this.#s.resetBackoff(),this.#f();}#u(e){let r=Array.isArray(e)?e:[e];for(let n of r){let s=MarketEventSchema.safeParse(n);s.success&&this.#n.dispatch(s.data);}}#l(){this.#n.hasActiveSubscriptions()&&this.#m();}#p(){}#f(){this.#r.send(pr(this.#n.serverState()));}#m(){this.#s.schedule({reconnect:()=>this.#o(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var q=class{#e;#t;#r;#s=new d({heartbeat:new A});#n=new l;#a=new p({deriveServerState:lr});constructor(e){this.#e=e.url,this.#t=e.credentials;}async subscribe(e){let{change:r,entry:n}=this.#a.add(e,{matches:hr(e)});return await this.#d(n,r),m(n.subscriber.queue,()=>this.#c(n))}async#d(e,r){let{before:n,after:s}=r;try{(await this.#i()).reusedOpenSocket&&fe(o=>this.#s.send(o),n,s);}catch(i){throw await this.#c(e),i}}async#c(e){let{before:r,after:n}=this.#a.remove(e);if(!this.#a.hasActiveSubscriptions()){await this.close();return}fe(s=>this.#s.send(s),r,n);}async close(){this.#r===void 0&&(this.#r=this.#o().finally(()=>{this.#r=void 0;})),await this.#r;}async#o(){this.#n.stop(),this.#a.endAll(),await this.#s.close();}#i(){return this.#s.connect({onClose:()=>this.#p(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:e=>this.#u(e),prepare:()=>this.#t,url:this.#e})}#u(e){this.#n.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let n of r){let s=UserEventSchema.safeParse(n);s.success&&this.#a.dispatch(s.data);}}#p(){this.#a.hasActiveSubscriptions()&&this.#h();}#f(){}#m(e){this.#s.send(fr(this.#a.serverState(),e));}#h(){this.#n.schedule({reconnect:()=>this.#i(),shouldReconnect:()=>this.#a.hasActiveSubscriptions()});}};function br(t,e){return {...e,quote:r=>t.quote(e,r)}}function Rr(t,e){let r=e.rfqId,n=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,n,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,n,RfqConfirmationDecision.Decline)}}function gr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Ar(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function qr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function vr(t,e){let r=X(t);return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},identity:{maker_address:r.maker,signature_type:r.signatureType,signer_address:r.signer},type:"auth"}}function Pr(t,e){return {price_e6:e.price.toString(),rfq_id:t.rfqId,signed_order:e.signedOrder,size_e6:e.size.toString(),type:"RFQ_QUOTE"}}function Cr(t,e,r){let n=X(t);return {maker_address:n.maker,quote_id:r,rfq_id:e,signer_address:n.signer,type:"RFQ_QUOTE_CANCEL"}}function Er(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var W=class{#e=new Map;#t;constructor(e){this.#t=e;}waitFor(e,r){let n=Ys(),s,i=setNonBlockingTimeout(()=>{this.remove(e,s),n.reject(new f(r));},this.#t);s=n.promise.finally(()=>clearTimeout(i));let o=this.#e.get(e)??[];return o.push({...n,promise:s}),this.#e.set(e,o),s}resolve(e,r){let n=this.#e.get(e),s=n?.shift();s!==void 0&&(n!==void 0&&n.length===0&&this.#e.delete(e),s.resolve(r));}reject(e,r){let n=this.#e.get(e),s=n?.shift();s!==void 0&&(n!==void 0&&n.length===0&&this.#e.delete(e),s.reject(r));}remove(e,r){let n=this.#e.get(e);if(n===void 0)return;let s=n.filter(i=>i.promise!==r);s.length===0?this.#e.delete(e):this.#e.set(e,s);}rejectAll(e){for(let r of this.#e.values())for(let n of r)n.reject(e);this.#e.clear();}};function Ys(){let t,e;return {promise:new Promise((n,s)=>{t=n,e=s;}),reject:e,resolve:t}}var kr="0x0000000000000000000000000000000000000000000000000000000000000000";async function xr(t){let e=X(t.account),r={builder:kr,maker:e.maker,makerAmount:toBaseUnits(Js(t.orderSide,t.orderPrice,t.size)),metadata:kr,salt:ei().toString(),side:Xs(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(Zs(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},n;try{n=await t.signer.signTypedData(Hc({domain:wr(t),order:r}));}catch(s){throw j.fromError(s,"Could not sign the RFQ quote order.")}return {...r,signature:Ic({domain:wr(t),order:r,signature:n})}}function wr(t){return {chainId:t.chainId,exchange:t.exchange,protocolVersion:"3"}}function Js(t,e,r){return t===OrderSide.SELL?r.toString():((e*r+999999n)/1000000n).toString()}function Zs(t,e,r){return t===OrderSide.SELL?(e*r/1000000n).toString():r.toString()}function Xs(t){return t===OrderSide.BUY?0:1}function ei(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var Ir=DecimalishSchema.transform(t=>Br(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),ni=z.strictObject({price:Ir.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:Ir.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function Lr(t){return U$1(t,ni)}async function Fr(t){let e=t.response.price,r=t.response.size===void 0?ci(t.request.requestedSize,e):t.response.size,n=await xr({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:ii(t.request,t.response.source,e),orderSide:oi(t.response.source),signer:t.signer,size:r,tokenId:si(t.request,t.response.source)});return {price:e,signedOrder:n,size:r}}function si(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function ii(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function oi(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function ci(t,e){let r=Br(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function Br(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",n=""]=e;if(n.length>6)throw new a("Value must have at most 6 decimal places.");let s=BigInt(r)*1000000n+BigInt(n.padEnd(6,"0"));if(s<=0n)throw new a("Value must be greater than 0.");return s}var pi=3e4,fi=3e4,v=class{#e;#t;#r;#s;#n;#a;#d;#c;#o;#i;constructor(e){this.#e=e.account,this.#t=e.chainId,this.#r=e.credentials,this.#s=e.exchange,this.#n=e.headers,this.#a=e.signer,this.#d=e.url;}async connect(){if(this.#c!==void 0){if(!this.#c.closed)return this.#c;this.#c=void 0;}if(this.#i!==void 0)return this.#i;let e=new be({account:this.#e,chainId:this.#t,credentials:this.#r,exchange:this.#s,headers:this.#n,onClose:()=>this.#u(e),signer:this.#a,url:this.#d});this.#o=e;let r;return r=(async()=>{try{return await e.connect(),this.#c=e,e}catch(n){throw await e.close(),n}finally{this.#i===r&&(this.#i=void 0),this.#o===e&&(this.#o=void 0);}})(),this.#i=r,r}async close(){let e=this.#c,r=this.#o,n=this.#i;this.#c=void 0,this.#o=void 0,this.#i=void 0,await Promise.allSettled([e?.close(),r?.close(),n?.catch(()=>{})]).then(()=>{});}#u(e){this.#c===e&&(this.#c=void 0),this.#o===e&&(this.#o=void 0);}},be=class{#e;#t;#r;#s;#n;#a;#d;#c;#o=new d;#i=pushable({objectMode:true});#u=new W(fi);#l;#p;constructor(e){this.#e=e.account,this.#t=e.chainId,this.#r=e.credentials,this.#s=e.exchange,this.#n=e.headers,this.#a=e.onClose,this.#d=e.signer,this.#c=e.url;}get closed(){return this.#l!==void 0}async connect(){let e=mi();this.#p=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},pi);try{await this.#o.connect({headers:this.#n,onClose:()=>this.#A(),onError:()=>{},onMessage:n=>this.#R(n),onOpen:()=>this.#b(),url:this.#c}),await e.promise;}finally{clearTimeout(r),this.#p=void 0;}}async#f(e){if(!this.#o.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#l===void 0&&(this.#l=this.#m()),await this.#l;}[Symbol.asyncIterator](){return this.#i[Symbol.asyncIterator]()}async#m(){let e=new c("RFQ quoter websocket closed.");await this.#y(e);}async#h(e){this.#l===void 0&&(this.#l=this.#y(e)),await this.#l;}async#y(e){this.#S(e),this.#i.end(),await this.#o.close(),this.#a();}#S(e){this.#p?.reject(e),this.#u.rejectAll(e);}#b(){this.#o.send(vr(this.#e,this.#r));}#R(e){if(this.#l!==void 0||!RfqKnownInboundMessageSchema.safeParse(e).success)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success){let s=new c("Invalid RFQ quoter message.",{cause:r.error});this.#h(s);return}let n=r.data;switch(n.type){case "auth":this.#g(n);return;case "quote_request":this.#i.push(br(this,n));return;case "quote_ack":this.#u.resolve(Q(n.rfqId),gr(n));return;case "quote_cancel_ack":this.#u.resolve(ye(n.rfqId,n.quoteId),Ar(n));return;case "confirmation_request":this.#i.push(Rr(this,n));return;case "confirmation_ack":this.#u.resolve(Se(n.rfqId,n.quoteId),qr(n));return;case "execution_update":this.#i.push(n);return;case "rfq_error":this.#q(n);return}}#g(e){if(e.success===true){this.#p?.resolve(void 0);return}this.#p?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#A(){this.#a(),this.close();}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#h(new c("Uncorrelated RFQ quoter error."));return}this.#u.reject(Q(e.rfqId),new Td(e.message,{code:e.code,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#h(new c("Uncorrelated RFQ quoter error."));return}this.#u.reject(ye(e.rfqId,e.quoteId),new Vd(e.message,{code:e.code,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#h(new c("Uncorrelated RFQ quoter error."));return}this.#u.reject(Se(e.rfqId,e.quoteId),new Xd(e.message,{code:e.code,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let n=Lr(r),s=await Fr({account:this.#e,chainId:this.#t,exchange:this.#s,request:e,response:n,signer:this.#d}),i=this.#u.waitFor(Q(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#f(Pr(e,s)),await i}catch(o){throw this.#u.remove(Q(e.rfqId),i),o}}async cancelQuote(e){let r=ye(e.rfqId,e.quoteId),n=this.#u.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#f(Cr(this.#e,e.rfqId,e.quoteId)),await n}catch(s){throw this.#u.remove(r,n),s}}async respondToConfirmation(e,r,n){let s=Se(e,r),i=this.#u.waitFor(s,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#f(Er(e,r,n)),await i}catch(o){throw this.#u.remove(s,i),o}}};function Q(t){return `ACK_RFQ_QUOTE:${t}`}function ye(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Se(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function mi(){let t,e;return {promise:new Promise((n,s)=>{t=n,e=s;}),reject:e,resolve:t}}var P=class{#e;#t;#r=new d({heartbeat:new F});#s=new l;#n=new p({deriveServerState:bi});constructor(e){this.#e=e;}async subscribe(e){let{change:r,entry:n}=this.#n.add(e,{matches:qi(e)});return await this.#a(n,r),m(n.subscriber.queue,()=>this.#d(n))}async#a(e,r){try{if((await this.#o()).reusedOpenSocket){let{before:s,after:i}=r,o=yi(s,i);this.#m(o);}}catch(n){throw await this.#d(e),n}}async#d(e){let{before:r,after:n}=this.#n.remove(e),s=Si(r,n);this.#h(s),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#c().finally(()=>{this.#t=void 0;})),await this.#t;}async#c(){this.#s.stop(),this.#n.endAll(),await this.#r.close();}#o(){return this.#r.connect({onClose:()=>this.#l(),onError:()=>this.#p(),onMessage:e=>this.#u(e),onOpen:()=>this.#i(),url:this.#e})}#i(){this.#s.resetBackoff(),this.#f();}#u(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#l(){this.#n.hasActiveSubscriptions()&&this.#y();}#p(){}#f(){this.#m(Array.from(this.#n.serverState().values()));}#m(e){e.length!==0&&this.#r.send(Ri(e));}#h(e){e.length!==0&&this.#r.send(gi(e));}#y(){this.#s.schedule({reconnect:()=>this.#o(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function yi(t,e){return Array.from(e).flatMap(([r,n])=>t.has(r)?[]:[n])}function Si(t,e){return Array.from(t).flatMap(([r,n])=>e.has(r)?[]:[n])}function bi(t){let e=new Map;for(let{subscription:r}of t)for(let n of Ai(r))e.has(n.key)||e.set(n.key,n);return e}function Ri(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function gi(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ai(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>_("comments",e));case "prices.crypto.binance":return [_("crypto_prices","update")];case "prices.crypto.chainlink":return [_("crypto_prices_chainlink","update")];case "prices.equity.pyth":return [_("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function _(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function qi(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var C=class{#e;#t;#r=new d({heartbeat:new B});#s=new l;#n=new p;constructor(e){this.#e=e.url;}async subscribe(e){let{entry:r}=this.#n.add(e);return await this.#a(r),m(r.subscriber.queue,()=>this.#d(r))}async#a(e){try{await this.#o();}catch(r){throw await this.#d(e),r}}async#d(e){this.#n.remove(e),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#c().finally(()=>{this.#t=void 0;})),await this.#t;}async#c(){this.#s.stop(),this.#n.endAll(),await this.#r.close();}#o(){return this.#r.connect({onClose:()=>this.#l(),onError:()=>this.#p(),onMessage:e=>this.#u(e),onOpen:()=>this.#i(),url:this.#e})}#i(){this.#s.resetBackoff();}#u(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#l(){this.#n.hasActiveSubscriptions()&&this.#f();}#p(){}#f(){this.#s.schedule({reconnect:()=>this.#o(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var U=class{#e;#t;get context(){return this.#e}get decorators(){return this.#t}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#t=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#t.push(e);}},wi=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),xi=z.object({wallet:EvmAddressSchema,credentials:wi.optional(),nonce:z.number().int().nonnegative().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),H=class extends U{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new u({root:e.environment.data}),gamma:new u({root:e.environment.gamma}),clob:new u({root:e.environment.clob,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new u({root:e.environment.relayer,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new V({url:e.environment.rpc}),webSockets:{clobMarket:new S({url:e.environment.clobMarketWs}),sports:new C({url:e.environment.sportsWs}),rtds:new P(e.environment.rtdsWs)}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let n=U$1(e,xi);return Promise.resolve(async function*(){let s=Math.floor(Date.now()/1e3),i=n?.nonce??0,o=expectEvmAddress(yield _$1()),b=expectEvmAddress(n.wallet),R=W$1(this.environment,o,b);if(n.credentials!==void 0){let Ae=this.#e(n.credentials,R,r);try{if((await L(Ae)).includes(n.credentials.key))return Ae}catch(O){if(!(O instanceof d$1)||O.status!==401)throw O}}let x=yield {kind:"signAuthMessage",payload:er({address:o,chainId:this.environment.chainId,nonce:i,timestamp:s})},M=await J(this,{address:o,nonce:i,signature:expectEvmSignature(x),timestamp:s});return this.#e(M,R,r)}.call(this))}#e(e,r,n){let s=new ge({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:n});for(let i of this.decorators)s.extend(i);return s}},ge=class extends U{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,signer:e.signer,clob:new u({root:e.environment.clob,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new u({root:e.environment.relayer,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new V({url:e.environment.rpc}),gamma:new u({root:e.environment.gamma}),data:new u({root:e.environment.data}),secureClob:new u({resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#t(r)}),root:e.environment.clob}),webSockets:{clobMarket:new S({url:e.environment.clobMarketWs}),clobUser:new q({credentials:e.credentials,url:e.environment.clobUserWs}),rfqQuoter:new v({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.exchangeV3,headers:e.environment.rfqQuoterWsHeaders,signer:e.signer,url:e.environment.rfqQuoterWs}),sports:new C({url:e.environment.sportsWs}),rtds:new P(e.environment.rtdsWs)}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return this.context.signer}setupGaslessWallet(){return Promise.resolve(this)}get secureClob(){return this.context.secureClob}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.clobUser.close(),this.webSockets.rfqQuoter.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),{apiKey:r,environment:n}=this.context;try{await N(this);}finally{this.endAuthenticationLifecycle(),await e;}let s=new H({apiKey:r,environment:n});for(let i of this.decorators)s.extend(i);return s}async#t(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await ir(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw j.fromError(r,"Could not sign the L2-authenticated request")}}};function Qr(t={}){return new H({environment:t.environment??le,apiKey:t.apiKey}).extend(sr)}var Mi=k(h,e,d$1,j,f,g,c,b,a),Oi=k(a);async function Ii(t){let e=Qr({environment:t.environment,apiKey:t.apiKey}),r=await Li(e,t),n=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(Z(t.signer));if(n.account.walletType===WalletType.EOA||await ca(n,{wallet:n.account.wallet,type:n.account.walletType}))return n;if(n.account.walletType===WalletType.DEPOSIT_WALLET)return await Fi(n),n;throw new a(`Wallet ${n.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function Li(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress());return Y(t.rpc,r,t.environment.walletDerivation)}async function Fi(t){let e=await Y(t.rpc,t.account.signer,t.environment.walletDerivation);if(!isSameEvmAddress(t.account.wallet,e))throw new a(`Wallet ${t.account.wallet} does not match the expected Deposit Wallet ${e} for this signer, nor a deployed wallet address.`);await(await fa(t)).wait();}
2
+ export{Mi as CreateSecureClientError,Oi as SetupGaslessWalletError,ie as accountActions,sr as allActions,oe as analyticsActions,ir as buildHmacSignature,Qr as createPublicClient,Ii as createSecureClient,ce as dataActions,ae as discoveryActions,fc as preproduction,le as production,Cs as relayerApiKey,Ps as remoteBuilderSigning,ue as rewardsActions,tr as rfqActions,de as subscriptionsActions,rr as tradingActions,nr as walletActions};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map