@polymarket/client 0.1.0-beta.13 → 0.1.0-beta.14

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-CGoPQTmJ.js';
2
+ import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-B0vr72h4.js';
3
3
  import '@polymarket/bindings';
4
4
  import '@polymarket/types';
5
5
  import '@polymarket/bindings/gamma';
package/dist/index.d.ts CHANGED
@@ -4,16 +4,16 @@ export { OrderSide, OrderType } from '@polymarket/bindings';
4
4
  export * from '@polymarket/bindings/clob';
5
5
  export { PriceHistoryInterval, SignatureType } from '@polymarket/bindings/clob';
6
6
  export * from '@polymarket/bindings/data';
7
- export { ActivityType, ComboPositionStatus } from '@polymarket/bindings/data';
7
+ export { ActivityType, ComboActivityType, ComboPositionOutcome, 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/perps';
11
11
  export { PerpsCancelOrderResult, PerpsDepositStatus, PerpsInstrumentCategory, PerpsInstrumentType, PerpsInternalTransferDirection, PerpsKlineInterval, PerpsOrderStatus, PerpsPostOrderAck, PerpsSide, PerpsTimeInForce, PerpsUpdateLeverageResult, PerpsWithdrawalStatus } from '@polymarket/bindings/perps';
12
12
  export * from '@polymarket/bindings/relayer';
13
13
  import { EvmAddress } from '@polymarket/types';
14
- import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-CGoPQTmJ.js';
15
- 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 CancelAllPerpsOrdersRequest, k as CancelMarketOrdersError, l as CancelOrderError, m as CancelOrdersError, n as CancelPerpsOrderRequest, o as CancelPerpsOrdersRequest, p as CancelledSigningError, q as Client, r as ClientActions, s as ClientDecorator, t as ClobEndpoints, u as CreatePerpsSessionRequest, v as CreateSecureClientError, D as DataActions, w as DepositToPerpsError, x as DepositToPerpsRequest, y as DiscoveryActions, z as DownloadAccountingSnapshotError, E as DropNotificationsError, F as EnvironmentConfig, G as EnvironmentConfigFork, H as EnvironmentContracts, I as EstimateMarketPriceError, J as FetchClosedOnlyModeError, K as FetchCommentsByIdError, L as FetchEventError, M as FetchEventLiveVolumeError, N as FetchEventTagsError, O as FetchLastTradePriceError, P as FetchLastTradePricesError, Q as FetchMarketError, R as FetchMarketTagsError, V as FetchMidpointError, W as FetchMidpointsError, X as FetchNotificationsError, Y as FetchOrderBookError, Z as FetchOrderBooksError, _ as FetchOrderError, $ as FetchOrderScoringError, a0 as FetchOrdersScoringError, a1 as FetchPerpsAccountConfigRequest, a2 as FetchPerpsBookError, a3 as FetchPerpsBookRequest, a4 as FetchPerpsFeesError, a5 as FetchPerpsInstrumentsError, a6 as FetchPerpsInstrumentsRequest, a7 as FetchPerpsOpenOrdersRequest, a8 as FetchPerpsOrdersRequest, a9 as FetchPerpsTickerError, aa as FetchPerpsTickerRequest, ab as FetchPerpsTickersError, ac as FetchPerpsTickersRequest, ad as FetchPortfolioValueError, ae as FetchPriceError, af as FetchPriceHistoryError, ag as FetchPricesError, ah as FetchPublicProfileError, ai as FetchRelatedTagResourcesError, aj as FetchRelatedTagsError, ak as FetchRewardPercentagesError, al as FetchSeriesError, am as FetchSpreadError, an as FetchSpreadsError, ao as FetchTagError, ap as FetchTotalEarningsForUserForDayError, aq as FetchTradedMarketCountError, ar as InsufficientLiquidityError, as as ListAccountTradesError, at as ListActivityError, au as ListBuilderLeaderboardError, av as ListBuilderTradesError, aw as ListBuilderVolumeError, ax as ListClosedPositionsError, ay as ListComboMarketsError, az as ListComboPositionsError, aA as ListCommentsByUserAddressError, aB as ListCommentsError, aC as ListCurrentRewardsError, aD as ListEventsError, aE as ListMarketHoldersError, aF as ListMarketPositionsError, aG as ListMarketRewardsError, aH as ListMarketsError, aI as ListOpenInterestError, aJ as ListOpenOrdersError, aK as ListPerpsCandlesError, aL as ListPerpsCandlesRequest, aM as ListPerpsDepositsRequest, aN as ListPerpsEquityHistoryRequest, aO as ListPerpsFillsRequest, aP as ListPerpsFundingHistoryError, aQ as ListPerpsFundingHistoryRequest, aR as ListPerpsFundingPaymentsRequest, aS as ListPerpsPnlHistoryRequest, aT as ListPerpsTradesError, aU as ListPerpsTradesRequest, aV as ListPerpsWithdrawalsRequest, aW as ListPositionsError, aX as ListSeriesError, aY as ListTagsError, aZ as ListTeamsError, a_ as ListTraderLeaderboardError, a$ as ListTradesError, b0 as ListUserEarningsAndMarketsConfigError, b1 as ListUserEarningsForDayError, b2 as MergePositionsError, b3 as OpenPerpsSessionError, b4 as OpenPerpsSessionRequest, b5 as OpenRfqSessionError, b6 as Page, b7 as PageSizeSchema, b8 as Paginated, b9 as PerpsActions, ba as PerpsBookDepth, bb as PerpsEndpoints, bc as PerpsOrderRequest, bd as PerpsPlaceFokOrderRequest, be as PerpsPlaceGtcOrderRequest, bf as PerpsPlaceIocOrderRequest, bg as PerpsPlacedTpSlOrder, bh as PerpsPlacedTpSlOrders, bi as PerpsPositionTpSlTrigger, bj as PerpsSession, bk as PerpsSessionAccountError, bl as PerpsSessionLifecycleError, bm as PerpsSessionTradingError, bn as PerpsTpSlTrigger, bo as PlacePerpsOrderRequest, bp as PlacePerpsOrderResult, bq as PlacePerpsOrderWithTpSlRequest, br as PlacePerpsOrderWithTpSlResult, bs as PlacePerpsPositionTpSlRequest, bt as PlacePerpsPositionTpSlResult, bu as PostOrderError, bv as PostOrdersError, bw as PostPerpsOrdersRequest, bx as PublicAccountActions, by as PublicActions, bz as PublicClient, bA as PublicClientOptions, bB as PublicPerpsActions, bC as PublicRewardsActions, bD as PublicSubscriptionsActions, bE as RateLimitError, bF as RedeemPositionsError, bG as RequestRejectedError, bH as RequestRejectedErrorOptions, bI as RestEndpoint, bJ as ResumePerpsSessionRequest, bK as RevokePerpsCredentialsError, bL as RevokePerpsCredentialsRequest, bM as RfqCancelQuoteAck, bN as RfqCancelQuoteError, bO as RfqCancelQuoteRejectedError, bP as RfqCancelQuoteRejectedErrorOptions, bQ as RfqConfirmationAck, bR as RfqConfirmationError, bS as RfqConfirmationRejectedError, bT as RfqConfirmationRequestEvent, bU as RfqEndpoints, bV as RfqEvent, bW as RfqQuoteError, bX as RfqQuoteReference, bY as RfqQuoteRejectedError, bZ as RfqQuoteRejectedErrorOptions, b_ as RfqQuoteRequestEvent, b$ as RfqQuoteResponse, c0 as RfqQuoteSource, c1 as RfqSession, c2 as RfqTradeEvent, c3 as SearchError, c4 as SearchSort, c5 as SecureAccountActions, c6 as SecureActions, c7 as SecureClient, c8 as SecureClientOptions, c9 as SecureDownloadAccountingSnapshotRequest, ca as SecureFetchPortfolioValueRequest, cb as SecureFetchTradedMarketCountRequest, cc as SecureListActivityRequest, cd as SecureListClosedPositionsRequest, ce as SecureListComboPositionsRequest, cf as SecureListPositionsRequest, cg as SecurePerpsActions, ch as SecureRewardsActions, ci as SecureRfqActions, cj as SecureSubscriptionsActions, ck as SecureTradingActions, cl as SecureWalletActions, cm as SetupGaslessWalletError, cn as SetupTradingApprovalsError, S as Signer, co as SignerTransactionRequest, cp as SigningError, cq as SplitPositionError, cr as TimeoutError, cs as TransactionFailedError, ct as TransactionHandle, cu as TransactionOutcome, cv as TransferErc20Error, cw as TransportError, a as TypedData, cx as TypedDataDomain, cy as TypedDataField, T as TypedDataPayload, cz as UnexpectedResponseError, cA as UpdatePerpsLeverageError, cB as UpdatePerpsLeverageRequest, cC as WaitForTransactionError, cD as WalletDerivationConfig, cE as WebSocketEndpoint, cF as WithdrawFromPerpsError, cG as WithdrawFromPerpsRequest, cH as accountActions, cI as allActions, cJ as analyticsActions, cK as createPublicClient, cL as createSecureClient, cM as dataActions, cN as discoveryActions, cO as forkEnvironmentConfig, cP as makeErrorGuard, cQ as perpsActions, cR as production, cS as rewardsActions, cT as rfqActions, cU as subscriptionsActions, cV as tradingActions, cW as walletActions } from './types-CGoPQTmJ.js';
16
- export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-CI13Qzv8.js';
14
+ import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-B0vr72h4.js';
15
+ 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 CancelAllPerpsOrdersRequest, k as CancelMarketOrdersError, l as CancelOrderError, m as CancelOrdersError, n as CancelPerpsOrderRequest, o as CancelPerpsOrdersRequest, p as CancelledSigningError, q as Client, r as ClientActions, s as ClientDecorator, t as ClobEndpoints, u as ComboPositionSort, v as CreatePerpsSessionRequest, w as CreateSecureClientError, D as DataActions, x as DepositToPerpsError, y as DepositToPerpsRequest, z as DiscoveryActions, E as DownloadAccountingSnapshotError, F as DropNotificationsError, G as EnvironmentConfig, H as EnvironmentConfigFork, I as EnvironmentContracts, J as EstimateMarketPriceError, K as FetchClosedOnlyModeError, L as FetchCommentsByIdError, M as FetchEventError, N as FetchEventLiveVolumeError, O as FetchEventTagsError, P as FetchLastTradePriceError, Q as FetchLastTradePricesError, R as FetchMarketError, V as FetchMarketTagsError, W as FetchMidpointError, X as FetchMidpointsError, Y as FetchNotificationsError, Z as FetchOrderBookError, _ as FetchOrderBooksError, $ as FetchOrderError, a0 as FetchOrderScoringError, a1 as FetchOrdersScoringError, a2 as FetchPerpsAccountConfigRequest, a3 as FetchPerpsBookError, a4 as FetchPerpsBookRequest, a5 as FetchPerpsFeesError, a6 as FetchPerpsInstrumentsError, a7 as FetchPerpsInstrumentsRequest, a8 as FetchPerpsOpenOrdersRequest, a9 as FetchPerpsOrdersRequest, aa as FetchPerpsTickerError, ab as FetchPerpsTickerRequest, ac as FetchPerpsTickersError, ad as FetchPerpsTickersRequest, ae as FetchPortfolioValueError, af as FetchPriceError, ag as FetchPriceHistoryError, ah as FetchPricesError, ai as FetchPublicProfileError, aj as FetchRelatedTagResourcesError, ak as FetchRelatedTagsError, al as FetchRewardPercentagesError, am as FetchSeriesError, an as FetchSpreadError, ao as FetchSpreadsError, ap as FetchTagError, aq as FetchTotalEarningsForUserForDayError, ar as FetchTradedMarketCountError, as as InsufficientLiquidityError, at as ListAccountTradesError, au as ListActivityError, av as ListBuilderLeaderboardError, aw as ListBuilderTradesError, ax as ListBuilderVolumeError, ay as ListClosedPositionsError, az as ListComboActivityError, aA as ListComboMarketsError, aB as ListComboPositionsError, aC as ListCommentsByUserAddressError, aD as ListCommentsError, aE as ListCurrentRewardsError, aF as ListEventsError, aG as ListMarketHoldersError, aH as ListMarketPositionsError, aI as ListMarketRewardsError, aJ as ListMarketsError, aK as ListOpenInterestError, aL as ListOpenOrdersError, aM as ListPerpsCandlesError, aN as ListPerpsCandlesRequest, aO as ListPerpsDepositsRequest, aP as ListPerpsEquityHistoryRequest, aQ as ListPerpsFillsRequest, aR as ListPerpsFundingHistoryError, aS as ListPerpsFundingHistoryRequest, aT as ListPerpsFundingPaymentsRequest, aU as ListPerpsPnlHistoryRequest, aV as ListPerpsTradesError, aW as ListPerpsTradesRequest, aX as ListPerpsWithdrawalsRequest, aY as ListPositionsError, aZ as ListSeriesError, a_ as ListTagsError, a$ as ListTeamsError, b0 as ListTraderLeaderboardError, b1 as ListTradesError, b2 as ListUserEarningsAndMarketsConfigError, b3 as ListUserEarningsForDayError, b4 as MergePositionsError, b5 as OpenPerpsSessionError, b6 as OpenPerpsSessionRequest, b7 as OpenRfqSessionError, b8 as Page, b9 as PageSizeSchema, ba as Paginated, bb as PerpsActions, bc as PerpsBookDepth, bd as PerpsEndpoints, be as PerpsOrderRequest, bf as PerpsPlaceFokOrderRequest, bg as PerpsPlaceGtcOrderRequest, bh as PerpsPlaceIocOrderRequest, bi as PerpsPlacedTpSlOrder, bj as PerpsPlacedTpSlOrders, bk as PerpsPositionTpSlTrigger, bl as PerpsSession, bm as PerpsSessionAccountError, bn as PerpsSessionLifecycleError, bo as PerpsSessionTradingError, bp as PerpsTpSlTrigger, bq as PlacePerpsOrderRequest, br as PlacePerpsOrderResult, bs as PlacePerpsOrderWithTpSlRequest, bt as PlacePerpsOrderWithTpSlResult, bu as PlacePerpsPositionTpSlRequest, bv as PlacePerpsPositionTpSlResult, bw as PostOrderError, bx as PostOrdersError, by as PostPerpsOrdersRequest, bz as PublicAccountActions, bA as PublicActions, bB as PublicClient, bC as PublicClientOptions, bD as PublicPerpsActions, bE as PublicRewardsActions, bF as PublicSubscriptionsActions, bG as RateLimitError, bH as RedeemPositionsError, bI as RequestRejectedError, bJ as RequestRejectedErrorOptions, bK as RestEndpoint, bL as ResumePerpsSessionRequest, bM as RevokePerpsCredentialsError, bN as RevokePerpsCredentialsRequest, bO as RfqCancelQuoteAck, bP as RfqCancelQuoteError, bQ as RfqCancelQuoteRejectedError, bR as RfqCancelQuoteRejectedErrorOptions, bS as RfqConfirmationAck, bT as RfqConfirmationError, bU as RfqConfirmationRejectedError, bV as RfqConfirmationRequestEvent, bW as RfqEndpoints, bX as RfqEvent, bY as RfqQuoteError, bZ as RfqQuoteReference, b_ as RfqQuoteRejectedError, b$ as RfqQuoteRejectedErrorOptions, c0 as RfqQuoteRequestEvent, c1 as RfqQuoteResponse, c2 as RfqQuoteSource, c3 as RfqSession, c4 as RfqTradeEvent, c5 as SearchError, c6 as SearchSort, c7 as SecureAccountActions, c8 as SecureActions, c9 as SecureClient, ca as SecureClientOptions, cb as SecureDownloadAccountingSnapshotRequest, cc as SecureFetchPortfolioValueRequest, cd as SecureFetchTradedMarketCountRequest, ce as SecureListActivityRequest, cf as SecureListClosedPositionsRequest, cg as SecureListComboActivityRequest, ch as SecureListComboPositionsRequest, ci as SecureListPositionsRequest, cj as SecurePerpsActions, ck as SecureRewardsActions, cl as SecureRfqActions, cm as SecureSubscriptionsActions, cn as SecureTradingActions, co as SecureWalletActions, cp as SetupGaslessWalletError, cq as SetupTradingApprovalsError, S as Signer, cr as SignerTransactionRequest, cs as SigningError, ct as SplitPositionError, cu as TimeoutError, cv as TransactionFailedError, cw as TransactionHandle, cx as TransactionOutcome, cy as TransferErc20Error, cz as TransportError, a as TypedData, cA as TypedDataDomain, cB as TypedDataField, T as TypedDataPayload, cC as UnexpectedResponseError, cD as UpdatePerpsLeverageError, cE as UpdatePerpsLeverageRequest, cF as WaitForTransactionError, cG as WalletDerivationConfig, cH as WebSocketEndpoint, cI as WithdrawFromPerpsError, cJ as WithdrawFromPerpsRequest, cK as accountActions, cL as allActions, cM as analyticsActions, cN as createPublicClient, cO as createSecureClient, cP as dataActions, cQ as discoveryActions, cR as forkEnvironmentConfig, cS as makeErrorGuard, cT as perpsActions, cU as production, cV as rewardsActions, cW as rfqActions, cX as subscriptionsActions, cY as tradingActions, cZ as walletActions } from './types-B0vr72h4.js';
16
+ export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-DKIjf_Mf.js';
17
17
  export { PerpsSessionEvent } from '@polymarket/bindings/subscriptions';
18
18
  export { RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqQuoteId, RfqQuoteRequest, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqTrade } from '@polymarket/bindings/rfq';
19
19
  import 'zod';
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import {N,X,V,T,pa,Zd,Xd,Vd,Td,Sd,Pd,ic,gc,ec,gb,na,uc,wc,Ic,Mb,Kb,Ib,Gb,Eb,Cb,Ab,yb,wb,kb,ib,cc,Wb,Ub,Sb,Ge,of,df,bf,Xe,mf,kf,if as _if,gf,kc,$e,Ze,sc,qc,oc,mc,ac,_b,Yb,Nd,Kd,Jd,Md,la,ja,ha,fa,da,ba,Oe,ef,R as R$1,P as P$1,Gc,Ec,Cc,Ac,Nc,Mc,ed,cd,ad,_c,Ee,ze,qe as qe$1,sf,Ma,Ia,Qa,sa,xa,K,L as L$1,Aa,Bd,zd,xd,td,rd,pd,Dd,vd,yc,Qb,Ob,H,fd,G,ta,I as I$1,Ya,Wa,ld,jd,kd,hd,id,gd,_a,nd,He,Je,Le,J,Oc,Pc}from'./chunk-IASUU6GQ.js';export{La as ApproveErc1155ForAllError,Ha as ApproveErc20Error,Dc as CancelAllError,Fc as CancelMarketOrdersError,zc as CancelOrderError,Bc as CancelOrdersError,C as CombinatorialPrepareConditionCallError,_d as ComboPositionStatus,bd as CreateLimitOrderError,Zc as CreateMarketOrderError,q as CtfRedeemPositionsCallError,Hd as DepositToPerpsError,Yd as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Hc as EstimateMarketPriceError,M as FetchClosedOnlyModeError,Tb as FetchCommentsByIdError,Zb as FetchEventError,bc as FetchEventLiveVolumeError,$b as FetchEventTagsError,Hb as FetchLastTradePriceError,Jb as FetchLastTradePricesError,pc as FetchMarketError,rc as FetchMarketTagsError,hb as FetchMidpointError,jb as FetchMidpointsError,U as FetchNotificationsError,zb as FetchOrderBookError,Bb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,ud as FetchPerpsBookError,Cd as FetchPerpsFeesError,od as FetchPerpsInstrumentsError,qd as FetchPerpsTickerError,sd as FetchPerpsTickersError,Ud as FetchPortfolioValueError,vb as FetchPriceError,Lb as FetchPriceHistoryError,xb as FetchPricesError,Fe as FetchPublicProfileError,lf as FetchRelatedTagResourcesError,jf as FetchRelatedTagsError,ka as FetchRewardPercentagesError,_e as FetchSeriesError,cf as FetchSportsMarketTypesError,Db as FetchSpreadError,Fb as FetchSpreadsError,hf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,Wd as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,dc as ListBuilderLeaderboardError,fb as ListBuilderTradesError,fc as ListBuilderVolumeError,Qd as ListClosedPositionsError,nc as ListComboMarketsError,Rd as ListComboPositionsError,Vb as ListCommentsByUserAddressError,Rb as ListCommentsError,Nb as ListCurrentRewardsError,Xb as ListEventsError,tc as ListMarketHoldersError,xc as ListMarketPositionsError,Pb as ListMarketRewardsError,lc as ListMarketsError,vc as ListOpenInterestError,O as ListOpenOrdersError,wd as ListPerpsCandlesError,yd as ListPerpsFundingHistoryError,Ad as ListPerpsTradesError,Od as ListPositionsError,Ye as ListSeriesError,af as ListSportsError,ff as ListTagsError,nf as ListTeamsError,hc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,ue as MergePositionsError,y as MergeV2CallError,Ed as OpenPerpsSessionError,Ne as OpenRfqSessionError,o as PerpsDepositCallError,dd as PlaceLimitOrderError,$c as PlaceMarketOrderError,Kc as PostOrderError,Lc as PostOrdersError,De as RedeemPositionsError,A as RedeemV2CallError,Fd as RevokePerpsCredentialsError,Ke as RfqCancelQuoteError,Je as RfqCancelQuoteRejectedError,Pe as RfqConfirmationDecision,Me as RfqConfirmationError,Le as RfqConfirmationRejectedError,Qe as RfqDirection,Re as RfqErrorCode,Se as RfqExecutionStatus,Ie as RfqQuoteError,He as RfqQuoteRejectedError,Te as RfqRequestedSizeUnit,Ue as RfqSide,We as SearchError,Ve as SearchSort,Pa as SetupTradingApprovalsError,r as SplitPositionCallError,le as SplitPositionError,w as SplitV2CallError,rf as TransferErc20Error,md as UpdatePerpsLeverageError,qa as WaitForTransactionError,Id as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F 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,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-IASUU6GQ.js';import {a,k,h,e,d,j,f,g as g$1,c,b as b$1}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{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsOrderStatus,PerpsSide,PerpsTimeInForce,PerpsWithdrawalStatus}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqKnownInboundMessageSchema,RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/rfq';var di=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 pi(t){return new re(t)}function li(t){return new se(t)}var re=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#s(e)}catch(r){throw j.fromError(r,"Could not authorize the builder-authenticated request")}}async#r(){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#s(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.#r(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return di.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 qr(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 mi(t){return {listPositions:Pd.bind(null,t),listClosedPositions:Sd.bind(null,t),listComboPositions:Td.bind(null,t),fetchPortfolioValue:Vd.bind(null,t),fetchTradedMarketCount:Xd.bind(null,t),downloadAccountingSnapshot:Zd.bind(null,t),listMarketPositions:yc.bind(null,t),listActivity:pa.bind(null,t)}}function y(t,e={}){return {...e,user:e.user??t.account.wallet}}function ne(t){let e=mi(t);return t.isPublicClient()?e:{...e,listPositions:r=>Pd(t,y(t,r)),listClosedPositions:r=>Sd(t,y(t,r)),listComboPositions:r=>Td(t,y(t,r)),fetchPortfolioValue:r=>Vd(t,y(t,r)),fetchTradedMarketCount:r=>Xd(t,y(t,r)),downloadAccountingSnapshot:r=>Zd(t,y(t,r)),listActivity:r=>pa(t,y(t,r)),listAccountTrades:T.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function ie(t){return {listBuilderTrades:gb.bind(null,t),listBuilderLeaderboard:ec.bind(null,t),fetchBuilderVolume:gc.bind(null,t),listTraderLeaderboard:ic.bind(null,t)}}function oe(t){return {fetchEventLiveVolume:cc.bind(null,t),fetchMidpoint:ib.bind(null,t),fetchMidpoints:kb.bind(null,t),fetchPrice:wb.bind(null,t),fetchPrices:yb.bind(null,t),fetchOrderBook:Ab.bind(null,t),fetchOrderBooks:Cb.bind(null,t),fetchSpread:Eb.bind(null,t),fetchSpreads:Gb.bind(null,t),fetchLastTradePrice:Ib.bind(null,t),fetchLastTradePrices:Kb.bind(null,t),fetchPriceHistory:Mb.bind(null,t),estimateMarketPrice:Ic.bind(null,t),listOpenInterest:wc.bind(null,t),listMarketHolders:uc.bind(null,t),listTrades:na.bind(null,t)}}function ae(t){return {listEvents:Yb.bind(null,t),fetchEvent:_b.bind(null,t),fetchEventTags:ac.bind(null,t),listMarkets:mc.bind(null,t),listComboMarkets:oc.bind(null,t),fetchMarket:qc.bind(null,t),fetchMarketTags:sc.bind(null,t),listSeries:Ze.bind(null,t),fetchSeries:$e.bind(null,t),listMarketClarifications:kc.bind(null,t),listTags:gf.bind(null,t),fetchTag:_if.bind(null,t),fetchRelatedTags:kf.bind(null,t),fetchRelatedTagResources:mf.bind(null,t),search:Xe.bind(null,t),listSports:bf.bind(null,t),fetchSportsMarketTypes:df.bind(null,t),listTeams:of.bind(null,t),fetchPublicProfile:Ge.bind(null,t),listComments:Sb.bind(null,t),fetchCommentsById:Ub.bind(null,t),listCommentsByUserAddress:Wb.bind(null,t)}}function ce(t){let e={fetchPerpsBook:r=>vd(t,r),fetchPerpsFees:()=>Dd(t),fetchPerpsInstruments:r=>pd(t,r),fetchPerpsTicker:r=>rd(t,r),fetchPerpsTickers:r=>td(t,r),listPerpsCandles:r=>xd(t,r),listPerpsFundingHistory:r=>zd(t,r),listPerpsTrades:r=>Bd(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>Md(t,r),openPerpsSession:r=>Jd(t,r),revokePerpsCredentials:r=>Kd(t,r),withdrawFromPerps:r=>Nd(t,r)}:e}function fi(t){return {listCurrentRewards:Ob.bind(null,t),listMarketRewards:Qb.bind(null,t)}}function ue(t){let e=fi(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 vr(t){return {openRfqSession(){return Oe(t)}}}function de(t){return t.isSecureClient()?{subscribe(e){return ef(t,e)}}:{subscribe(e){return ef(t,e)}}}function Ar(t){return {createMarketOrder:_c.bind(null,t),placeMarketOrder:ad.bind(null,t),createLimitOrder:cd.bind(null,t),placeLimitOrder:ed.bind(null,t),postOrder:Mc(t),postOrders:Nc(t),cancelOrder:Ac.bind(null,t),cancelOrders:Cc.bind(null,t),cancelAll:Ec.bind(null,t),cancelMarketOrders:Gc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Cr(t){return {isGaslessReady:()=>Promise.resolve(true),setupTradingApprovals:Qa.bind(null,t),approveErc20:Ia.bind(null,t),approveErc1155ForAll:Ma.bind(null,t),transferErc20:sf.bind(null,t),splitPosition:qe$1.bind(null,t),mergePositions:ze.bind(null,t),redeemPositions:Ee.bind(null,t)}}function Er(t){return t.isSecureClient()?{...ne(t),...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...vr(t),...de(t),...Ar(t),...Cr(t)}:{...ne(t),...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t)}}var pe={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"},contracts:{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"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},rfq:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq"},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function hi(t,e=pe){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...I(e.clob,t.clob),market:O(e.clob.market,t.clob?.market),user:O(e.clob.user,t.clob?.user)},relayer:I(e.relayer,t.relayer),gamma:I(e.gamma,t.gamma),data:I(e.data,t.data),rfq:kr(e.rfq,t.rfq),perps:kr(e.perps,t.perps),rtds:O(e.rtds,t.rtds),sports:O(e.sports,t.sports)}}function I(t,e){return {...t,...e,headers:le(t.headers,e?.headers)}}function O(t,e){return {...t,...e,headers:le(t.headers,e?.headers)}}function kr(t,e){return {...t,...e,headers:le(t.headers,e?.headers)}}function le(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var Za=hi({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function Tr(t,e,r,s,n){let i=`${e}${r}${s}`;n!==void 0&&(i+=n);let o=await globalThis.crypto.subtle.importKey("raw",yi(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return bi(Si(A))}function yi(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let n=0;n<r.length;n+=1)s[n]=r.charCodeAt(n);return s.buffer}function Si(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function bi(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}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 p=class{#e=new Set;#r;constructor(e){this.#r=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let n={subscription:e,subscriber:s};return {change:this.#s(n),entry:n}}#s(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.#r(this.#e)}};function me(t,e,r){let s=F(r.assetsIds,e.assetsIds),n=F(e.assetsIds,r.assetsIds);s.length>0&&t(wr(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(wr([i],r.customFeatureEnabled)),n.length>0&&t(Ri(n));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Mr(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(xr(r.markets));return}let s=F(r.markets,e.markets),n=F(e.markets,r.markets);s.length>0&&t(xr(s)),n.length>0&&t(Mr(n));}function Ir(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let n of s.tokenIds)e.add(n);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Or(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Wr(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Fr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function wr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Ri(t){return {assets_ids:t,operation:"unsubscribe"}}function Lr(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function xr(t){return {markets:t,operation:"subscribe"}}function Mr(t){return {markets:t,operation:"unsubscribe"}}function Dr(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 Br(t){if(Wr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Wr(t){return (t.markets?.length??0)===0}function F(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#r;#s;#o=new ld({heartbeat:new gd});#i=new kd;#t=new p({deriveServerState:Ir});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Dr(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){let{before:s,after:n}=r;try{(await this.#u()).reusedOpenSocket&&me(o=>this.#o.send(o),s,n);}catch(i){throw await this.#a(e),i}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}me(n=>this.#o.send(n),r,s);}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=MarketEventSchema.safeParse(s);n.success&&this.#t.dispatch(n.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#f(){}#h(){this.#o.send(Fr(this.#t.serverState()));}#m(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var P=class{#e;#r;#s;#o;#i=new ld({heartbeat:new gd});#t=new kd;#n=new p({deriveServerState:Or});constructor(e){this.#e=e.credentials,this.#r=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Br(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:n}=r;try{(await this.#c()).reusedOpenSocket&&fe(o=>this.#i.send(o),s,n);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#i.send(n),r,s);}async close(){this.#o===void 0&&(this.#o=this.#u().finally(()=>{this.#o=void 0;})),await this.#o;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onClose:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#r,url:this.#s})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=UserEventSchema.safeParse(s);n.success&&this.#n.dispatch(n.data);}}#f(){this.#n.hasActiveSubscriptions()&&this.#y();}#h(){}#m(e){this.#i.send(Lr(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var R=class{#e;#r;#s;#o;#i=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#r=e.headers,this.#s=e.restUrl,this.#o=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new nd({chainId:this.#e,credentials:e,headers:this.#r,onClose:n=>this.#d(n),restUrl:this.#s,wsUrl:this.#o});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#i.add(r),r}catch(n){throw await r.close(),n}finally{this.#n.delete(s),this.#t.delete(r);}})(),this.#n.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#i),r=Array.from(this.#t),s=Array.from(this.#n);this.#i.clear(),this.#t.clear(),this.#n.clear(),await Promise.allSettled([...e.map(n=>n.close()),...r.map(n=>n.close()),...s.map(n=>n.catch(()=>{}))]).then(()=>{});}#d(e){this.#i.delete(e),this.#t.delete(e);}};var b=class{#e;#r;#s;#o=1;#i=new ld({heartbeat:new jd});#t=new kd;#n=new p({deriveServerState:Ai});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Ei(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#m(Ur(r.before,r.after)),this.#y(Qr(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#n.remove(e);this.#m(Ur(r,s)),this.#y(Qr(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#u().finally(()=>{this.#s=void 0;})),await this.#s;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onClose:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#r})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#n.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#f(){this.#n.hasActiveSubscriptions()&&this.#b();}#h(){}#m(e){e.length!==0&&this.#i.send(this.#S("sub",e));}#y(e){e.length!==0&&this.#i.send(this.#S("unsub",e));}#S(e,r){return {id:this.#o++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function Ai(t){let e=new Set,r=new Set,s=new Set,n=false,i=false;for(let{subscription:o}of t)switch(o.topic){case "perps.tickers":o.instrumentId===void 0?n=true:r.add(o.instrumentId);break;case "perps.statistics":o.instrumentId===void 0?i=true:s.add(o.instrumentId);break;default:e.add(Ci(o));}if(n)e.add("tickers::all");else for(let o of r)e.add(`tickers::${o}`);if(i)e.add("statistics::all");else for(let o of s)e.add(`statistics::${o}`);return e}function Ur(t,e){return Array.from(e).filter(r=>!t.has(r))}function Qr(t,e){return Array.from(t).filter(r=>!e.has(r))}function Ci(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Ei(t){switch(t.topic){case "perps.trades":case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Kr(t,e){return {...e,quote:r=>t.quote(e,r)}}function Vr(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function jr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function zr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function $r(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Nr(t,e){let r=J(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 Gr(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 Yr(t,e,r){let s=J(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function Jr(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var L=class{#e=new Map;#r;constructor(e){this.#r=e;}waitFor(e,r){let s=Ti(),n,i=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new f(r));},this.#r);n=s.promise.finally(()=>clearTimeout(i));let o=this.#e.get(e)??[];return o.push({...s,promise:n}),this.#e.set(e,o),n}resolve(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.resolve(r));}reject(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let n=s.filter(i=>i.promise!==r);n.length===0?this.#e.delete(e):this.#e.set(e,n);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function Ti(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var Xr="0x0000000000000000000000000000000000000000000000000000000000000000";async function ts(t){let e=J(t.account),r={builder:Xr,maker:e.maker,makerAmount:toBaseUnits(wi(t.orderSide,t.orderPrice,t.size)),metadata:Xr,salt:Ii().toString(),side:Mi(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(xi(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},s;try{s=await t.signer.signTypedData(Oc({domain:es(t),order:r}));}catch(n){throw j.fromError(n,"Could not sign the RFQ quote order.")}return {...r,signature:Pc({domain:es(t),order:r,signature:s})}}function es(t){return {chainId:t.chainId,exchange:t.exchange,protocolVersion:"3"}}function wi(t,e,r){return t===OrderSide.SELL?r.toString():((e*r+999999n)/1000000n).toString()}function xi(t,e,r){return t===OrderSide.SELL?(e*r/1000000n).toString():r.toString()}function Mi(t){return t===OrderSide.BUY?0:1}function Ii(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var ns=DecimalishSchema.transform(t=>as(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),Li=z.strictObject({price:ns.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:ns.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function is(t){return G(t,Li)}async function os(t){let e=t.response.price,r=t.response.size===void 0?Ui(t.request.requestedSize,e):t.response.size,s=await ts({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:Bi(t.request,t.response.source,e),orderSide:Wi(t.response.source),signer:t.signer,size:r,tokenId:Di(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Di(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function Bi(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function Wi(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function Ui(t,e){let r=as(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function as(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let n=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(n<=0n)throw new a("Value must be greater than 0.");return n}var Vi=3e4,ji=3e4,g=class{#e;#r;#s;#o;#i;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.signer,this.#n=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Pe({account:this.#e,chainId:this.#r,credentials:this.#s,exchange:this.#o,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Pe=class{#e;#r;#s;#o;#i;#t;#n;#a;#d=new ld;#u=pushable({objectMode:true});#c=new L(ji);#p;#l;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.onClose,this.#n=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=zi();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},Vi);try{await this.#d.connect({headers:this.#i,onClose:()=>this.#g(),onError:()=>{},onMessage:s=>this.#P(s),onOpen:()=>this.#b(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#f(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#h()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#h(){let e=new c("RFQ quoter websocket closed.");await this.#y(e);}async#m(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}#S(e){this.#l?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(Nr(this.#e,this.#s));}#P(e){if(this.#p!==void 0||!RfqKnownInboundMessageSchema.safeParse(e).success)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success){let n=new c("Invalid RFQ quoter message.",{cause:r.error});this.#m(n);return}let s=r.data;switch(s.type){case "auth":this.#R(s);return;case "quote_request":this.#u.push(Kr(this,s));return;case "quote_ack":this.#c.resolve(D(s.rfqId),jr(s));return;case "quote_cancel_ack":this.#c.resolve(Se(s.rfqId,s.quoteId),zr(s));return;case "confirmation_request":this.#u.push(Vr(this,s));return;case "confirmation_ack":this.#c.resolve(be(s.rfqId,s.quoteId),$r(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#R(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(){this.#t(),this.close();}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(D(e.rfqId),new He(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Se(e.rfqId,e.quoteId),new Je(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new Le(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=is(r),n=await os({account:this.#e,chainId:this.#r,exchange:this.#o,request:e,response:s,signer:this.#n}),i=this.#c.waitFor(D(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#f(Gr(e,n)),await i}catch(o){throw this.#c.remove(D(e.rfqId),i),o}}async cancelQuote(e){let r=Se(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#f(Yr(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=be(e,r),i=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#f(Jr(e,r,s)),await i}catch(o){throw this.#c.remove(n,i),o}}};function D(t){return `ACK_RFQ_QUOTE:${t}`}function Se(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function be(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function zi(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var q=class{#e;#r;#s;#o=new ld({heartbeat:new hd});#i=new kd;#t=new p({deriveServerState:Yi});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:eo(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:n,after:i}=r,o=Ni(n,i);this.#m(o);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=Gi(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#S();}#f(){}#h(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#o.send(Ji(e));}#y(e){e.length!==0&&this.#o.send(Zi(e));}#S(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function Ni(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function Gi(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Yi(t){let e=new Map;for(let{subscription:r}of t)for(let s of Xi(r))e.has(s.key)||e.set(s.key,s);return e}function Ji(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Zi(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Xi(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>B("comments",e));case "prices.crypto.binance":return [B("crypto_prices","update")];case "prices.crypto.chainlink":return [B("crypto_prices_chainlink","update")];case "prices.equity.pyth":return [B("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function B(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function eo(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 v=class{#e;#r;#s;#o=new ld({heartbeat:new id});#i=new kd;#t=new p;constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#n(r),m(r.subscriber.queue,()=>this.#a(r))}async#n(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#h();}#f(){}#h(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#r;get context(){return this.#e}get decorators(){return this.#r}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 rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#r=[];}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.#r.push(e);}},ao=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),co=z.object({wallet:EvmAddressSchema,credentials:ao.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}),U=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new fd({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new fd({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new fd({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new fd({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new fd({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new fd({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=G(e,co);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),i=s?.nonce??0,o=expectEvmAddress(yield ta()),A=expectEvmAddress(s.wallet),ve=I$1(this.environment,o,A);if(s.credentials!==void 0){let Ae=this.#e(s.credentials,ve,r);try{if((await Ya(Ae)).includes(s.credentials.key))return Ae}catch(T){if(!(T instanceof d)||T.status!==401)throw T}}let ds=yield {kind:"signAuthMessage",payload:qr({address:o,chainId:this.environment.chainId,nonce:i,timestamp:n})},ps=await Wa(this,{address:o,nonce:i,signature:expectEvmSignature(ds),timestamp:n});return this.#e(ps,ve,r)}.call(this))}#e(e,r,s){let n=new qe({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let i of this.decorators)n.extend(i);return n}},qe=class extends W{#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 fd({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new fd({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new fd({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new fd({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new fd({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new fd({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new fd({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new P({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new g({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.rfq.headers,signer:e.signer,url:e.environment.rfq.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new R({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}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.perpsSubscriptions.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(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:n,environment:i}=this.context;try{await _a(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let o=new U({apiKey:n,environment:i});for(let A of this.decorators)o.extend(A);return o}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 Tr(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 us(t={}){return new U({environment:t.environment??pe,apiKey:t.apiKey}).extend(Er)}var uo=k(h,e,d,j,f,g$1,c,b$1,a),po=k(a);async function lo(t){let e=us({environment:t.environment,apiKey:t.apiKey}),r=await mo(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(sa(t.signer));if(s.account.walletType===WalletType.EOA||await xa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await fo(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function mo(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=K(r,t.environment.walletDerivation);return await xa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:L$1(r,t.environment.walletDerivation)}async function fo(t){let e=L$1(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 Aa(t)).wait();}
2
- export{uo as CreateSecureClientError,po as SetupGaslessWalletError,ne as accountActions,Er as allActions,ie as analyticsActions,Tr as buildHmacSignature,us as createPublicClient,lo as createSecureClient,oe as dataActions,ae as discoveryActions,hi as forkEnvironmentConfig,ce as perpsActions,Za as preproduction,pe as production,li as relayerApiKey,pi as remoteBuilderSigning,ue as rewardsActions,vr as rfqActions,de as subscriptionsActions,Ar as tradingActions,Cr as walletActions};//# sourceMappingURL=index.js.map
1
+ import {N,X,V,T,ra,pa,be as be$1,$d,Zd,Xd,Vd,Td,lc,jc,hc,jb,na,xc,zc,Lc,Pb,Nb,Lb,Jb,Hb,Fb,Db,Bb,zb,nb,lb,fc,Zb,Xb,Vb,Le,tf,if as _if,gf,af,rf,pf,nf,lf,nc as nc$1,ef,cf,vc,tc,rc,pc,dc,bc,$b,Qd,Nd,Md,Pd,la,ja,ha,fa,da,ba,Te,jf,R as R$1,P as P$1,Jc,Hc,Fc,Dc,Qc,Pc,hd,fd,dd,bd,Je,Ee,ve as ve$1,xf,Pa,La,Ta,va,Aa,K,L as L$1,Da,Ed,Cd,Ad,wd,ud,sd,Gd,yd,Bc,Tb,Rb,H,id,G,wa,I as I$1,$a,Za,od,md,nd,kd,ld,jd,bb,qd,Me,Oe,Qe,J,Rc,Sc}from'./chunk-IBUXKB4V.js';export{Oa as ApproveErc1155ForAllError,Ka as ApproveErc20Error,Gc as CancelAllError,Ic as CancelMarketOrdersError,Cc as CancelOrderError,Ec as CancelOrdersError,C as CombinatorialPrepareConditionCallError,sa as ComboActivityType,ce as ComboPositionOutcome,Rd as ComboPositionSort,de as ComboPositionStatus,ed as CreateLimitOrderError,ad as CreateMarketOrderError,q as CtfRedeemPositionsCallError,Kd as DepositToPerpsError,ae as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Kc as EstimateMarketPriceError,M as FetchClosedOnlyModeError,Wb as FetchCommentsByIdError,ac as FetchEventError,ec as FetchEventLiveVolumeError,cc as FetchEventTagsError,Kb as FetchLastTradePriceError,Mb as FetchLastTradePricesError,sc as FetchMarketError,uc as FetchMarketTagsError,kb as FetchMidpointError,mb as FetchMidpointsError,U as FetchNotificationsError,Cb as FetchOrderBookError,Eb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,xd as FetchPerpsBookError,Fd as FetchPerpsFeesError,rd as FetchPerpsInstrumentsError,td as FetchPerpsTickerError,vd as FetchPerpsTickersError,Yd as FetchPortfolioValueError,yb as FetchPriceError,Ob as FetchPriceHistoryError,Ab as FetchPricesError,Ke as FetchPublicProfileError,qf as FetchRelatedTagResourcesError,of as FetchRelatedTagsError,ka as FetchRewardPercentagesError,df as FetchSeriesError,hf as FetchSportsMarketTypesError,Gb as FetchSpreadError,Ib as FetchSpreadsError,mf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,_d as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,gc as ListBuilderLeaderboardError,ib as ListBuilderTradesError,ic as ListBuilderVolumeError,Ud as ListClosedPositionsError,qa as ListComboActivityError,qc as ListComboMarketsError,Wd as ListComboPositionsError,Yb as ListCommentsByUserAddressError,Ub as ListCommentsError,Qb as ListCurrentRewardsError,_b as ListEventsError,wc as ListMarketHoldersError,Ac as ListMarketPositionsError,Sb as ListMarketRewardsError,oc as ListMarketsError,yc as ListOpenInterestError,O as ListOpenOrdersError,zd as ListPerpsCandlesError,Bd as ListPerpsFundingHistoryError,Dd as ListPerpsTradesError,Sd as ListPositionsError,bf as ListSeriesError,ff as ListSportsError,kf as ListTagsError,sf as ListTeamsError,kc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,ze as MergePositionsError,y as MergeV2CallError,Hd as OpenPerpsSessionError,Se as OpenRfqSessionError,o as PerpsDepositCallError,gd as PlaceLimitOrderError,cd as PlaceMarketOrderError,Nc as PostOrderError,Oc as PostOrdersError,Ie as RedeemPositionsError,A as RedeemV2CallError,Id as RevokePerpsCredentialsError,Pe as RfqCancelQuoteError,Oe as RfqCancelQuoteRejectedError,Ue as RfqConfirmationDecision,Re as RfqConfirmationError,Qe as RfqConfirmationRejectedError,Ve as RfqDirection,We as RfqErrorCode,Xe as RfqExecutionStatus,Ne as RfqQuoteError,Me as RfqQuoteRejectedError,Ye as RfqRequestedSizeUnit,Ze as RfqSide,$e as SearchError,_e as SearchSort,Sa as SetupTradingApprovalsError,r as SplitPositionCallError,qe as SplitPositionError,w as SplitV2CallError,wf as TransferErc20Error,pd as UpdatePerpsLeverageError,ta as WaitForTransactionError,Ld as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,ua as expectTransactionHandle,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-IBUXKB4V.js';import {a,k,h as h$1,e,d,j,f,g as g$1,c,b as b$1}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{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsOrderStatus,PerpsSide,PerpsTimeInForce,PerpsWithdrawalStatus}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqKnownInboundMessageSchema,RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/rfq';var hi=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 yi(t){return new se(t)}function Si(t){return new ne(t)}var se=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#s(e)}catch(r){throw j.fromError(r,"Could not authorize the builder-authenticated request")}}async#r(){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#s(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.#r(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return hi.parse(await r.json())}},ne=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 vr(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 bi(t){return {listPositions:Td.bind(null,t),listClosedPositions:Vd.bind(null,t),listComboPositions:Xd.bind(null,t),fetchPortfolioValue:Zd.bind(null,t),fetchTradedMarketCount:$d.bind(null,t),downloadAccountingSnapshot:be$1.bind(null,t),listMarketPositions:Bc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function h(t,e={}){return {...e,user:e.user??t.account.wallet}}function ie(t){let e=bi(t);return t.isPublicClient()?e:{...e,listPositions:r=>Td(t,h(t,r)),listClosedPositions:r=>Vd(t,h(t,r)),listComboPositions:r=>Xd(t,h(t,r)),fetchPortfolioValue:r=>Zd(t,h(t,r)),fetchTradedMarketCount:r=>$d(t,h(t,r)),downloadAccountingSnapshot:r=>be$1(t,h(t,r)),listActivity:r=>pa(t,h(t,r)),listComboActivity:r=>ra(t,h(t,r)),listAccountTrades:T.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function oe(t){return {listBuilderTrades:jb.bind(null,t),listBuilderLeaderboard:hc.bind(null,t),fetchBuilderVolume:jc.bind(null,t),listTraderLeaderboard:lc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:fc.bind(null,t),fetchMidpoint:lb.bind(null,t),fetchMidpoints:nb.bind(null,t),fetchPrice:zb.bind(null,t),fetchPrices:Bb.bind(null,t),fetchOrderBook:Db.bind(null,t),fetchOrderBooks:Fb.bind(null,t),fetchSpread:Hb.bind(null,t),fetchSpreads:Jb.bind(null,t),fetchLastTradePrice:Lb.bind(null,t),fetchLastTradePrices:Nb.bind(null,t),fetchPriceHistory:Pb.bind(null,t),estimateMarketPrice:Lc.bind(null,t),listOpenInterest:zc.bind(null,t),listMarketHolders:xc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:$b.bind(null,t),fetchEvent:bc.bind(null,t),fetchEventTags:dc.bind(null,t),listMarkets:pc.bind(null,t),listComboMarkets:rc.bind(null,t),fetchMarket:tc.bind(null,t),fetchMarketTags:vc.bind(null,t),listSeries:cf.bind(null,t),fetchSeries:ef.bind(null,t),listMarketClarifications:nc$1.bind(null,t),listTags:lf.bind(null,t),fetchTag:nf.bind(null,t),fetchRelatedTags:pf.bind(null,t),fetchRelatedTagResources:rf.bind(null,t),search:af.bind(null,t),listSports:gf.bind(null,t),fetchSportsMarketTypes:_if.bind(null,t),listTeams:tf.bind(null,t),fetchPublicProfile:Le.bind(null,t),listComments:Vb.bind(null,t),fetchCommentsById:Xb.bind(null,t),listCommentsByUserAddress:Zb.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>yd(t,r),fetchPerpsFees:()=>Gd(t),fetchPerpsInstruments:r=>sd(t,r),fetchPerpsTicker:r=>ud(t,r),fetchPerpsTickers:r=>wd(t,r),listPerpsCandles:r=>Ad(t,r),listPerpsFundingHistory:r=>Cd(t,r),listPerpsTrades:r=>Ed(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>Pd(t,r),openPerpsSession:r=>Md(t,r),revokePerpsCredentials:r=>Nd(t,r),withdrawFromPerps:r=>Qd(t,r)}:e}function Pi(t){return {listCurrentRewards:Rb.bind(null,t),listMarketRewards:Tb.bind(null,t)}}function de(t){let e=Pi(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 Ar(t){return {openRfqSession(){return Te(t)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return jf(t,e)}}:{subscribe(e){return jf(t,e)}}}function Cr(t){return {createMarketOrder:bd.bind(null,t),placeMarketOrder:dd.bind(null,t),createLimitOrder:fd.bind(null,t),placeLimitOrder:hd.bind(null,t),postOrder:Pc(t),postOrders:Qc(t),cancelOrder:Dc.bind(null,t),cancelOrders:Fc.bind(null,t),cancelAll:Hc.bind(null,t),cancelMarketOrders:Jc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Er(t){return {isGaslessReady:()=>Promise.resolve(true),setupTradingApprovals:Ta.bind(null,t),approveErc20:La.bind(null,t),approveErc1155ForAll:Pa.bind(null,t),transferErc20:xf.bind(null,t),splitPosition:ve$1.bind(null,t),mergePositions:Ee.bind(null,t),redeemPositions:Je.bind(null,t)}}function kr(t){return t.isSecureClient()?{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...Ar(t),...pe(t),...Cr(t),...Er(t)}:{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(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"},contracts:{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"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},rfq:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq"},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function Ri(t,e=le){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...I(e.clob,t.clob),market:O(e.clob.market,t.clob?.market),user:O(e.clob.user,t.clob?.user)},relayer:I(e.relayer,t.relayer),gamma:I(e.gamma,t.gamma),data:I(e.data,t.data),rfq:Tr(e.rfq,t.rfq),perps:Tr(e.perps,t.perps),rtds:O(e.rtds,t.rtds),sports:O(e.sports,t.sports)}}function I(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function O(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function Tr(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function me(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var nc=Ri({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function wr(t,e,r,s,n){let i=`${e}${r}${s}`;n!==void 0&&(i+=n);let o=await globalThis.crypto.subtle.importKey("raw",gi(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return vi(qi(A))}function gi(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let n=0;n<r.length;n+=1)s[n]=r.charCodeAt(n);return s.buffer}function qi(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function vi(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}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 p=class{#e=new Set;#r;constructor(e){this.#r=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let n={subscription:e,subscriber:s};return {change:this.#s(n),entry:n}}#s(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.#r(this.#e)}};function fe(t,e,r){let s=F(r.assetsIds,e.assetsIds),n=F(e.assetsIds,r.assetsIds);s.length>0&&t(xr(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(xr([i],r.customFeatureEnabled)),n.length>0&&t(Ci(n));}function he(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Ir(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Mr(r.markets));return}let s=F(r.markets,e.markets),n=F(e.markets,r.markets);s.length>0&&t(Mr(s)),n.length>0&&t(Ir(n));}function Or(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let n of s.tokenIds)e.add(n);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Fr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Ur(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Lr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function xr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Ci(t){return {assets_ids:t,operation:"unsubscribe"}}function Dr(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function Mr(t){return {markets:t,operation:"subscribe"}}function Ir(t){return {markets:t,operation:"unsubscribe"}}function Br(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 Wr(t){if(Ur(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Ur(t){return (t.markets?.length??0)===0}function F(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#r;#s;#o=new od({heartbeat:new jd});#i=new nd;#t=new p({deriveServerState:Or});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Br(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){let{before:s,after:n}=r;try{(await this.#u()).reusedOpenSocket&&fe(o=>this.#o.send(o),s,n);}catch(i){throw await this.#a(e),i}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#o.send(n),r,s);}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=MarketEventSchema.safeParse(s);n.success&&this.#t.dispatch(n.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#f(){}#h(){this.#o.send(Lr(this.#t.serverState()));}#m(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var P=class{#e;#r;#s;#o;#i=new od({heartbeat:new jd});#t=new nd;#n=new p({deriveServerState:Fr});constructor(e){this.#e=e.credentials,this.#r=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Wr(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:n}=r;try{(await this.#c()).reusedOpenSocket&&he(o=>this.#i.send(o),s,n);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}he(n=>this.#i.send(n),r,s);}async close(){this.#o===void 0&&(this.#o=this.#u().finally(()=>{this.#o=void 0;})),await this.#o;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onClose:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#r,url:this.#s})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=UserEventSchema.safeParse(s);n.success&&this.#n.dispatch(n.data);}}#f(){this.#n.hasActiveSubscriptions()&&this.#y();}#h(){}#m(e){this.#i.send(Dr(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var R=class{#e;#r;#s;#o;#i=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#r=e.headers,this.#s=e.restUrl,this.#o=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new qd({chainId:this.#e,credentials:e,headers:this.#r,onClose:n=>this.#d(n),restUrl:this.#s,wsUrl:this.#o});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#i.add(r),r}catch(n){throw await r.close(),n}finally{this.#n.delete(s),this.#t.delete(r);}})(),this.#n.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#i),r=Array.from(this.#t),s=Array.from(this.#n);this.#i.clear(),this.#t.clear(),this.#n.clear(),await Promise.allSettled([...e.map(n=>n.close()),...r.map(n=>n.close()),...s.map(n=>n.catch(()=>{}))]).then(()=>{});}#d(e){this.#i.delete(e),this.#t.delete(e);}};var b=class{#e;#r;#s;#o=1;#i=new od({heartbeat:new md});#t=new nd;#n=new p({deriveServerState:wi});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Mi(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#m(Qr(r.before,r.after)),this.#y(Hr(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#n.remove(e);this.#m(Qr(r,s)),this.#y(Hr(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#u().finally(()=>{this.#s=void 0;})),await this.#s;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onClose:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#r})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#n.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#f(){this.#n.hasActiveSubscriptions()&&this.#b();}#h(){}#m(e){e.length!==0&&this.#i.send(this.#S("sub",e));}#y(e){e.length!==0&&this.#i.send(this.#S("unsub",e));}#S(e,r){return {id:this.#o++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function wi(t){let e=new Set,r=new Set,s=new Set,n=false,i=false;for(let{subscription:o}of t)switch(o.topic){case "perps.tickers":o.instrumentId===void 0?n=true:r.add(o.instrumentId);break;case "perps.statistics":o.instrumentId===void 0?i=true:s.add(o.instrumentId);break;default:e.add(xi(o));}if(n)e.add("tickers::all");else for(let o of r)e.add(`tickers::${o}`);if(i)e.add("statistics::all");else for(let o of s)e.add(`statistics::${o}`);return e}function Qr(t,e){return Array.from(e).filter(r=>!t.has(r))}function Hr(t,e){return Array.from(t).filter(r=>!e.has(r))}function xi(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Mi(t){switch(t.topic){case "perps.trades":case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Vr(t,e){return {...e,quote:r=>t.quote(e,r)}}function jr(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function zr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function $r(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Nr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Gr(t,e){let r=J(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 Yr(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 Jr(t,e,r){let s=J(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function Zr(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var L=class{#e=new Map;#r;constructor(e){this.#r=e;}waitFor(e,r){let s=Oi(),n,i=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new f(r));},this.#r);n=s.promise.finally(()=>clearTimeout(i));let o=this.#e.get(e)??[];return o.push({...s,promise:n}),this.#e.set(e,o),n}resolve(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.resolve(r));}reject(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let n=s.filter(i=>i.promise!==r);n.length===0?this.#e.delete(e):this.#e.set(e,n);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function Oi(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var es="0x0000000000000000000000000000000000000000000000000000000000000000";async function rs(t){let e=J(t.account),r={builder:es,maker:e.maker,makerAmount:toBaseUnits(Fi(t.orderSide,t.orderPrice,t.size)),metadata:es,salt:Bi().toString(),side:Di(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(Li(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},s;try{s=await t.signer.signTypedData(Rc({domain:ts(t),order:r}));}catch(n){throw j.fromError(n,"Could not sign the RFQ quote order.")}return {...r,signature:Sc({domain:ts(t),order:r,signature:s})}}function ts(t){return {chainId:t.chainId,exchange:t.exchange,protocolVersion:"3"}}function Fi(t,e,r){return t===OrderSide.SELL?r.toString():((e*r+999999n)/1000000n).toString()}function Li(t,e,r){return t===OrderSide.SELL?(e*r/1000000n).toString():r.toString()}function Di(t){return t===OrderSide.BUY?0:1}function Bi(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var is=DecimalishSchema.transform(t=>cs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),Qi=z.strictObject({price:is.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:is.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function os(t){return G(t,Qi)}async function as(t){let e=t.response.price,r=t.response.size===void 0?Vi(t.request.requestedSize,e):t.response.size,s=await rs({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:_i(t.request,t.response.source,e),orderSide:Ki(t.response.source),signer:t.signer,size:r,tokenId:Hi(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Hi(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function _i(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function Ki(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function Vi(t,e){let r=cs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function cs(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let n=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(n<=0n)throw new a("Value must be greater than 0.");return n}var Gi=3e4,Yi=3e4,g=class{#e;#r;#s;#o;#i;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.signer,this.#n=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Re({account:this.#e,chainId:this.#r,credentials:this.#s,exchange:this.#o,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Re=class{#e;#r;#s;#o;#i;#t;#n;#a;#d=new od;#u=pushable({objectMode:true});#c=new L(Yi);#p;#l;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.onClose,this.#n=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Ji();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},Gi);try{await this.#d.connect({headers:this.#i,onClose:()=>this.#g(),onError:()=>{},onMessage:s=>this.#P(s),onOpen:()=>this.#b(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#f(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#h()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#h(){let e=new c("RFQ quoter websocket closed.");await this.#y(e);}async#m(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}#S(e){this.#l?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(Gr(this.#e,this.#s));}#P(e){if(this.#p!==void 0||!RfqKnownInboundMessageSchema.safeParse(e).success)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success){let n=new c("Invalid RFQ quoter message.",{cause:r.error});this.#m(n);return}let s=r.data;switch(s.type){case "auth":this.#R(s);return;case "quote_request":this.#u.push(Vr(this,s));return;case "quote_ack":this.#c.resolve(D(s.rfqId),zr(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),$r(s));return;case "confirmation_request":this.#u.push(jr(this,s));return;case "confirmation_ack":this.#c.resolve(Pe(s.rfqId,s.quoteId),Nr(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#R(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(){this.#t(),this.close();}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(D(e.rfqId),new Me(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new Oe(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Pe(e.rfqId,e.quoteId),new Qe(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=os(r),n=await as({account:this.#e,chainId:this.#r,exchange:this.#o,request:e,response:s,signer:this.#n}),i=this.#c.waitFor(D(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#f(Yr(e,n)),await i}catch(o){throw this.#c.remove(D(e.rfqId),i),o}}async cancelQuote(e){let r=be(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#f(Jr(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=Pe(e,r),i=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#f(Zr(e,r,s)),await i}catch(o){throw this.#c.remove(n,i),o}}};function D(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Pe(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Ji(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var q=class{#e;#r;#s;#o=new od({heartbeat:new kd});#i=new nd;#t=new p({deriveServerState:to});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:io(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:n,after:i}=r,o=Xi(n,i);this.#m(o);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=eo(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#S();}#f(){}#h(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#o.send(ro(e));}#y(e){e.length!==0&&this.#o.send(so(e));}#S(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function Xi(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function eo(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function to(t){let e=new Map;for(let{subscription:r}of t)for(let s of no(r))e.has(s.key)||e.set(s.key,s);return e}function ro(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function so(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function no(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>B("comments",e));case "prices.crypto.binance":return [B("crypto_prices","update")];case "prices.crypto.chainlink":return [B("crypto_prices_chainlink","update")];case "prices.equity.pyth":return [B("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function B(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function io(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 v=class{#e;#r;#s;#o=new od({heartbeat:new ld});#i=new nd;#t=new p;constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#n(r),m(r.subscriber.queue,()=>this.#a(r))}async#n(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#h();}#f(){}#h(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#r;get context(){return this.#e}get decorators(){return this.#r}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 rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#r=[];}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.#r.push(e);}},mo=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),fo=z.object({wallet:EvmAddressSchema,credentials:mo.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}),U=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new id({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new id({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new id({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new id({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new id({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new id({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=G(e,fo);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),i=s?.nonce??0,o=expectEvmAddress(yield wa()),A=expectEvmAddress(s.wallet),Ae=I$1(this.environment,o,A);if(s.credentials!==void 0){let Ce=this.#e(s.credentials,Ae,r);try{if((await $a(Ce)).includes(s.credentials.key))return Ce}catch(T){if(!(T instanceof d)||T.status!==401)throw T}}let ps=yield {kind:"signAuthMessage",payload:vr({address:o,chainId:this.environment.chainId,nonce:i,timestamp:n})},ls=await Za(this,{address:o,nonce:i,signature:expectEvmSignature(ps),timestamp:n});return this.#e(ls,Ae,r)}.call(this))}#e(e,r,s){let n=new ve({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let i of this.decorators)n.extend(i);return n}},ve=class extends W{#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 id({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new id({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new id({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new id({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new id({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new id({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new id({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new P({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new g({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.rfq.headers,signer:e.signer,url:e.environment.rfq.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new R({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}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.perpsSubscriptions.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(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:n,environment:i}=this.context;try{await bb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let o=new U({apiKey:n,environment:i});for(let A of this.decorators)o.extend(A);return o}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 wr(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 ds(t={}){return new U({environment:t.environment??le,apiKey:t.apiKey}).extend(kr)}var ho=k(h$1,e,d,j,f,g$1,c,b$1,a),yo=k(a);async function So(t){let e=ds({environment:t.environment,apiKey:t.apiKey}),r=await bo(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(va(t.signer));if(s.account.walletType===WalletType.EOA||await Aa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await Po(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function bo(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=K(r,t.environment.walletDerivation);return await Aa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:L$1(r,t.environment.walletDerivation)}async function Po(t){let e=L$1(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 Da(t)).wait();}
2
+ export{ho as CreateSecureClientError,yo as SetupGaslessWalletError,ie as accountActions,kr as allActions,oe as analyticsActions,wr as buildHmacSignature,ds as createPublicClient,So as createSecureClient,ae as dataActions,ce as discoveryActions,Ri as forkEnvironmentConfig,ue as perpsActions,nc as preproduction,le as production,Si as relayerApiKey,yi as remoteBuilderSigning,de as rewardsActions,Ar as rfqActions,pe as subscriptionsActions,Cr as tradingActions,Er as walletActions};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map