@polymarket/client 0.13.0 → 0.14.0

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.
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import {Q,_,Y as Y$1,W as W$1,ua as ua$1,sa,rf,pf,nf,lf,Oc,jf,hf,ff,Qc,Mc,Kc,Ic,yb,qa,fd,jd,td,hd,ac,_b,Yb,Wb,Ub,Sb,Qb,Ob,Cb,Ab,zc,Bc,rc,pc as pc$1,nc,fg,kh,Yg,Wg,Jg,ih,gh,eh,ch,Wc,Ng,Lg,dd,bd,$c,Zc,xc,vc,tc as tc$1,_d,df,$e,af,Ye,Xe,_e,oa as oa$1,ma as ma$1,ka as ka$1,ia as ia$1,ga as ga$1,ea,ug,sg,qg,ng,Ug,Qg,Sg,_g,U as U$1,S,rd,pd,nd,ld,Qd,zd,yd,Yd,Wd,Ud,Sd,kc,gc,dg,Wf,Kf,oh,ab,Ya as Ya$1,gb,db,Ba as Ba$1,Ga as Ga$1,N as N$1,O as O$1,Ja as Ja$1,Oe as Oe$1,Me as Me$1,Ke,Ge,Ee as Ee$1,Ce as Ce$1,Qe as Qe$1,Ie,be,ec as ec$1,cc as cc$1,J as J$1,ce,I as I$1,Ca as Ca$1,L,ob,mb,je,ge as ge$1,ie,ee as ee$1,fe,de,qb,Ae as Ae$1,gg,ig,kg,he,M as M$1,Cd,Ed as Ed$1,Fd,Dd,Ad,Bd}from'./chunk-MY66WYAN.js';export{rg as AcceptComboQuoteError,$a as ApproveErc1155ForAllError,Xa as ApproveErc20Error,$d as ApprovePerpsBuilderFeeError,qe as ArmPerpsAutoCancelError,Rg as AuthorizeSessionKeyError,Rc as BiggestWinnerKind,Sc as BuilderVolumeInterval,od as CancelAllError,qd as CancelMarketOrdersError,kd as CancelOrderError,md as CancelOrdersError,pe as CancelPerpsChaseError,ye as CancelPerpsTwapError,lc as CollateralReturnKnownOperationKind,E as CombinatorialPrepareConditionCallError,xg as ComboAcceptFailureReason,va as ComboActivityType,sf as ComboPositionSortBy,tf as ComboPositionStatus,yg as ComboQuoteUnavailableReason,Vd as CreateLimitOrderError,Rd as CreateMarketOrderError,ne as CreatePerpsChaseError,ue as CreatePerpsTwapError,u as CtfMergePositionsCallError,w as CtfRedeemPositionsCallError,s as CtfSplitPositionCallError,Ue as DepositToPerpsError,qf as DownloadAccountingSnapshotError,Z as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,sd as EstimateMarketPriceError,jc as ExecuteCollateralReturnPlanError,Jc as FetchBuilderVolumeError,P as FetchClosedOnlyModeError,oc as FetchCommentsByIdError,uc as FetchEventError,Ac as FetchEventLiveVolumeError,wc as FetchEventTagsError,Zb as FetchLastTradePriceError,$b as FetchLastTradePricesError,ad as FetchMarketError,cd as FetchMarketTagsError,zb as FetchMidpointError,Bb as FetchMidpointsError,X as FetchNotificationsError,id as FetchOpenInterestError,Rb as FetchOrderBookError,Tb as FetchOrderBooksError,T as FetchOrderError,da as FetchOrderScoringError,fa as FetchOrdersScoringError,He as FetchPerpsBookError,ke as FetchPerpsBuilderApprovalsError,me as FetchPerpsBuilderEarningsSummaryError,Zd as FetchPerpsBuilderStatusError,oe as FetchPerpsChasesError,Pe as FetchPerpsFeesError,Be as FetchPerpsInstrumentsError,ae as FetchPerpsPositionSnapshotsError,cf as FetchPerpsRegistrationError,De as FetchPerpsTickerError,Fe as FetchPerpsTickersError,ve as FetchPerpsTwapsError,if as FetchPortfolioValueError,Nb as FetchPriceError,Pb as FetchPricesError,eg as FetchPublicProfileError,hh as FetchRelatedTagResourcesError,fh as FetchRelatedTagsError,yc as FetchResolutionsError,na as FetchRewardPercentagesError,vg as FetchRfqStatusError,Mg as FetchSeriesError,Pg as FetchSessionKeysError,Xg as FetchSportsMarketTypesError,Vb as FetchSpreadError,Xb as FetchSpreadsError,dh as FetchTagError,ja as FetchTotalEarningsForUserForDayError,Nc as FetchTraderLeaderboardStandingError,cb as FetchTradingApprovalsStateError,mf as FetchUserPnlError,kf as FetchUserStatsError,of as FetchUserVolumeError,$g as KnownPriceSource,Tc as LeaderboardWindow,V as ListAccountTradesError,ra as ListActivityError,Pc as ListBiggestWinnersError,Hc as ListBuilderLeaderboardError,xb as ListBuilderTradesError,ta as ListComboActivityError,_c as ListComboMarketsError,gf as ListComboPositionsError,qc as ListCommentsByUserAddressError,mc as ListCommentsError,bc as ListCurrentRewardsError,sc as ListEventsError,ed as ListMarketHoldersError,dc as ListMarketRewardsError,Yc as ListMarketsError,R as ListOpenOrdersError,le as ListPerpsBuilderEarningsError,Je as ListPerpsCandlesError,Le as ListPerpsFundingHistoryError,Ne as ListPerpsTradesError,ef as ListPositionsError,gd as ListPriceHistoryError,Kg as ListSeriesError,Vg as ListSportsError,bh as ListTagsError,jh as ListTeamsError,Lc as ListTraderLeaderboardError,pa as ListTradesError,la as ListUserEarningsAndMarketsConfigError,ha as ListUserEarningsForDayError,a as MAX_UINT256,Rf as MergePositionsError,Re as OpenPerpsSessionError,mg as OpenRfqSessionError,we as PausePerpsTwapError,q as PerpsDepositCallError,Xd as PlaceLimitOrderError,Td as PlaceMarketOrderError,fc as PlanCollateralReturnError,uf as PositionFilterType,vf as PositionSortBy,wf as PositionStatus,wd as PostOrderError,xd as PostOrdersError,Xc as PriceHistoryInterval,ah as PriceProvider,cg as RedeemPositionsError,pg as RequestComboQuoteError,Cc as ResolutionMarketType,Dc as ResolutionReporter,Ec as ResolutionSettlementTimeBasis,Fc as ResolutionSource,Gc as ResolutionStatus,xe as ResumePerpsTwapError,ze as RevokePerpsBuilderFeeError,Se as RevokePerpsCredentialsError,Tg as RevokeSessionKeyError,jg as RfqCancelQuoteError,ig as RfqCancelQuoteRejectedError,zg as RfqConfirmationDecision,lg as RfqConfirmationError,kg as RfqConfirmationRejectedError,Ag as RfqDirection,Bg as RfqExecutionStatus,Cg as RfqKnownErrorCode,hg as RfqQuoteError,gg as RfqQuoteRejectedError,Dg as RfqRejectionCode,og as RfqRequestRejectedError,Eg as RfqRequestedSizeUnit,Fg as RfqSide,Gg as RfqStatus,A as RouterMergeCallError,C as RouterRedeemCallError,y as RouterSplitCallError,Ig as SearchError,Hg as SearchSort,Og as SessionKeyKnownScope,fb as SetupTradingApprovalsError,K as SignerType,wa as SortDirection,Ff as SplitPositionError,Zg as SubscribeError,xa as TipSide,ya as TradeFilterType,Uc as TraderLeaderboardSort,nh as TransferErc20Error,We as TransferPerpsCollateralError,re as UpdatePerpsLeverageError,se as UpdatePerpsLeveragesError,te as UpdatePerpsMarginError,xf as UserPnlFidelity,yf as UserPnlInterval,tg as WaitForComboFillError,Pd as WaitForOrderFillSettlementError,za as WaitForTransactionError,Ve as WithdrawFromPerpsError,o as authorizeSessionSignerCall,F as combinatorialPrepareConditionCall,v as ctfMergePositionsCall,x as ctfRedeemPositionsCall,t as ctfSplitPositionCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,G as encodeProxyCall,H as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,Aa as expectTransactionHandle,r as perpsDepositCall,p as revokeSessionSignerCall,B as routerMergeCall,D as routerRedeemCall,z as routerSplitCall}from'./chunk-MY66WYAN.js';import {a,r,m,i,h,q,j,l,d,c,f}from'./chunk-VLNLVY4C.js';export{o as AutoCancelDailyLimitError,m as CancelledSigningError,f as ConnectionLostError,n as InsufficientLiquidityError,k as OperationAbortedError,b as PaginationLimitError,p as PerpsCancelRetryError,i as RateLimitError,s as RealtimeKnownErrorCode,h as RequestRejectedError,q as SigningError,j as TimeoutError,g as TradingRestriction,l as TransactionFailedError,d as TransportError,c as UnexpectedResponseError,a as UserInputError,e as WebSocketKnownCloseCode,r as makeErrorGuard}from'./chunk-VLNLVY4C.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{CommentParentEntityType,OrderSide,OrderType}from'@polymarket/bindings';export{AssetType,NotificationType,OrderPostStatus,OrderResponseErrorCode,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{ComboKnownStatus,ProtocolVersion,TeamOrdering,WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsKnownCancelOrderErrorCode,PerpsKnownInternalTransferType,PerpsKnownWithdrawalStatus,PerpsLiquidityRole,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsPositionSnapshotMarkerKind,PerpsPositionSnapshotStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce,PerpsTwapStatus}from'@polymarket/bindings/perps';import {z as z$1}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {TypedData}from'ox';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema,RealtimeKnownErrorCode,PolyboltAckOp,PolyboltAckSchema,PolyboltEnvelopeSchema,parsePolyboltEvent,PolyboltChannel}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var ia=z$1.object({POLY_BUILDER_API_KEY:z$1.string().min(1),POLY_BUILDER_TIMESTAMP:z$1.string().min(1),POLY_BUILDER_PASSPHRASE:z$1.string().min(1),POLY_BUILDER_SIGNATURE:z$1.string().min(1)});function oa(t){return new Re(t)}function na(t){return new ge(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.#t(e)}catch(r){throw q.fromError(r,"Could not authorize the builder-authenticated request")}}async#s(){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#t(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.#s(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return ia.parse(await r.json())}},ge=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 is(t){let e={chainId:t.chainId,name:"ClobAuthDomain",version:"1"};return {domain:e,message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{EIP712Domain:TypedData.extractEip712DomainTypes(e),ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function ca(t){return {listPositions:ff.bind(null,t),listComboPositions:hf.bind(null,t),fetchPortfolioValue:jf.bind(null,t),fetchTraderLeaderboardStanding:Oc.bind(null,t),fetchUserStats:lf.bind(null,t),fetchUserPnl:nf.bind(null,t),fetchUserVolume:pf.bind(null,t),downloadAccountingSnapshot:rf.bind(null,t),listActivity:sa.bind(null,t),listComboActivity:ua$1.bind(null,t)}}function R(t,e={}){return e===null||typeof e!="object"||Array.isArray(e)?e:{...e,user:e.user===void 0?t.account.wallet:e.user}}function ve(t){let e=ca(t);return t.isPublicClient()?e:{...e,listPositions:r=>ff(t,R(t,r)),listComboPositions:r=>hf(t,R(t,r)),fetchPortfolioValue:r=>jf(t,R(t,r)),fetchTraderLeaderboardStanding:r=>Oc(t,R(t,r)),fetchUserStats:r=>lf(t,R(t,r)),fetchUserPnl:r=>nf(t,R(t,r)),fetchUserVolume:r=>pf(t,R(t,r)),downloadAccountingSnapshot:r=>rf(t,R(t,r)),listActivity:r=>sa(t,R(t,r)),listComboActivity:r=>ua$1(t,R(t,r)),listAccountTrades:W$1.bind(null,t),fetchNotifications:Y$1.bind(null,t),dropNotifications:_.bind(null,t),fetchClosedOnlyMode:Q.bind(null,t)}}function qe(t){return {listBuilderTrades:yb.bind(null,t),listBuilderLeaderboard:Ic.bind(null,t),fetchBuilderVolume:Kc.bind(null,t),listTraderLeaderboard:Mc.bind(null,t),listBiggestWinners:Qc.bind(null,t)}}function Ce(t){return {fetchEventLiveVolume:Bc.bind(null,t),fetchResolutions:zc.bind(null,t),fetchMidpoint:Ab.bind(null,t),fetchMidpoints:Cb.bind(null,t),fetchPrice:Ob.bind(null,t),fetchPrices:Qb.bind(null,t),fetchOrderBook:Sb.bind(null,t),fetchOrderBooks:Ub.bind(null,t),fetchSpread:Wb.bind(null,t),fetchSpreads:Yb.bind(null,t),fetchLastTradePrice:_b.bind(null,t),fetchLastTradePrices:ac.bind(null,t),listPriceHistory:hd.bind(null,t),estimateMarketPrice:td.bind(null,t),fetchOpenInterest:jd.bind(null,t),listMarketHolders:fd.bind(null,t),listTrades:qa.bind(null,t)}}function Ae(t){return {listEvents:tc$1.bind(null,t),fetchEvent:vc.bind(null,t),fetchEventTags:xc.bind(null,t),listMarkets:Zc.bind(null,t),listComboMarkets:$c.bind(null,t),fetchMarket:bd.bind(null,t),fetchMarketTags:dd.bind(null,t),listSeries:Lg.bind(null,t),fetchSeries:Ng.bind(null,t),listMarketClarifications:Wc.bind(null,t),listTags:ch.bind(null,t),fetchTag:eh.bind(null,t),fetchRelatedTags:gh.bind(null,t),fetchRelatedTagResources:ih.bind(null,t),search:Jg.bind(null,t),listSports:Wg.bind(null,t),fetchSportsMarketTypes:Yg.bind(null,t),listTeams:kh.bind(null,t),fetchPublicProfile:fg.bind(null,t),listComments:nc.bind(null,t),fetchCommentsById:pc$1.bind(null,t),listCommentsByUserAddress:rc.bind(null,t)}}function Ee(t){let e={fetchPerpsPositionSnapshots:r=>be(t,r),fetchPerpsRegistration:df.bind(null,t),fetchPerpsBuilderStatus:_d.bind(null,t),fetchPerpsBook:r=>Ie(t,r),fetchPerpsFees:()=>Qe$1(t),fetchPerpsInstruments:r=>Ce$1(t,r),fetchPerpsTicker:r=>Ee$1(t,r),fetchPerpsTickers:r=>Ge(t,r),listPerpsCandles:r=>Ke(t,r),listPerpsFundingHistory:r=>Me$1(t,r),listPerpsTrades:r=>Oe$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>_e(t,r),openPerpsSession:r=>Xe(t,r),revokePerpsCredentials:r=>Ye(t,r),transferPerpsCollateral:af.bind(null,t),withdrawFromPerps:r=>$e(t,r)}:e}function ua(t){return {listCurrentRewards:cc$1.bind(null,t),listMarketRewards:ec$1.bind(null,t)}}function we(t){let e=ua(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ea.bind(null,t),fetchOrdersScoring:ga$1.bind(null,t),listUserEarningsForDay:ia$1.bind(null,t),fetchTotalEarningsForUserForDay:ka$1.bind(null,t),listUserEarningsAndMarketsConfig:ma$1.bind(null,t),fetchRewardPercentages:oa$1.bind(null,t)}}function os(t){return {openRfqSession(){return ng(t)},requestComboQuote(e){return qg(t,e)},acceptComboQuote(e){return sg(t,e)},waitForComboFill(e){return ug(t,e)}}}function ns(t){return {authorizeSessionKey:Sg.bind(null,t),fetchSessionKeys:Qg.bind(null,t),revokeSessionKey:Ug.bind(null,t)}}function Te(t){return t.isSecureClient()?{subscribe(e){return _g(t,e)}}:{subscribe(e){return _g(t,e)}}}function as(t){return {createMarketOrder:Sd.bind(null,t),placeMarketOrder:Ud.bind(null,t),createLimitOrder:Wd.bind(null,t),placeLimitOrder:Yd.bind(null,t),postOrder:yd(t),postOrders:zd(t),waitForOrderFillSettlement:Qd.bind(null,t),cancelOrder:ld.bind(null,t),cancelOrders:nd.bind(null,t),cancelAll:pd.bind(null,t),cancelMarketOrders:rd.bind(null,t),listOpenOrders:S.bind(null,t),fetchOrder:U$1.bind(null,t)}}function da(t){return {fetchTradingApprovalsState:db.bind(null,t)}}function ke(t){let e=da(t);return t.isPublicClient()?e:{...e,fetchTradingApprovalsState:()=>db(t,{user:t.account.wallet}),setupTradingApprovals:gb.bind(null,t),approveErc20:Ya$1.bind(null,t),approveErc1155ForAll:ab.bind(null,t),transferErc20:oh.bind(null,t),splitPosition:Kf.bind(null,t),mergePositions:Wf.bind(null,t),redeemPositions:dg.bind(null,t),planCollateralReturn:gc.bind(null,t),executeCollateralReturnPlan:kc.bind(null,t)}}function cs(t){return t.isSecureClient()?{...ve(t),...qe(t),...Ce(t),...Ae(t),...Ee(t),...we(t),...os(t),...ns(t),...Te(t),...as(t),...ke(t)}:{...ve(t),...qe(t),...Ce(t),...Ae(t),...Ee(t),...we(t),...Te(t),...ke(t)}}var xe={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"),binaryModule:expectEvmAddress("0x1000008dD9001B968442c1000017eaE6E0dA00Ba"),negRiskModule:expectEvmAddress("0x200000900045e3B6259600682756002200028933"),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"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",builderGateway:{rest:"https://combos-rfq-gateway-builder.polymarket.com"},collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},realtime:{ws:"wss://ws-live-v2.polymarket.com/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function pa(t,e=xe){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...k(e.clob,t.clob),market:U(e.clob.market,t.clob?.market),user:U(e.clob.user,t.clob?.user)},relayer:k(e.relayer,t.relayer),gamma:k(e.gamma,t.gamma),data:k(e.data,t.data),combos:{...us(e.combos,t.combos),builderGateway:k(e.combos.builderGateway,t.combos?.builderGateway),collateralReturn:k(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:us(e.perps,t.perps),realtime:U(e.realtime,t.realtime),rtds:U(e.rtds,t.rtds),sports:U(e.sports,t.sports)}}function k(t,e){return {...t,...e,headers:Fe(t.headers,e?.headers)}}function U(t,e){return {...t,...e,headers:Fe(t.headers,e?.headers)}}function us(t,e){return {...t,...e,headers:Fe(t.headers,e?.headers)}}function Fe(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var Ed=pa({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 ds(t,e,r,s,i){let o=`${e}${r}${s}`;i!==void 0&&(o+=i);let n=await globalThis.crypto.subtle.importKey("raw",la(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),a=await globalThis.crypto.subtle.sign("HMAC",n,new TextEncoder().encode(o));return ha(ma(a))}function la(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let i=0;i<r.length;i+=1)s[i]=r.charCodeAt(i);return s.buffer}function ma(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function ha(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function g(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;#s;constructor(e){this.#s=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let i={subscription:e,subscriber:s};return {change:this.#t(i),entry:i}}#t(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.#s(this.#e)}};function Me(t,e,r){let s=z(r.assetsIds,e.assetsIds),i=z(e.assetsIds,r.assetsIds);s.length>0&&t(ps(s,r.customFeatureEnabled));let o=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&o!==void 0&&t(ps([o],r.customFeatureEnabled)),i.length>0&&t(fa(i));}function Oe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(ms(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(ls(r.markets));return}let s=z(r.markets,e.markets),i=z(e.markets,r.markets);s.length>0&&t(ls(s)),i.length>0&&t(ms(i));}function hs(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let i of s.assetIds??s.tokenIds)e.add(i);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function ys(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Rs(s)){e=true;continue}for(let i of s.markets??[])r.add(i);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function fs(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function ps(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function fa(t){return {assets_ids:t,operation:"unsubscribe"}}function bs(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 ls(t){return {markets:t,operation:"subscribe"}}function ms(t){return {markets:t,operation:"unsubscribe"}}function Ss(t){let e=t.assetIds??t.tokenIds;return r=>{switch(r.type){case "price_change":return r.payload.priceChanges.some(s=>e.includes(s.assetId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(r.payload.assetIds??[]).some(s=>e.includes(s));case "best_bid_ask":return t.customFeatureEnabled===true&&e.includes(r.payload.assetId);default:return e.includes(r.payload.assetId)}}}function Ps(t){if(Rs(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Rs(t){return (t.markets?.length??0)===0}function z(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var E=class{#e;#s;#t;#n=new je({heartbeat:new de});#a=new ie;#r=new P({deriveServerState:hs});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#r.add(e,{matches:Ss(e)});return await this.#i(s,r),g(s.subscriber.queue,()=>this.#o(s))}async#i(e,r){let{before:s,after:i}=r;try{(await this.#c()).reusedOpenSocket&&Me(n=>this.#n.send(n),s,i);}catch(o){throw await this.#o(e),o}}async#o(e){let{before:r,after:s}=this.#r.remove(e);if(!this.#r.hasActiveSubscriptions()){await this.close();return}Me(i=>this.#n.send(i),r,s);}async close(){this.#t===void 0&&(this.#t=this.#d().finally(()=>{this.#t=void 0;})),await this.#t;}async#d(){this.#a.stop(),this.#r.endAll(),await this.#n.close();}#c(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#m(),onMessage:e=>this.#p(e),onOpen:()=>this.#u(),headers:this.#e,url:this.#s})}#u(){this.#a.resetBackoff(),this.#y();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=MarketEventSchema.safeParse(s);i.success&&this.#r.dispatch(i.data);}}#l(){this.#r.hasActiveSubscriptions()&&this.#h();}#m(){}#y(){this.#n.send(fs(this.#r.serverState()));}#h(){this.#a.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#r.hasActiveSubscriptions()});}};var x=class{#e;#s;#t;#n;#a=new je({heartbeat:new de});#r=new ie;#i=new P({deriveServerState:ys});constructor(e){this.#e=e.credentials,this.#s=e.headers,this.#t=e.url;}async subscribe(e){let{change:r,entry:s}=this.#i.add(e,{matches:Ps(e)});return await this.#o(s,r),g(s.subscriber.queue,()=>this.#d(s))}async#o(e,r){let{before:s,after:i}=r;try{(await this.#u()).reusedOpenSocket&&Oe(n=>this.#a.send(n),s,i);}catch(o){throw await this.#d(e),o}}async#d(e){let{before:r,after:s}=this.#i.remove(e);if(!this.#i.hasActiveSubscriptions()){await this.close();return}Oe(i=>this.#a.send(i),r,s);}async close(){this.#n===void 0&&(this.#n=this.#c().finally(()=>{this.#n=void 0;})),await this.#n;}async#c(){this.#r.stop(),this.#i.endAll(),await this.#a.close();}#u(){return this.#a.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#y(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#s,url:this.#t})}#p(e){this.#r.resetBackoff(),this.#h(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=UserEventSchema.safeParse(s);i.success&&this.#i.dispatch(i.data);}}#m(){this.#i.hasActiveSubscriptions()&&this.#f();}#y(){}#h(e){this.#a.send(bs(this.#i.serverState(),e));}#f(){this.#r.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#i.hasActiveSubscriptions()});}};var F=class{#e;#s;#t;#n;#a=new Set;#r=new Set;#i=new Set;#o=false;constructor(e){this.#e=e.chainId,this.#s=e.headers,this.#t=e.restUrl,this.#n=e.wsUrl;}connect(e,r,s,i){if(this.#o)return Promise.reject(new d("Perps session manager has been shut down."));let o=new Ae$1({builderAttribution:r,approveBuilderFee:s,includeBuilderFills:i,chainId:this.#e,credentials:e,headers:this.#s,onClose:a=>this.#d(a),restUrl:this.#t,wsUrl:this.#n});this.#r.add(o);let n;return n=(async()=>{try{if(await o.connect(),this.#o)throw await o.close(),new d("Perps session manager has been shut down.");return this.#a.add(o),o}catch(a){throw await o.close(),a}finally{this.#i.delete(n),this.#r.delete(o);}})(),this.#i.add(n),n}async shutdown(){this.#o=true;let e=Array.from(this.#a),r=Array.from(this.#r),s=Array.from(this.#i);this.#a.clear(),this.#r.clear(),this.#i.clear(),await Promise.allSettled([...e.map(i=>i.close()),...r.map(i=>i.close()),...s.map(i=>i.catch(()=>{}))]).then(()=>{});}#d(e){this.#a.delete(e),this.#r.delete(e);}};var w=class{#e;#s;#t;#n=1;#a=new je({heartbeat:new ge$1});#r=new ie;#i=new P({deriveServerState:Ra});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#i.add(e,{matches:va(e)});return await this.#o(s,r),g(s.subscriber.queue,()=>this.#d(s))}async#o(e,r){try{(await this.#u()).reusedOpenSocket&&(this.#h(gs(r.before,r.after)),this.#f(vs(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#i.remove(e);this.#h(gs(r,s)),this.#f(vs(r,s)),this.#i.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#c().finally(()=>{this.#t=void 0;})),await this.#t;}async#c(){this.#r.stop(),this.#i.endAll(),await this.#a.close();}#u(){return this.#a.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#y(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#s})}#p(){this.#r.resetBackoff(),this.#h(Array.from(this.#i.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#i.dispatch(r.data);}#m(){this.#i.hasActiveSubscriptions()&&this.#S();}#y(){}#h(e){e.length!==0&&this.#a.send(this.#b("sub",e));}#f(e){e.length!==0&&this.#a.send(this.#b("unsub",e));}#b(e,r){return {id:this.#n++,req:e,chs:r}}#S(){this.#r.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#i.hasActiveSubscriptions()});}};function Ra(t){let e=new Set,r=new Set,s=new Set,i=false,o=false;for(let{subscription:n}of t)switch(n.topic){case "perps.tickers":n.instrumentId===void 0?i=true:r.add(n.instrumentId);break;case "perps.statistics":n.instrumentId===void 0?o=true:s.add(n.instrumentId);break;default:e.add(ga(n));}if(i)e.add("tickers::all");else for(let n of r)e.add(`tickers::${n}`);if(o)e.add("statistics::all");else for(let n of s)e.add(`statistics::${n}`);return e}function gs(t,e){return Array.from(e).filter(r=>!t.has(r))}function vs(t,e){return Array.from(t).filter(r=>!e.has(r))}function ga(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 va(t){switch(t.topic){case "perps.trades":return e=>e.topic==="perps.trades"&&e.channel===`trades::${t.instrumentId}`;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 Cs(t){let e="symbol"in t?[t.symbol.toLowerCase()]:t.symbols,{provider:r}=t;return e.map(s=>t.topic==="prices.crypto.twap"||t.topic==="prices.equity.twap"?{key:JSON.stringify([t.topic,s,60,r]),topic:t.topic,symbol:s,windowSeconds:60,provider:r}:{key:JSON.stringify([t.topic,s,r]),topic:t.topic,symbol:s,provider:r})}function As(t,e){return Math.random()*(t===4003?1e4:Math.min(1e3*2**e,3e4))}var N=class{#e;#s=new ie;#t=new Map;#n=[];#a;#r;#i=false;#o=false;#d=false;#c=false;#u;#p=0;#l=64;#m=Number.NEGATIVE_INFINITY;constructor(e){this.#e=e;}get size(){return this.#t.size}has(e){return this.#t.has(e)}get closed(){return this.#o}get keyTarget(){return Date.now()-this.#m>=6e4?64:this.#l}add(e,r){clearTimeout(this.#r);let s=this.#t.get(e.key);if(s===void 0){let{promise:i,resolve:o,reject:n}=Promise.withResolvers();i.catch(()=>{}),s={subscription:e,listeners:new Set,ready:i,resolve:o,reject:n,subscribed:false,accepted:false},this.#t.set(e.key,s),this.#i&&this.#f("subscribe",[s]);}return s.listeners.add(r),s.confirmation!==void 0&&r.subscribed?.({...s.confirmation}),s.snapshot!==void 0&&r.event(s.snapshot),!this.#i&&!this.#c&&this.#u===void 0&&!this.#s.isScheduled&&this.#y(),Ca(s.ready)}remove(e,r){let s=this.#t.get(e);s!==void 0&&(s.listeners.delete(r),!(s.listeners.size>0)&&(this.#t.delete(e),s.reject(new d("Realtime subscription closed.")),this.#i&&this.#f("unsubscribe",[s]),this.#t.size===0&&(this.#r=setNonBlockingTimeout(()=>{this.close();},1e3))));}#y(){if(this.#o||this.#c)return Promise.resolve();if(this.#u!==void 0)return this.#u;let e=this.#h().catch(r=>{this.#C([...this.#t.values()].filter(s=>!s.accepted),d.fromError(r));}).finally(()=>{this.#u===e&&(this.#u=void 0),this.#i||this.#q(1006);});return this.#u=e,e}async#h(){let e=this.#p;if(await this.#e.open({subscribed:(r,s)=>this.#R(r,s),event:r=>this.#g(r),dropped:()=>this.#v(),disconnected:r=>this.#w(r)}),!(this.#o||e!==this.#p))try{if(await this.#e.authorize(),this.#o||e!==this.#p)return;this.#i=!0,this.#f("subscribe",[...this.#t.values()]);}catch(r){if(this.#o||e!==this.#p)return;r instanceof h&&r.code!==RealtimeKnownErrorCode.AuthUnavailable?this.#E(r):await this.#A(1006);}}#f(e,r){if(r.length===0)return;let s=this.#n.at(-1);s?.op===e?s.keys.push(...r):this.#n.push({op:e,keys:r}),this.#b();}#b(){this.#a!==void 0||this.#d||!this.#i||this.#o||(this.#a=setNonBlockingTimeout(()=>{this.#a=void 0,this.#S();},10));}async#S(){if(!this.#i||this.#o)return;let e=this.#n.shift();if(e===void 0)return;let r=[...new Set(e.keys)].filter(i=>e.op==="unsubscribe"||this.#t.get(i.subscription.key)===i);if(r.length===0){this.#b();return}let s=this.#p;this.#d=true;try{let i=await this.#e.change(e.op,r.map(({subscription:o})=>o));if(s!==this.#p||this.#o)return;if(e.op==="unsubscribe"&&i.length>0){let o=i[0];if(o!==void 0)throw o.error}if(e.op==="subscribe"){this.#s.resetBackoff();let o=new Set(i.map(n=>n.key));for(let n of r)o.has(n.subscription.key)||(n.subscribed=!0,n.accepted=!0,n.resolve());for(let{key:n,error:a}of i){let u=r.find(p=>p.subscription.key===n);u!==void 0&&this.#C([u],a,!1);}}}catch(i){if(s!==this.#p||this.#o)return;i instanceof h&&e.op==="subscribe"?this.#C(r,i):await this.#A(1006);}finally{this.#d=false,this.#b();}}#R(e,r){let s=this.#t.get(e.key);if(s?.subscription===e){s.confirmation={...r};for(let i of [...s.listeners])i.subscribed?.({...r});}}#g(e){for(let r of this.#t.values()){let s=r.subscription;if(s.topic!==e.topic)continue;let i=e.payload;if(i.symbol.toLowerCase()===s.symbol&&!((s.topic==="prices.crypto.twap"||s.topic==="prices.equity.twap")&&(!("windowSeconds"in i)||i.windowSeconds!==s.windowSeconds))){r.snapshot=Aa(r.snapshot,e);for(let o of r.listeners)o.event(e);}}}#v(){let e=Date.now();e-this.#m<5e3||(this.#l=Math.max(1,Math.floor(this.keyTarget/2)),this.#m=e);}#P(){this.#p++,this.#i=false,this.#n=[],clearTimeout(this.#a),this.#a=void 0;for(let e of this.#t.values()){if(e.snapshot=void 0,e.confirmation=void 0,!e.subscribed)continue;let{promise:r,resolve:s,reject:i}=Promise.withResolvers();r.catch(()=>{}),e.ready=r,e.resolve=s,e.reject=i,e.subscribed=false;}}#w(e){let r=new f("Realtime connection closed.",e);this.#P(),e.code===4001||e.code===4008?this.#E(r):this.#q(e.code);}async#A(e){this.#c=true,this.#P();try{await this.#e.close();}finally{this.#c=false,this.#q(e);}}#q(e){this.#s.schedule({delayPolicy:r=>As(e,r),shouldReconnect:()=>!this.#o&&this.#t.size>0,reconnect:()=>this.#y()});}#E(e){let r=[...this.#t.values()],s=new Set(r.flatMap(i=>[...i.listeners]));for(let i of r)i.reject(e);for(let i of s)i.end(e);this.close();}#C(e,r,s=true){let i=e.filter(n=>this.#t.get(n.subscription.key)===n),o=new Set(i.flatMap(n=>[...n.listeners]));for(let n of i)this.#t.delete(n.subscription.key),n.reject(r);s&&this.#i&&this.#f("unsubscribe",i);for(let n of o)n.end(r);this.#t.size===0&&(this.#r=setNonBlockingTimeout(()=>{this.close();},1e3));}async close(){if(this.#o)return;this.#o=true,this.#s.stop(),clearTimeout(this.#r);let e=new d("Realtime connection closed.");this.#P();for(let r of this.#t.values())r.reject(e);this.#t.clear(),await this.#e.close();}};function Ca(t){return new Promise((e,r)=>{let s=setNonBlockingTimeout(()=>{r(new d("Realtime subscription was not accepted within 30 seconds."));},3e4);t.then(()=>{clearTimeout(s),e();},i=>{clearTimeout(s),r(i);});})}function Aa(t,e){if(e.type==="subscribe")return e;let{symbol:r,source:s,timestamp:i,value:o}=e.payload,n=t?.type==="subscribe"&&t.payload.source===s?t.payload.data:[];if((n.at(-1)?.timestamp??0)>i)return t;let a=[...n.filter(u=>u.timestamp>i-12e4&&u.timestamp<i),{timestamp:i,value:o}];return e.topic==="prices.crypto.twap"||e.topic==="prices.equity.twap"?{...e,type:"subscribe",payload:{symbol:r,source:s,data:a,windowSeconds:e.payload.windowSeconds}}:{...e,type:"subscribe",payload:{symbol:r,source:s,data:a}}}var G=class{#e;#s=new je({heartbeat:new he,connectTimeoutMs:1e4,closeTimeoutMs:1e3});#t=new Map;#n;#a=0;#r=0;#i=0;constructor(e){this.#e=e;}async open(e){this.#n=e;let r=this.#i;await this.#s.connect({url:this.#e.url,headers:this.#e.headers,onOpen:()=>{},onError:()=>{},onConnectionLost:s=>{r===this.#i&&(this.#c(new f("Realtime connection closed.",s)),e.disconnected(s));},onMessage:s=>{r===this.#i&&this.#d(s);}});}async authorize(){let{key:e,secret:r,passphrase:s}=this.#e.credentials;await this.#o({op:"auth",auth:{apiKey:e,secret:r,passphrase:s}},PolyboltAckOp.Authed,[]);}async change(e,r){let s=[],i=0;for(;i<r.length;){let o=[];for(;i+o.length<r.length;){let a=r[i+o.length];if(a===void 0)break;let u=ka(a),p={op:e,subscriptions:[...o,u],rid:String(this.#a+1)};if(o.length>0&&new TextEncoder().encode(JSON.stringify(p)).length>6e4)break;o.push(u);}let n=await this.#o({op:e,subscriptions:o},e==="subscribe"?PolyboltAckOp.Subscribed:PolyboltAckOp.Unsubscribed,o.map(({channel:a})=>a),r.slice(i,i+o.length));for(let{index:a,error:u}of n){let p=r[i+a];p!==void 0&&s.push({key:p.key,error:u});}i+=o.length;}return s}#o(e,r,s,i=[]){let o=String(++this.#a);return new Promise((n,a)=>{let u={op:r,channels:[...s],subscriptions:i,rejections:[],resolve:n,reject:a};this.#t.set(o,u),u.sendTimer=setNonBlockingTimeout(()=>{u.timer=setNonBlockingTimeout(()=>{this.#t.delete(o),a(new d("Realtime acknowledgement timed out after 10 seconds."));},1e4),this.#r=Date.now();try{if(!this.#s.send({...e,rid:o}))throw new d("Realtime connection is not open.")}catch(p){clearTimeout(u.timer),this.#t.delete(o),a(d.fromError(p));}},Math.max(0,110-(Date.now()-this.#r)));})}#d(e){let r=PolyboltAckSchema.safeParse(e);if(r.success){let{op:o,rid:n,code:a,channel:u,provider:p}=r.data,c=n===void 0?void 0:this.#t.get(n);if(c===void 0)return;if(o===PolyboltAckOp.Error&&a!==void 0){let b=new h(`Realtime subscription rejected: ${a}`,{status:200,code:a}),y=c.channels.flatMap((m,C)=>m===u?[C]:[]);if(u===void 0||y.length!==1)c.reject(b);else {let m=y[0];if(m===void 0||(c.channels[m]=void 0,c.rejections.push({index:m,error:b}),c.channels.some(C=>C!==void 0)))return;c.resolve(c.rejections);}}else if(o===c.op){if(c.channels.length>0){let b=c.channels.findIndex(m=>m!==void 0);if(b<0||c.channels[b]!==u)return;c.channels[b]=void 0;let y=c.subscriptions[b];if(o===PolyboltAckOp.Subscribed&&y!==void 0&&this.#n?.subscribed(y,{symbol:y.symbol,provider:p}),c.channels.some(m=>m!==void 0))return}c.resolve(c.rejections);}else return;clearTimeout(c.timer),n!==void 0&&this.#t.delete(n);return}let s=PolyboltEnvelopeSchema.safeParse(e);if(!s.success)return;let i=parsePolyboltEvent(s.data);i!==void 0&&this.#n?.event(i),(s.data.dropped??0)>0&&this.#n?.dropped();}#c(e){for(let r of this.#t.values())clearTimeout(r.sendTimer),clearTimeout(r.timer),r.reject(e);this.#t.clear();}async close(){this.#i++,this.#n=void 0,this.#c(new d("Realtime connection closed.")),await this.#s.close();}};function ka(t){switch(t.topic){case "prices.crypto":return {channel:PolyboltChannel.Crypto,filter:{symbol:t.symbol,provider:t.provider}};case "prices.crypto.twap":return {channel:PolyboltChannel.Twap,filter:{symbol:t.symbol,window_seconds:t.windowSeconds,provider:t.provider}};case "prices.equity":return {channel:PolyboltChannel.Equity,filter:{symbol:t.symbol,provider:t.provider}};case "prices.equity.twap":return {channel:PolyboltChannel.EquityTwap,filter:{symbol:t.symbol,window_seconds:t.windowSeconds,provider:t.provider}}}}var Y=class{#e;#s=new Map;#t=new Set;constructor(e){this.#e=e;}async subscribe(e){let r=[...new Map(Cs(e).map(p=>[p.key,p])).values()],s=pushable({objectMode:true}),i=[],o=false,n,a=async()=>{if(!o){o=true;for(let p of i)p();n===void 0?await s.return():s.end(n),this.#t.delete(a);}};this.#t.add(a);let u=p=>{o||(n=d.fromError(p),s.end(n),a());};try{let p=r.map(c=>{if(o)return Promise.resolve();let b=this.#n(c.key,c.provider),y={subscribed(m){if(!(o||!("onSubscribed"in e)))try{Promise.resolve(e.onSubscribed?.(m)).catch(u);}catch(C){u(C);}},event(m){if(o||"types"in e&&e.types!==void 0&&e.types.length>0&&!e.types.includes(m.type))return;let C="symbol"in m.payload?{...m.payload,symbol:"symbol"in c?c.symbol:m.payload.symbol}:m.payload;s.push({...m,payload:C});},end(m){n=m,s.end(m),a();}};return i.push(()=>b.remove(c.key,y)),b.add(c,y)});for(let c of p)c.catch(()=>{});if(await Promise.all(p),n!==void 0)throw n}catch(p){throw await a(),n??p}return {close:a,async*[Symbol.asyncIterator](){try{yield*s;}finally{await a();}}}}#n(e,r){for(let i of this.#s.keys())if(i.closed)this.#s.delete(i);else if(i.has(e))return i;for(let[i,o]of this.#s)if(o===r&&i.size<i.keyTarget)return i;let s=new N(new G(this.#e));return this.#s.set(s,r),s}async close(){await Promise.all([...this.#t].map(r=>r()));let e=[...this.#s.keys()];this.#s.clear(),await Promise.all(e.map(r=>r.close()));}};var W=class{#e;constructor(e){this.#e=new Y(e);}async subscribe(e){return this.#e.subscribe(e)}async close(){await this.#e.close();}};function Ts(t,e){return {...e,quote:r=>t.quote(e,r)}}function ks(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 xs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Fs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Ms(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Os(t,e){let r=M$1(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 Is(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 Ls(t,e,r){let s=M$1(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function Bs(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var J=class{#e=new Map;#s;constructor(e){this.#s=e;}waitFor(e,r){let s=Ma(),i,o=setNonBlockingTimeout(()=>{this.remove(e,i),s.reject(new j(r));},this.#s);i=s.promise.finally(()=>clearTimeout(o));let n=this.#e.get(e)??[];return n.push({...s,promise:i}),this.#e.set(e,n),i}resolve(e,r){let s=this.#e.get(e),i=s?.shift();i!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),i.resolve(r));}reject(e,r){let s=this.#e.get(e),i=s?.shift();i!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),i.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let i=s.filter(o=>o.promise!==r);i.length===0?this.#e.delete(e):this.#e.set(e,i);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function Ma(){let t,e;return {promise:new Promise((s,i)=>{t=s,e=i;}),reject:e,resolve:t}}var Ds="0x0000000000000000000000000000000000000000000000000000000000000000";async function Ws(t){let e=M$1(t.account),r=Cd({chainId:t.chainId,exchange:t.exchange}),s={builder:Ds,maker:e.maker,makerAmount:toBaseUnits(Dd(t.orderSide,t.orderPrice,t.size)),metadata:Ds,salt:Oa().toString(),side:Fd(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(Ed$1(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},i;try{i=await t.signer.signTypedData(Ad({domain:r,order:s}));}catch(o){throw q.fromError(o,"Could not sign the RFQ quote order.")}return {...s,signature:Bd({domain:r,order:s,signature:i})}}function Oa(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var Hs=DecimalishSchema.transform(t=>zs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),Ba=z$1.strictObject({price:Hs.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:Hs.optional(),source:z$1.enum(["collateral","inventory"]).default("collateral")});function _s(t){return I$1(t,Ba)}async function js(t){let e=t.response.price,r=t.response.size===void 0?Ka(t.request.requestedSize,e):t.response.size,s=await Ws({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:Da(t.request,t.response.source,e),orderSide:Wa(t.response.source),signer:t.signer,size:r,tokenId:Ua(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Ua(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function Da(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function Wa(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function Ka(t,e){let r=zs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function zs(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 i=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(i<=0n)throw new a("Value must be greater than 0.");return i}var ja=3e4,za=3e4,M=class{#e;#s;#t;#n;#a;#r;#i;#o;#d;#c;#u=false;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#t=e.credentials,this.#n=e.exchange,this.#a=e.headers,this.#r=e.signer,this.#i=e.url;}async connect(){if(this.#u)throw new d("RFQ quoter manager has been shut down.");if(this.#o!==void 0){if(!this.#o.closed)return this.#o;this.#o=void 0;}if(this.#c!==void 0)return this.#c;let e=new Ue({account:this.#e,chainId:this.#s,credentials:this.#t,exchange:this.#n,headers:this.#a,onClose:()=>this.#p(e),signer:this.#r,url:this.#i});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#u)throw await e.close(),new d("RFQ quoter manager has been shut down.");return this.#o=e,e}catch(s){throw await e.close(),s}finally{this.#c===r&&(this.#c=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#c=r,r}async shutdown(){this.#u=true;let e=this.#o,r=this.#d,s=this.#c;this.#o=void 0,this.#d=void 0,this.#c=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#o===e&&(this.#o=void 0),this.#d===e&&(this.#d=void 0);}},Ue=class{#e;#s;#t;#n;#a;#r;#i;#o;#d=new je;#c=pushable({objectMode:true});#u=new J(za);#p;#l;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#t=e.credentials,this.#n=e.exchange,this.#a=e.headers,this.#r=e.onClose,this.#i=e.signer,this.#o=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Va();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new d("RFQ quoter authentication timed out."));},ja);try{await this.#d.connect({headers:this.#a,onConnectionLost:s=>this.#v(s),onError:()=>{},onMessage:s=>this.#R(s),onOpen:()=>this.#S(),url:this.#o}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#m(e){if(!this.#d.send(e))throw new d("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#y()),await this.#p;}[Symbol.asyncIterator](){return this.#c[Symbol.asyncIterator]()}async#y(){let e=new d("RFQ quoter websocket closed.");this.#b(e),this.#c.end(),await this.#d.close(),this.#r();}async#h(e){this.#p===void 0&&(this.#p=this.#f(e)),await this.#p;}async#f(e){this.#b(e),this.#c.end(e),await this.#d.close(),this.#r();}#b(e){this.#l?.reject(e),this.#u.rejectAll(e);}#S(){this.#d.send(Os(this.#e,this.#t));}#R(e){if(this.#p!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#g(s);return;case "quote_request":this.#c.push(Ts(this,s));return;case "quote_ack":this.#u.resolve(Z(s.rfqId),xs(s));return;case "quote_cancel_ack":this.#u.resolve(Le(s.rfqId,s.quoteId),Fs(s));return;case "confirmation_request":this.#c.push(ks(this,s));return;case "confirmation_ack":this.#u.resolve(Be(s.rfqId,s.quoteId),Ms(s));return;case "execution_update":this.#c.push(s);return;case "trade":this.#c.push(s);return;case "rfq_error":this.#P(s);return}}#g(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new d(`RFQ quoter authentication failed: ${e.error}`));}#v(e){this.#h(new f("RFQ quoter connection lost.",e));}#P(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#h(new d("Uncorrelated RFQ quoter error."));return}this.#u.reject(Z(e.rfqId),new gg(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.#h(new d("Uncorrelated RFQ quoter error."));return}this.#u.reject(Le(e.rfqId,e.quoteId),new ig(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.#h(new d("Uncorrelated RFQ quoter error."));return}this.#u.reject(Be(e.rfqId,e.quoteId),new kg(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=_s(r),i=await js({account:this.#e,chainId:this.#s,exchange:this.#n,request:e,response:s,signer:this.#i}),o=this.#u.waitFor(Z(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#m(Is(e,i)),await o}catch(n){throw this.#u.remove(Z(e.rfqId),o),n}}async cancelQuote(e){let r=Le(e.rfqId,e.quoteId),s=this.#u.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#m(Ls(this.#e,e.rfqId,e.quoteId)),await s}catch(i){throw this.#u.remove(r,s),i}}async respondToConfirmation(e,r,s){let i=Be(e,r),o=this.#u.waitFor(i,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#m(Bs(e,r,s)),await o}catch(n){throw this.#u.remove(i,o),n}}};function Z(t){return `ACK_RFQ_QUOTE:${t}`}function Le(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Be(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Va(){let t,e;return {promise:new Promise((s,i)=>{t=s,e=i;}),reject:e,resolve:t}}var O=class{#e;#s;#t;#n=new je({heartbeat:new ee$1});#a=new ie;#r=new P({deriveServerState:Ya});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#r.add(e,{matches:tc(e)});return await this.#i(s,r),g(s.subscriber.queue,()=>this.#o(s))}async#i(e,r){try{if((await this.#c()).reusedOpenSocket){let{before:i,after:o}=r,n=$a(i,o);this.#h(n);}}catch(s){throw await this.#o(e),s}}async#o(e){let{before:r,after:s}=this.#r.remove(e),i=Ga(r,s);this.#f(i),this.#r.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#d().finally(()=>{this.#t=void 0;})),await this.#t;}async#d(){this.#a.stop(),this.#r.endAll(),await this.#n.close();}#c(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#m(),onMessage:e=>this.#p(e),onOpen:()=>this.#u(),headers:this.#e,url:this.#s})}#u(){this.#a.resetBackoff(),this.#y();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#r.dispatch(r.data);}#l(){this.#r.hasActiveSubscriptions()&&this.#b();}#m(){}#y(){this.#h(Array.from(this.#r.serverState().values()));}#h(e){e.length!==0&&this.#n.send(Ja(e));}#f(e){e.length!==0&&this.#n.send(Za(e));}#b(){this.#a.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#r.hasActiveSubscriptions()});}};function $a(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function Ga(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Ya(t){let e=new Map;for(let{subscription:r}of t)for(let s of Xa(r))e.has(s.key)||e.set(s.key,s);return e}function Ja(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Za(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Xa(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>K("comments",e));case "prices.crypto.binance":return [K("crypto_prices","update")];case "prices.crypto.chainlink":return [K("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [K(ec(t.windowSeconds),"update")];case "prices.equity.pyth":return [K("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function ec(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function K(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function tc(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.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(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 I=class{#e;#s;#t;#n=new je({heartbeat:new fe});#a=new ie;#r=new P;constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{entry:r}=this.#r.add(e);return await this.#i(r),g(r.subscriber.queue,()=>this.#o(r))}async#i(e){try{await this.#c();}catch(r){throw await this.#o(e),r}}async#o(e){this.#r.remove(e),this.#r.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#d().finally(()=>{this.#t=void 0;})),await this.#t;}async#d(){this.#a.stop(),this.#r.endAll(),await this.#n.close();}#c(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#m(),onMessage:e=>this.#p(e),onOpen:()=>this.#u(),headers:this.#e,url:this.#s})}#u(){this.#a.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#r.dispatch(r.data);}#l(){this.#r.hasActiveSubscriptions()&&this.#y();}#m(){}#y(){this.#a.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#r.hasActiveSubscriptions()});}};var X=class{#e;#s;get context(){return this.#e}get decorators(){return this.#s}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}get hasBuilderApiKey(){return this.context.apiKey?.isBuilderKey??false}constructor(e){this.#e=e,this.#s=[];}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.#s.push(e);}},cc=z$1.object({key:ApiKeySchema,passphrase:z$1.string(),secret:z$1.string()}),uc=z$1.object({wallet:EvmAddressSchema,credentials:cc.optional(),nonce:z$1.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}),ee=class extends X{constructor(e){super({apiKey:e.apiKey,environment:e.environment,onRateLimitUpdate:e.onRateLimitUpdate,data:new ce({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new ce({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new ce({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new ce({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new ce({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new ce({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new J$1({url:e.environment.rpc}),webSockets:{clobMarket:new E({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new I({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new O({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new w({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=I$1(e,uc);return Promise.resolve(async function*(){let i=Math.floor(Date.now()/1e3),o=s?.nonce??0,n=expectEvmAddress(yield Ca$1()),a=expectEvmAddress(s.wallet),u=L(this.environment,n,a);if(s.credentials!==void 0){let b=this.#e(s.credentials,u,r);try{if((await ob(b)).includes(s.credentials.key))return b}catch(y){if(!(y instanceof h)||y.status!==401)throw y}}let p=yield {kind:"signAuthMessage",payload:is({address:n,chainId:this.environment.chainId,nonce:o,timestamp:i})},c=await mb(this,{address:n,nonce:o,signature:expectEvmSignature(p),timestamp:i});return this.#e(c,u,r)}.call(this))}#e(e,r,s){let i=new Qe({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,onRateLimitUpdate:this.context.onRateLimitUpdate,signer:s});for(let o of this.decorators)i.extend(o);return i}},Qe=class extends X{#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){let r=new W({url:e.environment.realtime.ws,headers:e.environment.realtime.headers,credentials:e.credentials});super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,onRateLimitUpdate:e.onRateLimitUpdate,signer:e.signer,clob:new ce({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:s=>this.resolveClobHeaders(s)}),relayer:new ce({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:s=>this.resolveRelayerHeaders(s)}),rpc:new J$1({url:e.environment.rpc}),gamma:new ce({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new ce({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new ce({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new ce({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new ce({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,resolveHeaders:async s=>({...await this.resolveClobHeaders(s),...await this.#t(s)}),root:e.environment.clob.rest}),combos:new ce({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:s=>this.resolveRelayerHeaders(s),root:e.environment.combos.collateralReturn.rest}),builderGateway:new ce({headers:e.environment.combos.builderGateway.headers,resolveHeaders:async s=>({...await this.#s(s),...await this.#t(s)}),root:e.environment.combos.builderGateway.rest}),webSockets:{clobMarket:new E({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new x({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new M({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new I({headers:e.environment.sports.headers,url:e.environment.sports.ws}),realtime:r,rtds:new O({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new w({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new F({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}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get builderGateway(){return this.context.builderGateway}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.realtime.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:i,environment:o,onRateLimitUpdate:n}=this.context;try{await qb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let a=new ee({apiKey:i,environment:o,onRateLimitUpdate:n});for(let u of this.decorators)a.extend(u);return a}async#s(e){return e.method!=="GET"&&this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):{}}async#t(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await ds(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw q.fromError(r,"Could not sign the L2-authenticated request")}}};function Vs(t={}){return new ee({environment:t.environment??xe,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate}).extend(cs)}var dc=r(m,i,h,q,j,l,d,c,a),pc=r(a);async function lc(t){let e=Vs({environment:t.environment,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate}),r=await mc(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(Ba$1(t.signer));if(s.account.walletType===WalletType.EOA||await Ga$1(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await hc(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 mc(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=N$1(r,t.environment.walletDerivation);return await Ga$1(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:O$1(r,t.environment.walletDerivation)}async function hc(t){let e=O$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 Ja$1(t)).wait();}
2
- export{dc as CreateSecureClientError,pc as SetupGaslessWalletError,ve as accountActions,cs as allActions,qe as analyticsActions,ds as buildHmacSignature,Vs as createPublicClient,lc as createSecureClient,Ce as dataActions,Ae as discoveryActions,pa as forkEnvironmentConfig,Ee as perpsActions,Ed as preproduction,xe as production,na as relayerApiKey,oa as remoteBuilderSigning,we as rewardsActions,os as rfqActions,ns as sessionKeyActions,Te as subscriptionsActions,as as tradingActions,ke as walletActions};//# sourceMappingURL=index.js.map
1
+ import {P as P$1,Q as Q$1,Y,ga,ea,ca,Ca,Aa,Tf,Rf,Pf,Nf,$c,Lf,Jf,Hf,bd,Zc,Xc,Vc,Hb,ya,sd,wd,Ud,ud,jc,hc as hc$1,fc as fc$1,dc,bc,$b,Zb,Xb,Lb,Jb,Mc,Oc as Oc$1,Ph,Ec as Ec$1,Cc as Cc$1,Ac as Ac$1,Hg,Nh,yh,wh,jh,Lh,Jh,Hh,Fh,hd,nh,lh,qd,od,md,kd,Kc as Kc$1,Ic,Gc,of,mf,kf,gf,ef,cf,qf,if as _if,ze as ze$1,Ff,Ce as Ce$1,Bf,Cf,yf,xf,Af,wa,ua,sa,qa,oa,ma,Wg,Ug,Sg,Pg,uh,qh,sh,Ah,aa,_,Sd,Qd,Od,Md,pe,_d,Zd,xe as xe$1,ve as ve$1,te as te$1,re as re$1,Kd,xc as xc$1,tc as tc$1,Fg,wg,kg,Gd,Id,Cd,Ed,yd,Ad,Th,jb,fb,pb,mb,Ja as Ja$1,Oa,V,W,Ra,nc,lc as lc$1,pc,rc,R as R$1,Ee as Ee$1,a as a$1,Ka as Ka$1,T,xb,vb,Le as Le$1,Ie as Ie$1,Ke as Ke$1,Ge,He,Fe as Fe$1,zb,af,Ig,Kg,Mg,Je,U as U$1,be,de,ee as ee$1,ce,$d,ae}from'./chunk-IRLMIGOU.js';export{Tg as AcceptComboQuoteError,ib as ApproveErc1155ForAllError,eb as ApproveErc20Error,Ae as ApprovePerpsBuilderFeeError,Se as ArmPerpsAutoCancelError,rh as AuthorizeSessionKeyError,cd as BiggestWinnerKind,dd as BuilderVolumeInterval,Pd as CancelAllError,Rd as CancelMarketOrdersError,Ld as CancelOrderError,Nd as CancelOrdersError,Re as CancelPerpsChaseError,_e as CancelPerpsTwapError,yc as CollateralReturnKnownOperationKind,L as CombinatorialPrepareConditionCallError,Zg as ComboAcceptFailureReason,Da as ComboActivityType,Uf as ComboPositionSortBy,Vf as ComboPositionStatus,_g as ComboQuoteUnavailableReason,zd as ConvertError,ue as CreateLimitOrderError,qe as CreateMarketOrderError,Pe as CreatePerpsChaseError,We as CreatePerpsTwapError,v as CtfMergePositionsCallError,x as CtfRedeemPositionsCallError,t as CtfSplitPositionCallError,uf as DepositToPerpsError,Sf as DownloadAccountingSnapshotError,fa as DropNotificationsError,Bh as EquityMarketStatus,c as Erc20ApprovalCallError,n as Erc20TransferCallError,Td as EstimateMarketPriceError,wc as ExecuteCollateralReturnPlanError,Wc as FetchBuilderVolumeError,X as FetchClosedOnlyModeError,Bc as FetchCommentsByIdError,qc as FetchCurrentRebatesError,Hc as FetchEventError,Nc as FetchEventLiveVolumeError,Jc as FetchEventTagsError,gc as FetchLastTradePriceError,ic as FetchLastTradePricesError,nd as FetchMarketError,pd as FetchMarketTagsError,Ib as FetchMidpointError,Kb as FetchMidpointsError,da as FetchNotificationsError,vd as FetchOpenInterestError,_b as FetchOrderBookError,ac as FetchOrderBooksError,$ as FetchOrderError,la as FetchOrderScoringError,na as FetchOrdersScoringError,hf as FetchPerpsBookError,Me as FetchPerpsBuilderApprovalsError,Oe as FetchPerpsBuilderEarningsSummaryError,ye as FetchPerpsBuilderStatusError,Qe as FetchPerpsChasesError,pf as FetchPerpsFeesError,bf as FetchPerpsInstrumentsError,Be as FetchPerpsPositionSnapshotsError,Ef as FetchPerpsRegistrationError,df as FetchPerpsTickerError,ff as FetchPerpsTickersError,Xe as FetchPerpsTwapsError,Kf as FetchPortfolioValueError,Wb as FetchPriceError,Yb as FetchPricesError,Gg as FetchPublicProfileError,Kh as FetchRelatedTagResourcesError,Ih as FetchRelatedTagsError,Lc as FetchResolutionsError,va as FetchRewardPercentagesError,Xg as FetchRfqStatusError,mh as FetchSeriesError,ph as FetchSessionKeysError,xh as FetchSportsMarketTypesError,cc as FetchSpreadError,ec as FetchSpreadsError,Gh as FetchTagError,Oh as FetchTokenReferencesError,ra as FetchTotalEarningsForUserForDayError,_c as FetchTraderLeaderboardStandingError,lb as FetchTradingApprovalsStateError,Of as FetchUserPnlError,Mf as FetchUserStatsError,Qf as FetchUserVolumeError,Hd as HorizontalMergeError,Dd as HorizontalSplitError,Ch as KnownPriceSource,ed as LeaderboardWindow,ba as ListAccountTradesError,za as ListActivityError,ad as ListBiggestWinnersError,Uc as ListBuilderLeaderboardError,Gb as ListBuilderTradesError,Ba as ListComboActivityError,ld as ListComboMarketsError,If as ListComboPositionsError,Dc as ListCommentsByUserAddressError,zc as ListCommentsError,kc as ListCurrentRewardsError,Fc as ListEventsError,rd as ListMarketHoldersError,mc as ListMarketRewardsError,jd as ListMarketsError,Z as ListOpenOrdersError,Ne as ListPerpsBuilderEarningsError,jf as ListPerpsCandlesError,lf as ListPerpsFundingHistoryError,nf as ListPerpsTradesError,Gf as ListPositionsError,td as ListPriceHistoryError,oc as ListRewardMarketsError,kh as ListSeriesError,vh as ListSportsError,Eh as ListTagsError,Mh as ListTeamsError,Yc as ListTraderLeaderboardError,xa as ListTradesError,ta as ListUserEarningsAndMarketsConfigError,pa as ListUserEarningsForDayError,b as MAX_UINT256,rg as MergePositionsError,rf as OpenPerpsSessionError,Og as OpenRfqSessionError,Ye as PausePerpsTwapError,r as PerpsDepositCallError,we as PlaceLimitOrderError,se as PlaceMarketOrderError,sc as PlanCollateralReturnError,Wf as PositionFilterType,Xf as PositionSortBy,Yf as PositionStatus,Xd as PostOrderError,Yd as PostOrdersError,xd as PrepareConvertError,Fd as PrepareHorizontalMergeError,Bd as PrepareHorizontalSplitError,id as PriceHistoryInterval,Dh as PriceProvider,Eg as RedeemPositionsError,Rg as RequestComboQuoteError,Pc as ResolutionMarketType,Qc as ResolutionReporter,Rc as ResolutionSettlementTimeBasis,Sc as ResolutionSource,Tc as ResolutionStatus,Ze as ResumePerpsTwapError,$e as RevokePerpsBuilderFeeError,sf as RevokePerpsCredentialsError,th as RevokeSessionKeyError,Lg as RfqCancelQuoteError,Kg as RfqCancelQuoteRejectedError,$g as RfqConfirmationDecision,Ng as RfqConfirmationError,Mg as RfqConfirmationRejectedError,ah as RfqDirection,bh as RfqExecutionStatus,ch as RfqKnownErrorCode,Jg as RfqQuoteError,Ig as RfqQuoteRejectedError,dh as RfqRejectionCode,Qg as RfqRequestRejectedError,eh as RfqRequestedSizeUnit,fh as RfqSide,gh as RfqStatus,z as RouterConvertCallError,D as RouterHorizontalMergeCallError,B as RouterHorizontalSplitCallError,H as RouterMergeCallError,J as RouterRedeemCallError,F as RouterSplitCallError,ih as SearchError,hh as SearchSort,Jd as SendOrderHeartbeatError,De as ServiceClientRequestError,oh as SessionKeyKnownScope,ob as SetupTradingApprovalsError,S as SignerType,Ea as SortDirection,fg as SplitPositionError,zh as SubscribeError,Fa as TipSide,Ga as TradeFilterType,fd as TraderLeaderboardSort,Sh as TransferErc20Error,wf as TransferPerpsCollateralError,Te as UpdatePerpsLeverageError,Ue as UpdatePerpsLeveragesError,Ve as UpdatePerpsMarginError,Zf as UserPnlFidelity,_f as UserPnlInterval,Vg as WaitForComboFillError,oe as WaitForOrderFillSettlementError,Ha as WaitForTransactionError,vf as WithdrawFromPerpsError,p as authorizeSessionSignerCall,M as combinatorialPrepareConditionCall,w as ctfMergePositionsCall,y as ctfRedeemPositionsCall,u as ctfSplitPositionCall,m as decodeErc1155BalanceOfBatchResult,k as decodeErc1155BalanceOfResult,i as decodeErc1155IsApprovedForAllResult,f as decodeErc20AllowanceResult,N as encodeProxyCall,O as encodeSafeMultisendCall,g as erc1155ApprovalForAllCall,l as erc1155BalanceOfBatchCall,j as erc1155BalanceOfCall,h as erc1155IsApprovedForAllCall,e as erc20AllowanceCall,d as erc20ApprovalCall,o as erc20TransferCall,Ia as expectTransactionHandle,s as perpsDepositCall,q as revokeSessionSignerCall,A as routerConvertCall,E as routerHorizontalMergeCall,C as routerHorizontalSplitCall,I as routerMergeCall,K as routerRedeemCall,G as routerSplitCall}from'./chunk-IRLMIGOU.js';import {a,t,o,k as k$1,i,s,l,n,d,c,e,g as g$1}from'./chunk-XUX2UYIW.js';export{q as AutoCancelDailyLimitError,o as CancelledSigningError,g as ConnectionLostError,u as GatewayKnownErrorCode,p as InsufficientLiquidityError,m as OperationAbortedError,j as OrderHeartbeatMismatchError,b as PaginationLimitError,r as PerpsCancelRetryError,k as RateLimitError,v as RealtimeKnownErrorCode,e as RequestAbortedError,i as RequestRejectedError,s as SigningError,l as TimeoutError,h as TradingRestriction,n as TransactionFailedError,d as TransportError,c as UnexpectedResponseError,a as UserInputError,f as WebSocketKnownCloseCode,t as makeErrorGuard}from'./chunk-XUX2UYIW.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{CommentParentEntityType,OrderSide,OrderType}from'@polymarket/bindings';export{AssetType,NotificationType,OrderPostStatus,OrderResponseErrorCode,RewardMarketSort,SignatureType}from'@polymarket/bindings/clob';export{ActivityType,TokenModule}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{ComboKnownStatus,MarketResolutionStatus,ProtocolVersion,TeamOrdering,WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsKnownCancelOrderErrorCode,PerpsKnownInternalTransferType,PerpsKnownWithdrawalStatus,PerpsLiquidationMethod,PerpsLiquidityRole,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsPositionSnapshotMarkerKind,PerpsPositionSnapshotStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce,PerpsTwapStatus}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {TypedData}from'ox';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema,RealtimeKnownErrorCode,PolyboltAckOp,PolyboltAckSchema,PolyboltEnvelopeSchema,parsePolyboltEvent,PolyboltChannel}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var Fa=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 Ma(t){return new ve(t)}function Ia(t){return new Ce(t)}var ve=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e$1,r){try{return P$1(r?.signal),await this.#t(e$1,r)}catch(s$1){throw s$1 instanceof e?s$1:s.fromError(s$1,"Could not authorize the builder-authenticated request")}}async#r(e){let r=this.#e.headers,s=typeof r=="function"?await Q$1(Promise.resolve(r()),e):r,i=new Headers(s);return i.set("content-type","application/json"),i}async#t(e,r){let s=await this.#r(r?.signal);P$1(r?.signal);let i=r?.fetch??globalThis.fetch,o=await Q$1(i(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:s,method:"POST",mode:"cors",signal:r?.signal}),r?.signal);if(!o.ok)throw new Error(`Remote signer rejected request with status ${o.status}`);let n=await Q$1(o.json(),r?.signal);return Fa.parse(n)}},Ce=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 Ss(t){let e={chainId:t.chainId,name:"ClobAuthDomain",version:"1"};return {domain:e,message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{EIP712Domain:TypedData.extractEip712DomainTypes(e),ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}var Ba="0.14.0";function Rs(){return `@polymarket/client@${Ba}:${Ua()}`}function Ua(){try{let t=globalThis;if(t.Bun!==void 0)return `bun@${U(t.Bun.version)}`;if(t.Deno!==void 0)return `deno@${U(t.Deno.version?.deno)}`;if(t.process?.versions?.node!==void 0||t.process?.release?.name==="node")return `nodejs@${U(t.process?.versions?.node)}`;let e=t.navigator?.userAgent;if(typeof e=="string"){let r=[["edge",/\bEdg(?:e|A|iOS)?(?:\/([\d.]+))?/],["chrome",/\b(?:HeadlessChrome|Chrome|Chromium|CriOS)(?:\/([\d.]+))?/],["firefox",/\b(?:Firefox|FxiOS)(?:\/([\d.]+))?/]];for(let[s,i]of r){let o=i.exec(e);if(o!==null)return `${s}@${U(o[1])}`}if(/\bSafari\//.test(e))return `safari@${U(/\bVersion\/([\d.]+)/.exec(e)?.[1])}`}if(t.window!==void 0)return "browser@unknown";if(t.self!==void 0||typeof t.importScripts=="function")return "worker@unknown";if(t.navigator!==void 0)return "browser@unknown"}catch{}return "unknown@unknown"}function U(t){return typeof t=="string"&&/^[0-9][0-9A-Za-z.+_-]{0,63}$/.test(t)?t:"unknown"}function Da(t){return {listPositions:Hf.bind(null,t),listComboPositions:Jf.bind(null,t),fetchPortfolioValue:Lf.bind(null,t),fetchTraderLeaderboardStanding:$c.bind(null,t),fetchUserStats:Nf.bind(null,t),fetchUserPnl:Pf.bind(null,t),fetchUserVolume:Rf.bind(null,t),downloadAccountingSnapshot:Tf.bind(null,t),listActivity:Aa.bind(null,t),listComboActivity:Ca.bind(null,t)}}function P(t,e={}){return e===null||typeof e!="object"||Array.isArray(e)?e:{...e,user:e.user===void 0?t.account.wallet:e.user}}function Ae(t){let e=Da(t);return t.isPublicClient()?e:{...e,listPositions:(r,s)=>Hf(t,P(t,r),s),listComboPositions:(r,s)=>Jf(t,P(t,r),s),fetchPortfolioValue:(r,s)=>Lf(t,P(t,r),s),fetchTraderLeaderboardStanding:(r,s)=>$c(t,P(t,r),s),fetchUserStats:(r,s)=>Nf(t,P(t,r),s),fetchUserPnl:(r,s)=>Pf(t,P(t,r),s),fetchUserVolume:(r,s)=>Rf(t,P(t,r),s),downloadAccountingSnapshot:(r,s)=>Tf(t,P(t,r),s),listActivity:(r,s)=>Aa(t,P(t,r),s),listComboActivity:(r,s)=>Ca(t,P(t,r),s),listAccountTrades:ca.bind(null,t),fetchNotifications:ea.bind(null,t),dropNotifications:ga.bind(null,t),fetchClosedOnlyMode:Y.bind(null,t)}}function Ee(t){return {listBuilderTrades:Hb.bind(null,t),listBuilderLeaderboard:Vc.bind(null,t),fetchBuilderVolume:Xc.bind(null,t),listTraderLeaderboard:Zc.bind(null,t),listBiggestWinners:bd.bind(null,t)}}function ke(t){return {fetchTokenReferences:Ph.bind(null,t),fetchEventLiveVolume:Oc$1.bind(null,t),fetchResolutions:Mc.bind(null,t),fetchMidpoint:Jb.bind(null,t),fetchMidpoints:Lb.bind(null,t),fetchPrice:Xb.bind(null,t),fetchPrices:Zb.bind(null,t),fetchOrderBook:$b.bind(null,t),fetchOrderBooks:bc.bind(null,t),fetchSpread:dc.bind(null,t),fetchSpreads:fc$1.bind(null,t),fetchLastTradePrice:hc$1.bind(null,t),fetchLastTradePrices:jc.bind(null,t),listPriceHistory:ud.bind(null,t),estimateMarketPrice:Ud.bind(null,t),fetchOpenInterest:wd.bind(null,t),listMarketHolders:sd.bind(null,t),listTrades:ya.bind(null,t)}}function we(t){return {listEvents:Gc.bind(null,t),fetchEvent:Ic.bind(null,t),fetchEventTags:Kc$1.bind(null,t),listMarkets:kd.bind(null,t),listComboMarkets:md.bind(null,t),fetchMarket:od.bind(null,t),fetchMarketTags:qd.bind(null,t),listSeries:lh.bind(null,t),fetchSeries:nh.bind(null,t),listMarketClarifications:hd.bind(null,t),listTags:Fh.bind(null,t),fetchTag:Hh.bind(null,t),fetchRelatedTags:Jh.bind(null,t),fetchRelatedTagResources:Lh.bind(null,t),search:jh.bind(null,t),listSports:wh.bind(null,t),fetchSportsMarketTypes:yh.bind(null,t),listTeams:Nh.bind(null,t),fetchPublicProfile:Hg.bind(null,t),listComments:Ac$1.bind(null,t),fetchCommentsById:Cc$1.bind(null,t),listCommentsByUserAddress:Ec$1.bind(null,t)}}function Te(t){let e={fetchPerpsPositionSnapshots:Ce$1.bind(null,t),fetchPerpsRegistration:Ff.bind(null,t),fetchPerpsBuilderStatus:ze$1.bind(null,t),fetchPerpsBook:_if.bind(null,t),fetchPerpsFees:qf.bind(null,t),fetchPerpsInstruments:cf.bind(null,t),fetchPerpsTicker:ef.bind(null,t),fetchPerpsTickers:gf.bind(null,t),listPerpsCandles:kf.bind(null,t),listPerpsFundingHistory:mf.bind(null,t),listPerpsTrades:of.bind(null,t)};return t.isSecureClient()?{...e,depositToPerps:r=>Af(t,r),openPerpsSession:r=>xf(t,r),revokePerpsCredentials:r=>yf(t,r),transferPerpsCollateral:Cf.bind(null,t),withdrawFromPerps:r=>Bf(t,r)}:e}function Wa(t){return {fetchCurrentRebates:rc.bind(null,t),listRewardMarkets:pc.bind(null,t),listCurrentRewards:lc$1.bind(null,t),listMarketRewards:nc.bind(null,t)}}function Oe(t){let e=Wa(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ma.bind(null,t),fetchOrdersScoring:oa.bind(null,t),listUserEarningsForDay:qa.bind(null,t),fetchTotalEarningsForUserForDay:sa.bind(null,t),listUserEarningsAndMarketsConfig:ua.bind(null,t),fetchRewardPercentages:wa.bind(null,t)}}function Ps(t){return {openRfqSession(){return Pg(t)},requestComboQuote(e){return Sg(t,e)},acceptComboQuote(e){return Ug(t,e)},waitForComboFill(e){return Wg(t,e)}}}function gs(t){return {authorizeSessionKey:sh.bind(null,t),fetchSessionKeys:qh.bind(null,t),revokeSessionKey:uh.bind(null,t)}}function xe(t){return t.isSecureClient()?{subscribe(e){return Ah(t,e)}}:{subscribe(e){return Ah(t,e)}}}function qs(t){return {sendOrderHeartbeat:Kd.bind(null,t),createMarketOrder:re$1.bind(null,t),placeMarketOrder:te$1.bind(null,t),createLimitOrder:ve$1.bind(null,t),placeLimitOrder:xe$1.bind(null,t),postOrder:Zd(t),postOrders:_d(t),waitForOrderFillSettlement:pe.bind(null,t),cancelOrder:Md.bind(null,t),cancelOrders:Od.bind(null,t),cancelAll:Qd.bind(null,t),cancelMarketOrders:Sd.bind(null,t),listOpenOrders:_.bind(null,t),fetchOrder:aa.bind(null,t)}}function Ka(t){return {fetchTradingApprovalsState:mb.bind(null,t)}}function Fe(t){let e=Ka(t);return t.isPublicClient()?e:{...e,fetchTradingApprovalsState:r=>mb(t,{user:t.account.wallet},r),setupTradingApprovals:pb.bind(null,t),approveErc20:fb.bind(null,t),approveErc1155ForAll:jb.bind(null,t),transferErc20:Th.bind(null,t),convert:Ad.bind(null,t),prepareConvert:yd.bind(null,t),horizontalSplit:Ed.bind(null,t),prepareHorizontalSplit:Cd.bind(null,t),horizontalMerge:Id.bind(null,t),prepareHorizontalMerge:Gd.bind(null,t),splitPosition:kg.bind(null,t),mergePositions:wg.bind(null,t),redeemPositions:Fg.bind(null,t),planCollateralReturn:tc$1.bind(null,t),executeCollateralReturnPlan:xc$1.bind(null,t)}}function vs(t){return t.isSecureClient()?{...Ae(t),...Ee(t),...ke(t),...we(t),...Te(t),...Oe(t),...Ps(t),...gs(t),...xe(t),...qs(t),...Fe(t)}:{...Ae(t),...Ee(t),...ke(t),...we(t),...Te(t),...Oe(t),...xe(t),...Fe(t)}}var Me={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"),binaryModule:expectEvmAddress("0x1000008dD9001B968442c1000017eaE6E0dA00Ba"),negRiskModule:expectEvmAddress("0x200000900045e3B6259600682756002200028933"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},predictions:{rest:"https://api.defi.polymarket.com"},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"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",builderGateway:{rest:"https://combos-rfq-gateway-builder.polymarket.com"},collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},realtime:{ws:"wss://ws-live-v2.polymarket.com/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function Qa(t,e=Me){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...E(e.clob,t.clob),market:D(e.clob.market,t.clob?.market),user:D(e.clob.user,t.clob?.user)},predictions:E(e.predictions,t.predictions),relayer:E(e.relayer,t.relayer),gamma:E(e.gamma,t.gamma),data:E(e.data,t.data),combos:{...Cs(e.combos,t.combos),builderGateway:E(e.combos.builderGateway,t.combos?.builderGateway),collateralReturn:E(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:Cs(e.perps,t.perps),realtime:D(e.realtime,t.realtime),rtds:D(e.rtds,t.rtds),sports:D(e.sports,t.sports)}}function E(t,e){return {...t,...e,headers:Ie(t.headers,e?.headers)}}function D(t,e){return {...t,...e,headers:Ie(t.headers,e?.headers)}}function Cs(t,e){return {...t,...e,headers:Ie(t.headers,e?.headers)}}function Ie(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var ld=Qa({name:"preproduction",predictions:{rest:"https://api-defi-staging.polymarket.dev"},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 As(t,e,r,s,i){let o=`${e}${r}${s}`;i!==void 0&&(o+=i);let n=await globalThis.crypto.subtle.importKey("raw",Ha(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),a=await globalThis.crypto.subtle.sign("HMAC",n,new TextEncoder().encode(o));return za(_a(a))}function Ha(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let i=0;i<r.length;i+=1)s[i]=r.charCodeAt(i);return s.buffer}function _a(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function za(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function g(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var R=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 i={subscription:e,subscriber:s};return {change:this.#t(i),entry:i}}#t(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 Le(t,e,r){let s=N(r.assetsIds,e.assetsIds),i=N(e.assetsIds,r.assetsIds);s.length>0&&t(Es(s,r.customFeatureEnabled));let o=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&o!==void 0&&t(Es([o],r.customFeatureEnabled)),i.length>0&&t(Va(i));}function Be(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(ws(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(ks(r.markets));return}let s=N(r.markets,e.markets),i=N(e.markets,r.markets);s.length>0&&t(ks(s)),i.length>0&&t(ws(i));}function Ts(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let i of s.assetIds??s.tokenIds)e.add(i);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Os(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Ls(s)){e=true;continue}for(let i of s.markets??[])r.add(i);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function xs(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Es(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Va(t){return {assets_ids:t,operation:"unsubscribe"}}function Fs(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 ks(t){return {markets:t,operation:"subscribe"}}function ws(t){return {markets:t,operation:"unsubscribe"}}function Ms(t){let e=t.assetIds??t.tokenIds;return r=>{switch(r.type){case "price_change":return r.payload.priceChanges.some(s=>e.includes(s.assetId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(r.payload.assetIds??[]).some(s=>e.includes(s));case "best_bid_ask":return t.customFeatureEnabled===true&&e.includes(r.payload.assetId);default:return e.includes(r.payload.assetId)}}}function Is(t){if(Ls(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Ls(t){return (t.markets?.length??0)===0}function N(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var k=class{#e;#r;#t;#n=new Le$1({heartbeat:new Fe$1});#a=new Ke$1;#s=new R({deriveServerState:Ts});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#s.add(e,{matches:Ms(e)});return await this.#i(s,r),g(s.subscriber.queue,()=>this.#o(s))}async#i(e,r){let{before:s,after:i}=r;try{(await this.#c()).reusedOpenSocket&&Le(n=>this.#n.send(n),s,i);}catch(o){throw await this.#o(e),o}}async#o(e){let{before:r,after:s}=this.#s.remove(e);if(!this.#s.hasActiveSubscriptions()){await this.close();return}Le(i=>this.#n.send(i),r,s);}async close(){this.#t===void 0&&(this.#t=this.#p().finally(()=>{this.#t=void 0;})),await this.#t;}async#p(){this.#a.stop(),this.#s.endAll(),await this.#n.close();}#c(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#m(),onMessage:e=>this.#d(e),onOpen:()=>this.#u(),headers:this.#e,url:this.#r})}#u(){this.#a.resetBackoff(),this.#f();}#d(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=MarketEventSchema.safeParse(s);i.success&&this.#s.dispatch(i.data);}}#l(){this.#s.hasActiveSubscriptions()&&this.#h();}#m(){}#f(){this.#n.send(xs(this.#s.serverState()));}#h(){this.#a.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#s.hasActiveSubscriptions()});}};var O=class{#e;#r;#t;#n;#a=new Le$1({heartbeat:new Fe$1});#s=new Ke$1;#i=new R({deriveServerState:Os});constructor(e){this.#e=e.credentials,this.#r=e.headers,this.#t=e.url;}async subscribe(e){let{change:r,entry:s}=this.#i.add(e,{matches:Is(e)});return await this.#o(s,r),g(s.subscriber.queue,()=>this.#p(s))}async#o(e,r){let{before:s,after:i}=r;try{(await this.#u()).reusedOpenSocket&&Be(n=>this.#a.send(n),s,i);}catch(o){throw await this.#p(e),o}}async#p(e){let{before:r,after:s}=this.#i.remove(e);if(!this.#i.hasActiveSubscriptions()){await this.close();return}Be(i=>this.#a.send(i),r,s);}async close(){this.#n===void 0&&(this.#n=this.#c().finally(()=>{this.#n=void 0;})),await this.#n;}async#c(){this.#s.stop(),this.#i.endAll(),await this.#a.close();}#u(){return this.#a.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:e=>this.#d(e),prepare:()=>this.#e,headers:this.#r,url:this.#t})}#d(e){this.#s.resetBackoff(),this.#h(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=UserEventSchema.safeParse(s);i.success&&this.#i.dispatch(i.data);}}#m(){this.#i.hasActiveSubscriptions()&&this.#y();}#f(){}#h(e){this.#a.send(Fs(this.#i.serverState(),e));}#y(){this.#s.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#i.hasActiveSubscriptions()});}};var x=class{#e;#r;#t;#n;#a;#s=new Set;#i=new Set;#o=new Set;#p=false;constructor(e){this.#e=e.chainId,this.#r=e.fetch,this.#t=e.headers,this.#n=e.restUrl,this.#a=e.wsUrl;}connect(e,r,s,i){if(this.#p)return Promise.reject(new d("Perps session manager has been shut down."));let o=new af({builderAttribution:r,approveBuilderFee:s,includeBuilderFills:i,chainId:this.#e,credentials:e,fetch:this.#r,headers:this.#t,onClose:a=>this.#c(a),restUrl:this.#n,wsUrl:this.#a});this.#i.add(o);let n;return n=(async()=>{try{if(await o.connect(),this.#p)throw await o.close(),new d("Perps session manager has been shut down.");return this.#s.add(o),o}catch(a){throw await o.close(),a}finally{this.#o.delete(n),this.#i.delete(o);}})(),this.#o.add(n),n}async shutdown(){this.#p=true;let e=Array.from(this.#s),r=Array.from(this.#i),s=Array.from(this.#o);this.#s.clear(),this.#i.clear(),this.#o.clear(),await Promise.allSettled([...e.map(i=>i.close()),...r.map(i=>i.close()),...s.map(i=>i.catch(()=>{}))]).then(()=>{});}#c(e){this.#s.delete(e),this.#i.delete(e);}};var w=class{#e;#r;#t;#n=1;#a=new Le$1({heartbeat:new Ie$1});#s=new Ke$1;#i=new R({deriveServerState:Ya});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#i.add(e,{matches:Za(e)});return await this.#o(s,r),g(s.subscriber.queue,()=>this.#p(s))}async#o(e,r){try{(await this.#u()).reusedOpenSocket&&(this.#h(Bs(r.before,r.after)),this.#y(Us(r.before,r.after)));}catch(s){throw await this.#p(e),s}}async#p(e){let{before:r,after:s}=this.#i.remove(e);this.#h(Bs(r,s)),this.#y(Us(r,s)),this.#i.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#c().finally(()=>{this.#t=void 0;})),await this.#t;}async#c(){this.#s.stop(),this.#i.endAll(),await this.#a.close();}#u(){return this.#a.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:()=>this.#d(),headers:this.#e,url:this.#r})}#d(){this.#s.resetBackoff(),this.#h(Array.from(this.#i.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#i.dispatch(r.data);}#m(){this.#i.hasActiveSubscriptions()&&this.#S();}#f(){}#h(e){e.length!==0&&this.#a.send(this.#b("sub",e));}#y(e){e.length!==0&&this.#a.send(this.#b("unsub",e));}#b(e,r){return {id:this.#n++,req:e,chs:r}}#S(){this.#s.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#i.hasActiveSubscriptions()});}};function Ya(t){let e=new Set,r=new Set,s=new Set,i=false,o=false;for(let{subscription:n}of t)switch(n.topic){case "perps.tickers":n.instrumentId===void 0?i=true:r.add(n.instrumentId);break;case "perps.statistics":n.instrumentId===void 0?o=true:s.add(n.instrumentId);break;default:e.add(Ja(n));}if(i)e.add("tickers::all");else for(let n of r)e.add(`tickers::${n}`);if(o)e.add("statistics::all");else for(let n of s)e.add(`statistics::${n}`);return e}function Bs(t,e){return Array.from(e).filter(r=>!t.has(r))}function Us(t,e){return Array.from(t).filter(r=>!e.has(r))}function Ja(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 Za(t){switch(t.topic){case "perps.trades":return e=>e.topic==="perps.trades"&&e.channel===`trades::${t.instrumentId}`;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 Ws(t){let e="symbol"in t?[t.symbol.toLowerCase()]:t.symbols,{provider:r}=t;return e.map(s=>t.topic==="prices.crypto.twap"||t.topic==="prices.equity.twap"?{key:JSON.stringify([t.topic,s,60,r]),topic:t.topic,symbol:s,windowSeconds:60,provider:r}:{key:JSON.stringify([t.topic,s,r]),topic:t.topic,symbol:s,provider:r})}function Ks(t,e){return Math.random()*(t===4003?1e4:Math.min(1e3*2**e,3e4))}var G=class{#e;#r=new Ke$1;#t=new Map;#n=[];#a;#s;#i=false;#o=false;#p=false;#c=false;#u;#d=0;#l=64;#m=Number.NEGATIVE_INFINITY;constructor(e){this.#e=e;}get size(){return this.#t.size}has(e){return this.#t.has(e)}get closed(){return this.#o}get keyTarget(){return Date.now()-this.#m>=6e4?64:this.#l}add(e,r){clearTimeout(this.#s);let s=this.#t.get(e.key);if(s===void 0){let{promise:i,resolve:o,reject:n}=Promise.withResolvers();i.catch(()=>{}),s={subscription:e,listeners:new Set,ready:i,resolve:o,reject:n,subscribed:false,accepted:false},this.#t.set(e.key,s),this.#i&&this.#y("subscribe",[s]);}return s.listeners.add(r),s.confirmation!==void 0&&r.subscribed?.({...s.confirmation}),s.snapshot!==void 0&&r.event(s.snapshot),!this.#i&&!this.#c&&this.#u===void 0&&!this.#r.isScheduled&&this.#f(),ec(s.ready)}remove(e,r){let s=this.#t.get(e);s!==void 0&&(s.listeners.delete(r),!(s.listeners.size>0)&&(this.#t.delete(e),s.reject(new d("Realtime subscription closed.")),this.#i&&this.#y("unsubscribe",[s]),this.#t.size===0&&(this.#s=setNonBlockingTimeout(()=>{this.close();},1e3))));}#f(){if(this.#o||this.#c)return Promise.resolve();if(this.#u!==void 0)return this.#u;let e=this.#h().catch(r=>{this.#C([...this.#t.values()].filter(s=>!s.accepted),d.fromError(r));}).finally(()=>{this.#u===e&&(this.#u=void 0),this.#i||this.#v(1006);});return this.#u=e,e}async#h(){let e=this.#d;if(await this.#e.open({subscribed:(r,s)=>this.#P(r,s),event:r=>this.#g(r),dropped:()=>this.#q(),disconnected:r=>this.#k(r)}),!(this.#o||e!==this.#d))try{if(await this.#e.authorize(),this.#o||e!==this.#d)return;this.#i=!0,this.#y("subscribe",[...this.#t.values()]);}catch(r){if(this.#o||e!==this.#d)return;r instanceof i&&r.code!==RealtimeKnownErrorCode.AuthUnavailable?this.#E(r):await this.#A(1006);}}#y(e,r){if(r.length===0)return;let s=this.#n.at(-1);s?.op===e?s.keys.push(...r):this.#n.push({op:e,keys:r}),this.#b();}#b(){this.#a!==void 0||this.#p||!this.#i||this.#o||(this.#a=setNonBlockingTimeout(()=>{this.#a=void 0,this.#S();},10));}async#S(){if(!this.#i||this.#o)return;let e=this.#n.shift();if(e===void 0)return;let r=[...new Set(e.keys)].filter(i=>e.op==="unsubscribe"||this.#t.get(i.subscription.key)===i);if(r.length===0){this.#b();return}let s=this.#d;this.#p=true;try{let i=await this.#e.change(e.op,r.map(({subscription:o})=>o));if(s!==this.#d||this.#o)return;if(e.op==="unsubscribe"&&i.length>0){let o=i[0];if(o!==void 0)throw o.error}if(e.op==="subscribe"){this.#r.resetBackoff();let o=new Set(i.map(n=>n.key));for(let n of r)o.has(n.subscription.key)||(n.subscribed=!0,n.accepted=!0,n.resolve());for(let{key:n,error:a}of i){let u=r.find(d=>d.subscription.key===n);u!==void 0&&this.#C([u],a,!1);}}}catch(i$1){if(s!==this.#d||this.#o)return;i$1 instanceof i&&e.op==="subscribe"?this.#C(r,i$1):await this.#A(1006);}finally{this.#p=false,this.#b();}}#P(e,r){let s=this.#t.get(e.key);if(s?.subscription===e){s.confirmation={...r};for(let i of [...s.listeners])i.subscribed?.({...r});}}#g(e){for(let r of this.#t.values()){let s=r.subscription;if(s.topic!==e.topic)continue;let i=e.payload;if(i.symbol.toLowerCase()===s.symbol&&!((s.topic==="prices.crypto.twap"||s.topic==="prices.equity.twap")&&(!("windowSeconds"in i)||i.windowSeconds!==s.windowSeconds))){r.snapshot=tc(r.snapshot,e);for(let o of r.listeners)o.event(e);}}}#q(){let e=Date.now();e-this.#m<5e3||(this.#l=Math.max(1,Math.floor(this.keyTarget/2)),this.#m=e);}#R(){this.#d++,this.#i=false,this.#n=[],clearTimeout(this.#a),this.#a=void 0;for(let e of this.#t.values()){if(e.snapshot=void 0,e.confirmation=void 0,!e.subscribed)continue;let{promise:r,resolve:s,reject:i}=Promise.withResolvers();r.catch(()=>{}),e.ready=r,e.resolve=s,e.reject=i,e.subscribed=false;}}#k(e){let r=new g$1("Realtime connection closed.",e);this.#R(),e.code===4001||e.code===4008?this.#E(r):this.#v(e.code);}async#A(e){this.#c=true,this.#R();try{await this.#e.close();}finally{this.#c=false,this.#v(e);}}#v(e){this.#r.schedule({delayPolicy:r=>Ks(e,r),shouldReconnect:()=>!this.#o&&this.#t.size>0,reconnect:()=>this.#f()});}#E(e){let r=[...this.#t.values()],s=new Set(r.flatMap(i=>[...i.listeners]));for(let i of r)i.reject(e);for(let i of s)i.end(e);this.close();}#C(e,r,s=true){let i=e.filter(n=>this.#t.get(n.subscription.key)===n),o=new Set(i.flatMap(n=>[...n.listeners]));for(let n of i)this.#t.delete(n.subscription.key),n.reject(r);s&&this.#i&&this.#y("unsubscribe",i);for(let n of o)n.end(r);this.#t.size===0&&(this.#s=setNonBlockingTimeout(()=>{this.close();},1e3));}async close(){if(this.#o)return;this.#o=true,this.#r.stop(),clearTimeout(this.#s);let e=new d("Realtime connection closed.");this.#R();for(let r of this.#t.values())r.reject(e);this.#t.clear(),await this.#e.close();}};function ec(t){return new Promise((e,r)=>{let s=setNonBlockingTimeout(()=>{r(new d("Realtime subscription was not accepted within 30 seconds."));},3e4);t.then(()=>{clearTimeout(s),e();},i=>{clearTimeout(s),r(i);});})}function tc(t,e){if(e.type==="subscribe")return e;let{symbol:r,source:s,timestamp:i,value:o}=e.payload,n=t?.type==="subscribe"&&t.payload.source===s?t.payload.data:[];if((n.at(-1)?.timestamp??0)>i)return t?.type==="subscribe"&&t.topic==="prices.equity"&&e.topic==="prices.equity"&&e.payload.marketStatus!==void 0?{...t,payload:{...t.payload,marketStatus:e.payload.marketStatus}}:t;let a=[...n.filter(u=>u.timestamp>i-12e4&&u.timestamp<i),{timestamp:i,value:o}];return e.topic==="prices.crypto.twap"||e.topic==="prices.equity.twap"?{...e,type:"subscribe",payload:{symbol:r,source:s,data:a,windowSeconds:e.payload.windowSeconds,...e.topic==="prices.equity.twap"?{marketStatus:e.payload.marketStatus}:{}}}:e.topic==="prices.equity"?{...e,type:"subscribe",payload:{symbol:r,source:s,data:a,marketStatus:e.payload.marketStatus}}:{...e,type:"subscribe",payload:{symbol:r,source:s,data:a}}}var J=class{#e;#r=new Le$1({heartbeat:new Je,connectTimeoutMs:1e4,closeTimeoutMs:1e3});#t=new Map;#n;#a=0;#s=0;#i=0;constructor(e){this.#e=e;}async open(e){this.#n=e;let r=this.#i;await this.#r.connect({url:this.#e.url,headers:this.#e.headers,onOpen:()=>{},onError:()=>{},onConnectionLost:s=>{r===this.#i&&(this.#c(new g$1("Realtime connection closed.",s)),e.disconnected(s));},onMessage:s=>{r===this.#i&&this.#p(s);}});}async authorize(){let{key:e,secret:r,passphrase:s}=this.#e.credentials;await this.#o({op:"auth",auth:{apiKey:e,secret:r,passphrase:s}},PolyboltAckOp.Authed,[]);}async change(e,r){let s=[],i=0;for(;i<r.length;){let o=[];for(;i+o.length<r.length;){let a=r[i+o.length];if(a===void 0)break;let u=oc(a),d={op:e,subscriptions:[...o,u],rid:String(this.#a+1)};if(o.length>0&&new TextEncoder().encode(JSON.stringify(d)).length>6e4)break;o.push(u);}let n=await this.#o({op:e,subscriptions:o},e==="subscribe"?PolyboltAckOp.Subscribed:PolyboltAckOp.Unsubscribed,o.map(({channel:a})=>a),r.slice(i,i+o.length));for(let{index:a,error:u}of n){let d=r[i+a];d!==void 0&&s.push({key:d.key,error:u});}i+=o.length;}return s}#o(e,r,s,i=[]){let o=String(++this.#a);return new Promise((n,a)=>{let u={op:r,channels:[...s],subscriptions:i,rejections:[],resolve:n,reject:a};this.#t.set(o,u),u.sendTimer=setNonBlockingTimeout(()=>{u.timer=setNonBlockingTimeout(()=>{this.#t.delete(o),a(new d("Realtime acknowledgement timed out after 10 seconds."));},1e4),this.#s=Date.now();try{if(!this.#r.send({...e,rid:o}))throw new d("Realtime connection is not open.")}catch(d$1){clearTimeout(u.timer),this.#t.delete(o),a(d.fromError(d$1));}},Math.max(0,110-(Date.now()-this.#s)));})}#p(e){let r=PolyboltAckSchema.safeParse(e);if(r.success){let{op:o,rid:n,code:a,channel:u,provider:d}=r.data,c=n===void 0?void 0:this.#t.get(n);if(c===void 0)return;if(o===PolyboltAckOp.Error&&a!==void 0){let b=new i(`Realtime subscription rejected: ${a}`,{status:200,code:a}),f=c.channels.flatMap((m,C)=>m===u?[C]:[]);if(u===void 0||f.length!==1)c.reject(b);else {let m=f[0];if(m===void 0||(c.channels[m]=void 0,c.rejections.push({index:m,error:b}),c.channels.some(C=>C!==void 0)))return;c.resolve(c.rejections);}}else if(o===c.op){if(c.channels.length>0){let b=c.channels.findIndex(m=>m!==void 0);if(b<0||c.channels[b]!==u)return;c.channels[b]=void 0;let f=c.subscriptions[b];if(o===PolyboltAckOp.Subscribed&&f!==void 0&&this.#n?.subscribed(f,{symbol:f.symbol,provider:d}),c.channels.some(m=>m!==void 0))return}c.resolve(c.rejections);}else return;clearTimeout(c.timer),n!==void 0&&this.#t.delete(n);return}let s=PolyboltEnvelopeSchema.safeParse(e);if(!s.success)return;let i$1=parsePolyboltEvent(s.data);i$1!==void 0&&this.#n?.event(i$1),(s.data.dropped??0)>0&&this.#n?.dropped();}#c(e){for(let r of this.#t.values())clearTimeout(r.sendTimer),clearTimeout(r.timer),r.reject(e);this.#t.clear();}async close(){this.#i++,this.#n=void 0,this.#c(new d("Realtime connection closed.")),await this.#r.close();}};function oc(t){switch(t.topic){case "prices.crypto":return {channel:PolyboltChannel.Crypto,filter:{symbol:t.symbol,provider:t.provider}};case "prices.crypto.twap":return {channel:PolyboltChannel.Twap,filter:{symbol:t.symbol,window_seconds:t.windowSeconds,provider:t.provider}};case "prices.equity":return {channel:PolyboltChannel.Equity,filter:{symbol:t.symbol,provider:t.provider}};case "prices.equity.twap":return {channel:PolyboltChannel.EquityTwap,filter:{symbol:t.symbol,window_seconds:t.windowSeconds,provider:t.provider}}}}var Z=class{#e;#r=new Map;#t=new Set;constructor(e){this.#e=e;}async subscribe(e){let r=[...new Map(Ws(e).map(d=>[d.key,d])).values()],s=pushable({objectMode:true}),i=[],o=false,n,a=async()=>{if(!o){o=true;for(let d of i)d();n===void 0?await s.return():s.end(n),this.#t.delete(a);}};this.#t.add(a);let u=d$1=>{o||(n=d.fromError(d$1),s.end(n),a());};try{let d=r.map(c=>{if(o)return Promise.resolve();let b=this.#n(c.key,c.provider),f={subscribed(m){if(!(o||!("onSubscribed"in e)))try{Promise.resolve(e.onSubscribed?.(m)).catch(u);}catch(C){u(C);}},event(m){if(o||"types"in e&&e.types!==void 0&&e.types.length>0&&!e.types.includes(m.type))return;let C="symbol"in m.payload?{...m.payload,symbol:"symbol"in c?c.symbol:m.payload.symbol}:m.payload;s.push({...m,payload:C});},end(m){n=m,s.end(m),a();}};return i.push(()=>b.remove(c.key,f)),b.add(c,f)});for(let c of d)c.catch(()=>{});if(await Promise.all(d),n!==void 0)throw n}catch(d){throw await a(),n??d}return {close:a,async*[Symbol.asyncIterator](){try{yield*s;}finally{await a();}}}}#n(e,r){for(let i of this.#r.keys())if(i.closed)this.#r.delete(i);else if(i.has(e))return i;for(let[i,o]of this.#r)if(o===r&&i.size<i.keyTarget)return i;let s=new G(new J(this.#e));return this.#r.set(s,r),s}async close(){await Promise.all([...this.#t].map(r=>r()));let e=[...this.#r.keys()];this.#r.clear(),await Promise.all(e.map(r=>r.close()));}};var K=class{#e;constructor(e){this.#e=new Z(e);}async subscribe(e){return this.#e.subscribe(e)}async close(){await this.#e.close();}};function _s(t,e){return {...e,quote:r=>t.quote(e,r)}}function zs(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 js(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Vs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Ns(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function $s(t,e){let r=U$1(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 Gs(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 Ys(t,e,r){let s=U$1(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function Js(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var X=class{#e=new Map;#r;constructor(e){this.#r=e;}waitFor(e,r){let s=cc(),i,o=setNonBlockingTimeout(()=>{this.remove(e,i),s.reject(new l(r));},this.#r);i=s.promise.finally(()=>clearTimeout(o));let n=this.#e.get(e)??[];return n.push({...s,promise:i}),this.#e.set(e,n),i}resolve(e,r){let s=this.#e.get(e),i=s?.shift();i!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),i.resolve(r));}reject(e,r){let s=this.#e.get(e),i=s?.shift();i!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),i.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let i=s.filter(o=>o.promise!==r);i.length===0?this.#e.delete(e):this.#e.set(e,i);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function cc(){let t,e;return {promise:new Promise((s,i)=>{t=s,e=i;}),reject:e,resolve:t}}var Xs="0x0000000000000000000000000000000000000000000000000000000000000000";async function ei(t){let e=U$1(t.account),r=be({chainId:t.chainId,exchange:t.exchange}),s$1={builder:Xs,maker:e.maker,makerAmount:toBaseUnits(ce(t.orderSide,t.orderPrice,t.size)),metadata:Xs,salt:uc().toString(),side:ee$1(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(de(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},i;try{i=await t.signer.signTypedData($d({domain:r,order:s$1}));}catch(o){throw s.fromError(o,"Could not sign the RFQ quote order.")}return {...s$1,signature:ae({domain:r,order:s$1,signature:i})}}function uc(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var si=DecimalishSchema.transform(t=>ni(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),lc=z.strictObject({price:si.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:si.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function ii(t){return a$1(t,lc)}async function oi(t){let e=t.response.price,r=t.response.size===void 0?yc(t.request.requestedSize,e):t.response.size,s=await ei({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:hc(t.request,t.response.source,e),orderSide:fc(t.response.source),signer:t.signer,size:r,tokenId:mc(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function mc(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function hc(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function fc(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function yc(t,e){let r=ni(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function ni(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 i=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(i<=0n)throw new a("Value must be greater than 0.");return i}var Pc=3e4,gc=3e4,F=class{#e;#r;#t;#n;#a;#s;#i;#o;#p;#c;#u=false;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#t=e.credentials,this.#n=e.exchange,this.#a=e.headers,this.#s=e.signer,this.#i=e.url;}async connect(){if(this.#u)throw new d("RFQ quoter manager has been shut down.");if(this.#o!==void 0){if(!this.#o.closed)return this.#o;this.#o=void 0;}if(this.#c!==void 0)return this.#c;let e=new Ke({account:this.#e,chainId:this.#r,credentials:this.#t,exchange:this.#n,headers:this.#a,onClose:()=>this.#d(e),signer:this.#s,url:this.#i});this.#p=e;let r;return r=(async()=>{try{if(await e.connect(),this.#u)throw await e.close(),new d("RFQ quoter manager has been shut down.");return this.#o=e,e}catch(s){throw await e.close(),s}finally{this.#c===r&&(this.#c=void 0),this.#p===e&&(this.#p=void 0);}})(),this.#c=r,r}async shutdown(){this.#u=true;let e=this.#o,r=this.#p,s=this.#c;this.#o=void 0,this.#p=void 0,this.#c=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#d(e){this.#o===e&&(this.#o=void 0),this.#p===e&&(this.#p=void 0);}},Ke=class{#e;#r;#t;#n;#a;#s;#i;#o;#p=new Le$1;#c=pushable({objectMode:true});#u=new X(gc);#d;#l;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#t=e.credentials,this.#n=e.exchange,this.#a=e.headers,this.#s=e.onClose,this.#i=e.signer,this.#o=e.url;}get closed(){return this.#d!==void 0}async connect(){let e=qc();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new d("RFQ quoter authentication timed out."));},Pc);try{await this.#p.connect({headers:this.#a,onConnectionLost:s=>this.#q(s),onError:()=>{},onMessage:s=>this.#P(s),onOpen:()=>this.#S(),url:this.#o}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#m(e){if(!this.#p.send(e))throw new d("RFQ quoter websocket is not open.")}async close(){this.#d===void 0&&(this.#d=this.#f()),await this.#d;}[Symbol.asyncIterator](){return this.#c[Symbol.asyncIterator]()}async#f(){let e=new d("RFQ quoter websocket closed.");this.#b(e),this.#c.end(),await this.#p.close(),this.#s();}async#h(e){this.#d===void 0&&(this.#d=this.#y(e)),await this.#d;}async#y(e){this.#b(e),this.#c.end(e),await this.#p.close(),this.#s();}#b(e){this.#l?.reject(e),this.#u.rejectAll(e);}#S(){this.#p.send($s(this.#e,this.#t));}#P(e){if(this.#d!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#g(s);return;case "quote_request":this.#c.push(_s(this,s));return;case "quote_ack":this.#u.resolve(ee(s.rfqId),js(s));return;case "quote_cancel_ack":this.#u.resolve(De(s.rfqId,s.quoteId),Vs(s));return;case "confirmation_request":this.#c.push(zs(this,s));return;case "confirmation_ack":this.#u.resolve(We(s.rfqId,s.quoteId),Ns(s));return;case "execution_update":this.#c.push(s);return;case "trade":this.#c.push(s);return;case "rfq_error":this.#R(s);return}}#g(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new d(`RFQ quoter authentication failed: ${e.error}`));}#q(e){this.#h(new g$1("RFQ quoter connection lost.",e));}#R(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#h(new d("Uncorrelated RFQ quoter error."));return}this.#u.reject(ee(e.rfqId),new Ig(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.#h(new d("Uncorrelated RFQ quoter error."));return}this.#u.reject(De(e.rfqId,e.quoteId),new Kg(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.#h(new d("Uncorrelated RFQ quoter error."));return}this.#u.reject(We(e.rfqId,e.quoteId),new Mg(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=ii(r),i=await oi({account:this.#e,chainId:this.#r,exchange:this.#n,request:e,response:s,signer:this.#i}),o=this.#u.waitFor(ee(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#m(Gs(e,i)),await o}catch(n){throw this.#u.remove(ee(e.rfqId),o),n}}async cancelQuote(e){let r=De(e.rfqId,e.quoteId),s=this.#u.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#m(Ys(this.#e,e.rfqId,e.quoteId)),await s}catch(i){throw this.#u.remove(r,s),i}}async respondToConfirmation(e,r,s){let i=We(e,r),o=this.#u.waitFor(i,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#m(Js(e,r,s)),await o}catch(n){throw this.#u.remove(i,o),n}}};function ee(t){return `ACK_RFQ_QUOTE:${t}`}function De(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function We(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function qc(){let t,e;return {promise:new Promise((s,i)=>{t=s,e=i;}),reject:e,resolve:t}}var M=class{#e;#r;#t;#n=new Le$1({heartbeat:new Ge});#a=new Ke$1;#s=new R({deriveServerState:Ec});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#s.add(e,{matches:xc(e)});return await this.#i(s,r),g(s.subscriber.queue,()=>this.#o(s))}async#i(e,r){try{if((await this.#c()).reusedOpenSocket){let{before:i,after:o}=r,n=Cc(i,o);this.#h(n);}}catch(s){throw await this.#o(e),s}}async#o(e){let{before:r,after:s}=this.#s.remove(e),i=Ac(r,s);this.#y(i),this.#s.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#p().finally(()=>{this.#t=void 0;})),await this.#t;}async#p(){this.#a.stop(),this.#s.endAll(),await this.#n.close();}#c(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#m(),onMessage:e=>this.#d(e),onOpen:()=>this.#u(),headers:this.#e,url:this.#r})}#u(){this.#a.resetBackoff(),this.#f();}#d(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#s.dispatch(r.data);}#l(){this.#s.hasActiveSubscriptions()&&this.#b();}#m(){}#f(){this.#h(Array.from(this.#s.serverState().values()));}#h(e){e.length!==0&&this.#n.send(kc(e));}#y(e){e.length!==0&&this.#n.send(wc(e));}#b(){this.#a.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#s.hasActiveSubscriptions()});}};function Cc(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function Ac(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Ec(t){let e=new Map;for(let{subscription:r}of t)for(let s of Tc(r))e.has(s.key)||e.set(s.key,s);return e}function kc(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function wc(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Tc(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>Q("comments",e));case "prices.crypto.binance":return [Q("crypto_prices","update")];case "prices.crypto.chainlink":return [Q("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [Q(Oc(t.windowSeconds),"update")];case "prices.equity.pyth":return [Q("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function Oc(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function Q(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function xc(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.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(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 I=class{#e;#r;#t;#n=new Le$1({heartbeat:new He});#a=new Ke$1;#s=new R;constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{entry:r}=this.#s.add(e);return await this.#i(r),g(r.subscriber.queue,()=>this.#o(r))}async#i(e){try{await this.#c();}catch(r){throw await this.#o(e),r}}async#o(e){this.#s.remove(e),this.#s.hasActiveSubscriptions()||await this.close();}async close(){this.#t===void 0&&(this.#t=this.#p().finally(()=>{this.#t=void 0;})),await this.#t;}async#p(){this.#a.stop(),this.#s.endAll(),await this.#n.close();}#c(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#m(),onMessage:e=>this.#d(e),onOpen:()=>this.#u(),headers:this.#e,url:this.#r})}#u(){this.#a.resetBackoff();}#d(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#s.dispatch(r.data);}#l(){this.#s.hasActiveSubscriptions()&&this.#f();}#m(){}#f(){this.#a.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#s.hasActiveSubscriptions()});}};var te=class{#e;#r;get context(){return this.#e}get decorators(){return this.#r}get environment(){return this.context.environment}get predictions(){return this.context.predictions}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}get hasBuilderApiKey(){return this.context.apiKey?.isBuilderKey??false}constructor(e){this.#e=e,this.#r=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e,{fetch:this.context.fetch,signal:e.signal}):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e,{fetch:this.context.fetch,signal:e.signal}):Promise.resolve({})}rememberDecorator(e){this.#r.push(e);}},Dc=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),Wc=z.object({wallet:EvmAddressSchema,credentials:Dc.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});function ai(t){let e=Rs();return new Ee$1({fetch:t.fetch,retryMutations:false,headers:t.environment.predictions.headers,root:t.environment.predictions.rest,resolveHeaders:async()=>({POLYMARKET_CLIENT:e})})}var re=class extends te{constructor(e){super({apiKey:e.apiKey,environment:e.environment,fetch:e.fetch,onRateLimitUpdate:e.onRateLimitUpdate,predictions:ai(e),data:new Ee$1({fetch:e.fetch,headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Ee$1({fetch:e.fetch,headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Ee$1({fetch:e.fetch,headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ee$1({fetch:e.fetch,headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Ee$1({fetch:e.fetch,headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ee$1({fetch:e.fetch,headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new R$1({url:e.environment.rpc,fetch:e.fetch}),webSockets:{clobMarket:new k({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new I({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new M({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new w({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=a$1(e,Wc);return Promise.resolve(async function*(){let i$1=Math.floor(Date.now()/1e3),o=s?.nonce??0,n=expectEvmAddress(yield Ka$1()),a=expectEvmAddress(s.wallet),u=T(this.environment,n,a);if(s.credentials!==void 0){let b=this.#e(s.credentials,u,r);try{if((await xb(b)).includes(s.credentials.key))return b}catch(f){if(!(f instanceof i)||f.status!==401)throw f}}let d=yield {kind:"signAuthMessage",payload:Ss({address:n,chainId:this.environment.chainId,nonce:o,timestamp:i$1})},c=await vb(this,{address:n,nonce:o,signature:expectEvmSignature(d),timestamp:i$1});return this.#e(c,u,r)}.call(this))}#e(e,r,s){let i=new ze({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,onRateLimitUpdate:this.context.onRateLimitUpdate,fetch:this.context.fetch,signer:s});for(let o of this.decorators)i.extend(o);return i}},ze=class extends te{#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){let r=new K({url:e.environment.realtime.ws,headers:e.environment.realtime.headers,credentials:e.credentials});super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,fetch:e.fetch,onRateLimitUpdate:e.onRateLimitUpdate,signer:e.signer,predictions:ai(e),clob:new Ee$1({fetch:e.fetch,headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:s=>this.resolveClobHeaders(s)}),relayer:new Ee$1({fetch:e.fetch,headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:s=>this.resolveRelayerHeaders(s)}),rpc:new R$1({url:e.environment.rpc,fetch:e.fetch}),gamma:new Ee$1({fetch:e.fetch,headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Ee$1({fetch:e.fetch,headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Ee$1({fetch:e.fetch,headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ee$1({fetch:e.fetch,headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Ee$1({fetch:e.fetch,headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,resolveHeaders:async s=>({...await this.resolveClobHeaders(s),...await this.#t(s)}),root:e.environment.clob.rest}),combos:new Ee$1({fetch:e.fetch,headers:e.environment.combos.collateralReturn.headers,resolveHeaders:s=>this.resolveRelayerHeaders(s),root:e.environment.combos.collateralReturn.rest}),builderGateway:new Ee$1({fetch:e.fetch,headers:e.environment.combos.builderGateway.headers,resolveHeaders:async s=>({...await this.#r(s),...await this.#t(s)}),root:e.environment.combos.builderGateway.rest}),webSockets:{clobMarket:new k({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new O({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new F({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new I({headers:e.environment.sports.headers,url:e.environment.sports.ws}),realtime:r,rtds:new M({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new w({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new x({fetch:e.fetch,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}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get builderGateway(){return this.context.builderGateway}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.realtime.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:i,environment:o,onRateLimitUpdate:n,fetch:a}=this.context;try{await zb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let u=new re({apiKey:i,environment:o,onRateLimitUpdate:n,fetch:a});for(let d of this.decorators)u.extend(d);return u}async#r(e){return e.method!=="GET"&&this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e,{fetch:this.context.fetch,signal:e.signal}):{}}async#t(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await As(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw s.fromError(r,"Could not sign the L2-authenticated request")}}};function ci(t={}){return new re({environment:t.environment??Me,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate,fetch:t.fetch}).extend(vs)}var Kc=t(o,k$1,i,s,l,n,d,c,a),Qc=t(a);async function Hc(t){let e=ci({environment:t.environment,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate,fetch:t.fetch}),r=await _c(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(Ja$1(t.signer));if(s.account.walletType===WalletType.EOA||await Oa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await zc(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 _c(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=V(r,t.environment.walletDerivation);return await Oa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:W(r,t.environment.walletDerivation)}async function zc(t){let e=W(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 Ra(t)).wait();}
2
+ export{Kc as CreateSecureClientError,Qc as SetupGaslessWalletError,Ae as accountActions,vs as allActions,Ee as analyticsActions,As as buildHmacSignature,ci as createPublicClient,Hc as createSecureClient,ke as dataActions,we as discoveryActions,Qa as forkEnvironmentConfig,Te as perpsActions,ld as preproduction,Me as production,Ia as relayerApiKey,Ma as remoteBuilderSigning,Oe as rewardsActions,Ps as rfqActions,gs as sessionKeyActions,xe as subscriptionsActions,qs as tradingActions,Fe as walletActions};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map