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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/viem.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { PrivateKey } from '@polymarket/types';
2
2
  import { Chain, Transport, WalletClient } from 'viem';
3
- import { S as Signer } from './types-CGoPQTmJ.js';
3
+ import { S as Signer } from './types-B0vr72h4.js';
4
4
  import '@polymarket/bindings';
5
5
  import '@polymarket/bindings/gamma';
6
6
  import '@polymarket/bindings/relayer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polymarket/client",
3
- "version": "0.1.0-beta.13",
3
+ "version": "0.1.0-beta.14",
4
4
  "description": "The Polymarket TypeScript client",
5
5
  "repository": {
6
6
  "type": "git",
@@ -93,7 +93,7 @@
93
93
  "ky": "^1.14.3",
94
94
  "ox": "^0.14.16",
95
95
  "zod": "^4.3.6",
96
- "@polymarket/bindings": "0.1.0-beta.11",
96
+ "@polymarket/bindings": "0.1.0-beta.12",
97
97
  "@polymarket/types": "0.1.0-beta.4"
98
98
  },
99
99
  "publishConfig": {
@@ -1,2 +0,0 @@
1
- import {k,e,d,j,c,b,a,f,g as g$1,h,i}from'./chunk-E2CLUN5M.js';import {PaginationCursorSchema,TransactionIdSchema,EvmAddressSchema,BuilderCodeSchema,TokenIdSchema,CtfConditionIdSchema,OrderSideSchema,CommentParentEntityTypeSchema,EventIdSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,PositionIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,ComboConditionIdSchema,MarketIdSchema,toDecimalString,toComboConditionId,toPositionId,toPaginationCursor}from'@polymarket/bindings';import {AssetTypeSchema,PriceHistoryIntervalSchema,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,PriceHistorySchema,PaginatedCurrentRewardsSchema,PaginatedMarketRewardsSchema,CancelOrdersResponseSchema,OrderResponseSchema,OrderResponsesSchema}from'@polymarket/bindings/clob';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,PolymarketError,expectHexString,isSameEvmAddress,never,unwrap,invariant,delay,expectEvmSignature,ZERO_ADDRESS,expectErc1271Signature,ResultAsync,setNonBlockingInterval,setNonBlockingTimeout,expectPresent,expectPrivateKey,isPresent,ok,err}from'@polymarket/types';import {z}from'zod';import {WalletType,SeriesIdSchema,MarketClarificationState,ListCommentsResponseSchema,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 Qt from'ky';import {SideSchema,ActivityTypeSchema,TimePeriodSchema,LeaderboardOrderBySchema,LeaderboardCategorySchema,ComboPositionStatusSchema,ListTradesResponseSchema,ListActivityResponseSchema,FetchEventLiveVolumeResponseSchema,ListBuilderLeaderboardResponseSchema,ListBuilderVolumeResponseSchema,ListTraderLeaderboardResponseSchema,ListMarketHoldersResponseSchema,ListOpenInterestResponseSchema,ListMarketPositionsResponseSchema,ListPositionsResponseSchema,ListClosedPositionsResponseSchema,ListComboPositionsResponseSchema,FetchPortfolioValueResponseSchema,TradedSchema}from'@polymarket/bindings/data';export{ComboPositionStatus as _d}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema}from'@polymarket/bindings/relayer';import {ListComboMarketsResponseSchema}from'@polymarket/bindings/rfq';export{RfqConfirmationDecision as Pe,RfqDirection as Qe,RfqErrorCode as Re,RfqExecutionStatus as Se,RfqRequestedSizeUnit as Te,RfqSide as Ue}from'@polymarket/bindings/rfq';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsPostOrderAckSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelOrderResultSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,PerpsCancelAllOrdersResponseSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsCreateProxyResponseSchema,PerpsCredentialsResponseSchema}from'@polymarket/bindings/perps';import {encode}from'@msgpack/msgpack';import {PerpsSessionUpdateEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import Qf from'it-merge';function l(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var v=z.number().int().positive(),Zt=z.object({offset:z.number().int().min(0),pageSize:v});function x(e,r,t=[]){function o(){return {async firstPage(){return {items:t,hasMore:false}},from(){return o()},async*[Symbol.asyncIterator](){}}}function n(s=r){return {firstPage(){return unwrap(e(s))},from(a){return a===void 0?o():n(a)},async*[Symbol.asyncIterator](){let a=s;for(;;){let f=await unwrap(e(a));if(yield f,!f.hasMore)return;a=f.nextCursor;}}}}return n()}function F(e){return toPaginationCursor(btoa(JSON.stringify(Zt.parse(e))))}function B(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return Zt.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid pagination cursor",{cause:t})}}function y(e){return function(t){return ResultAsync.fromPromise(t.json(),()=>new b(`Received non-JSON response from ${t.url}`)).andThen(o=>La(t.url,e,o))}}function Jt(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function La(e,r,t){let o=r.safeParse(t);return o.success?ok(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var Xt=class{#e;constructor({url:r}){this.#e=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 d(`JSON-RPC eth_call failed: ${t.error.message}`,{cause:t.error,status:200});if(typeof t.result!="string")throw new b("Expected JSON-RPC eth_call result to be a hex string");if(!ao(t.result))throw new b("Expected JSON-RPC eth_call result to be a hex string");return t.result}async ethCallBatch(r){return r.length===0?[]:this.#r(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=to(r.gasPrice)),r.value!==void 0&&(t.value=to(r.value));let o=await this.#o({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[t]});if("error"in o)throw new d(`JSON-RPC eth_estimateGas failed: ${o.error.message}`,{cause:o.error,status:200});return BigInt(ro(o.result,"eth_estimateGas"))}async#r(r){if(r.length===1)return [await this.ethCall(r[0])];try{return await this.#t(r)}catch(t){if(!(t instanceof d)||t.status<500)throw t;let o=Math.ceil(r.length/2),[n,s]=await Promise.all([this.#r(r.slice(0,o)),this.#r(r.slice(o))]);return [...n,...s]}}async#t(r){let t=await this.#n(r.map((n,s)=>({jsonrpc:"2.0",id:s+1,method:"eth_call",params:[{to:n.to,data:n.data},"latest"]}))),o=new Map;for(let n of t){if("error"in n&&n.id===null)throw new d(`JSON-RPC eth_call failed: ${n.error.message}`,{cause:n.error,status:200});n.id!==null&&o.set(n.id,n);}return r.map((n,s)=>{let a=s+1,f=o.get(a);if(f===void 0)throw new b("Expected JSON-RPC batch response for every request");if("error"in f)throw new d(`JSON-RPC eth_call failed: ${f.error.message}`,{cause:f.error,status:200});return ro(f.result)})}async#o(r){let t;try{t=await Qt.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new d(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!eo(o))throw new b("Unexpected JSON-RPC response shape");return o}async#n(r){let t;try{t=await Qt.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new d(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!Array.isArray(o)||!o.every(n=>eo(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function oo(e){if(!(e instanceof d)||!no(e.cause))return false;let r=[e.cause.message,Ma(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 eo(e){return !so(e)||e.jsonrpc!=="2.0"?false:"error"in e?no(e.error):"result"in e}function no(e){return so(e)&&typeof e.code=="number"&&typeof e.message=="string"}function so(e){return typeof e=="object"&&e!==null}function ao(e){return /^0x[a-fA-F0-9]*$/.test(e)}function ro(e,r="eth_call"){if(typeof e!="string"||!ao(e))throw new b(`Expected JSON-RPC ${r} result to be a hex string`);return e}function to(e){return `0x${e.toString(16)}`}function Ma(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}function MP(e,r,t){return {signer:r,wallet:t,walletType:Xa(e,r,t)}}function ce(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 io(e){let r=ce(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}var Ba="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function Ua(e){let r=Ba.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function Da(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Ua(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function za(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var ja="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Wa="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",Ha=0x61003d3d8160233d3973n;function po(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),o=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Va(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var _a="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",Na="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",Ga="0x60195155f3363d3d373d3d363d602036600436635c60da",Ka=0x6100523d8160233d3973n,$a="0x49493a4d";function co(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),o=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Za(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function Va(e,r){let t=BigInt((r.length-2)/2),o=Ha+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Wa),Bytes.fromHex(ja),Bytes.fromHex(r)),{as:"Hex"}))}function Za(e,r){let t=BigInt((r.length-2)/2),o=Ka+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(Ga),Bytes.fromHex(Na),Bytes.fromHex(_a),Bytes.fromHex(r)),{as:"Hex"}))}async function Ya(e,r){try{let t=await e.ethCall({to:r,data:$a});return Qa(t)}catch(t){if(oo(t))return ZERO_ADDRESS;throw t}}async function Ja(e,r){let t=await Ya(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function uo(e,r,t){return await Ja(e,t.depositWalletFactory)?co(r,t):po(r,t)}function Qa(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Xa(e,r,t){if(isSameEvmAddress(t,r))return WalletType.EOA;let o=e.walletDerivation;if(isSameEvmAddress(t,co(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,po(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,za(r,o)))return WalletType.GNOSIS_SAFE;if(isSameEvmAddress(t,Da(r,o)))return WalletType.POLY_PROXY;never(`Wallet ${t} does not match the signer ${r} or any supported deterministic wallet address.`);}function g(e,r){if(ei(r))return ri(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(mo(s)){for(let a of s)t.append(n,Le(a));continue}t.append(n,Le(s));}}return t}function R(e={}){return {format:"snake_case",exceptions:e}}function H(e){let r=new URLSearchParams;for(let[t,o]of Object.entries(e))if(o!==void 0){if(Array.isArray(o)){r.append(t,o.map(Le).join(","));continue}r.append(t,Le(o));}return r}function ei(e){return "format"in e}function ri(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??ti(o);if(mo(n)){for(let a of n)t.append(s,Le(a));continue}t.append(s,Le(n));}return t}function mo(e){return Array.isArray(e)}function ti(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function Le(e){return String(e)}var $P=k(e,d,j,c,b);async function VP(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var fi=z.object({tokenId:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional()}).default({}),ZP=k(e,d,j,c,b,a);function YP(e,r){let{cursor:t,...o}=l(r,fi);return x(n=>e.secureClob.get("/data/orders",{params:g({...o,nextCursor:n},R({tokenId:"asset_id"}))}).andThen(y(OpenOrdersPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var Pi=z.object({orderId:z.string()}),JP=k(e,d,j,c,b,a);async function QP(e,r){let t=l(r,Pi);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var gi={after:z.string().optional(),tokenId:z.string().optional(),before:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),makerAddress:z.string().optional(),market:z.string().optional()},Ri=z.object(gi).default({}),XP=k(e,d,j,c,b,a);function eg(e,r){let{cursor:t,...o}=l(r,Ri);return x(n=>e.secureClob.get("/data/trades",{params:g({...o,nextCursor:n},R({tokenId:"asset_id"}))}).andThen(y(ClobTradesPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var rg=k(e,d,j,c,b),Ei=z.object({ids:z.array(z.string()).min(1)});async function tg(e){let r=ce(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:g({signatureType:r},R())}).andThen(y(NotificationsResponseSchema)))}var og=k(e,d,j,c,b,a);async function ng(e,r){let t=l(r,Ei),o=ce(e.account.walletType),n=g({ids:t.ids.join(","),signatureType:o},R());await unwrap(e.secureClob.del("/notifications",{params:n}));}var hi=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),sg=k(e,d,j,c,b,a);async function Gr(e,r){let t=l(r,hi),o=ce(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:g({...t,signatureType:o},R())}).andThen(y(BalanceAllowanceResponseSchema)))}var Si=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),ag=k(e,d,j,c,b,a);async function yo(e,r){let t=l(r,Si),o=ce(e.account.walletType),n=g({...t,signatureType:o},R());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),Gr(e,t)}var Ti=z.object({orderId:z.string()}),ig=k(e,d,j,c,b,a);async function pg(e,r){let t=l(r,Ti);return (await unwrap(e.secureClob.get("/order-scoring",{params:g(t,R())}).andThen(y(OrderScoringResponseSchema)))).scoring}var xi=z.object({orderIds:z.array(z.string())}),cg=k(e,d,j,c,b,a);async function dg(e,r){let o=l(r,xi).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(y(OrdersScoringResponseSchema)))}var fo=z.object({cursor:PaginationCursorSchema.optional(),date:z.string()}),ug=k(e,d,j,c,b,a);function mg(e,r){let{cursor:t,...o}=l(r,fo),n=ce(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user",{params:g({...o,nextCursor:s,signatureType:n},R())}).andThen(y(UserEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor),totalCount:a.count})),t)}var lg=k(e,d,j,c,b,a);async function yg(e,r){let t=l(r,fo),o=ce(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:g({...t,signatureType:o},R())}).andThen(y(TotalUserEarningsResponseSchema)))}var Ci=z.object({cursor:PaginationCursorSchema.optional(),date:z.string(),noCompetition:z.boolean().optional(),orderBy:z.string().optional(),pageSize:v.max(500).default(100),position:z.string().optional()}),fg=k(e,d,j,c,b,a);function Pg(e,r){let{cursor:t,...o}=l(r,Ci),n=ce(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user/markets",{params:g({...o,nextCursor:s,signatureType:n},R())}).andThen(y(UserRewardsEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor),totalCount:a.count})),t)}var gg=k(e,d,j,c,b);async function Rg(e){let r=ce(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:g({signatureType:r},R())}).andThen(y(RewardsPercentagesSchema)))}var qi=z.enum(["TIMESTAMP","TOKENS","CASH"]),vi=z.enum(["ASC","DESC"]),Oi=z.enum(["CASH","TOKENS"]),Ai=z.object({cursor:PaginationCursorSchema.optional(),pageSize:v.default(20),takerOnly:z.boolean().optional(),filterType:Oi.optional(),filterAmount:z.number().optional(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),user:z.string().optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}).refine(e=>e.filterType===void 0==(e.filterAmount===void 0),{message:"Provide filterType and filterAmount together",path:["filterAmount"]}),wi=z.object({cursor:PaginationCursorSchema.optional(),pageSize:v.default(20),user:z.string(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),type:z.array(ActivityTypeSchema).optional(),start:z.number().int().optional(),end:z.number().int().optional(),sortBy:qi.optional(),sortDirection:vi.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),qg=k(e,d,c,b,a);function vg(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Ai);return x(s=>{let a=B(s,o);return e.data.get("/trades",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListTradesResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Og=k(e,d,c,b,a);function Ag(e,r){let{cursor:t,pageSize:o,...n}=l(r,wi);return x(s=>{let a=B(s,o);return e.data.get("/activity",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListActivityResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Mi=64,Fi=/^0x[0-9a-fA-F]{62}$/,Bi=/^0x[0-9a-fA-F]{64}$/,Kr="0x0000000000000000000000000000000000000000000000000000000000000000",Ui=AbiFunction.from("function approve(address spender, uint256 amount)"),Eo=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),Di=AbiFunction.from("function transfer(address recipient, uint256 amount)"),zi=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),ji=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),ho=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),So=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),To=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),Wi=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Hi=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),_i=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),Ni=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),Gi=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Ki=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),$i=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),Vi=AbiFunction.from("function multiSend(bytes)"),Zi=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),xo=[1n,2n],Yi=[1n,2n],Y=(1n<<256n)-1n,Bg=k(a);function mr(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>Y)throw new a("Approval amount exceeds uint256 range");return {data:Ji(r,t),to:e}}function Co(e,r,t){return {data:AbiFunction.encodeData(Eo,[r,t]),to:e}}function bo(e){return AbiFunction.decodeResult(Eo,e)}function lr(e,r,t){return {data:Qi(r,t),to:e}}function Io(e,r,t){return {data:AbiFunction.encodeData(ho,[r,t]),to:e}}function ko(e){return AbiFunction.decodeResult(ho,e)}function qo(e,r,t){return {data:AbiFunction.encodeData(So,[r,ge(BigInt(t),"Position ID")]),to:e}}function vo(e){return AbiFunction.decodeResult(So,e)}function $r(e,r,t){return {data:AbiFunction.encodeData(To,[t.map(()=>r),t.map(o=>ge(BigInt(o),"id"))]),to:e}}function Vr(e){return AbiFunction.decodeResult(To,e)}var Ug=k(a);function Zr(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>Y)throw new a("Transfer amount exceeds uint256 range");return {data:Xi(r,t),to:e}}var Dg=k(a);function Oo(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(zi,[r,ge(t,"Perps deposit amount"),o]),to:e}}var zg=k(a),jg=k(a);function Ao(e,r,t,o){return {data:ep(r,t,o),to:e}}var Wg=k(a);function wo(e,r,t,o){return {data:rp(r,t,o),to:e}}function Lo(e,r,t){return {data:tp(r,t),to:e}}var Hg=k(a);function Mo(e,r,t){return {data:AbiFunction.encodeData(Ni,[Jr(r),ge(t,"Split amount")]),to:e}}var _g=k(a);function Fo(e,r,t){return {data:AbiFunction.encodeData(Gi,[Jr(r),ge(t,"Merge amount")]),to:e}}var Ng=k(a);function Bo(e,r,t,o){return {data:AbiFunction.encodeData(Ki,[Jr(r),BigInt(op(t)),ge(o,"Redeem amount")]),to:e}}var Gg=k(a);function Yr(e,r){return {data:AbiFunction.encodeData($i,[r.map(t=>ge(t,"Leg position ID"))]),to:e}}function Ji(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(Ui,[e,r])}function Qi(e,r){return AbiFunction.encodeData(ji,[e,r])}function Xi(e,r){return AbiFunction.encodeData(Di,[e,r])}function ep(e,r,t){return AbiFunction.encodeData(Wi,[e,Kr,r,xo,ge(t,"Split amount")])}function rp(e,r,t){return AbiFunction.encodeData(Hi,[e,Kr,r,xo,ge(t,"Merge amount")])}function tp(e,r){return AbiFunction.encodeData(_i,[e,Kr,r,Yi])}function ge(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>Y)throw new a(`${r} exceeds uint256 range`);return e}function Jr(e){if(Fi.test(e))return e.toLowerCase();if(Bi.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,Mi)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function op(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function Uo(e){return AbiFunction.encodeData(Zi,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function Do(e){let r=e.map(t=>np(t));return AbiFunction.encodeData(Vi,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function np(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 Zg=k(e,d,f,g$1,c,b,a);function N(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}k(h,j);k(h,j);function eR(e){return async function(t){let o=await t.next();for(;!o.done;)try{switch(o.value.kind){case "requestAddress":o=await t.next(await e.getAddress());break;case "signAuthMessage":o=await t.next(await e.signTypedData(o.value.payload));break}}catch(n){o=await t.throw(n);}return o.value}}function _(e){return async function(t){let o=await t.next();for(;!o.done;)try{switch(o.value.kind){case "requestAddress":o=await t.next(await e.getAddress());break;case "signGaslessTypedData":case "signOrder":o=await t.next(await e.signTypedData(o.value.payload));break;case "signGaslessMessage":o=await t.next(await e.signMessage(o.value.payload));break;case "sendErc20ApprovalTransaction":case "sendErc1155ApprovalForAllTransaction":case "sendErc20TransferTransaction":case "sendPerpsDepositTransaction":case "sendMergePositionsTransaction":case "sendRedeemPositionsTransaction":case "sendSplitPositionTransaction":o=await t.next(await e.sendTransaction(o.value.request));break}}catch(n){o=await t.throw(n);}return o.value}}function zo(){return {kind:"requestAddress"}}function G(e,r){return {chainId:e,...r}}var gp=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Rp=[{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"}],Ep="DepositWallet",hp="1",Sp=600,Tp=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],xp=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],Cp=z.object({address:z.string(),type:z.enum(RelayerTransactionType)}),fR=k(e,d,c,b,a);async function tt(e,r){let t=l(r,Cp);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:g(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var bp=z.object({transactionId:TransactionIdSchema}),Ip=z.object({wallet:EvmAddressSchema,type:z.enum(WalletType)}),PR=k(e,d,c,b,a);async function gR(e,r){let t=await kp(e,r);return t.type===WalletType.EOA?false:unwrap(e.relayer.get("/deployed",{params:g({address:t.wallet,type:t.type===WalletType.DEPOSIT_WALLET?RelayerTransactionType.WALLET:void 0},{address:"address",type:"type"})}).andThen(y(RelayerDeployedResponseSchema)).map(({deployed:o})=>o))}async function kp(e,r){if(r!==void 0)return l(r,Ip);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 uo(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var K=z.string().max(500),jo=10,RR=k(e,d,c,b,a);async function ER(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),Pr(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function qp(e,r){let t=l(r,bp);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var vp=z.object({data:z.custom(isHexString),to:EvmAddressSchema,value:z.bigint().optional()}),Op=z.object({calls:z.array(vp).min(1).transform(e=>expectNonEmptyArray(e)),metadata:K}),hR=k(e,d,c,b,a);async function J(e,r){let t=l(r,Op);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 o=expectEvmAddress(yield zo());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=jo;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*Ap(e,t);case WalletType.DEPOSIT_WALLET:return yield*wp(e,t);case WalletType.GNOSIS_SAFE:return yield*Lp(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!Mp(s)||n===jo)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*Ap(e,r){let t=await tt(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),o=e.environment.walletDerivation.proxyFactory,n=Uo(r.calls),s="0",a="0",f=(await e.rpc.ethEstimateGas({data:n,from:e.account.signer,to:o})).toString(),P=e.environment.contracts.relayHub,L=t.address,q=Wp(e.account.signer,o,n,s,a,f,t.nonce,P,L),V=expectEvmSignature(yield _o(q));return Pr(e,{data:n,from:e.account.signer,metadata:r.metadata,nonce:t.nonce,proxyWallet:e.account.wallet,signature:V,signatureParams:{gasLimit:f,gasPrice:a,relay:L,relayHub:P,relayerFee:s},to:o,type:RelayerTransactionType.PROXY})}async function*wp(e,r){let t=await tt(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),o=r.calls.map(Fp),n=`${Math.floor(Date.now()/1e3)+Sp}`,s=expectEvmSignature(yield jp(Bp({calls:o,chainId:e.environment.chainId,deadline:n,nonce:t.nonce,wallet:e.account.wallet}))),a={depositWalletParams:{calls:o,deadline:n,depositWallet:e.account.wallet},from:e.account.signer,metadata:r.metadata,nonce:t.nonce,signature:s,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET};return Pr(e,a)}async function*Lp(e,r){let t=await tt(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),o=Up(r.calls,e.environment.contracts.safeMultisend),n=zp({chainId:e.environment.chainId,data:o.data,nonce:t.nonce,operation:o.operation,safeAddress:e.account.wallet,to:o.to,value:o.value}),s=expectEvmSignature(yield _o(expectHexString(TypedData.getSignPayload(n))));return Pr(e,{data:o.data,from:e.account.signer,metadata:r.metadata,nonce:t.nonce,proxyWallet:e.account.wallet,signature:Hp(s),signatureParams:Dp(o.operation),to:o.to,type:RelayerTransactionType.SAFE,value:o.value>0n?`${o.value}`:void 0})}async function Pr(e,r){let t=l(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new Xr(e,o)}function Mp(e$1){if(e$1 instanceof e)return true;if(!(e$1 instanceof d)||e$1.status!==400)return false;if(/wallet busy/i.test(e$1.message)&&/active action/i.test(e$1.message)||/wallet has in-flight action/i.test(e$1.message))return true;let r=/batch nonce\s+(\d+)\s+does not match on-chain nonce\s+(\d+)/i.exec(e$1.message);if(r===null)return false;let t=r[1],o=r[2];return t===void 0||o===void 0?false:BigInt(t)<BigInt(o)}function Fp(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function Bp(e){return {domain:{chainId:e.chainId,name:Ep,verifyingContract:e.wallet,version:hp},message:{calls:e.calls.map(r=>({data:r.data,target:r.target,value:BigInt(r.value)})),deadline:BigInt(e.deadline),nonce:BigInt(e.nonce),wallet:e.wallet},primaryType:"Batch",types:{Batch:xp,Call:Tp}}}function Up(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:Do(e),operation:1,to:r,value:0n}}function Dp(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function zp(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:gp,SafeTx:Rp}}}function _o(e){return {kind:"signGaslessMessage",payload:e}}function jp(e){return {kind:"signGaslessTypedData",payload:e}}function Wp(e,r,t,o,n,s,a,f,P){return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromString("rlx:"),Bytes.fromHex(e),Bytes.fromHex(r),Bytes.fromHex(t),Bytes.fromNumber(BigInt(o),{size:32}),Bytes.fromNumber(BigInt(n),{size:32}),Bytes.fromNumber(BigInt(s),{size:32}),Bytes.fromNumber(BigInt(a),{size:32}),Bytes.fromHex(f),Bytes.fromHex(P)),{as:"Hex"}))}function Hp(e){let r=e.slice(2),t=Number.parseInt(r.slice(128,130),16),o=t===0||t===1?t+31:t===27||t===28?t+4:t;return expectHexString(`0x${r.slice(0,128)}${o.toString(16).padStart(2,"0")}`)}var SR=k(e,d,c,b,a,f,g$1),Xr=class{#e;transactionHash;transactionId;constructor(r,t){this.#e=r,this.transactionHash=t.transactionHash,this.transactionId=t.transactionId;}async wait(){let r=0;for(;r<this.#e.environment.relayerMaxPolls;){let t=await qp(this.#e,{transactionId:this.transactionId});if(t.state===RelayerTransactionState.STATE_CONFIRMED){let o=t.transactionHash??this.transactionHash;if(o===null)throw new b("Expected submitted transaction to have a transaction hash once settled");return {transactionHash:o,transactionId:t.transactionId}}if(t.state===RelayerTransactionState.STATE_FAILED||t.state===RelayerTransactionState.STATE_INVALID)throw new g$1(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#e.environment.relayerPollFrequencyMs);}throw new f(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var _p=z.object({amount:z.union([z.bigint(),z.literal("max")]),metadata:K.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),wR=k(a);async function Np(e,r){let t=l(r,_p),o=t.amount==="max"?Y:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?N(yield Ko(G(e.environment.chainId,mr(t.tokenAddress,t.spenderAddress,o)))):yield*await J(e,{calls:[mr(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var LR=k(h,e,d,j,c,b,a);function No(e,r){return Np(e,r).then(_(e.signer))}var Gp=z.object({approved:z.boolean().default(true),metadata:K.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),MR=k(a);async function Kp(e,r){let t=l(r,Gp);return async function*(){return e.account.walletType===WalletType.EOA?N(yield $o(G(e.environment.chainId,lr(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await J(e,{calls:[lr(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var FR=k(h,e,d,j,c,b,a);function Go(e,r){return Kp(e,r).then(_(e.signer))}var BR=k(d,c,b,a);async function $p(e){let r=await Zp(e),t=r.erc20.map(n=>mr(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>lr(n.tokenAddress,n.operatorAddress,true));return async function*(){if(t.length===0&&o.length===0)return;if(e.account.walletType===WalletType.EOA){for(let s of t)await N(yield Ko(G(e.environment.chainId,s))).wait();for(let s of o)await N(yield $o(G(e.environment.chainId,s))).wait();return}await(yield*await J(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var UR=k(h,e,d,j,f,g$1,c,b,a);function DR(e){return $p(e).then(_(e.signer)).then(Vp)}function Vp(){return {transactionHash:null,transactionId:null,wait:async()=>{}}}async function Zp(e){let r=Yp(e),t=[...r.erc20.map(a=>Co(a.tokenAddress,e.account.wallet,a.spenderAddress)),...r.erc1155.map(a=>Io(a.tokenAddress,e.account.wallet,a.operatorAddress))],o=await e.rpc.ethCallBatch(t),n=o.slice(0,r.erc20.length),s=o.slice(r.erc20.length);return {erc20:r.erc20.filter((a,f)=>bo(n[f])<a.amount),erc1155:r.erc1155.filter((a,f)=>!ko(s[f]))}}function Yp(e){let{contracts:r}=e.environment;return {erc20:[{amount:Y,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.negRiskAdapter,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.collateralAdapter,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.negRiskCollateralAdapter,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.protocolV2Router,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.exchangeV3,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.perpsDepositContract,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.collateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskCollateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.conditionalTokens},{operatorAddress:r.protocolV2Router,tokenAddress:r.positionManager},{operatorAddress:r.exchangeV3,tokenAddress:r.positionManager},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.positionManager}]}}function Ko(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function $o(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var GR=k(e,d,c,b);async function ec(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:Yo(r)}).andThen(y(ApiKeyCredsSchema)))}var KR=k(e,d,c,b);async function rc(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:Yo(r)}).andThen(y(ApiKeyCredsSchema)))}var $R=k(e,d,c,b);async function VR(e,r){try{return await ec(e,r)}catch(t){if(!(t instanceof d)||t.status!==400)throw t}return rc(e,r)}var ZR=k(e,d,j,c,b);async function YR(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var JR=k(e,d,j,c,b);async function QR(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z.literal("OK"))));}var XR=k(e,d,j,c,b);async function eE(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var rE=k(e,d,j,c,b);async function tE(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var oE=k(e,d,j,c,b);async function nE(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z.literal("OK"))));}function Yo(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var ac=z.object({after:z.string().optional(),before:z.string().optional(),builderCode:BuilderCodeSchema,cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional(),tokenId:z.string().optional()}),yE=k(e,d,c,b,a);function fE(e,r){let{cursor:t,...o}=l(r,ac);return x(n=>e.clob.get("/builder/trades",{params:g({...o,nextCursor:n},R({builderCode:"builder_code",tokenId:"asset_id"}))}).andThen(y(PaginatedBuilderTradesSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var qc=z.object({tokenId:z.string()}),IE=k(e,d,c,b,a);async function kE(e,r){let t=l(r,qc);return (await unwrap(e.clob.get("/midpoint",{params:g(t,R())}).andThen(y(MidpointSchema)))).mid}var vc=z.array(z.object({tokenId:z.string()})).min(1),qE=k(e,d,c,b,a);async function vE(e,r){let t=l(r,vc);return unwrap(e.clob.post("midpoints",{json:Er(t)}).andThen(y(MidpointsSchema)))}var Oc=z.object({tokenId:z.string()}),OE=k(e,d,c,b,a);async function Ue(e,r){let t=l(r,Oc);return (await unwrap(e.clob.get("/tick-size",{params:g(t,R())}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var Ac=z.object({tokenId:z.string()}),AE=k(e,d,c,b,a);async function De(e,r){let t=l(r,Ac);return (await unwrap(e.clob.get("/neg-risk",{params:g(t,R())}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var wc=z.object({tokenId:TokenIdSchema}),wE=k(e,d,c,b,a);async function tn(e,r){let t=l(r,wc);return unwrap(e.clob.get(`/markets-by-token/${t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var Lc=z.object({conditionId:CtfConditionIdSchema}),LE=k(e,d,c,b,a);async function on(e,r){let t=l(r,Lc);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var Mc=z.object({builderCode:BuilderCodeSchema}),ME=k(e,d,c,b,a);async function nn(e,r){let t=l(r,Mc);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(y(FetchBuilderFeeRatesResponseSchema)).mapErr(o=>o instanceof d&&o.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:o}):o))}var Fc=z.object({tokenId:z.string(),side:OrderSideSchema}),FE=k(e,d,c,b,a);async function BE(e,r){let t=l(r,Fc);return (await unwrap(e.clob.get("/price",{params:g(t,R())}).andThen(y(PriceSchema)))).price}var Bc=z.array(z.object({tokenId:z.string(),side:OrderSideSchema})).min(1),UE=k(e,d,c,b,a);async function DE(e,r){let t=l(r,Bc);return unwrap(e.clob.post("prices",{json:Kc(t)}).andThen(y(PricesSchema)))}var Uc=z.object({tokenId:z.string()}),zE=k(e,d,c,b,a);async function sn(e,r){let t=l(r,Uc);return unwrap(e.clob.get("/book",{params:g(t,R())}).andThen(y(FetchOrderBookResponseSchema)))}var Dc=z.array(z.object({tokenId:z.string()})).min(1),jE=k(e,d,c,b,a);async function WE(e,r){let t=l(r,Dc);return unwrap(e.clob.post("books",{json:Er(t)}).andThen(y(OrderBooksSchema)))}var zc=z.object({tokenId:z.string()}),HE=k(e,d,c,b,a);async function _E(e,r){let t=l(r,zc);return (await unwrap(e.clob.get("/spread",{params:g(t,R())}).andThen(y(SpreadSchema)))).spread}var jc=z.array(z.object({tokenId:z.string()})).min(1),NE=k(e,d,c,b,a);async function GE(e,r){let t=l(r,jc);return unwrap(e.clob.post("spreads",{json:Er(t)}).andThen(y(SpreadsSchema)))}var Wc=z.object({tokenId:z.string()}),KE=k(e,d,c,b,a);async function $E(e,r){let t=l(r,Wc);return unwrap(e.clob.get("/last-trade-price",{params:g(t,R())}).andThen(y(LastTradePriceSchema)))}var Hc=z.array(z.object({tokenId:z.string()})).min(1),VE=k(e,d,c,b,a);async function ZE(e,r){let t=l(r,Hc);return unwrap(e.clob.post("last-trades-prices",{json:Er(t)}).andThen(y(LastTradePricesSchema)))}var _c=z.object({tokenId:z.string(),startTs:z.number().int().optional(),endTs:z.number().int().optional(),fidelity:z.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),YE=k(e,d,c,b,a);async function JE(e,r){let t=l(r,_c);return (await unwrap(e.clob.get("/prices-history",{params:g(t,{tokenId:"market",startTs:"startTs",endTs:"endTs",fidelity:"fidelity",interval:"interval"})}).andThen(y(PriceHistorySchema)))).history}var Nc=z.object({cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}).default({}),QE=k(e,d,c,b,a);function XE(e,r={}){let{cursor:t,...o}=l(r,Nc);return x(n=>e.clob.get("/rewards/markets/current",{params:g({...o,nextCursor:n},R())}).andThen(y(PaginatedCurrentRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var Gc=z.object({conditionId:CtfConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}),eh=k(e,d,c,b,a);function rh(e,r){let{cursor:t,...o}=l(r,Gc);return x(n=>e.clob.get(`rewards/markets/${o.conditionId}`,{params:g({nextCursor:n,sponsored:o.sponsored},R())}).andThen(y(PaginatedMarketRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}function Er(e){return e.map(({tokenId:r})=>({token_id:r}))}function Kc(e){return e.map(({tokenId:r,side:t})=>({token_id:r,side:t}))}var Qc=z.object({ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:v.default(20),getPositions:z.boolean().optional(),holdersOnly:z.boolean().optional(),order:z.string().optional(),parentEntityId:z.union([EventIdSchema,SeriesIdSchema]),parentEntityType:CommentParentEntityTypeSchema}),Xc=z.object({getPositions:z.boolean().optional(),id:CommentIdSchema}),ed=z.object({address:z.string(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z.string().optional(),pageSize:v.default(20)}),mh=k(e,d,c,b,a);function lh(e,r){let{cursor:t,pageSize:o,...n}=l(r,Qc);return x(s=>{let a=B(s,o);return e.gamma.get("/comments",{params:g({ascending:n.ascending,getPositions:n.getPositions,holdersOnly:n.holdersOnly,limit:a.pageSize+1,offset:a.offset,order:n.order,parentEntityId:n.parentEntityId,parentEntityType:n.parentEntityType},R())}).andThen(y(ListCommentsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var yh=k(e,d,c,b,a);async function fh(e,r){let t=l(r,Xc);return unwrap(e.gamma.get(`comments/${t.id}`,{params:g({getPositions:t.getPositions},R())}).andThen(y(ListCommentsResponseSchema)))}var Ph=k(e,d,c,b,a);function gh(e,r){let{address:t,cursor:o,pageSize:n,...s}=l(r,ed);return x(a=>{let f=B(a,n);return e.gamma.get(`comments/user_address/${t}`,{params:g({ascending:s.ascending,limit:f.pageSize+1,offset:f.offset,order:s.order},R())}).andThen(y(ListCommentsResponseSchema)).map(P=>{let L=P.length>f.pageSize;return {items:P.slice(0,f.pageSize),hasMore:L,nextCursor:L?F({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}function hr(e,r){let t;try{t=new URL(e);}catch(f){throw new a("Expected a valid Polymarket URL.",{cause:f})}if(t.protocol!=="https:"||t.hostname!=="polymarket.com"&&t.hostname!=="www.polymarket.com")throw new a("Expected a valid Polymarket URL.");let[o,n,...s]=t.pathname.split("/").filter(Boolean),a$1=s[0];if(r==="market"&&o==="event"&&n!==void 0&&s.length<=1)return a$1??n;if(o!==r||n===void 0||s.length>0)throw new a(`Expected a Polymarket ${r} URL.`);return n}var ad=z.object({ascending:z.boolean().optional(),closed:z.boolean().default(false),cursor:PaginationCursorSchema.optional(),pageSize:v.optional(),cyom:z.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),ended:z.boolean().optional(),eventDate:IsoCalendarDateStringSchema.optional(),eventWeek:z.number().int().optional(),excludeTagIds:z.array(z.number().int()).optional(),featured:z.boolean().optional(),featuredOrder:z.boolean().optional(),gameIds:z.array(z.number().int()).optional(),ids:z.array(z.number().int()).optional(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeChildren:z.boolean().optional(),includeTemplate:z.boolean().optional(),liquidityMax:z.number().optional(),liquidityMin:z.number().optional(),live:z.boolean().optional(),locale:z.string().optional(),order:z.string().optional(),parentEventId:z.number().int().optional(),partnerSlug:z.string().optional(),recurrence:z.enum(["daily","weekly","monthly"]).optional(),relatedTags:z.boolean().optional(),seriesIds:z.array(z.number().int()).optional(),slug:z.array(z.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),startTimeMax:IsoDateTimeStringSchema.optional(),startTimeMin:IsoDateTimeStringSchema.optional(),tagIds:z.array(z.number().int()).optional(),tagMatch:z.enum(["any","all"]).optional(),tagSlug:z.string().optional(),titleSearch:z.string().optional(),volumeMax:z.number().optional(),volumeMin:z.number().optional()}),id=z.union([z.object({id:z.string(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({url:z.string(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeTemplate:z.boolean().optional(),locale:z.string().optional()})]),pd=z.object({id:z.string()}),cd=z.object({id:z.string()}),wh=k(e,d,c,b,a);function Lh(e,r={}){let t=l(r,ad);return x(o=>e.gamma.get("/events/keyset",{params:dd({...t,cursor:o??t.cursor})}).andThen(y(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Mh=k(e,d,c,b,a);async function Fh(e,r){let t=l(r,id);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:ud(t)}).andThen(y(EventSchema)));let o="url"in t?hr(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:md(t)}).andThen(y(EventSchema)))}var Bh=k(e,d,c,b,a);async function Uh(e,r){let t=l(r,pd);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var Dh=k(e,d,c,b,a);async function zh(e,r){let t=l(r,cd);return unwrap(e.data.get("/live-volume",{params:H(t)}).andThen(y(FetchEventLiveVolumeResponseSchema)))}function dd(e){return g(e,R({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function ud(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},R())}function md(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},R())}var Ed=z.object({cursor:PaginationCursorSchema.optional(),pageSize:v.default(20),timePeriod:TimePeriodSchema.optional()}),hd=z.object({timePeriod:TimePeriodSchema.optional()}),Sd=z.object({category:LeaderboardCategorySchema.optional(),cursor:PaginationCursorSchema.optional(),pageSize:v.default(20),timePeriod:TimePeriodSchema.optional(),orderBy:LeaderboardOrderBySchema.optional(),user:z.string().optional(),userName:z.string().optional()}),Yh=k(e,d,c,b,a);function Jh(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Ed);return x(s=>{let a=B(s,o);return e.data.get("/v1/builders/leaderboard",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListBuilderLeaderboardResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Qh=k(e,d,c,b,a);async function Xh(e,r={}){let t=l(r,hd);return unwrap(e.data.get("/v1/builders/volume",{params:H(t)}).andThen(y(ListBuilderVolumeResponseSchema)))}var eS=k(e,d,c,b,a);function rS(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Sd);return x(s=>{let a=B(s,o);return e.data.get("/v1/leaderboard",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListTraderLeaderboardResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Cd=z.object({marketId:z.union([z.string(),z.array(z.string())]).optional(),eventId:z.union([z.string(),z.array(z.string())]).optional(),questionId:z.union([z.string(),z.array(z.string())]).optional(),state:z.union([z.enum(MarketClarificationState),z.array(z.enum(MarketClarificationState))]).optional(),showInFrontend:z.boolean().optional(),txHash:z.string().optional(),order:z.string().optional(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:v.default(20)}),uS=k(e,d,c,b,a);function mS(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Cd);return x(s=>{let a=B(s,o);return e.gamma.get("/market-clarifications",{params:g({...n,limit:a.pageSize+1,offset:a.offset},R())}).andThen(y(ListMarketClarificationsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var wd=z.object({ascending:z.boolean().optional(),closed:z.boolean().optional(),clobTokenIds:z.array(z.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:v.optional(),conditionIds:z.array(CtfConditionIdSchema).optional(),cyom:z.boolean().optional(),decimalized:z.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),gameId:z.string().optional(),ids:z.array(z.number().int()).optional(),includeTag:z.boolean().optional(),liquidityNumMax:z.number().optional(),liquidityNumMin:z.number().optional(),locale:z.string().optional(),marketMakerAddresses:z.array(z.string()).optional(),order:z.string().optional(),positionIds:z.array(PositionIdSchema).optional(),questionIds:z.array(z.string()).optional(),relatedTags:z.boolean().optional(),rfqEnabled:z.boolean().optional(),rewardsMinSize:z.number().optional(),slug:z.array(z.string()).optional(),sportsMarketTypes:z.array(z.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),tagId:z.number().int().optional(),tagMatch:z.enum(["any","all"]).optional(),umaResolutionStatus:z.string().optional(),volumeNumMax:z.number().optional(),volumeNumMin:z.number().optional()}),Ld=z.object({id:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Md=z.object({slug:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Fd=z.object({url:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Bd=z.union([Ld,Md,Fd]),Ud=z.object({id:z.string()}),Dd=z.object({limit:z.number().int().optional(),market:z.array(z.string()),minBalance:z.number().int().optional()}),zd=z.object({market:z.array(z.string()).optional()}),jd=z.enum(["OPEN","CLOSED","ALL"]),Wd=z.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),Hd=z.enum(["ASC","DESC"]),_d=z.object({cursor:PaginationCursorSchema.optional(),market:z.string(),pageSize:v.default(20),user:z.string().optional(),status:jd.optional(),sortBy:Wd.optional(),sortDirection:Hd.optional()}),IS=k(e,d,c,b,a);function yn(e,r={}){let t=l(r,wd);return x(o=>e.gamma.get("/markets/keyset",{params:Gd({...t,cursor:o??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Nd=z.object({cursor:PaginationCursorSchema.optional(),pageSize:v.max(100).optional(),exclude:z.array(CtfConditionIdSchema).optional()}),kS=k(e,d,c,b,a);function qS(e,r={}){let t=l(r,Nd);return x(o=>e.rfq.get("/v1/rfq/combo-markets",{params:Kd({...t,cursor:o??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var vS=k(e,d,c,b,a);async function OS(e,r){let t=l(r,Bd);return "id"in t?$d(e,t):"url"in t?un(e,{includeTag:t.includeTag,locale:t.locale,slug:hr(t.url,"market")}):un(e,t)}var AS=k(e,d,c,b,a);async function wS(e,r){let t=l(r,Ud);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var LS=k(e,d,c,b,a);async function MS(e,r){let t=l(r,Dd);return unwrap(e.data.get("/holders",{params:H(t)}).andThen(y(ListMarketHoldersResponseSchema)))}var FS=k(e,d,c,b,a);async function BS(e,r={}){let t=l(r,zd);return unwrap(e.data.get("/oi",{params:H(t)}).andThen(y(ListOpenInterestResponseSchema)))}var US=k(e,d,c,b,a);function DS(e,r){let{cursor:t,pageSize:o,...n}=l(r,_d);return x(s=>{let a=B(s,o);return e.data.get("/v1/market-positions",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListMarketPositionsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function Gd(e){return g(e,R({cursor:"after_cursor",ids:"id",marketMakerAddresses:"market_maker_address",pageSize:"limit"}))}function Kd(e){return g({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function un(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:g({includeTag:r.includeTag,locale:r.locale},R())}).andThen(y(MarketSchema)))}async function $d(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:g({includeTag:r.includeTag,locale:r.locale},R())}).andThen(y(MarketSchema)))}var Yd=z.object({orderId:z.string()}),Jd=z.object({orderIds:z.array(z.string()).min(1).max(3e3)}),Qd=z.object({tokenId:z.string().optional(),market:z.string().optional()}).refine(e=>e.market!==void 0||e.tokenId!==void 0,{message:"At least one of market or tokenId is required.",path:["market"]}),KS=k(d,e,j,c,b,a);async function $S(e,r){let t=l(r,Yd);return xr(e,"/order",{orderID:t.orderId})}var VS=k(d,e,j,c,b,a);async function ZS(e,r){let t=l(r,Jd);return xr(e,"/orders",t.orderIds)}var YS=k(d,e,j,c,b);async function JS(e){return xr(e,"/cancel-all")}var QS=k(d,e,j,c,b,a);async function XS(e,r){let t=l(r,Qd);return xr(e,"/cancel-market-orders",{asset_id:t.tokenId,market:t.market})}async function xr(e,r,t){return unwrap(e.secureClob.del(r,{json:t}).andThen(y(CancelOrdersResponseSchema)))}var Pn=z.object({tokenId:z.string(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FOK)}),eu=z.discriminatedUnion("side",[Pn.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),Pn.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema})]),iT=k(i,e,d,c,b,a);async function pT(e,r){let t=l(r,eu),o=await Ue(e,{tokenId:t.tokenId}),n=t.side===OrderSide.BUY?t.amount:t.shares;return it(e,{amount:n,orderType:t.orderType,side:t.side,tickSize:o,tokenId:t.tokenId})}async function it(e,r){let t=await sn(e,{tokenId:r.tokenId}),o=r.side===OrderSide.BUY?tu(t.asks,r.amount,r.orderType):ou(t.bids,r.amount,r.orderType);return invariant(ru(o,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),o}function ru(e,r){return e>=r&&e<=1-r}function tu(e,r,t){if(e.length===0)throw new i("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size)*Number.parseFloat(a.price),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new i("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}function ou(e,r,t){if(e.length===0)throw new i("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new i("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}var iu=z.array(z.custom()).min(1).max(15),gT=k(e,d,j,c,b),RT=k(e,d,j,c,b,a);function br(e){return async function(t){let o=hn(e,t);return unwrap(e.secureClob.post("/order",{json:o}).andThen(y(OrderResponseSchema)))}}function ET(e){return async function(t){let n=l(t,iu).map(s=>hn(e,s));return unwrap(e.secureClob.post("/orders",{json:n}).andThen(y(OrderResponsesSchema)))}}function hn(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.parseInt(r.salt,10),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 je(e){switch(e){case .1:return {amount:3,price:1,size:2};case .01:return {amount:4,price:2,size:2};case .005:return {amount:5,price:3,size:2};case .0025:return {amount:6,price:4,size:2};case .001:return {amount:5,price:3,size:2};case 1e-4:return {amount:6,price:4,size:2}}invariant(false,`Unsupported tick size: ${e}`);}function We(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}function ue(e){return BigInt(Math.round(e*10**6))}function me(e,r){return Q(e)<=r?e:Math.floor(e*10**r)/10**r}function be(e,r){return Q(e)<=r?e:Math.ceil(e*10**r)/10**r}function pt(e,r){return Q(e)<=r?e:Math.round(e*10**r)/10**r}function Q(e){if(typeof e=="number"&&Number.isInteger(e))return 0;let[r="",t]=e.toString().toLowerCase().split("e"),[,o=""]=r.split("."),n=o.length;if(t===void 0)return n;let s=Number.parseInt(t,10);return Math.max(0,n-s)}var lu=180,xn=z.strictObject({tokenId:TokenIdSchema,price:PositiveDecimalNumberSchema,size:PositiveDecimalNumberSchema,side:OrderSideSchema,builderCode:BuilderCodeSchema.optional(),postOnly:z.boolean().default(false),expiration:z.number().int().nonnegative().optional()}).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+lu;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}});async function Cn(e,r){let t=await yu(e,{price:r.price,tokenId:r.tokenId}),o=fu({price:t.price,side:r.side,size:r.size,tickSize:t.tickSize});return {builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:r.expiration??0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount,tokenId:r.tokenId}}async function yu(e,r){let t=e.account,o=await Ue(e,{tokenId:r.tokenId}),n=await De(e,{tokenId:r.tokenId});return {exchangeAddress:We(e,n),funderAddress:t.wallet,negRisk:n,price:Pu(r.price,o),signerAddress:t.signer,tickSize:o}}function fu(e){let r=je(e.tickSize),t=pt(e.price,r.price);if(e.side===OrderSide.BUY){let s=me(e.size,r.size),a=s*t;return Q(a)>r.amount&&(a=be(a,r.amount+4),Q(a)>r.amount&&(a=me(a,r.amount))),{offeredAmount:ue(a),requestedAmount:ue(s)}}let o=me(e.size,r.size),n=o*t;return Q(n)>r.amount&&(n=be(n,r.amount+4),Q(n)>r.amount&&(n=me(n,r.amount))),{offeredAmount:ue(o),requestedAmount:ue(n)}}function Pu(e,r){let t=je(r);if(e<r||e>1-r)throw new a(`Price must be between ${r} and ${1-r} for tick size ${r}.`);if(Q(e)>t.price)throw new a(`Price must conform to tick size ${r} with at most ${t.price} decimal places.`);return pt(e,t.price)}var bn=z.object({tokenId:TokenIdSchema,builderCode:BuilderCodeSchema.optional(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FAK)}),kn=z.discriminatedUnion("side",[bn.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),bn.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()})]);async function qn(e,r){let t=await Eu(e,r),o=Tu({amount:t.resolvedAmount,price:t.price,protectPrice:Su(r),side:r.side,tickSize:t.tickSize});return {builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.orderType,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount,tokenId:r.tokenId}}async function Eu(e,r){let t=e.account,o=await Ue(e,{tokenId:r.tokenId}),n=r.side===OrderSide.BUY?r.amount:r.shares,s=await hu(e,r,n,o),a=await De(e,{tokenId:r.tokenId}),f=await xu(e,{amount:n,builderCode:r.builderCode,maxSpend:r.side===OrderSide.BUY?r.maxSpend:void 0,price:s,side:r.side,tokenId:r.tokenId});return {exchangeAddress:We(e,a),funderAddress:t.wallet,negRisk:a,price:s,resolvedAmount:f,signerAddress:t.signer,tickSize:o}}async function hu(e,r,t,o){return r.side===OrderSide.BUY&&r.maxPrice!==void 0?In(r.maxPrice,o,"maxPrice"):r.side===OrderSide.SELL&&r.minPrice!==void 0?In(r.minPrice,o,"minPrice"):it(e,{amount:t,orderType:r.orderType,side:r.side,tickSize:o,tokenId:r.tokenId})}function In(e,r,t){let o=je(r);if(e<r||e>1-r)throw new a(`${t} must be between ${r} and ${1-r} for tick size ${r}.`);if(Q(e)>o.price)throw new a(`${t} must conform to tick size ${r} with at most ${o.price} decimal places.`);return e}function Su(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}function Tu(e){let r=je(e.tickSize),t=me(e.price,r.price),o=me(e.amount,r.size);if(e.side===OrderSide.BUY){let s=o/t;return Q(s)>r.amount&&(s=be(s,r.amount+4),Q(s)>r.amount&&(s=e.protectPrice?be(s,r.amount):me(s,r.amount))),{offeredAmount:ue(o),requestedAmount:ue(s)}}let n=o*t;return Q(n)>r.amount&&(n=be(n,r.amount+4),Q(n)>r.amount&&(n=e.protectPrice?be(n,r.amount):me(n,r.amount))),{offeredAmount:ue(o),requestedAmount:ue(n)}}async function xu(e,r){if(r.side!==OrderSide.BUY||r.maxSpend===void 0)return r.amount;let[t,o]=await Promise.all([Cu(e,r.tokenId),bu(e,r.builderCode)]);return Iu({amount:r.amount,builderTakerFeeRate:o,platformFeeExponent:t.exponent,platformFeeRate:t.rate,maxSpend:r.maxSpend,price:r.price})}async function Cu(e,r){let t=await tn(e,{tokenId:r});return (await on(e,{conditionId:t})).feeInfo}async function bu(e,r){return r===void 0?0:(await nn(e,{builderCode:r})).taker}function Iu(e){let r=e.platformFeeRate*(e.price*(1-e.price))**e.platformFeeExponent,t=e.amount/e.price*r,o=e.amount+t+e.amount*e.builderTakerFeeRate;return e.maxSpend<=o?e.maxSpend/(1+r/e.price+e.builderTakerFeeRate):e.amount}var vn="0x0000000000000000000000000000000000000000000000000000000000000000";function ut(e,r){let t=io(r);return {builder:e.builderCode??vn,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:vn,orderType:e.orderType,salt:ku().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.tokenId}}function mt(e,r){let{chainId:t,exchangeAddress:o,...n}=e;return {...n,signature:r}}function ku(){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}var wn="Polymarket CTF Exchange",Ou="DepositWallet",Au="1",lt="0x0000000000000000000000000000000000000000000000000000000000000000",yt="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",wu=Hash.keccak256(Bytes.fromString(yt),{as:"Hex"}),Lu=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),Mu=Hash.keccak256(Bytes.fromString(wn),{as:"Hex"}),Fu=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Ln=[{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"}],Bu=[{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 Mn(e){let r=Uu(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:Un(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:Ou,salt:lt,verifyingContract:e.order.signer,version:Au},primaryType:"TypedDataSign",types:{Order:Ln,TypedDataSign:Bu}}}function Fn(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(yt)),t=yt.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${Du(e.domain).slice(2)}${zu(e.order).slice(2)}${r.slice(2)}${t}`)}function Bn(e){return {builder:e.builder??lt,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??lt,salt:BigInt(e.salt),side:Wu(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function Uu(e,r){return {domain:Un(e),message:Bn(r),primaryType:"Order",types:{EIP712Domain:Fu,Order:Ln}}}function Un(e){return {chainId:e.chainId,name:wn,verifyingContract:e.exchange,version:e.protocolVersion}}function Du(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[Lu,Mu,ju(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function zu(e){let r=Bn(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"}],[wu,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 ju(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function Wu(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}function Pt(e){return Mn({domain:Dn(e),order:e})}function gt(e,r){return Fn({domain:Dn(e),order:e,signature:r})}function Dn(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:"2"}}function Rt(e){return {kind:"signOrder",payload:e}}var Hu=k(i,e,d,j,c,b,a);async function Et(e,r){let t=l(r,kn);return async function*(){let o=await qn(e,t),n=ut(o,e.account),s=expectEvmSignature(yield Rt(Pt(n)));return mt(n,gt(n,s))}.call(null)}var _u=k(e,d,j,c,b,a);async function ht(e,r){let t=l(r,xn);return async function*(){let o=await Cn(e,t),n=ut(o,e.account),s=expectEvmSignature(yield Rt(Pt(n))),a=mt(n,gt(n,s));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var sx=Hu;async function ax(e,r){return jn(e,Et(e,r))}var ix=_u;async function px(e,r){return jn(e,ht(e,r))}async function jn(e,r){let t=await r;return async function*(){let o=yield*t;return br(e)(o)}.call(null)}async function _n(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await Gr(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,tokenId:r.tokenId});return Gu(o,r.spenderAddress)}function Gu(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var Ix=k(h,i,e,d,j,c,b,a);function Ku(e,r){return Et(e,r).then(_(e.signer))}var kx=k(h,i,e,d,j,f,g$1,c,b,a);function qx(e,r){return Ku(e,r).then(t=>Gn(e,t))}var vx=k(h,e,d,j,c,b,a);function $u(e,r){return ht(e,r).then(_(e.signer))}var Ox=k(h,e,d,j,f,g$1,c,b,a);function Ax(e,r){return $u(e,r).then(t=>Gn(e,t))}async function Gn(e,r){let t=br(e);try{return await t(r)}catch(o){if(!Zu(o))throw o;let n=await Vu(e,r,t);if(n===void 0)throw o;return n}}async function Vu(e,r,t){return await Yu(e,r)?t(r):void 0}function Zu(e){return e instanceof d&&e.status===400&&e.message.includes("allowance is not enough")}async function Yu(e,r){let t=await De(e,{tokenId:r.tokenId}),o=We(e,t),n=BigInt(r.makerAmount);return await _n(e,{spenderAddress:o,side:r.side,tokenId:r.tokenId})>=n?false:(await(r.side===OrderSide.BUY?await No(e,{amount:"max",spenderAddress:o,tokenAddress:e.environment.contracts.collateralToken}):await Go(e,{operatorAddress:o,tokenAddress:e.environment.contracts.conditionalTokens})).wait(),await yo(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?r.tokenId:void 0}),true)}function Kn(e){let r=TypedData.getSignPayload(Tt(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function Tt(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode($n(e.op)),{as:"Hex"}),salt:BigInt(e.salt),ts:BigInt(e.timestamp)},primaryType:"Op",types:{Op:[{name:"data",type:"bytes32"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function $n(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map($n):e}var Ir=class{#e;#r;#t;constructor({root:r,headers:t,resolveHeaders:o}){this.#e=Qt.create({prefixUrl:r,throwHttpErrors:false}),this.#r=t,this.#t=o;}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)}#o(r){return r.startsWith("/")?r.slice(1):r}#n(r,t,o){return this.#a(this.#c(r,t,o))}async#c(r,t,o){let n=this.#i(r,t,o),s=await this.#t?.(n),a=this.#p(this.#r,n.headers,s);return n.body!==void 0&&!a.has("content-type")&&a.set("content-type","application/json"),this.#e(this.#o(t),{body:n.body,headers:a,method:r,searchParams:n.params})}#i(r,t,o){return {body:"json"in o?this.#s(o.json):void 0,headers:o.headers,json:"json"in o?o.json:void 0,method:r,params:"params"in o?o.params:void 0,path:t}}#s(r){if(r!==void 0)return JSON.stringify(r)}#p(...r){let t=new Headers;for(let o of r)if(o!==void 0)for(let[n,s]of new Headers(o).entries())t.set(n,s);return t}#a(r){return ResultAsync.fromPromise(r.then(async t=>{if(t.ok)return t;if(t.status===429)throw new e(`Request to ${t.url} was rate limited`);let o=await this.#d(t);throw new d(o,{status:t.status})}),t=>t instanceof e||t instanceof d?t:c.fromError(t))}async#d(r){let t=r.headers.get("content-type")?.toLowerCase();if(t?.includes("application/json")){let{error:n}=await r.clone().json().catch(()=>({}));if(n)return `${String(n)} (${r.url})`}if(t?.includes("text/plain")){let n=await r.clone().text().then(s=>s.trim(),()=>"");if(n)return `${n} (${r.url})`}return r.headers.get("server")?.toLowerCase()?.includes("cloudflare")?`Request to ${r.url} was blocked by Cloudflare with status ${r.status}`:t?.includes("text/html")||t?.includes("application/xhtml+xml")?`Request to ${r.url} failed with status ${r.status} and an unexpected HTML response body`:`Request to ${r.url} failed with status ${r.status} and unreadable response body`}};var sm=1e4,am=3e4,im=5e3,pm=10*6e4,cm=3e4,dm=25e3,um=65e3,Vn=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},sm);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>am}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Zn=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},im);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>pm}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Yn=class{#e=0;#r;start(r){this.#e=Date.now(),this.#r=r;}stop(){this.#r=void 0;}handleMessage(r){return r!=="ping"?false:(this.#e=Date.now(),this.#r?.("pong"),true)}isStale(r){return r-this.#e>cm}},kr=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r(JSON.stringify({id:0,req:"post",op:{type:"ping"}}));},dm);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>um}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var ym=5e3,fm=250,Pm=3e4,qr=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=Rm(this.#r,{baseMs:fm,maxMs:Pm});this.#r+=1,this.#e=setNonBlockingTimeout(()=>{this.#e=void 0,this.#t(r);},t);}stop(){this.#e!==void 0&&(clearTimeout(this.#e),this.#e=void 0);}resetBackoff(){this.#r=0,this.stop();}async#t(r){if(r.shouldReconnect())try{await r.reconnect();}catch{this.schedule(r);}}},vr=class{#e;#r;#t;#o;constructor(r={}){this.#e=r.heartbeat;}connect(r){if(this.#r?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#s(),this.#t!==void 0)return this.#t;let o=this.#c(r).then(()=>({reusedOpenSocket:false})).catch(n=>{throw this.#t===o&&(this.#t=void 0),n});return this.#t=o,o}send(r){return this.#n(JSON.stringify(r))}#n(r){return this.#r?.readyState!==WebSocket.OPEN?false:(this.#r.send(r),true)}async close(){let r=await this.#d();this.#a(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{r.addEventListener("close",()=>t(),{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#c(r){let t=await r.prepare?.();return new Promise((o,n)=>{let s=gm(r.url,r.headers),a=()=>{s.removeEventListener("error",f),this.#i(s),this.#p(),r.onOpen(t),o(s);},f=P=>{s.removeEventListener("open",a),n(new c(`WebSocket connection failed: ${r.url}`,{cause:P}));};s.addEventListener("open",a,{once:true}),s.addEventListener("error",f,{once:true}),s.addEventListener("message",P=>{if(this.#r!==s)return;let L=String(P.data);if(this.#e?.handleMessage(L))return;let q;try{q=JSON.parse(L);}catch{return}r.onMessage(q);}),s.addEventListener("close",()=>{this.#r===s&&(this.#s(),r.onClose());}),s.addEventListener("error",()=>r.onError());})}#i(r){this.#r=r,this.#t=void 0;}#s(){this.#a(),this.#r=void 0;}#p(){this.#a();let r=this.#e;r!==void 0&&(r.start(t=>this.#n(t)),this.#o=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#r;t?.readyState===WebSocket.OPEN&&t.close();},ym));}#a(){this.#o!==void 0&&(clearInterval(this.#o),this.#o=void 0),this.#e?.stop();}async#d(){let r=this.#r,t=this.#t;return this.#r=void 0,this.#t=void 0,r!==void 0?r:t?.then(()=>this.#r,()=>{})}};function gm(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 c("WebSocket headers require a header-capable WebSocket implementation.",{cause:t})}throw new c("WebSocket headers require a header-capable WebSocket implementation.")}function Rm(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var or=1440*60*1e3,es=90*or,ye=z.number().int().nonnegative(),Or=z.object({start:ye.optional(),end:ye.optional()}),rs=z.object({interval:PerpsPnlIntervalSchema,start:ye,end:ye.optional()}),Mm=z.enum(["perpsFills","perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),Fm=z.enum(["perpsEquityHistory","perpsPnlHistory"]),Ar=z.object({kind:Mm,startTimestamp:ye,endTimestamp:ye,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z.array(z.string())}),ts=z.object({kind:Fm,startTimestamp:ye,endTimestamp:ye,interval:PerpsPnlIntervalSchema});async function os(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function ns(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}async function ss(e){return await unwrap(e.get("/v1/account/stats").andThen(y(FetchPerpsAccountStatsResponseSchema)))}var Bm=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function as(e,r){let t=l(r,Bm);return await unwrap(e.get("/v1/account/config",{params:Ee(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var Um=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function is(e,r){let t=l(r,Um);return await unwrap(e.get("/v1/account/open-orders",{params:Ee(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var Dm=z.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ye.optional(),end:ye.optional()}).default({}),zm=Dm.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function ps(e,r){let t=l(r,zm);return await unwrap(e.get("/v1/account/orders",{params:Ee(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var jm=Or.extend({cursor:PaginationCursorSchema.optional()}),Wm=z.object({cursor:PaginationCursorSchema}),Hm=z.union([jm.transform(({cursor:e,...r})=>({cursor:e,params:wr(r,or)})),Wm.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function cs(e,r={}){let{cursor:t,params:o}=l(r,Hm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps fills params."),s={kind:"perpsFills",seenKeys:[],...o}):s=Ge(n,Ar);let{kind:a,seenKeys:f,...P}=s,L=new Set(s.seenKeys);return e.get("/v1/account/fills",{params:Ee(P)}).andThen(y(ListPerpsFillsResponseSchema)).map(q=>{let V=q.data.filter(M=>!L.has(String(M.tradeId)));return Lr({getKey:M=>String(M.tradeId),getTimestamp:M=>M.timestamp,items:V,responseData:q.data,responseMore:q.more,state:s})})},t)}var _m=Or.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),Nm=z.object({cursor:PaginationCursorSchema}),Gm=z.union([_m.transform(({cursor:e,...r})=>({cursor:e,params:wr(r,or)})),Nm.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ds(e,r={}){let{cursor:t,params:o}=l(r,Gm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=Ge(n,Ar);let{kind:a,seenKeys:f,...P}=s,L=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:Ee(P)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(q=>{let V=q.data.filter(M=>!L.has(`${M.instrumentId}:${M.timestamp}:${M.funding}`));return Lr({getKey:M=>`${M.instrumentId}:${M.timestamp}:${M.funding}`,getTimestamp:M=>M.timestamp,items:V,responseData:q.data,responseMore:q.more,state:s})})},t)}var Km=Or.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),$m=z.object({cursor:PaginationCursorSchema}),Vm=z.union([Km.transform(({cursor:e,...r})=>({cursor:e,params:wr(r,es)})),$m.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function us(e,r={}){let{cursor:t,params:o}=l(r,Vm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps deposit params."),s={kind:"perpsDeposits",seenKeys:[],...o}):s=Ge(n,Ar);let{kind:a,seenKeys:f,...P}=s,L=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:Ee(P)}).andThen(y(ListPerpsDepositsResponseSchema)).map(q=>{let V=q.data.filter(M=>!L.has(M.hash));return Lr({getKey:M=>M.hash,getTimestamp:nl,items:V,responseData:q.data,responseMore:q.more,state:s})})},t)}var Zm=Or.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),Ym=z.object({cursor:PaginationCursorSchema}),Jm=z.union([Zm.transform(({cursor:e,...r})=>({cursor:e,params:wr(r,es)})),Ym.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ms(e,r={}){let{cursor:t,params:o}=l(r,Jm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps withdrawal params."),s={kind:"perpsWithdrawals",seenKeys:[],...o}):s=Ge(n,Ar);let{kind:a,seenKeys:f,...P}=s,L=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:Ee(P)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(q=>{let V=q.data.filter(M=>!L.has(String(M.withdrawalId)));return Lr({getKey:M=>String(M.withdrawalId),getTimestamp:sl,items:V,responseData:q.data,responseMore:q.more,state:s})})},t)}var Qm=rs.extend({cursor:PaginationCursorSchema.optional()}),Xm=z.object({cursor:PaginationCursorSchema}),el=z.union([Qm.transform(({cursor:e,...r})=>({cursor:e,params:fs(r)})),Xm.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ls(e,r){let{cursor:t,params:o}=l(r,el);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps equity history params."),s={kind:"perpsEquityHistory",...o}):s=Ge(n,ts);let{kind:a,...f}=s;return e.get("/v1/account/equity",{params:Ee(f)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(P=>{let L=P.data.at(-1),q=P.more&&L!==void 0&&L.timestamp<s.endTimestamp;return {items:P.data,hasMore:q,nextCursor:q?bt({...s,startTimestamp:L.timestamp+Ps(s.interval)}):void 0}})},t)}var rl=rs.extend({cursor:PaginationCursorSchema.optional()}),tl=z.object({cursor:PaginationCursorSchema}),ol=z.union([rl.transform(({cursor:e,...r})=>({cursor:e,params:fs(r)})),tl.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ys(e,r){let{cursor:t,params:o}=l(r,ol);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps PnL history params."),s={kind:"perpsPnlHistory",...o}):s=Ge(n,ts);let{kind:a,...f}=s;return e.get("/v1/account/pnl",{params:Ee(f)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(P=>{let L=P.data.at(-1),q=P.more&&L!==void 0&&L.timestamp<s.endTimestamp;return {items:P.data,hasMore:q,nextCursor:q?bt({...s,startTimestamp:L.timestamp+Ps(s.interval)}):void 0}})},t)}function wr(e,r){let t=Date.now(),{end:o,start:n,...s}=e;return {...s,endTimestamp:o??t,startTimestamp:n??t-r}}function fs(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function Ge(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps account pagination cursor",{cause:t})}}function bt(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function Ee(e){return g(e,R())}function nl(e){return e.confirmedTimestamp??e.createdTimestamp}function sl(e){return e.confirmedTimestamp??e.createdTimestamp}function Lr(e){let r=e.responseData.at(-1),t=e.items.at(-1),o=(t===void 0?void 0:e.getTimestamp(t))??(r===void 0?void 0:e.getTimestamp(r)),n=e.responseMore&&o!==void 0&&o>e.state.startTimestamp;if(!n)return {items:e.items,hasMore:n};let s=t===void 0?o-1:o,a=new Set(e.state.endTimestamp===s?e.state.seenKeys:[]);for(let f of e.items)e.getTimestamp(f)===s&&a.add(e.getKey(f));return {items:e.items,hasMore:n,nextCursor:bt({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function Ps(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return or;case "1w":return 7*or}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var qt=z.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional()}),ml=qt.extend({price:PerpsDecimalInputSchema,timeInForce:z.literal(PerpsTimeInForce.GTC),postOnly:z.boolean().default(false)}),ll=qt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.IOC),postOnly:z.never().optional()}),yl=qt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.FOK),postOnly:z.never().optional()}),Ts=z.discriminatedUnion("timeInForce",[ml,ll,yl]),Mr=z.object({triggerPrice:PerpsDecimalInputSchema,limitPrice:PerpsDecimalInputSchema.optional()}),Fr=z.object({triggerPrice:PerpsDecimalInputSchema}),fl=z.union([z.object({takeProfit:Mr,stopLoss:Mr.optional()}),z.object({takeProfit:Mr.optional(),stopLoss:Mr})]),Pl=z.object({orders:z.array(Ts).min(1),expiresAt:z.number().int().positive().optional()});async function vt(e,r){let t=l(r,Pl);return await e.sendSignedWsCommand({op:["createOrders",t.orders.map(Os)],responseSchema:z.array(PerpsPostOrderAckSchema),timeoutMessage:"Perps post order acknowledgement timed out.",expiresAt:t.expiresAt})}var gl=z.intersection(Ts,z.intersection(fl,z.object({expiresAt:z.number().int().positive().optional()})));function xs(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Cs(e,r){let t=l(r,gl),o=[Os(t)],n=t.side===OrderSide.SELL;return t.takeProfit!==void 0&&o.push(Dr({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Dr({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),trigger:t.stopLoss})),await As(e,{expiresAt:t.expiresAt,group:PerpsTpSlScope.Order,orders:o})}var Rl=z.union([z.object({takeProfit:Fr,stopLoss:Fr.optional()}),z.object({takeProfit:Fr.optional(),stopLoss:Fr})]),El=z.intersection(Rl,z.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z.number().int().positive().optional()})),hl=z.intersection(El,z.object({buy:z.boolean()}));async function bs(e,r){let t=l(r,hl),o=[];return t.takeProfit!==void 0&&o.push(Dr({buy:t.buy,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:"0",trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Dr({buy:t.buy,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:"0",trigger:t.stopLoss})),await As(e,{expiresAt:t.expiresAt,group:PerpsTpSlScope.Position,orders:o})}var Sl=z.union([z.object({orderId:PerpsOrderIdSchema,clientOrderId:z.undefined().optional(),expiresAt:z.number().int().positive().optional()}),z.object({clientOrderId:PerpsClientOrderIdSchema,orderId:z.undefined().optional(),expiresAt:z.number().int().positive().optional()})]);async function Is(e,r){let t=l(r,Sl),[o]=t.orderId!==void 0?await Ur(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await Ur(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var Tl=z.union([z.object({orderIds:z.array(PerpsOrderIdSchema).min(1),clientOrderIds:z.undefined().optional(),expiresAt:z.number().int().positive().optional()}),z.object({clientOrderIds:z.array(PerpsClientOrderIdSchema).min(1),orderIds:z.undefined().optional(),expiresAt:z.number().int().positive().optional()})]);async function Ur(e,r){let t=l(r,Tl);return t.orderIds!==void 0?await e.sendSignedWsCommand({op:["cancelOrders",t.orderIds],responseSchema:z.array(PerpsCancelOrderResultSchema),timeoutMessage:"Perps cancel order response timed out.",expiresAt:t.expiresAt}):await e.sendSignedWsCommand({op:["cancelOrdersCOID",t.clientOrderIds],responseSchema:z.array(PerpsCancelOrderResultSchema),timeoutMessage:"Perps cancel order response timed out.",expiresAt:t.expiresAt})}var xl=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z.number().int().positive().optional()}).default({});async function ks(e,r,t){let o=l(t,xl),n=["cancelAll",o.instrumentId===void 0?[]:[o.instrumentId]],s=r(n,o.expiresAt);await unwrap(e.del("/v1/trade/orders/all",{json:{...s,op:Ot(n)}}).andThen(y(PerpsCancelAllOrdersResponseSchema)));}var Cl=z.object({instrumentId:PerpsInstrumentIdSchema,leverage:z.number().int().positive(),crossMargin:z.boolean()}),qs=k(d,j,c,a);async function vs(e,r){let t=l(r,Cl);return await e.sendSignedWsCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]],responseSchema:PerpsUpdateLeverageResultSchema,timeoutMessage:"Perps update leverage response timed out."})}function Os(e){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]}function Dr(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.limitPrice===void 0?true:void 0,toDecimalString(e.trigger.triggerPrice),e.kind]]}async function As(e,r){return await e.sendSignedWsCommand({op:["createOrders",r.orders,r.group],responseSchema:z.array(PerpsPostOrderAckSchema),timeoutMessage:"Perps place TP/SL order acknowledgement timed out.",expiresAt:r.expiresAt})}function Ot(e){let[r,t,o]=e;switch(r){case "createOrders":return kl({args:t.map(bl),type:r},o);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "cancelAll":{let[n]=t;return {type:r,args:n===void 0?{}:{iid:n}}}case "updateLeverage":{let[n,s,a]=t;return {type:r,args:{cross:a,iid:n,lev:s}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function bl(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=Il(e[8])),r}function Il(e){let r={tpsl:e[2],trp:e[1]};return e[0]!==void 0&&(r.market=e[0]),r}function kl(e,r){return r!==void 0&&(e.grp=r),e}var Al=3e4,Ms=3e4,Fs=2e3,wl=["balances","portfolio","orders","fills","funding","deposits","withdrawals","tpsl"],Ll=z.object({id:z.number().int().positive().optional(),data:z.unknown().optional()}).passthrough(),Bs=z.union([PerpsCommandAckSchema,z.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),Us=class{credentials;#e;#r;#t;#o;#n;#c=new vr({heartbeat:new kr});#i=pushable({objectMode:true});#s=new Map;#p=new Set;#a=new qr;#d=new Map;#l=1;#m;constructor(r){this.#e=new Ir({headers:r.headers,resolveHeaders:async()=>this.#I(),root:r.restUrl}),this.#r=r.chainId,this.credentials=r.credentials,this.#t=r.headers,this.#o=r.onClose,this.#n=r.wsUrl;}get closed(){return this.#m!==void 0}async connect(){await this.#P(false);}async close(){this.#m===void 0&&(this.#m=this.#q()),await this.#m;}[Symbol.asyncIterator](){return this.#i[Symbol.asyncIterator]()}async fetchBalances(){return await os(this.#e)}async fetchPortfolio(){return await ns(this.#e)}async fetchStats(){return await ss(this.#e)}async fetchAccountConfig(r){return await as(this.#e,r)}async fetchOpenOrders(r){return await is(this.#e,r)}async fetchOrders(r){return await ps(this.#e,r)}listFills(r={}){return cs(this.#e,r)}listFundingPayments(r={}){return ds(this.#e,r)}listDeposits(r={}){return us(this.#e,r)}listWithdrawals(r={}){return ms(this.#e,r)}listEquityHistory(r){return ls(this.#e,r)}listPnlHistory(r){return ys(this.#e,r)}async placeOrder(r){if(xs(r))return await this.#T(r);let[t]=await vt(this.#u(),{orders:[r],expiresAt:r.expiresAt}).then(expectNonEmptyArray);if(t.status==="err")throw new d(t.error,{status:200});return {order:(await this.#h(n=>n.type==="order"&&n.payload.id===t.orderId,Fs)).payload}}async postOrders(r){return await vt(this.#u(),r)}async#T(r){let t=await Cs(this.#u(),r).then(expectNonEmptyArray);for(let P of t)if(P.status==="err")throw new d(P.error,{status:200});let[o]=t,n=sr(o),s=await this.#h(P=>P.type==="order"&&P.payload.id===n.orderId,Fs),a=1,f={};return r.takeProfit!==void 0&&(f.takeProfit=sr(expectPresent(t[a++],"Expected Perps take-profit acknowledgement."))),r.stopLoss!==void 0&&(f.stopLoss=sr(expectPresent(t[a],"Expected Perps stop-loss acknowledgement."))),{order:s.payload,tpSl:f}}async placePositionTpSl(r){let t=await bs(this.#u(),{...r,buy:await this.#x(r.instrumentId)}).then(expectNonEmptyArray);for(let s of t)if(s.status==="err")throw new d(s.error,{status:200});let o=0,n={};return r.takeProfit!==void 0&&(n.takeProfit=sr(expectPresent(t[o++],"Expected Perps take-profit acknowledgement."))),r.stopLoss!==void 0&&(n.stopLoss=sr(expectPresent(t[o],"Expected Perps stop-loss acknowledgement."))),{tpSl:n}}async#x(r){let o=(await this.fetchPortfolio()).positions.find(s=>s.instrumentId===r),n=o===void 0?0:Bl(o.size);if(n===0)throw new a(`No open Perps position for instrument ${r}.`);return n<0}async cancelOrder(r){return await Is(this.#u(),r)}async cancelOrders(r){return await Ur(this.#u(),r)}async cancelAllOrders(r){await ks(this.#e,(t,o)=>this.#g(t,o),r);}async updateLeverage(r){return await vs(this.#u(),r)}async#P(r){await this.#c.connect({onClose:()=>this.#A(),onError:()=>{},onMessage:t=>this.#v(t),onOpen:()=>{},headers:this.#t,url:this.#n}),await this.#C(),await this.#b(),this.#a.resetBackoff(),r&&(this.#d.clear(),this.#i.push({reason:"reconnect",type:"resync"}));}async#C(){await this.#y({id:this.#l++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},Bs,Al,"Perps session authentication timed out.");}async#b(){await this.#y({id:this.#l++,req:"sub",chs:wl},Bs,Ms,"Perps session subscription timed out.");}#I(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}#u(){return {sendSignedWsCommand:r=>this.#k(r)}}async#k(r){let t=Ot(r.op),o=this.#g(r.op,r.expiresAt);return await this.#y({...o,id:this.#l++,op:t,req:"post"},r.responseSchema,Ms,r.timeoutMessage)}#g(r,t){let o=Ul(),n=Date.now(),s;try{s=Kn({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n});}catch(f){throw j.fromError(f,"Could not sign the Perps session command")}let a={salt:o,sig:s,ts:n};return t!==void 0&&(a.exp=t),a}async#y(r,t,o,n){let s=Ml(t);this.#s.set(r.id,s);let a=setNonBlockingTimeout(()=>{s.reject(new c(n));},o);try{if(!this.#c.send(r))throw new c("Perps session transport is not open.");return await s.promise}finally{clearTimeout(a),this.#s.delete(r.id);}}async#q(){this.#a.stop(),this.#R(new c("Perps session closed.")),this.#S(new c("Perps session closed.")),this.#i.end(),await this.#c.close(),this.#o(this);}#v(r){if(this.#O(r))return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#w(o),this.#E(o);}#O(r){let t=Ll.safeParse(r);if(!t.success||t.data.id===void 0)return false;let o=this.#s.get(t.data.id);if(o===void 0)return true;let n=o.schema.safeParse(t.data.data);if(!n.success){let s=Ds(t.data.data??t.data);return s!==void 0?o.reject(new d(s.error,{status:200})):o.reject(new c("Perps session unexpected response.")),true}return Fl(n.data)?o.reject(new d(n.data.error,{status:200})):o.resolve(n.data),true}#A(){this.#R(new c("Perps session connection closed.")),this.#S(new c("Perps session connection closed.")),this.#m===void 0&&this.#a.schedule({reconnect:()=>this.#P(true),shouldReconnect:()=>this.#m===void 0});}#R(r){for(let t of this.#s.values())t.reject(r);this.#s.clear();}#w(r){let t=this.#d.get(r.channel);this.#d.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.#i.push(r);}#h(r,t){return this.#L(r,t).then(o=>o)}#L(r,t){let o,n=new Promise((s,a)=>{o={predicate:r,reject:a,resolve:s,timeout:setNonBlockingTimeout(()=>{this.#f(o),a(new f("Perps event wait timed out."));},t)};});return this.#p.add(o),n}#M(r){for(let t of Array.from(this.#p))t.predicate(r)&&(this.#f(t),t.resolve(r));}#f(r){this.#p.delete(r)&&clearTimeout(r.timeout);}#S(r){for(let t of Array.from(this.#p))this.#f(t),t.reject(r);}};function Ml(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function Fl(e){return Ds(e)!==void 0}function Ds(e){if(Array.isArray(e)||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 sr(e){if(e.status==="err")throw new d(e.error,{status:200});return {orderId:e.orderId}}function Bl(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function Ul(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Ae=k(e,d,c,b,a),fe=z.number().int().nonnegative(),Ws=1440*60*1e3,oy=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),jC=Ae;async function WC(e,r){let t=l(r,oy);return unwrap(e.perps.get("/v1/info/instruments",{params:g(t,R())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var ny=z.object({instrumentId:PerpsInstrumentIdSchema}),HC=Ae;async function _C(e,r){let t=l(r,ny),[o]=await ay(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var sy=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),NC=Ae;async function ay(e,r){let t=l(r,sy),o=g(t,R()),[n,s]=await Promise.all([unwrap(e.perps.get("/v1/info/tickers",{params:o}).andThen(y(FetchPerpsTickersResponseSchema))),unwrap(e.perps.get("/v1/info/statistics",{params:o}).andThen(y(FetchPerpsStatisticsResponseSchema)))]),a=new Map(s.map(f=>[f.instrumentId,f]));return n.map(f=>{let P=a.get(f.instrumentId);return {...f,openPrice:P?.openPrice,volume24h:P?.volume}})}var iy=z.union([z.literal(10),z.literal(100),z.literal(500),z.literal(1e3)]),py=z.object({instrumentId:PerpsInstrumentIdSchema,depth:iy.default(100)}),GC=Ae;async function KC(e,r){let t=l(r,py);return unwrap(e.perps.get("/v1/info/book",{params:g(t,R())}).andThen(y(PerpsBookSchema)))}var cy=z.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:fe.optional(),end:fe.optional(),cursor:PaginationCursorSchema.optional()}),dy=z.object({cursor:PaginationCursorSchema}),uy=z.union([cy.transform(({cursor:e,...r})=>({cursor:e,params:Sy(r)})),dy.transform(({cursor:e})=>({cursor:e,params:void 0}))]),$C=Ae;function VC(e,r){let{cursor:t,params:o}=l(r,uy);return x(n=>{let s=n===void 0?Ty(o):by(n);return e.perps.get("/v1/info/klines",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,interval:s.interval,startTimestamp:s.startTimestamp},R())}).andThen(y(FetchPerpsCandlesResponseSchema)).map(a=>{let f=a.data.at(-1),P=a.more&&f!==void 0;return {items:a.data,hasMore:P,nextCursor:P?Ft({...s,startTimestamp:f.timestamp+qy(s.interval)}):void 0}})},t)}var Hs=z.object({instrumentId:PerpsInstrumentIdSchema,start:fe.optional(),end:fe.optional()}),my=Hs.extend({cursor:PaginationCursorSchema.optional()}),ly=z.object({cursor:PaginationCursorSchema}),yy=z.union([my.transform(({cursor:e,...r})=>({cursor:e,params:_s(r)})),ly.transform(({cursor:e})=>({cursor:e,params:void 0}))]),fy=Hs.extend({cursor:PaginationCursorSchema.optional()}),Py=z.object({cursor:PaginationCursorSchema}),ZC=Ae;function YC(e,r){let{cursor:t,params:o}=l(r,yy);return x(n=>{let s=n===void 0?xy(o):Iy(n);return e.perps.get("/v1/info/funding",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},R())}).andThen(y(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let f=a.data.at(-1),P=a.more&&f!==void 0&&f.timestamp>s.startTimestamp;return {items:a.data,hasMore:P,nextCursor:P?Ft({...s,endTimestamp:f.timestamp-1}):void 0}})},t)}var gy=z.union([fy.transform(({cursor:e,...r})=>({cursor:e,params:_s(r)})),Py.transform(({cursor:e})=>({cursor:e,params:void 0}))]),JC=Ae;function QC(e,r){let{cursor:t,params:o}=l(r,gy);return x(n=>{let s=n===void 0?Cy(o):ky(n),a=new Set(s.seenTradeIds);return e.perps.get("/v1/info/trades",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},R())}).andThen(y(FetchPerpsTradesResponseSchema)).map(f=>{let P=f.data.filter(va=>!a.has(va.tradeId)),L=f.data.at(-1),q=P.at(-1),V=q?.timestamp??L?.timestamp,M=f.more&&V!==void 0&&V>s.startTimestamp;return {items:P,hasMore:M,nextCursor:M?Ft({...s,endTimestamp:q===void 0?V-1:V,seenTradeIds:q===void 0?[]:vy(s,P,q)}):void 0}})},t)}var XC=k(e,d,c,b);async function eb(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var Ry=z.object({kind:z.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:fe,endTimestamp:fe}),Ey=z.object({kind:z.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:fe,endTimestamp:fe}),hy=z.object({kind:z.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:fe,endTimestamp:fe,seenTradeIds:z.array(PerpsTradeIdSchema)});function Sy(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Ws}}function _s(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Ws}}function Ty(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function xy(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function Cy(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function by(e){return Mt(e,Ry)}function Iy(e){return Mt(e,Ey)}function ky(e){return Mt(e,hy)}function Mt(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function Ft(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function qy(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 vy(e,r,t){let o=new Set(e.endTimestamp===t.timestamp?e.seenTradeIds:[]);for(let n of r)n.timestamp===t.timestamp&&o.add(n.tradeId);return Array.from(o)}var Oy=z.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),Ay=z.object({proxy:z.string().transform(e=>expectEvmAddress(e)),privateKey:Oy,secret:z.string().min(1),expiresAt:z.number().int().positive()}),wy=10080*60*1e3,Ly=z.strictObject({expiresIn:z.number().int().positive().default(wy),label:z.string().min(1).optional()}),My=z.strictObject({credentials:Ay}),Fy=z.union([Ly,My]),By=z.object({proxy:z.string()}),Uy=By.transform(e=>({proxy:expectEvmAddress(e.proxy)})),Ns=z.bigint().positive().max(Y),Dy=z.object({amount:Ns,metadata:K.optional()}),zy=z.object({amount:Ns}),rb=k(e,d,j,c,b,a),tb=k(e,d,j,c,b,a),ob=k(a),nb=k(h,e,d,j,c,b,a),sb=k(e,d,j,c,b,a);async function ab(e,r={}){let t=l(r,Fy),o="credentials"in t?await Hy(e,t.credentials):await Wy(e,t);return e.webSockets.perpsSession.connect(o)}async function ib(e,r){let t=l(r,Uy),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=Bt(),a=Date.now(),f=await Ny(e,{salt:s,signedOp:n,timestamp:a}),P=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:o,salt:s,sig:f,ts:a}}).andThen(y(PerpsDeleteProxyResponseSchema)));if(P.status==="err")throw new d(P.error??"Perps credentials revocation was rejected.",{status:200})}async function jy(e,r){let t=l(r,Dy),{contracts:o}=e.environment,n=Oo(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?N(yield Jy(G(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Deposit ${t.amount} of ${o.collateralToken} to Perps`})}.call(null)}function pb(e,r){return jy(e,r).then(_(e.signer))}async function cb(e,r){let t=l(r,zy),o=Math.floor(Date.now()/1e3),n=Bt(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await Gy(e,{amount:t.amount,salt:n,timestamp:o}),f=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:s,salt:n,sig:a,ts:o}}).andThen(y(PerpsWithdrawResponseSchema)));if(f.status==="err")throw new d(f.error??"Perps withdrawal was rejected.",{status:200});if(f.withdrawalId===void 0)throw new b("Perps withdrawal response did not include a withdrawal ID.");return f.withdrawalId}async function Wy(e,r){let t=Vy(),o=Ks(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),f=Bt(),P={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},L=await _y(e,{expiresAt:s,proxy:o,salt:f,timestamp:a}),q={op:P,salt:f,sig:L,ts:a};r.label!==void 0&&(q.label=r.label);let V=await unwrap(e.perps.post("/v1/account/proxy",{json:q}).andThen(y(PerpsCreateProxyResponseSchema))),M={expiresAt:s,privateKey:t,proxy:o,secret:V.secret};return Gs(e,M)}async function Hy(e,r){return Zy(r),Gs(e,r)}async function Gs(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:Yy(r)}).andThen(y(PerpsCredentialsResponseSchema)));if(!isSameEvmAddress(t.address,e.account.signer))throw new b("Perps credentials belong to a different signer account.");let o=t.keys.find(n=>isSameEvmAddress(n.proxy,r.proxy));if(o===void 0)throw new b("Perps credentials were not returned by the API.");if(o.expiresAt<=Date.now())throw new b("Perps credentials are expired.");return {...r,expiresAt:o.expiresAt}}async function _y(e,r){try{return await e.signer.signTypedData($y({chainId:e.environment.chainId,...r}))}catch(t){throw j.fromError(t,"Could not sign the Perps proxy credentials request")}}async function Ny(e,r){try{return await e.signer.signTypedData(Tt({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw j.fromError(t,"Could not sign the Perps operation request")}}async function Gy(e,r){try{return await e.signer.signTypedData(Ky({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 j.fromError(t,"Could not sign the Perps withdrawal request")}}function Ky(e){return {domain:{chainId:e.chainId,name:"Polymarket",verifyingContract:e.contract,version:"1"},message:{account:e.account,amount:e.amount,fee:0n,salt:e.salt,token:e.token,to:e.to,ts:e.timestamp},primaryType:"Withdraw",types:{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 $y(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},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"}]}}}function Vy(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function Ks(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function Zy(e){let r=Ks(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function Yy(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function Jy(e){return {kind:"sendPerpsDepositTransaction",request:e}}function Bt(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var af=z.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),$s=z.enum(["ASC","DESC"]),pf=z.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),cf=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),sizeThreshold:z.number().optional(),redeemable:z.boolean().optional(),mergeable:z.boolean().optional(),pageSize:v.default(20),sortBy:af.optional(),sortDirection:$s.optional(),title:z.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),df=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),market:z.array(z.string()).optional(),title:z.string().max(100).optional(),eventId:z.array(z.number().int()).optional(),pageSize:v.default(20),sortBy:pf.optional(),sortDirection:$s.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),uf=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),pageSize:v.default(20),status:ComboPositionStatusSchema.optional(),conditionId:ComboConditionIdSchema.optional(),positionId:PositionIdSchema.optional()}),mf=z.object({user:z.string(),market:z.array(z.string()).optional()}),lf=z.object({user:z.string()}),yf=z.object({user:z.string()}),Sb=k(e,d,c,b,a);function Tb(e,r){let{cursor:t,pageSize:o,...n}=l(r,cf);return x(s=>{let a=B(s,o);return e.data.get("/positions",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListPositionsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var xb=k(e,d,c,b,a),Cb=k(e,d,c,b,a);function bb(e,r){let{cursor:t,pageSize:o,...n}=l(r,df);return x(s=>{let a=B(s,o);return e.data.get("/closed-positions",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListClosedPositionsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function Ib(e,r){let{cursor:t,pageSize:o,...n}=l(r,uf);return x(s=>{let a=B(s,o);return e.data.get("/v1/positions/combos",{params:g({...n,limit:a.pageSize+1,offset:a.offset},R({conditionId:"combo_condition_id",positionId:"combo_position_id"}))}).andThen(y(ListComboPositionsResponseSchema)).map(f=>{let P=f.combos.length>a.pageSize;return {items:f.combos.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var kb=k(e,d,c,b,a);async function qb(e,r){let t=l(r,mf);return unwrap(e.data.get("/value",{params:H(t)}).andThen(y(FetchPortfolioValueResponseSchema)))}var vb=k(e,d,c,b,a);async function Ob(e,r){let t=l(r,lf);return unwrap(e.data.get("/traded",{params:H(t)}).andThen(y(TradedSchema)))}var Ab=k(e,d,c,b,a);async function wb(e,r){let t=l(r,yf);return unwrap(e.data.get("/v1/accounting/snapshot",{params:H(t)}).andThen(Jt))}var Qs=32,Xs=3n,Ys=50,Pf=(1n<<256n)-1n;function zt(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[Xs,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function ea(e){if(e.length===0||e.length>Ys)throw new a(`Combo legs must include 1 to ${Ys} position IDs`);let r=e.map(t=>{let o=ta(t),n=o.toString(16).padStart(Qs*2,"0"),s=Number.parseInt(n.slice(0,2),16),a$1=Number.parseInt(n.slice(-2),16);if(s!==1&&s!==2||a$1>1)throw new a("Combo legs must be binary or neg-risk YES/NO position IDs");return {value:o,conditionId:n.slice(0,-2)}});r.sort((t,o)=>t.value<o.value?-1:t.value>o.value?1:0);for(let t=1;t<r.length;t+=1){let o=r[t-1],n=r[t];if(o===void 0||n===void 0)throw new a("Invalid combo leg set");if(o.value===n.value)throw new a("Combo legs must not contain duplicate position IDs");if(o.conditionId===n.conditionId)throw new a("Combo legs must not contain both outcomes for the same condition")}return r.map(t=>t.value)}function ra(e){let t=ta(e).toString(16).padStart(Qs*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==Xs)throw new a("Combo position ID must use the combinatorial module");if(n!==0&&n!==1)throw new a("Combo position ID must be a YES/NO position ID");return {conditionId:toComboConditionId(`0x${t.slice(0,-2)}`),outcomeIndex:n}}function ta(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>Pf)throw new a("Position ID must be a uint256 value");return t}var na=z.object({amount:z.bigint().min(0n),conditionId:CtfConditionIdSchema,metadata:K.optional()}),Rf=z.object({amount:z.bigint().positive(),legs:z.array(PositionIdSchema).min(1).max(50),metadata:K.optional()}),sa=z.array(PositionIdSchema).min(1).max(50).transform(ea),Ef=z.object({amount:z.bigint().positive(),legs:sa,metadata:K.optional()}),hf=z.union([na.extend({legs:z.never().optional()}),Rf.extend({conditionId:z.never().optional()})]),aa=k(e,d,c,b,a),Qb=aa,Xb=aa,ia=k(e,d,c,b,a),eI=ia,rI=ia,pa=k(e,d,c,b,a),tI=pa,oI=pa;async function ca(e,r){let t=l(r,na),o=await _t(e,{conditionId:t.conditionId}),n=Ao(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?N(yield jt(G(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Split ${t.amount} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function da(e,r){let t=l(r,Ef),o=Yr(e.environment.contracts.combinatorialModule,t.legs),n=zt(t.legs),s=Mo(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await N(yield jt(G(e.environment.chainId,o))).wait(),N(yield jt(G(e.environment.chainId,s)))):yield*await J(e,{calls:[o,s],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${n.conditionId}`})}.call(null)}async function Sf(e,r){let t=l(r,hf);return t.legs!==void 0?da(e,t):ca(e,t)}var ua=k(h,e,d,j,f,g$1,c,b,a),nI=ua,sI=ua;function aI(e,r){return ca(e,r).then(_(e.signer))}function iI(e,r){return da(e,r).then(_(e.signer))}function pI(e,r){return Sf(e,r).then(_(e.signer))}var ma=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),conditionId:CtfConditionIdSchema,metadata:K.optional()}),Tf=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:z.array(PositionIdSchema).min(1).max(50),metadata:K.optional()}),xf=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:sa,metadata:K.optional()}),Cf=z.union([ma.extend({legs:z.never().optional()}),Tf.extend({conditionId:z.never().optional()})]);async function la(e,r){let t=l(r,ma),o=await _t(e,{conditionId:t.conditionId}),n=Vr(await e.rpc.ethCall($r(o.positionErc1155Address,e.account.wallet,o.tokenIds))),s=ha(o.conditionId,n,t.amount),a=wo(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?N(yield Wt(G(e.environment.chainId,a))):yield*await J(e,{calls:[a],metadata:t.metadata??`Merge ${s} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function ya(e,r){let t=l(r,xf),o=Yr(e.environment.contracts.combinatorialModule,t.legs),n=zt(t.legs),s=Vr(await e.rpc.ethCall($r(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),a=ha(n.conditionId,s,t.amount),f=Fo(e.environment.contracts.protocolV2Router,n.conditionId,a);return async function*(){return e.account.walletType===WalletType.EOA?(await N(yield Wt(G(e.environment.chainId,o))).wait(),N(yield Wt(G(e.environment.chainId,f)))):yield*await J(e,{calls:[o,f],metadata:t.metadata??`Merge ${a} combo positions for condition ${n.conditionId}`})}.call(null)}async function bf(e,r){let t=l(r,Cf);return t.legs!==void 0?ya(e,t):la(e,t)}var fa=k(h,e,d,j,f,g$1,c,b,a),cI=fa,dI=fa;function uI(e,r){return la(e,r).then(_(e.signer))}function mI(e,r){return ya(e,r).then(_(e.signer))}function lI(e,r){return bf(e,r).then(_(e.signer))}var Pa=z.object({conditionId:CtfConditionIdSchema,marketId:z.never().optional(),amount:z.never().optional(),positionId:z.never().optional(),metadata:K.optional()}),ga=z.object({conditionId:z.never().optional(),marketId:MarketIdSchema,amount:z.never().optional(),positionId:z.never().optional(),metadata:K.optional()}),If=z.union([Pa,ga]),Ra=z.object({positionId:PositionIdSchema,conditionId:z.never().optional(),marketId:z.never().optional(),metadata:K.optional()}),kf=z.union([Pa,ga,Ra]);async function qf(e,r){let t=l(r,If),o=await _t(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),n=Lo(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId);return async function*(){return e.account.walletType===WalletType.EOA?N(yield Ea(G(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Redeem positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function vf(e,r){let t=l(r,Ra),o=ra(t.positionId),n=vo(await e.rpc.ethCall(qo(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Combo position has no balance to redeem");let s=Bo(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?N(yield Ea(G(e.environment.chainId,s))):yield*await J(e,{calls:[s],metadata:t.metadata??`Redeem combo position ${t.positionId}`})}.call(null)}async function Of(e,r){let t=l(r,kf);return t.positionId!==void 0?vf(e,t):qf(e,t)}var yI=k(h,e,d,j,c,b,a);function fI(e,r){return Of(e,r).then(_(e.signer))}function jt(e){return {kind:"sendSplitPositionTransaction",request:e}}function Wt(e){return {kind:"sendMergePositionsTransaction",request:e}}function Ea(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function _t(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await yn(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[Af(r.marketId)],closed:r.closed,pageSize:1}).firstPage(),[n]=o.items;if(n===void 0)throw new a(`No market found for ${t}`);let s=wf(n,t);return {...s,adapterAddress:s.negRisk?e.environment.contracts.negRiskCollateralAdapter:e.environment.contracts.collateralAdapter,positionErc1155Address:s.negRisk?e.environment.contracts.negRiskAdapter:e.environment.contracts.conditionalTokens}}function Af(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function wf(e,r){if(!isPresent(e.conditionId))throw new b(`Missing condition ID for ${r}`);if(!isPresent(e.state.negRisk))throw new b(`Missing negative-risk flag for ${r}`);let t=e.outcomes.yes.tokenId,o=e.outcomes.no.tokenId;if(!isPresent(t)||!isPresent(o))throw new b(`Missing market token IDs for ${r}`);return {marketId:e.id,conditionId:e.conditionId,negRisk:e.state.negRisk,tokenIds:[t,o]}}function ha(e,r,t){let o=Lf(r);if(o===0n)throw new a(`You have no complementary positions to merge for condition ${e}`);if(t==="max")return o;if(t>o)throw new a(`Requested merge amount ${t} exceeds the maximum mergeable amount ${o} for condition ${e}`);return t}function Lf(e){if(e.length!==2)throw new b("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 Df=z.object({address:z.string()}),CI=k(e,d,c,b,a);async function bI(e,r){let t=l(r,Df);return unwrap(e.gamma.get("/public-profile",{params:g(t,R())}).andThen(y(PublicProfileSchema)).orElse(o=>o instanceof d&&o.status===404?ok(null):err(o)))}var Nt=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;}},vI=k(Nt,j,f,c,a),Gt=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;}},OI=k(Gt,f,c),Kt=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;}},AI=k(Kt,f,c),wI=k(c);async function LI(e){return e.webSockets.rfqQuoter.connect()}var Ta=(f=>(f.Volume="volume",f.Volume24Hr="volume_24hr",f.Liquidity="liquidity",f.Competitive="competitive",f.ClosedTime="closed_time",f.StartDate="start_date",f.EndDate="end_date",f))(Ta||{}),Wf=z.object({q:z.string().trim().min(1),ascending:z.boolean().optional(),cache:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),eventsStatus:z.string().min(1).optional(),eventsTag:z.array(z.string()).optional(),excludeTagIds:z.array(z.number().int()).optional(),keepClosedMarkets:z.number().int().optional(),optimized:z.boolean().optional(),pageSize:v.default(10),presets:z.array(z.string()).optional(),recurrence:z.enum(["daily","weekly","monthly"]).optional(),searchProfiles:z.boolean().optional(),searchTags:z.boolean().optional(),sort:z.enum(Ta).optional()}),YI=k(e,d,c,b,a);function JI(e,r){let{cursor:t,pageSize:o,...n}=l(r,Wf);return x(s=>{let a=B(s,o);return e.gamma.get("/public-search",{params:g({...n,limitPerType:a.pageSize,page:a.offset},R({excludeTagIds:"exclude_tag_id"}))}).andThen(y(PublicSearchResponseSchema)).map(f=>({items:Hf(f),hasMore:f.pagination?.hasMore??false,totalCount:f.pagination?.totalResults??void 0,nextCursor:f.pagination?.hasMore?F({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??F({offset:1,pageSize:o}),{events:[],profiles:[],tags:[]})}function Hf(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var $f=z.object({ascending:z.boolean().optional(),closed:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),excludeEvents:z.boolean().optional(),locale:z.string().optional(),order:z.string().optional(),pageSize:v.default(20),recurrence:z.enum(["daily","weekly","monthly"]).optional(),slug:z.array(z.string()).optional()}),Vf=z.object({id:z.string(),locale:z.string().optional()}),pk=k(e,d,c,b,a);function ck(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,$f);return x(s=>{let a=B(s,o);return e.gamma.get("/series",{params:g({...n,limit:a.pageSize+1,offset:a.offset},R())}).andThen(y(ListSeriesResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var dk=k(e,d,c,b,a);async function uk(e,r){let t=l(r,Vf);return unwrap(e.gamma.get(`series/${t.id}`,{params:g({locale:t.locale},R())}).andThen(y(SeriesSchema)))}var gk=k(e,d,c,b);async function Rk(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var Ek=k(e,d,c,b);async function hk(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}async function Ck(e,r){let t=await Promise.all(r.map(o=>Xf(e,o)));return eP(t)}function Xf(e,r){switch(r.topic){case "market":return e.webSockets.clobMarket.subscribe(r);case "sports":return e.webSockets.sports.subscribe(r);case "comments":case "prices.crypto.binance":case "prices.crypto.chainlink":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 eP(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=Qf(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var oP=z.object({ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),includeTemplate:z.boolean().optional(),isCarousel:z.boolean().optional(),locale:z.string().optional(),order:z.string().optional(),pageSize:v.default(20)}),nP=z.union([z.object({id:z.string(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),locale:z.string().optional()})]),sP=z.object({id:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),aP=z.object({slug:z.string()}),iP=z.object({id:z.string(),locale:z.string().optional(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),pP=z.object({locale:z.string().optional(),slug:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Fk=k(e,d,c,b,a);function Bk(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,oP);return x(s=>{let a=B(s,o);return e.gamma.get("/tags",{params:g({...n,limit:a.pageSize+1,offset:a.offset},R())}).andThen(y(ListTagsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Uk=k(e,d,c,b,a);async function Dk(e,r){let t=l(r,nP);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:g({includeTemplate:t.includeTemplate,locale:t.locale},R())}).andThen(y(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:g({locale:t.locale},R())}).andThen(y(TagSchema)))}var zk=k(e,d,c,b,a);async function jk(e,r){if("id"in r){let o=l(r,sP);return unwrap(e.gamma.get(`tags/${o.id}/related-tags`,{params:g({omitEmpty:o.omitEmpty,status:o.status},R())}).andThen(y(ListRelatedTagsResponseSchema)))}let t=l(r,aP);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var Wk=k(e,d,c,b,a);async function Hk(e,r){if("id"in r){let o=l(r,iP);return unwrap(e.gamma.get(`tags/${o.id}/related-tags/tags`,{params:g({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},R())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}let t=l(r,pP);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:g({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},R())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}var uP=z.object({abbreviation:z.array(z.string()).optional(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),league:z.array(z.string()).optional(),name:z.array(z.string()).optional(),order:z.string().optional(),pageSize:v.default(20),providerId:z.array(z.number().int()).optional()}),Qk=k(e,d,c,b,a);function Xk(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,uP);return x(s=>{let a=B(s,o);return e.gamma.get("/teams",{params:g({...n,limit:a.pageSize+1,offset:a.offset},R({providerId:"provider_id"}))}).andThen(y(ListTeamsResponseSchema)).map(f=>{let P=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:P,nextCursor:P?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var lP=z.object({amount:z.bigint(),metadata:K.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),dq=k(a);async function yP(e,r){let t=l(r,lP);return async function*(){return e.account.walletType===WalletType.EOA?N(yield fP(G(e.environment.chainId,Zr(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await J(e,{calls:[Zr(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var uq=k(h,e,d,j,c,b,a);function mq(e,r){return yP(e,r).then(_(e.signer))}function fP(e){return {kind:"sendErc20TransferTransaction",request:e}}export{yo as $,XR as $a,Bh as $b,kx as $c,aa as $d,uk as $e,Ng as A,ER as Aa,sn as Ab,$S as Ac,JC as Ad,qf as Ae,Bo as B,qp as Ba,jE as Bb,VS as Bc,QC as Bd,vf as Be,Gg as C,hR as Ca,WE as Cb,ZS as Cc,XC as Cd,Of as Ce,Yr as D,J as Da,HE as Db,YS as Dc,eb as Dd,yI as De,Uo as E,SR as Ea,_E as Eb,JS as Ec,rb as Ed,fI as Ee,Do as F,wR as Fa,NE as Fb,QS as Fc,tb as Fd,CI as Fe,l as G,Np as Ga,GE as Gb,XS as Gc,ob as Gd,bI as Ge,Xt as H,LR as Ha,KE as Hb,iT as Hc,nb as Hd,Nt as He,MP as I,No as Ia,$E as Ib,pT as Ic,sb as Id,vI as Ie,io as J,MR as Ja,VE as Jb,it as Jc,ab as Jd,Gt as Je,po as K,Kp as Ka,ZE as Kb,gT as Kc,ib as Kd,OI as Ke,co as L,FR as La,YE as Lb,RT as Lc,jy as Ld,Kt as Le,$P as M,Go as Ma,JE as Mb,br as Mc,pb as Md,AI as Me,VP as N,BR as Na,QE as Nb,ET as Nc,cb as Nd,wI as Ne,ZP as O,$p as Oa,XE as Ob,Mn as Oc,Sb as Od,LI as Oe,YP as P,UR as Pa,eh as Pb,Fn as Pc,Tb as Pd,JP as Q,DR as Qa,rh as Qb,Rt as Qc,xb as Qd,QP as R,GR as Ra,mh as Rb,Hu as Rc,Cb as Rd,XP as S,ec as Sa,lh as Sb,Et as Sc,bb as Sd,eg as T,KR as Ta,yh as Tb,_u as Tc,Ib as Td,rg as U,rc as Ua,fh as Ub,ht as Uc,kb as Ud,tg as V,$R as Va,Ph as Vb,sx as Vc,qb as Vd,Ta as Ve,og as W,VR as Wa,gh as Wb,ax as Wc,vb as Wd,YI as We,ng as X,ZR as Xa,wh as Xb,ix as Xc,Ob as Xd,JI as Xe,sg as Y,YR as Ya,Lh as Yb,px as Yc,Ab as Yd,pk as Ye,Gr as Z,JR as Za,Mh as Zb,Ix as Zc,wb as Zd,ck as Ze,ag as _,QR as _a,Fh as _b,Ku as _c,dk as _e,Y as a,ig as aa,eE as ab,Uh as ac,qx as ad,Qb as ae,gk as af,Bg as b,pg as ba,rE as bb,Dh as bc,vx as bd,Xb as be,Rk as bf,mr as c,cg as ca,tE as cb,zh as cc,$u as cd,ia as ce,Ek as cf,Co as d,dg as da,oE as db,Yh as dc,Ox as dd,eI as de,hk as df,bo as e,ug as ea,nE as eb,Jh as ec,Ax as ed,rI as ee,Ck as ef,lr as f,mg as fa,yE as fb,Qh as fc,Ir as fd,pa as fe,Fk as ff,Io as g,lg as ga,fE as gb,Xh as gc,Vn as gd,tI as ge,Bk as gf,ko as h,yg as ha,IE as hb,eS as hc,Zn as hd,oI as he,Uk as hf,qo as i,fg as ia,kE as ib,rS as ic,Yn as id,ca as ie,Dk as if,vo as j,Pg as ja,qE as jb,uS as jc,kr as jd,da as je,zk as jf,$r as k,gg as ka,vE as kb,mS as kc,qr as kd,Sf as ke,jk as kf,Vr as l,Rg as la,OE as lb,IS as lc,vr as ld,ua as le,Wk as lf,Ug as m,qg as ma,Ue as mb,yn as mc,qs as md,nI as me,Hk as mf,Zr as n,vg as na,AE as nb,kS as nc,Us as nd,sI as ne,Qk as nf,Dg as o,Og as oa,De as ob,qS as oc,jC as od,aI as oe,Xk as of,Oo as p,Ag as pa,wE as pb,vS as pc,WC as pd,iI as pe,dq as pf,zg as q,Zg as qa,tn as qb,OS as qc,HC as qd,pI as qe,yP as qf,jg as r,N as ra,LE as rb,AS as rc,_C as rd,la as re,uq as rf,Ao as s,eR as sa,on as sb,wS as sc,NC as sd,ya as se,mq as sf,Wg as t,zo as ta,ME as tb,LS as tc,ay as td,bf as te,wo as u,fR as ua,nn as ub,MS as uc,GC as ud,fa as ue,Lo as v,tt as va,FE as vb,FS as vc,KC as vd,cI as ve,Hg as w,PR as wa,BE as wb,BS as wc,$C as wd,dI as we,Mo as x,gR as xa,UE as xb,US as xc,VC as xd,uI as xe,_g as y,K as ya,DE as yb,DS as yc,ZC as yd,mI as ye,Fo as z,RR as za,zE as zb,KS as zc,YC as zd,lI as ze};//# sourceMappingURL=chunk-IASUU6GQ.js.map
2
- //# sourceMappingURL=chunk-IASUU6GQ.js.map