@polymarket/client 0.3.0-beta.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +0,0 @@
1
- import {m as m$1,g as g$1,f as f$1,l,c,b,a,h,i,j,k,e}from'./chunk-4LDMO37Q.js';import {PaginationCursorSchema,ComboConditionIdSchema,TransactionIdSchema,EvmAddressSchema,BuilderCodeSchema,TokenIdSchema,CtfConditionIdSchema,OrderSideSchema,CommentParentEntityTypeSchema,EventIdSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,PositionIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,MarketIdSchema,TradeStatus,toPaginationCursor,toDecimalString,toComboConditionId,toPositionId}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 uo from'ky';import {SideSchema,ActivityTypeSchema,TimePeriodSchema,LeaderboardOrderBySchema,LeaderboardCategorySchema,ComboPositionStatusSchema,ListTradesResponseSchema,ListActivityResponseSchema,ListComboActivityResponseSchema,FetchEventLiveVolumeResponseSchema,ListBuilderLeaderboardResponseSchema,ListBuilderVolumeResponseSchema,ListTraderLeaderboardResponseSchema,ListMarketHoldersResponseSchema,ListOpenInterestResponseSchema,ListMarketPositionsResponseSchema,ListPositionsResponseSchema,ListClosedPositionsResponseSchema,ListComboPositionsResponseSchema,FetchPortfolioValueResponseSchema,TradedSchema}from'@polymarket/bindings/data';export{ComboActivityType as sa,ComboPositionOutcome as se,ComboPositionStatus as te}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema}from'@polymarket/bindings/relayer';import {CollateralReturnPlanSchema,CollateralReturnPlanResponseSchema,ListComboMarketsResponseSchema}from'@polymarket/bindings/combos';export{CollateralReturnKnownOperationKind as fc,RfqConfirmationDecision as if,RfqDirection as jf,RfqExecutionStatus as kf,RfqKnownErrorCode as lf,RfqRequestedSizeUnit as mf,RfqSide as nf}from'@polymarket/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsPostOrderAckSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelOrderResultSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,PerpsCancelAllOrdersResponseSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsCreateProxyResponseSchema,PerpsCredentialsResponseSchema}from'@polymarket/bindings/perps';import {encode}from'@msgpack/msgpack';import {PerpsNotificationsResyncFrameSchema,PerpsSessionUpdateEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import tg from'it-merge';function m(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var w=z.number().int().positive(),io=z.object({offset:z.number().int().min(0),pageSize:w});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 y=await unwrap(e(a));if(yield y,!y.hasMore)return;a=y.nextCursor;}}}}return n()}function B(e){return toPaginationCursor(btoa(JSON.stringify(io.parse(e))))}function D(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return io.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid pagination cursor",{cause:t})}}function f(e){return function(t){return ResultAsync.fromPromise(t.json(),()=>new b(`Received non-JSON response from ${t.url}`)).andThen(o=>di(t.url,e,o))}}function co(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function di(e,r,t){let o=r.safeParse(t);return o.success?ok(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var lo=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 f$1(`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(!Eo(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=fo(r.gasPrice)),r.value!==void 0&&(t.value=fo(r.value));let o=await this.#o({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[t]});if("error"in o)throw new f$1(`JSON-RPC eth_estimateGas failed: ${o.error.message}`,{cause:o.error,status:200});return BigInt(yo(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 f$1)||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 f$1(`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,y=o.get(a);if(y===void 0)throw new b("Expected JSON-RPC batch response for every request");if("error"in y)throw new f$1(`JSON-RPC eth_call failed: ${y.error.message}`,{cause:y.error,status:200});return yo(y.result)})}async#o(r){let t;try{t=await uo.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new f$1(`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(!mo(o))throw new b("Unexpected JSON-RPC response shape");return o}async#n(r){let t;try{t=await uo.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new f$1(`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=>mo(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function Po(e){if(!(e instanceof f$1)||!go(e.cause))return false;let r=[e.cause.message,ui(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 mo(e){return !Ro(e)||e.jsonrpc!=="2.0"?false:"error"in e?go(e.error):"result"in e}function go(e){return Ro(e)&&typeof e.code=="number"&&typeof e.message=="string"}function Ro(e){return typeof e=="object"&&e!==null}function Eo(e){return /^0x[a-fA-F0-9]*$/.test(e)}function yo(e,r="eth_call"){if(typeof e!="string"||!Eo(e))throw new b(`Expected JSON-RPC ${r} result to be a hex string`);return e}function fo(e){return `0x${e.toString(16)}`}function ui(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}function Dg(e,r,t){return {signer:r,wallet:t,walletType:Ai(e,r,t)}}function ue(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 So(e){let r=ue(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}var mi="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function yi(e){let r=mi.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function fi(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:yi(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function Pi(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var gi="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Ri="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",Ei=0x61003d3d8160233d3973n;function ho(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:bi(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var Si="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",hi="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",Ti="0x60195155f3363d3d373d3d363d602036600436635c60da",xi=0x6100523d8160233d3973n,Ci="0x49493a4d";function To(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:ki(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function bi(e,r){let t=BigInt((r.length-2)/2),o=Ei+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Ri),Bytes.fromHex(gi),Bytes.fromHex(r)),{as:"Hex"}))}function ki(e,r){let t=BigInt((r.length-2)/2),o=xi+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(Ti),Bytes.fromHex(hi),Bytes.fromHex(Si),Bytes.fromHex(r)),{as:"Hex"}))}async function Ii(e,r){try{let t=await e.ethCall({to:r,data:Ci});return vi(t)}catch(t){if(Po(t))return ZERO_ADDRESS;throw t}}async function qi(e,r){let t=await Ii(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function xo(e,r,t){return await qi(e,t.depositWalletFactory)?To(r,t):ho(r,t)}function vi(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Ai(e,r,t){if(isSameEvmAddress(t,r))return WalletType.EOA;let o=e.walletDerivation;if(isSameEvmAddress(t,To(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,ho(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,Pi(r,o)))return WalletType.GNOSIS_SAFE;if(isSameEvmAddress(t,fi(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(Oi(r))return wi(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(Co(s)){for(let a of s)t.append(n,Me(a));continue}t.append(n,Me(s));}}return t}function E(e={}){return {format:"snake_case",exceptions:e}}function N(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(Me).join(","));continue}r.append(t,Me(o));}return r}function Oi(e){return "format"in e}function wi(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??Li(o);if(Co(n)){for(let a of n)t.append(s,Me(a));continue}t.append(s,Me(n));}return t}function Co(e){return Array.isArray(e)}function Li(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function Me(e){return String(e)}var Jg=m$1(g$1,f$1,l,c,b);async function Qg(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(f(ClosedOnlyModeSchema)))).closedOnly}var Ki=z.object({tokenId:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional()}).default({}),Xg=m$1(g$1,f$1,l,c,b,a);function eR(e,r){let{cursor:t,...o}=m(r,Ki);return x(n=>e.secureClob.get("/data/orders",{params:g({...o,nextCursor:n},E({tokenId:"asset_id"}))}).andThen(f(OpenOrdersPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var $i=z.object({orderId:z.string()}),rR=m$1(g$1,f$1,l,c,b,a);async function tR(e,r){let t=m(r,$i);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(f(OpenOrderSchema)))}var Vi={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()},Zi=z.object(Vi).default({}),oR=m$1(g$1,f$1,l,c,b,a);function ko(e,r){let{cursor:t,...o}=m(r,Zi);return x(n=>e.secureClob.get("/data/trades",{params:g({...o,nextCursor:n},E({tokenId:"asset_id"}))}).andThen(f(ClobTradesPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var nR=m$1(g$1,f$1,l,c,b),Yi=z.object({ids:z.array(z.string()).min(1)});async function sR(e){let r=ue(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:g({signatureType:r},E())}).andThen(f(NotificationsResponseSchema)))}var aR=m$1(g$1,f$1,l,c,b,a);async function iR(e,r){let t=m(r,Yi),o=ue(e.account.walletType),n=g({ids:t.ids.join(","),signatureType:o},E());await unwrap(e.secureClob.del("/notifications",{params:n}));}var Ji=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),pR=m$1(g$1,f$1,l,c,b,a);async function $r(e,r){let t=m(r,Ji),o=ue(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:g({...t,signatureType:o},E())}).andThen(f(BalanceAllowanceResponseSchema)))}var Qi=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),cR=m$1(g$1,f$1,l,c,b,a);async function Io(e,r){let t=m(r,Qi),o=ue(e.account.walletType),n=g({...t,signatureType:o},E());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),$r(e,t)}var Xi=z.object({orderId:z.string()}),dR=m$1(g$1,f$1,l,c,b,a);async function uR(e,r){let t=m(r,Xi);return (await unwrap(e.secureClob.get("/order-scoring",{params:g(t,E())}).andThen(f(OrderScoringResponseSchema)))).scoring}var ep=z.object({orderIds:z.array(z.string())}),lR=m$1(g$1,f$1,l,c,b,a);async function mR(e,r){let o=m(r,ep).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(f(OrdersScoringResponseSchema)))}var qo=z.object({cursor:PaginationCursorSchema.optional(),date:z.string()}),yR=m$1(g$1,f$1,l,c,b,a);function fR(e,r){let{cursor:t,...o}=m(r,qo),n=ue(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user",{params:g({...o,nextCursor:s,signatureType:n},E())}).andThen(f(UserEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var PR=m$1(g$1,f$1,l,c,b,a);async function gR(e,r){let t=m(r,qo),o=ue(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:g({...t,signatureType:o},E())}).andThen(f(TotalUserEarningsResponseSchema)))}var rp=z.object({cursor:PaginationCursorSchema.optional(),date:z.string(),noCompetition:z.boolean().optional(),orderBy:z.string().optional(),pageSize:w.max(500).default(100),position:z.string().optional()}),RR=m$1(g$1,f$1,l,c,b,a);function ER(e,r){let{cursor:t,...o}=m(r,rp),n=ue(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user/markets",{params:g({...o,nextCursor:s,signatureType:n},E())}).andThen(f(UserRewardsEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var SR=m$1(g$1,f$1,l,c,b);async function hR(e){let r=ue(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:g({signatureType:r},E())}).andThen(f(RewardsPercentagesSchema)))}var ap=z.enum(["CASH","TOKENS"]),ip=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e4).default(20),takerOnly:z.boolean().optional(),filterType:ap.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(),start:z.number().int().min(0).optional(),end:z.number().int().min(0).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"]}),OR=m$1(g$1,f$1,c,b,a);function wR(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,ip);return x(s=>{let a=D(s,o);return e.data.get("/trades",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListTradesResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var pp=z.enum(["TIMESTAMP","TOKENS","CASH"]),cp=z.enum(["ASC","DESC"]),dp=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(500).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().min(0).optional(),end:z.number().int().min(0).optional(),sortBy:pp.optional(),sortDirection:cp.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),LR=m$1(g$1,f$1,c,b,a);function MR(e,r){let{cursor:t,pageSize:o,...n}=m(r,dp);return x(s=>{let a=D(s,o);return e.data.get("/activity",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListActivityResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var up=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),lp=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.default(50),user:z.string(),conditionId:up.optional()}),FR=m$1(g$1,f$1,c,b,a);function BR(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=m(r,lp);return x(a=>{let y=g({...s,limit:o,cursor:a},E());return mp(y,n),e.data.get("/v1/activity/combos",{params:y}).andThen(f(ListComboActivityResponseSchema)).map(P=>{let A=P.pagination.nextCursor??void 0;return {items:P.activity,hasMore:A!==void 0,nextCursor:A}})},t)}function mp(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var fp=64,Pp=/^0x[0-9a-fA-F]{62}$/,gp=/^0x[0-9a-fA-F]{64}$/,Zr="0x0000000000000000000000000000000000000000000000000000000000000000",Rp=AbiFunction.from("function approve(address spender, uint256 amount)"),wo=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),Ep=AbiFunction.from("function transfer(address recipient, uint256 amount)"),Sp=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),hp=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),Lo=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),Mo=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),Fo=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),Tp=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),xp=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Cp=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),bp=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),kp=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Ip=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),qp=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),vp=AbiFunction.from("function multiSend(bytes)"),Ap=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),Bo=[1n,2n],Op=[1n,2n],ee=(1n<<256n)-1n,_R=m$1(a);function fr(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>ee)throw new a("Approval amount exceeds uint256 range");return {data:wp(r,t),to:e}}function Uo(e,r,t){return {data:AbiFunction.encodeData(wo,[r,t]),to:e}}function Do(e){return AbiFunction.decodeResult(wo,e)}function Pr(e,r,t){return {data:Lp(r,t),to:e}}function zo(e,r,t){return {data:AbiFunction.encodeData(Lo,[r,t]),to:e}}function Wo(e){return AbiFunction.decodeResult(Lo,e)}function jo(e,r,t){return {data:AbiFunction.encodeData(Mo,[r,Re(BigInt(t),"Position ID")]),to:e}}function Ho(e){return AbiFunction.decodeResult(Mo,e)}function Yr(e,r,t){return {data:AbiFunction.encodeData(Fo,[t.map(()=>r),t.map(o=>Re(BigInt(o),"id"))]),to:e}}function Jr(e){return AbiFunction.decodeResult(Fo,e)}var NR=m$1(a);function Qr(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>ee)throw new a("Transfer amount exceeds uint256 range");return {data:Mp(r,t),to:e}}var GR=m$1(a);function _o(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(Sp,[r,Re(t,"Perps deposit amount"),o]),to:e}}var KR=m$1(a),$R=m$1(a);function No(e,r,t,o){return {data:Fp(r,t,o),to:e}}var VR=m$1(a);function Go(e,r,t,o){return {data:Bp(r,t,o),to:e}}function Ko(e,r,t){return {data:Up(r,t),to:e}}var ZR=m$1(a);function $o(e,r,t){return {data:AbiFunction.encodeData(bp,[et(r),Re(t,"Split amount")]),to:e}}var YR=m$1(a);function Vo(e,r,t){return {data:AbiFunction.encodeData(kp,[et(r),Re(t,"Merge amount")]),to:e}}var JR=m$1(a);function Zo(e,r,t,o){return {data:AbiFunction.encodeData(Ip,[et(r),BigInt(Dp(t)),Re(o,"Redeem amount")]),to:e}}var QR=m$1(a);function Xr(e,r){return {data:AbiFunction.encodeData(qp,[r.map(t=>Re(t,"Leg position ID"))]),to:e}}function wp(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(Rp,[e,r])}function Lp(e,r){return AbiFunction.encodeData(hp,[e,r])}function Mp(e,r){return AbiFunction.encodeData(Ep,[e,r])}function Fp(e,r,t){return AbiFunction.encodeData(Tp,[e,Zr,r,Bo,Re(t,"Split amount")])}function Bp(e,r,t){return AbiFunction.encodeData(xp,[e,Zr,r,Bo,Re(t,"Merge amount")])}function Up(e,r){return AbiFunction.encodeData(Cp,[e,Zr,r,Op])}function Re(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>ee)throw new a(`${r} exceeds uint256 range`);return e}function et(e){if(Pp.test(e))return e.toLowerCase();if(gp.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,fp)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function Dp(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function Yo(e){return AbiFunction.encodeData(Ap,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function Jo(e){let r=e.map(t=>zp(t));return AbiFunction.encodeData(vp,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function zp(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 tE=m$1(g$1,f$1,h,i,c,b,a);function G(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}m$1(j,l);m$1(j,l);function iE(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 H(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 Qo(){return {kind:"requestAddress"}}function K(e,r){return {chainId:e,...r}}var Qp=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Xp=[{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"}],ec="DepositWallet",rc="1",tc=600,oc=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],nc=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],sc=z.object({address:z.string(),type:z.enum(RelayerTransactionType)}),TE=m$1(g$1,f$1,c,b,a);async function ot(e,r){let t=m(r,sc);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:g(t,{address:"address",type:"type"})}).andThen(f(RelayerExecuteParamsSchema)))}var ac=z.object({transactionId:TransactionIdSchema}),ic=z.object({wallet:EvmAddressSchema,type:z.enum(WalletType)}),xE=m$1(g$1,f$1,c,b,a);async function CE(e,r){let t=await pc(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(f(RelayerDeployedResponseSchema)).map(({deployed:o})=>o))}async function pc(e,r){if(r!==void 0)return m(r,ic);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 xo(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var $=z.string().max(500),Xo=10,bE=m$1(g$1,f$1,c,b,a);async function kE(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),Xe(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function cc(e,r){let t=m(r,ac);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(f(GaslessTransactionSchema)))}var dc=z.object({data:z.custom(isHexString),to:EvmAddressSchema,value:z.bigint().optional()}),uc=z.object({calls:z.array(dc).min(1).transform(e=>expectNonEmptyArray(e)),metadata:$}),IE=m$1(g$1,f$1,c,b,a);async function Q(e,r){let t=m(r,uc);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 Qo());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=Xo;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*lc(e,t);case WalletType.DEPOSIT_WALLET:return yield*mc(e,t);case WalletType.GNOSIS_SAFE:return yield*yc(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!ct(s)||n===Xo)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*lc(e,r){let t=yield*nt(e,r.calls,r.metadata);return Xe(e,t)}async function*nt(e,r,t){let o=await ot(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),n=e.environment.walletDerivation.proxyFactory,s=Yo(r),a="0",y="0",P=(await e.rpc.ethEstimateGas({data:s,from:e.account.signer,to:n})).toString(),A=e.environment.contracts.relayHub,q=o.address,j=Rc(e.account.signer,n,s,a,y,P,o.nonce,A,q),U=expectEvmSignature(yield nn(j));return {data:s,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:U,signatureParams:{gasLimit:P,gasPrice:y,relay:q,relayHub:A,relayerFee:a},to:n,type:RelayerTransactionType.PROXY}}function st(e){return !(e instanceof f$1)||e.status!==400?void 0:/batch nonce\s+\d+\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message)?.[1]}async function*mc(e,r){let t=yield*at(e,r.calls,r.metadata);try{return await Xe(e,t)}catch(o){let n=st(o);if(n===void 0)throw o;let s=yield*it(e,t,r.calls,n);return Xe(e,s)}}async function*at(e,r,t){let o=await ot(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),n=r.map(tn),s=`${Math.floor(Date.now()/1e3)+tc}`,a=expectEvmSignature(yield sn(on({calls:n,chainId:e.environment.chainId,deadline:s,nonce:o.nonce,wallet:e.account.wallet})));return {depositWalletParams:{calls:n,deadline:s,depositWallet:e.account.wallet},from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,signature:a,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET}}async function*it(e,r,t,o){let n=expectEvmSignature(yield sn(on({calls:t.map(tn),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:o,wallet:e.account.wallet})));return {...r,nonce:o,signature:n}}async function*yc(e,r){let t=yield*pt(e,r.calls,r.metadata);return Xe(e,t)}async function*pt(e,r,t){let o=await ot(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),n=fc(r,e.environment.contracts.safeMultisend),s=gc({chainId:e.environment.chainId,data:n.data,nonce:o.nonce,operation:n.operation,safeAddress:e.account.wallet,to:n.to,value:n.value}),a=expectEvmSignature(yield nn(expectHexString(TypedData.getSignPayload(s))));return {data:n.data,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:Ec(a),signatureParams:Pc(n.operation),to:n.to,type:RelayerTransactionType.SAFE,value:n.value>0n?`${n.value}`:void 0}}async function Xe(e,r){let t=m(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(f(RelayerExecuteResponseSchema)));return new er(e,o)}function ct(e){if(e instanceof g$1)return true;if(!(e instanceof f$1)||e.status!==400)return false;if(/wallet busy/i.test(e.message)&&/active action/i.test(e.message)||/wallet has in-flight action/i.test(e.message))return true;let r=/batch nonce\s+(\d+)\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message);if(r===null)return false;let t=r[1],o=r[2];return t===void 0||o===void 0?false:BigInt(t)<BigInt(o)}function tn(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function on(e){return {domain:{chainId:e.chainId,name:ec,verifyingContract:e.wallet,version:rc},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:nc,Call:oc}}}function fc(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:Jo(e),operation:1,to:r,value:0n}}function Pc(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function gc(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:Qp,SafeTx:Xp}}}function nn(e){return {kind:"signGaslessMessage",payload:e}}function sn(e){return {kind:"signGaslessTypedData",payload:e}}function Rc(e,r,t,o,n,s,a,y,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(y),Bytes.fromHex(P)),{as:"Hex"}))}function Ec(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 qE=m$1(g$1,f$1,c,b,a,h,i),er=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 cc(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 i(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#e.environment.relayerPollFrequencyMs);}throw new h(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var Sc=z.object({amount:z.union([z.bigint(),z.literal("max")]),metadata:$.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),zE=m$1(a);async function hc(e,r){let t=m(r,Sc),o=t.amount==="max"?ee:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?G(yield cn(K(e.environment.chainId,fr(t.tokenAddress,t.spenderAddress,o)))):yield*await Q(e,{calls:[fr(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var WE=m$1(j,g$1,f$1,l,c,b,a);function an(e,r){return hc(e,r).then(H(e.signer))}var Tc=z.object({approved:z.boolean().default(true),metadata:$.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),jE=m$1(a);async function xc(e,r){let t=m(r,Tc);return async function*(){return e.account.walletType===WalletType.EOA?G(yield dn(K(e.environment.chainId,Pr(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await Q(e,{calls:[Pr(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var HE=m$1(j,g$1,f$1,l,c,b,a);function pn(e,r){return xc(e,r).then(H(e.signer))}var _E=m$1(f$1,c,b,a);async function Cc(e){let r=await bc(e),t=r.erc20.map(n=>fr(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>Pr(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 G(yield cn(K(e.environment.chainId,s))).wait();for(let s of o)await G(yield dn(K(e.environment.chainId,s))).wait();return}await(yield*await Q(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var NE=m$1(j,g$1,f$1,l,h,i,c,b,a);function GE(e){return Cc(e).then(H(e.signer)).then(()=>{})}async function bc(e){let r=kc(e),t=[...r.erc20.map(a=>Uo(a.tokenAddress,e.account.wallet,a.spenderAddress)),...r.erc1155.map(a=>zo(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,y)=>Do(n[y])<a.amount),erc1155:r.erc1155.filter((a,y)=>!Wo(s[y]))}}function kc(e){let{contracts:r}=e.environment;return {erc20:[{amount:ee,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.collateralAdapter,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.negRiskCollateralAdapter,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.protocolV2Router,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.exchangeV3,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.perpsDepositContract,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.collateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskCollateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.conditionalTokens},{operatorAddress:r.protocolV2Router,tokenAddress:r.positionManager},{operatorAddress:r.exchangeV3,tokenAddress:r.positionManager},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.positionManager}]}}function cn(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function dn(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var QE=m$1(g$1,f$1,c,b);async function Ac(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:mn(r)}).andThen(f(ApiKeyCredsSchema)))}var XE=m$1(g$1,f$1,c,b);async function Oc(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:mn(r)}).andThen(f(ApiKeyCredsSchema)))}var eS=m$1(g$1,f$1,c,b);async function rS(e,r){try{return await Ac(e,r)}catch(t){if(!(t instanceof f$1)||t.status!==400)throw t}return Oc(e,r)}var tS=m$1(g$1,f$1,l,c,b);async function oS(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(f(ApiKeysResponseSchema)))).apiKeys}var nS=m$1(g$1,f$1,l,c,b);async function sS(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(f(z.literal("OK"))));}var aS=m$1(g$1,f$1,l,c,b);async function iS(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(f(BuilderApiKeyCredsSchema)))}var pS=m$1(g$1,f$1,l,c,b);async function cS(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(f(BuilderApiKeysResponseSchema)))}var dS=m$1(g$1,f$1,l,c,b);async function uS(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(f(z.literal("OK"))));}function mn(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var Bc=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()}),hS=m$1(g$1,f$1,c,b,a);function TS(e,r){let{cursor:t,...o}=m(r,Bc);return x(n=>e.clob.get("/builder/trades",{params:g({...o,nextCursor:n},E({builderCode:"builder_code",tokenId:"asset_id"}))}).andThen(f(PaginatedBuilderTradesSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var nd=z.object({tokenId:z.string()}),LS=m$1(g$1,f$1,c,b,a);async function MS(e,r){let t=m(r,nd);return (await unwrap(e.clob.get("/midpoint",{params:g(t,E())}).andThen(f(MidpointSchema)))).mid}var sd=z.array(z.object({tokenId:z.string()})).min(1),FS=m$1(g$1,f$1,c,b,a);async function BS(e,r){let t=m(r,sd);return unwrap(e.clob.post("midpoints",{json:Tr(t)}).andThen(f(MidpointsSchema)))}var ad=z.object({tokenId:z.string()}),US=m$1(g$1,f$1,c,b,a);async function De(e,r){let t=m(r,ad);return (await unwrap(e.clob.get("/tick-size",{params:g(t,E())}).andThen(f(FetchTickSizeResponseSchema)))).minimumTickSize}var id=z.object({tokenId:z.string()}),DS=m$1(g$1,f$1,c,b,a);async function ze(e,r){let t=m(r,id);return (await unwrap(e.clob.get("/neg-risk",{params:g(t,E())}).andThen(f(FetchNegRiskResponseSchema)))).negRisk}var pd=z.object({tokenId:TokenIdSchema}),zS=m$1(g$1,f$1,c,b,a);async function En(e,r){let t=m(r,pd);return unwrap(e.clob.get(`/markets-by-token/${t.tokenId}`).andThen(f(ResolveConditionByTokenResponseSchema)))}var cd=z.object({conditionId:CtfConditionIdSchema}),WS=m$1(g$1,f$1,c,b,a);async function Sn(e,r){let t=m(r,cd);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(f(FetchMarketInfoResponseSchema)))}var dd=z.object({builderCode:BuilderCodeSchema}),jS=m$1(g$1,f$1,c,b,a);async function hn(e,r){let t=m(r,dd);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(f(FetchBuilderFeeRatesResponseSchema)).mapErr(o=>o instanceof f$1&&o.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:o}):o))}var ud=z.object({tokenId:z.string(),side:OrderSideSchema}),HS=m$1(g$1,f$1,c,b,a);async function _S(e,r){let t=m(r,ud);return (await unwrap(e.clob.get("/price",{params:g(t,E())}).andThen(f(PriceSchema)))).price}var ld=z.array(z.object({tokenId:z.string(),side:OrderSideSchema})).min(1),NS=m$1(g$1,f$1,c,b,a);async function GS(e,r){let t=m(r,ld);return unwrap(e.clob.post("prices",{json:Td(t)}).andThen(f(PricesSchema)))}var md=z.object({tokenId:z.string()}),KS=m$1(g$1,f$1,c,b,a);async function Tn(e,r){let t=m(r,md);return unwrap(e.clob.get("/book",{params:g(t,E())}).andThen(f(FetchOrderBookResponseSchema)))}var yd=z.array(z.object({tokenId:z.string()})).min(1),$S=m$1(g$1,f$1,c,b,a);async function VS(e,r){let t=m(r,yd);return unwrap(e.clob.post("books",{json:Tr(t)}).andThen(f(OrderBooksSchema)))}var fd=z.object({tokenId:z.string()}),ZS=m$1(g$1,f$1,c,b,a);async function YS(e,r){let t=m(r,fd);return (await unwrap(e.clob.get("/spread",{params:g(t,E())}).andThen(f(SpreadSchema)))).spread}var Pd=z.array(z.object({tokenId:z.string()})).min(1),JS=m$1(g$1,f$1,c,b,a);async function QS(e,r){let t=m(r,Pd);return unwrap(e.clob.post("spreads",{json:Tr(t)}).andThen(f(SpreadsSchema)))}var gd=z.object({tokenId:z.string()}),XS=m$1(g$1,f$1,c,b,a);async function eh(e,r){let t=m(r,gd);return unwrap(e.clob.get("/last-trade-price",{params:g(t,E())}).andThen(f(LastTradePriceSchema)))}var Rd=z.array(z.object({tokenId:z.string()})).min(1),rh=m$1(g$1,f$1,c,b,a);async function th(e,r){let t=m(r,Rd);return unwrap(e.clob.post("last-trades-prices",{json:Tr(t)}).andThen(f(LastTradePricesSchema)))}var Ed=z.object({tokenId:z.string(),startTs:z.number().int().optional(),endTs:z.number().int().optional(),fidelity:z.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),oh=m$1(g$1,f$1,c,b,a);async function nh(e,r){let t=m(r,Ed);return (await unwrap(e.clob.get("/prices-history",{params:g(t,{tokenId:"market",startTs:"startTs",endTs:"endTs",fidelity:"fidelity",interval:"interval"})}).andThen(f(PriceHistorySchema)))).history}var Sd=z.object({cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}).default({}),sh=m$1(g$1,f$1,c,b,a);function ah(e,r={}){let{cursor:t,...o}=m(r,Sd);return x(n=>e.clob.get("/rewards/markets/current",{params:g({...o,nextCursor:n},E())}).andThen(f(PaginatedCurrentRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var hd=z.object({conditionId:CtfConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}),ih=m$1(g$1,f$1,c,b,a);function ph(e,r){let{cursor:t,...o}=m(r,hd);return x(n=>e.clob.get(`rewards/markets/${o.conditionId}`,{params:g({nextCursor:n,sponsored:o.sponsored},E())}).andThen(f(PaginatedMarketRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}function Tr(e){return e.map(({tokenId:r})=>({token_id:r}))}function Td(e){return e.map(({tokenId:r,side:t})=>({token_id:r,side:t}))}var kn=2*6e4,Sh=m$1(g$1,f$1,c,b);async function hh(e){return In(e),unwrap(e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:kn}).andThen(f(CollateralReturnPlanResponseSchema)))}var Ad=z.object({plan:CollateralReturnPlanSchema}),xn=10,ut="Collateral return",Th=m$1(f$1,c,b,a);async function Od(e,r){let{plan:t}=m(r,Ad);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),In(e),!isSameEvmAddress(t.wallet,e.account.wallet))throw new a("The collateral return plan was created for a different wallet than the authenticated account.");if(t.chainId!==e.environment.chainId)throw new a(`The collateral return plan was created for chain ${t.chainId}, but the client is configured for chain ${e.environment.chainId}.`);return async function*(){let o=[{data:t.routerCall.data,to:t.routerCall.to,value:0n}];for(let n=0;n<=xn;n+=1)try{let s=yield*wd(e,o);try{return await Cn(e,t.planHash,s)}catch(a){let y=st(a);if(y===void 0||s.type!==RelayerTransactionType.WALLET)throw a;let P=yield*it(e,s,o,y);return await Cn(e,t.planHash,P)}}catch(s){if(!ct(s)||n===xn)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var xh=m$1(j,g$1,f$1,l,c,b,a);function Ch(e,r){return Od(e,r).then(H(e.signer))}function In(e){invariant(e.account.walletType===WalletType.DEPOSIT_WALLET||e.account.walletType===WalletType.GNOSIS_SAFE||e.account.walletType===WalletType.POLY_PROXY,"Collateral return supports Deposit Wallet, Safe Wallet, and Proxy Wallet accounts");}function wd(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return pt(e,r,ut);case WalletType.POLY_PROXY:return nt(e,r,ut);default:return at(e,r,ut)}}async function Cn(e,r,t){let o=await unwrap(e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:kn}).andThen(f(RelayerExecuteResponseSchema)));return new er(e,o)}var Dd=z.object({ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).default(20),getPositions:z.boolean().optional(),holdersOnly:z.boolean().optional(),order:z.string().optional(),parentEntityId:z.union([EventIdSchema,SeriesIdSchema]),parentEntityType:CommentParentEntityTypeSchema}),zd=z.object({getPositions:z.boolean().optional(),id:CommentIdSchema}),Wd=z.object({address:z.string(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z.string().optional(),pageSize:w.max(100).default(20)}),Uh=m$1(g$1,f$1,c,b,a);function Dh(e,r){let{cursor:t,pageSize:o,...n}=m(r,Dd);return x(s=>{let a=D(s,o);return e.gamma.get("/comments",{params:g({ascending:n.ascending,getPositions:n.getPositions,holdersOnly:n.holdersOnly,limit:a.pageSize,offset:a.offset,order:n.order,parentEntityId:n.parentEntityId,parentEntityType:n.parentEntityType},E())}).andThen(f(ListCommentsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var zh=m$1(g$1,f$1,c,b,a);async function Wh(e,r){let t=m(r,zd);return unwrap(e.gamma.get(`comments/${t.id}`,{params:g({getPositions:t.getPositions},E())}).andThen(f(ListCommentsResponseSchema)))}var jh=m$1(g$1,f$1,c,b,a);function Hh(e,r){let{address:t,cursor:o,pageSize:n,...s}=m(r,Wd);return x(a=>{let y=D(a,n);return e.gamma.get(`comments/user_address/${t}`,{params:g({ascending:s.ascending,limit:y.pageSize,offset:y.offset,order:s.order},E())}).andThen(f(ListCommentsResponseSchema)).map(P=>{let A=P.length>=y.pageSize;return {items:P,hasMore:A,nextCursor:A?B({offset:y.offset+y.pageSize,pageSize:y.pageSize}):void 0}})},o)}function xr(e,r){let t;try{t=new URL(e);}catch(y){throw new a("Expected a valid Polymarket URL.",{cause:y})}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 Kd=z.object({ascending:z.boolean().optional(),closed:z.boolean().default(false),cursor:PaginationCursorSchema.optional(),pageSize:w.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()}),$d=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()})]),Vd=z.object({id:z.string()}),Zd=z.object({id:z.string()}),oT=m$1(g$1,f$1,c,b,a);function nT(e,r={}){let t=m(r,Kd);return x(o=>e.gamma.get("/events/keyset",{params:Yd({...t,cursor:o??t.cursor})}).andThen(f(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var sT=m$1(g$1,f$1,c,b,a);async function aT(e,r){let t=m(r,$d);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:Jd(t)}).andThen(f(EventSchema)));let o="url"in t?xr(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:Qd(t)}).andThen(f(EventSchema)))}var iT=m$1(g$1,f$1,c,b,a);async function pT(e,r){let t=m(r,Vd);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(f(FetchEventTagsResponseSchema)))}var cT=m$1(g$1,f$1,c,b,a);async function dT(e,r){let t=m(r,Zd);return unwrap(e.data.get("/live-volume",{params:N(t)}).andThen(f(FetchEventLiveVolumeResponseSchema)))}function Yd(e){return g(e,E({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function Jd(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}function Qd(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}var su=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(50).default(20),timePeriod:TimePeriodSchema.optional()}),au=z.object({timePeriod:TimePeriodSchema.optional()}),iu=z.object({category:LeaderboardCategorySchema.optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(50).default(20),timePeriod:TimePeriodSchema.optional(),orderBy:LeaderboardOrderBySchema.optional(),user:z.string().optional(),userName:z.string().optional()}),hT=m$1(g$1,f$1,c,b,a);function TT(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,su);return x(s=>{let a=D(s,o);return e.data.get("/v1/builders/leaderboard",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListBuilderLeaderboardResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var xT=m$1(g$1,f$1,c,b,a);async function CT(e,r={}){let t=m(r,au);return unwrap(e.data.get("/v1/builders/volume",{params:N(t)}).andThen(f(ListBuilderVolumeResponseSchema)))}var bT=m$1(g$1,f$1,c,b,a);function kT(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,iu);return x(s=>{let a=D(s,o);return e.data.get("/v1/leaderboard",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListTraderLeaderboardResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var du=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:w.max(100).default(20)}),BT=m$1(g$1,f$1,c,b,a);function UT(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,du);return x(s=>{let a=D(s,o);return e.gamma.get("/market-clarifications",{params:g({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(f(ListMarketClarificationsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Ru=z.object({ascending:z.boolean().optional(),closed:z.boolean().optional(),clobTokenIds:z.array(z.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.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()}),Eu=z.object({id:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Su=z.object({slug:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),hu=z.object({url:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Tu=z.union([Eu,Su,hu]),xu=z.object({id:z.string()}),Cu=z.object({limit:z.number().int().optional(),market:z.array(z.string()),minBalance:z.number().int().optional()}),bu=z.object({market:z.array(z.string()).optional()}),ku=z.enum(["OPEN","CLOSED","ALL"]),Iu=z.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),qu=z.enum(["ASC","DESC"]),vu=z.object({cursor:PaginationCursorSchema.optional(),market:z.string(),pageSize:w.max(500).default(20),user:z.string().optional(),status:ku.optional(),sortBy:Iu.optional(),sortDirection:qu.optional()}),JT=m$1(g$1,f$1,c,b,a);function Fn(e,r={}){let t=m(r,Ru);return x(o=>e.gamma.get("/markets/keyset",{params:Ou({...t,cursor:o??t.cursor})}).andThen(f(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Au=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).optional(),exclude:z.array(CtfConditionIdSchema).optional()}),QT=m$1(g$1,f$1,c,b,a);function XT(e,r={}){let t=m(r,Au);return x(o=>e.rfq.get("/v1/rfq/combo-markets",{params:wu({...t,cursor:o??t.cursor})}).andThen(f(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var ex=m$1(g$1,f$1,c,b,a);async function rx(e,r){let t=m(r,Tu);return "id"in t?Lu(e,t):"url"in t?wn(e,{includeTag:t.includeTag,locale:t.locale,slug:xr(t.url,"market")}):wn(e,t)}var tx=m$1(g$1,f$1,c,b,a);async function ox(e,r){let t=m(r,xu);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(f(FetchMarketTagsResponseSchema)))}var nx=m$1(g$1,f$1,c,b,a);async function sx(e,r){let t=m(r,Cu);return unwrap(e.data.get("/holders",{params:N(t)}).andThen(f(ListMarketHoldersResponseSchema)))}var ax=m$1(g$1,f$1,c,b,a);async function ix(e,r={}){let t=m(r,bu);return unwrap(e.data.get("/oi",{params:N(t)}).andThen(f(ListOpenInterestResponseSchema)))}var px=m$1(g$1,f$1,c,b,a);function cx(e,r){let{cursor:t,pageSize:o,...n}=m(r,vu);return x(s=>{let a=D(s,o);return e.data.get("/v1/market-positions",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListMarketPositionsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function Ou(e){return g(e,E({cursor:"after_cursor",ids:"id",marketMakerAddresses:"market_maker_address",pageSize:"limit"}))}function wu(e){return g({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function wn(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:g({includeTag:r.includeTag,locale:r.locale},E())}).andThen(f(MarketSchema)))}async function Lu(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:g({includeTag:r.includeTag,locale:r.locale},E())}).andThen(f(MarketSchema)))}var Bu=z.object({orderId:z.string()}),Uu=z.object({orderIds:z.array(z.string()).min(1).max(3e3)}),Du=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"]}),gx=m$1(f$1,g$1,l,c,b,a);async function Rx(e,r){let t=m(r,Bu);return kr(e,"/order",{orderID:t.orderId})}var Ex=m$1(f$1,g$1,l,c,b,a);async function Sx(e,r){let t=m(r,Uu);return kr(e,"/orders",t.orderIds)}var hx=m$1(f$1,g$1,l,c,b);async function Tx(e){return kr(e,"/cancel-all")}var xx=m$1(f$1,g$1,l,c,b,a);async function Cx(e,r){let t=m(r,Du);return kr(e,"/cancel-market-orders",{asset_id:t.tokenId,market:t.market})}async function kr(e,r,t){return unwrap(e.secureClob.del(r,{json:t}).andThen(f(CancelOrdersResponseSchema)))}var Un=z.object({tokenId:z.string(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FOK)}),Wu=z.discriminatedUnion("side",[Un.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),Un.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema})]),wx=m$1(k,g$1,f$1,c,b,a);async function Lx(e,r){let t=m(r,Wu),o=await De(e,{tokenId:t.tokenId}),n=t.side===OrderSide.BUY?t.amount:t.shares;return Pt(e,{amount:n,orderType:t.orderType,side:t.side,tickSize:o,tokenId:t.tokenId})}async function Pt(e,r){let t=await Tn(e,{tokenId:r.tokenId}),o=r.side===OrderSide.BUY?Hu(t.asks,r.amount,r.orderType):_u(t.bids,r.amount,r.orderType);return invariant(ju(o,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),o}function ju(e,r){return e>=r&&e<=1-r}function Hu(e,r,t){if(e.length===0)throw new k("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 k("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}function _u(e,r,t){if(e.length===0)throw new k("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 k("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}var $u=z.array(z.custom()).min(1).max(15),Hx=m$1(g$1,f$1,l,c,b),_x=m$1(g$1,f$1,l,c,b,a);function qr(e){return async function(t){let o=jn(e,t);return unwrap(e.secureClob.post("/order",{json:o}).andThen(f(OrderResponseSchema)))}}function Nx(e){return async function(t){let n=m(t,$u).map(s=>jn(e,s));return unwrap(e.secureClob.post("/orders",{json:n}).andThen(f(OrderResponsesSchema)))}}function jn(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 me(e){return BigInt(Math.round(e*10**6))}function ye(e,r){return V(e)<=r?e:Math.floor(e*10**r)/10**r}function be(e,r){return V(e)<=r?e:Math.ceil(e*10**r)/10**r}function Hn(e,r){return V(e)<=r?e:Math.round(e*10**r)/10**r}function _n(e,r){let t=V(r);if(V(e)>t)return false;let o=10**t;return Math.round(e*o)%Math.round(r*o)===0}function V(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)}function vr(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 sr(e,r,t){let o=V(r);if(e<r||e>1-r)throw new a(`${t} must be between ${r} and ${1-r} for tick size ${r}.`);if(V(e)>o)throw new a(`${t} must conform to tick size ${r} with at most ${o} decimal places.`);if(!_n(e,r))throw new a(`${t} ${e} must be a multiple of tick size ${r}.`);return e}function je(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}var Xu=180,Kn=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)+Xu;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}});async function $n(e,r){let t=await el(e,{price:r.price,tokenId:r.tokenId}),o=rl({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 el(e,r){let t=e.account,o=await De(e,{tokenId:r.tokenId}),n=await ze(e,{tokenId:r.tokenId});return {exchangeAddress:je(e,n),funderAddress:t.wallet,negRisk:n,price:sr(r.price,o,"Price"),signerAddress:t.signer,tickSize:o}}function rl(e){let r=vr(e.tickSize),t=Hn(e.price,r.price);if(e.side===OrderSide.BUY){let s=ye(e.size,r.size),a=s*t;return V(a)>r.amount&&(a=be(a,r.amount+4),V(a)>r.amount&&(a=ye(a,r.amount))),{offeredAmount:me(a),requestedAmount:me(s)}}let o=ye(e.size,r.size),n=o*t;return V(n)>r.amount&&(n=be(n,r.amount+4),V(n)>r.amount&&(n=ye(n,r.amount))),{offeredAmount:me(o),requestedAmount:me(n)}}var Vn=z.object({tokenId:TokenIdSchema,builderCode:BuilderCodeSchema.optional(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FAK)}),Zn=z.discriminatedUnion("side",[Vn.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),Vn.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()})]);async function Yn(e,r){let t=await nl(e,r),o=il({amount:t.resolvedAmount,price:t.price,protectPrice:al(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 nl(e,r){let t=e.account,o=await De(e,{tokenId:r.tokenId}),n=r.side===OrderSide.BUY?r.amount:r.shares,s=await sl(e,r,n,o),a=await ze(e,{tokenId:r.tokenId}),y=await pl(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:je(e,a),funderAddress:t.wallet,negRisk:a,price:s,resolvedAmount:y,signerAddress:t.signer,tickSize:o}}async function sl(e,r,t,o){return r.side===OrderSide.BUY&&r.maxPrice!==void 0?sr(r.maxPrice,o,"maxPrice"):r.side===OrderSide.SELL&&r.minPrice!==void 0?sr(r.minPrice,o,"minPrice"):Pt(e,{amount:t,orderType:r.orderType,side:r.side,tickSize:o,tokenId:r.tokenId})}function al(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}function il(e){let r=vr(e.tickSize),t=ye(e.price,r.price),o=ye(e.amount,r.size);if(e.side===OrderSide.BUY){let s=o/t;return V(s)>r.amount&&(s=be(s,r.amount+4),V(s)>r.amount&&(s=e.protectPrice?be(s,r.amount):ye(s,r.amount))),{offeredAmount:me(o),requestedAmount:me(s)}}let n=o*t;return V(n)>r.amount&&(n=be(n,r.amount+4),V(n)>r.amount&&(n=e.protectPrice?be(n,r.amount):ye(n,r.amount))),{offeredAmount:me(o),requestedAmount:me(n)}}async function pl(e,r){if(r.side!==OrderSide.BUY||r.maxSpend===void 0)return r.amount;let[t,o]=await Promise.all([cl(e,r.tokenId),dl(e,r.builderCode)]);return ul({amount:r.amount,builderTakerFeeRate:o,platformFeeExponent:t.exponent,platformFeeRate:t.rate,maxSpend:r.maxSpend,price:r.price})}async function cl(e,r){let t=await En(e,{tokenId:r});return (await Sn(e,{conditionId:t})).feeInfo}async function dl(e,r){return r===void 0?0:(await hn(e,{builderCode:r})).taker}function ul(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 Jn="0x0000000000000000000000000000000000000000000000000000000000000000";function Et(e,r){let t=So(r);return {builder:e.builderCode??Jn,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:Jn,orderType:e.orderType,salt:ll().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.tokenId}}function St(e,r){let{chainId:t,exchangeAddress:o,...n}=e;return {...n,signature:r}}function ll(){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 es="Polymarket CTF Exchange",fl="DepositWallet",Pl="1",ht="0x0000000000000000000000000000000000000000000000000000000000000000",Tt="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",gl=Hash.keccak256(Bytes.fromString(Tt),{as:"Hex"}),Rl=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),El=Hash.keccak256(Bytes.fromString(es),{as:"Hex"}),Sl=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],rs=[{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"}],hl=[{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 ts(e){let r=Tl(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:ss(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:fl,salt:ht,verifyingContract:e.order.signer,version:Pl},primaryType:"TypedDataSign",types:{Order:rs,TypedDataSign:hl}}}function os(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(Tt)),t=Tt.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${xl(e.domain).slice(2)}${Cl(e.order).slice(2)}${r.slice(2)}${t}`)}function ns(e){return {builder:e.builder??ht,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??ht,salt:BigInt(e.salt),side:kl(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function Tl(e,r){return {domain:ss(e),message:ns(r),primaryType:"Order",types:{EIP712Domain:Sl,Order:rs}}}function ss(e){return {chainId:e.chainId,name:es,verifyingContract:e.exchange,version:e.protocolVersion}}function xl(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[Rl,El,bl(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function Cl(e){let r=ns(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"}],[gl,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 bl(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function kl(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}function Ct(e){return ts({domain:as(e),order:e})}function bt(e,r){return os({domain:as(e),order:e,signature:r})}function as(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:"2"}}function kt(e){return {kind:"signOrder",payload:e}}var Il=m$1(k,g$1,f$1,l,c,b,a);async function It(e,r){let t=m(r,Zn);return async function*(){let o=await Yn(e,t),n=Et(o,e.account),s=expectEvmSignature(yield kt(Ct(n)));return St(n,bt(n,s))}.call(null)}var ql=m$1(g$1,f$1,l,c,b,a);async function qt(e,r){let t=m(r,Kn);return async function*(){let o=await $n(e,t),n=Et(o,e.account),s=expectEvmSignature(yield kt(Ct(n))),a=St(n,bt(n,s));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var AC=Il;async function OC(e,r){return ps(e,It(e,r))}var wC=ql;async function LC(e,r){return ps(e,qt(e,r))}async function ps(e,r){let t=await r;return async function*(){let o=yield*t;return qr(e)(o)}.call(null)}var Ol=250,wl=3e4,Ll={timeoutMs:z.number().int().positive().optional()},Ml=z.object(Ll).default({}),jC=m$1(g$1,f$1,l,h,i,c,b,a);function Fl(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function cs(e){return e.status===TradeStatus.Failed}async function HC(e,r,t){let{timeoutMs:o=wl}=m(t,Ml),n=[...new Set(r.tradeIds)];if(n.length===0)return [...r.transactionsHashes];let s=new Map,a=Date.now()+o;for(;s.size<n.length;){let P=n.filter(q=>!s.has(q)),A=await Promise.all(P.map(q=>ko(e,{id:q}).firstPage()));for(let q of A)for(let j of q.items)n.includes(j.id)&&Fl(j)&&s.set(j.id,j);if(s.size===n.length)break;if(Date.now()>=a){let q=n.filter(j=>!s.has(j));throw new h(`Timed out waiting for trades to settle: ${q.join(", ")}`)}await delay(Ol);}let y=[...s.values()];if(y.every(cs))throw new i(`Every fill of order ${r.orderId} failed execution: ${n.join(", ")}`);return [...new Set(y.filter(P=>!cs(P)).map(P=>P.transactionHash))].map(P=>TxHashSchema.parse(P))}async function ms(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await $r(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,tokenId:r.tokenId});return Ul(o,r.spenderAddress)}function Ul(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var ab=m$1(j,k,g$1,f$1,l,c,b,a);function Dl(e,r){return It(e,r).then(H(e.signer))}var ib=m$1(j,k,g$1,f$1,l,h,i,c,b,a);function pb(e,r){return Dl(e,r).then(t=>fs(e,t))}var cb=m$1(j,g$1,f$1,l,c,b,a);function zl(e,r){return qt(e,r).then(H(e.signer))}var db=m$1(j,g$1,f$1,l,h,i,c,b,a);function ub(e,r){return zl(e,r).then(t=>fs(e,t))}async function fs(e,r){let t=qr(e);try{return await t(r)}catch(o){if(!jl(o))throw o;let n=await Wl(e,r,t);if(n===void 0)throw o;return n}}async function Wl(e,r,t){return await Hl(e,r)?t(r):void 0}function jl(e){return e instanceof f$1&&e.status===400&&e.message.includes("allowance is not enough")}async function Hl(e,r){let t=await ze(e,{tokenId:r.tokenId}),o=je(e,t),n=BigInt(r.makerAmount);return await ms(e,{spenderAddress:o,side:r.side,tokenId:r.tokenId})>=n?false:(await(r.side===OrderSide.BUY?await an(e,{amount:"max",spenderAddress:o,tokenAddress:e.environment.contracts.collateralToken}):await pn(e,{operatorAddress:o,tokenAddress:e.environment.contracts.conditionalTokens})).wait(),await Io(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?r.tokenId:void 0}),true)}function Ps(e){let r=TypedData.getSignPayload(Ot(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function Ot(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode(gs(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 gs(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(gs):e}var Ar=class{#e;#r;#t;constructor({root:r,headers:t,resolveHeaders:o}){this.#e=uo.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,...o.timeout!==void 0&&{timeout:o.timeout}})}#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;let o=this.#d(t);if(t.status===429)throw new g$1(`Request to ${t.url} was rate limited`,{retryAfter:o});let n=await this.#m(t);throw new f$1(n,{retryAfter:o,status:t.status})}),t=>t instanceof g$1||t instanceof f$1?t:c.fromError(t))}#d(r){let t=r.headers.get("retry-after");if(!(t===null||!/^\d+$/.test(t)))return Number(t)}async#m(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 Jl=1e4,Ql=3e4,Xl=5e3,em=10*6e4,rm=3e4,tm=25e3,om=65e3,Rs=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},Jl);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>Ql}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Es=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},Xl);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>em}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Ss=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>rm}},Or=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"}}));},tm);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>om}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var am=5e3,im=250,pm=3e4,wr=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=dm(this.#r,{baseMs:im,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);}}},Lr=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=cm(r.url,r.headers),a=()=>{s.removeEventListener("error",y),this.#i(s),this.#p(),r.onOpen(t),o(s);},y=P=>{s.removeEventListener("open",a),n(new c(`WebSocket connection failed: ${r.url}`,{cause:P}));};s.addEventListener("open",a,{once:true}),s.addEventListener("error",y,{once:true}),s.addEventListener("message",P=>{if(this.#r!==s)return;let A=String(P.data);if(this.#e?.handleMessage(A))return;let q;try{q=JSON.parse(A);}catch{return}r.onMessage(q);}),s.addEventListener("close",P=>{this.#r===s&&(this.#s(),r.onConnectionLost({code:P.code||1005,reason:P.reason??""}));}),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();},am));}#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 cm(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 dm(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var Mr=1440*60*1e3,bs=90*Mr,ne=z.number().int().nonnegative(),Mt=z.object({start:ne.optional(),end:ne.optional()}),ks=z.object({interval:PerpsPnlIntervalSchema,start:ne,end:ne.optional()}),vm=z.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),Am=z.enum(["perpsEquityHistory","perpsPnlHistory"]),Ft=z.object({kind:vm,startTimestamp:ne,endTimestamp:ne,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z.array(z.string())}),Is=z.object({kind:Am,startTimestamp:ne,endTimestamp:ne,interval:PerpsPnlIntervalSchema});async function qs(e){return await unwrap(e.get("/v1/account/balances").andThen(f(FetchPerpsBalancesResponseSchema)))}async function vs(e){return await unwrap(e.get("/v1/account/portfolio").andThen(f(FetchPerpsPortfolioResponseSchema)))}async function As(e){return await unwrap(e.get("/v1/account/stats").andThen(f(FetchPerpsAccountStatsResponseSchema)))}var Om=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Os(e,r){let t=m(r,Om);return await unwrap(e.get("/v1/account/config",{params:ce(t)}).andThen(f(FetchPerpsAccountConfigResponseSchema)))}var wm=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function ws(e,r){let t=m(r,wm);return await unwrap(e.get("/v1/account/open-orders",{params:ce(t)}).andThen(f(FetchPerpsOpenOrdersResponseSchema)))}var Lm=z.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ne.optional(),end:ne.optional()}).default({}),Mm=Lm.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function Ls(e,r){let t=m(r,Mm);return await unwrap(e.get("/v1/account/orders",{params:ce(t)}).andThen(f(FetchPerpsOrdersResponseSchema)))}var Fm=z.object({start:ne.optional(),end:ne.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function Ms(e,r={}){let t=m(r,Fm);return x(o=>e.get("/v1/account/fills",{params:ce({startTimestamp:t.start,endTimestamp:t.end,sort:t.sort,cursor:o??t.cursor})}).andThen(f(ListPerpsFillsResponseSchema)).map(n=>{let s=n.data.at(-1);return !n.more||s===void 0?{items:n.data,hasMore:false}:{items:n.data,hasMore:true,nextCursor:toPaginationCursor(String(s.tradeId))}}),t.cursor)}var Bm=Mt.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),Um=z.object({cursor:PaginationCursorSchema}),Dm=z.union([Bm.transform(({cursor:e,...r})=>({cursor:e,params:Bt(r,Mr)})),Um.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Fs(e,r={}){let{cursor:t,params:o}=m(r,Dm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=Ne(n,Ft);let{kind:a,seenKeys:y,...P}=s,A=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:ce(P)}).andThen(f(ListPerpsFundingPaymentsResponseSchema)).map(q=>{let j=q.data.filter(U=>!A.has(`${U.instrumentId}:${U.timestamp}:${U.funding}`));return Ut({getKey:U=>`${U.instrumentId}:${U.timestamp}:${U.funding}`,getTimestamp:U=>U.timestamp,items:j,responseData:q.data,responseMore:q.more,state:s})})},t)}var zm=Mt.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),Wm=z.object({cursor:PaginationCursorSchema}),jm=z.union([zm.transform(({cursor:e,...r})=>({cursor:e,params:Bt(r,bs)})),Wm.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Bs(e,r={}){let{cursor:t,params:o}=m(r,jm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps deposit params."),s={kind:"perpsDeposits",seenKeys:[],...o}):s=Ne(n,Ft);let{kind:a,seenKeys:y,...P}=s,A=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:ce(P)}).andThen(f(ListPerpsDepositsResponseSchema)).map(q=>{let j=q.data.filter(U=>!A.has(U.hash));return Ut({getKey:U=>U.hash,getTimestamp:sy,items:j,responseData:q.data,responseMore:q.more,state:s})})},t)}var Hm=Mt.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),_m=z.object({cursor:PaginationCursorSchema}),Nm=z.union([Hm.transform(({cursor:e,...r})=>({cursor:e,params:Bt(r,bs)})),_m.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Us(e,r={}){let{cursor:t,params:o}=m(r,Nm);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps withdrawal params."),s={kind:"perpsWithdrawals",seenKeys:[],...o}):s=Ne(n,Ft);let{kind:a,seenKeys:y,...P}=s,A=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:ce(P)}).andThen(f(ListPerpsWithdrawalsResponseSchema)).map(q=>{let j=q.data.filter(U=>!A.has(String(U.withdrawalId)));return Ut({getKey:U=>String(U.withdrawalId),getTimestamp:ay,items:j,responseData:q.data,responseMore:q.more,state:s})})},t)}var Gm=ks.extend({cursor:PaginationCursorSchema.optional()}),Km=z.object({cursor:PaginationCursorSchema}),$m=z.union([Gm.transform(({cursor:e,...r})=>({cursor:e,params:_s(r)})),Km.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Ds(e,r){let{cursor:t,params:o}=m(r,$m);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps equity history params."),s={kind:"perpsEquityHistory",...o}):s=Ne(n,Is);let{kind:a,...y}=s;return e.get("/v1/account/equity",{params:ce(y)}).andThen(f(ListPerpsEquityHistoryResponseSchema)).map(P=>{let A=P.data.at(-1),q=P.more&&A!==void 0&&A.timestamp<s.endTimestamp;return {items:P.data,hasMore:q,nextCursor:q?Fr({...s,startTimestamp:A.timestamp+Ns(s.interval)}):void 0}})},t)}var Vm=ks.extend({cursor:PaginationCursorSchema.optional()}),Zm=z.object({cursor:PaginationCursorSchema}),Ym=z.union([Vm.transform(({cursor:e,...r})=>({cursor:e,params:_s(r)})),Zm.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function zs(e,r){let{cursor:t,params:o}=m(r,Ym);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps PnL history params."),s={kind:"perpsPnlHistory",...o}):s=Ne(n,Is);let{kind:a,...y}=s;return e.get("/v1/account/pnl",{params:ce(y)}).andThen(f(ListPerpsPnlHistoryResponseSchema)).map(P=>{let A=P.data.at(-1),q=P.more&&A!==void 0&&A.timestamp<s.endTimestamp;return {items:P.data,hasMore:q,nextCursor:q?Fr({...s,startTimestamp:A.timestamp+Ns(s.interval)}):void 0}})},t)}var Jm=z.object({kind:z.literal("perpsNotifications"),cursor:z.string().min(1),sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional()}),Qm=z.object({sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),Xm=z.object({cursor:PaginationCursorSchema}),ey=z.union([Qm.transform(({cursor:e,...r})=>({cursor:e,params:r})),Xm.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Ws(e,r={}){let{cursor:t,params:o}=m(r,ey);return x(n=>{let s;n===void 0?invariant(o!==void 0,"Expected initial Perps notifications params."):s=Ne(n,Jm);let a=s===void 0?o?.sinceSeq:s.sinceSeq,y=s===void 0?o?.limit:s.limit;return e.get("/v1/account/notifications",{params:ce({cursor:s?.cursor,limit:y,sinceSeq:a})}).andThen(f(ListPerpsNotificationsResponseSchema)).map(P=>{let A=P.has_more&&P.next_cursor!==null;return {items:P.items,hasMore:A,nextCursor:A&&P.next_cursor!==null?Fr({kind:"perpsNotifications",cursor:P.next_cursor,limit:y,sinceSeq:a}):void 0}})},t)}async function js(e){return (await unwrap(e.get("/v1/account/notifications",{params:ce({limit:1})}).andThen(f(FetchPerpsUnreadNotificationsCountResponseSchema)))).unread}var ry=z.object({ids:z.array(z.string().min(1)).min(1)}),ty=z.object({upTo:z.object({id:z.string().min(1),timestamp:z.number().int().nonnegative()})}),oy=z.union([ry.transform(({ids:e})=>({ids:e})),ty.transform(({upTo:e})=>({before:ny(e)}))]);async function Hs(e,r){let t=m(r,oy),o=await unwrap(e.post("/v1/account/notifications/read",{json:t}).andThen(f(MarkPerpsNotificationsReadResponseSchema)));if(o.status==="err")throw new f$1(o.error??"Perps notifications read request was rejected.",{status:200})}function ny(e){return btoa(JSON.stringify({ts:e.timestamp,id:e.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Bt(e,r){let t=Date.now(),{end:o,start:n,...s}=e;return {...s,endTimestamp:o??t,startTimestamp:n??t-r}}function _s(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function Ne(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps account pagination cursor",{cause:t})}}function Fr(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function ce(e){return g(e,E())}function sy(e){return e.confirmedTimestamp??e.createdTimestamp}function ay(e){return e.confirmedTimestamp??e.createdTimestamp}function Ut(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 y of e.items)e.getTimestamp(y)===s&&a.add(e.getKey(y));return {items:e.items,hasMore:n,nextCursor:Fr({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function Ns(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return Mr;case "1w":return 7*Mr}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var Wt=z.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional()}),my=Wt.extend({price:PerpsDecimalInputSchema,timeInForce:z.literal(PerpsTimeInForce.GTC),postOnly:z.boolean().default(false)}),yy=Wt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.IOC),postOnly:z.never().optional()}),fy=Wt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.FOK),postOnly:z.never().optional()}),Ys=z.discriminatedUnion("timeInForce",[my,yy,fy]),Br=z.object({triggerPrice:PerpsDecimalInputSchema,limitPrice:PerpsDecimalInputSchema.optional()}),Ur=z.object({triggerPrice:PerpsDecimalInputSchema}),Py=z.union([z.object({takeProfit:Br,stopLoss:Br.optional()}),z.object({takeProfit:Br.optional(),stopLoss:Br})]),gy=z.object({orders:z.array(Ys).min(1),expiresAt:z.number().int().positive().optional()});async function jt(e,r){let t=m(r,gy);return await e.sendSignedWsCommand({op:["createOrders",t.orders.map(na)],responseSchema:z.array(PerpsPostOrderAckSchema),timeoutMessage:"Perps post order acknowledgement timed out.",expiresAt:t.expiresAt})}var Ry=z.intersection(Ys,z.intersection(Py,z.object({expiresAt:z.number().int().positive().optional()})));function Js(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Qs(e,r){let t=m(r,Ry),o=[na(t)],n=t.side===OrderSide.SELL;return t.takeProfit!==void 0&&o.push(Wr({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Wr({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),trigger:t.stopLoss})),await sa(e,{expiresAt:t.expiresAt,group:PerpsTpSlScope.Order,orders:o})}var Ey=z.union([z.object({takeProfit:Ur,stopLoss:Ur.optional()}),z.object({takeProfit:Ur.optional(),stopLoss:Ur})]),Sy=z.intersection(Ey,z.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z.number().int().positive().optional()})),hy=z.intersection(Sy,z.object({buy:z.boolean()}));async function Xs(e,r){let t=m(r,hy),o=[];return t.takeProfit!==void 0&&o.push(Wr({buy:t.buy,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:"0",trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Wr({buy:t.buy,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:"0",trigger:t.stopLoss})),await sa(e,{expiresAt:t.expiresAt,group:PerpsTpSlScope.Position,orders:o})}var Ty=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 ea(e,r){let t=m(r,Ty),[o]=t.orderId!==void 0?await zr(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await zr(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var xy=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 zr(e,r){let t=m(r,xy);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 Cy=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z.number().int().positive().optional()}).default({});async function ra(e,r,t){let o=m(t,Cy),n=["cancelAll",o.instrumentId===void 0?[]:[o.instrumentId]],s=r(n,o.expiresAt);await unwrap(e.del("/v1/trade/orders/all",{json:{...s,op:Ht(n)}}).andThen(f(PerpsCancelAllOrdersResponseSchema)));}var by=z.object({instrumentId:PerpsInstrumentIdSchema,leverage:z.number().int().positive(),crossMargin:z.boolean()}),ta=m$1(f$1,l,c,a);async function oa(e,r){let t=m(r,by);return await e.sendSignedWsCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]],responseSchema:PerpsUpdateLeverageResultSchema,timeoutMessage:"Perps update leverage response timed out."})}function na(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 Wr(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 sa(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 Ht(e){let[r,t,o]=e;switch(r){case "createOrders":return qy({args:t.map(ky),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 ky(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=Iy(e[8])),r}function Iy(e){let r={tpsl:e[2],trp:e[1]};return e[0]!==void 0&&(r.market=e[0]),r}function qy(e,r){return r!==void 0&&(e.grp=r),e}var Ly=3e4,pa=3e4,ca=2e3,My=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],Fy=new Set(["notifications"]),By=z.object({id:z.number().int().positive().optional(),data:z.unknown().optional()}).passthrough(),da=z.union([PerpsCommandAckSchema,z.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),ua=class{credentials;#e;#r;#t;#o;#n;#c=new Lr({heartbeat:new Or});#i=pushable({objectMode:true});#s=new Map;#p=new Set;#a=new wr;#d=new Map;#m=1;#l;constructor(r){this.#e=new Ar({headers:r.headers,resolveHeaders:async()=>this.#k(),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.#l!==void 0}async connect(){await this.#P(false);}async close(){this.#l===void 0&&(this.#l=this.#q()),await this.#l;}[Symbol.asyncIterator](){return this.#i[Symbol.asyncIterator]()}async fetchBalances(){return await qs(this.#e)}async fetchPortfolio(){return await vs(this.#e)}async fetchStats(){return await As(this.#e)}async fetchAccountConfig(r){return await Os(this.#e,r)}async fetchOpenOrders(r){return await ws(this.#e,r)}async fetchOrders(r){return await Ls(this.#e,r)}listFills(r={}){return Ms(this.#e,r)}listFundingPayments(r={}){return Fs(this.#e,r)}listDeposits(r={}){return Bs(this.#e,r)}listWithdrawals(r={}){return Us(this.#e,r)}listEquityHistory(r){return Ds(this.#e,r)}listPnlHistory(r){return zs(this.#e,r)}listNotifications(r={}){return Ws(this.#e,r)}async fetchUnreadNotificationsCount(){return await js(this.#e)}async markNotificationsRead(r){await Hs(this.#e,r);}async placeOrder(r){if(Js(r))return await this.#T(r);let[t]=await jt(this.#u(),{orders:[r],expiresAt:r.expiresAt}).then(expectNonEmptyArray);if(t.status==="err")throw new f$1(t.error,{status:200});return {order:(await this.#S(n=>n.type==="order"&&n.payload.id===t.orderId,ca)).payload}}async postOrders(r){return await jt(this.#u(),r)}async#T(r){let t=await Qs(this.#u(),r).then(expectNonEmptyArray);for(let P of t)if(P.status==="err")throw new f$1(P.error,{status:200});let[o]=t,n=pr(o),s=await this.#S(P=>P.type==="order"&&P.payload.id===n.orderId,ca),a=1,y={};return r.takeProfit!==void 0&&(y.takeProfit=pr(expectPresent(t[a++],"Expected Perps take-profit acknowledgement."))),r.stopLoss!==void 0&&(y.stopLoss=pr(expectPresent(t[a],"Expected Perps stop-loss acknowledgement."))),{order:s.payload,tpSl:y}}async placePositionTpSl(r){let t=await Xs(this.#u(),{...r,buy:await this.#x(r.instrumentId)}).then(expectNonEmptyArray);for(let s of t)if(s.status==="err")throw new f$1(s.error,{status:200});let o=0,n={};return r.takeProfit!==void 0&&(n.takeProfit=pr(expectPresent(t[o++],"Expected Perps take-profit acknowledgement."))),r.stopLoss!==void 0&&(n.stopLoss=pr(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:zy(o.size);if(n===0)throw new a(`No open Perps position for instrument ${r}.`);return n<0}async cancelOrder(r){return await ea(this.#u(),r)}async cancelOrders(r){return await zr(this.#u(),r)}async cancelAllOrders(r){await ra(this.#e,(t,o)=>this.#g(t,o),r);}async updateLeverage(r){return await oa(this.#u(),r)}async#P(r){await this.#c.connect({onConnectionLost:()=>this.#O(),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.#m++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},da,Ly,"Perps session authentication timed out.");}async#b(){await this.#y({id:this.#m++,req:"sub",chs:My},da,pa,"Perps session subscription timed out.");}#k(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}#u(){return {sendSignedWsCommand:r=>this.#I(r)}}async#I(r){let t=Ht(r.op),o=this.#g(r.op,r.expiresAt);return await this.#y({...o,id:this.#m++,op:t,req:"post"},r.responseSchema,pa,r.timeoutMessage)}#g(r,t){let o=Wy(),n=Date.now(),s;try{s=Ps({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n});}catch(y){throw l.fromError(y,"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=Uy(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.#h(new c("Perps session closed.")),this.#i.end(),await this.#c.close(),this.#o(this);}#v(r){if(this.#A(r)||PerpsNotificationsResyncFrameSchema.safeParse(r).success)return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#w(o),this.#E(o);}#A(r){let t=By.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=la(t.data.data??t.data);return s!==void 0?o.reject(new f$1(s.error,{status:200})):o.reject(new c("Perps session unexpected response.")),true}return Dy(n.data)?o.reject(new f$1(n.data.error,{status:200})):o.resolve(n.data),true}#O(){this.#R(new c("Perps session connection closed.")),this.#h(new c("Perps session connection closed.")),this.#l===void 0&&this.#a.schedule({reconnect:()=>this.#P(true),shouldReconnect:()=>this.#l===void 0});}#R(r){for(let t of this.#s.values())t.reject(r);this.#s.clear();}#w(r){if(Fy.has(r.channel))return;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);}#S(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 h("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);}#h(r){for(let t of Array.from(this.#p))this.#f(t),t.reject(r);}};function Uy(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function Dy(e){return la(e)!==void 0}function la(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 pr(e){if(e.status==="err")throw new f$1(e.error,{status:200});return {orderId:e.orderId}}function zy(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function Wy(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var we=m$1(g$1,f$1,c,b,a),Pe=z.number().int().nonnegative(),fa=1440*60*1e3,af=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),hk=we;async function Tk(e,r){let t=m(r,af);return unwrap(e.perps.get("/v1/info/instruments",{params:g(t,E())}).andThen(f(FetchPerpsInstrumentsResponseSchema)))}var pf=z.object({instrumentId:PerpsInstrumentIdSchema}),xk=we;async function Ck(e,r){let t=m(r,pf),[o]=await df(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var cf=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),bk=we;async function df(e,r){let t=m(r,cf),o=g(t,E()),[n,s]=await Promise.all([unwrap(e.perps.get("/v1/info/tickers",{params:o}).andThen(f(FetchPerpsTickersResponseSchema))),unwrap(e.perps.get("/v1/info/statistics",{params:o}).andThen(f(FetchPerpsStatisticsResponseSchema)))]),a=new Map(s.map(y=>[y.instrumentId,y]));return n.map(y=>{let P=a.get(y.instrumentId);return {...y,openPrice:P?.openPrice,volume24h:P?.volume}})}var uf=z.union([z.literal(10),z.literal(100),z.literal(500),z.literal(1e3)]),lf=z.object({instrumentId:PerpsInstrumentIdSchema,depth:uf.default(100)}),kk=we;async function Ik(e,r){let t=m(r,lf);return unwrap(e.perps.get("/v1/info/book",{params:g(t,E())}).andThen(f(PerpsBookSchema)))}var mf=z.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:Pe.optional(),end:Pe.optional(),cursor:PaginationCursorSchema.optional()}),yf=z.object({cursor:PaginationCursorSchema}),ff=z.union([mf.transform(({cursor:e,...r})=>({cursor:e,params:bf(r)})),yf.transform(({cursor:e})=>({cursor:e,params:void 0}))]),qk=we;function vk(e,r){let{cursor:t,params:o}=m(r,ff);return x(n=>{let s=n===void 0?kf(o):vf(n);return e.perps.get("/v1/info/klines",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,interval:s.interval,startTimestamp:s.startTimestamp},E())}).andThen(f(FetchPerpsCandlesResponseSchema)).map(a=>{let y=a.data.at(-1),P=a.more&&y!==void 0;return {items:a.data,hasMore:P,nextCursor:P?$t({...s,startTimestamp:y.timestamp+wf(s.interval)}):void 0}})},t)}var Pa=z.object({instrumentId:PerpsInstrumentIdSchema,start:Pe.optional(),end:Pe.optional()}),Pf=Pa.extend({cursor:PaginationCursorSchema.optional()}),gf=z.object({cursor:PaginationCursorSchema}),Rf=z.union([Pf.transform(({cursor:e,...r})=>({cursor:e,params:ga(r)})),gf.transform(({cursor:e})=>({cursor:e,params:void 0}))]),Ef=Pa.extend({cursor:PaginationCursorSchema.optional()}),Sf=z.object({cursor:PaginationCursorSchema}),Ak=we;function Ok(e,r){let{cursor:t,params:o}=m(r,Rf);return x(n=>{let s=n===void 0?If(o):Af(n);return e.perps.get("/v1/info/funding",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},E())}).andThen(f(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let y=a.data.at(-1),P=a.more&&y!==void 0&&y.timestamp>s.startTimestamp;return {items:a.data,hasMore:P,nextCursor:P?$t({...s,endTimestamp:y.timestamp-1}):void 0}})},t)}var hf=z.union([Ef.transform(({cursor:e,...r})=>({cursor:e,params:ga(r)})),Sf.transform(({cursor:e})=>({cursor:e,params:void 0}))]),wk=we;function Lk(e,r){let{cursor:t,params:o}=m(r,hf);return x(n=>{let s=n===void 0?qf(o):Of(n),a=new Set(s.seenTradeIds);return e.perps.get("/v1/info/trades",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},E())}).andThen(f(FetchPerpsTradesResponseSchema)).map(y=>{let P=y.data.filter(ai=>!a.has(ai.tradeId)),A=y.data.at(-1),q=P.at(-1),j=q?.timestamp??A?.timestamp,U=y.more&&j!==void 0&&j>s.startTimestamp;return {items:P,hasMore:U,nextCursor:U?$t({...s,endTimestamp:q===void 0?j-1:j,seenTradeIds:q===void 0?[]:Lf(s,P,q)}):void 0}})},t)}var Mk=m$1(g$1,f$1,c,b);async function Fk(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(f(FetchPerpsFeesResponseSchema)))).feeSchedule}var Tf=z.object({kind:z.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:Pe,endTimestamp:Pe}),xf=z.object({kind:z.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe}),Cf=z.object({kind:z.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe,seenTradeIds:z.array(PerpsTradeIdSchema)});function bf(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-fa}}function ga(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-fa}}function kf(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function If(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function qf(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function vf(e){return Kt(e,Tf)}function Af(e){return Kt(e,xf)}function Of(e){return Kt(e,Cf)}function Kt(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function $t(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function wf(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 Lf(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 Mf=z.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),Ff=z.object({proxy:z.string().transform(e=>expectEvmAddress(e)),privateKey:Mf,secret:z.string().min(1),expiresAt:z.number().int().positive()}),Bf=10080*60*1e3,Uf=z.strictObject({expiresIn:z.number().int().positive().default(Bf),label:z.string().min(1).optional()}),Df=z.strictObject({credentials:Ff}),zf=z.union([Uf,Df]),Wf=z.object({proxy:z.string()}),jf=Wf.transform(e=>({proxy:expectEvmAddress(e.proxy)})),Ra=z.bigint().positive().max(ee),Hf=z.object({amount:Ra,metadata:$.optional()}),_f=z.object({amount:Ra}),Bk=m$1(g$1,f$1,l,c,b,a),Uk=m$1(g$1,f$1,l,c,b,a),Dk=m$1(a),zk=m$1(j,g$1,f$1,l,c,b,a),Wk=m$1(g$1,f$1,l,c,b,a);async function jk(e,r={}){let t=m(r,zf),o="credentials"in t?await Kf(e,t.credentials):await Gf(e,t);return e.webSockets.perpsSession.connect(o)}async function Hk(e,r){let t=m(r,jf),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=Vt(),a=Date.now(),y=await Vf(e,{salt:s,signedOp:n,timestamp:a}),P=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:o,salt:s,sig:y,ts:a}}).andThen(f(PerpsDeleteProxyResponseSchema)));if(P.status==="err")throw new f$1(P.error??"Perps credentials revocation was rejected.",{status:200})}async function Nf(e,r){let t=m(r,Hf),{contracts:o}=e.environment,n=_o(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?G(yield rP(K(e.environment.chainId,n))):yield*await Q(e,{calls:[n],metadata:t.metadata??`Deposit ${t.amount} of ${o.collateralToken} to Perps`})}.call(null)}function _k(e,r){return Nf(e,r).then(H(e.signer))}async function Nk(e,r){let t=m(r,_f),o=Math.floor(Date.now()/1e3),n=Vt(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await Zf(e,{amount:t.amount,salt:n,timestamp:o}),y=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:s,salt:n,sig:a,ts:o}}).andThen(f(PerpsWithdrawResponseSchema)));if(y.status==="err")throw new f$1(y.error??"Perps withdrawal was rejected.",{status:200});if(y.withdrawalId===void 0)throw new b("Perps withdrawal response did not include a withdrawal ID.");return y.withdrawalId}async function Gf(e,r){let t=Qf(),o=Sa(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),y=Vt(),P={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},A=await $f(e,{expiresAt:s,proxy:o,salt:y,timestamp:a}),q={op:P,salt:y,sig:A,ts:a};r.label!==void 0&&(q.label=r.label);let j=await unwrap(e.perps.post("/v1/account/proxy",{json:q}).andThen(f(PerpsCreateProxyResponseSchema))),U={expiresAt:s,privateKey:t,proxy:o,secret:j.secret};return Ea(e,U)}async function Kf(e,r){return Xf(r),Ea(e,r)}async function Ea(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:eP(r)}).andThen(f(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 $f(e,r){try{return await e.signer.signTypedData(Jf({chainId:e.environment.chainId,...r}))}catch(t){throw l.fromError(t,"Could not sign the Perps proxy credentials request")}}async function Vf(e,r){try{return await e.signer.signTypedData(Ot({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw l.fromError(t,"Could not sign the Perps operation request")}}async function Zf(e,r){try{return await e.signer.signTypedData(Yf({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 l.fromError(t,"Could not sign the Perps withdrawal request")}}function Yf(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 Jf(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 Qf(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function Sa(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function Xf(e){let r=Sa(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function eP(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function rP(e){return {kind:"sendPerpsDepositTransaction",request:e}}function Vt(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Ta=(s=>(s.CurrentValueDesc="current_value_desc",s.FirstEntryDesc="first_entry_desc",s.EntryCostDesc="entry_cost_desc",s.ResolvedAtDesc="resolved_at_desc",s.UpdatedAsc="updated_asc",s))(Ta||{}),pP=z.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),xa=z.enum(["ASC","DESC"]),cP=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:w.max(500).default(20),sortBy:pP.optional(),sortDirection:xa.optional(),title:z.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),tI=m$1(g$1,f$1,c,b,a);function oI(e,r){let{cursor:t,pageSize:o,...n}=m(r,cP);return x(s=>{let a=D(s,o);return e.data.get("/positions",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListPositionsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var dP=z.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),uP=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:w.max(50).default(20),sortBy:dP.optional(),sortDirection:xa.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),nI=m$1(g$1,f$1,c,b,a);function sI(e,r){let{cursor:t,pageSize:o,...n}=m(r,uP);return x(s=>{let a=D(s,o);return e.data.get("/closed-positions",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(f(ListClosedPositionsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var lP=z.enum(Ta),mP=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),yP=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),pageSize:w.default(20),status:ComboPositionStatusSchema.optional(),sort:lP.optional(),conditionId:mP.optional(),updatedAfter:z.number().int().min(0).optional(),updatedBefore:z.number().int().min(0).optional()}),aI=m$1(g$1,f$1,c,b,a);function iI(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=m(r,yP);return x(a=>{let y=g({...s,limit:o,cursor:a},E({updatedAfter:"updatedAfter",updatedBefore:"updatedBefore"}));return fP(y,n),e.data.get("/v1/positions/combos",{params:y}).andThen(f(ListComboPositionsResponseSchema)).map(P=>{let A=P.pagination.nextCursor??void 0;return {items:P.combos,hasMore:A!==void 0,nextCursor:A}})},t)}function fP(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var PP=z.object({user:z.string(),market:z.array(z.string()).optional()}),pI=m$1(g$1,f$1,c,b,a);async function cI(e,r){let t=m(r,PP);return unwrap(e.data.get("/value",{params:N(t)}).andThen(f(FetchPortfolioValueResponseSchema)))}var gP=z.object({user:z.string()}),dI=m$1(g$1,f$1,c,b,a);async function uI(e,r){let t=m(r,gP);return unwrap(e.data.get("/traded",{params:N(t)}).andThen(f(TradedSchema)))}var RP=z.object({user:z.string()}),lI=m$1(g$1,f$1,c,b,a);async function mI(e,r){let t=m(r,RP);return unwrap(e.data.get("/v1/accounting/snapshot",{params:N(t)}).andThen(co))}var qa=32,va=3n,ka=50,SP=(1n<<256n)-1n;function Jt(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[va,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function Aa(e){if(e.length===0||e.length>ka)throw new a(`Combo legs must include 1 to ${ka} position IDs`);let r=e.map(t=>{let o=wa(t),n=o.toString(16).padStart(qa*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 Oa(e){let t=wa(e).toString(16).padStart(qa*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==va)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 wa(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>SP)throw new a("Position ID must be a uint256 value");return t}var Ma=z.object({amount:z.bigint().min(0n),conditionId:CtfConditionIdSchema,metadata:$.optional()}),TP=z.object({amount:z.bigint().positive(),legs:z.array(PositionIdSchema).min(1).max(50),metadata:$.optional()}),Fa=z.array(PositionIdSchema).min(1).max(50).transform(Aa),xP=z.object({amount:z.bigint().positive(),legs:Fa,metadata:$.optional()}),CP=z.union([Ma.extend({legs:z.never().optional()}),TP.extend({conditionId:z.never().optional()})]),Ba=m$1(g$1,f$1,c,b,a),MI=Ba,FI=Ba,Ua=m$1(g$1,f$1,c,b,a),BI=Ua,UI=Ua,Da=m$1(g$1,f$1,c,b,a),DI=Da,zI=Da;async function za(e,r){let t=m(r,Ma),o=await ro(e,{conditionId:t.conditionId}),n=No(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Qt(K(e.environment.chainId,n))):yield*await Q(e,{calls:[n],metadata:t.metadata??`Split ${t.amount} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function Wa(e,r){let t=m(r,xP),o=Xr(e.environment.contracts.combinatorialModule,t.legs),n=Jt(t.legs),s=$o(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await G(yield Qt(K(e.environment.chainId,o))).wait(),G(yield Qt(K(e.environment.chainId,s)))):yield*await Q(e,{calls:[o,s],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${n.conditionId}`})}.call(null)}async function bP(e,r){let t=m(r,CP);return t.legs!==void 0?Wa(e,t):za(e,t)}var ja=m$1(j,g$1,f$1,l,h,i,c,b,a),WI=ja,jI=ja;function HI(e,r){return za(e,r).then(H(e.signer))}function _I(e,r){return Wa(e,r).then(H(e.signer))}function NI(e,r){return bP(e,r).then(H(e.signer))}var Ha=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),conditionId:CtfConditionIdSchema,metadata:$.optional()}),kP=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:z.array(PositionIdSchema).min(1).max(50),metadata:$.optional()}),IP=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:Fa,metadata:$.optional()}),qP=z.union([Ha.extend({legs:z.never().optional()}),kP.extend({conditionId:z.never().optional()})]);async function _a(e,r){let t=m(r,Ha),o=await ro(e,{conditionId:t.conditionId}),n=Jr(await e.rpc.ethCall(Yr(o.positionErc1155Address,e.account.wallet,o.tokenIds))),s=Ya(o.conditionId,n,t.amount),a=Go(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Xt(K(e.environment.chainId,a))):yield*await Q(e,{calls:[a],metadata:t.metadata??`Merge ${s} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function Na(e,r){let t=m(r,IP),o=Xr(e.environment.contracts.combinatorialModule,t.legs),n=Jt(t.legs),s=Jr(await e.rpc.ethCall(Yr(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),a=Ya(n.conditionId,s,t.amount),y=Vo(e.environment.contracts.protocolV2Router,n.conditionId,a);return async function*(){return e.account.walletType===WalletType.EOA?(await G(yield Xt(K(e.environment.chainId,o))).wait(),G(yield Xt(K(e.environment.chainId,y)))):yield*await Q(e,{calls:[o,y],metadata:t.metadata??`Merge ${a} combo positions for condition ${n.conditionId}`})}.call(null)}async function vP(e,r){let t=m(r,qP);return t.legs!==void 0?Na(e,t):_a(e,t)}var Ga=m$1(j,g$1,f$1,l,h,i,c,b,a),GI=Ga,KI=Ga;function $I(e,r){return _a(e,r).then(H(e.signer))}function VI(e,r){return Na(e,r).then(H(e.signer))}function ZI(e,r){return vP(e,r).then(H(e.signer))}var Ka=z.object({conditionId:CtfConditionIdSchema,marketId:z.never().optional(),amount:z.never().optional(),positionId:z.never().optional(),metadata:$.optional()}),$a=z.object({conditionId:z.never().optional(),marketId:MarketIdSchema,amount:z.never().optional(),positionId:z.never().optional(),metadata:$.optional()}),AP=z.union([Ka,$a]),Va=z.object({positionId:PositionIdSchema,conditionId:z.never().optional(),marketId:z.never().optional(),metadata:$.optional()}),OP=z.union([Ka,$a,Va]);async function wP(e,r){let t=m(r,AP),o=await ro(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),n=Ko(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Za(K(e.environment.chainId,n))):yield*await Q(e,{calls:[n],metadata:t.metadata??`Redeem positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function LP(e,r){let t=m(r,Va),o=Oa(t.positionId),n=Ho(await e.rpc.ethCall(jo(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Combo position has no balance to redeem");let s=Zo(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Za(K(e.environment.chainId,s))):yield*await Q(e,{calls:[s],metadata:t.metadata??`Redeem combo position ${t.positionId}`})}.call(null)}async function MP(e,r){let t=m(r,OP);return t.positionId!==void 0?LP(e,t):wP(e,t)}var YI=m$1(j,g$1,f$1,l,c,b,a);function JI(e,r){return MP(e,r).then(H(e.signer))}function Qt(e){return {kind:"sendSplitPositionTransaction",request:e}}function Xt(e){return {kind:"sendMergePositionsTransaction",request:e}}function Za(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function ro(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await Fn(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[FP(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=BP(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 FP(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function BP(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 Ya(e,r,t){let o=UP(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 UP(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 HP=z.object({address:z.string()}),aq=m$1(g$1,f$1,c,b,a);async function iq(e,r){let t=m(r,HP);return unwrap(e.gamma.get("/public-profile",{params:g(t,E())}).andThen(f(PublicProfileSchema)).orElse(o=>o instanceof f$1&&o.status===404?ok(null):err(o)))}var to=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;}},uq=m$1(e,to,l,h,c,a),oo=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;}},lq=m$1(e,oo,h,c),no=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;}},mq=m$1(e,no,h,c),yq=m$1(e,c);async function fq(e){return e.webSockets.rfqQuoter.connect()}var Qa=(y=>(y.Volume="volume",y.Volume24Hr="volume_24hr",y.Liquidity="liquidity",y.Competitive="competitive",y.ClosedTime="closed_time",y.StartDate="start_date",y.EndDate="end_date",y))(Qa||{}),GP=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:w.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(Qa).optional()}),wq=m$1(g$1,f$1,c,b,a);function Lq(e,r){let{cursor:t,pageSize:o,...n}=m(r,GP);return x(s=>{let a=D(s,o);return e.gamma.get("/public-search",{params:g({...n,limitPerType:a.pageSize,page:a.offset},E({excludeTagIds:"exclude_tag_id"}))}).andThen(f(PublicSearchResponseSchema)).map(y=>({items:KP(y),hasMore:y.pagination?.hasMore??false,totalCount:y.pagination?.totalResults??void 0,nextCursor:y.pagination?.hasMore?B({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??B({offset:1,pageSize:o}),{events:[],profiles:[],tags:[]})}function KP(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var JP=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:w.max(50).default(20),recurrence:z.enum(["daily","weekly","monthly"]).optional(),slug:z.array(z.string()).optional()}),QP=z.object({id:z.string(),locale:z.string().optional()}),Nq=m$1(g$1,f$1,c,b,a);function Gq(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,JP);return x(s=>{let a=D(s,o);return e.gamma.get("/series",{params:g({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(f(ListSeriesResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Kq=m$1(g$1,f$1,c,b,a);async function $q(e,r){let t=m(r,QP);return unwrap(e.gamma.get(`series/${t.id}`,{params:g({locale:t.locale},E())}).andThen(f(SeriesSchema)))}var Xq=m$1(g$1,f$1,c,b);async function ev(e){return unwrap(e.gamma.get("/sports").andThen(f(ListSportsMetadataResponseSchema)))}var rv=m$1(g$1,f$1,c,b);async function tv(e){return unwrap(e.gamma.get("/sports/market-types").andThen(f(SportsMarketTypesResponseSchema)))}function ei(e){if(e.topic==="prices.crypto.chainlink.twap"&&e.windowSeconds!==30&&e.windowSeconds!==60)throw new a(`TWAP window must be 30 or 60 seconds, received ${String(e.windowSeconds)}.`)}var dv=m$1(c,a);async function uv(e,r){for(let o of r)ei(o);let t=await Promise.all(r.map(o=>og(e,o)));return ng(t)}function og(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.crypto.chainlink.twap":case "prices.equity.pyth":return e.webSockets.rtds.subscribe(r);case "perps.trades":case "perps.bbo":case "perps.book":case "perps.candles":case "perps.tickers":case "perps.statistics":return e.webSockets.perpsSubscriptions.subscribe(r);case "user":return invariant(e.isSecureClient(),"A 'user' subscription requires a secure client instance."),e.webSockets.clobUser.subscribe(r)}}function ng(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=tg(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var ig=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:w.max(100).default(20)}),pg=z.union([z.object({id:z.string(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),locale:z.string().optional()})]),cg=z.object({id:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),dg=z.object({slug:z.string()}),ug=z.object({id:z.string(),locale:z.string().optional(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),lg=z.object({locale:z.string().optional(),slug:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Tv=m$1(g$1,f$1,c,b,a);function xv(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,ig);return x(s=>{let a=D(s,o);return e.gamma.get("/tags",{params:g({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(f(ListTagsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Cv=m$1(g$1,f$1,c,b,a);async function bv(e,r){let t=m(r,pg);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:g({includeTemplate:t.includeTemplate,locale:t.locale},E())}).andThen(f(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:g({locale:t.locale},E())}).andThen(f(TagSchema)))}var kv=m$1(g$1,f$1,c,b,a);async function Iv(e,r){if("id"in r){let o=m(r,cg);return unwrap(e.gamma.get(`tags/${o.id}/related-tags`,{params:g({omitEmpty:o.omitEmpty,status:o.status},E())}).andThen(f(ListRelatedTagsResponseSchema)))}let t=m(r,dg);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(f(ListRelatedTagsResponseSchema)))}var qv=m$1(g$1,f$1,c,b,a);async function vv(e,r){if("id"in r){let o=m(r,ug);return unwrap(e.gamma.get(`tags/${o.id}/related-tags/tags`,{params:g({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},E())}).andThen(f(ListRelatedTagResourcesResponseSchema)))}let t=m(r,lg);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:g({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},E())}).andThen(f(ListRelatedTagResourcesResponseSchema)))}var fg=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:w.max(100).default(20),providerId:z.array(z.number().int()).optional()}),zv=m$1(g$1,f$1,c,b,a);function Wv(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,fg);return x(s=>{let a=D(s,o);return e.gamma.get("/teams",{params:g({...n,limit:a.pageSize,offset:a.offset},E({providerId:"provider_id"}))}).andThen(f(ListTeamsResponseSchema)).map(y=>{let P=y.length>=a.pageSize;return {items:y,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var gg=z.object({amount:z.bigint(),metadata:$.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),Jv=m$1(a);async function Rg(e,r){let t=m(r,gg);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Eg(K(e.environment.chainId,Qr(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await Q(e,{calls:[Qr(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var Qv=m$1(j,g$1,f$1,l,c,b,a);function Xv(e,r){return Rg(e,r).then(H(e.signer))}function Eg(e){return {kind:"sendErc20TransferTransaction",request:e}}
2
- export{Io as $,QE as $a,Sh as $b,Hx as $c,Wk as $d,iq as $e,JR as A,CE as Aa,En as Ab,BT as Ac,Es as Ad,Da as Ae,dv as Af,Zo as B,$ as Ba,WS as Bb,UT as Bc,Ss as Bd,DI as Be,uv as Bf,QR as C,bE as Ca,Sn as Cb,JT as Cc,Or as Cd,zI as Ce,Tv as Cf,Xr as D,kE as Da,jS as Db,Fn as Dc,wr as Dd,za as De,xv as Df,Yo as E,cc as Ea,hn as Eb,QT as Ec,Lr as Ed,Wa as Ee,Cv as Ef,Jo as F,IE as Fa,HS as Fb,XT as Fc,ta as Fd,bP as Fe,bv as Ff,m as G,Q as Ga,_S as Gb,ex as Gc,ua as Gd,ja as Ge,kv as Gf,lo as H,nt as Ha,NS as Hb,rx as Hc,hk as Hd,WI as He,Iv as Hf,Dg as I,st as Ia,GS as Ib,tx as Ic,Tk as Id,jI as Ie,qv as If,So as J,at as Ja,KS as Jb,ox as Jc,xk as Jd,HI as Je,vv as Jf,ho as K,it as Ka,Tn as Kb,nx as Kc,Ck as Kd,_I as Ke,zv as Kf,To as L,pt as La,$S as Lb,sx as Lc,bk as Ld,NI as Le,Wv as Lf,Jg as M,ct as Ma,VS as Mb,ax as Mc,df as Md,_a as Me,Jv as Mf,Qg as N,qE as Na,ZS as Nb,ix as Nc,kk as Nd,Na as Ne,Rg as Nf,Xg as O,er as Oa,YS as Ob,px as Oc,Ik as Od,vP as Oe,Qv as Of,eR as P,zE as Pa,JS as Pb,cx as Pc,qk as Pd,Ga as Pe,Xv as Pf,rR as Q,hc as Qa,QS as Qb,gx as Qc,vk as Qd,GI as Qe,tR as R,WE as Ra,XS as Rb,Rx as Rc,Ak as Rd,KI as Re,oR as S,an as Sa,eh as Sb,Ex as Sc,Ok as Sd,$I as Se,ko as T,jE as Ta,rh as Tb,Sx as Tc,wk as Td,VI as Te,nR as U,xc as Ua,th as Ub,hx as Uc,Lk as Ud,ZI as Ue,sR as V,HE as Va,oh as Vb,Tx as Vc,Mk as Vd,wP as Ve,aR as W,pn as Wa,nh as Wb,xx as Wc,Fk as Wd,LP as We,iR as X,_E as Xa,sh as Xb,Cx as Xc,Bk as Xd,MP as Xe,pR as Y,Cc as Ya,ah as Yb,wx as Yc,Uk as Yd,YI as Ye,$r as Z,NE as Za,ih as Zb,Lx as Zc,Dk as Zd,JI as Ze,cR as _,GE as _a,ph as _b,Pt as _c,zk as _d,aq as _e,ee as a,dR as aa,Ac as ab,hh as ac,_x as ad,jk as ae,to as af,_R as b,uR as ba,XE as bb,Th as bc,qr as bd,Hk as be,uq as bf,fr as c,lR as ca,Oc as cb,Od as cc,Nx as cd,Nf as ce,oo as cf,Uo as d,mR as da,eS as db,xh as dc,ts as dd,_k as de,lq as df,Do as e,yR as ea,rS as eb,Ch as ec,os as ed,Nk as ee,no as ef,Pr as f,fR as fa,tS as fb,kt as fd,Ta as fe,mq as ff,zo as g,PR as ga,oS as gb,Uh as gc,Il as gd,tI as ge,yq as gf,Wo as h,gR as ha,nS as hb,Dh as hc,It as hd,oI as he,fq as hf,jo as i,RR as ia,sS as ib,zh as ic,ql as id,nI as ie,Ho as j,ER as ja,aS as jb,Wh as jc,qt as jd,sI as je,Yr as k,SR as ka,iS as kb,jh as kc,AC as kd,aI as ke,Jr as l,hR as la,pS as lb,Hh as lc,OC as ld,iI as le,NR as m,OR as ma,cS as mb,oT as mc,wC as md,pI as me,Qr as n,wR as na,dS as nb,nT as nc,LC as nd,cI as ne,GR as o,LR as oa,uS as ob,sT as oc,jC as od,dI as oe,Qa as of,_o as p,MR as pa,hS as pb,aT as pc,HC as pd,uI as pe,wq as pf,KR as q,FR as qa,TS as qb,iT as qc,ab as qd,lI as qe,Lq as qf,$R as r,BR as ra,LS as rb,pT as rc,Dl as rd,mI as re,Nq as rf,No as s,MS as sb,cT as sc,ib as sd,Gq as sf,VR as t,tE as ta,FS as tb,dT as tc,pb as td,Kq as tf,Go as u,G as ua,BS as ub,hT as uc,cb as ud,Ba as ue,$q as uf,Ko as v,iE as va,US as vb,TT as vc,zl as vd,MI as ve,Xq as vf,ZR as w,Qo as wa,De as wb,xT as wc,db as wd,FI as we,ev as wf,$o as x,TE as xa,DS as xb,CT as xc,ub as xd,Ua as xe,rv as xf,YR as y,ot as ya,ze as yb,bT as yc,Ar as yd,BI as ye,tv as yf,Vo as z,xE as za,zS as zb,kT as zc,Rs as zd,UI as ze,ei as zf};//# sourceMappingURL=chunk-NJ2FDU52.js.map
3
- //# sourceMappingURL=chunk-NJ2FDU52.js.map