@polymarket/client 0.11.0 → 0.13.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/actions/index.d.ts +6 -6
- package/dist/actions/index.js +1 -1
- package/dist/chunk-6GBGW5CG.js +2 -0
- package/dist/chunk-6GBGW5CG.js.map +1 -0
- package/dist/chunk-MY66WYAN.js +3 -0
- package/dist/chunk-MY66WYAN.js.map +1 -0
- package/dist/chunk-VLNLVY4C.js +6 -0
- package/dist/chunk-VLNLVY4C.js.map +1 -0
- package/dist/ethers-v5.d.ts +2 -2
- package/dist/ethers-v5.js +1 -1
- package/dist/ethers-v5.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/node.js +1 -1
- package/dist/privy.js +1 -1
- package/dist/{sports-C7mI-H0Z.d.ts → sports-DxgyI41A.d.ts} +1 -1
- package/dist/{types-BE9qerqa.d.ts → types-BGxCI8uu.d.ts} +6435 -5405
- package/dist/viem.d.ts +2 -2
- package/dist/viem.js +1 -1
- package/dist/viem.js.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-HWJ7BEKG.js +0 -2
- package/dist/chunk-HWJ7BEKG.js.map +0 -1
- package/dist/chunk-IPPWXOOG.js +0 -6
- package/dist/chunk-IPPWXOOG.js.map +0 -1
- package/dist/chunk-WZQAMVAC.js +0 -3
- package/dist/chunk-WZQAMVAC.js.map +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {r,i,h,q,d,c,a,j,l,m as m$1,b,n,o,f,p,k}from'./chunk-VLNLVY4C.js';import {EventIdSchema,PaginationCursorSchema,OrderSideSchema,ConditionIdSchema,EvmAddressSchema,ComboConditionIdSchema,TransactionIdSchema,BuilderCodeSchema,CommentParentEntityTypeSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,QuestionIdSchema,PositionIdSchema,ClobAssetIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,MarketIdSchema,toPositionId,toBaseUnits,toRfqId,toRfqQuoteId,toBuilderCode,SessionSignerKnownScope,SessionSignerScopeSchema,TradeStatus,toPaginationCursor,toDecimalString,toComboConditionId,toConditionId}from'@polymarket/bindings';export{SessionSignerKnownScope as Og}from'@polymarket/bindings';import {AssetTypeSchema,SignatureType,AssetType,ClosedOnlyModeSchema,OpenOrdersPageSchema,END_CURSOR,OpenOrderSchema,ClobTradesPageSchema,NotificationsResponseSchema,BalanceAllowanceResponseSchema,OrderScoringResponseSchema,OrdersScoringResponseSchema,UserEarningsPageSchema,TotalUserEarningsResponseSchema,UserRewardsEarningsPageSchema,RewardsPercentagesSchema,ApiKeyCredsSchema,ApiKeysResponseSchema,BuilderApiKeyCredsSchema,BuilderApiKeysResponseSchema,PaginatedBuilderTradesSchema,MidpointSchema,MidpointsSchema,FetchTickSizeResponseSchema,FetchNegRiskResponseSchema,ResolveConditionByTokenResponseSchema,FetchMarketInfoResponseSchema,FetchBuilderFeeRatesResponseSchema,PriceSchema,PricesSchema,FetchOrderBookResponseSchema,OrderBooksSchema,SpreadSchema,SpreadsSchema,LastTradePriceSchema,LastTradePricesSchema,PaginatedCurrentRewardsSchema,PaginatedMarketRewardsSchema,CancelOrdersResponseSchema,OrderResponseSchema,OrderResponsesSchema,ActiveSessionSignersResponseSchema}from'@polymarket/bindings/clob';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,isSameEvmAddress,ZERO_ADDRESS,PolymarketError,expectHexString,unwrap,invariant,delay,expectEvmSignature,expectErc1271Signature,ResultAsync,setNonBlockingInterval,setNonBlockingTimeout,expectPrivateKey,ok,err,expectPresent,isPresent,expectSessionSignerSignature,errAsync}from'@polymarket/types';import {z as z$1}from'zod';import {WalletType,SeriesIdSchema,MarketClarificationState,ProtocolVersion,ListCommentsResponseSchema,ListCommentsKeysetResponseSchema,ListEventsKeysetResponseSchema,EventSchema,FetchEventTagsResponseSchema,ListMarketClarificationsResponseSchema,ListMarketsKeysetResponseSchema,FetchMarketTagsResponseSchema,MarketSchema,PublicProfileSchema,PublicSearchResponseSchema,ListSeriesResponseSchema,SeriesSchema,ListSportsMetadataResponseSchema,SportsMarketTypesResponseSchema,ListTagsResponseSchema,TagSchema,ListRelatedTagsResponseSchema,ListRelatedTagResourcesResponseSchema,ListTeamsResponseSchema}from'@polymarket/bindings/gamma';import {AbiFunction,Hash,Bytes,AbiParameters,ContractAddress,TypedData,Secp256k1,Address,Signature}from'ox';import To from'ky';import {TradeFilterTypeSchema,SortDirectionSchema,ActivityTypeSchema,CanonicalMarketConditionIdSchema,LeaderboardWindowSchema,BuilderVolumeIntervalSchema,TraderLeaderboardSortSchema,PriceHistoryIntervalSchema,PriceHistoryInterval,PositionSortBySchema,PositionFilterTypeSchema,PositionStatusSchema,PositionStatus,ComboPositionStatusSchema,ComboPositionStatus,ComboPositionSortBySchema,UserPnlFidelitySchema,UserPnlIntervalSchema,ApprovalStandard,ListTradesResponseSchema,ListActivityResponseSchema,ListComboActivityResponseSchema,FetchApprovalsResponseSchema,FetchResolutionsResponseSchema,FetchEventLiveVolumeResponseSchema,ListBuilderLeaderboardResponseSchema,FetchBuilderVolumeResponseSchema,ListTraderLeaderboardResponseSchema,FetchTraderLeaderboardStandingResponseSchema,ListBiggestWinnersResponseSchema,ListMarketHoldersResponseSchema,ListPriceHistoryResponseSchema,FetchOpenInterestResponseSchema,ListPositionsResponseSchema,ListComboPositionsResponseSchema,FetchPortfolioValueResponseSchema,FetchUserStatsResponseSchema,FetchUserPnlResponseSchema,FetchUserVolumeResponseSchema}from'@polymarket/bindings/data';export{ResolutionMarketType as Cc,ResolutionReporter as Dc,ResolutionSettlementTimeBasis as Ec,ResolutionSource as Fc,ResolutionStatus as Gc,BiggestWinnerKind as Rc,BuilderVolumeInterval as Sc,LeaderboardWindow as Tc,TraderLeaderboardSort as Uc,PriceHistoryInterval as Xc,ComboPositionSortBy as sf,ComboPositionStatus as tf,PositionFilterType as uf,ComboActivityType as va,PositionSortBy as vf,SortDirection as wa,PositionStatus as wf,TipSide as xa,UserPnlFidelity as xf,TradeFilterType as ya,UserPnlInterval as yf}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerAuthorizeSessionSignerStatus,RelayerRevokeSessionSignerStatus,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema,RelayerAuthorizeSessionSignerResponseSchema,RelayerRevokeSessionSignerResponseSchema}from'@polymarket/bindings/relayer';import {CollateralReturnPlanSchema,RfqRejectionCode,RfqSide,RfqRequestedSizeUnit,RfqDirection,RfqKnownErrorCode,ComboQuoteUnavailableReason,RfqStatus,ComboAcceptFailureReason,RfqExecutionStatus,CollateralReturnPlanResponseSchema,ListComboMarketsResponseSchema,BuilderRfqCreateResponseSchema,BuilderRfqStatusResponseSchema}from'@polymarket/bindings/combos';export{RfqDirection as Ag,RfqExecutionStatus as Bg,RfqKnownErrorCode as Cg,RfqRejectionCode as Dg,RfqRequestedSizeUnit as Eg,RfqSide as Fg,RfqStatus as Gg,CollateralReturnKnownOperationKind as lc,ComboAcceptFailureReason as xg,ComboQuoteUnavailableReason as yg,RfqConfirmationDecision as zg}from'@polymarket/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsChaseIdSchema,PerpsTimeInForce,PerpsPostOrderAckSchema,PerpsTwapIdSchema,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelAllOrdersResponseSchema,PerpsUpdateLeverageResultSchema,PerpsUpdateLeverageBatchResultSchema,PerpsKnownCancelOrderErrorCode,PerpsBuilderStatusSchema,PerpsBuilderApprovalSchema,PerpsCredentialsResponseSchema,PerpsPositionSnapshotsSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAutoCancelStatusResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsInternalTransfersResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,FetchPerpsBuilderApprovalsResponseSchema,ListPerpsBuilderEarningsResponseSchema,PerpsBuilderEarningsSummarySchema,CreatePerpsChaseResponseSchema,FetchPerpsChasesResponseSchema,PerpsCancelOrderResultSchema,PerpsAutoCancelResponseSchema,CreatePerpsTwapResponseSchema,FetchPerpsTwapsResponseSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsInternalTransferResponseSchema,PerpsCreateProxyResponseSchema,PerpsRegistrationResponseSchema}from'@polymarket/bindings/perps';export{PerpsTwapStatus as bf}from'@polymarket/bindings/perps';import {encode}from'@msgpack/msgpack';import {PriceProvider,PerpsNotificationsResyncFrameSchema,PerpsSessionUpdateEventSchema}from'@polymarket/bindings/subscriptions';export{KnownPriceSource as $g,PriceProvider as ah}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import nC from'it-merge';function m(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var w=z$1.number().int().positive();function I(e,r,t=[]){function n(){return {async firstPage(){return {items:t,hasMore:false}},from(){return n()},async*[Symbol.asyncIterator](){}}}function s(o=r){return {async firstPage(){return unwrap(e(o))},from(a){return a===void 0?n():s(a)},async*[Symbol.asyncIterator](){let a=o;for(;;){let l=await unwrap(e(a));if(yield l,!l.hasMore||l.limitReached)return;a=l.nextCursor;}}}}return s()}function fe(e){return toPaginationCursor(au(JSON.stringify(e)))}function oe(e,r,t="Invalid pagination cursor"){try{return r.parse(JSON.parse(go(e)))}catch(n){throw new a(t,{cause:n})}}function Jr(e){try{return JSON.parse(go(e))}catch{return}}function au(e){return btoa(String.fromCharCode(...new TextEncoder().encode(e)))}function go(e){return new TextDecoder().decode(Uint8Array.from(atob(e),r=>r.charCodeAt(0)))}var Ro=z$1.strictObject({offset:z$1.number().int().min(0),pageSize:w});function ee(e){return fe(Ro.parse(e))}function ce(e,r,t={}){return e===void 0?{offset:0,pageSize:r}:sn(oe(e,z$1.unknown()),t)}function sn(e,r={}){let t=Ro.safeParse(e);if(!t.success)throw new a("Invalid pagination cursor",{cause:t.error});let n=t.data;if(r.maxPageSize!==void 0&&n.pageSize>r.maxPageSize)throw new a(`Pagination cursor page size must be at most ${r.maxPageSize}`);if(r.maxOffset!==void 0&&n.offset>r.maxOffset)throw new b(`Pagination reached this listing's supported depth limit (${r.maxOffset}); whether more items exist cannot be established.`);return n}var iu=z$1.object({kind:z$1.literal("keyset"),fingerprint:z$1.string(),cursor:z$1.string().min(1)});function Xr(e,r){return fe({kind:"keyset",fingerprint:Eo(r),cursor:e})}function et(e,r){if(!pu(e))return;let t=iu.safeParse(e);if(!t.success)throw new a("Invalid pagination cursor",{cause:t.error});if(r===void 0||t.data.fingerprint!==Eo(r))throw new a("Pagination cursor was created for a different query");return toPaginationCursor(t.data.cursor)}function pu(e){return typeof e=="object"&&e!==null&&"kind"in e&&e.kind==="keyset"}function Eo(e){return JSON.stringify(nn(e))}function nn(e){return Array.isArray(e)?e.map(nn):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[t])=>r<t?-1:r>t?1:0).map(([r,t])=>[r,nn(t)])):e}function y(e){return function(t){return ResultAsync.fromPromise(t.json(),()=>new c(`Received non-JSON response from ${t.url}`)).andThen(n=>uu(t.url,e,n))}}function So(e){return ResultAsync.fromPromise(e.blob(),()=>new c(`Received unreadable binary response from ${e.url}`))}function uu(e,r,t){let n=r.safeParse(t);return n.success?ok(n.data):err(c.fromZodError(n.error,{endpoint:e}))}var xo=class{#r;constructor({url:r}){this.#r=r;}async ethCall(r){let t=await this.#o({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:r.to,data:r.data},"latest"]});if("error"in t)throw new h(`JSON-RPC eth_call failed: ${t.error.message}`,{cause:t.error,status:200});if(typeof t.result!="string")throw new c("Expected JSON-RPC eth_call result to be a hex string");if(!ko(t.result))throw new c("Expected JSON-RPC eth_call result to be a hex string");return t.result}async ethCallBatch(r){return r.length===0?[]:this.#e(r)}async ethEstimateGas(r){let t={to:r.to};r.data!==void 0&&(t.data=r.data),r.from!==void 0&&(t.from=r.from),r.gasPrice!==void 0&&(t.gasPrice=bo(r.gasPrice)),r.value!==void 0&&(t.value=bo(r.value));let n=await this.#o({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[t]});if("error"in n)throw new h(`JSON-RPC eth_estimateGas failed: ${n.error.message}`,{cause:n.error,status:200});return BigInt(Io(n.result,"eth_estimateGas"))}async#e(r){if(r.length===1)return [await this.ethCall(r[0])];try{return await this.#s(r)}catch(t){if(!(t instanceof h)||t.status<500)throw t;let n=Math.ceil(r.length/2),[s,o]=await Promise.all([this.#e(r.slice(0,n)),this.#e(r.slice(n))]);return [...s,...o]}}async#s(r){let t=await this.#t(r.map((s,o)=>({jsonrpc:"2.0",id:o+1,method:"eth_call",params:[{to:s.to,data:s.data},"latest"]}))),n=new Map;for(let s of t){if("error"in s&&s.id===null)throw new h(`JSON-RPC eth_call failed: ${s.error.message}`,{cause:s.error,status:200});s.id!==null&&n.set(s.id,s);}return r.map((s,o)=>{let a=o+1,l=n.get(a);if(l===void 0)throw new c("Expected JSON-RPC batch response for every request");if("error"in l)throw new h(`JSON-RPC eth_call failed: ${l.error.message}`,{cause:l.error,status:200});return Io(l.result)})}async#o(r){let t;try{t=await To.post(this.#r,{json:r,throwHttpErrors:!1});}catch(s){throw d.fromError(s)}if(!t.ok)throw new h(`JSON-RPC request to ${this.#r} failed with status ${t.status}`,{status:t.status});let n;try{n=await t.json();}catch(s){throw new c("Expected JSON-RPC response body to be JSON",{cause:s})}if(!Co(n))throw new c("Unexpected JSON-RPC response shape");return n}async#t(r){let t;try{t=await To.post(this.#r,{json:r,throwHttpErrors:!1});}catch(s){throw d.fromError(s)}if(!t.ok)throw new h(`JSON-RPC request to ${this.#r} failed with status ${t.status}`,{status:t.status});let n;try{n=await t.json();}catch(s){throw new c("Expected JSON-RPC response body to be JSON",{cause:s})}if(!Array.isArray(n)||!n.every(s=>Co(s)))throw new c("Unexpected JSON-RPC response shape");return n}};function vo(e){if(!(e instanceof h)||!qo(e.cause))return false;let r=[e.cause.message,lu(e.cause.data)].join(" ").toLowerCase();return (e.cause.code===3||e.cause.code===-32e3||e.cause.code===-32003||e.cause.code===-32015||e.cause.code===-32603)&&(r.includes("execution reverted")||r.includes("revert")||r.includes("invalid opcode"))}function Co(e){return !Ao(e)||e.jsonrpc!=="2.0"?false:"error"in e?qo(e.error):"result"in e}function qo(e){return Ao(e)&&typeof e.code=="number"&&typeof e.message=="string"}function Ao(e){return typeof e=="object"&&e!==null}function ko(e){return /^0x[a-fA-F0-9]*$/.test(e)}function Io(e,r="eth_call"){if(typeof e!="string"||!ko(e))throw new c(`Expected JSON-RPC ${r} result to be a hex string`);return e}function bo(e){return `0x${e.toString(16)}`}function lu(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}var wo=(t=>(t.OWNER="OWNER",t.SESSION_KEY="SESSION_KEY",t))(wo||{}),fu="0x0000000000000000000000000000000000000000000000000000000000000000",yu="0x6492649264926492649264926492649264926492649264926492649264926492";function WC(e,r,t){let n=Fu(e,r,t);return {signer:r,wallet:t,...n}}function Ie(e){switch(e){case WalletType.EOA:return SignatureType.EOA;case WalletType.POLY_PROXY:return SignatureType.POLY_PROXY;case WalletType.GNOSIS_SAFE:return SignatureType.POLY_GNOSIS_SAFE;case WalletType.DEPOSIT_WALLET:return SignatureType.POLY_1271}}function kr(e){let r=Ie(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}function fr(e,r){return e.signerType==="OWNER"?r:Pu(e.signer,r)}function Pu(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),n=AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes"}],[t,fu,r]);return expectSessionSignerSignature(`${n}${yu.slice(2)}`)}var gu="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function Ru(e){let r=gu.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function Eu(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Ru(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function hu(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var Su="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Tu="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",xu=0x61003d3d8160233d3973n;function Oo(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),n=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Au(r.depositWalletImplementation,n),from:r.depositWalletFactory,salt:Hash.keccak256(n)}))}var Cu="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",Iu="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",bu="0x60195155f3363d3d373d3d363d602036600436635c60da",vu=0x6100523d8160233d3973n,qu="0x49493a4d";function Lo(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),n=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:ku(r.depositWalletBeacon,n),from:r.depositWalletFactory,salt:Hash.keccak256(n)}))}function Au(e,r){let t=BigInt((r.length-2)/2),n=xu+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(n,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Tu),Bytes.fromHex(Su),Bytes.fromHex(r)),{as:"Hex"}))}function ku(e,r){let t=BigInt((r.length-2)/2),n=vu+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(n,{size:10}),Bytes.fromHex(e),Bytes.fromHex(bu),Bytes.fromHex(Iu),Bytes.fromHex(Cu),Bytes.fromHex(r)),{as:"Hex"}))}async function wu(e,r){try{let t=await e.ethCall({to:r,data:qu});return Lu(t)}catch(t){if(vo(t))return ZERO_ADDRESS;throw t}}async function Ou(e,r){let t=await wu(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function Fo(e,r,t){return await Ou(e,t.depositWalletFactory)?Lo(r,t):Oo(r,t)}function Lu(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Fu(e,r,t){if(isSameEvmAddress(t,r))return {signerType:"OWNER",walletType:WalletType.EOA};let n=e.walletDerivation;return isSameEvmAddress(t,Lo(r,n))?{signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET}:isSameEvmAddress(t,Oo(r,n))?{signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET}:isSameEvmAddress(t,hu(r,n))?{signerType:"OWNER",walletType:WalletType.GNOSIS_SAFE}:isSameEvmAddress(t,Eu(r,n))?{signerType:"OWNER",walletType:WalletType.POLY_PROXY}:{signerType:"SESSION_KEY",walletType:WalletType.DEPOSIT_WALLET}}var Bo=z$1.string().transform(e=>e);function te(e){return z$1.union([z$1.object({...e,assetId:Bo,tokenId:z$1.never().optional()}),z$1.object({...e,assetId:z$1.never().optional(),tokenId:z$1.string()})])}function Oe(e){return z$1.union([z$1.object({...e,assetId:Bo.optional(),tokenId:z$1.never().optional()}),z$1.object({...e,assetId:z$1.never().optional(),tokenId:z$1.string().optional()})])}function S(e,r){if(Mu(r))return Uu(e,r.exceptions);let t=new URLSearchParams;for(let[n,s]of Object.entries(r)){let o=e[n];if(o!==void 0){if(pn(o)){for(let a of o)t.append(s,_e(a));continue}t.append(s,_e(o));}}return t}function C(e={}){return {format:"snake_case",exceptions:e}}function Mo(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(n!==void 0){if(Array.isArray(n)){r.append(t,n.map(_e).join(","));continue}r.append(t,_e(n));}return r}var Xe=z$1.union([z$1.number().int().min(0),z$1.date()]).transform(e=>e instanceof Date?Math.floor(e.getTime()/1e3):e),yr=z$1.union([z$1.literal("full"),z$1.object({start:Xe.optional(),end:Xe.optional()}).refine(e=>!e.end||e.end>=(e.start??0),"end must not precede start")]).transform(e=>e==="full"?{start:1}:e),an=EventIdSchema.refine(e=>/^[1-9]\d*$/.test(e)&&BigInt(e)<=2147483647n,"Expected a positive 32-bit event ID");function ye(e,r){return z$1.array(e).min(1).transform(t=>[...new Map(t.map(n=>[n.toLowerCase(),n])).values()]).refine(t=>t.length<=r,`At most ${r} distinct ids`)}function U(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e)){if(n===void 0)continue;let s=Uo(t);if(pn(n)){r.append(s,n.map(_e).join(","));continue}r.append(s,_e(n));}return r}function Mu(e){return "format"in e}function Uu(e,r){let t=new URLSearchParams;for(let[n,s]of Object.entries(e)){if(s===void 0)continue;let o=r[n]??Uo(n);if(pn(s)){for(let a of s)t.append(o,_e(a));continue}t.append(o,_e(s));}return t}function pn(e){return Array.isArray(e)}function Uo(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function _e(e){return String(e)}var aI=r(i,h,q,d,c);async function iI(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var Qu=z$1.object({cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),market:z$1.string().optional()}),Ju=Oe(Qu.shape).default({}),pI=r(i,h,q,d,c,a);function cI(e,r){let t=m(r,Ju),{cursor:n}=t;return I(s=>e.secureClob.get("/data/orders",{params:S({assetId:t.assetId??t.tokenId,id:t.id,market:t.market,nextCursor:s},C({assetId:"asset_id"}))}).andThen(y(OpenOrdersPageSchema)).map(o=>({items:o.data,hasMore:o.nextCursor!==END_CURSOR,nextCursor:o.nextCursor===END_CURSOR?void 0:toPaginationCursor(o.nextCursor)})),n)}var Xu=z$1.object({orderId:z$1.string()}),dI=r(i,h,q,d,c,a);async function uI(e,r){let t=m(r,Xu);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var el={after:z$1.string().optional(),before:z$1.string().optional(),cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),makerAddress:z$1.string().optional(),market:z$1.string().optional()},rl=Oe(el).default({}),lI=r(i,h,q,d,c,a);function Do(e,r){let t=m(r,rl),{cursor:n}=t;return I(s=>e.secureClob.get("/data/trades",{params:S({after:t.after,assetId:t.assetId??t.tokenId,before:t.before,id:t.id,makerAddress:t.makerAddress,market:t.market,nextCursor:s},C({assetId:"asset_id"}))}).andThen(y(ClobTradesPageSchema)).map(o=>({items:o.data,hasMore:o.nextCursor!==END_CURSOR,nextCursor:o.nextCursor===END_CURSOR?void 0:toPaginationCursor(o.nextCursor)})),n)}var mI=r(i,h,q,d,c),tl=z$1.object({ids:z$1.array(z$1.string()).min(1)});async function fI(e){let r=Ie(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:S({signatureType:r},C())}).andThen(y(NotificationsResponseSchema)))}var yI=r(i,h,q,d,c,a);async function PI(e,r){let t=m(r,tl),n=Ie(e.account.walletType),s=S({ids:t.ids.join(","),signatureType:n},C());await unwrap(e.secureClob.del("/notifications",{params:s}));}var _o=z$1.object({assetType:AssetTypeSchema}),nl=Oe(_o.shape),gI=r(i,h,q,d,c,a);async function cn(e,r){let t=m(r,nl),n=Ie(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:S({assetType:t.assetType,tokenId:t.assetId??t.tokenId,signatureType:n},C())}).andThen(y(BalanceAllowanceResponseSchema)))}var sl=Oe(_o.shape),RI=r(i,h,q,d,c,a);async function zo(e,r){let t=m(r,sl),n=Ie(e.account.walletType),s=S({assetType:t.assetType,tokenId:t.assetId??t.tokenId,signatureType:n},C());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:s})),cn(e,t)}var ol=z$1.object({orderId:z$1.string()}),EI=r(i,h,q,d,c,a);async function hI(e,r){let t=m(r,ol);return (await unwrap(e.secureClob.get("/order-scoring",{params:S(t,C())}).andThen(y(OrderScoringResponseSchema)))).scoring}var al=z$1.object({orderIds:z$1.array(z$1.string())}),SI=r(i,h,q,d,c,a);async function TI(e,r){let n=m(r,al).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:n}).andThen(y(OrdersScoringResponseSchema)))}var jo=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string()}),xI=r(i,h,q,d,c,a);function CI(e,r){let{cursor:t,...n}=m(r,jo),s=Ie(e.account.walletType);return I(o=>e.secureClob.get("/rewards/user",{params:S({...n,nextCursor:o,signatureType:s},C())}).andThen(y(UserEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var II=r(i,h,q,d,c,a);async function bI(e,r){let t=m(r,jo),n=Ie(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:S({...t,signatureType:n},C())}).andThen(y(TotalUserEarningsResponseSchema)))}var il=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string(),noCompetition:z$1.boolean().optional(),orderBy:z$1.string().optional(),pageSize:w.max(500).default(100),position:z$1.string().optional()}),vI=r(i,h,q,d,c,a);function qI(e,r){let{cursor:t,...n}=m(r,il),s=Ie(e.account.walletType);return I(o=>e.secureClob.get("/rewards/user/markets",{params:S({...n,nextCursor:o,signatureType:s},C())}).andThen(y(UserRewardsEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var AI=r(i,h,q,d,c);async function kI(e){let r=Ie(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:S({signatureType:r},C())}).andThen(y(RewardsPercentagesSchema)))}function _(e,r={}){let{retries:t=2,maxDelaySeconds:n=5,sleep:s=delay}=r;function o(a){return e().orElse(l=>{if(!(l instanceof i)||a<=0)return errAsync(l);let P=l.retryAfter??1;return P>n?errAsync(l):ResultAsync.fromSafePromise(s(P*1e3).catch(()=>{})).andThen(()=>o(a-1))})}return o(t)}var Pl=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema.optional(),takerOnly:z$1.boolean().optional(),filterType:TradeFilterTypeSchema.optional(),filterAmount:z$1.number().min(0).optional(),conditionId:z$1.union([ConditionIdSchema,ye(ConditionIdSchema,20)]).optional(),eventId:z$1.array(EventIdSchema).min(1).optional(),side:OrderSideSchema.optional(),window:yr.optional()}).refine(e=>!(e.conditionId&&e.eventId),{message:"Provide conditionId or eventId, not both",path:["eventId"]}),HI=r(i,h,d,c,a);function KI(e,r={}){let{cursor:t,pageSize:n,window:s,...o}=m(r,Pl);return I(a=>_(()=>e.data.get("/v2/trades",{params:U({...o,...s,limit:n,cursor:a})})).andThen(y(ListTradesResponseSchema)),t)}var gl=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema,conditionId:z$1.union([ConditionIdSchema,ye(ConditionIdSchema,20)]).optional(),eventId:z$1.array(EventIdSchema).min(1).optional(),type:z$1.array(ActivityTypeSchema).min(1).optional(),side:OrderSideSchema.optional(),sortDirection:SortDirectionSchema.optional(),window:yr.optional()}).refine(e=>!(e.conditionId&&e.eventId),{message:"Provide conditionId or eventId, not both",path:["eventId"]}),GI=r(i,h,d,c,a);function $I(e,r){let{cursor:t,pageSize:n,window:s,...o}=m(r,gl);return I(a=>_(()=>e.data.get("/v2/activity",{params:U({...o,...s,excludeDepositsWithdrawals:false,limit:n,cursor:a})})).andThen(y(ListActivityResponseSchema)),t)}var Rl=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema,conditionId:z$1.union([ComboConditionIdSchema,ye(ComboConditionIdSchema,20)]).optional()}),VI=r(i,h,d,c,a);function YI(e,r){let{cursor:t,pageSize:n,...s}=m(r,Rl);return I(o=>_(()=>e.data.get("/v2/activity/combos",{params:U({...s,limit:n,cursor:o})})).andThen(y(ListComboActivityResponseSchema)),t)}var hl=64,Sl=/^0x[0-9a-fA-F]{62}$/,Tl=/^0x[0-9a-fA-F]{64}$/,ln="0x0000000000000000000000000000000000000000000000000000000000000000",xl=AbiFunction.from("function approve(address spender, uint256 amount)"),$o=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),Cl=AbiFunction.from("function transfer(address recipient, uint256 amount)"),Il=AbiFunction.from("function authorizeSessionSigner(address sessionSigner, uint256 validUntil)"),bl=AbiFunction.from("function revokeSessionSigner(address sessionSigner)"),vl=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),ql=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),Vo=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),Yo=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),Zo=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),Al=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),kl=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),wl=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),Ol=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),Ll=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Fl=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),Bl=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),Ml=AbiFunction.from("function multiSend(bytes)"),Ul=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),Qo=[1n,2n],Dl=[1n,2n],ne=(1n<<256n)-1n,ob=r(a);function ot(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>ne)throw new a("Approval amount exceeds uint256 range");return {data:_l(r,t),to:e}}function Jo(e,r,t){return {data:AbiFunction.encodeData($o,[r,t]),to:e}}function Xo(e){return AbiFunction.decodeResult($o,e)}function at(e,r,t){return {data:zl(r,t),to:e}}function ea(e,r,t){return {data:AbiFunction.encodeData(Vo,[r,t]),to:e}}function ra(e){return AbiFunction.decodeResult(Vo,e)}function ta(e,r,t){return {data:AbiFunction.encodeData(Yo,[r,ve(BigInt(t),"Position ID")]),to:e}}function na(e){return AbiFunction.decodeResult(Yo,e)}function it(e,r,t){return {data:AbiFunction.encodeData(Zo,[t.map(()=>r),t.map(n=>ve(BigInt(n),"id"))]),to:e}}function pt(e){return AbiFunction.decodeResult(Zo,e)}var ab=r(a);function mn(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>ne)throw new a("Transfer amount exceeds uint256 range");return {data:jl(r,t),to:e}}function sa(e,r,t){return {data:AbiFunction.encodeData(Il,[r,ve(t,"Session key expiry")]),to:e}}function oa(e,r){return {data:AbiFunction.encodeData(bl,[r]),to:e}}var ib=r(a);function aa(e,r,t,n){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(vl,[r,ve(t,"Perps deposit amount"),n]),to:e}}var pb=r(a);function ia(e,r,t,n){return {data:Wl(r,t,n),to:e}}var cb=r(a);function pa(e,r,t,n){return {data:Nl(r,t,n),to:e}}var db=r(a);function ca(e,r,t){return {data:Hl(r,t),to:e}}var ub=r(a);function fn(e,r,t){return {data:AbiFunction.encodeData(Ol,[gn(r),ve(t,"Split amount")]),to:e}}var lb=r(a);function yn(e,r,t){return {data:AbiFunction.encodeData(Ll,[gn(r),ve(t,"Merge amount")]),to:e}}var mb=r(a);function ct(e,r,t,n){return {data:AbiFunction.encodeData(Fl,[gn(r),BigInt(Kl(t)),ve(n,"Redeem amount")]),to:e}}var fb=r(a);function Pn(e,r){return {data:AbiFunction.encodeData(Bl,[r.map(t=>ve(t,"Leg position ID"))]),to:e}}function _l(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(xl,[e,r])}function zl(e,r){return AbiFunction.encodeData(ql,[e,r])}function jl(e,r){return AbiFunction.encodeData(Cl,[e,r])}function Wl(e,r,t){return AbiFunction.encodeData(Al,[e,ln,r,Qo,ve(t,"Split amount")])}function Nl(e,r,t){return AbiFunction.encodeData(kl,[e,ln,r,Qo,ve(t,"Merge amount")])}function Hl(e,r){return AbiFunction.encodeData(wl,[e,ln,r,Dl])}function ve(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>ne)throw new a(`${r} exceeds uint256 range`);return e}function gn(e){if(Sl.test(e))return e.toLowerCase();if(Tl.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,hl)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function Kl(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function da(e){return AbiFunction.encodeData(Ul,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function ua(e){let r=e.map(t=>Gl(t));return AbiFunction.encodeData(Ml,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function Gl(e){let r=e.value??0n;return AbiParameters.encodePacked(["uint8","address","uint256","uint256","bytes"],[0,e.to,r,BigInt((e.data.length-2)/2),e.data])}var Rb=r(i,h,j,l,d,c,a);function K(e,r="Expected a TransactionHandle"){return invariant(typeof e=="object"&&e!==null&&"transactionHash"in e&&"transactionId"in e&&"wait"in e&&typeof e.wait=="function",r),e}r(m$1,q);r(m$1,q);function xb(e){return async function(t){let n=await t.next();for(;!n.done;)try{switch(n.value.kind){case "requestAddress":n=await t.next(await e.getAddress());break;case "signAuthMessage":n=await t.next(await e.signTypedData(n.value.payload));break}}catch(s){n=await t.throw(s);}return n.value}}function z(e){return async function(t){let n=await t.next();for(;!n.done;)try{switch(n.value.kind){case "requestAddress":n=await t.next(await e.getAddress());break;case "signGaslessTypedData":case "signOrder":n=await t.next(await e.signTypedData(n.value.payload));break;case "signGaslessMessage":n=await t.next(await e.signMessage(n.value.payload));break;case "sendErc20ApprovalTransaction":case "sendErc1155ApprovalForAllTransaction":case "sendErc20TransferTransaction":case "sendPerpsDepositTransaction":case "sendMergePositionsTransaction":case "sendRedeemPositionsTransaction":case "sendSplitPositionTransaction":n=await t.next(await e.sendTransaction(n.value.request));break}}catch(s){n=await t.throw(s);}return n.value}}function la(){return {kind:"requestAddress"}}function G(e,r){return {chainId:e,...r}}function fa(e,r,t,n){if(e.address.toLowerCase()!==r.toLowerCase()||e.chainId!==t)throw new c("Approval snapshot does not match the requested wallet and chain");function s(o,a){let l=e.contracts.filter(E=>E.token.toLowerCase()===o.toLowerCase()&&E.spender.toLowerCase()===a.toLowerCase()),P=l[0];if(l.length!==1||!P)throw new c("Expected exactly one approval row for each required token and spender");return P}return {erc20:n.erc20.filter(o=>{let a=s(o.tokenAddress,o.spenderAddress);if(a.standard!==ApprovalStandard.Erc20)throw new c("Expected an ERC-20 approval row");return !a.approved||a.amount!=="max"&&a.amount<o.amount}),erc1155:n.erc1155.filter(o=>{let a=s(o.tokenAddress,o.operatorAddress);if(a.standard!==ApprovalStandard.Erc1155)throw new c("Expected an ERC-1155 approval row");return !a.approved})}}var sm=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],om=[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"nonce",type:"uint256"}],am="DepositWallet",im="1",pm=600,cm=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],dm=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],um=z$1.object({address:z$1.string(),type:z$1.enum(RelayerTransactionType)}),jb=r(i,h,d,c,a);async function hn(e,r){let t=m(r,um);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:S(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var lm=z$1.object({transactionId:TransactionIdSchema}),mm=z$1.object({wallet:EvmAddressSchema,type:z$1.enum(WalletType)}),Wb=r(i,h,d,c,a);async function Nb(e,r){let t=await fm(e,r);return t.type===WalletType.EOA?false:unwrap(e.relayer.get("/deployed",{params:S({address:t.wallet,type:t.type===WalletType.DEPOSIT_WALLET?RelayerTransactionType.WALLET:void 0},{address:"address",type:"type"})}).andThen(y(RelayerDeployedResponseSchema)).map(({deployed:n})=>n))}async function fm(e,r){if(r!==void 0)return m(r,mm);if(!e.isSecureClient())throw new a("Gasless readiness inference requires a secure client. Pass a wallet and type when using a public client.");return e.account.walletType!==WalletType.EOA?{wallet:e.account.wallet,type:e.account.walletType}:{wallet:await Fo(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var Y=z$1.string().max(500),ya=10,Hb=r(i,h,d,c,a);async function Kb(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),wr(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function ym(e,r){let t=m(r,lm);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var Pm=z$1.object({data:z$1.custom(isHexString),to:EvmAddressSchema,value:z$1.bigint().optional()}),gm=z$1.object({calls:z$1.array(Pm).min(1).transform(e=>expectNonEmptyArray(e)),metadata:Y}),Gb=r(i,h,d,c,a);async function Q(e,r){let t=m(r,gm);return invariant(e.supportsGasless,"Gasless transactions require a Relayer API Key or Builder API Key in the client configuration."),invariant(e.account.walletType===WalletType.GNOSIS_SAFE||e.account.walletType===WalletType.POLY_PROXY||e.account.walletType===WalletType.DEPOSIT_WALLET,"Gasless transaction preparation supports Deposit Wallet, Safe-backed, and proxy-backed accounts"),async function*(){let n=expectEvmAddress(yield la());invariant(n===e.account.signer,"Wallet client address does not match the authenticated signer");for(let s=0;s<=ya;s+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*Rm(e,t);case WalletType.DEPOSIT_WALLET:return yield*Em(e,t);case WalletType.GNOSIS_SAFE:return yield*hm(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(o){if(!In(o)||s===ya)throw o;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*Rm(e,r){let t=yield*Sn(e,r.calls,r.metadata);return wr(e,t)}async function*Sn(e,r,t){let n=await hn(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),s=e.environment.walletDerivation.proxyFactory,o=da(r),a="0",l="0",P=(await e.rpc.ethEstimateGas({data:o,from:e.account.signer,to:s})).toString(),E=e.environment.contracts.relayHub,x=n.address,b=Cm(e.account.signer,s,o,a,l,P,n.nonce,E,x),k=expectEvmSignature(yield Sa(b));return {data:o,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:n.nonce,proxyWallet:e.account.wallet,signature:k,signatureParams:{gasLimit:P,gasPrice:l,relay:x,relayHub:E,relayerFee:a},to:s,type:RelayerTransactionType.PROXY}}function Tn(e){return !(e instanceof h)||e.status!==400?void 0:/batch nonce\s+\d+\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message)?.[1]}async function*Em(e,r){let t=yield*gr(e,r.calls,r.metadata);try{return await wr(e,t)}catch(n){let s=Tn(n);if(s===void 0)throw n;let o=yield*xn(e,t,r.calls,s);return wr(e,o)}}async function*gr(e,r,t){let n=await hn(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),s=r.map(Ea),o=`${Math.floor(Date.now()/1e3)+pm}`,a=fr(e.account,expectEvmSignature(yield Ta(ha({calls:s,chainId:e.environment.chainId,deadline:o,nonce:n.nonce,wallet:e.account.wallet}))));return {depositWalletParams:{calls:s,deadline:o,depositWallet:e.account.wallet},from:e.account.signer,...t!==void 0&&{metadata:t},nonce:n.nonce,signature:a,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET}}async function*xn(e,r,t,n){let s=fr(e.account,expectEvmSignature(yield Ta(ha({calls:t.map(Ea),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:n,wallet:e.account.wallet}))));return {...r,nonce:n,signature:s}}async function*hm(e,r){let t=yield*Cn(e,r.calls,r.metadata);return wr(e,t)}async function*Cn(e,r,t){let n=await hn(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),s=Sm(r,e.environment.contracts.safeMultisend),o=xm({chainId:e.environment.chainId,data:s.data,nonce:n.nonce,operation:s.operation,safeAddress:e.account.wallet,to:s.to,value:s.value}),a=expectEvmSignature(yield Sa(expectHexString(TypedData.getSignPayload(o))));return {data:s.data,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:n.nonce,proxyWallet:e.account.wallet,signature:Im(a),signatureParams:Tm(s.operation),to:s.to,type:RelayerTransactionType.SAFE,value:s.value>0n?`${s.value}`:void 0}}async function wr(e,r){let t=m(r,RelayerExecuteRequestSchema),n=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new er(e,n)}function In(e){if(e instanceof i)return true;if(!(e instanceof h)||e.status!==400)return false;if(/wallet busy/i.test(e.message)&&/active action/i.test(e.message)||/wallet has in-flight action/i.test(e.message))return true;let r=/batch nonce\s+(\d+)\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message);if(r===null)return false;let t=r[1],n=r[2];return t===void 0||n===void 0?false:BigInt(t)<BigInt(n)}function Ea(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function ha(e){let r={chainId:e.chainId,name:am,verifyingContract:e.wallet,version:im};return {domain:r,message:{calls:e.calls.map(t=>({data:t.data,target:t.target,value:BigInt(t.value)})),deadline:BigInt(e.deadline),nonce:BigInt(e.nonce),wallet:e.wallet},primaryType:"Batch",types:{Batch:dm,Call:cm,EIP712Domain:TypedData.extractEip712DomainTypes(r)}}}function Sm(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:ua(e),operation:1,to:r,value:0n}}function Tm(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function xm(e){return {domain:{chainId:e.chainId,verifyingContract:e.safeAddress},message:{baseGas:0n,data:e.data,gasPrice:0n,gasToken:ZERO_ADDRESS,nonce:BigInt(e.nonce),operation:e.operation,refundReceiver:ZERO_ADDRESS,safeTxGas:0n,to:e.to,value:e.value},primaryType:"SafeTx",types:{EIP712Domain:sm,SafeTx:om}}}function Sa(e){return {kind:"signGaslessMessage",payload:e}}function Ta(e){return {kind:"signGaslessTypedData",payload:e}}function Cm(e,r,t,n,s,o,a,l,P){return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromString("rlx:"),Bytes.fromHex(e),Bytes.fromHex(r),Bytes.fromHex(t),Bytes.fromNumber(BigInt(n),{size:32}),Bytes.fromNumber(BigInt(s),{size:32}),Bytes.fromNumber(BigInt(o),{size:32}),Bytes.fromNumber(BigInt(a),{size:32}),Bytes.fromHex(l),Bytes.fromHex(P)),{as:"Hex"}))}function Im(e){let r=e.slice(2),t=Number.parseInt(r.slice(128,130),16),n=t===0||t===1?t+31:t===27||t===28?t+4:t;return expectHexString(`0x${r.slice(0,128)}${n.toString(16).padStart(2,"0")}`)}var $b=r(i,h,d,c,a,j,l),er=class{#r;transactionHash;transactionId;constructor(r,t){this.#r=r,this.transactionHash=t.transactionHash,this.transactionId=t.transactionId;}async wait(){let r=0;for(;r<this.#r.environment.relayerMaxPolls;){let t=await ym(this.#r,{transactionId:this.transactionId});if(t.state===RelayerTransactionState.STATE_CONFIRMED){let n=t.transactionHash??this.transactionHash;if(n===null)throw new c("Expected submitted transaction to have a transaction hash once settled");return {transactionHash:n,transactionId:t.transactionId}}if(t.state===RelayerTransactionState.STATE_FAILED||t.state===RelayerTransactionState.STATE_INVALID)throw new l(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#r.environment.relayerPollFrequencyMs);}throw new j(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var qm=z$1.object({amount:z$1.union([z$1.bigint(),z$1.literal("max")]),metadata:Y.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),dv=r(a);async function Am(e,r){let t=m(r,qm),n=t.amount==="max"?ne:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?K(yield ba(G(e.environment.chainId,ot(t.tokenAddress,t.spenderAddress,n)))):yield*await Q(e,{calls:[ot(t.tokenAddress,t.spenderAddress,n)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var uv=r(m$1,i,h,q,d,c,a);function xa(e,r){return Am(e,r).then(z(e.signer))}var km=z$1.object({approved:z$1.boolean().default(true),metadata:Y.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),lv=r(a);async function wm(e,r){let t=m(r,km);return async function*(){return e.account.walletType===WalletType.EOA?K(yield va(G(e.environment.chainId,at(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await Q(e,{calls:[at(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var mv=r(m$1,i,h,q,d,c,a);function Ca(e,r){return wm(e,r).then(z(e.signer))}var fv=r(h,d,c,a),Om=z$1.object({user:EvmAddressSchema}),yv=r(i,h,d,c,a);async function Pv(e,r){let{user:t}=m(r,Om),n=await unwrap(_(()=>e.data.get("/v2/approvals",{params:U({user:t})})).andThen(y(FetchApprovalsResponseSchema))),s=fa(n,t,e.environment.chainId,Ia(e));return {isFullyApproved:s.erc20.length===0&&s.erc1155.length===0,missing:s}}async function Lm(e){let r=await Fm(e,e.account.wallet),t=r.erc20.map(s=>ot(s.tokenAddress,s.spenderAddress,s.amount)),n=r.erc1155.map(s=>at(s.tokenAddress,s.operatorAddress,true));return async function*(){if(t.length===0&&n.length===0)return;if(e.account.walletType===WalletType.EOA){for(let o of t)await K(yield ba(G(e.environment.chainId,o))).wait();for(let o of n)await K(yield va(G(e.environment.chainId,o))).wait();return}await(yield*await Q(e,{calls:[...t,...n],metadata:"Trading setup approvals"})).wait();}.call(null)}var gv=r(m$1,i,h,q,j,l,d,c,a);function Rv(e){return Lm(e).then(z(e.signer)).then(()=>{})}async function Fm(e,r){let t=Ia(e),n=[...t.erc20.map(l=>Jo(l.tokenAddress,r,l.spenderAddress)),...t.erc1155.map(l=>ea(l.tokenAddress,r,l.operatorAddress))],s=await e.rpc.ethCallBatch(n),o=s.slice(0,t.erc20.length),a=s.slice(t.erc20.length);try{return {erc20:t.erc20.filter((l,P)=>Xo(o[P])<l.amount),erc1155:t.erc1155.filter((l,P)=>!ra(a[P]))}}catch(l){throw new c("Expected JSON-RPC approval checks to return ABI-encoded values",{cause:l})}}function Ia(e){let{contracts:r}=e.environment;return {erc20:[{amount:ne,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:ne,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken},{amount:ne,spenderAddress:r.collateralAdapter,tokenAddress:r.collateralToken},{amount:ne,spenderAddress:r.negRiskCollateralAdapter,tokenAddress:r.collateralToken},{amount:ne,spenderAddress:r.protocolV2Router,tokenAddress:r.collateralToken},{amount:ne,spenderAddress:r.exchangeV3,tokenAddress:r.collateralToken},{amount:ne,spenderAddress:r.perpsDepositContract,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.collateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskCollateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.conditionalTokens},{operatorAddress:r.binaryModule,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskModule,tokenAddress:r.conditionalTokens},{operatorAddress:r.protocolV2Router,tokenAddress:r.positionManager},{operatorAddress:r.exchangeV3,tokenAddress:r.positionManager},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.positionManager}]}}function ba(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function va(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var Iv=r(i,h,d,c);async function Dm(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:ka(r)}).andThen(y(ApiKeyCredsSchema)))}var bv=r(i,h,d,c);async function _m(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:ka(r)}).andThen(y(ApiKeyCredsSchema)))}var vv=r(i,h,d,c);async function qv(e,r){try{return await Dm(e,r)}catch(t){if(!(t instanceof h)||t.status!==400)throw t}return _m(e,r)}var Av=r(i,h,q,d,c);async function kv(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var wv=r(i,h,q,d,c);async function Ov(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z$1.literal("OK"))));}var Lv=r(i,h,q,d,c);async function Fv(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var Bv=r(i,h,q,d,c);async function Mv(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var Uv=r(i,h,q,d,c);async function Dv(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z$1.literal("OK"))));}function ka(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var Hm=z$1.object({after:z$1.string().optional(),before:z$1.string().optional(),builderCode:BuilderCodeSchema,cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),market:z$1.string().optional()}),Km=Oe(Hm.shape),Yv=r(i,h,d,c,a);function Zv(e,r){let t=m(r,Km),{cursor:n}=t;return I(s=>e.clob.get("/builder/trades",{params:S({after:t.after,assetId:t.assetId??t.tokenId,before:t.before,builderCode:t.builderCode,id:t.id,market:t.market,nextCursor:s},C({assetId:"asset_id",builderCode:"builder_code"}))}).andThen(y(PaginatedBuilderTradesSchema)).map(o=>({items:o.data,hasMore:o.nextCursor!==END_CURSOR,nextCursor:o.nextCursor===END_CURSOR?void 0:toPaginationCursor(o.nextCursor)})),n)}var uf=te({}),pq=r(i,h,d,c,a);async function cq(e,r){let t=m(r,uf);return (await unwrap(e.clob.get("/midpoint",{params:nr(t)}).andThen(y(MidpointSchema)))).mid}var lf=z$1.array(te({})).min(1),dq=r(i,h,d,c,a);async function uq(e,r){let t=m(r,lf);return unwrap(e.clob.post("midpoints",{json:yt(t)}).andThen(y(MidpointsSchema)))}var mf=te({}),lq=r(i,h,d,c,a);async function mq(e,r){let t=m(r,mf);return (await unwrap(e.clob.get("/tick-size",{params:nr(t)}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var ff=te({}),fq=r(i,h,d,c,a);async function yq(e,r){let t=m(r,ff);return (await unwrap(e.clob.get("/neg-risk",{params:nr(t)}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var yf=te({}),Pq=r(i,h,d,c,a);async function Ma(e,r){let t=m(r,yf);return unwrap(e.clob.get(`/markets-by-token/${t.assetId??t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var Pf=z$1.object({conditionId:ConditionIdSchema}),gq=r(i,h,d,c,a);async function Ua(e,r){let t=m(r,Pf);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var gf=z$1.object({builderCode:BuilderCodeSchema}),Rq=r(i,h,d,c,a);async function Da(e,r){let t=m(r,gf);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(y(FetchBuilderFeeRatesResponseSchema)).mapErr(n=>n instanceof h&&n.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:n}):n))}var Rf=te({side:OrderSideSchema}),Eq=r(i,h,d,c,a);async function hq(e,r){let t=m(r,Rf);return (await unwrap(e.clob.get("/price",{params:nr(t)}).andThen(y(PriceSchema)))).price}var Ef=z$1.array(te({side:OrderSideSchema})).min(1),Sq=r(i,h,d,c,a);async function Tq(e,r){let t=m(r,Ef);return unwrap(e.clob.post("prices",{json:qf(t)}).andThen(y(PricesSchema)))}var hf=te({}),xq=r(i,h,d,c,a);async function ft(e,r){let t=m(r,hf);return unwrap(e.clob.get("/book",{params:nr(t)}).andThen(y(FetchOrderBookResponseSchema)))}var Sf=z$1.array(te({})).min(1),Cq=r(i,h,d,c,a);async function Iq(e,r){let t=m(r,Sf);return unwrap(e.clob.post("books",{json:yt(t)}).andThen(y(OrderBooksSchema)))}var Tf=te({}),bq=r(i,h,d,c,a);async function vq(e,r){let t=m(r,Tf);return (await unwrap(e.clob.get("/spread",{params:nr(t)}).andThen(y(SpreadSchema)))).spread}var xf=z$1.array(te({})).min(1),qq=r(i,h,d,c,a);async function Aq(e,r){let t=m(r,xf);return unwrap(e.clob.post("spreads",{json:yt(t)}).andThen(y(SpreadsSchema)))}var Cf=te({}),kq=r(i,h,d,c,a);async function wq(e,r){let t=m(r,Cf);return unwrap(e.clob.get("/last-trade-price",{params:nr(t)}).andThen(y(LastTradePriceSchema)))}var If=z$1.array(te({})).min(1),Oq=r(i,h,d,c,a);async function Lq(e,r){let t=m(r,If);return unwrap(e.clob.post("last-trades-prices",{json:yt(t)}).andThen(y(LastTradePricesSchema)))}var bf=z$1.object({cursor:PaginationCursorSchema.optional(),sponsored:z$1.boolean().optional()}).default({}),Fq=r(i,h,d,c,a);function Bq(e,r={}){let{cursor:t,...n}=m(r,bf);return I(s=>e.clob.get("/rewards/markets/current",{params:S({...n,nextCursor:s},C())}).andThen(y(PaginatedCurrentRewardsSchema)).map(o=>({items:o.data,hasMore:o.nextCursor!==END_CURSOR,nextCursor:o.nextCursor===END_CURSOR?void 0:toPaginationCursor(o.nextCursor)})),t)}var vf=z$1.object({conditionId:ConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z$1.boolean().optional()}),Mq=r(i,h,d,c,a);function Uq(e,r){let{cursor:t,...n}=m(r,vf);return I(s=>e.clob.get(`rewards/markets/${n.conditionId}`,{params:S({nextCursor:s,sponsored:n.sponsored},C())}).andThen(y(PaginatedMarketRewardsSchema)).map(o=>({items:o.data,hasMore:o.nextCursor!==END_CURSOR,nextCursor:o.nextCursor===END_CURSOR?void 0:toPaginationCursor(o.nextCursor)})),t)}function yt(e){return e.map(r=>({token_id:r.assetId??r.tokenId}))}function qf(e){return e.map(r=>({token_id:r.assetId??r.tokenId,side:r.side}))}function nr(e){let{assetId:r,tokenId:t,...n}=e;return S({...n,tokenId:e.assetId??e.tokenId},C())}var Wa=2*6e4,Yq=r(i,h,d,c);async function Zq(e){return Na(e),unwrap(e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:Wa}).andThen(y(CollateralReturnPlanResponseSchema)))}var Mf=z$1.object({plan:CollateralReturnPlanSchema}),_a=10,vn="Collateral return",Qq=r(h,d,c,a);async function Uf(e,r){let{plan:t}=m(r,Mf);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),Na(e),!isSameEvmAddress(t.wallet,e.account.wallet))throw new a("The collateral return plan was created for a different wallet than the authenticated account.");if(t.chainId!==e.environment.chainId)throw new a(`The collateral return plan was created for chain ${t.chainId}, but the client is configured for chain ${e.environment.chainId}.`);return async function*(){let n=[{data:t.routerCall.data,to:t.routerCall.to,value:0n}];for(let s=0;s<=_a;s+=1)try{let o=yield*Df(e,n);try{return await za(e,t.planHash,o)}catch(a){let l=Tn(a);if(l===void 0||o.type!==RelayerTransactionType.WALLET)throw a;let P=yield*xn(e,o,n,l);return await za(e,t.planHash,P)}}catch(o){if(!In(o)||s===_a)throw o;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var Jq=r(m$1,i,h,q,d,c,a);function Xq(e,r){return Uf(e,r).then(z(e.signer))}function Na(e){invariant(e.account.walletType===WalletType.DEPOSIT_WALLET||e.account.walletType===WalletType.GNOSIS_SAFE||e.account.walletType===WalletType.POLY_PROXY,"Collateral return supports Deposit Wallet, Safe Wallet, and Proxy Wallet accounts");}function Df(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return Cn(e,r,vn);case WalletType.POLY_PROXY:return Sn(e,r,vn);default:return gr(e,r,vn)}}async function za(e,r,t){let n=await unwrap(e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:Wa}).andThen(y(RelayerExecuteResponseSchema)));return new er(e,n)}var kn=100,wn=200,$a={maxOffset:wn,maxPageSize:kn},Kf=z$1.object({ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(kn).default(20),getPositions:z$1.boolean().optional(),holdersOnly:z$1.boolean().optional(),order:z$1.string().optional(),parentEntityId:z$1.union([EventIdSchema,SeriesIdSchema]),parentEntityType:CommentParentEntityTypeSchema}),Gf=z$1.object({getPositions:z$1.boolean().optional(),id:CommentIdSchema}),$f=z$1.object({address:z$1.string(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z$1.string().optional(),pageSize:w.max(kn).default(20)}),lA=r(b,i,h,d,c,a),Vf=z$1.enum(["id","createdAt"]);function Yf(e){if(e.holdersOnly===true||e.getPositions===true)return;if(e.order===void 0)return {ascending:false,order:"createdAt",parentEntityId:e.parentEntityId,parentEntityType:e.parentEntityType};let r=Vf.safeParse(e.order);if(r.success)return {ascending:e.ascending??true,order:r.data,parentEntityId:e.parentEntityId,parentEntityType:e.parentEntityType}}function mA(e,r){let{cursor:t,pageSize:n,...s}=m(r,Kf),o=Yf(s);return I(a$1=>{if(a$1===void 0)return o===void 0?Ha(e,s,{offset:0,pageSize:n}):Ka(e,o,n);let l=Jr(a$1);if(l===void 0)throw new a("Invalid pagination cursor");let P=et(l,o);return P===void 0||o===void 0?Ha(e,s,sn(l,$a)):Ka(e,o,n,P)},t)}function Ha(e,r,t){return e.gamma.get("/comments",{params:S({ascending:r.ascending,getPositions:r.getPositions,holdersOnly:r.holdersOnly,limit:t.pageSize,offset:t.offset,order:r.order,parentEntityId:r.parentEntityId,parentEntityType:r.parentEntityType},C())}).andThen(y(ListCommentsResponseSchema)).map(n=>{let o=n.filter(a=>a.parentCommentID==null).length>=t.pageSize;return {items:n,hasMore:o,limitReached:o&&t.offset+t.pageSize>wn,nextCursor:o?ee({offset:t.offset+t.pageSize,pageSize:t.pageSize}):void 0}})}function Ka(e,r,t,n){return e.gamma.get("/comments/keyset",{params:S({afterCursor:n,ascending:r.ascending,limit:t,order:r.order,parentEntityId:r.parentEntityId,parentEntityType:r.parentEntityType},C())}).andThen(y(ListCommentsKeysetResponseSchema)).map(s=>({items:s.items,hasMore:s.nextCursor!==void 0,nextCursor:s.nextCursor===void 0?void 0:Xr(s.nextCursor,r)}))}var fA=r(i,h,d,c,a);async function yA(e,r){let t=m(r,Gf);return unwrap(e.gamma.get(`comments/${t.id}`,{params:S({getPositions:t.getPositions},C())}).andThen(y(ListCommentsResponseSchema)))}var PA=r(b,i,h,d,c,a);function gA(e,r){let{address:t,cursor:n,pageSize:s,...o}=m(r,$f);return I(a=>{let l=ce(a,s,$a);return e.gamma.get(`comments/user_address/${t}`,{params:S({ascending:o.ascending,limit:l.pageSize,offset:l.offset,order:o.order},C())}).andThen(y(ListCommentsResponseSchema)).map(P=>{let E=P.length>=l.pageSize;return {items:P,hasMore:E,limitReached:E&&l.offset+l.pageSize>wn,nextCursor:E?ee({offset:l.offset+l.pageSize,pageSize:l.pageSize}):void 0}})},n)}function Pt(e,r){let t;try{t=new URL(e);}catch(l){throw new a("Expected a valid Polymarket URL.",{cause:l})}if(t.protocol!=="https:"||t.hostname!=="polymarket.com"&&t.hostname!=="www.polymarket.com")throw new a("Expected a valid Polymarket URL.");let[n,s,...o]=t.pathname.split("/").filter(Boolean),a$1=o[0];if(r==="market"&&n==="event"&&s!==void 0&&o.length<=1)return a$1??s;if(n!==r||s===void 0||o.length>0)throw new a(`Expected a Polymarket ${r} URL.`);return s}var sy=z$1.object({ascending:z$1.boolean().optional(),closed:z$1.boolean().default(false),cursor:PaginationCursorSchema.optional(),pageSize:w.optional(),cyom:z$1.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),ended:z$1.boolean().optional(),eventDate:IsoCalendarDateStringSchema.optional(),eventWeek:z$1.number().int().optional(),excludeTagIds:z$1.array(z$1.number().int()).optional(),featured:z$1.boolean().optional(),featuredOrder:z$1.boolean().optional(),gameIds:z$1.array(z$1.number().int()).optional(),ids:z$1.array(z$1.number().int()).optional(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeChildren:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),liquidityMax:z$1.number().optional(),liquidityMin:z$1.number().optional(),live:z$1.boolean().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),parentEventId:z$1.number().int().optional(),partnerSlug:z$1.string().optional(),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),relatedTags:z$1.boolean().optional(),seriesIds:z$1.array(z$1.number().int()).optional(),slug:z$1.array(z$1.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),startTimeMax:IsoDateTimeStringSchema.optional(),startTimeMin:IsoDateTimeStringSchema.optional(),tagIds:z$1.array(z$1.number().int()).optional(),tagMatch:z$1.enum(["any","all"]).optional(),tagSlug:z$1.string().optional(),titleSearch:z$1.string().optional(),volumeMax:z$1.number().optional(),volumeMin:z$1.number().optional()}),oy=z$1.union([z$1.object({id:z$1.string(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()}),z$1.object({slug:z$1.string(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()}),z$1.object({url:z$1.string(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()})]),ay=z$1.object({id:z$1.string()}),LA=r(i,h,d,c,a);function FA(e,r={}){let{cursor:t,pageSize:n,...s}=m(r,sy);return I(o=>e.gamma.get("/events/keyset",{params:ly({...s,pageSize:n,cursor:o===void 0?void 0:iy(o,s)})}).andThen(y(ListEventsKeysetResponseSchema)).map(a=>({items:a.items,hasMore:a.nextCursor!==void 0,nextCursor:a.nextCursor===void 0?void 0:Xr(a.nextCursor,s)})),t)}function iy(e,r){let t=Jr(e);return t===void 0?e:et(t,r)??e}var BA=r(i,h,d,c,a);async function MA(e,r){let t=m(r,oy);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:my(t)}).andThen(y(EventSchema)));let n="url"in t?Pt(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${n}`,{params:fy(t)}).andThen(y(EventSchema)))}var UA=r(i,h,d,c,a);async function DA(e,r){let t=m(r,ay);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var py=z$1.array(CanonicalMarketConditionIdSchema).min(1).transform(e=>[...new Set(e)]).refine(e=>e.length<=20,"At most 20 distinct condition ids"),cy=z$1.array(an).min(1).transform(e=>[...new Set(e)]).refine(e=>e.length<=20,"At most 20 distinct event ids"),dy=z$1.union([z$1.object({questionId:QuestionIdSchema,conditionIds:z$1.never().optional(),eventIds:z$1.never().optional()}),z$1.object({questionId:z$1.never().optional(),conditionIds:py,eventIds:z$1.never().optional()}),z$1.object({questionId:z$1.never().optional(),conditionIds:z$1.never().optional(),eventIds:cy})]),_A=r(i,h,d,c,a);async function zA(e,r){let{conditionIds:t,eventIds:n,questionId:s}=m(r,dy);return unwrap(_(()=>e.data.get("/v2/resolutions",{params:U({questionId:s,condition:t,eventId:n})})).andThen(y(FetchResolutionsResponseSchema)))}var uy=z$1.object({eventIds:z$1.array(an).min(1).transform(e=>[...new Set(e)])}),jA=r(i,h,d,c,a);async function WA(e,r){let{eventIds:t}=m(r,uy);return unwrap(_(()=>e.data.get("/v2/live-volume",{params:U({eventId:t})})).andThen(y(FetchEventLiveVolumeResponseSchema)))}function ly(e){return S(e,C({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function my(e){return S({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},C())}function fy(e){return S({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},C())}var xy=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),window:LeaderboardWindowSchema.optional()}),ak=r(i,h,d,c,a);function ik(e,r={}){let{cursor:t,pageSize:n,window:s}=m(r,xy);return I(o=>_(()=>e.data.get("/v2/builders/leaderboard",{params:U({timePeriod:s,limit:n,cursor:o})})).andThen(y(ListBuilderLeaderboardResponseSchema)),t)}var Cy=z$1.object({interval:BuilderVolumeIntervalSchema.optional(),bucketLimit:z$1.number().int().positive().max(90).optional()}),pk=r(i,h,d,c,a);async function ck(e,r={}){let{interval:t,bucketLimit:n}=m(r,Cy);return unwrap(_(()=>e.data.get("/v2/builders/volume",{params:U({interval:t,limit:n})})).andThen(y(FetchBuilderVolumeResponseSchema)))}var Ln=z$1.string().min(1),Iy=z$1.object({category:Ln.optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),sortBy:TraderLeaderboardSortSchema.optional(),window:LeaderboardWindowSchema.optional()}),dk=r(i,h,d,c,a);function uk(e,r={}){let{category:t,cursor:n,pageSize:s,sortBy:o,window:a}=m(r,Iy);return I(l=>_(()=>e.data.get("/v2/leaderboard",{params:U({category:t,cursor:l,limit:s,sortBy:o,timePeriod:a})})).andThen(y(ListTraderLeaderboardResponseSchema)),n)}var by=z$1.object({category:Ln.optional(),user:EvmAddressSchema,window:LeaderboardWindowSchema.optional()}),lk=r(i,h,d,c,a);async function mk(e,r){let{category:t,user:n,window:s}=m(r,by);return unwrap(_(()=>e.data.get("/v2/leaderboard",{params:U({category:t,timePeriod:s,user:n})})).andThen(y(FetchTraderLeaderboardStandingResponseSchema)))}var vy=z$1.object({category:Ln.optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),window:LeaderboardWindowSchema.optional()}),fk=r(i,h,d,c,a);function yk(e,r={}){let{category:t,cursor:n,pageSize:s,window:o}=m(r,vy);return I(a=>_(()=>e.data.get("/v2/biggest-winners",{params:U({category:t,cursor:a,limit:s,timePeriod:o})})).andThen(y(ListBiggestWinnersResponseSchema)),n)}var ky=z$1.object({marketId:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),eventId:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),questionId:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),state:z$1.union([z$1.enum(MarketClarificationState),z$1.array(z$1.enum(MarketClarificationState))]).optional(),showInFrontend:z$1.boolean().optional(),txHash:z$1.string().optional(),order:z$1.string().optional(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).default(20)}),kk=r(i,h,d,c,a);function wk(e,r={}){let{cursor:t,pageSize:n,...s}=m(r,ky);return I(o=>{let a=ce(o,n);return e.gamma.get("/market-clarifications",{params:S({...s,limit:a.pageSize,offset:a.offset},C())}).andThen(y(ListMarketClarificationsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?ee({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var zy=z$1.object({ascending:z$1.boolean().optional(),closed:z$1.boolean().optional(),clobTokenIds:z$1.array(z$1.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.optional(),conditionIds:z$1.array(ConditionIdSchema).optional(),cyom:z$1.boolean().optional(),decimalized:z$1.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),gameId:z$1.string().optional(),ids:z$1.array(z$1.number().int()).optional(),includeTag:z$1.boolean().optional(),liquidityNumMax:z$1.number().optional(),liquidityNumMin:z$1.number().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),positionIds:z$1.array(PositionIdSchema).optional(),questionIds:z$1.array(z$1.string()).optional(),relatedTags:z$1.boolean().optional(),rfqEnabled:z$1.boolean().optional(),rewardsMinSize:z$1.number().optional(),slug:z$1.array(z$1.string()).optional(),sportsMarketTypes:z$1.array(z$1.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),tagId:z$1.number().int().optional(),tagMatch:z$1.enum(["any","all"]).optional(),umaResolutionStatus:z$1.string().optional(),volumeNumMax:z$1.number().optional(),volumeNumMin:z$1.number().optional()}),jy=z$1.object({id:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),Wy=z$1.object({slug:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),Ny=z$1.object({url:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),Hy=z$1.union([jy,Wy,Ny]),Ky=z$1.object({id:z$1.string()}),Gk=r(i,h,d,c,a);function ri(e,r={}){let t=m(r,zy);return I(n=>e.gamma.get("/markets/keyset",{params:rP({...t,cursor:n??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(s=>({items:s.items,hasMore:s.nextCursor!==void 0,nextCursor:s.nextCursor})),t.cursor)}var Gy=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).optional(),exclude:z$1.array(ConditionIdSchema).optional()}),$k=r(i,h,d,c,a);function Vk(e,r={}){let t=m(r,Gy);return I(n=>e.rfq.get("/v1/rfq/combo-markets",{params:tP({...t,cursor:n??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(s=>({items:s.markets,hasMore:s.nextCursor!==void 0,nextCursor:s.nextCursor})),t.cursor)}var Yk=r(i,h,d,c,a);async function Zk(e,r){let t=m(r,Hy);return "id"in t?nP(e,t):"url"in t?Qa(e,{includeTag:t.includeTag,locale:t.locale,slug:Pt(t.url,"market")}):Qa(e,t)}var Qk=r(i,h,d,c,a);async function Jk(e,r){let t=m(r,Ky);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var $y=z$1.object({conditionIds:ye(CanonicalMarketConditionIdSchema,20),cursor:PaginationCursorSchema.optional(),includePnl:z$1.boolean().optional(),minBalance:z$1.number().nonnegative().optional(),pageSize:w.max(1e3).default(100)}).superRefine(({conditionIds:e,includePnl:r,pageSize:t},n)=>{r&&(e.length!==1&&n.addIssue({code:"custom",message:"includePnl requires exactly one conditionId",path:["conditionIds"]}),t>100&&n.addIssue({code:"custom",message:"includePnl supports pageSize at most 100",path:["pageSize"]}));}),Xk=r(i,h,d,c,a);function ew(e,r){let{conditionIds:t,cursor:n,includePnl:s,minBalance:o,pageSize:a}=m(r,$y);return I(l=>_(()=>e.data.get("/v2/holders",{params:U({condition:t,limit:a,cursor:l,includePnl:s,minBalance:o})})).andThen(y(ListMarketHoldersResponseSchema)),n)}var Vy=360*60*60,Yy=253402300799,Bn=Xe.pipe(z$1.number().int().positive().max(Yy)),ti=z$1.string().min(1).pipe(ClobAssetIdSchema),ni={assetId:ti,bucketSeconds:z$1.number().int().min(60).max(86400).optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e4).default(1e4)},Zy=z$1.object({...ni,interval:PriceHistoryIntervalSchema,start:z$1.never().optional(),end:z$1.never().optional(),asOf:z$1.never().optional()}).superRefine(({bucketSeconds:e,interval:r},t)=>{let n=r===PriceHistoryInterval.Max||r===PriceHistoryInterval.OneMonth?600:r===PriceHistoryInterval.OneWeek?300:60;e!==void 0&&e<n&&t.addIssue({code:"custom",message:`bucketSeconds must be at least ${n} for this interval`,path:["bucketSeconds"]});}),Qy=z$1.object({...ni,start:Bn,end:Bn.optional(),interval:z$1.never().optional(),asOf:z$1.never().optional()}).superRefine(({end:e,start:r},t)=>{if(e!==void 0&&e<r){t.addIssue({code:"custom",message:"end must not precede start",path:["end"]});return}(e??Math.floor(Date.now()/1e3))-r>Vy&&t.addIssue({code:"custom",message:"start to end must span at most 15 days",path:["end"]});}),Jy=z$1.object({assetId:ti,asOf:Bn,interval:z$1.never().optional(),start:z$1.never().optional(),end:z$1.never().optional(),bucketSeconds:z$1.never().optional(),cursor:z$1.never().optional(),pageSize:z$1.never().optional()}),Xy=z$1.union([Zy,Qy,Jy]),rw=r(i,h,d,c,a);function tw(e,r){let{assetId:t,cursor:n,pageSize:s,...o}=m(r,Xy);return I(a=>_(()=>e.data.get("/v2/prices-history",{params:U({...o,tokenId:t,limit:s,cursor:a})})).andThen(y(ListPriceHistoryResponseSchema)),n)}var eP=z$1.object({conditionIds:ye(CanonicalMarketConditionIdSchema,20).optional()}),nw=r(i,h,d,c,a);async function sw(e,r={}){let{conditionIds:t}=m(r,eP);return unwrap(_(()=>e.data.get("/v2/oi",{params:U({condition:t})})).andThen(y(FetchOpenInterestResponseSchema)))}function rP(e){return S(e,C({cursor:"after_cursor",ids:"id",pageSize:"limit"}))}function tP(e){return S({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function Qa(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:S({includeTag:r.includeTag,locale:r.locale},C())}).andThen(y(MarketSchema)))}async function nP(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:S({includeTag:r.includeTag,locale:r.locale},C())}).andThen(y(MarketSchema)))}function Mr(e){if(!(e instanceof h))return e;let r=sP(e);return r===void 0?e:new h(e.message,{cause:e,...e.code!==void 0?{code:e.code}:{},restriction:r,...e.retryAfter!==void 0?{retryAfter:e.retryAfter}:{},status:e.status})}function sP(e){if(e.status===425)return "restarting";if(e.status===503&&e.code==="post_only_mode")return "post_only"}var iP=z$1.object({orderId:z$1.string()}),pP=z$1.object({orderIds:z$1.array(z$1.string()).min(1).max(3e3)}),cP=z$1.object({market:z$1.string().optional()}),dP=Oe(cP.shape).refine(e=>e.market!==void 0||e.assetId!==void 0||e.tokenId!==void 0,{message:"At least one of market or assetId is required.",path:["market"]}),gw=r(h,i,q,d,c,a);async function Rw(e,r){let t=m(r,iP);return St(e,"/order",{orderID:t.orderId})}var Ew=r(h,i,q,d,c,a);async function hw(e,r){let t=m(r,pP);return St(e,"/orders",t.orderIds)}var Sw=r(h,i,q,d,c);async function Tw(e){return St(e,"/cancel-all")}var xw=r(h,i,q,d,c,a);async function Cw(e,r){let t=m(r,dP);return St(e,"/cancel-market-orders",{asset_id:t.assetId??t.tokenId,market:t.market})}async function St(e,r,t){return unwrap(e.secureClob.del(r,{json:t,rateLimitBucket:"cancel"}).mapErr(Mr).andThen(y(CancelOrdersResponseSchema)))}var je=z$1.object({assetId:ClobAssetIdSchema,tokenId:z$1.never().optional()}),We=z$1.object({assetId:z$1.never().optional(),tokenId:ClobAssetIdSchema});var pi=z$1.object({orderType:z$1.union([z$1.literal(OrderType.FAK),z$1.literal(OrderType.FOK)]).default(OrderType.FOK)}),oi=pi.extend({side:z$1.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),ai=pi.extend({side:z$1.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema}),lP=z$1.union([oi.extend(je.shape),oi.extend(We.shape),ai.extend(je.shape),ai.extend(We.shape)]).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r})),Mw=r(n,i,h,d,c,a);async function Uw(e,r){let t=m(r,lP),n=t.side===OrderSide.BUY?t.amount:t.shares;return mP(e,{amount:n,assetId:t.assetId,orderType:t.orderType,side:t.side})}async function mP(e,r){let t=await ft(e,{assetId:r.assetId});return Mn({amount:r.amount,orderBook:t,orderType:r.orderType,side:r.side})}function Mn(e){let{orderBook:r}=e,t=e.side===OrderSide.BUY?yP(r.asks,e.amount,e.orderType):PP(r.bids,e.amount,e.orderType);return invariant(fP(t,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),t}function fP(e,r){return e>=r&&e<=1-r}function yP(e,r,t){if(e.length===0)throw new n("No resting liquidity.");let n$1=0;for(let o=e.length-1;o>=0;o-=1){let a=e[o];if(a!==void 0&&(n$1+=Number.parseFloat(a.size)*Number.parseFloat(a.price),n$1>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new n("Insufficient liquidity for full fill.");let s=e[0];return Number.parseFloat(s.price)}function PP(e,r,t){if(e.length===0)throw new n("No resting liquidity.");let n$1=0;for(let o=e.length-1;o>=0;o-=1){let a=e[o];if(a!==void 0&&(n$1+=Number.parseFloat(a.size),n$1>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new n("Insufficient liquidity for full fill.");let s=e[0];return Number.parseFloat(s.price)}var hP=BigInt(Number.MAX_SAFE_INTEGER),SP=z$1.string().refine(xP,{message:"Order salt must be a non-negative JavaScript-safe integer."}),ui=z$1.looseObject({salt:SP}),TP=z$1.array(ui).min(1).max(15),$w=r(i,h,q,d,c,a),Vw=r(i,h,q,d,c,a);function Ct(e){return async function(t){m(t,ui);let n=li(e,t);return unwrap(e.secureClob.post("/order",{json:n,rateLimitBucket:"order"}).mapErr(Mr).andThen(y(OrderResponseSchema)))}}function Yw(e){return async function(t){m(t,TP);let n=t.map(s=>li(e,s));return unwrap(e.secureClob.post("/orders",{json:n,rateLimitBucket:"order"}).mapErr(Mr).andThen(y(OrderResponsesSchema)))}}function li(e,r){return invariant(r.postOnly!==true||r.orderType===OrderType.GTC||r.orderType===OrderType.GTD,"Post-only orders are only supported for GTC and GTD order types."),{deferExec:false,order:{builder:r.builder,expiration:`${r.expiration}`,maker:r.maker,makerAmount:r.makerAmount,metadata:r.metadata,salt:Number(BigInt(r.salt)),side:r.side,signature:r.signature,signatureType:r.signatureType,signer:r.signer,takerAmount:r.takerAmount,timestamp:r.timestamp,tokenId:r.tokenId},orderType:r.orderType,owner:e.credentials.key,...r.postOnly===true?{postOnly:true}:{}}}function xP(e){try{let r=BigInt(e);return r>=0n&&r<=hP}catch{return false}}var Pi=32,vP=1n,qP=2n,gi=3n,yi=50,AP=(1n<<256n)-1n,kP=(1n<<64n)-1n<<40n;function Dn(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[gi,r])),n=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:n,positionIds:[toPositionId(BigInt(`${n}00`).toString()),toPositionId(BigInt(`${n}01`).toString())]}}function _n(e){if(e.length===0||e.length>yi)throw new a(`Combo legs must include 1 to ${yi} position IDs`);let r=e.map(t=>{let n=zn(t),s=n.toString(16).padStart(Pi*2,"0"),o=Number.parseInt(s.slice(0,2),16),a$1=Number.parseInt(s.slice(-2),16);if(o!==1&&o!==2||a$1>1)throw new a("Combo legs must be binary or neg-risk YES/NO position IDs");return {value:n,conditionId:s.slice(0,-2)}});r.sort((t,n)=>t.value<n.value?-1:t.value>n.value?1:0);for(let t=1;t<r.length;t+=1){let n=r[t-1],s=r[t];if(n===void 0||s===void 0)throw new a("Invalid combo leg set");if(n.value===s.value)throw new a("Combo legs must not contain duplicate position IDs");if(n.conditionId===s.conditionId)throw new a("Combo legs must not contain both outcomes for the same condition")}return r.map(t=>t.value)}function Ne(e){try{return (zn(e)&kP)===0n}catch{return false}}function Ri(e){let t=zn(e).toString(16).padStart(Pi*2,"0"),n=BigInt(`0x${t.slice(0,2)}`),s=Number.parseInt(t.slice(-2),16);if(n!==vP&&n!==qP&&n!==gi)throw new a("Position ID must use a supported protocol v2 module");if(s!==0&&s!==1)throw new a("Protocol v2 position ID must be a YES/NO position ID");return {conditionId:toConditionId(`0x${t.slice(0,-2)}`),outcomeIndex:s}}function zn(e){let r=e.trim(),t;if(r.length===0)throw new a("Position ID must be a uint256 value");try{t=BigInt(r);}catch{throw new a("Position ID must be a uint256 value")}if(t<0n||t>AP)throw new a("Position ID must be a uint256 value");return t}var Fe=1000000n,wP=8*Number.EPSILON,jn=6,OP=8*Number.EPSILON;function Wn(e){let r=e*Number(Fe),t=Math.round(r),n=OP*Math.max(1,Math.abs(r)),s=Math.abs(r-t)<=n?t:Math.trunc(r);return BigInt(s)}function Dr(e){let r=Math.round(e*Number(Fe)),t=r/Number(Fe);if(!Number.isSafeInteger(r)||Math.abs(e-t)>wP)throw new a("has unsupported precision.");return BigInt(r)}function Nn(e){return Number(e)/Number(Fe)}function bt(e){return invariant(Number.isInteger(e)&&e>=0&&e<=jn,`Decimal places must be an integer between 0 and ${jn}.`),10n**BigInt(jn-e)}function vt(e,r,t,n){invariant(e>=0n,"Value must be non-negative."),invariant(r>=0n,"Multiplier must be non-negative."),invariant(t>0n,"Denominator must be positive.");let s=e*r,o=s/t;return n==="up"&&s%t!==0n?o+1n:o}function Hn(e,r,t){let n=bt(r);return vt(e,1n,n,t)*n}function Kn(e){switch(e){case .1:return {amount:3,size:2};case .01:return {amount:4,size:2};case .005:return {amount:5,size:2};case .0025:return {amount:6,size:2};case .001:return {amount:5,size:2};case 1e-4:return {amount:6,size:2}}invariant(false,`Unsupported tick size: ${e}`);}function qt(e,r){let t=Dr(e),n=Dr(r);if(t<n||t>Fe-n)throw new a(`must be between ${r} and ${1-r} for tick size ${r}.`);if(t%n!==0n)throw new a(`${e} must be a multiple of tick size ${r}.`);return t}function FP(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}function He(e,r,t){return Ne(r)?e.environment.contracts.exchangeV3:FP(e,t)}function Gn(e,r,t,n){let s=bt(t);return vt(e,r,Fe*s,n)*s}function BP(e,r,t,n){let s=bt(t);return vt(e,Fe,r*s,n)*s}function hi(e){let r=Kn(e.tickSize),t=Hn(Wn(e.size),r.size,"down");return e.side===OrderSide.BUY?{offeredAmount:Gn(t,e.price,r.amount,"down"),requestedAmount:t}:{offeredAmount:t,requestedAmount:Gn(t,e.price,r.amount,"down")}}function Si(e){let r=Kn(e.tickSize),t=Hn(Wn(e.amount),r.size,"down"),n=e.protectPrice?"up":"down";return e.side===OrderSide.BUY?{offeredAmount:t,requestedAmount:BP(t,e.price,r.amount,n)}:{offeredAmount:t,requestedAmount:Gn(t,e.price,r.amount,n)}}var $n=600*1e3,Vn=Number.POSITIVE_INFINITY,Yn=class{#r;#e=new Map;#s=new Map;#o=new Map;constructor(r){this.#r=r;}async resolveMarket(r){let t=await this.#t(r);return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize}}async resolveBuilderTakerFeeRate(r){return r===void 0?0:At(this.#e,r,$n,()=>this.#r.fetchBuilderTakerFeeRate(r))}async fetchCurrentMarket(r){let t=await At(this.#s,r,Vn,()=>this.#r.resolveCondition(r)),n=await this.#i(t);return this.#n(r,t,n),this.#o.set(t,Ti(n,$n)),{feeInfo:n.feeInfo,negRisk:n.negRisk,tickSize:n.tickSize}}async#t(r){let t=await At(this.#s,r,Vn,()=>this.#r.resolveCondition(r)),n=await At(this.#o,t,$n,()=>this.#i(t));return this.#n(r,t,n),n}#n(r,t,n){if(!n.assetIds.has(r))throw this.#s.delete(r),this.#o.delete(t),new c(`Market ${t} does not include asset ${r}.`)}async#i(r){let t=await this.#r.fetchMarket(r),n=new Set(t.tokens.map(({assetId:s})=>s));for(let s of n)this.#s.set(s,Ti(r));return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize,assetIds:n}}};function At(e,r,t,n){let s=e.get(r);if(s!==void 0&&(s.expiresAt===void 0||s.expiresAt>Date.now()))return s.promise;let o={promise:n()};return o.promise.then(()=>{o.expiresAt=Date.now()+t;},()=>{e.get(r)===o&&e.delete(r);}),e.set(r,o),o.promise}function Ti(e,r=Vn){return {expiresAt:Date.now()+r,promise:Promise.resolve(e)}}var xi=new WeakMap;function ir(e,r){return Zn(e).resolveMarket(r)}function _r(e,r){return Zn(e).fetchCurrentMarket(r)}function Ci(e,r){return Zn(e).resolveBuilderTakerFeeRate(r)}function Zn(e){let r=xi.get(e);if(r!==void 0)return r;let t=new Yn({fetchBuilderTakerFeeRate:async n=>(await Da(e,{builderCode:n})).taker,fetchMarket:n=>Ua(e,{conditionId:n}),resolveCondition:n=>Ma(e,{assetId:n})});return xi.set(e,t),t}var DP=180,vi=z$1.strictObject({price:PositiveDecimalNumberSchema,size:PositiveDecimalNumberSchema,side:OrderSideSchema,builderCode:BuilderCodeSchema.optional(),postOnly:z$1.boolean().default(false),expiration:z$1.number().int().nonnegative().optional()}),Ai=z$1.union([vi.extend(je.shape),vi.extend(We.shape)]).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+DP;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}}).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r}));async function ki(e,r){let t=await _P(e,{assetId:r.assetId,price:r.price}),n=hi({price:t.price,side:r.side,size:r.size,tickSize:t.tickSize});return {assetId:r.assetId,builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:r.expiration??0,funderAddress:t.funderAddress,offeredAmount:n.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:t.signerAddress,requestedAmount:n.requestedAmount}}async function _P(e,r){let t=await ir(e,r.assetId);try{return qi(e,r,t)}catch(n){if(!(n instanceof a))throw n;let s=await _r(e,r.assetId);return qi(e,r,s)}}function qi(e,r,t){let n=zP(r.price,t.tickSize);return {exchangeAddress:He(e,r.assetId,t.negRisk),funderAddress:e.account.wallet,price:n,signerAddress:e.account.signer,tickSize:t.tickSize}}function zP(e,r){try{return qt(e,r)}catch(t){throw t instanceof a?new a(`Price ${t.message}`,{cause:t}):t}}var Ui=z$1.object({builderCode:BuilderCodeSchema.optional(),orderType:z$1.union([z$1.literal(OrderType.FAK),z$1.literal(OrderType.FOK)]).default(OrderType.FAK)}),Oi=Ui.extend({side:z$1.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),Li=Ui.extend({side:z$1.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()}),Di=z$1.union([Oi.extend(je.shape),Oi.extend(We.shape),Li.extend(je.shape),Li.extend(We.shape)]).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r}));async function _i(e,r){let t=await WP(e,r,r.assetId),n=Si({amount:t.resolvedAmount,price:t.price,protectPrice:ji(r),side:r.side,tickSize:t.tickSize});return {assetId:r.assetId,builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:0,funderAddress:t.funderAddress,offeredAmount:n.offeredAmount,orderType:r.orderType,side:r.side,signer:t.signerAddress,requestedAmount:n.requestedAmount}}async function WP(e,r,t){return ji(r)?NP(e,r,t):HP(e,r,t)}async function NP(e,r,t){let n=r.side===OrderSide.BUY?r.amount:r.shares;if(r.side===OrderSide.BUY&&r.maxSpend!==void 0){let{builderTakerFeeRate:o,market:a$1}=await Wi(e,t,r.builderCode);try{return Fi(e,r,t,n,o,r.maxSpend,a$1)}catch(l){if(!(l instanceof a))throw l;let P=await _r(e,t);return Fi(e,r,t,n,o,r.maxSpend,P)}}let s=await ir(e,t);try{return Bi(e,r,t,n,s)}catch(o){if(!(o instanceof a))throw o;let a$1=await _r(e,t);return Bi(e,r,t,n,a$1)}}function Fi(e,r,t,n,s,o,a){let l=zi(r,a.tickSize),P=Nn(l);return {exchangeAddress:He(e,t,a.negRisk),funderAddress:e.account.wallet,price:l,resolvedAmount:Ni({amount:n,builderTakerFeeRate:s,maxSpend:o,platformFeeExponent:a.feeInfo.exponent,platformFeeRate:a.feeInfo.rate,price:P}),signerAddress:e.account.signer,tickSize:a.tickSize}}function Bi(e,r,t,n,s){let o=zi(r,s.tickSize);return {exchangeAddress:He(e,t,s.negRisk),funderAddress:e.account.wallet,price:o,resolvedAmount:n,signerAddress:e.account.signer,tickSize:s.tickSize}}async function HP(e,r,t){let n=r.side===OrderSide.BUY?r.amount:r.shares,s=r.side===OrderSide.BUY&&r.maxSpend!==void 0?Wi(e,t,r.builderCode):void 0,[o,a]=await Promise.all([ft(e,{assetId:t}),s]);if(o.assetId!==t)throw new c(`Order book returned asset ${o.assetId} for requested asset ${t}.`);let l=Dr(Mn({amount:n,orderBook:o,orderType:r.orderType,side:r.side}));return {exchangeAddress:He(e,t,o.negRisk),funderAddress:e.account.wallet,price:l,resolvedAmount:KP(r,n,Nn(l),a),signerAddress:e.account.signer,tickSize:o.tickSize}}function KP(e,r,t,n){return e.side!==OrderSide.BUY||e.maxSpend===void 0||n===void 0?r:Ni({amount:r,builderTakerFeeRate:n.builderTakerFeeRate,maxSpend:e.maxSpend,platformFeeExponent:n.market.feeInfo.exponent,platformFeeRate:n.market.feeInfo.rate,price:t})}function zi(e,r){return e.side===OrderSide.BUY?(invariant(e.maxPrice!==void 0,"Protected BUY market order requires maxPrice."),Mi("maxPrice",e.maxPrice,r)):(invariant(e.minPrice!==void 0,"Protected SELL market order requires minPrice."),Mi("minPrice",e.minPrice,r))}function Mi(e,r,t){try{return qt(r,t)}catch(n){throw n instanceof a?new a(`${e} ${n.message}`,{cause:n}):n}}function ji(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}async function Wi(e,r,t){let[n,s]=await Promise.all([ir(e,r),Ci(e,t)]);return {builderTakerFeeRate:s,market:n}}function Ni(e){let r=e.platformFeeRate*(e.price*(1-e.price))**e.platformFeeExponent,t=e.amount/e.price*r,n=e.amount+t+e.amount*e.builderTakerFeeRate;return e.maxSpend<=n?e.maxSpend/(1+r/e.price+e.builderTakerFeeRate):e.amount}var Gi="Polymarket CTF Exchange",$P="DepositWallet",VP="1",Jn="0x0000000000000000000000000000000000000000000000000000000000000000",Xn="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",YP=Hash.keccak256(Bytes.fromString(Xn),{as:"Hex"}),ZP=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),QP=Hash.keccak256(Bytes.fromString(Gi),{as:"Hex"}),$i=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Vi=[{name:"salt",type:"uint256"},{name:"maker",type:"address"},{name:"signer",type:"address"},{name:"tokenId",type:"uint256"},{name:"makerAmount",type:"uint256"},{name:"takerAmount",type:"uint256"},{name:"side",type:"uint8"},{name:"signatureType",type:"uint8"},{name:"timestamp",type:"uint256"},{name:"metadata",type:"bytes32"},{name:"builder",type:"bytes32"}],JP=[{name:"contents",type:"Order"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"}];function wt(e){let r=XP(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:Qi(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:$P,salt:Jn,verifyingContract:e.order.signer,version:VP},primaryType:"TypedDataSign",types:{EIP712Domain:$i,Order:Vi,TypedDataSign:JP}}}function Ot(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(Xn)),t=Xn.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${eg(e.domain).slice(2)}${rg(e.order).slice(2)}${r.slice(2)}${t}`)}function Yi(e){return {chainId:e.chainId,exchange:e.exchange,protocolVersion:"3"}}function jO(e,r,t){return e===OrderSide.SELL?t.toString():((r*t+999999n)/1000000n).toString()}function WO(e,r,t){return e===OrderSide.SELL?(r*t/1000000n).toString():t.toString()}function Zi(e){return {builder:e.builder??Jn,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??Jn,salt:BigInt(e.salt),side:ts(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function XP(e,r){return {domain:Qi(e),message:Zi(r),primaryType:"Order",types:{EIP712Domain:$i,Order:Vi}}}function Qi(e){return {chainId:e.chainId,name:Gi,verifyingContract:e.exchange,version:e.protocolVersion}}function eg(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[ZP,QP,tg(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function rg(e){let r=Zi(e);return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"uint256"},{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint8"},{type:"uint8"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[YP,r.salt,r.maker,r.signer,r.tokenId,r.makerAmount,r.takerAmount,r.side,r.signatureType,r.timestamp,r.metadata,r.builder]),{as:"Hex"}))}function tg(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function ts(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}var Ji="0x0000000000000000000000000000000000000000000000000000000000000000";function ns(e,r){let t=kr(r);return {builder:e.builderCode??Ji,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:Ji,orderType:e.orderType,protocolVersion:Ne(e.assetId)?"3":"2",salt:ng().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.assetId}}function ss(e,r){let{chainId:t,exchangeAddress:n,protocolVersion:s,...o}=e;return {...o,signature:r}}function ng(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}`)&(1n<<53n)-1n}function os(e){return wt({domain:Xi(e),order:e})}function as(e,r){return Ot({domain:Xi(e),order:e,signature:r})}function Xi(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:e.protocolVersion}}function is(e){return {kind:"signOrder",payload:e}}var sg=r(n,i,h,q,d,c,a);async function ps(e,r){let t=m(r,Di);return async function*(){let n=await _i(e,t),s=ns(n,e.account),o=expectEvmSignature(yield is(os(s)));return ss(s,fr(e.account,as(s,o)))}.call(null)}var og=r(i,h,q,d,c,a);async function cs(e,r){let t=m(r,Ai);return async function*(){let n=await ki(e,t),s=ns(n,e.account),o=expectEvmSignature(yield is(os(s))),a=ss(s,fr(e.account,as(s,o)));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var a0=sg;async function i0(e,r){return rp(e,ps(e,r))}var p0=og;async function c0(e,r){return rp(e,cs(e,r))}async function rp(e,r){let t=await r;return async function*(){let n=yield*t;return Ct(e)(n)}.call(null)}var pg=250,cg=3e4,dg={timeoutMs:z$1.number().int().positive().optional()},ug=z$1.object(dg).default({}),g0=r(i,h,q,j,l,d,c,a);function lg(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function tp(e){return e.status===TradeStatus.Failed}async function R0(e,r,t){let{timeoutMs:n=cg}=m(t,ug),s=[...new Set(r.tradeIds)];if(s.length===0)return [...r.transactionsHashes];let o=new Map,a=Date.now()+n;for(;o.size<s.length;){let P=s.filter(x=>!o.has(x)),E=await Promise.all(P.map(x=>Do(e,{id:x}).firstPage()));for(let x of E)for(let b of x.items)s.includes(b.id)&&lg(b)&&o.set(b.id,b);if(o.size===s.length)break;if(Date.now()>=a){let x=s.filter(b=>!o.has(b));throw new j(`Timed out waiting for trades to settle: ${x.join(", ")}`)}await delay(pg);}let l$1=[...o.values()];if(l$1.every(tp))throw new l(`Every fill of order ${r.orderId} failed execution: ${s.join(", ")}`);return [...new Set(l$1.filter(P=>!tp(P)).map(P=>P.transactionHash))].map(P=>TxHashSchema.parse(P))}function ls(e,r){return e===OrderSide.BUY?AssetType.COLLATERAL:Ne(r)?AssetType.CONDITIONAL_V2:AssetType.CONDITIONAL}async function op(e,r){let t=ls(r.side,r.assetId),{allowances:n}=await cn(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,assetId:r.assetId});return fg(n,r.spenderAddress)}function fg(e,r){return Object.entries(e).find(([n])=>isSameEvmAddress(n,r))?.[1]??0n}var U0=r(m$1,n,i,h,q,d,c,a);function yg(e,r){return ps(e,r).then(z(e.signer))}var D0=r(m$1,n,i,h,q,j,l,d,c,a);function _0(e,r){return yg(e,r).then(t=>ip(e,t))}var z0=r(m$1,i,h,q,d,c,a);function Pg(e,r){return cs(e,r).then(z(e.signer))}var j0=r(m$1,i,h,q,j,l,d,c,a);function W0(e,r){return Pg(e,r).then(t=>ip(e,t))}async function ip(e,r){let t=Ct(e);try{return await t(r)}catch(n){if(!Rg(n))throw n;let s=await gg(e,r,t);if(s===void 0)throw n;return s}}async function gg(e,r,t){return await Eg(e,r)?t(r):void 0}function Rg(e){return e instanceof h&&e.status===400&&e.message.includes("allowance is not enough")}async function Eg(e,r){let t=r.tokenId,n=await ir(e,t),s=He(e,t,n.negRisk),o=BigInt(r.makerAmount);return await op(e,{assetId:t,spenderAddress:s,side:r.side})>=o?false:(await(r.side===OrderSide.BUY?await xa(e,{amount:"max",spenderAddress:s,tokenAddress:e.environment.contracts.collateralToken}):await Ca(e,{operatorAddress:s,tokenAddress:Ne(t)?e.environment.contracts.positionManager:e.environment.contracts.conditionalTokens})).wait(),await zo(e,{assetType:ls(r.side,t),tokenId:r.side===OrderSide.SELL?t:void 0}),true)}function cp(e){let r=TypedData.getSignPayload(jr(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function jr(e){let r={chainId:e.chainId,name:"Polymarket",version:"1"};return {domain:r,message:{data:Hash.keccak256(encode(dp(e.op)),{as:"Hex"}),salt:BigInt(e.salt),ts:BigInt(e.timestamp)},primaryType:"Op",types:{EIP712Domain:TypedData.extractEip712DomainTypes(r),Op:[{name:"data",type:"bytes32"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function dp(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(dp):e}function cr(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Lt=z$1.string().regex(/^\d+(?:\.\d{1,28})?$/,"Expected a non-negative fixed-point fee rate with at most 28 fractional digits."),lp=z$1.object({builderAddress:EvmAddressSchema,feeRate:Lt});function ms(e,r){let[t,n=""]=e.split("."),[s,o=""]=r.split("."),a=Math.max(n.length,o.length),l=BigInt(`${t}${n.padEnd(a,"0")}`),P=BigInt(`${s}${o.padEnd(a,"0")}`);return l<P?e:r}var Ag=z$1.object({address:EvmAddressSchema}),kg=r(i,h,d,c,a);async function wg(e,r){let t=m(r,Ag);return unwrap(e.perps.get("/v1/info/builder",{params:S(t,C())}).andThen(y(PerpsBuilderStatusSchema)))}var Og=z$1.strictObject({builder:EvmAddressSchema,maxFeeRate:Lt,approvalVersion:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER)}),ys=z$1.strictObject({builderAddress:EvmAddressSchema.optional(),maxFeeRate:Lt}),Lg=r(i,h,q,d,c,a);async function fp(e,r,t){let n=m(t,ys);if(n.builderAddress===void 0)throw new a("A builder address is required when the session has no builder attribution.");let s=Fg(await r.fetchBuilderApprovals({builder:n.builderAddress}),n.builderAddress),a$1={...m({builder:n.builderAddress,maxFeeRate:n.maxFeeRate,approvalVersion:s},Og),chainId:e.environment.chainId,salt:cr(),timestamp:Date.now()},l;try{l=await e.signer.signTypedData(Bg(a$1));}catch(P){throw q.fromError(P,"Could not sign builder consent")}return unwrap(e.perps.post("/v1/account/builder-approvals",{json:Mg(a$1,l)}).andThen(y(PerpsBuilderApprovalSchema)))}function Fg(e,r){return (e.find(n=>n.builder.toLowerCase()===r.toLowerCase())?.approvalVersion??0)+1}function Bg(e){return jr({chainId:e.chainId,op:["approveBuilder",[e.builder,e.maxFeeRate,e.approvalVersion]],salt:e.salt,timestamp:e.timestamp})}function Mg(e,r){return {op:{type:"approveBuilder",args:{builder:e.builder,max_fee_rate:e.maxFeeRate,approval_version:e.approvalVersion}},salt:e.salt,sig:r,ts:e.timestamp}}var Pp={activeInstrumentIds:z$1.array(z$1.number().int().min(0).max(4294967295)).max(20).optional(),historyFills:z$1.array(z$1.strictObject({instrumentId:z$1.number().int().min(0).max(4294967295),tradeId:z$1.string().regex(/^[0-9]{1,20}$/).refine(e=>/^[0-9]{1,20}$/.test(e)&&BigInt(e)<=18446744073709551615n),timestamp:z$1.number().int().min(0).max(18446744073709)})).max(4).optional()};function gp(e){let r=e.activeInstrumentIds??[],t=e.historyFills??[];return r.length+t.length>0&&new Set(r).size===r.length&&t.every(n=>/^[0-9]{1,20}$/.test(n.tradeId))&&new Set(t.map(n=>`${n.instrumentId}:${BigInt(n.tradeId)}`)).size===t.length}var zg=z$1.strictObject(Pp).refine(gp,"Select at least one item without duplicate instruments or fills"),jg=z$1.strictObject({address:EvmAddressSchema,...Pp}).refine(gp,"Select at least one item without duplicate instruments or fills"),Wg=r(i,h,d,c,a);async function Ng(e,r){let t=m(r,jg);return Ep(e.perps,t)}async function Rp(e,r){let t=m(r,zg),n=await unwrap(e.get("/v1/account/credentials").andThen(y(PerpsCredentialsResponseSchema)));return Ep(e,{...t,address:n.address})}async function Ep(e,r){return unwrap(e.post("/v1/info/position-snapshots",{json:{address:r.address,...r.activeInstrumentIds===void 0?{}:{active_instrument_ids:r.activeInstrumentIds},...r.historyFills===void 0?{}:{history_fills:r.historyFills.map(t=>({instrument_id:t.instrumentId,trade_id:t.tradeId,timestamp:t.timestamp}))}}}).andThen(y(PerpsPositionSnapshotsSchema)))}function Sp(e,r){let t=hp(e.get("Poly-RateLimit-Remaining"),/^-?\d+$/),n=hp(e.get("Poly-RateLimit-Reset"),/^\d+$/),s=Hg(e.get("Poly-RateLimit-Tier")),o=e.get("Poly-RateLimit-Warning")?.trim().toLowerCase()==="true";if(!(t===void 0&&n===void 0&&s===void 0&&!o))return {...r===void 0?{}:{bucket:r},remaining:t,reset:n,tier:s,warning:o}}function hp(e,r){let t=e?.trim();if(t===void 0||!r.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}function Hg(e){if(!(e===null||e.trim()===""))return e}var Tp=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ps=`(?<month>${Tp.join("|")})`,gs="(?<hour>\\d{2}):(?<minute>\\d{2}):(?<second>\\d{2})",$g=[new RegExp(`^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (?<day>\\d{2}) ${Ps} (?<year>\\d{4}) ${gs} GMT$`),new RegExp(`^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (?<day>\\d{2})-${Ps}-(?<year>\\d{2}) ${gs} GMT$`),new RegExp(`^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) ${Ps} (?<day> \\d|\\d{2}) ${gs} (?<year>\\d{4})$`)],Vg=50*365.25*24*60*60*1e3;function Yg(e,r){let t;for(let k of $g)if(t=k.exec(e)?.groups,t!==void 0)break;if(t===void 0)return;let n=Tp.indexOf(t.month??"");if(n<0)return;let s=Number(t.day),o=Number(t.hour),a=Number(t.minute),l=Number(t.second);if(o>23||a>59||l>59)return;let P=t.year??"",E=Number(P);P.length===2&&(E+=Math.floor(new Date(r).getUTCFullYear()/100)*100,Date.UTC(E,n,s,o,a,l)-r>Vg&&(E-=100));let x=Date.UTC(E,n,s,o,a,l),b=new Date(x);if(!(b.getUTCFullYear()!==E||b.getUTCMonth()!==n||b.getUTCDate()!==s))return x}var Bt=class{#r;#e;#s;#o;constructor({root:r,headers:t,resolveHeaders:n,onRateLimitUpdate:s}){this.#r=To.create({prefixUrl:r,throwHttpErrors:false}),this.#e=t,this.#s=n,this.#o=s;}get(r,t={}){return this.#n("GET",r,t)}post(r,t={}){return this.#n("POST",r,t)}patch(r,t={}){return this.#n("PATCH",r,t)}del(r,t={}){return this.#n("DELETE",r,t)}#t(r){return r.startsWith("/")?r.slice(1):r}#n(r,t,n){return this.#m(this.#i(r,t,n),n.rateLimitBucket)}async#i(r,t,n){let s=this.#d(r,t,n),o=await this.#s?.(s),a=this.#l(this.#e,s.headers,o);return s.body!==void 0&&!a.has("content-type")&&a.set("content-type","application/json"),this.#r(this.#t(t),{body:s.body,headers:a,method:r,searchParams:s.params,...n.timeout!==void 0&&{timeout:n.timeout},...n.retry===false&&{retry:0}})}#d(r,t,n){return {body:"json"in n?this.#u(n.json):void 0,headers:n.headers,json:"json"in n?n.json:void 0,method:r,params:"params"in n?n.params:void 0,path:t}}#u(r){if(r!==void 0)return JSON.stringify(r)}#l(...r){let t=new Headers;for(let n of r)if(n!==void 0)for(let[s,o]of new Headers(n).entries())t.set(s,o);return t}#m(r,t){return ResultAsync.fromPromise(r.then(async n=>{let s=Sp(n.headers,t);if(s!==void 0&&this.#f(s),n.ok)return n;let o=this.#a(n);if(n.status===429)throw new i(`Request to ${n.url} was rate limited`,{rateLimit:s,retryAfter:o});let{code:a,message:l,retryAfter:P}=await this.#p(n);throw new h(l,{code:a,retryAfter:o??P,status:n.status})}),n=>n instanceof i||n instanceof h?n:d.fromError(n))}#f(r){try{Promise.resolve(this.#o?.(r)).catch(()=>{});}catch{}}#a(r){let t=r.headers.get("retry-after");if(t===null)return;if(/^\d+$/.test(t))return Number(t);let n=Date.now(),s=Yg(t,n);if(s!==void 0)return Math.max(0,Math.ceil((s-n)/1e3))}async#p(r){let t=r.headers.get("content-type")?.toLowerCase();if(t?.includes("application/json")){let{error:s,code:o,retry_after_seconds:a}=await r.clone().json().catch(()=>({}));if(s){let l=typeof o=="string"&&o!==""?o:void 0,P=l===void 0&&r.status!==400&&typeof s=="string"&&/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/.test(s)?s:void 0,E=l??P;return {message:`${String(s)} (${r.url})`,...E!==void 0?{code:E}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{retryAfter:a}:{}}}}if(t?.includes("text/plain")){let s=await r.clone().text().then(o=>o.trim(),()=>"");if(s)return {message:`${s} (${r.url})`}}return r.headers.get("server")?.toLowerCase()?.includes("cloudflare")?{message:`Request to ${r.url} was blocked by Cloudflare with status ${r.status}`}:t?.includes("text/html")||t?.includes("application/xhtml+xml")?{message:`Request to ${r.url} failed with status ${r.status} and an unexpected HTML response body`}:{message:`Request to ${r.url} failed with status ${r.status} and unreadable response body`}}};var Zg=1e4,Qg=3e4,Jg=5e3,Xg=10*6e4,eR=3e4,rR=25e3,tR=65e3,xp=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>{r("PING");},Zg);}handleMessage(r){return r!=="PONG"?false:(this.#r=Date.now(),true)}isStale(r){return r-this.#r>Qg}stop(){this.#e!==void 0&&(clearInterval(this.#e),this.#e=void 0);}},Cp=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>{r("PING");},Jg);}handleMessage(){return this.#r=Date.now(),false}isStale(r){return r-this.#r>Xg}stop(){this.#e!==void 0&&(clearInterval(this.#e),this.#e=void 0);}},Ip=class{#r=0;#e;start(r){this.#r=Date.now(),this.#e=r;}stop(){this.#e=void 0;}handleMessage(r){return r!=="ping"?false:(this.#r=Date.now(),this.#e?.("pong"),true)}isStale(r){return r-this.#r>eR}},Mt=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>{r(JSON.stringify({id:0,req:"post",op:{type:"ping"}}));},rR);}handleMessage(){return this.#r=Date.now(),false}isStale(r){return r-this.#r>tR}stop(){this.#e!==void 0&&(clearInterval(this.#e),this.#e=void 0);}},bp=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>r('{"op":"ping"}'),3e4);}handleMessage(r){return this.#r=Date.now(),false}isStale(r){return r-this.#r>=9e4}stop(){clearInterval(this.#e),this.#e=void 0;}};var sR=5e3,oR=250,aR=3e4,Dt=class{#r;#e=0;get isScheduled(){return this.#r!==void 0}schedule(r){if(this.#r!==void 0||!r.shouldReconnect())return;let t=r.delayPolicy?.(this.#e)??pR(this.#e,{baseMs:oR,maxMs:aR});this.#e+=1,this.#r=setNonBlockingTimeout(()=>{this.#r=void 0,this.#s(r);},t);}stop(){this.#r!==void 0&&(clearTimeout(this.#r),this.#r=void 0);}resetBackoff(){this.#e=0,this.stop();}async#s(r){if(r.shouldReconnect())try{await r.reconnect();}catch{this.schedule(r);}}},_t=class{#r;#e;#s;#o;#t;#n;#i;constructor(r={}){this.#r=r.heartbeat,this.#e=r.connectTimeoutMs,this.#s=r.closeTimeoutMs;}connect(r){if(this.#t?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#m(),this.#n!==void 0)return this.#n;let n=this.#u(r).then(()=>({reusedOpenSocket:false})).catch(s=>{throw this.#n===n&&(this.#n=void 0),s});return this.#n=n,n}send(r){return this.#d(JSON.stringify(r))}#d(r){return this.#t?.readyState!==WebSocket.OPEN?false:(this.#t.send(r),true)}async close(){this.#o?.();let r=await this.#p();this.#a(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{let n=this.#s===void 0?void 0:setNonBlockingTimeout(t,this.#s);r.addEventListener("close",()=>{clearTimeout(n),t();},{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#u(r){let t=await r.prepare?.();return new Promise((n,s)=>{let o=iR(r.url,r.headers),a,l=()=>{o.removeEventListener("open",P),clearTimeout(a),this.#o=void 0,s(new d("WebSocket connection did not open.")),o.close();},P=()=>{clearTimeout(a),this.#o=void 0,o.removeEventListener("error",E),this.#l(o),this.#f(),r.onOpen(t),n(o);},E=x=>{clearTimeout(a),this.#o=void 0,o.removeEventListener("open",P),s(new d(`WebSocket connection failed: ${r.url}`,{cause:x}));};o.addEventListener("open",P,{once:true}),this.#e!==void 0&&(this.#o=l,a=setNonBlockingTimeout(l,this.#e)),o.addEventListener("error",E,{once:true}),o.addEventListener("message",x=>{if(this.#t!==o)return;let b=String(x.data);if(this.#r?.handleMessage(b))return;let k;try{k=JSON.parse(b);}catch{return}r.onMessage(k);}),o.addEventListener("close",x=>{this.#t===o&&(this.#m(),r.onConnectionLost({code:x.code||1005,reason:x.reason??""}));}),o.addEventListener("error",()=>r.onError());})}#l(r){this.#t=r,this.#n=void 0;}#m(){this.#a(),this.#t=void 0;}#f(){this.#a();let r=this.#r;r!==void 0&&(r.start(t=>this.#d(t)),this.#i=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#t;t?.readyState===WebSocket.OPEN&&t.close();},sR));}#a(){this.#i!==void 0&&(clearInterval(this.#i),this.#i=void 0),this.#r?.stop();}async#p(){let r=this.#t,t=this.#n;return this.#t=void 0,this.#n=void 0,r!==void 0?r:t?.then(()=>this.#t,()=>{})}};function iR(e,r){if(r===void 0)return new WebSocket(e);try{let t=Reflect.construct(WebSocket,[e,{headers:r}]);if(t instanceof WebSocket)return t}catch(t){throw new d("WebSocket headers require a header-capable WebSocket implementation.",{cause:t})}throw new d("WebSocket headers require a header-capable WebSocket implementation.")}function pR(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}function vp(e,r,t){let n=new Set(t.seenKeys),s=e.filter(P=>!n.has(String(P.transferId)));if(!r)return {items:s,hasMore:false};let o=e.at(-1);if(o===void 0)throw new c("Perps internal-transfer history reported more records without a continuation timestamp.");let a=Math.min(t.endTimestamp,o.createdTimestamp+1);if(a===t.endTimestamp&&s.length===0)throw new c("Perps internal-transfer history cannot continue within a full millisecond without skipping records.");let l=new Set(a===t.endTimestamp?t.seenKeys:[]);for(let P of e)P.createdTimestamp>=a-1&&l.add(String(P.transferId));return {items:s,hasMore:true,nextCursor:toPaginationCursor(btoa(JSON.stringify({...t,endTimestamp:a,seenKeys:Array.from(l)})))}}var zt=1440*60*1e3,hs=90*zt,se=z$1.number().int().nonnegative(),jt=z$1.object({start:se.optional(),end:se.optional()}),wp=z$1.object({interval:PerpsPnlIntervalSchema,start:se,end:se.optional()}),wR=z$1.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),OR=z$1.enum(["perpsEquityHistory","perpsPnlHistory"]),Ss=z$1.object({kind:wR,startTimestamp:se,endTimestamp:se,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z$1.array(z$1.string())}),Op=z$1.object({kind:OR,startTimestamp:se,endTimestamp:se,interval:PerpsPnlIntervalSchema});async function Lp(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function Fp(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}async function Bp(e){return await unwrap(e.get("/v1/account/stats").andThen(y(FetchPerpsAccountStatsResponseSchema)))}async function Mp(e){return await unwrap(e.get("/v1/account/auto-cancel").andThen(y(FetchPerpsAutoCancelStatusResponseSchema)))}var LR=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Up(e,r){let t=m(r,LR);return await unwrap(e.get("/v1/account/config",{params:ue(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var FR=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Dp(e,r){let t=m(r,FR);return await unwrap(e.get("/v1/account/open-orders",{params:ue(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var BR=z$1.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:se.optional(),end:se.optional()}).default({}),MR=BR.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function _p(e,r){let t=m(r,MR);return await unwrap(e.get("/v1/account/orders",{params:ue(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var UR=z$1.object({start:se.optional(),end:se.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function zp(e,r={}){let t=m(r,UR);return I(n=>e.get("/v1/account/fills",{params:ue({startTimestamp:t.start,endTimestamp:t.end,sort:t.sort,cursor:n??t.cursor})}).andThen(y(ListPerpsFillsResponseSchema)).map(s=>{let o=s.data.at(-1);return !s.more||o===void 0?{items:s.data,hasMore:false}:{items:s.data,hasMore:true,nextCursor:toPaginationCursor(String(o.tradeId))}}),t.cursor)}var DR=jt.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),_R=z$1.object({cursor:PaginationCursorSchema}),zR=z$1.union([DR.transform(({cursor:e,...r})=>({cursor:e,params:Wt(r,zt)})),_R.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function jp(e,r={}){let{cursor:t,params:n}=m(r,zR);return I(s=>{let o;s===void 0?(invariant(n!==void 0,"Expected initial Perps funding payment params."),o={kind:"perpsFundingPayments",seenKeys:[],...n}):o=oe(s,Ss,"Invalid Perps account pagination cursor");let{kind:a,seenKeys:l,...P}=o,E=new Set(o.seenKeys);return e.get("/v1/account/funding",{params:ue(P)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(x=>{let b=x.data.filter(k=>!E.has(`${k.instrumentId}:${k.timestamp}:${k.funding}`));return Ts({getKey:k=>`${k.instrumentId}:${k.timestamp}:${k.funding}`,getTimestamp:k=>k.timestamp,items:b,responseData:x.data,responseMore:x.more,state:o})})},t)}var jR=jt.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),WR=z$1.object({cursor:PaginationCursorSchema}),NR=z$1.union([jR.transform(({cursor:e,...r})=>({cursor:e,params:Wt(r,hs)})),WR.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Wp(e,r={}){let{cursor:t,params:n}=m(r,NR);return I(s=>{let o;s===void 0?(invariant(n!==void 0,"Expected initial Perps deposit params."),o={kind:"perpsDeposits",seenKeys:[],...n}):o=oe(s,Ss,"Invalid Perps account pagination cursor");let{kind:a,seenKeys:l,...P}=o,E=new Set(o.seenKeys);return e.get("/v1/account/deposits",{params:ue(P)}).andThen(y(ListPerpsDepositsResponseSchema)).map(x=>{let b=x.data.filter(k=>!E.has(k.hash));return Ts({getKey:k=>k.hash,getTimestamp:uE,items:b,responseData:x.data,responseMore:x.more,state:o})})},t)}var HR=jt.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),KR=z$1.object({cursor:PaginationCursorSchema}),GR=z$1.union([HR.transform(({cursor:e,...r})=>({cursor:e,params:Wt(r,hs)})),KR.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Np(e,r={}){let{cursor:t,params:n}=m(r,GR);return I(s=>{let o;s===void 0?(invariant(n!==void 0,"Expected initial Perps withdrawal params."),o={kind:"perpsWithdrawals",seenKeys:[],...n}):o=oe(s,Ss,"Invalid Perps account pagination cursor");let{kind:a,seenKeys:l,...P}=o,E=new Set(o.seenKeys);return e.get("/v1/account/withdrawals",{params:ue(P)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(x=>{let b=x.data.filter(k=>!E.has(String(k.withdrawalId)));return Ts({getKey:k=>String(k.withdrawalId),getTimestamp:lE,items:b,responseData:x.data,responseMore:x.more,state:o})})},t)}var $R=jt.extend({cursor:PaginationCursorSchema.optional()}),VR=z$1.object({kind:z$1.literal("perpsInternalTransfers"),startTimestamp:se,endTimestamp:se,seenKeys:z$1.array(z$1.string())}),YR=z$1.object({cursor:PaginationCursorSchema}),ZR=z$1.union([$R.transform(({cursor:e,...r})=>({cursor:e,params:Wt(r,hs)})),YR.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Hp(e,r={}){let{cursor:t,params:n}=m(r,ZR);return I(s=>{let o;s===void 0?(invariant(n!==void 0,"Expected initial Perps internal-transfer params."),o={kind:"perpsInternalTransfers",seenKeys:[],...n}):o=oe(s,VR,"Invalid Perps account pagination cursor");let{kind:a,seenKeys:l,...P}=o;return e.get("/v1/account/internal-transfers",{params:ue(P)}).andThen(y(ListPerpsInternalTransfersResponseSchema)).map(E=>vp(E.data,E.more,o))},t)}var QR=wp.extend({cursor:PaginationCursorSchema.optional()}),JR=z$1.object({cursor:PaginationCursorSchema}),XR=z$1.union([QR.transform(({cursor:e,...r})=>({cursor:e,params:Zp(r)})),JR.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Kp(e,r){let{cursor:t,params:n}=m(r,XR);return I(s=>{let o;s===void 0?(invariant(n!==void 0,"Expected initial Perps equity history params."),o={kind:"perpsEquityHistory",...n}):o=oe(s,Op,"Invalid Perps account pagination cursor");let{kind:a,...l}=o;return e.get("/v1/account/equity",{params:ue(l)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(P=>{let E=P.data.at(-1),x=P.more&&E!==void 0&&E.timestamp<o.endTimestamp;return {items:P.data,hasMore:x,nextCursor:x?fe({...o,startTimestamp:E.timestamp+Qp(o.interval)}):void 0}})},t)}var eE=wp.extend({cursor:PaginationCursorSchema.optional()}),rE=z$1.object({cursor:PaginationCursorSchema}),tE=z$1.union([eE.transform(({cursor:e,...r})=>({cursor:e,params:Zp(r)})),rE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Gp(e,r){let{cursor:t,params:n}=m(r,tE);return I(s=>{let o;s===void 0?(invariant(n!==void 0,"Expected initial Perps PnL history params."),o={kind:"perpsPnlHistory",...n}):o=oe(s,Op,"Invalid Perps account pagination cursor");let{kind:a,...l}=o;return e.get("/v1/account/pnl",{params:ue(l)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(P=>{let E=P.data.at(-1),x=P.more&&E!==void 0&&E.timestamp<o.endTimestamp;return {items:P.data,hasMore:x,nextCursor:x?fe({...o,startTimestamp:E.timestamp+Qp(o.interval)}):void 0}})},t)}var nE=z$1.object({kind:z$1.literal("perpsNotifications"),cursor:z$1.string().min(1),sinceSeq:z$1.number().int().nonnegative().optional(),limit:z$1.number().int().positive().optional()}),sE=z$1.object({sinceSeq:z$1.number().int().nonnegative().optional(),limit:z$1.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),oE=z$1.object({cursor:PaginationCursorSchema}),aE=z$1.union([sE.transform(({cursor:e,...r})=>({cursor:e,params:r})),oE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function $p(e,r={}){let{cursor:t,params:n}=m(r,aE);return I(s=>{let o;s===void 0?invariant(n!==void 0,"Expected initial Perps notifications params."):o=oe(s,nE,"Invalid Perps account pagination cursor");let a=o===void 0?n?.sinceSeq:o.sinceSeq,l=o===void 0?n?.limit:o.limit;return e.get("/v1/account/notifications",{params:ue({cursor:o?.cursor,limit:l,sinceSeq:a})}).andThen(y(ListPerpsNotificationsResponseSchema)).map(P=>{let E=P.has_more&&P.next_cursor!==null;return {items:P.items,hasMore:E,nextCursor:E&&P.next_cursor!==null?fe({kind:"perpsNotifications",cursor:P.next_cursor,limit:l,sinceSeq:a}):void 0}})},t)}async function Vp(e){return (await unwrap(e.get("/v1/account/notifications",{params:ue({limit:1})}).andThen(y(FetchPerpsUnreadNotificationsCountResponseSchema)))).unread}var iE=z$1.object({ids:z$1.array(z$1.string().min(1)).min(1)}),pE=z$1.object({upTo:z$1.object({id:z$1.string().min(1),timestamp:z$1.number().int().nonnegative()})}),cE=z$1.union([iE.transform(({ids:e})=>({ids:e})),pE.transform(({upTo:e})=>({before:dE(e)}))]);async function Yp(e,r){let t=m(r,cE),n=await unwrap(e.post("/v1/account/notifications/read",{json:t}).andThen(y(MarkPerpsNotificationsReadResponseSchema)));if(n.status==="err")throw new h(n.error??"Perps notifications read request was rejected.",{status:200})}function dE(e){return btoa(JSON.stringify({ts:e.timestamp,id:e.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Wt(e,r){let t=Date.now(),{end:n,start:s,...o}=e;return {...o,endTimestamp:n??t,startTimestamp:s??t-r}}function Zp(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function ue(e){return S(e,C())}function uE(e){return e.confirmedTimestamp??e.createdTimestamp}function lE(e){return e.confirmedTimestamp??e.createdTimestamp}function Ts(e){let r=e.responseData.at(-1),t=e.items.at(-1),n=(t===void 0?void 0:e.getTimestamp(t))??(r===void 0?void 0:e.getTimestamp(r)),s=e.responseMore&&n!==void 0&&n>e.state.startTimestamp;if(!s)return {items:e.items,hasMore:s};let o=t===void 0?n-1:n,a=new Set(e.state.endTimestamp===o?e.state.seenKeys:[]);for(let l of e.items)e.getTimestamp(l)===o&&a.add(e.getKey(l));return {items:e.items,hasMore:s,nextCursor:fe({...e.state,endTimestamp:o,seenKeys:Array.from(a)})}}function Qp(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return zt;case "1w":return 7*zt}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var RE=z$1.object({builder:EvmAddressSchema.optional()}).default({}),Xp=r(i,h,d,c,a);async function ec(e,r){let t=m(r,RE);return (await unwrap(e.get("/v1/account/builder-approvals",{params:S(t,C())}).andThen(y(FetchPerpsBuilderApprovalsResponseSchema)))).data}var EE=2160*60*60*1e3,xs=z$1.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),rc=z$1.object({start:xs.optional(),end:xs.optional(),asOfSequence:xs.optional()}).refine(({start:e,end:r})=>e===void 0||r===void 0||e<=r,{message:"end must not precede start",path:["end"]}).refine(({start:e,end:r})=>e===void 0||r===void 0||r-e<=EE,{message:"The reporting window must not exceed 90 days",path:["end"]}).default({}),tc=r(i,h,d,c,a);function nc(e,r){let t=m(r,rc);return I(n=>e.get("/v1/account/builder-earnings",{params:n===void 0?S(t,{start:"start_timestamp",end:"end_timestamp",asOfSequence:"as_of_sequence"}):new URLSearchParams({cursor:n})}).andThen(y(ListPerpsBuilderEarningsResponseSchema)).map(s=>{if(!s.more)return {items:s.data,hasMore:false};if(s.cursor===void 0||s.cursor===n)throw new c("Builder earnings pagination did not return a new cursor");return {items:s.data,hasMore:true,nextCursor:toPaginationCursor(s.cursor)}}))}var sc=r(i,h,d,c,a);async function oc(e,r){let t=m(r,rc);return unwrap(e.get("/v1/account/builder-earnings-summary",{params:S(t,{start:"start_timestamp",end:"end_timestamp",asOfSequence:"as_of_sequence"})}).andThen(y(PerpsBuilderEarningsSummarySchema)))}var Is=PerpsDecimalInputSchema.transform((e,r)=>{let t=/^(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(e);if(!t)return r.addIssue({code:"custom",message:"Expected a nonnegative decimal"}),z$1.NEVER;let n=t[1]??"0",s=t[2]??"",o=Number(t[3]??"0");if(!Number.isSafeInteger(o)||Math.abs(o)>100)return r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER;let a=n+s,l=n.length+o,P=l<=0?`0.${"0".repeat(-l)}${a}`:l>=a.length?a.padEnd(l,"0"):`${a.slice(0,l)}.${a.slice(l)}`,[E="0",x=""]=P.split("."),b=x.replace(/0+$/,"");return b.length>28||BigInt(E+b)>79228162514264337593543950335n?(r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER):b?`${E}.${b}`:E});function ac(e){let[r="0",t=""]=e.split(".");return BigInt(`${r}${t.padEnd(28,"0")}`)}var qE=z$1.object({instrumentId:z$1.number().int().min(0).max(4294967295),side:OrderSideSchema,quantity:Is.refine(e=>ac(e)>0n,"quantity must be positive"),limitPrice:Is.optional(),maxDistance:Is.optional(),maxDistanceBps:z$1.number().int().min(1).max(1e3).optional(),postOnly:z$1.boolean().default(true),reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional(),expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}).superRefine((e,r)=>{ac(e.maxDistance??"0")!==0n&&e.maxDistanceBps!==void 0&&r.addIssue({code:"custom",path:["maxDistanceBps"],message:"Use maxDistance or maxDistanceBps, not both"});}),AE=r(i,h,q,d,c,a);async function ic(e,r,t){let n=m(t,qE),s={iid:n.instrumentId,buy:n.side===OrderSide.BUY,qty:n.quantity,lim:n.limitPrice,max_dist:n.maxDistance,max_dist_bps:n.maxDistanceBps,po:n.postOnly,ro:n.reduceOnly,c:n.clientOrderId},o=["createChase",[s.iid,s.buy,s.qty,s.lim,s.max_dist,s.max_dist_bps,s.po,s.ro,s.c]],a=await unwrap(e.post("/v1/trade/chases",{retry:false,json:{...r(o,n.expiresAt),op:{type:"createChase",args:s}}}).andThen(y(CreatePerpsChaseResponseSchema)));if("status"in a)throw new h(a.error,{status:200});return a}var kE=r(i,h,d,c);async function pc(e){return await unwrap(e.get("/v1/account/chases").andThen(y(FetchPerpsChasesResponseSchema)))}var wE=z$1.object({chaseId:PerpsChaseIdSchema,expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}),OE=r(i,h,q,d,c,a);async function cc(e,r,t){let n=m(t,wE),s=["cancelChase",[n.chaseId]],o=await unwrap(e.del("/v1/trade/chases",{retry:false,json:{...r(s,n.expiresAt),op:{type:"cancelChase",args:{chid:n.chaseId}}}}).andThen(y(PerpsCommandAckSchema)));if(o.status==="err")throw new h(o.error,{status:200})}var Yt=z$1.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional(),gtdExpiry:z$1.never().optional()}),zE=Yt.extend({price:PerpsDecimalInputSchema,timeInForce:z$1.literal(PerpsTimeInForce.GTC),postOnly:z$1.boolean().default(false)}),jE=Yt.extend({price:PerpsDecimalInputSchema,timeInForce:z$1.literal(PerpsTimeInForce.GTD),postOnly:z$1.boolean().default(false),gtdExpiry:z$1.number().int().positive().max(18446744073709).refine(e=>e>Date.now(),"Order expiration must be strictly in the future.")}),WE=Yt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z$1.literal(PerpsTimeInForce.IOC),postOnly:z$1.never().optional()}),NE=Yt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z$1.literal(PerpsTimeInForce.FOK),postOnly:z$1.never().optional()}),Os=z$1.discriminatedUnion("timeInForce",[zE,jE,WE,NE]),vs=z$1.object({triggerPrice:PerpsDecimalInputSchema,trailingBps:z$1.never().optional(),activationPrice:z$1.never().optional(),gtdExpiry:z$1.never().optional(),limitPrice:PerpsDecimalInputSchema.optional()}),hc=PerpsDecimalInputSchema.refine(e=>/^\d+(?:\.\d{1,28})?$/.test(e)&&BigInt(e.replace(".",""))>0n&&BigInt(e.replace(".",""))<=79228162514264337593543950335n,"Expected a positive, exactly representable decimal quantity (96-bit coefficient, at most 28 decimal places). Use a fixed-point string without exponent notation.").optional(),qs=z$1.object({triggerPrice:PerpsDecimalInputSchema,trailingBps:z$1.never().optional(),activationPrice:z$1.never().optional(),gtdExpiry:z$1.never().optional(),quantity:hc}),Sc=z$1.object({trailingBps:z$1.number().int().min(10).max(2e3),activationPrice:PerpsDecimalInputSchema.refine(e=>/^\d+(?:\.\d{1,28})?$/.test(e)&&BigInt(e.replace(".",""))>0n&&BigInt(e.replace(".",""))<=79228162514264337593543950335n,"Expected a positive, exactly representable fixed-point activation price.").optional(),triggerPrice:z$1.never().optional(),limitPrice:z$1.never().optional(),gtdExpiry:z$1.never().optional()}),lc=z$1.union([vs,Sc]),mc=z$1.union([qs,Sc.extend({quantity:hc})]),HE=z$1.union([z$1.object({takeProfit:vs,stopLoss:lc.optional()}),z$1.object({takeProfit:vs.optional(),stopLoss:lc})]),KE=z$1.object({orders:z$1.array(Os).min(1),expiresAt:z$1.number().int().positive().optional()});async function Tc(e,r){let t=m(r,KE),n=e.builderAttribution;return await e.executeCommand({op:["createOrders",t.orders.map(s=>Ls(s,n))],expiresAt:t.expiresAt},z$1.array(PerpsPostOrderAckSchema))}var GE=z$1.intersection(Os,z$1.intersection(HE,z$1.object({clientOrderId:PerpsClientOrderIdSchema.default(Dc),expiresAt:z$1.number().int().positive().optional()}))),$E=z$1.intersection(Os,z$1.object({clientOrderId:PerpsClientOrderIdSchema.default(Dc),expiresAt:z$1.number().int().positive().optional(),takeProfit:z$1.never().optional(),stopLoss:z$1.never().optional()})),xc=z$1.array(PerpsPostOrderAckSchema).min(1).refine(e=>e.every(r=>r.status==="ok"),"Expected successful Perps order acknowledgements.");function VE(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Cc(e,r){if(VE(r))return await YE(e,r);let t=m(r,$E),n=e.builderAttribution,[,s]=await e.executeCommandWithEvent({op:["createOrders",[Ls(t,n)]],expiresAt:t.expiresAt},xc,_c(t.clientOrderId));return {order:s.payload}}async function YE(e,r){let t=m(r,GE),n=e.builderAttribution,s=[Ls(t,n)],o=t.side===OrderSide.SELL;t.takeProfit!==void 0&&s.push($t({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),builderAttribution:n,trigger:t.takeProfit})),t.stopLoss!==void 0&&s.push($t({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),builderAttribution:n,trigger:t.stopLoss}));let[a,l]=await e.executeCommandWithEvent({op:["createOrders",s,PerpsTpSlScope.Order],expiresAt:t.expiresAt},xc,_c(t.clientOrderId)),P=1,E={};return t.takeProfit!==void 0&&(E.takeProfit=Gt(expectPresent(a[P++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(E.stopLoss=Gt(expectPresent(a[P],"Expected Perps stop-loss acknowledgement."))),{order:l.payload,tpSl:E}}var ZE=z$1.union([z$1.object({takeProfit:qs,stopLoss:mc.optional()}),z$1.object({takeProfit:qs.optional(),stopLoss:mc})]),QE=z$1.intersection(ZE,z$1.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z$1.number().int().positive().optional()}));async function Ic(e,r){let t=m(r,QE),n=e.builderAttribution,s=fh(await e.fetchPortfolio(),t.instrumentId),o=[];t.takeProfit!==void 0&&o.push($t({buy:s,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:t.takeProfit.quantity??"0",builderAttribution:n,trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push($t({buy:s,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:t.stopLoss.quantity??"0",builderAttribution:n,trigger:t.stopLoss}));let a=await e.executeCommand({op:["createOrders",o,PerpsTpSlScope.Position],expiresAt:t.expiresAt},z$1.array(PerpsPostOrderAckSchema));for(let E of a)if(E.status==="err")throw new h(E.error,{status:200});let l=0,P={};return t.takeProfit!==void 0&&(P.takeProfit=Gt(expectPresent(a[l++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(P.stopLoss=Gt(expectPresent(a[l],"Expected Perps stop-loss acknowledgement."))),{tpSl:P}}var As=4,ks=2e3,JE=100,XE=1e3,eh=z$1.object({maxAttempts:z$1.number().int().positive().default(As),maxElapsedMs:z$1.number().int().positive().default(ks)}).default({maxAttempts:As,maxElapsedMs:ks}),Ht=z$1.object({expiresAt:z$1.number().int().positive().optional(),retry:z$1.union([z$1.literal(false),eh]).default({maxAttempts:As,maxElapsedMs:ks}),signal:z$1.custom(e=>e instanceof AbortSignal,"Expected an AbortSignal.").optional()}),rh=z$1.union([Ht.extend({orderId:PerpsOrderIdSchema,clientOrderId:z$1.undefined().optional()}),Ht.extend({clientOrderId:PerpsClientOrderIdSchema,orderId:z$1.undefined().optional()})]);async function bc(e,r){let t=m(r,rh),[n]=t.orderId!==void 0?await Kt(e,{orderIds:[t.orderId],expiresAt:t.expiresAt,retry:t.retry,signal:t.signal}):await Kt(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt,retry:t.retry,signal:t.signal});return expectPresent(n,"Expected Perps cancel order result.")}var th=z$1.union([Ht.extend({orderIds:z$1.array(PerpsOrderIdSchema).min(1),clientOrderIds:z$1.undefined().optional()}),Ht.extend({clientOrderIds:z$1.array(PerpsClientOrderIdSchema).min(1),orderIds:z$1.undefined().optional()})]);async function Kt(e,r){let t=m(r,th);return t.orderIds!==void 0?await fc(t.orderIds,t,async n=>await e.executeCommand({op:["cancelOrders",n],expiresAt:t.expiresAt},z$1.array(PerpsCancelOrderResultSchema))):await fc(t.clientOrderIds,t,async n=>await e.executeCommand({op:["cancelOrdersCOID",n],expiresAt:t.expiresAt},z$1.array(PerpsCancelOrderResultSchema)))}async function fc(e,r,t){let n=r.retry===false?1:r.retry.maxAttempts,s=r.retry===false?Number.POSITIVE_INFINITY:Math.min(Date.now()+r.retry.maxElapsedMs,r.expiresAt??Number.POSITIVE_INFINITY),o=new Array(e.length),a=e.map((P,E)=>({identifier:P,resultIndex:E})),l=0;for(ah(r.signal);a.length>0;){if(l>0){let x=s-Date.now(),b=sh(l);if(x<=0||b>=x||!await oh(b,r.signal)||r.signal?.aborted||Date.now()>=s)break}let P;try{P=await t(a.map(({identifier:b})=>b));let x=nh(P);if(x!==void 0)throw new h(x,{status:200});if(P.length!==a.length)throw new c("Perps cancel response did not include one result per requested order.")}catch(x){throw l===0?x:new p("Perps cancellation retry failed.",{cause:x,results:o.map(b=>expectPresent(b,"Expected a previous Perps cancel result.")),pendingIndexes:a.map(({resultIndex:b})=>b)})}l+=1;let E=[];for(let[x,b]of P.entries()){let k=expectPresent(a[x],"Expected a pending Perps cancellation.");o[k.resultIndex]=b,l<n&&b.status==="err"&&b.error===PerpsKnownCancelOrderErrorCode.OrderInFlight&&E.push(k);}a=E;}return o.map(P=>expectPresent(P,"Expected a final Perps cancel result."))}function nh(e){let[r]=e;if(!(e.length!==1||r?.status!=="err"||r.orderId!==void 0||r.clientOrderId!==void 0))return r.error}function sh(e){let r=Math.min(JE*2**(e-1),XE);return Math.random()*r}function oh(e,r){if(r?.aborted)return Promise.resolve(false);if(e<=0)return Promise.resolve(true);if(r===void 0)return new Promise(n=>setNonBlockingTimeout(()=>n(true),e));let t=r;return new Promise(n=>{let s=setNonBlockingTimeout(()=>{t.removeEventListener("abort",o),n(true);},e);function o(){clearTimeout(s),n(false);}t.addEventListener("abort",o,{once:true});})}function ah(e){if(e?.aborted)throw k.fromReason(e.reason)}var ih=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z$1.number().int().positive().optional()}).default({});async function vc(e,r){let t=m(r,ih),n=["cancelAll",t.instrumentId===void 0?[]:[t.instrumentId]];await e.executeDeleteCommand({path:"/v1/trade/orders/all",op:n,responseSchema:PerpsCancelAllOrdersResponseSchema,expiresAt:t.expiresAt});}var ph=5e3,ch=z$1.object({cancelAt:z$1.number().int().positive(),expiresAt:z$1.number().int().positive().optional()}).superRefine((e,r)=>{let t=Date.now()+ph;e.cancelAt<t&&r.addIssue({code:"custom",message:"cancelAt must be at least 5 seconds in the future.",path:["cancelAt"]});}),qc=r(o,i,h,q,d,c,a),dh="auto_cancel_daily_limit_reached";async function Ac(e,r,t){let n=m(t,ch),s=["autoCancel",[n.cancelAt]],o$1=r(s,n.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...o$1,op:Hr(s)}}).andThen(y(PerpsAutoCancelResponseSchema)).mapErr(a=>a instanceof h&&a.message.startsWith(`${dh} (`)?new o("Auto-cancel daily trigger limit reached.",{cause:a}):a));}var uh=z$1.object({expiresAt:z$1.number().int().positive().optional()}).default({});async function kc(e,r,t){let n=m(t,uh),s=["autoCancel",[0]],o=r(s,n.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...o,op:Hr(s)}}).andThen(y(PerpsAutoCancelResponseSchema)));}var wc=z$1.object({instrumentId:PerpsInstrumentIdSchema,leverage:z$1.number().int().positive(),crossMargin:z$1.boolean()}),Oc=r(h,q,d,a);async function Lc(e,r){let t=m(r,wc);return await e.executeCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]]},PerpsUpdateLeverageResultSchema)}var lh=z$1.object({updates:z$1.array(wc.extend({instrumentId:z$1.number().int().nonnegative().max(4294967295),leverage:z$1.number().int().positive().max(4294967295)})).min(1).max(100).superRefine((e,r)=>{let t=new Set;for(let[n,s]of e.entries())t.has(s.instrumentId)&&r.addIssue({code:"custom",message:"Expected each instrumentId to be unique",path:[n,"instrumentId"]}),t.add(s.instrumentId);})}),Fc=r(h,q,d,c,a);async function Bc(e,r){let t=m(r,lh),n=await e.executeCommand({op:["updateLeverages",t.updates.map(s=>[s.instrumentId,s.leverage,s.crossMargin])]},z$1.array(PerpsUpdateLeverageBatchResultSchema));if(n.length!==t.updates.length||n.some((s,o)=>s.instrumentId!==t.updates[o]?.instrumentId))throw new c("Perps batch leverage results did not match the requested instruments.");return n}var mh=z$1.object({instrumentId:PerpsInstrumentIdSchema,amount:PerpsDecimalInputSchema}),Mc=r(h,q,d,a);async function Uc(e,r){let t=m(r,mh),n=toDecimalString(t.amount),s=await e.executeCommand({op:["updateMargin",[t.instrumentId,n]]},PerpsCommandAckSchema);if(s.status==="err")throw new h(s.error,{status:200})}function Dc(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return PerpsClientOrderIdSchema.parse(Array.from(e,r=>r.toString(16).padStart(2,"0")).join(""))}function _c(e){return r=>r.type==="order"&&r.payload.clientOrderId===e}function Gt(e){if(e.status==="err")throw new h(e.error,{status:200});return {orderId:e.orderId}}function fh(e,r){let t=e.positions.find(s=>s.instrumentId===r),n=t===void 0?0:yh(t.size);if(n===0)throw new a(`No open Perps position for instrument ${r}.`);return n<0}function yh(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function Ls(e,r){return [e.instrumentId,e.side===OrderSide.BUY,e.price===void 0?void 0:toDecimalString(e.price),toDecimalString(e.quantity),e.timeInForce,e.postOnly??false,e.reduceOnly===true?true:void 0,e.clientOrderId,void 0,e.gtdExpiry,r===void 0?void 0:[r.builderAddress,r.feeRate]]}function $t(e){return [e.instrumentId,e.buy,e.trigger.limitPrice===void 0?void 0:toDecimalString(e.trigger.limitPrice),e.quantity,void 0,false,true,void 0,e.trigger.trailingBps===void 0?[e.trigger.limitPrice===void 0?true:void 0,toDecimalString(e.trigger.triggerPrice),e.kind]:[true,void 0,e.kind,e.trigger.trailingBps,e.trigger.activationPrice===void 0?void 0:toDecimalString(e.trigger.activationPrice)],void 0,e.builderAttribution==null?void 0:[e.builderAttribution.builderAddress,e.builderAttribution.feeRate]]}function Hr(e){let[r,t,n]=e;switch(r){case "createOrders":return Rh({args:t.map(Ph),type:r},n);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "autoCancel":{let[s]=t;return {type:r,args:{time:s}}}case "cancelAll":{let[s]=t;return {type:r,args:s===void 0?{}:{iid:s}}}case "updateLeverage":{let[s,o,a]=t;return {type:r,args:{cross:a,iid:s,lev:o}}}case "updateLeverages":return {type:r,args:t.map(([o,a,l])=>({cross:l,iid:o,lev:a}))};case "updateMargin":{let[s,o]=t;return {type:r,args:{amt:o,iid:s}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function Ph(e){let r={iid:e[0],buy:e[1],po:e[5],qty:e[3]};return e[4]!==void 0&&(r.tif=e[4]),e[6]&&(r.ro=e[6]),e[2]!==void 0&&(r.p=e[2]),e[7]!==void 0&&(r.c=e[7]),e[8]!==void 0&&(r.tr=gh(e[8])),e[9]!==void 0&&(r.gtd_expiry=e[9]),e[10]!==void 0&&(r.builder={address:e[10][0],fee_rate:e[10][1]}),r}function gh(e){let r={tpsl:e[2]};return e[1]!==void 0&&(r.trp=e[1]),e[3]!==void 0&&(r.trail_bps=e[3]),e[4]!==void 0&&(r.act=e[4]),e[0]!==void 0&&(r.market=e[0]),r}function Rh(e,r){return r!==void 0&&(e.grp=r),e}var Fs=PerpsDecimalInputSchema.transform((e,r)=>{let t=/^(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(e);if(!t)return r.addIssue({code:"custom",message:"Expected a nonnegative decimal"}),z$1.NEVER;let n=t[1]??"0",s=t[2]??"",o=Number(t[3]??"0");if(!Number.isSafeInteger(o)||Math.abs(o)>100)return r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER;let a=n+s,l=n.length+o,P=l<=0?`0.${"0".repeat(-l)}${a}`:l>=a.length?a.padEnd(l,"0"):`${a.slice(0,l)}.${a.slice(l)}`,[E="0",x=""]=P.split("."),b=x.replace(/0+$/,"");return b.length>28||BigInt(E+b)>79228162514264337593543950335n?(r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER):b?`${E}.${b}`:E});function Bs(e){let[r="0",t=""]=e.split(".");return BigInt(`${r}${t.padEnd(28,"0")}`)}var bh=z$1.object({instrumentId:z$1.number().int().min(0).max(4294967295),side:OrderSideSchema,quantity:Fs.refine(e=>Bs(e)>0n,"quantity must be positive"),durationMs:z$1.number().int().min(3e5).max(864e5),intervalMs:z$1.number().int().nonnegative().optional(),randomize:z$1.boolean().default(false),slippageBps:z$1.number().int().min(0).max(1e4).default(0),minPrice:Fs.optional(),maxPrice:Fs.optional(),reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional(),expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}).superRefine((e,r)=>{let t=e.intervalMs;t!==void 0&&t!==0&&(t<3e4||t>e.durationMs||e.durationMs%t!==0)&&r.addIssue({code:"custom",path:["intervalMs"],message:"intervalMs must be at least 30000 and divide durationMs exactly"});let n=Bs(e.minPrice??"0"),s=Bs(e.maxPrice??"0");n!==0n&&s!==0n&&n>=s&&r.addIssue({code:"custom",path:["maxPrice"],message:"maxPrice must exceed minPrice when both bounds are set"});}),vh=r(i,h,q,d,c,a);async function zc(e,r,t){let n=m(t,bh),s={iid:n.instrumentId,buy:n.side===OrderSide.BUY,qty:n.quantity,dur:n.durationMs,ivl:n.intervalMs,rnd:n.randomize,slip_bps:n.slippageBps,min_px:n.minPrice,max_px:n.maxPrice,ro:n.reduceOnly,c:n.clientOrderId},o=["createTwap",[s.iid,s.buy,s.qty,s.dur,s.ivl,s.rnd,s.slip_bps,s.min_px,s.max_px,s.ro,s.c]],a=await unwrap(e.post("/v1/trade/twaps",{retry:false,json:{...r(o,n.expiresAt),op:{type:"createTwap",args:s}}}).andThen(y(CreatePerpsTwapResponseSchema)));if("status"in a)throw new h(a.error,{status:200});return a}var qh=r(i,h,d,c);async function jc(e){return await unwrap(e.get("/v1/account/twaps").andThen(y(FetchPerpsTwapsResponseSchema)))}var Us=z$1.object({twapId:PerpsTwapIdSchema,expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}),Ah=r(i,h,q,d,c,a);async function Wc(e,r,t){let n=m(t,Us),s=["controlTwap",[n.twapId,"pause"]],o={type:"controlTwap",args:{twid:n.twapId,act:"pause"}},a=await unwrap(e.patch("/v1/trade/twaps",{retry:false,json:{...r(s,n.expiresAt),op:o}}).andThen(y(PerpsCommandAckSchema)));if(a.status==="err")throw new h(a.error,{status:200})}var kh=r(i,h,q,d,c,a);async function Nc(e,r,t){let n=m(t,Us),s=["controlTwap",[n.twapId,"resume"]],o={type:"controlTwap",args:{twid:n.twapId,act:"resume"}},a=await unwrap(e.patch("/v1/trade/twaps",{retry:false,json:{...r(s,n.expiresAt),op:o}}).andThen(y(PerpsCommandAckSchema)));if(a.status==="err")throw new h(a.error,{status:200})}var wh=r(i,h,q,d,c,a);async function Hc(e,r,t){let n=m(t,Us),s=["cancelTwap",[n.twapId]],o={type:"cancelTwap",args:{twid:n.twapId}},a=await unwrap(e.del("/v1/trade/twaps",{retry:false,json:{...r(s,n.expiresAt),op:o}}).andThen(y(PerpsCommandAckSchema)));if(a.status==="err")throw new h(a.error,{status:200})}var Uh=3e4,_s=3e4,Dh=2e3,_h=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],zh=new Set(["notifications","builderFills"]),jh=z$1.object({id:z$1.number().int().positive().optional(),data:z$1.unknown().optional()}).passthrough(),zs=z$1.union([PerpsCommandAckSchema,z$1.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),Wh=r(i,h,q,d,c,a),Vc=class{credentials;#r;#e;#s;#o;#t;#n;#i=new _t({heartbeat:new Mt});#d=pushable({objectMode:true});#u=new Map;#l=new Set;#m=new Dt;#f=new Map;#a;#p;#h=Promise.resolve();#S;#P=1;#y;constructor(r){this.#r=r.approveBuilderFee,this.#S=r.includeBuilderFills??false,this.#p=r.builderAttribution===void 0||typeof r.builderAttribution=="string"?void 0:Object.freeze(m(r.builderAttribution,lp)),this.#a=typeof r.builderAttribution=="string"?m(r.builderAttribution,EvmAddressSchema):this.#p?.builderAddress,this.#e=new Bt({headers:r.headers,resolveHeaders:async()=>this.#q(),root:r.restUrl}),this.#s=r.chainId,this.credentials=r.credentials,this.#o=r.headers,this.#t=r.onClose,this.#n=r.wsUrl;}get builderAttribution(){return this.#p}get closed(){return this.#y!==void 0}async connect(){if(this.#a!==void 0&&this.#p===void 0){let r=await unwrap(this.#e.get("/v1/info/builder",{params:new URLSearchParams({address:this.#a})}).andThen(y(PerpsBuilderStatusSchema)));if(!r.registered||!r.enabled||!r.admissionEnabled)throw new a("Builder attribution is not active for this builder address.");let n=(await this.fetchBuilderApprovals({builder:this.#a})).find(o=>o.builder.toLowerCase()===this.#a?.toLowerCase()),s=ms(r.maxFeeRate,n?.maxFeeRate??"0");this.#p=/[1-9]/.test(s)?Object.freeze({builderAddress:this.#a,feeRate:s}):void 0;}await this.#x(false);}async close(){this.#y===void 0&&(this.#y=this.#A()),await this.#y;}[Symbol.asyncIterator](){return this.#d[Symbol.asyncIterator]()}async approveBuilderFee(r){let t=m(r,ys);return this.#T(()=>({...t,builderAddress:t.builderAddress===void 0?this.#a:t.builderAddress}))}async revokeBuilderFee(r){return this.#T(()=>{let t=r??this.#a;if(t===void 0)throw new a("A builder address is required when the session has no active builder attribution.");return {builderAddress:t,maxFeeRate:"0"}})}#T(r){let t=this.#h.catch(()=>{}).then(async()=>{if(this.closed)throw new d("Perps session closed.");if(this.#r===void 0)throw new a("Builder approval requires a session opened with a secure client.");let n=await this.#r(this,r());if(/^0+(?:\.0+)?$/.test(n.maxFeeRate))this.#a?.toLowerCase()===n.builder.toLowerCase()&&(this.#p=void 0,this.#a=void 0);else {let s=await unwrap(this.#e.get("/v1/info/builder",{params:new URLSearchParams({address:n.builder})}).andThen(y(PerpsBuilderStatusSchema)));this.#a=n.builder;let o=ms(s.maxFeeRate,n.maxFeeRate);this.#p=/[1-9]/.test(o)?Object.freeze({builderAddress:n.builder,feeRate:o}):void 0;}return n});return this.#h=t,t}async fetchBuilderApprovals(r){return await ec(this.#e,r)}listBuilderEarnings(r){return nc(this.#e,r)}async fetchBuilderEarningsSummary(r){return await oc(this.#e,r)}async fetchBalances(){return await Lp(this.#e)}async fetchPortfolio(){return await Fp(this.#e)}async fetchPositionSnapshots(r){return Rp(this.#e,r)}async fetchStats(){return await Bp(this.#e)}async fetchAccountConfig(r){return await Up(this.#e,r)}async fetchAutoCancelStatus(){return await Mp(this.#e)}async fetchOpenOrders(r){return await Dp(this.#e,r)}async fetchOrders(r){return await _p(this.#e,r)}listFills(r={}){return zp(this.#e,r)}listFundingPayments(r={}){return jp(this.#e,r)}listDeposits(r={}){return Wp(this.#e,r)}listInternalTransfers(r={}){return Hp(this.#e,r)}listWithdrawals(r={}){return Np(this.#e,r)}listEquityHistory(r){return Kp(this.#e,r)}listPnlHistory(r){return Gp(this.#e,r)}listNotifications(r={}){return $p(this.#e,r)}async fetchUnreadNotificationsCount(){return await Vp(this.#e)}async markNotificationsRead(r){await Yp(this.#e,r);}async placeOrder(r){return await Cc(this,r)}async postOrders(r){return await Tc(this,r)}async placePositionTpSl(r){return await Ic(this,r)}async cancelOrder(r){return await bc(this,r)}async cancelOrders(r){return await Kt(this,r)}async cancelAllOrders(r){await vc(this,r);}async armAutoCancel(r){await Ac(this.#e,(t,n)=>this.#c(t,n),r);}async disarmAutoCancel(r){await kc(this.#e,(t,n)=>this.#c(t,n),r);}async updateLeverage(r){return await Lc(this,r)}async updateLeverages(r){return await Bc(this,r)}async updateMargin(r){await Uc(this,r);}async#x(r){await this.#i.connect({onConnectionLost:()=>this.#O(),onError:()=>{},onMessage:t=>this.#k(t),onOpen:()=>{},headers:this.#o,url:this.#n}),await this.#b(),await this.#v(),this.#m.resetBackoff(),r&&(this.#f.clear(),this.#d.push({reason:"reconnect",type:"resync"}));}async#b(){await this.#g({id:this.#P++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},zs,Uh,"Perps session authentication timed out.");}async#v(){await this.#g({id:this.#P++,req:"sub",chs:_h},zs,_s,"Perps session subscription timed out."),this.#S&&this.#g({id:this.#P++,req:"sub",chs:["builderFills"]},zs,_s,"Perps builder fills subscription timed out.").catch(()=>{});}#q(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}async executeCommand(r,t){let n=Hr(r.op),s=this.#c(r.op,r.expiresAt);return await this.#g({...s,id:this.#P++,op:n,req:"post"},t,_s,"Perps command response timed out.")}async executeCommandWithEvent(r,t,n){let s=this.#F(n),o=this.executeCommand(r,t);o.then(()=>this.#B(s,Dh),()=>{});try{let[a,l]=await Promise.all([o,s.promise]);return [a,l]}finally{this.#R(s);}}async executeDeleteCommand(r){let t=this.#c(r.op,r.expiresAt);return await unwrap(this.#e.del(r.path,{json:{...t,op:Hr(r.op)}}).andThen(y(r.responseSchema)))}async createChase(r){return await ic(this.#e,this.#c.bind(this),r)}async cancelChase(r){return await cc(this.#e,this.#c.bind(this),r)}async fetchChases(){return await pc(this.#e)}async createTwap(r){return await zc(this.#e,this.#c.bind(this),r)}async pauseTwap(r){return await Wc(this.#e,this.#c.bind(this),r)}async resumeTwap(r){return await Nc(this.#e,this.#c.bind(this),r)}async cancelTwap(r){return await Hc(this.#e,this.#c.bind(this),r)}async fetchTwaps(){return await jc(this.#e)}#c(r,t){let n=Kh(),s=Date.now(),o;try{o=cp({chainId:this.#s,op:r,privateKey:this.credentials.privateKey,salt:n,timestamp:s});}catch(l){throw q.fromError(l,"Could not sign the Perps session command")}let a={salt:n,sig:o,ts:s};return t!==void 0&&(a.exp=t),a}async#g(r,t,n,s){let o=Nh(t);this.#u.set(r.id,o);let a=setNonBlockingTimeout(()=>{o.reject(new d(s));},n);try{if(!this.#i.send(r))throw new d("Perps session transport is not open.");return await o.promise}finally{clearTimeout(a),this.#u.delete(r.id);}}async#A(){this.#m.stop(),this.#C(new d("Perps session closed.")),this.#I(new d("Perps session closed.")),this.#d.end(),await this.#i.close(),this.#t(this);}#k(r){if(this.#w(r))return;let t=PerpsNotificationsResyncFrameSchema.safeParse(r);if(t.success){this.#E(t.data);return}let n=PerpsSessionUpdateEventSchema.safeParse(r);if(!n.success)return;let s=n.data;this.#L(s),this.#E(s);}#w(r){let t=jh.safeParse(r);if(!t.success||t.data.id===void 0)return false;let n=this.#u.get(t.data.id);if(n===void 0)return true;let s=n.schema.safeParse(t.data.data);if(!s.success){let o=js(t.data.data??t.data);return o!==void 0?n.reject(new h(o.error,{status:200})):n.reject(new d("Perps session unexpected response.")),true}return Hh(s.data)?n.reject(new h(s.data.error,{status:200})):n.resolve(s.data),true}#O(){this.#C(new d("Perps session connection closed.")),this.#I(new d("Perps session connection closed.")),this.#y===void 0&&this.#m.schedule({reconnect:()=>this.#x(true),shouldReconnect:()=>this.#y===void 0});}#C(r){for(let t of this.#u.values())t.reject(r);this.#u.clear();}#L(r){if(zh.has(r.channel))return;let t=this.#f.get(r.channel);this.#f.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#E({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#E(r){this.#M(r),this.#d.push(r);}#F(r){let t,n,o={promise:new Promise((a,l)=>{t=a,n=l;}),predicate:r,reject:n,resolve:t};return this.#l.add(o),o}#B(r,t){this.#l.has(r)&&(r.timeout=setNonBlockingTimeout(()=>{this.#R(r),r.reject(new j("Perps event wait timed out."));},t));}#M(r){for(let t of Array.from(this.#l))t.predicate(r)&&(this.#R(t),t.resolve(r));}#R(r){this.#l.delete(r)&&r.timeout!==void 0&&clearTimeout(r.timeout);}#I(r){for(let t of Array.from(this.#l))this.#R(t),t.reject(r);}};function Nh(e){let r,t;return {promise:new Promise((s,o)=>{r=s,t=o;}),reject:t,resolve:r,schema:e}}function Hh(e){return Array.isArray(e)?false:js(e)!==void 0}function js(e){if(Array.isArray(e)){for(let t of e){let n=js(t);if(n!==void 0)return n}return}if(typeof e!="object"||e===null)return;let r=e;if(r.status==="err")return {error:typeof r.error=="string"?r.error:"Perps command failed."}}function Kh(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}async function Yc(e,r){let{label:t,...n}=r,s=await e.signTransfer(n);return e.submitTransfer({...n,signature:s,...t===void 0?{}:{label:t}})}var dr=r(i,h,d,c,a),ke=z$1.number().int().nonnegative(),Xc=1440*60*1e3,lS=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),uB=dr;async function lB(e,r){let t=m(r,lS);return unwrap(e.perps.get("/v1/info/instruments",{params:S(t,C())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var mS=z$1.object({instrumentId:PerpsInstrumentIdSchema}),mB=dr;async function fB(e,r){let t=m(r,mS),[n]=await yS(e,t);if(n===void 0)throw new c(`Perps ticker ${t.instrumentId} was not returned by the API`);return n}var fS=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),yB=dr;async function yS(e,r){let t=m(r,fS),n=S(t,C()),[s,o]=await Promise.all([unwrap(e.perps.get("/v1/info/tickers",{params:n}).andThen(y(FetchPerpsTickersResponseSchema))),unwrap(e.perps.get("/v1/info/statistics",{params:n}).andThen(y(FetchPerpsStatisticsResponseSchema)))]),a=new Map(o.map(l=>[l.instrumentId,l]));return s.map(l=>{let P=a.get(l.instrumentId);return {...l,openPrice:P?.openPrice,volume24h:P?.volume}})}var PS=z$1.union([z$1.literal(10),z$1.literal(100),z$1.literal(500),z$1.literal(1e3)]),gS=z$1.object({instrumentId:PerpsInstrumentIdSchema,depth:PS.default(100)}),PB=dr;async function gB(e,r){let t=m(r,gS);return unwrap(e.perps.get("/v1/info/book",{params:S(t,C())}).andThen(y(PerpsBookSchema)))}var RS=z$1.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:ke.optional(),end:ke.optional(),cursor:PaginationCursorSchema.optional()}),ES=z$1.object({cursor:PaginationCursorSchema}),hS=z$1.union([RS.transform(({cursor:e,...r})=>({cursor:e,params:kS(r)})),ES.transform(({cursor:e})=>({cursor:e,params:void 0}))]),RB=dr;function EB(e,r){let{cursor:t,params:n}=m(r,hS);return I(s=>{let o=s===void 0?wS(n):FS(s);return e.perps.get("/v1/info/klines",{params:S({endTimestamp:o.endTimestamp,instrumentId:o.instrumentId,interval:o.interval,startTimestamp:o.startTimestamp},C())}).andThen(y(FetchPerpsCandlesResponseSchema)).map(a=>{let l=a.data.at(-1),P=a.more&&l!==void 0;return {items:a.data,hasMore:P,nextCursor:P?fe({...o,startTimestamp:l.timestamp+US(o.interval)}):void 0}})},t)}var ed=z$1.object({instrumentId:PerpsInstrumentIdSchema,start:ke.optional(),end:ke.optional()}),SS=ed.extend({cursor:PaginationCursorSchema.optional()}),TS=z$1.object({cursor:PaginationCursorSchema}),xS=z$1.union([SS.transform(({cursor:e,...r})=>({cursor:e,params:rd(r)})),TS.transform(({cursor:e})=>({cursor:e,params:void 0}))]),CS=ed.extend({cursor:PaginationCursorSchema.optional()}),IS=z$1.object({cursor:PaginationCursorSchema}),hB=dr;function SB(e,r){let{cursor:t,params:n}=m(r,xS);return I(s=>{let o=s===void 0?OS(n):BS(s);return e.perps.get("/v1/info/funding",{params:S({endTimestamp:o.endTimestamp,instrumentId:o.instrumentId,startTimestamp:o.startTimestamp},C())}).andThen(y(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let l=a.data.at(-1),P=a.more&&l!==void 0&&l.timestamp>o.startTimestamp;return {items:a.data,hasMore:P,nextCursor:P?fe({...o,endTimestamp:l.timestamp-1}):void 0}})},t)}var bS=z$1.union([CS.transform(({cursor:e,...r})=>({cursor:e,params:rd(r)})),IS.transform(({cursor:e})=>({cursor:e,params:void 0}))]),TB=dr;function xB(e,r){let{cursor:t,params:n}=m(r,bS);return I(s=>{let o=s===void 0?LS(n):MS(s),a=new Set(o.seenTradeIds);return e.perps.get("/v1/info/trades",{params:S({endTimestamp:o.endTimestamp,instrumentId:o.instrumentId,startTimestamp:o.startTimestamp},C())}).andThen(y(FetchPerpsTradesResponseSchema)).map(l=>{let P=l.data.filter(ou=>!a.has(ou.tradeId)),E=l.data.at(-1),x=P.at(-1),b=x?.timestamp??E?.timestamp,k=l.more&&b!==void 0&&b>o.startTimestamp;return {items:P,hasMore:k,nextCursor:k?fe({...o,endTimestamp:x===void 0?b-1:b,seenTradeIds:x===void 0?[]:DS(o,P,x)}):void 0}})},t)}var CB=r(i,h,d,c);async function IB(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var vS=z$1.object({kind:z$1.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:ke,endTimestamp:ke}),qS=z$1.object({kind:z$1.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:ke,endTimestamp:ke}),AS=z$1.object({kind:z$1.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:ke,endTimestamp:ke,seenTradeIds:z$1.array(PerpsTradeIdSchema)});function kS(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Xc}}function rd(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Xc}}function wS(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function OS(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function LS(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function FS(e){return oe(e,vS,"Invalid Perps pagination cursor")}function BS(e){return oe(e,qS,"Invalid Perps pagination cursor")}function MS(e){return oe(e,AS,"Invalid Perps pagination cursor")}function US(e){switch(e){case "1s":return 1e3;case "1m":return 60*1e3;case "5m":return 300*1e3;case "15m":return 900*1e3;case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return 1440*60*1e3;case "1w":return 10080*60*1e3}invariant(false,`Unsupported Perps kline interval: ${String(e)}`);}function DS(e,r,t){let n=new Set(e.endTimestamp===t.timestamp?e.seenTradeIds:[]);for(let s of r)s.timestamp===t.timestamp&&n.add(s.tradeId);return Array.from(n)}var _S=z$1.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),zS=z$1.object({proxy:z$1.string().transform(e=>expectEvmAddress(e)),privateKey:_S,secret:z$1.string().min(1),expiresAt:z$1.number().int().positive()}),jS=10080*60*1e3,WS=z$1.strictObject({builderAttribution:EvmAddressSchema.optional(),includeBuilderFills:z$1.boolean().optional(),expiresIn:z$1.number().int().positive().default(jS),label:z$1.string().min(1).optional()}),NS=z$1.strictObject({builderAttribution:EvmAddressSchema.optional(),includeBuilderFills:z$1.boolean().optional(),credentials:zS}),HS=z$1.union([WS,NS]),KS=z$1.object({proxy:z$1.string()}),GS=KS.transform(e=>({proxy:expectEvmAddress(e.proxy)})),td=z$1.bigint().positive().max(ne),$S=z$1.object({amount:td,metadata:Y.optional()}),VS=z$1.object({amount:td}),YS=PerpsDecimalInputSchema.refine(e=>/^\d+(?:\.\d+)?$/.test(e)&&/[1-9]/.test(e),"Expected a positive fixed-point decimal amount."),ZS=z$1.string().min(1).refine(e=>new TextEncoder().encode(e).byteLength<=64,"Expected a label no longer than 64 UTF-8 bytes."),QS=z$1.object({recipient:EvmAddressSchema,amount:YS,label:ZS.optional()}),bB=r(i,h,q,d,c,a),vB=r(i,h,q,d,c,a),qB=r(a),AB=r(m$1,i,h,q,d,c,a),kB=r(i,h,q,d,c,a),wB=r(i,h,q,d,c,a);async function OB(e,r={}){let t=m(r,HS),n="credentials"in t?await eT(e,t.credentials):await XS(e,t);return e.webSockets.perpsSession.connect(n,t.builderAttribution,fp.bind(null,e),t.includeBuilderFills)}async function LB(e,r){let t=m(r,GS),n={type:"deleteProxy",args:{proxy:t.proxy}},s=["deleteProxy",[t.proxy]],o=cr(),a=Date.now(),l=await sd(e,{salt:o,signedOp:s,timestamp:a}),P=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:n,salt:o,sig:l,ts:a}}).andThen(y(PerpsDeleteProxyResponseSchema)));if(P.status==="err")throw new h(P.error??"Perps credentials revocation was rejected.",{status:200})}async function JS(e,r){let t=m(r,$S),{contracts:n}=e.environment,s=aa(n.perpsDepositContract,n.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?K(yield cT(G(e.environment.chainId,s))):yield*await Q(e,{calls:[s],metadata:t.metadata??`Deposit ${t.amount} of ${n.collateralToken} to Perps`})}.call(null)}function FB(e,r){return JS(e,r).then(z(e.signer))}async function BB(e,r){let t=m(r,VS),n=Math.floor(Date.now()/1e3),s=cr(),o={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await tT(e,{amount:t.amount,salt:s,timestamp:n}),l=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:o,salt:s,sig:a,ts:n}}).andThen(y(PerpsWithdrawResponseSchema)));if(l.status==="err")throw new h(l.error??"Perps withdrawal was rejected.",{status:200});if(l.withdrawalId===void 0)throw new c("Perps withdrawal response did not include a withdrawal ID.");return l.withdrawalId}async function MB(e,r){iT(e);let t=m(r,QS);if(isSameEvmAddress(t.recipient,e.account.signer))throw new a("Perps collateral cannot be transferred to the authenticated account.");return Yc({signTransfer({account:n,token:s,amount:o,recipient:a,salt:l,timestamp:P}){return sd(e,{salt:l,signedOp:["internalTransfer",[n,s,o,a]],timestamp:P})},async submitTransfer(n){let s={op:{type:"internalTransfer",args:{account:n.account,token:n.token,amount:n.amount,to:n.recipient}},salt:n.salt,sig:n.signature,ts:n.timestamp};return n.label!==void 0&&(s.label=n.label),(await unwrap(e.perps.post("/v1/account/internal-transfer",{json:s}).andThen(y(PerpsInternalTransferResponseSchema)))).transferId}},{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount,recipient:t.recipient,label:t.label,salt:cr(),timestamp:Date.now()})}async function XS(e,r){let t=oT(),n=od(t),s=e.account.signer,o=Date.now()+r.expiresIn,a=Date.now(),l=cr(),P={args:{expiry:o,owner:s,proxy:n},type:"createProxy"},E=await rT(e,{expiresAt:o,proxy:n,salt:l,timestamp:a}),x={op:P,salt:l,sig:E,ts:a};r.label!==void 0&&(x.label=r.label);let b=await unwrap(e.perps.post("/v1/account/proxy",{json:x}).andThen(y(PerpsCreateProxyResponseSchema))),k={expiresAt:o,privateKey:t,proxy:n,secret:b.secret};return nd(e,k)}async function eT(e,r){return aT(r),nd(e,r)}async function nd(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:pT(r)}).andThen(y(PerpsCredentialsResponseSchema)));if(!isSameEvmAddress(t.address,e.account.signer))throw new c("Perps credentials belong to a different signer account.");let n=t.keys.find(s=>isSameEvmAddress(s.proxy,r.proxy));if(n===void 0)throw new c("Perps credentials were not returned by the API.");if(n.expiresAt<=Date.now())throw new c("Perps credentials are expired.");return {...r,expiresAt:n.expiresAt}}async function rT(e,r){try{return await e.signer.signTypedData(sT({chainId:e.environment.chainId,...r}))}catch(t){throw q.fromError(t,"Could not sign the Perps proxy credentials request")}}async function sd(e,r){try{return await e.signer.signTypedData(jr({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw q.fromError(t,"Could not sign the Perps operation request")}}async function tT(e,r){try{return await e.signer.signTypedData(nT({account:e.account.signer,chainId:e.environment.chainId,contract:e.environment.contracts.perpsDepositContract,token:e.environment.contracts.collateralToken,to:e.account.wallet,...r}))}catch(t){throw q.fromError(t,"Could not sign the Perps withdrawal request")}}function nT(e){let r={chainId:e.chainId,name:"Polymarket",verifyingContract:e.contract,version:"1"};return {domain:r,message:{account:e.account,amount:e.amount,fee:0n,salt:e.salt,token:e.token,to:e.to,ts:e.timestamp},primaryType:"Withdraw",types:{EIP712Domain:TypedData.extractEip712DomainTypes(r),Withdraw:[{name:"account",type:"address"},{name:"token",type:"address"},{name:"amount",type:"uint256"},{name:"fee",type:"uint256"},{name:"to",type:"address"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function sT(e){let r={chainId:e.chainId,name:"Polymarket",version:"1"};return {domain:r,message:{addr:e.proxy,exp:e.expiresAt,salt:e.salt,ts:e.timestamp},primaryType:"CreateProxy",types:{CreateProxy:[{name:"addr",type:"address"},{name:"exp",type:"uint64"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}],EIP712Domain:TypedData.extractEip712DomainTypes(r)}}}function oT(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function od(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function aT(e){let r=od(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function iT(e){if(e.account.signerType!=="OWNER")throw new a("Perps collateral transfers must be signed by the account owner.")}function pT(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function cT(e){return {kind:"sendPerpsDepositTransaction",request:e}}var fT=z$1.object({address:EvmAddressSchema}),QB=r(i,h,d,c,a);async function JB(e,r){let t=m(r,fT);return unwrap(e.perps.get("/v1/info/registered",{params:S(t,{address:"address"})}).andThen(y(PerpsRegistrationResponseSchema)))}var kT=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema.optional(),conditionId:z$1.union([CanonicalMarketConditionIdSchema,ye(CanonicalMarketConditionIdSchema,20)]).optional(),status:PositionStatusSchema.optional(),eventId:z$1.array(EventIdSchema).min(1).optional(),title:z$1.string().transform(e=>/^\p{White_Space}*$/u.test(e)?void 0:e).refine(e=>e===void 0||[...e].length<=200,{message:"title must contain at most 200 characters"}).optional(),filterType:PositionFilterTypeSchema.optional(),filterAmount:z$1.number().min(0).optional(),includeArchived:z$1.boolean().optional(),sortBy:PositionSortBySchema.optional(),sortDirection:SortDirectionSchema.optional(),window:yr.optional()}).refine(e=>e.user!==void 0||e.conditionId,{message:"Provide user or conditionId",path:["user"]}).refine(e=>e.user!==void 0||!Array.isArray(e.conditionId)||e.conditionId.length===1,{message:"Without user, provide exactly one conditionId",path:["conditionId"]}).refine(e=>!(e.conditionId&&e.eventId),{message:"Provide conditionId or eventId, not both",path:["eventId"]}).refine(e=>e.user!==void 0||e.eventId===void 0,{message:"eventId requires user",path:["eventId"]}).refine(e=>!(e.includeArchived&&e.status==="CLOSED"),{message:"includeArchived does not apply to CLOSED positions",path:["includeArchived"]}).refine(e=>e.status!==PositionStatus.RedeemableLost||e.user!==void 0,{message:"REDEEMABLE_LOST requires user",path:["user"]}),dM=r(i,h,d,c,a);function uM(e,r){let{cursor:t,pageSize:n,window:s,...o}=m(r,kT);return I(a=>_(()=>e.data.get("/v2/positions",{params:U({...o,...s,limit:n,cursor:a})})).andThen(y(ListPositionsResponseSchema)),t)}var wT=z$1.union([ComboPositionStatusSchema,z$1.tuple([ComboPositionStatusSchema],ComboPositionStatusSchema).refine(e=>e.length===1||!e.includes(ComboPositionStatus.Redeemable),{message:"REDEEMABLE must be the sole status value"})]),OT=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema,conditionId:z$1.union([ComboConditionIdSchema,ye(ComboConditionIdSchema,20)]).optional(),status:wT.optional(),sortBy:ComboPositionSortBySchema.optional(),sortDirection:SortDirectionSchema.optional(),updatedAfter:Xe.optional(),updatedBefore:Xe.optional()}),LT=OT.refine(e=>e.updatedBefore===void 0||e.updatedAfter===void 0||e.updatedBefore>=e.updatedAfter,{message:"updatedBefore must not precede updatedAfter",path:["updatedBefore"]}),lM=r(i,h,d,c,a);function mM(e,r){let{cursor:t,pageSize:n,...s}=m(r,LT);return I(o=>_(()=>e.data.get("/v2/positions/combos",{params:U({...s,limit:n,cursor:o})})).andThen(y(ListComboPositionsResponseSchema)),t)}var FT=z$1.object({user:EvmAddressSchema,conditionIds:ye(CanonicalMarketConditionIdSchema,20).optional()}),fM=r(i,h,d,c,a);async function yM(e,r){let{conditionIds:t,...n}=m(r,FT);return unwrap(_(()=>e.data.get("/v2/value",{params:U({...n,condition:t})})).andThen(y(FetchPortfolioValueResponseSchema)))}var BT=z$1.object({user:EvmAddressSchema}),PM=r(i,h,d,c,a);async function gM(e,r){let t=m(r,BT);return unwrap(_(()=>e.data.get("/v2/user-stats",{params:U(t)})).andThen(y(FetchUserStatsResponseSchema)))}var MT=z$1.object({user:EvmAddressSchema,interval:UserPnlIntervalSchema.optional(),fidelity:UserPnlFidelitySchema.optional()}),RM=r(i,h,d,c,a);async function EM(e,r){let t=m(r,MT);return unwrap(_(()=>e.data.get("/v2/user-pnl",{params:U(t)})).andThen(y(FetchUserPnlResponseSchema)))}var UT=z$1.object({user:EvmAddressSchema,window:yr.optional()}),hM=r(i,h,d,c,a);async function SM(e,r){let{window:t,...n}=m(r,UT);return unwrap(_(()=>e.data.get("/v2/user-volume",{params:U({...n,...t})})).andThen(y(FetchUserVolumeResponseSchema)))}var DT=z$1.object({user:z$1.string()}),TM=r(i,h,d,c,a);async function xM(e,r){let t=m(r,DT);return unwrap(e.data.get("/v1/accounting/snapshot",{params:Mo(t)}).andThen(So))}function cd(e,r){if(!isPresent(e.conditionId))throw new c(`Missing condition ID for ${r}`);if(!isPresent(e.version))throw new c(`Missing market version for ${r}`);let t=e.outcomes.yes.tokenId,n=e.outcomes.no.tokenId,s=e.outcomes.yes.positionId,o=e.outcomes.no.positionId;if(e.version===ProtocolVersion.V2){if(isPresent(s)!==isPresent(o))throw new c(`Incomplete market position IDs for ${r}`);if(!isPresent(s)||!isPresent(o))throw new c(`Missing market position IDs for ${r}`);return {marketId:e.id,conditionId:e.conditionId,protocol:"v2",outcomeIds:[s,o]}}if(isPresent(t)!==isPresent(n))throw new c(`Incomplete market token IDs for ${r}`);if(isPresent(t)&&isPresent(n)){if(!isPresent(e.state.negRisk))throw new c(`Missing negative-risk flag for ${r}`);return {marketId:e.id,conditionId:e.conditionId,protocol:"ctf",negRisk:e.state.negRisk,outcomeIds:[t,n]}}throw new c(`Missing market token IDs for ${r}`)}var dd=r(i,h,d,c,a),ud=z$1.object({amount:z$1.bigint().min(0n),conditionId:ConditionIdSchema,metadata:Y.optional()}),QM=dd;async function ld(e,r){let t=m(r,ud),n=await Qs(e,{conditionId:t.conditionId}),s=n.protocol==="ctf"?ia(n.adapterAddress,e.environment.contracts.collateralToken,n.conditionId,t.amount):fn(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?K(yield Gs(G(e.environment.chainId,s))):yield*await Q(e,{calls:[s],metadata:t.metadata??`Split ${t.amount} positions for market ${n.marketId} (condition ${n.conditionId})`})}.call(null)}var md=z$1.object({amount:z$1.bigint().positive(),legs:z$1.array(PositionIdSchema).min(1).max(50),metadata:Y.optional()}),JM=dd;async function fd(e,r){let t=m(r,md),n=_n(t.legs),s=Pn(e.environment.contracts.combinatorialModule,n),o=Dn(n),a=fn(e.environment.contracts.protocolV2Router,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await K(yield Gs(G(e.environment.chainId,s))).wait(),K(yield Gs(G(e.environment.chainId,a)))):yield*await Q(e,{calls:[s,a],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${o.conditionId}`})}.call(null)}var jT=z$1.union([ud.extend({legs:z$1.never().optional()}),md.extend({conditionId:z$1.never().optional()})]);async function WT(e,r){let t=m(r,jT);return t.legs!==void 0?fd(e,t):ld(e,t)}var yd=r(m$1,i,h,q,j,l,d,c,a),XM=yd;function eU(e,r){return ld(e,r).then(z(e.signer))}var rU=yd;function tU(e,r){return fd(e,r).then(z(e.signer))}function nU(e,r){return WT(e,r).then(z(e.signer))}var Pd=r(i,h,d,c,a),gd=z$1.object({amount:z$1.union([z$1.bigint().positive(),z$1.literal("max")]),conditionId:ConditionIdSchema,metadata:Y.optional()}),sU=Pd;async function Rd(e,r){let t=m(r,gd),n=await Qs(e,{conditionId:t.conditionId}),s=pt(await e.rpc.ethCall(it(n.positionErc1155Address,e.account.wallet,n.outcomeIds))),o=vd(n.conditionId,s,t.amount),a=n.protocol==="ctf"?pa(n.adapterAddress,e.environment.contracts.collateralToken,n.conditionId,o):yn(e.environment.contracts.protocolV2Router,n.conditionId,o);return async function*(){return e.account.walletType===WalletType.EOA?K(yield $s(G(e.environment.chainId,a))):yield*await Q(e,{calls:[a],metadata:t.metadata??`Merge ${o} positions for market ${n.marketId} (condition ${n.conditionId})`})}.call(null)}var Ed=z$1.object({amount:z$1.union([z$1.bigint().positive(),z$1.literal("max")]),legs:z$1.array(PositionIdSchema).min(1).max(50),metadata:Y.optional()}),oU=Pd;async function hd(e,r){let t=m(r,Ed),n=_n(t.legs),s=Pn(e.environment.contracts.combinatorialModule,n),o=Dn(n),a=pt(await e.rpc.ethCall(it(e.environment.contracts.positionManager,e.account.wallet,o.positionIds))),l=vd(o.conditionId,a,t.amount),P=yn(e.environment.contracts.protocolV2Router,o.conditionId,l);return async function*(){return e.account.walletType===WalletType.EOA?(await K(yield $s(G(e.environment.chainId,s))).wait(),K(yield $s(G(e.environment.chainId,P)))):yield*await Q(e,{calls:[s,P],metadata:t.metadata??`Merge ${l} combo positions for condition ${o.conditionId}`})}.call(null)}var NT=z$1.union([gd.extend({legs:z$1.never().optional()}),Ed.extend({conditionId:z$1.never().optional()})]);async function HT(e,r){let t=m(r,NT);return t.legs!==void 0?hd(e,t):Rd(e,t)}var Sd=r(m$1,i,h,q,j,l,d,c,a),aU=Sd;function iU(e,r){return Rd(e,r).then(z(e.signer))}var pU=Sd;function cU(e,r){return hd(e,r).then(z(e.signer))}function dU(e,r){return HT(e,r).then(z(e.signer))}var Td=r(i,h,d,c,a),xd=z$1.object({conditionId:ConditionIdSchema,marketId:z$1.never().optional(),amount:z$1.never().optional(),positionId:z$1.never().optional(),metadata:Y.optional()}),Cd=z$1.object({conditionId:z$1.never().optional(),marketId:MarketIdSchema,amount:z$1.never().optional(),positionId:z$1.never().optional(),metadata:Y.optional()}),KT=z$1.union([xd,Cd]),uU=Td;async function GT(e,r){let t=m(r,KT),n=await Qs(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),s=await QT(e,n);return async function*(){return e.account.walletType===WalletType.EOA?yield*YT(e,s):yield*await Q(e,{calls:s,metadata:t.metadata??`Redeem positions for market ${n.marketId} (condition ${n.conditionId})`})}.call(null)}var Id=z$1.object({positionId:PositionIdSchema,conditionId:z$1.never().optional(),marketId:z$1.never().optional(),metadata:Y.optional()});async function bd(e,r){let t=m(r,Id),n=Ri(t.positionId),s=na(await e.rpc.ethCall(ta(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(s===0n)throw new a("Position has no balance to redeem");let o=ct(e.environment.contracts.protocolV2Router,n.conditionId,n.outcomeIndex,s);return async function*(){return e.account.walletType===WalletType.EOA?K(yield Vs(G(e.environment.chainId,o))):yield*await Q(e,{calls:[o],metadata:t.metadata??`Redeem position ${t.positionId}`})}.call(null)}var lU=Td;function mU(e,r){return bd(e,r)}var $T=z$1.union([xd,Cd,Id]);async function VT(e,r){let t=m(r,$T);return t.positionId!==void 0?bd(e,t):GT(e,t)}var fU=r(m$1,i,h,q,j,l,d,c,a);function yU(e,r){return VT(e,r).then(z(e.signer))}function Gs(e){return {kind:"sendSplitPositionTransaction",request:e}}function $s(e){return {kind:"sendMergePositionsTransaction",request:e}}function Vs(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function*YT(e,r){let[t,...n]=r;invariant(t!==void 0,"Expected at least one redemption call");let s=t;for(let o of n)await K(yield Vs(G(e.environment.chainId,s))).wait(),s=o;return K(yield Vs(G(e.environment.chainId,s)))}async function Qs(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,n=await ri(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[ZT(r.marketId)],closed:r.closed,pageSize:1}).firstPage(),[s]=n.items;if(s===void 0)throw new a(`No market found for ${t}`);let o=cd(s,t);return o.protocol==="v2"?{...o,positionErc1155Address:e.environment.contracts.positionManager}:{...o,adapterAddress:o.negRisk?e.environment.contracts.negRiskCollateralAdapter:e.environment.contracts.collateralAdapter,positionErc1155Address:o.negRisk?e.environment.contracts.negRiskAdapter:e.environment.contracts.conditionalTokens}}function ZT(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}async function QT(e,r){if(r.protocol==="ctf")return [ca(r.adapterAddress,e.environment.contracts.collateralToken,r.conditionId)];let t=pt(await e.rpc.ethCall(it(r.positionErc1155Address,e.account.wallet,r.outcomeIds)));if(t.length!==2)throw new c("Expected two position balances");let[n,s]=t;invariant(n!==void 0,"Expected YES position balance"),invariant(s!==void 0,"Expected NO position balance");let o=[];if(n>0n&&o.push(ct(e.environment.contracts.protocolV2Router,r.conditionId,0,n)),s>0n&&o.push(ct(e.environment.contracts.protocolV2Router,r.conditionId,1,s)),o.length===0)throw new a(`Market positions have no balance to redeem for condition ${r.conditionId}`);return o}function vd(e,r,t){let n=JT(r);if(n===0n)throw new a(`You have no complementary positions to merge for condition ${e}`);if(t==="max")return n;if(t>n)throw new a(`Requested merge amount ${t} exceeds the maximum mergeable amount ${n} for condition ${e}`);return t}function JT(e){if(e.length!==2)throw new c("Expected two position balances");let[r,t]=e;return invariant(r!==void 0,"Expected YES position balance"),invariant(t!==void 0,"Expected NO position balance"),r<t?r:t}var nx=z$1.object({address:z$1.string()}),CU=r(i,h,d,c,a);async function IU(e,r){let t=m(r,nx);return unwrap(e.gamma.get("/public-profile",{params:S(t,C())}).andThen(y(PublicProfileSchema)).orElse(n=>n instanceof h&&n.status===404?ok(null):err(n)))}var eo=class extends PolymarketError{name="RfqQuoteRejectedError";code;errorId;rfqId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId;}},MU=r(f,eo,q,j,d,a),ro=class extends PolymarketError{name="RfqCancelQuoteRejectedError";code;errorId;rfqId;quoteId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId,this.quoteId=t.quoteId;}},UU=r(f,ro,j,d),to=class extends PolymarketError{name="RfqConfirmationRejectedError";code;errorId;rfqId;quoteId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId,this.quoteId=t.quoteId;}},DU=r(f,to,j,d),_U=r(f,d,a);async function zU(e){return Yr(e),e.webSockets.rfqQuoter.connect()}var so="/v1/builder/rfq/requests",cx=3e4,dx=3e4,ux=3e4,lx=500,mx=3e4,fx=1e3,yx="0x0000000000000000000000000000000000000000000000000000000000000000",Ve=class extends PolymarketError{name="RfqRequestRejectedError";status;code;constructor(r,t){super(r,t),this.status=t.status,this.code=t.code;}};function oo(e){return e instanceof h?new Ve(e.message,{cause:e,code:Dd(e.code),status:e.status}):e}var Px=new Set(Object.values(RfqRejectionCode));function Dd(e){return e!==void 0&&Px.has(e)?e:RfqRejectionCode.RequestFailed}function _d(e){if(!e.hasBuilderApiKey)throw new a("Combo RFQ requests require a Builder API Key in the client configuration, via builderApiKey(...) or remoteBuilderSigning(...).")}var Od=z$1.array(z$1.string().regex(/^\d+$/,"Leg position IDs must be numeric strings.").transform(e=>toPositionId(BigInt(e).toString()))).min(2,"Combo requests require at least 2 legs.").max(50,"Combo requests allow at most 50 legs.").refine(e=>new Set(e).size===e.length,"Leg position IDs must not contain duplicates.").transform(e=>[...e].sort((r,t)=>{let n=BigInt(r),s=BigInt(t);return n<s?-1:n>s?1:0})),Xt=z$1.union([z$1.number(),z$1.string()]).transform((e,r)=>{let t=/^(\d+)(?:\.(\d*))?$/.exec(String(e));if(t===null)return r.addIssue({code:"custom",message:"Value must be a valid decimal."}),z$1.NEVER;let[,n="",s=""]=t;if(s.length>6)return r.addIssue({code:"custom",message:"Value must have at most 6 decimal places."}),z$1.NEVER;let o=gx(n,s);return o<=0n?(r.addIssue({code:"custom",message:"Value must be greater than 0."}),z$1.NEVER):o.toString()});function gx(e,r){return BigInt(e)*1000000n+BigInt(r.padEnd(6,"0"))}var Rx=z$1.discriminatedUnion("direction",[z$1.object({amount:Xt,direction:z$1.literal(OrderSide.BUY),legPositionIds:Od,side:z$1.literal(RfqSide.Yes).optional()}),z$1.object({direction:z$1.literal(OrderSide.SELL),legPositionIds:Od,side:z$1.literal(RfqSide.Yes).optional(),size:Xt})]),jU=r(i,Ve,d,c,a);async function WU(e,r){Yr(e);let t=m(r,Rx);_d(e);let n=kr(e.account),s={direction:t.direction===OrderSide.BUY?RfqDirection.Buy:RfqDirection.Sell,leg_position_ids:t.legPositionIds,maker_address:n.maker,requested_size:t.direction===OrderSide.BUY?{unit:RfqRequestedSizeUnit.Notional,value_e6:t.amount}:{unit:RfqRequestedSizeUnit.Shares,value_e6:t.size},side:RfqSide.Yes,signature_type:n.signatureType,signer_address:n.signer},o=await unwrap(e.builderGateway.post(so,{json:s,timeout:cx}).andThen(y(BuilderRfqCreateResponseSchema)).mapErr(oo));if("quote"in o){Ex(o,s);let a=o.request.direction===RfqDirection.Buy?OrderSide.BUY:OrderSide.SELL,l={blendedPrice:o.quote.blendedPrice,builderCode:o.builderCode,expiresAt:o.expiresAt,makerAmount:o.quote.makerAmount,positionId:o.request.yesPositionId,quoteId:o.quote.quoteId,rfqId:o.rfqId,takerAmount:o.quote.takerAmount,totalRequired:o.quote.totalRequired};if(a===OrderSide.SELL){if(o.quote.netReceive===void 0)throw new c(`SELL quote for RFQ ${o.rfqId} omitted net sell proceeds.`);return {quote:{...l,direction:a,netReceive:o.quote.netReceive},rfqId:o.rfqId}}return {quote:{...l,direction:a},rfqId:o.rfqId}}return hx(o)}function Ex(e,r){let t=e.request,n=[];if(t.rfqId!==e.rfqId&&n.push("rfq_id"),t.direction!==r.direction&&n.push("direction"),t.side!==r.side&&n.push("side"),(t.legPositionIds.length!==r.leg_position_ids.length||t.legPositionIds.some((s,o)=>s!==r.leg_position_ids[o]))&&n.push("leg_position_ids"),(t.requestedSize.unit!==r.requested_size.unit||t.requestedSize.valueE6!==r.requested_size.value_e6)&&n.push("requested_size"),n.length>0)throw new c(`Builder RFQ response did not echo the submitted ${n.join(", ")}.`)}function hx(e){switch(e.error?.code){case RfqKnownErrorCode.NoQuotes:return {quote:null,reason:ComboQuoteUnavailableReason.NoQuotes,rfqId:e.rfqId};case RfqKnownErrorCode.SizeTooLarge:return {quote:null,reason:ComboQuoteUnavailableReason.SizeTooLarge,rfqId:e.rfqId};default:throw new Ve(e.error?.message??"The combo quote request failed.",{code:Dd(e.error?.code),status:200,...e.error===void 0?{}:{cause:e.error}})}}var Sx=OrderSideSchema,Tx=z$1.object({blendedPrice:z$1.string(),builderCode:z$1.string().regex(/^0x[0-9a-fA-F]{64}$/,"builderCode must be a 32-byte hex string.").transform(toBuilderCode),direction:Sx,expiresAt:z$1.number().int().nonnegative(),makerAmount:Xt.transform(toBaseUnits),netReceive:z$1.string().optional(),positionId:z$1.string().regex(/^\d+$/,"positionId must be a numeric string.").transform(toPositionId),quoteId:z$1.string().min(1).transform(toRfqQuoteId),rfqId:z$1.string().min(1).transform(toRfqId),takerAmount:Xt.transform(toBaseUnits),totalRequired:z$1.string()}),NU=r(m$1,i,Ve,q,j,d,c,a);async function HU(e,r){Yr(e);let t=m(r,Tx);_d(e);let n=Yi({chainId:e.environment.chainId,exchange:e.environment.contracts.exchangeV3}),s=Ix(e,t),o=await vx(e,n,s),a={quote_id:t.quoteId,signed_order:o};function l(){return e.builderGateway.post(`${so}/${encodeURIComponent(t.rfqId)}/accept`,{json:a,timeout:dx}).andThen(y(BuilderRfqStatusResponseSchema))}let P=await l();if(P.isErr()&&(P.error instanceof d||P.error instanceof c)&&(P=await l()),P.isErr()){let k=xx(t.rfqId,P.error);if(k!==void 0)return k;throw oo(P.error)}let E=P.value,x=P.value.takerOrderHash,b=Date.now()+ux;for(;E.status===RfqStatus.AwaitingMakerConfirmation;){if(Date.now()>=b)throw new j(`Timed out waiting for the acceptance outcome of RFQ ${t.rfqId}.`);await delay(lx),E=await zd(e,{rfqId:t.rfqId});}return E.status===RfqStatus.Failed||E.status===RfqStatus.Expired||E.status===RfqStatus.Canceled?{reason:Cx(E.status,E.error?.code),rfqId:E.rfqId,status:"failed",...E.error===void 0?{}:{error:E.error}}:{rfqId:E.rfqId,status:"executing",...x===void 0?{}:{takerOrderHash:x}}}function xx(e,r){if(r instanceof h&&r.code===RfqKnownErrorCode.ExpiredRfq)return {error:{code:RfqKnownErrorCode.ExpiredRfq,message:r.message},reason:ComboAcceptFailureReason.AcceptanceWindowExpired,rfqId:e,status:"failed"}}function Cx(e,r){return e===RfqStatus.Expired||r===RfqKnownErrorCode.ExpiredRfq?ComboAcceptFailureReason.AcceptanceWindowExpired:r===RfqKnownErrorCode.MakerDeclined?ComboAcceptFailureReason.MakerDeclined:ComboAcceptFailureReason.ExecutionFailed}function Ix(e,r){let t=kr(e.account);return {builder:r.builderCode,maker:t.maker,makerAmount:r.makerAmount,metadata:yx,salt:bx().toString(),side:ts(r.direction),signatureType:t.signatureType,signer:t.signer,takerAmount:r.takerAmount,timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:r.positionId}}function bx(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}`)}async function vx(e,r,t){let n;try{n=await e.signer.signTypedData(wt({domain:r,order:t}));}catch(s){throw s instanceof m$1?s:q.fromError(s,"Could not sign the combo quote acceptance order.")}return {...t,signature:Ot({domain:r,order:t,signature:n})}}var qx=z$1.object({pollingIntervalMs:z$1.number().int().positive().optional(),rfqId:z$1.string().min(1).transform(toRfqId),timeoutMs:z$1.number().int().positive().optional()}),KU=r(i,Ve,j,d,c,a);async function GU(e,r){Yr(e);let t=m(r,qx),n=t.timeoutMs??mx,s=t.pollingIntervalMs??fx,o=Date.now()+n;for(;;){let a=await zd(e,{rfqId:t.rfqId});if(a.status===RfqStatus.Filled||a.status===RfqExecutionStatus.Confirmed){if(a.txHash===void 0)throw new c(`RFQ ${a.rfqId} reached ${a.status} without a transaction hash.`);return {rfqId:a.rfqId,status:RfqStatus.Filled,txHash:a.txHash}}if(a.status===RfqStatus.Failed||a.status===RfqStatus.Expired||a.status===RfqStatus.Canceled)return {rfqId:a.rfqId,status:a.status,...a.error===void 0?{}:{error:a.error}};if(Date.now()>=o)throw new j(`Timed out after ${n}ms waiting for RFQ ${t.rfqId} to reach a terminal state.`);await delay(s);}}var Ax=z$1.object({rfqId:z$1.string().min(1).transform(toRfqId)}),$U=r(i,Ve,d,c,a);function zd(e,r){Yr(e);let t=m(r,Ax);return unwrap(e.builderGateway.get(`${so}/${encodeURIComponent(t.rfqId)}`).andThen(y(BuilderRfqStatusResponseSchema)).mapErr(oo))}function Yr(e){if(e.account.signerType==="SESSION_KEY")throw new a("Combos is not supported with Session Keys")}var Wd=(l=>(l.Volume="volume",l.Volume24Hr="volume_24hr",l.Liquidity="liquidity",l.Competitive="competitive",l.ClosedTime="closed_time",l.StartDate="start_date",l.EndDate="end_date",l))(Wd||{}),jd=100,Ox=z$1.object({q:z$1.string().trim().min(1),ascending:z$1.boolean().optional(),cache:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),eventsStatus:z$1.string().min(1).optional(),eventsTag:z$1.array(z$1.string()).optional(),excludeTagIds:z$1.array(z$1.number().int()).optional(),keepClosedMarkets:z$1.number().int().optional(),optimized:z$1.boolean().optional(),pageSize:w.default(10),presets:z$1.array(z$1.string()).optional(),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),searchProfiles:z$1.boolean().optional(),searchTags:z$1.boolean().optional(),sort:z$1.enum(Wd).optional()}),fD=r(b,i,h,d,c,a);function yD(e,r){let{cursor:t,pageSize:n,...s}=m(r,Ox);return I(o=>{let a=ce(o,n,{maxOffset:jd});return e.gamma.get("/public-search",{params:S({...s,limitPerType:a.pageSize,page:a.offset},C({excludeTagIds:"exclude_tag_id"}))}).andThen(y(PublicSearchResponseSchema)).map(l=>({items:Lx(l),hasMore:l.pagination?.hasMore??false,limitReached:(l.pagination?.hasMore??false)&&a.offset+1>jd,totalCount:l.pagination?.totalResults??void 0,nextCursor:l.pagination?.hasMore?ee({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??ee({offset:1,pageSize:n}),{events:[],profiles:[],tags:[]})}function Lx(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var Dx=z$1.object({ascending:z$1.boolean().optional(),closed:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),excludeEvents:z$1.boolean().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),pageSize:w.max(50).default(20),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),slug:z$1.array(z$1.string()).optional()}),_x=z$1.object({id:z$1.string(),locale:z$1.string().optional()}),bD=r(i,h,d,c,a);function vD(e,r={}){let{cursor:t,pageSize:n,...s}=m(r,Dx);return I(o=>{let a=ce(o,n);return e.gamma.get("/series",{params:S({...s,limit:a.pageSize,offset:a.offset},C())}).andThen(y(ListSeriesResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?ee({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var qD=r(i,h,d,c,a);async function AD(e,r){let t=m(r,_x);return unwrap(e.gamma.get(`series/${t.id}`,{params:S({locale:t.locale},C())}).andThen(y(SeriesSchema)))}function io(e){if(e.kind==="authorization"?e.status===RelayerAuthorizeSessionSignerStatus.FAILED||e.status===RelayerAuthorizeSessionSignerStatus.SUPERSEDED||e.status===RelayerAuthorizeSessionSignerStatus.REPAIR_REQUIRED:e.status===RelayerRevokeSessionSignerStatus.FAILED)throw new l(`Session-key ${e.kind} reached terminal status ${e.status}`)}var $D=r(i,h,q,d,c,a);async function Gd(e){lo(e);let r=await unwrap(e.secureClob.get("/v1/user/session-signers").andThen(y(ActiveSessionSignersResponseSchema)));if(!isSameEvmAddress(r.wallet,e.account.wallet))throw new c(`Session-key response wallet ${r.wallet} does not match authenticated wallet ${e.account.wallet}`);return r.signers.map(t=>({address:expectEvmAddress(t.address.toLowerCase()),scopes:t.scopes,validUntil:t.validUntil}))}var Gx=[SessionSignerKnownScope.ALL],$x=4315*60*60,$d=300*1e3,Vx=z$1.object({address:EvmAddressSchema,idempotencyKey:z$1.string().trim().min(1).optional(),scopes:z$1.array(SessionSignerScopeSchema).min(1).default(Gx)}).superRefine((e,r)=>{isSameEvmAddress(e.address,ZERO_ADDRESS)&&r.addIssue({code:"custom",message:"Session key address must not be the zero address.",path:["address"]}),e.scopes.includes(SessionSignerKnownScope.ALL)&&e.scopes.some(t=>t!==SessionSignerKnownScope.ALL)&&r.addIssue({code:"custom",message:"Session key scope ALL cannot be combined with another scope.",path:["scopes"]});}).transform(e=>({...e,address:expectEvmAddress(e.address.toLowerCase())})),VD=r(m$1,i,h,q,j,l,d,c,a);async function YD(e,r){if(lo(e),!e.hasBuilderApiKey)throw new a("Session-key authorization requires builder API-key authentication.");let t=m(r,Vx),n=Math.floor(Date.now()/1e3)+$x,s=await z(e.signer)(gr(e,[sa(e.account.wallet,t.address,BigInt(n))])),o={deadline:s.depositWalletParams.deadline,nonce:s.nonce,scopes:t.scopes,sessionSignerAddress:t.address,signature:s.signature,validUntil:`${n}`,walletAddress:e.account.wallet},a$1=await unwrap(e.relayer.post("/v1/session-signers/authorizations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:o,timeout:$d}).andThen(y(RelayerAuthorizeSessionSignerResponseSchema)));io({kind:"authorization",status:a$1.status});let l=await new er(e,a$1).wait();return {sessionKey:await Qx(e,{address:t.address,scopes:t.scopes,validUntil:n}),transaction:l}}var Yx=z$1.object({address:EvmAddressSchema,idempotencyKey:z$1.string().trim().min(1).optional()}).superRefine((e,r)=>{isSameEvmAddress(e.address,ZERO_ADDRESS)&&r.addIssue({code:"custom",message:"Session key address must not be the zero address.",path:["address"]});}).transform(e=>({...e,address:expectEvmAddress(e.address.toLowerCase())})),ZD=r(m$1,i,h,q,j,l,d,c,a);async function QD(e,r){if(lo(e),!e.supportsGasless)throw new a("Session-key revocation requires API-key authentication that supports gasless transactions.");let t=m(r,Yx),n=await z(e.signer)(gr(e,[oa(e.account.wallet,t.address)])),s={deadline:n.depositWalletParams.deadline,nonce:n.nonce,sessionSignerAddress:t.address,signature:n.signature,walletAddress:e.account.wallet},o=await unwrap(e.relayer.post("/v1/session-signers/revocations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:s,timeout:$d}).andThen(y(RelayerRevokeSessionSignerResponseSchema)));io({kind:"revocation",status:o.status}),await Zx(e,t.address);}async function Zx(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){if(!(await Gd(e)).some(s=>isSameEvmAddress(s.address,r)))return;await delay(e.environment.relayerPollFrequencyMs);}throw new j(`Timed out waiting for session key ${r} to be revoked`)}async function Qx(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){let n=(await Gd(e)).find(s=>isSameEvmAddress(s.address,r.address)&&s.validUntil===r.validUntil&&Jx(s.scopes,r.scopes));if(n!==void 0)return n;await delay(e.environment.relayerPollFrequencyMs);}throw new j(`Timed out waiting for session key ${r.address} to become active`)}function Jx(e,r){let t=new Set(r);return new Set(e).size===t.size&&e.every(n=>t.has(n))}function lo(e){if(e.account.walletType!==WalletType.DEPOSIT_WALLET)throw new a("Session keys can only be managed for a Deposit Wallet.");if(e.account.signerType!=="OWNER")throw new a("Session keys can only be managed by the Deposit Wallet owner.")}var n_=r(i,h,d,c);async function s_(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var o_=r(i,h,d,c);async function a_(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}var Yd=z$1.string().trim().min(1).max(64).regex(/^[a-zA-Z0-9._:/-]+$/),Zd=z$1.string().max(64).regex(/^[a-z0-9]+usd$/,{error:"Use a canonical lowercase USD pair such as btcusd. Slash-separated symbols and USDT pairs are not supported."}),Qd=(t=>(t.Update="update",t.Subscribe="subscribe",t))(Qd||{}),rC=z$1.discriminatedUnion("topic",[z$1.strictObject({topic:z$1.literal("prices.crypto"),symbols:z$1.array(Zd).min(1),provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()}),z$1.strictObject({topic:z$1.literal("prices.crypto.twap"),symbols:z$1.array(Zd).min(1),provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()}),z$1.strictObject({topic:z$1.literal("prices.equity"),symbol:Yd,types:z$1.array(z$1.enum(Qd)).optional(),provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()}),z$1.strictObject({topic:z$1.literal("prices.equity.twap"),symbol:Yd,provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()})]);function Jd(e){return m(e,rC)}var R_=r(d,a,h,f),Xd=($=>($.Market="market",$.User="user",$.Sports="sports",$.Crypto="prices.crypto",$.Twap="prices.crypto.twap",$.Equity="prices.equity",$.EquityTwap="prices.equity.twap",$.Comments="comments",$.LegacyBinance="prices.crypto.binance",$.LegacyChainlink="prices.crypto.chainlink",$.LegacyTwap="prices.crypto.chainlink.twap",$.LegacyEquity="prices.equity.pyth",$.PerpsTrades="perps.trades",$.PerpsBbo="perps.bbo",$.PerpsBook="perps.book",$.PerpsCandles="perps.candles",$.PerpsTickers="perps.tickers",$.PerpsStatistics="perps.statistics",$))(Xd||{}),sC=z$1.object({topic:z$1.enum(Xd)}),oC=z$1.object({topic:z$1.literal("prices.crypto.chainlink.twap"),windowSeconds:z$1.union([z$1.literal(30),z$1.literal(60)]),symbols:z$1.array(z$1.string()).optional()}),aC=z$1.union([z$1.object({topic:z$1.literal("market"),assetIds:z$1.array(z$1.string()),tokenIds:z$1.never().optional(),customFeatureEnabled:z$1.boolean().optional()}),z$1.object({topic:z$1.literal("market"),assetIds:z$1.never().optional(),tokenIds:z$1.array(z$1.string()),customFeatureEnabled:z$1.boolean().optional()})]);async function E_(e,r){let t=r.map(a$1=>{switch(m(a$1,sC),a$1.topic){case "prices.crypto":case "prices.crypto.twap":case "prices.equity":case "prices.equity.twap":if(!e.isSecureClient())throw new a("This subscription requires a secure client.");return Jd(a$1);case "prices.crypto.chainlink.twap":m(a$1,oC);break;case "market":m(a$1,aC);break}return a$1}),n=await Promise.allSettled(t.map(async a=>iC(e,a))),s=n.flatMap(a=>a.status==="fulfilled"?[a.value]:[]),o=n.find(a=>a.status==="rejected");if(o?.status==="rejected")throw await Promise.allSettled(s.map(a=>a.close())),o.reason;return pC(s)}function iC(e,r){switch(r.topic){case "market":return e.webSockets.clobMarket.subscribe(r);case "sports":return e.webSockets.sports.subscribe(r);case "prices.crypto":case "prices.crypto.twap":case "prices.equity":case "prices.equity.twap":if(!e.isSecureClient())throw new a("This subscription requires a secure client.");return e.webSockets.realtime.subscribe(r);case "comments":case "prices.crypto.binance":case "prices.crypto.chainlink":case "prices.crypto.chainlink.twap":case "prices.equity.pyth":return e.webSockets.rtds.subscribe(r);case "perps.trades":case "perps.bbo":case "perps.book":case "perps.candles":case "perps.tickers":case "perps.statistics":return e.webSockets.perpsSubscriptions.subscribe(r);case "user":return invariant(e.isSecureClient(),"A 'user' subscription requires a secure client instance."),e.webSockets.clobUser.subscribe(r)}}function pC(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(s=>s.close())).then(()=>{})),await r;}let n=nC(...e);return {close:t,[Symbol.asyncIterator](){return n[Symbol.asyncIterator]()}}}var uC=z$1.object({ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),includeTemplate:z$1.boolean().optional(),isCarousel:z$1.boolean().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),pageSize:w.max(100).default(20)}),lC=z$1.union([z$1.object({id:z$1.string(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()}),z$1.object({slug:z$1.string(),locale:z$1.string().optional()})]),mC=z$1.object({id:z$1.string(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),fC=z$1.object({slug:z$1.string()}),yC=z$1.object({id:z$1.string(),locale:z$1.string().optional(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),PC=z$1.object({locale:z$1.string().optional(),slug:z$1.string(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),L_=r(i,h,d,c,a);function F_(e,r={}){let{cursor:t,pageSize:n,...s}=m(r,uC);return I(o=>{let a=ce(o,n);return e.gamma.get("/tags",{params:S({...s,limit:a.pageSize,offset:a.offset},C())}).andThen(y(ListTagsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?ee({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var B_=r(i,h,d,c,a);async function M_(e,r){let t=m(r,lC);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:S({includeTemplate:t.includeTemplate,locale:t.locale},C())}).andThen(y(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:S({locale:t.locale},C())}).andThen(y(TagSchema)))}var U_=r(i,h,d,c,a);async function D_(e,r){if("id"in r){let n=m(r,mC);return unwrap(e.gamma.get(`tags/${n.id}/related-tags`,{params:S({omitEmpty:n.omitEmpty,status:n.status},C())}).andThen(y(ListRelatedTagsResponseSchema)))}let t=m(r,fC);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var __=r(i,h,d,c,a);async function z_(e,r){if("id"in r){let n=m(r,yC);return unwrap(e.gamma.get(`tags/${n.id}/related-tags/tags`,{params:S({locale:n.locale,omitEmpty:n.omitEmpty,status:n.status},C())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}let t=m(r,PC);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:S({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},C())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}var EC=z$1.object({abbreviation:z$1.array(z$1.string()).optional(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),league:z$1.array(z$1.string()).optional(),name:z$1.array(z$1.string()).optional(),order:z$1.string().optional(),pageSize:w.max(100).default(20),providerId:z$1.array(z$1.number().int()).optional()}),Z_=r(i,h,d,c,a);function Q_(e,r={}){let{cursor:t,pageSize:n,...s}=m(r,EC);return I(o=>{let a=ce(o,n);return e.gamma.get("/teams",{params:S({...s,limit:a.pageSize,offset:a.offset},C({providerId:"provider_id"}))}).andThen(y(ListTeamsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?ee({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var SC=z$1.object({amount:z$1.bigint(),metadata:Y.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),p1=r(a);async function TC(e,r){let t=m(r,SC);return async function*(){return e.account.walletType===WalletType.EOA?K(yield xC(G(e.environment.chainId,mn(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await Q(e,{calls:[mn(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var c1=r(m$1,i,h,q,d,c,a);function d1(e,r){return TC(e,r).then(z(e.signer))}function xC(e){return {kind:"sendErc20TransferTransaction",request:e}}
|
|
2
|
+
export{gI as $,mv as $a,Oq as $b,Vk as $c,Lg as $d,BB as $e,lU as $f,lb as A,K as Aa,cq as Ab,jA as Ac,wt as Ad,Vc as Ae,QM as Af,yn as B,xb as Ba,dq as Bb,WA as Bc,Ot as Bd,uB as Be,ld as Bf,mb as C,la as Ca,uq as Cb,Yi as Cd,lB as Ce,JM as Cf,ct as D,jb as Da,lq as Db,jO as Dd,mB as De,fd as Df,fb as E,hn as Ea,mq as Eb,WO as Ed,fB as Ee,WT as Ef,Pn as F,Wb as Fa,fq as Fb,ts as Fd,yB as Fe,yd as Ff,da as G,Nb as Ga,yq as Gb,is as Gd,yS as Ge,XM as Gf,ua as H,Y as Ha,Pq as Hb,ak as Hc,sg as Hd,PB as He,eU as Hf,Wd as Hg,m as I,Hb as Ia,Ma as Ib,ik as Ic,ps as Id,gB as Ie,rU as If,fD as Ig,xo as J,Kb as Ja,gq as Jb,pk as Jc,og as Jd,RB as Je,tU as Jf,yD as Jg,wo as K,ym as Ka,Ua as Kb,ck as Kc,cs as Kd,EB as Ke,nU as Kf,bD as Kg,WC as L,Gb as La,Rq as Lb,dk as Lc,a0 as Ld,hB as Le,Pd as Lf,vD as Lg,kr as M,Q as Ma,Da as Mb,uk as Mc,i0 as Md,SB as Me,sU as Mf,qD as Mg,Oo as N,Sn as Na,Eq as Nb,lk as Nc,p0 as Nd,TB as Ne,Rd as Nf,AD as Ng,Lo as O,Tn as Oa,hq as Ob,mk as Oc,c0 as Od,xB as Oe,oU as Of,aI as P,gr as Pa,Sq as Pb,fk as Pc,g0 as Pd,CB as Pe,hd as Pf,$D as Pg,iI as Q,xn as Qa,Tq as Qb,yk as Qc,R0 as Qd,IB as Qe,HT as Qf,Gd as Qg,pI as R,Cn as Ra,xq as Rb,U0 as Rd,bB as Re,Sd as Rf,VD as Rg,cI as S,In as Sa,ft as Sb,yg as Sd,vB as Se,aU as Sf,YD as Sg,dI as T,$b as Ta,Cq as Tb,D0 as Td,qB as Te,iU as Tf,ZD as Tg,uI as U,er as Ua,Iq as Ub,_0 as Ud,AB as Ue,pU as Uf,QD as Ug,lI as V,dv as Va,bq as Vb,kk as Vc,z0 as Vd,kB as Ve,cU as Vf,n_ as Vg,Do as W,Am as Wa,vq as Wb,wk as Wc,Pg as Wd,wB as We,dU as Wf,s_ as Wg,mI as X,uv as Xa,qq as Xb,j0 as Xd,OB as Xe,Td as Xf,o_ as Xg,fI as Y,xa as Ya,Aq as Yb,Gk as Yc,W0 as Yd,LB as Ye,uU as Yf,a_ as Yg,yI as Z,lv as Za,kq as Zb,ri as Zc,kg as Zd,JS as Ze,GT as Zf,R_ as Zg,PI as _,wm as _a,wq as _b,$k as _c,wg as _d,FB as _e,bd as _f,E_ as _g,ne as a,cn as aa,Ca as ab,Lq as ac,Yk as ad,Wg as ae,MB as af,mU as ag,ob as b,RI as ba,fv as bb,Fq as bc,Zk as bd,Ng as be,VT as bg,L_ as bh,ot as c,zo as ca,yv as cb,Bq as cc,Qk as cd,Bt as ce,QB as cf,fU as cg,F_ as ch,Jo as d,EI as da,Pv as db,Mq as dc,Jk as dd,xp as de,JB as df,yU as dg,B_ as dh,Xo as e,hI as ea,Lm as eb,Uq as ec,Xk as ed,Cp as ee,dM as ef,CU as eg,M_ as eh,at as f,SI as fa,gv as fb,Yq as fc,ew as fd,Ip as fe,uM as ff,IU as fg,U_ as fh,ea as g,TI as ga,Rv as gb,Zq as gc,rw as gd,Mt as ge,lM as gf,eo as gg,D_ as gh,ra as h,xI as ha,Iv as hb,Qq as hc,tw as hd,bp as he,mM as hf,MU as hg,__ as hh,ta as i,CI as ia,Dm as ib,Uf as ic,nw as id,Dt as ie,fM as if,ro as ig,z_ as ih,na as j,II as ja,bv as jb,Jq as jc,sw as jd,_t as je,yM as jf,UU as jg,Z_ as jh,it as k,bI as ka,_m as kb,Xq as kc,gw as kd,Xp as ke,PM as kf,to as kg,Q_ as kh,pt as l,vI as la,vv as lb,Rw as ld,tc as le,gM as lf,DU as lg,p1 as lh,ab as m,qI as ma,qv as mb,lA as mc,Ew as md,sc as me,RM as mf,_U as mg,TC as mh,mn as n,AI as na,Av as nb,mA as nc,hw as nd,AE as ne,EM as nf,zU as ng,c1 as nh,sa as o,kI as oa,kv as ob,fA as oc,Sw as od,kE as oe,hM as of,Ve as og,d1 as oh,oa as p,HI as pa,wv as pb,yA as pc,Tw as pd,OE as pe,SM as pf,jU as pg,ib as q,KI as qa,Ov as qb,PA as qc,xw as qd,qc as qe,TM as qf,WU as qg,aa as r,GI as ra,Lv as rb,gA as rc,Cw as rd,Oc as re,xM as rf,NU as rg,pb as s,$I as sa,Fv as sb,LA as sc,Mw as sd,Fc as se,HU as sg,ia as t,VI as ta,Bv as tb,FA as tc,Uw as td,Mc as te,KU as tg,cb as u,YI as ua,Mv as ub,BA as uc,mP as ud,vh as ue,GU as ug,pa as v,Uv as vb,MA as vc,Mn as vd,qh as ve,$U as vg,db as w,Dv as wb,UA as wc,$w as wd,Ah as we,zd as wg,ca as x,Yv as xb,DA as xc,Vw as xd,kh as xe,ub as y,Zv as yb,_A as yc,Ct as yd,wh as ye,fn as z,Rb as za,pq as zb,zA as zc,Yw as zd,Wh as ze,dd as zf};//# sourceMappingURL=chunk-MY66WYAN.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-MY66WYAN.js.map
|