@polymarket/client 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/viem.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { PrivateKey } from '@polymarket/types';
2
2
  import { Chain, Transport, WalletClient } from 'viem';
3
- import { S as Signer } from './types-C4sR5GA8.js';
3
+ import { S as Signer } from './types-Cg8WP4aO.js';
4
4
  import '@polymarket/bindings';
5
5
  import '@polymarket/bindings/gamma';
6
6
  import '@polymarket/bindings/relayer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polymarket/client",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "The Polymarket TypeScript client",
5
5
  "repository": {
6
6
  "type": "git",
@@ -93,7 +93,7 @@
93
93
  "ky": "^1.14.3",
94
94
  "ox": "^0.14.16",
95
95
  "zod": "^4.3.6",
96
- "@polymarket/bindings": "0.7.0",
96
+ "@polymarket/bindings": "0.8.0",
97
97
  "@polymarket/types": "0.2.0"
98
98
  },
99
99
  "publishConfig": {
@@ -1,3 +0,0 @@
1
- import {o,h,g,n,c,b,a,i,j as j$1,k,l,m as m$1,e}from'./chunk-DLZLJOGO.js';import {PaginationCursorSchema,ComboConditionIdSchema,TransactionIdSchema,EvmAddressSchema,BuilderCodeSchema,TokenIdSchema,ConditionIdSchema,OrderSideSchema,CommentParentEntityTypeSchema,EventIdSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,PositionIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,MarketIdSchema,toPositionId,toBaseUnits,toRfqId,toRfqQuoteId,toBuilderCode,SessionSignerKnownScope,SessionSignerScopeSchema,TradeStatus,toTokenId,toPaginationCursor,toDecimalString,toComboConditionId}from'@polymarket/bindings';export{SessionSignerKnownScope as Sf}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,ActiveSessionSignersResponseSchema}from'@polymarket/bindings/clob';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,isSameEvmAddress,ZERO_ADDRESS,PolymarketError,expectHexString,unwrap,invariant,delay,expectEvmSignature,expectErc1271Signature,ResultAsync,setNonBlockingInterval,setNonBlockingTimeout,expectPrivateKey,isPresent,ok,err,expectPresent,expectSessionSignerSignature}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 pn 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{ComboPositionOutcome as Ce,ComboPositionStatus as De,ComboActivityType as va}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerAuthorizeSessionSignerStatus,RelayerRevokeSessionSignerStatus,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema,RelayerAuthorizeSessionSignerResponseSchema,RelayerRevokeSessionSignerResponseSchema}from'@polymarket/bindings/relayer';import {CollateralReturnPlanSchema,RfqRejectionCode,RfqSide,RfqRequestedSizeUnit,RfqDirection,RfqKnownErrorCode,ComboQuoteUnavailableReason,RfqStatus,ComboAcceptFailureReason,RfqExecutionStatus,CollateralReturnPlanResponseSchema,ListComboMarketsResponseSchema,BuilderRfqCreateResponseSchema,BuilderRfqStatusResponseSchema}from'@polymarket/bindings/combos';export{ComboAcceptFailureReason as Bf,ComboQuoteUnavailableReason as Cf,RfqConfirmationDecision as Df,RfqDirection as Ef,RfqExecutionStatus as Ff,RfqKnownErrorCode as Gf,RfqRejectionCode as Hf,RfqRequestedSizeUnit as If,RfqSide as Jf,RfqStatus as Kf,CollateralReturnKnownOperationKind as ic}from'@polymarket/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsPostOrderAckSchema,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelOrderResultSchema,PerpsCancelAllOrdersResponseSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAutoCancelStatusResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,PerpsAutoCancelResponseSchema,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 jE 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(),nn=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 l=await unwrap(e(a));if(yield l,!l.hasMore)return;a=l.nextCursor;}}}}return n()}function _(e){return toPaginationCursor(btoa(JSON.stringify(nn.parse(e))))}function W(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return nn.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid pagination cursor",{cause:t})}}function y(e){return function(t){return ResultAsync.fromPromise(t.json(),()=>new b(`Received non-JSON response from ${t.url}`)).andThen(o=>Np(t.url,e,o))}}function an(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function Np(e,r,t){let o=r.safeParse(t);return o.success?ok(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var cn=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 g(`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(!Pn(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=mn(r.gasPrice)),r.value!==void 0&&(t.value=mn(r.value));let o=await this.#o({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[t]});if("error"in o)throw new g(`JSON-RPC eth_estimateGas failed: ${o.error.message}`,{cause:o.error,status:200});return BigInt(un(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 g)||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.#s(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 g(`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,l=o.get(a);if(l===void 0)throw new b("Expected JSON-RPC batch response for every request");if("error"in l)throw new g(`JSON-RPC eth_call failed: ${l.error.message}`,{cause:l.error,status:200});return un(l.result)})}async#o(r){let t;try{t=await pn.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new g(`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(!dn(o))throw new b("Unexpected JSON-RPC response shape");return o}async#s(r){let t;try{t=await pn.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new g(`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=>dn(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function ln(e){if(!(e instanceof g)||!fn(e.cause))return false;let r=[e.cause.message,Gp(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 dn(e){return !yn(e)||e.jsonrpc!=="2.0"?false:"error"in e?fn(e.error):"result"in e}function fn(e){return yn(e)&&typeof e.code=="number"&&typeof e.message=="string"}function yn(e){return typeof e=="object"&&e!==null}function Pn(e){return /^0x[a-fA-F0-9]*$/.test(e)}function un(e,r="eth_call"){if(typeof e!="string"||!Pn(e))throw new b(`Expected JSON-RPC ${r} result to be a hex string`);return e}function mn(e){return `0x${e.toString(16)}`}function Gp(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}var gn=(t=>(t.OWNER="OWNER",t.SESSION_KEY="SESSION_KEY",t))(gn||{}),$p="0x0000000000000000000000000000000000000000000000000000000000000000",Vp="0x6492649264926492649264926492649264926492649264926492649264926492";function bS(e,r,t){let o=lc(e,r,t);return {signer:r,wallet:t,...o}}function me(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 dr(e){let r=me(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}function Ne(e,r){return e.signerType==="OWNER"?r:Yp(e.signer,r)}function Yp(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),o=AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes"}],[t,$p,r]);return expectSessionSignerSignature(`${o}${Vp.slice(2)}`)}var Qp="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function Zp(e){let r=Qp.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function Jp(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Zp(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function Xp(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var ec="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",rc="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",tc=0x61003d3d8160233d3973n;function Rn(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:pc(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var oc="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",nc="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",sc="0x60195155f3363d3d373d3d363d602036600436635c60da",ac=0x6100523d8160233d3973n,ic="0x49493a4d";function En(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:cc(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function pc(e,r){let t=BigInt((r.length-2)/2),o=tc+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(rc),Bytes.fromHex(ec),Bytes.fromHex(r)),{as:"Hex"}))}function cc(e,r){let t=BigInt((r.length-2)/2),o=ac+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(sc),Bytes.fromHex(nc),Bytes.fromHex(oc),Bytes.fromHex(r)),{as:"Hex"}))}async function dc(e,r){try{let t=await e.ethCall({to:r,data:ic});return mc(t)}catch(t){if(ln(t))return ZERO_ADDRESS;throw t}}async function uc(e,r){let t=await dc(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function Sn(e,r,t){return await uc(e,t.depositWalletFactory)?En(r,t):Rn(r,t)}function mc(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function lc(e,r,t){if(isSameEvmAddress(t,r))return {signerType:"OWNER",walletType:WalletType.EOA};let o=e.walletDerivation;return isSameEvmAddress(t,En(r,o))?{signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET}:isSameEvmAddress(t,Rn(r,o))?{signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET}:isSameEvmAddress(t,Xp(r,o))?{signerType:"OWNER",walletType:WalletType.GNOSIS_SAFE}:isSameEvmAddress(t,Jp(r,o))?{signerType:"OWNER",walletType:WalletType.POLY_PROXY}:{signerType:"SESSION_KEY",walletType:WalletType.DEPOSIT_WALLET}}function R(e,r){if(fc(r))return yc(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(hn(s)){for(let a of s)t.append(n,Ge(a));continue}t.append(n,Ge(s));}}return t}function E(e={}){return {format:"snake_case",exceptions:e}}function K(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(Ge).join(","));continue}r.append(t,Ge(o));}return r}function fc(e){return "format"in e}function yc(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??Pc(o);if(hn(n)){for(let a of n)t.append(s,Ge(a));continue}t.append(s,Ge(n));}return t}function hn(e){return Array.isArray(e)}function Pc(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function Ge(e){return String(e)}var DS=o(h,g,n,c,b);async function zS(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var vc=z.object({tokenId:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional()}).default({}),_S=o(h,g,n,c,b,a);function WS(e,r){let{cursor:t,...o}=m(r,vc);return x(n=>e.secureClob.get("/data/orders",{params:R({...o,nextCursor:n},E({tokenId:"asset_id"}))}).andThen(y(OpenOrdersPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var Ac=z.object({orderId:z.string()}),jS=o(h,g,n,c,b,a);async function HS(e,r){let t=m(r,Ac);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var Oc={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()},wc=z.object(Oc).default({}),NS=o(h,g,n,c,b,a);function xn(e,r){let{cursor:t,...o}=m(r,wc);return x(n=>e.secureClob.get("/data/trades",{params:R({...o,nextCursor:n},E({tokenId:"asset_id"}))}).andThen(y(ClobTradesPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var GS=o(h,g,n,c,b),Lc=z.object({ids:z.array(z.string()).min(1)});async function KS(e){let r=me(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:R({signatureType:r},E())}).andThen(y(NotificationsResponseSchema)))}var $S=o(h,g,n,c,b,a);async function VS(e,r){let t=m(r,Lc),o=me(e.account.walletType),n=R({ids:t.ids.join(","),signatureType:o},E());await unwrap(e.secureClob.del("/notifications",{params:n}));}var Mc=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),YS=o(h,g,n,c,b,a);async function ht(e,r){let t=m(r,Mc),o=me(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:R({...t,signatureType:o},E())}).andThen(y(BalanceAllowanceResponseSchema)))}var Fc=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),QS=o(h,g,n,c,b,a);async function Cn(e,r){let t=m(r,Fc),o=me(e.account.walletType),n=R({...t,signatureType:o},E());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),ht(e,t)}var Bc=z.object({orderId:z.string()}),ZS=o(h,g,n,c,b,a);async function JS(e,r){let t=m(r,Bc);return (await unwrap(e.secureClob.get("/order-scoring",{params:R(t,E())}).andThen(y(OrderScoringResponseSchema)))).scoring}var Uc=z.object({orderIds:z.array(z.string())}),XS=o(h,g,n,c,b,a);async function eh(e,r){let o=m(r,Uc).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(y(OrdersScoringResponseSchema)))}var bn=z.object({cursor:PaginationCursorSchema.optional(),date:z.string()}),rh=o(h,g,n,c,b,a);function th(e,r){let{cursor:t,...o}=m(r,bn),n=me(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user",{params:R({...o,nextCursor:s,signatureType:n},E())}).andThen(y(UserEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var oh=o(h,g,n,c,b,a);async function nh(e,r){let t=m(r,bn),o=me(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:R({...t,signatureType:o},E())}).andThen(y(TotalUserEarningsResponseSchema)))}var Dc=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()}),sh=o(h,g,n,c,b,a);function ah(e,r){let{cursor:t,...o}=m(r,Dc),n=me(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user/markets",{params:R({...o,nextCursor:s,signatureType:n},E())}).andThen(y(UserRewardsEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var ih=o(h,g,n,c,b);async function ph(e){let r=me(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:R({signatureType:r},E())}).andThen(y(RewardsPercentagesSchema)))}var Hc=z.enum(["CASH","TOKENS"]),Nc=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e4).default(20),takerOnly:z.boolean().optional(),filterType:Hc.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"]}),Rh=o(h,g,c,b,a);function Eh(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,Nc);return x(s=>{let a=W(s,o);return e.data.get("/trades",{params:K({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListTradesResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Gc=z.enum(["TIMESTAMP","TOKENS","CASH"]),Kc=z.enum(["ASC","DESC"]),$c=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:Gc.optional(),sortDirection:Kc.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),Sh=o(h,g,c,b,a);function hh(e,r){let{cursor:t,pageSize:o,...n}=m(r,$c);return x(s=>{let a=W(s,o);return e.data.get("/activity",{params:K({...n,excludeDepositsWithdrawals:false,limit:a.pageSize,offset:a.offset})}).andThen(y(ListActivityResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Vc=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),Yc=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.default(50),user:z.string(),conditionId:Vc.optional()}),Th=o(h,g,c,b,a);function xh(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=m(r,Yc);return x(a=>{let l=R({...s,limit:o,cursor:a},E());return Qc(l,n),e.data.get("/v1/activity/combos",{params:l}).andThen(y(ListComboActivityResponseSchema)).map(P=>{let C=P.pagination.nextCursor??void 0;return {items:P.activity,hasMore:C!==void 0,nextCursor:C}})},t)}function Qc(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var Jc=64,Xc=/^0x[0-9a-fA-F]{62}$/,ed=/^0x[0-9a-fA-F]{64}$/,xt="0x0000000000000000000000000000000000000000000000000000000000000000",rd=AbiFunction.from("function approve(address spender, uint256 amount)"),vn=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),td=AbiFunction.from("function transfer(address recipient, uint256 amount)"),od=AbiFunction.from("function authorizeSessionSigner(address sessionSigner, uint256 validUntil)"),nd=AbiFunction.from("function revokeSessionSigner(address sessionSigner)"),sd=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),ad=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),An=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),On=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),wn=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),id=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),pd=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),cd=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),dd=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),ud=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),md=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),ld=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),fd=AbiFunction.from("function multiSend(bytes)"),yd=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),Ln=[1n,2n],Pd=[1n,2n],ee=(1n<<256n)-1n,Ah=o(a);function Ar(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:gd(r,t),to:e}}function Mn(e,r,t){return {data:AbiFunction.encodeData(vn,[r,t]),to:e}}function Fn(e){return AbiFunction.decodeResult(vn,e)}function Or(e,r,t){return {data:Rd(r,t),to:e}}function Bn(e,r,t){return {data:AbiFunction.encodeData(An,[r,t]),to:e}}function Un(e){return AbiFunction.decodeResult(An,e)}function Dn(e,r,t){return {data:AbiFunction.encodeData(On,[r,fe(BigInt(t),"Position ID")]),to:e}}function zn(e){return AbiFunction.decodeResult(On,e)}function Ct(e,r,t){return {data:AbiFunction.encodeData(wn,[t.map(()=>r),t.map(o=>fe(BigInt(o),"id"))]),to:e}}function bt(e){return AbiFunction.decodeResult(wn,e)}var Oh=o(a);function It(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:Ed(r,t),to:e}}function _n(e,r,t){return {data:AbiFunction.encodeData(od,[r,fe(t,"Session key expiry")]),to:e}}function Wn(e,r){return {data:AbiFunction.encodeData(nd,[r]),to:e}}var wh=o(a);function jn(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(sd,[r,fe(t,"Perps deposit amount"),o]),to:e}}var Lh=o(a),Mh=o(a);function Hn(e,r,t,o){return {data:Sd(r,t,o),to:e}}var Fh=o(a);function Nn(e,r,t,o){return {data:hd(r,t,o),to:e}}function Gn(e,r,t){return {data:Td(r,t),to:e}}var Bh=o(a);function Kn(e,r,t){return {data:AbiFunction.encodeData(dd,[kt(r),fe(t,"Split amount")]),to:e}}var Uh=o(a);function $n(e,r,t){return {data:AbiFunction.encodeData(ud,[kt(r),fe(t,"Merge amount")]),to:e}}var Dh=o(a);function Vn(e,r,t,o){return {data:AbiFunction.encodeData(md,[kt(r),BigInt(xd(t)),fe(o,"Redeem amount")]),to:e}}var zh=o(a);function qt(e,r){return {data:AbiFunction.encodeData(ld,[r.map(t=>fe(t,"Leg position ID"))]),to:e}}function gd(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(rd,[e,r])}function Rd(e,r){return AbiFunction.encodeData(ad,[e,r])}function Ed(e,r){return AbiFunction.encodeData(td,[e,r])}function Sd(e,r,t){return AbiFunction.encodeData(id,[e,xt,r,Ln,fe(t,"Split amount")])}function hd(e,r,t){return AbiFunction.encodeData(pd,[e,xt,r,Ln,fe(t,"Merge amount")])}function Td(e,r){return AbiFunction.encodeData(cd,[e,xt,r,Pd])}function fe(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 kt(e){if(Xc.test(e))return e.toLowerCase();if(ed.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,Jc)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function xd(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function Yn(e){return AbiFunction.encodeData(yd,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function Qn(e){let r=e.map(t=>Cd(t));return AbiFunction.encodeData(fd,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function Cd(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 Hh=o(h,g,i,j$1,c,b,a);function $(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}o(k,n);o(k,n);function Vh(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 j(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 Zn(){return {kind:"requestAddress"}}function V(e,r){return {chainId:e,...r}}var Ud=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Dd=[{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"}],zd="DepositWallet",_d="1",Wd=600,jd=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],Hd=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],Nd=z.object({address:z.string(),type:z.enum(RelayerTransactionType)}),cT=o(h,g,c,b,a);async function Ot(e,r){let t=m(r,Nd);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:R(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var Gd=z.object({transactionId:TransactionIdSchema}),Kd=z.object({wallet:EvmAddressSchema,type:z.enum(WalletType)}),dT=o(h,g,c,b,a);async function uT(e,r){let t=await $d(e,r);return t.type===WalletType.EOA?false:unwrap(e.relayer.get("/deployed",{params:R({address:t.wallet,type:t.type===WalletType.DEPOSIT_WALLET?RelayerTransactionType.WALLET:void 0},{address:"address",type:"type"})}).andThen(y(RelayerDeployedResponseSchema)).map(({deployed:o})=>o))}async function $d(e,r){if(r!==void 0)return m(r,Kd);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 Sn(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var Y=z.string().max(500),Jn=10,mT=o(h,g,c,b,a);async function lT(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),ur(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function Vd(e,r){let t=m(r,Gd);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var Yd=z.object({data:z.custom(isHexString),to:EvmAddressSchema,value:z.bigint().optional()}),Qd=z.object({calls:z.array(Yd).min(1).transform(e=>expectNonEmptyArray(e)),metadata:Y}),fT=o(h,g,c,b,a);async function J(e,r){let t=m(r,Qd);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 Zn());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=Jn;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*Zd(e,t);case WalletType.DEPOSIT_WALLET:return yield*Jd(e,t);case WalletType.GNOSIS_SAFE:return yield*Xd(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!Bt(s)||n===Jn)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*Zd(e,r){let t=yield*wt(e,r.calls,r.metadata);return ur(e,t)}async function*wt(e,r,t){let o=await Ot(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),n=e.environment.walletDerivation.proxyFactory,s=Yn(r),a="0",l="0",P=(await e.rpc.ethEstimateGas({data:s,from:e.account.signer,to:n})).toString(),C=e.environment.contracts.relayHub,b=o.address,H=ou(e.account.signer,n,s,a,l,P,o.nonce,C,b),D=expectEvmSignature(yield os(H));return {data:s,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:D,signatureParams:{gasLimit:P,gasPrice:l,relay:b,relayHub:C,relayerFee:a},to:n,type:RelayerTransactionType.PROXY}}function Lt(e){return !(e instanceof g)||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*Jd(e,r){let t=yield*$e(e,r.calls,r.metadata);try{return await ur(e,t)}catch(o){let n=Lt(o);if(n===void 0)throw o;let s=yield*Mt(e,t,r.calls,n);return ur(e,s)}}async function*$e(e,r,t){let o=await Ot(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),n=r.map(rs),s=`${Math.floor(Date.now()/1e3)+Wd}`,a=Ne(e.account,expectEvmSignature(yield ns(ts({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*Mt(e,r,t,o){let n=Ne(e.account,expectEvmSignature(yield ns(ts({calls:t.map(rs),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:o,wallet:e.account.wallet}))));return {...r,nonce:o,signature:n}}async function*Xd(e,r){let t=yield*Ft(e,r.calls,r.metadata);return ur(e,t)}async function*Ft(e,r,t){let o=await Ot(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),n=eu(r,e.environment.contracts.safeMultisend),s=tu({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 os(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:nu(a),signatureParams:ru(n.operation),to:n.to,type:RelayerTransactionType.SAFE,value:n.value>0n?`${n.value}`:void 0}}async function ur(e,r){let t=m(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new Ce(e,o)}function Bt(e){if(e instanceof h)return true;if(!(e instanceof g)||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 rs(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function ts(e){return {domain:{chainId:e.chainId,name:zd,verifyingContract:e.wallet,version:_d},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:Hd,Call:jd}}}function eu(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:Qn(e),operation:1,to:r,value:0n}}function ru(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function tu(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:Ud,SafeTx:Dd}}}function os(e){return {kind:"signGaslessMessage",payload:e}}function ns(e){return {kind:"signGaslessTypedData",payload:e}}function ou(e,r,t,o,n,s,a,l,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(l),Bytes.fromHex(P)),{as:"Hex"}))}function nu(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 yT=o(h,g,c,b,a,i,j$1),Ce=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 Vd(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 j$1(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#e.environment.relayerPollFrequencyMs);}throw new i(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var su=z.object({amount:z.union([z.bigint(),z.literal("max")]),metadata:Y.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),IT=o(a);async function au(e,r){let t=m(r,su),o=t.amount==="max"?ee:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?$(yield is(V(e.environment.chainId,Ar(t.tokenAddress,t.spenderAddress,o)))):yield*await J(e,{calls:[Ar(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var qT=o(k,h,g,n,c,b,a);function ss(e,r){return au(e,r).then(j(e.signer))}var iu=z.object({approved:z.boolean().default(true),metadata:Y.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),kT=o(a);async function pu(e,r){let t=m(r,iu);return async function*(){return e.account.walletType===WalletType.EOA?$(yield ps(V(e.environment.chainId,Or(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await J(e,{calls:[Or(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var vT=o(k,h,g,n,c,b,a);function as(e,r){return pu(e,r).then(j(e.signer))}var AT=o(g,c,b,a);async function cu(e){let r=await du(e),t=r.erc20.map(n=>Ar(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>Or(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 $(yield is(V(e.environment.chainId,s))).wait();for(let s of o)await $(yield ps(V(e.environment.chainId,s))).wait();return}await(yield*await J(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var OT=o(k,h,g,n,i,j$1,c,b,a);function wT(e){return cu(e).then(j(e.signer)).then(()=>{})}async function du(e){let r=uu(e),t=[...r.erc20.map(a=>Mn(a.tokenAddress,e.account.wallet,a.spenderAddress)),...r.erc1155.map(a=>Bn(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,l)=>Fn(n[l])<a.amount),erc1155:r.erc1155.filter((a,l)=>!Un(s[l]))}}function uu(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 is(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function ps(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var zT=o(h,g,c,b);async function yu(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:us(r)}).andThen(y(ApiKeyCredsSchema)))}var _T=o(h,g,c,b);async function Pu(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:us(r)}).andThen(y(ApiKeyCredsSchema)))}var WT=o(h,g,c,b);async function jT(e,r){try{return await yu(e,r)}catch(t){if(!(t instanceof g)||t.status!==400)throw t}return Pu(e,r)}var HT=o(h,g,n,c,b);async function NT(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var GT=o(h,g,n,c,b);async function KT(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z.literal("OK"))));}var $T=o(h,g,n,c,b);async function VT(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var YT=o(h,g,n,c,b);async function QT(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var ZT=o(h,g,n,c,b);async function JT(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z.literal("OK"))));}function us(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var hu=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()}),px=o(h,g,c,b,a);function cx(e,r){let{cursor:t,...o}=m(r,hu);return x(n=>e.clob.get("/builder/trades",{params:R({...o,nextCursor:n},E({builderCode:"builder_code",tokenId:"asset_id"}))}).andThen(y(PaginatedBuilderTradesSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var Hu=z.object({tokenId:z.string()}),Sx=o(h,g,c,b,a);async function hx(e,r){let t=m(r,Hu);return (await unwrap(e.clob.get("/midpoint",{params:R(t,E())}).andThen(y(MidpointSchema)))).mid}var Nu=z.array(z.object({tokenId:z.string()})).min(1),Tx=o(h,g,c,b,a);async function xx(e,r){let t=m(r,Nu);return unwrap(e.clob.post("midpoints",{json:Dr(t)}).andThen(y(MidpointsSchema)))}var Gu=z.object({tokenId:z.string()}),Cx=o(h,g,c,b,a);async function bx(e,r){let t=m(r,Gu);return (await unwrap(e.clob.get("/tick-size",{params:R(t,E())}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var Ku=z.object({tokenId:z.string()}),Ix=o(h,g,c,b,a);async function qx(e,r){let t=m(r,Ku);return (await unwrap(e.clob.get("/neg-risk",{params:R(t,E())}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var $u=z.object({tokenId:TokenIdSchema}),kx=o(h,g,c,b,a);async function gs(e,r){let t=m(r,$u);return unwrap(e.clob.get(`/markets-by-token/${t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var Vu=z.object({conditionId:ConditionIdSchema}),vx=o(h,g,c,b,a);async function Rs(e,r){let t=m(r,Vu);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var Yu=z.object({builderCode:BuilderCodeSchema}),Ax=o(h,g,c,b,a);async function Es(e,r){let t=m(r,Yu);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(y(FetchBuilderFeeRatesResponseSchema)).mapErr(o=>o instanceof g&&o.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:o}):o))}var Qu=z.object({tokenId:z.string(),side:OrderSideSchema}),Ox=o(h,g,c,b,a);async function wx(e,r){let t=m(r,Qu);return (await unwrap(e.clob.get("/price",{params:R(t,E())}).andThen(y(PriceSchema)))).price}var Zu=z.array(z.object({tokenId:z.string(),side:OrderSideSchema})).min(1),Lx=o(h,g,c,b,a);async function Mx(e,r){let t=m(r,Zu);return unwrap(e.clob.post("prices",{json:im(t)}).andThen(y(PricesSchema)))}var Ju=z.object({tokenId:z.string()}),Fx=o(h,g,c,b,a);async function Ur(e,r){let t=m(r,Ju);return unwrap(e.clob.get("/book",{params:R(t,E())}).andThen(y(FetchOrderBookResponseSchema)))}var Xu=z.array(z.object({tokenId:z.string()})).min(1),Bx=o(h,g,c,b,a);async function Ux(e,r){let t=m(r,Xu);return unwrap(e.clob.post("books",{json:Dr(t)}).andThen(y(OrderBooksSchema)))}var em=z.object({tokenId:z.string()}),Dx=o(h,g,c,b,a);async function zx(e,r){let t=m(r,em);return (await unwrap(e.clob.get("/spread",{params:R(t,E())}).andThen(y(SpreadSchema)))).spread}var rm=z.array(z.object({tokenId:z.string()})).min(1),_x=o(h,g,c,b,a);async function Wx(e,r){let t=m(r,rm);return unwrap(e.clob.post("spreads",{json:Dr(t)}).andThen(y(SpreadsSchema)))}var tm=z.object({tokenId:z.string()}),jx=o(h,g,c,b,a);async function Hx(e,r){let t=m(r,tm);return unwrap(e.clob.get("/last-trade-price",{params:R(t,E())}).andThen(y(LastTradePriceSchema)))}var om=z.array(z.object({tokenId:z.string()})).min(1),Nx=o(h,g,c,b,a);async function Gx(e,r){let t=m(r,om);return unwrap(e.clob.post("last-trades-prices",{json:Dr(t)}).andThen(y(LastTradePricesSchema)))}var nm=z.object({tokenId:z.string(),startTs:z.number().int().optional(),endTs:z.number().int().optional(),fidelity:z.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),Kx=o(h,g,c,b,a);async function $x(e,r){let t=m(r,nm);return (await unwrap(e.clob.get("/prices-history",{params:R(t,{tokenId:"market",startTs:"startTs",endTs:"endTs",fidelity:"fidelity",interval:"interval"})}).andThen(y(PriceHistorySchema)))).history}var sm=z.object({cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}).default({}),Vx=o(h,g,c,b,a);function Yx(e,r={}){let{cursor:t,...o}=m(r,sm);return x(n=>e.clob.get("/rewards/markets/current",{params:R({...o,nextCursor:n},E())}).andThen(y(PaginatedCurrentRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var am=z.object({conditionId:ConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}),Qx=o(h,g,c,b,a);function Zx(e,r){let{cursor:t,...o}=m(r,am);return x(n=>e.clob.get(`rewards/markets/${o.conditionId}`,{params:R({nextCursor:n,sponsored:o.sponsored},E())}).andThen(y(PaginatedMarketRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}function Dr(e){return e.map(({tokenId:r})=>({token_id:r}))}function im(e){return e.map(({tokenId:r,side:t})=>({token_id:r,side:t}))}var xs=2*6e4,cC=o(h,g,c,b);async function dC(e){return Cs(e),unwrap(e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:xs}).andThen(y(CollateralReturnPlanResponseSchema)))}var ym=z.object({plan:CollateralReturnPlanSchema}),Ss=10,Dt="Collateral return",uC=o(g,c,b,a);async function Pm(e,r){let{plan:t}=m(r,ym);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),Cs(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<=Ss;n+=1)try{let s=yield*gm(e,o);try{return await hs(e,t.planHash,s)}catch(a){let l=Lt(a);if(l===void 0||s.type!==RelayerTransactionType.WALLET)throw a;let P=yield*Mt(e,s,o,l);return await hs(e,t.planHash,P)}}catch(s){if(!Bt(s)||n===Ss)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var mC=o(k,h,g,n,c,b,a);function lC(e,r){return Pm(e,r).then(j(e.signer))}function Cs(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 gm(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return Ft(e,r,Dt);case WalletType.POLY_PROXY:return wt(e,r,Dt);default:return $e(e,r,Dt)}}async function hs(e,r,t){let o=await unwrap(e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:xs}).andThen(y(RelayerExecuteResponseSchema)));return new Ce(e,o)}var xm=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}),Cm=z.object({getPositions:z.boolean().optional(),id:CommentIdSchema}),bm=z.object({address:z.string(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z.string().optional(),pageSize:w.max(100).default(20)}),IC=o(h,g,c,b,a);function qC(e,r){let{cursor:t,pageSize:o,...n}=m(r,xm);return x(s=>{let a=W(s,o);return e.gamma.get("/comments",{params:R({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(y(ListCommentsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var kC=o(h,g,c,b,a);async function vC(e,r){let t=m(r,Cm);return unwrap(e.gamma.get(`comments/${t.id}`,{params:R({getPositions:t.getPositions},E())}).andThen(y(ListCommentsResponseSchema)))}var AC=o(h,g,c,b,a);function OC(e,r){let{address:t,cursor:o,pageSize:n,...s}=m(r,bm);return x(a=>{let l=W(a,n);return e.gamma.get(`comments/user_address/${t}`,{params:R({ascending:s.ascending,limit:l.pageSize,offset:l.offset,order:s.order},E())}).andThen(y(ListCommentsResponseSchema)).map(P=>{let C=P.length>=l.pageSize;return {items:P,hasMore:C,nextCursor:C?_({offset:l.offset+l.pageSize,pageSize:l.pageSize}):void 0}})},o)}function zr(e,r){let t;try{t=new URL(e);}catch(l){throw new a("Expected a valid Polymarket URL.",{cause:l})}if(t.protocol!=="https:"||t.hostname!=="polymarket.com"&&t.hostname!=="www.polymarket.com")throw new a("Expected a valid Polymarket URL.");let[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 Om=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()}),wm=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()})]),Lm=z.object({id:z.string()}),Mm=z.object({id:z.string()}),KC=o(h,g,c,b,a);function $C(e,r={}){let t=m(r,Om);return x(o=>e.gamma.get("/events/keyset",{params:Fm({...t,cursor:o??t.cursor})}).andThen(y(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var VC=o(h,g,c,b,a);async function YC(e,r){let t=m(r,wm);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:Bm(t)}).andThen(y(EventSchema)));let o="url"in t?zr(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:Um(t)}).andThen(y(EventSchema)))}var QC=o(h,g,c,b,a);async function ZC(e,r){let t=m(r,Lm);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var JC=o(h,g,c,b,a);async function XC(e,r){let t=m(r,Mm);return unwrap(e.data.get("/live-volume",{params:K(t)}).andThen(y(FetchEventLiveVolumeResponseSchema)))}function Fm(e){return R(e,E({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function Bm(e){return R({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}function Um(e){return R({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}var Nm=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(50).default(20),timePeriod:TimePeriodSchema.optional()}),Gm=z.object({timePeriod:TimePeriodSchema.optional()}),Km=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()}),db=o(h,g,c,b,a);function ub(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,Nm);return x(s=>{let a=W(s,o);return e.data.get("/v1/builders/leaderboard",{params:K({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListBuilderLeaderboardResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var mb=o(h,g,c,b,a);async function lb(e,r={}){let t=m(r,Gm);return unwrap(e.data.get("/v1/builders/volume",{params:K(t)}).andThen(y(ListBuilderVolumeResponseSchema)))}var fb=o(h,g,c,b,a);function yb(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,Km);return x(s=>{let a=W(s,o);return e.data.get("/v1/leaderboard",{params:K({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListTraderLeaderboardResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Ym=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)}),bb=o(h,g,c,b,a);function Ib(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,Ym);return x(s=>{let a=W(s,o);return e.gamma.get("/market-clarifications",{params:R({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(y(ListMarketClarificationsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var ol=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(ConditionIdSchema).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()}),nl=z.object({id:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),sl=z.object({slug:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),al=z.object({url:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),il=z.union([nl,sl,al]),pl=z.object({id:z.string()}),cl=z.object({limit:z.number().int().optional(),market:z.array(z.string()),minBalance:z.number().int().optional()}),dl=z.object({market:z.array(z.string()).optional()}),ul=z.enum(["OPEN","CLOSED","ALL"]),ml=z.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),ll=z.enum(["ASC","DESC"]),fl=z.object({cursor:PaginationCursorSchema.optional(),market:z.string(),pageSize:w.max(500).default(20),user:z.string().optional(),status:ul.optional(),sortBy:ml.optional(),sortDirection:ll.optional()}),_b=o(h,g,c,b,a);function ws(e,r={}){let t=m(r,ol);return x(o=>e.gamma.get("/markets/keyset",{params:Pl({...t,cursor:o??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var yl=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).optional(),exclude:z.array(ConditionIdSchema).optional()}),Wb=o(h,g,c,b,a);function jb(e,r={}){let t=m(r,yl);return x(o=>e.rfq.get("/v1/rfq/combo-markets",{params:gl({...t,cursor:o??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Hb=o(h,g,c,b,a);async function Nb(e,r){let t=m(r,il);return "id"in t?Rl(e,t):"url"in t?vs(e,{includeTag:t.includeTag,locale:t.locale,slug:zr(t.url,"market")}):vs(e,t)}var Gb=o(h,g,c,b,a);async function Kb(e,r){let t=m(r,pl);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var $b=o(h,g,c,b,a);async function Vb(e,r){let t=m(r,cl);return unwrap(e.data.get("/holders",{params:K(t)}).andThen(y(ListMarketHoldersResponseSchema)))}var Yb=o(h,g,c,b,a);async function Qb(e,r={}){let t=m(r,dl);return unwrap(e.data.get("/oi",{params:K(t)}).andThen(y(ListOpenInterestResponseSchema)))}var Zb=o(h,g,c,b,a);function Jb(e,r){let{cursor:t,pageSize:o,...n}=m(r,fl);return x(s=>{let a=W(s,o);return e.data.get("/v1/market-positions",{params:K({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListMarketPositionsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function Pl(e){return R(e,E({cursor:"after_cursor",ids:"id",marketMakerAddresses:"market_maker_address",pageSize:"limit"}))}function gl(e){return R({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function vs(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:R({includeTag:r.includeTag,locale:r.locale},E())}).andThen(y(MarketSchema)))}async function Rl(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:R({includeTag:r.includeTag,locale:r.locale},E())}).andThen(y(MarketSchema)))}function yr(e){if(!(e instanceof g))return e;let r=El(e);return r===void 0?e:new g(e.message,{cause:e,...e.code!==void 0?{code:e.code}:{},restriction:r,...e.retryAfter!==void 0?{retryAfter:e.retryAfter}:{},status:e.status})}function El(e){if(e.status===425)return "restarting";if(e.status===503&&e.code==="post_only_mode")return "post_only"}var Tl=z.object({orderId:z.string()}),xl=z.object({orderIds:z.array(z.string()).min(1).max(3e3)}),Cl=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"]}),dI=o(g,h,n,c,b,a);async function uI(e,r){let t=m(r,Tl);return jr(e,"/order",{orderID:t.orderId})}var mI=o(g,h,n,c,b,a);async function lI(e,r){let t=m(r,xl);return jr(e,"/orders",t.orderIds)}var fI=o(g,h,n,c,b);async function yI(e){return jr(e,"/cancel-all")}var PI=o(g,h,n,c,b,a);async function gI(e,r){let t=m(r,Cl);return jr(e,"/cancel-market-orders",{asset_id:t.tokenId,market:t.market})}async function jr(e,r,t){return unwrap(e.secureClob.del(r,{json:t,rateLimitBucket:"cancel"}).mapErr(yr).andThen(y(CancelOrdersResponseSchema)))}var Fs="Polymarket CTF Exchange",Il="DepositWallet",ql="1",Ht="0x0000000000000000000000000000000000000000000000000000000000000000",Nt="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",kl=Hash.keccak256(Bytes.fromString(Nt),{as:"Hex"}),vl=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),Al=Hash.keccak256(Bytes.fromString(Fs),{as:"Hex"}),Ol=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Bs=[{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"}],wl=[{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 Hr(e){let r=Ll(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:zs(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:Il,salt:Ht,verifyingContract:e.order.signer,version:ql},primaryType:"TypedDataSign",types:{Order:Bs,TypedDataSign:wl}}}function Nr(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(Nt)),t=Nt.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${Ml(e.domain).slice(2)}${Fl(e.order).slice(2)}${r.slice(2)}${t}`)}function Us(e){return {chainId:e.chainId,exchange:e.exchange,protocolVersion:"3"}}function xI(e,r,t){return e===OrderSide.SELL?t.toString():((r*t+999999n)/1000000n).toString()}function CI(e,r,t){return e===OrderSide.SELL?(r*t/1000000n).toString():t.toString()}function Ds(e){return {builder:e.builder??Ht,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??Ht,salt:BigInt(e.salt),side:$t(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function Ll(e,r){return {domain:zs(e),message:Ds(r),primaryType:"Order",types:{EIP712Domain:Ol,Order:Bs}}}function zs(e){return {chainId:e.chainId,name:Fs,verifyingContract:e.exchange,version:e.protocolVersion}}function Ml(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[vl,Al,Bl(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function Fl(e){let r=Ds(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"}],[kl,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 $t(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}var Ie=z.object({tokenId:TokenIdSchema,positionId:z.never().optional()}),qe=z.object({positionId:PositionIdSchema,tokenId:z.never().optional()});function Le(e){return e.positionId!==void 0?{assetId:toPositionId(e.positionId),exchangeVersion:"3"}:{assetId:toTokenId(e.tokenId),exchangeVersion:"2"}}var Hs=z.object({orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FOK)}),_s=Hs.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),Ws=Hs.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema}),jl=z.union([_s.extend(Ie.shape),_s.extend(qe.shape),Ws.extend(Ie.shape),Ws.extend(qe.shape)]),BI=o(l,h,g,c,b,a);async function UI(e,r){let t=m(r,jl),o=t.side===OrderSide.BUY?t.amount:t.shares,n=t.positionId??t.tokenId;return Hl(e,{amount:o,assetId:n,orderType:t.orderType,side:t.side})}async function Hl(e,r){let t=await Ur(e,{tokenId:r.assetId});return Vt({amount:r.amount,orderBook:t,orderType:r.orderType,side:r.side})}function Vt(e){let{orderBook:r}=e,t=e.side===OrderSide.BUY?Gl(r.asks,e.amount,e.orderType):Kl(r.bids,e.amount,e.orderType);return invariant(Nl(t,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),t}function Nl(e,r){return e>=r&&e<=1-r}function Gl(e,r,t){if(e.length===0)throw new l("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 l("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}function Kl(e,r,t){if(e.length===0)throw new l("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 l("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}var Ql=BigInt(Number.MAX_SAFE_INTEGER),Zl=z.string().refine(Xl,{message:"Order salt must be a non-negative JavaScript-safe integer."}),Ks=z.looseObject({salt:Zl}),Jl=z.array(Ks).min(1).max(15),$I=o(h,g,n,c,b,a),VI=o(h,g,n,c,b,a);function $r(e){return async function(t){m(t,Ks);let o=$s(e,t);return unwrap(e.secureClob.post("/order",{json:o,rateLimitBucket:"order"}).mapErr(yr).andThen(y(OrderResponseSchema)))}}function YI(e){return async function(t){m(t,Jl);let o=t.map(n=>$s(e,n));return unwrap(e.secureClob.post("/orders",{json:o,rateLimitBucket:"order"}).mapErr(yr).andThen(y(OrderResponsesSchema)))}}function $s(e,r){return invariant(r.postOnly!==true||r.orderType===OrderType.GTC||r.orderType===OrderType.GTD,"Post-only orders are only supported for GTC and GTD order types."),{deferExec:false,order:{builder:r.builder,expiration:`${r.expiration}`,maker:r.maker,makerAmount:r.makerAmount,metadata:r.metadata,salt:Number(BigInt(r.salt)),side:r.side,signature:r.signature,signatureType:r.signatureType,signer:r.signer,takerAmount:r.takerAmount,timestamp:r.timestamp,tokenId:r.tokenId},orderType:r.orderType,owner:e.credentials.key,...r.postOnly===true?{postOnly:true}:{}}}function Xl(e){try{let r=BigInt(e);return r>=0n&&r<=Ql}catch{return false}}var Ee=1000000n,ef=8*Number.EPSILON,Qt=6,rf=8*Number.EPSILON;function Zt(e){let r=e*Number(Ee),t=Math.round(r),o=rf*Math.max(1,Math.abs(r)),n=Math.abs(r-t)<=o?t:Math.trunc(r);return BigInt(n)}function gr(e){let r=Math.round(e*Number(Ee)),t=r/Number(Ee);if(!Number.isSafeInteger(r)||Math.abs(e-t)>ef)throw new a("has unsupported precision.");return BigInt(r)}function Jt(e){return Number(e)/Number(Ee)}function Yr(e){return invariant(Number.isInteger(e)&&e>=0&&e<=Qt,`Decimal places must be an integer between 0 and ${Qt}.`),10n**BigInt(Qt-e)}function Qr(e,r,t,o){invariant(e>=0n,"Value must be non-negative."),invariant(r>=0n,"Multiplier must be non-negative."),invariant(t>0n,"Denominator must be positive.");let n=e*r,s=n/t;return o==="up"&&n%t!==0n?s+1n:s}function Xt(e,r,t){let o=Yr(r);return Qr(e,1n,o,t)*o}function eo(e){switch(e){case .1:return {amount:3,size:2};case .01:return {amount:4,size:2};case .005:return {amount:5,size:2};case .0025:return {amount:6,size:2};case .001:return {amount:5,size:2};case 1e-4:return {amount:6,size:2}}invariant(false,`Unsupported tick size: ${e}`);}function Zr(e,r){let t=gr(e),o=gr(r);if(t<o||t>Ee-o)throw new a(`must be between ${r} and ${1-r} for tick size ${r}.`);if(t%o!==0n)throw new a(`${e} must be a multiple of tick size ${r}.`);return t}function of(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}function ke(e,r,t){return r.exchangeVersion==="3"?e.environment.contracts.exchangeV3:of(e,t)}function ro(e,r,t,o){let n=Yr(t);return Qr(e,r,Ee*n,o)*n}function nf(e,r,t,o){let n=Yr(t);return Qr(e,Ee,r*n,o)*n}function Ys(e){let r=eo(e.tickSize),t=Xt(Zt(e.size),r.size,"down");return e.side===OrderSide.BUY?{offeredAmount:ro(t,e.price,r.amount,"down"),requestedAmount:t}:{offeredAmount:t,requestedAmount:ro(t,e.price,r.amount,"down")}}function Qs(e){let r=eo(e.tickSize),t=Xt(Zt(e.amount),r.size,"down"),o=e.protectPrice?"up":"down";return e.side===OrderSide.BUY?{offeredAmount:t,requestedAmount:nf(t,e.price,r.amount,o)}:{offeredAmount:t,requestedAmount:ro(t,e.price,r.amount,o)}}var to=600*1e3,oo=Number.POSITIVE_INFINITY,no=class{#e;#r=new Map;#t=new Map;#o=new Map;constructor(r){this.#e=r;}async resolveMarket(r){let t=await this.#s(r);return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize}}async resolveBuilderTakerFeeRate(r){return r===void 0?0:Jr(this.#r,r,to,()=>this.#e.fetchBuilderTakerFeeRate(r))}async fetchCurrentMarket(r){let t=await Jr(this.#t,r,oo,()=>this.#e.resolveCondition(r)),o=await this.#a(t);return this.#n(r,t,o),this.#o.set(t,Zs(o,to)),{feeInfo:o.feeInfo,negRisk:o.negRisk,tickSize:o.tickSize}}async#s(r){let t=await Jr(this.#t,r,oo,()=>this.#e.resolveCondition(r)),o=await Jr(this.#o,t,to,()=>this.#a(t));return this.#n(r,t,o),o}#n(r,t,o){if(!o.assetIds.has(r))throw this.#t.delete(r),this.#o.delete(t),new b(`Market ${t} does not include asset ${r}.`)}async#a(r){let t=await this.#e.fetchMarket(r),o=new Set(t.tokens.map(({tokenId:n})=>n));for(let n of o)this.#t.set(n,Zs(r));return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize,assetIds:o}}};function Jr(e,r,t,o){let n=e.get(r);if(n!==void 0&&(n.expiresAt===void 0||n.expiresAt>Date.now()))return n.promise;let s={promise:o()};return s.promise.then(()=>{s.expiresAt=Date.now()+t;},()=>{e.get(r)===s&&e.delete(r);}),e.set(r,s),s.promise}function Zs(e,r=oo){return {expiresAt:Date.now()+r,promise:Promise.resolve(e)}}var Js=new WeakMap;function Fe(e,r){return so(e).resolveMarket(r)}function Rr(e,r){return so(e).fetchCurrentMarket(r)}function Xs(e,r){return so(e).resolveBuilderTakerFeeRate(r)}function so(e){let r=Js.get(e);if(r!==void 0)return r;let t=new no({fetchBuilderTakerFeeRate:async o=>(await Es(e,{builderCode:o})).taker,fetchMarket:o=>Rs(e,{conditionId:o}),resolveCondition:o=>gs(e,{tokenId:o})});return Js.set(e,t),t}var pf=180,ta=z.strictObject({price:PositiveDecimalNumberSchema,size:PositiveDecimalNumberSchema,side:OrderSideSchema,builderCode:BuilderCodeSchema.optional(),postOnly:z.boolean().default(false),expiration:z.number().int().nonnegative().optional()}),na=z.union([ta.extend(Ie.shape),ta.extend(qe.shape)]).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+pf;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}});async function sa(e,r){let t=Le(r),o=await cf(e,{routing:t,price:r.price}),n=Ys({price:o.price,side:r.side,size:r.size,tickSize:o.tickSize});return {...t,builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:o.exchangeAddress,expiration:r.expiration??0,funderAddress:o.funderAddress,offeredAmount:n.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:o.signerAddress,requestedAmount:n.requestedAmount}}async function cf(e,r){let{assetId:t}=r.routing,o=await Fe(e,t);try{return oa(e,r,o)}catch(n){if(!(n instanceof a))throw n;let s=await Rr(e,t);return oa(e,r,s)}}function oa(e,r,t){let o=df(r.price,t.tickSize);return {exchangeAddress:ke(e,r.routing,t.negRisk),funderAddress:e.account.wallet,price:o,signerAddress:e.account.signer,tickSize:t.tickSize}}function df(e,r){try{return Zr(e,r)}catch(t){throw t instanceof a?new a(`Price ${t.message}`,{cause:t}):t}}var ma=z.object({builderCode:BuilderCodeSchema.optional(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FAK)}),ia=ma.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),pa=ma.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()}),la=z.union([ia.extend(Ie.shape),ia.extend(qe.shape),pa.extend(Ie.shape),pa.extend(qe.shape)]);async function fa(e,r){let t=Le(r),o=await mf(e,r,t),n=Qs({amount:o.resolvedAmount,price:o.price,protectPrice:Pa(r),side:r.side,tickSize:o.tickSize});return {...t,builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:o.exchangeAddress,expiration:0,funderAddress:o.funderAddress,offeredAmount:n.offeredAmount,orderType:r.orderType,side:r.side,signer:o.signerAddress,requestedAmount:n.requestedAmount}}async function mf(e,r,t){return Pa(r)?lf(e,r,t):ff(e,r,t)}async function lf(e,r,t){let{assetId:o}=t,n=r.side===OrderSide.BUY?r.amount:r.shares;if(r.side===OrderSide.BUY&&r.maxSpend!==void 0){let{builderTakerFeeRate:a$1,market:l}=await ga(e,o,r.builderCode);try{return ca(e,r,t,n,a$1,r.maxSpend,l)}catch(P){if(!(P instanceof a))throw P;let C=await Rr(e,o);return ca(e,r,t,n,a$1,r.maxSpend,C)}}let s=await Fe(e,o);try{return da(e,r,t,n,s)}catch(a$1){if(!(a$1 instanceof a))throw a$1;let l=await Rr(e,o);return da(e,r,t,n,l)}}function ca(e,r,t,o,n,s,a){let l=ya(r,a.tickSize),P=Jt(l);return {exchangeAddress:ke(e,t,a.negRisk),funderAddress:e.account.wallet,price:l,resolvedAmount:Ra({amount:o,builderTakerFeeRate:n,maxSpend:s,platformFeeExponent:a.feeInfo.exponent,platformFeeRate:a.feeInfo.rate,price:P}),signerAddress:e.account.signer,tickSize:a.tickSize}}function da(e,r,t,o,n){let s=ya(r,n.tickSize);return {exchangeAddress:ke(e,t,n.negRisk),funderAddress:e.account.wallet,price:s,resolvedAmount:o,signerAddress:e.account.signer,tickSize:n.tickSize}}async function ff(e,r,t){let{assetId:o}=t,n=r.side===OrderSide.BUY?r.amount:r.shares,s=r.side===OrderSide.BUY&&r.maxSpend!==void 0?ga(e,o,r.builderCode):void 0,[a,l]=await Promise.all([Ur(e,{tokenId:o}),s]);if(a.tokenId!==o)throw new b(`Order book returned asset ${a.tokenId} for requested asset ${o}.`);let P=gr(Vt({amount:n,orderBook:a,orderType:r.orderType,side:r.side}));return {exchangeAddress:ke(e,t,a.negRisk),funderAddress:e.account.wallet,price:P,resolvedAmount:yf(r,n,Jt(P),l),signerAddress:e.account.signer,tickSize:a.tickSize}}function yf(e,r,t,o){return e.side!==OrderSide.BUY||e.maxSpend===void 0||o===void 0?r:Ra({amount:r,builderTakerFeeRate:o.builderTakerFeeRate,maxSpend:e.maxSpend,platformFeeExponent:o.market.feeInfo.exponent,platformFeeRate:o.market.feeInfo.rate,price:t})}function ya(e,r){return e.side===OrderSide.BUY?(invariant(e.maxPrice!==void 0,"Protected BUY market order requires maxPrice."),ua("maxPrice",e.maxPrice,r)):(invariant(e.minPrice!==void 0,"Protected SELL market order requires minPrice."),ua("minPrice",e.minPrice,r))}function ua(e,r,t){try{return Zr(r,t)}catch(o){throw o instanceof a?new a(`${e} ${o.message}`,{cause:o}):o}}function Pa(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}async function ga(e,r,t){let[o,n]=await Promise.all([Fe(e,r),Xs(e,t)]);return {builderTakerFeeRate:n,market:o}}function Ra(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 Ea="0x0000000000000000000000000000000000000000000000000000000000000000";function io(e,r){let t=dr(r);return {builder:e.builderCode??Ea,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:Ea,orderType:e.orderType,protocolVersion:e.exchangeVersion,salt:Pf().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.assetId}}function po(e,r){let{chainId:t,exchangeAddress:o,protocolVersion:n,...s}=e;return {...s,signature:r}}function Pf(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}`)&(1n<<53n)-1n}function co(e){return Hr({domain:Sa(e),order:e})}function uo(e,r){return Nr({domain:Sa(e),order:e,signature:r})}function Sa(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:e.protocolVersion}}function mo(e){return {kind:"signOrder",payload:e}}var gf=o(l,h,g,n,c,b,a);async function lo(e,r){let t=m(r,la);return async function*(){let o=await fa(e,t),n=io(o,e.account),s=expectEvmSignature(yield mo(co(n)));return po(n,Ne(e.account,uo(n,s)))}.call(null)}var Rf=o(h,g,n,c,b,a);async function fo(e,r){let t=m(r,na);return async function*(){let o=await sa(e,t),n=io(o,e.account),s=expectEvmSignature(yield mo(co(n))),a=po(n,Ne(e.account,uo(n,s)));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var $q=gf;async function Vq(e,r){return Ta(e,lo(e,r))}var Yq=Rf;async function Qq(e,r){return Ta(e,fo(e,r))}async function Ta(e,r){let t=await r;return async function*(){let o=yield*t;return $r(e)(o)}.call(null)}var hf=250,Tf=3e4,xf={timeoutMs:z.number().int().positive().optional()},Cf=z.object(xf).default({}),nk=o(h,g,n,i,j$1,c,b,a);function bf(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function xa(e){return e.status===TradeStatus.Failed}async function sk(e,r,t){let{timeoutMs:o=Tf}=m(t,Cf),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(b=>!s.has(b)),C=await Promise.all(P.map(b=>xn(e,{id:b}).firstPage()));for(let b of C)for(let H of b.items)n.includes(H.id)&&bf(H)&&s.set(H.id,H);if(s.size===n.length)break;if(Date.now()>=a){let b=n.filter(H=>!s.has(H));throw new i(`Timed out waiting for trades to settle: ${b.join(", ")}`)}await delay(hf);}let l=[...s.values()];if(l.every(xa))throw new j$1(`Every fill of order ${r.orderId} failed execution: ${n.join(", ")}`);return [...new Set(l.filter(P=>!xa(P)).map(P=>P.transactionHash))].map(P=>TxHashSchema.parse(P))}async function qa(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await ht(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,tokenId:r.assetId});return qf(o,r.spenderAddress)}function qf(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var Ck=o(k,l,h,g,n,c,b,a);function kf(e,r){return lo(e,r).then(j(e.signer))}var bk=o(k,l,h,g,n,i,j$1,c,b,a);function Ik(e,r){return kf(e,r).then(t=>va(e,t,Le(r)))}var qk=o(k,h,g,n,c,b,a);function vf(e,r){return fo(e,r).then(j(e.signer))}var kk=o(k,h,g,n,i,j$1,c,b,a);function vk(e,r){return vf(e,r).then(t=>va(e,t,Le(r)))}async function va(e,r,t){let o=$r(e);try{return await o(r)}catch(n){if(!Of(n))throw n;let s=await Af(e,r,t,o);if(s===void 0)throw n;return s}}async function Af(e,r,t,o){return await wf(e,r,t)?o(r):void 0}function Of(e){return e instanceof g&&e.status===400&&e.message.includes("allowance is not enough")}async function wf(e,r,t){let{assetId:o}=t,n=await Fe(e,o),s=ke(e,t,n.negRisk),a=BigInt(r.makerAmount);return await qa(e,{assetId:o,spenderAddress:s,side:r.side})>=a?false:(await(r.side===OrderSide.BUY?await ss(e,{amount:"max",spenderAddress:s,tokenAddress:e.environment.contracts.collateralToken}):await as(e,{operatorAddress:s,tokenAddress:t.exchangeVersion==="3"?e.environment.contracts.positionManager:e.environment.contracts.conditionalTokens})).wait(),await Cn(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?o:void 0}),true)}function Aa(e){let r=TypedData.getSignPayload(go(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function go(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode(Oa(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 Oa(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(Oa):e}function La(e,r){let t=wa(e.get("Poly-RateLimit-Remaining"),/^-?\d+$/),o=wa(e.get("Poly-RateLimit-Reset"),/^\d+$/),n=zf(e.get("Poly-RateLimit-Tier")),s=e.get("Poly-RateLimit-Warning")?.trim().toLowerCase()==="true";if(!(t===void 0&&o===void 0&&n===void 0&&!s))return {...r===void 0?{}:{bucket:r},remaining:t,reset:o,tier:n,warning:s}}function wa(e,r){let t=e?.trim();if(t===void 0||!r.test(t))return;let o=Number(t);return Number.isSafeInteger(o)?o:void 0}function zf(e){if(!(e===null||e.trim()===""))return e}var et=class{#e;#r;#t;#o;constructor({root:r,headers:t,resolveHeaders:o,onRateLimitUpdate:n}){this.#e=pn.create({prefixUrl:r,throwHttpErrors:false}),this.#r=t,this.#t=o,this.#o=n;}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)}#s(r){return r.startsWith("/")?r.slice(1):r}#n(r,t,o){return this.#u(this.#a(r,t,o),o.rateLimitBucket)}async#a(r,t,o){let n=this.#i(r,t,o),s=await this.#t?.(n),a=this.#c(this.#r,n.headers,s);return n.body!==void 0&&!a.has("content-type")&&a.set("content-type","application/json"),this.#e(this.#s(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.#p(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}}#p(r){if(r!==void 0)return JSON.stringify(r)}#c(...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}#u(r,t){return ResultAsync.fromPromise(r.then(async o=>{let n=La(o.headers,t);if(n!==void 0&&this.#m(n),o.ok)return o;let s=this.#d(o);if(o.status===429)throw new h(`Request to ${o.url} was rate limited`,{rateLimit:n,retryAfter:s});let{code:a,message:l,retryAfter:P}=await this.#l(o);throw new g(l,{code:a,retryAfter:s??P,status:o.status})}),o=>o instanceof h||o instanceof g?o:c.fromError(o))}#m(r){try{Promise.resolve(this.#o?.(r)).catch(()=>{});}catch{}}#d(r){let t=r.headers.get("retry-after");if(!(t===null||!/^\d+$/.test(t)))return Number(t)}async#l(r){let t=r.headers.get("content-type")?.toLowerCase();if(t?.includes("application/json")){let{error:n,code:s,retry_after_seconds:a}=await r.clone().json().catch(()=>({}));if(n)return {message:`${String(n)} (${r.url})`,...typeof s=="string"&&s!==""?{code:s}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{retryAfter:a}:{}}}if(t?.includes("text/plain")){let n=await r.clone().text().then(s=>s.trim(),()=>"");if(n)return {message:`${n} (${r.url})`}}return r.headers.get("server")?.toLowerCase()?.includes("cloudflare")?{message:`Request to ${r.url} was blocked by Cloudflare with status ${r.status}`}:t?.includes("text/html")||t?.includes("application/xhtml+xml")?{message:`Request to ${r.url} failed with status ${r.status} and an unexpected HTML response body`}:{message:`Request to ${r.url} failed with status ${r.status} and unreadable response body`}}};var jf=1e4,Hf=3e4,Nf=5e3,Gf=10*6e4,Kf=3e4,$f=25e3,Vf=65e3,Ma=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},jf);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>Hf}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Fa=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},Nf);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Gf}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Ba=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>Kf}},rt=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"}}));},$f);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Vf}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var Zf=5e3,Jf=250,Xf=3e4,tt=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=ry(this.#r,{baseMs:Jf,maxMs:Xf});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);}}},ot=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.#i(),this.#t!==void 0)return this.#t;let o=this.#n(r).then(()=>({reusedOpenSocket:false})).catch(n=>{throw this.#t===o&&(this.#t=void 0),n});return this.#t=o,o}send(r){return this.#s(JSON.stringify(r))}#s(r){return this.#r?.readyState!==WebSocket.OPEN?false:(this.#r.send(r),true)}async close(){let r=await this.#u();this.#c(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{r.addEventListener("close",()=>t(),{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#n(r){let t=await r.prepare?.();return new Promise((o,n)=>{let s=ey(r.url,r.headers),a=()=>{s.removeEventListener("error",l),this.#a(s),this.#p(),r.onOpen(t),o(s);},l=P=>{s.removeEventListener("open",a),n(new c(`WebSocket connection failed: ${r.url}`,{cause:P}));};s.addEventListener("open",a,{once:true}),s.addEventListener("error",l,{once:true}),s.addEventListener("message",P=>{if(this.#r!==s)return;let C=String(P.data);if(this.#e?.handleMessage(C))return;let b;try{b=JSON.parse(C);}catch{return}r.onMessage(b);}),s.addEventListener("close",P=>{this.#r===s&&(this.#i(),r.onConnectionLost({code:P.code||1005,reason:P.reason??""}));}),s.addEventListener("error",()=>r.onError());})}#a(r){this.#r=r,this.#t=void 0;}#i(){this.#c(),this.#r=void 0;}#p(){this.#c();let r=this.#e;r!==void 0&&(r.start(t=>this.#s(t)),this.#o=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#r;t?.readyState===WebSocket.OPEN&&t.close();},Zf));}#c(){this.#o!==void 0&&(clearInterval(this.#o),this.#o=void 0),this.#e?.stop();}async#u(){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 ey(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 ry(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var nt=1440*60*1e3,Wa=90*nt,ne=z.number().int().nonnegative(),So=z.object({start:ne.optional(),end:ne.optional()}),ja=z.object({interval:PerpsPnlIntervalSchema,start:ne,end:ne.optional()}),hy=z.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),Ty=z.enum(["perpsEquityHistory","perpsPnlHistory"]),ho=z.object({kind:hy,startTimestamp:ne,endTimestamp:ne,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z.array(z.string())}),Ha=z.object({kind:Ty,startTimestamp:ne,endTimestamp:ne,interval:PerpsPnlIntervalSchema});async function Na(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function Ga(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}async function Ka(e){return await unwrap(e.get("/v1/account/stats").andThen(y(FetchPerpsAccountStatsResponseSchema)))}async function $a(e){return await unwrap(e.get("/v1/account/auto-cancel").andThen(y(FetchPerpsAutoCancelStatusResponseSchema)))}var xy=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Va(e,r){let t=m(r,xy);return await unwrap(e.get("/v1/account/config",{params:ce(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var Cy=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Ya(e,r){let t=m(r,Cy);return await unwrap(e.get("/v1/account/open-orders",{params:ce(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var by=z.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ne.optional(),end:ne.optional()}).default({}),Iy=by.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function Qa(e,r){let t=m(r,Iy);return await unwrap(e.get("/v1/account/orders",{params:ce(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var qy=z.object({start:ne.optional(),end:ne.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function Za(e,r={}){let t=m(r,qy);return x(o=>e.get("/v1/account/fills",{params:ce({startTimestamp:t.start,endTimestamp:t.end,sort:t.sort,cursor:o??t.cursor})}).andThen(y(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 ky=So.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),vy=z.object({cursor:PaginationCursorSchema}),Ay=z.union([ky.transform(({cursor:e,...r})=>({cursor:e,params:To(r,nt)})),vy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Ja(e,r={}){let{cursor:t,params:o}=m(r,Ay);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=Xe(n,ho);let{kind:a,seenKeys:l,...P}=s,C=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:ce(P)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(b=>{let H=b.data.filter(D=>!C.has(`${D.instrumentId}:${D.timestamp}:${D.funding}`));return xo({getKey:D=>`${D.instrumentId}:${D.timestamp}:${D.funding}`,getTimestamp:D=>D.timestamp,items:H,responseData:b.data,responseMore:b.more,state:s})})},t)}var Oy=So.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),wy=z.object({cursor:PaginationCursorSchema}),Ly=z.union([Oy.transform(({cursor:e,...r})=>({cursor:e,params:To(r,Wa)})),wy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Xa(e,r={}){let{cursor:t,params:o}=m(r,Ly);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps deposit params."),s={kind:"perpsDeposits",seenKeys:[],...o}):s=Xe(n,ho);let{kind:a,seenKeys:l,...P}=s,C=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:ce(P)}).andThen(y(ListPerpsDepositsResponseSchema)).map(b=>{let H=b.data.filter(D=>!C.has(D.hash));return xo({getKey:D=>D.hash,getTimestamp:Zy,items:H,responseData:b.data,responseMore:b.more,state:s})})},t)}var My=So.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),Fy=z.object({cursor:PaginationCursorSchema}),By=z.union([My.transform(({cursor:e,...r})=>({cursor:e,params:To(r,Wa)})),Fy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ei(e,r={}){let{cursor:t,params:o}=m(r,By);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps withdrawal params."),s={kind:"perpsWithdrawals",seenKeys:[],...o}):s=Xe(n,ho);let{kind:a,seenKeys:l,...P}=s,C=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:ce(P)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(b=>{let H=b.data.filter(D=>!C.has(String(D.withdrawalId)));return xo({getKey:D=>String(D.withdrawalId),getTimestamp:Jy,items:H,responseData:b.data,responseMore:b.more,state:s})})},t)}var Uy=ja.extend({cursor:PaginationCursorSchema.optional()}),Dy=z.object({cursor:PaginationCursorSchema}),zy=z.union([Uy.transform(({cursor:e,...r})=>({cursor:e,params:ai(r)})),Dy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ri(e,r){let{cursor:t,params:o}=m(r,zy);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps equity history params."),s={kind:"perpsEquityHistory",...o}):s=Xe(n,Ha);let{kind:a,...l}=s;return e.get("/v1/account/equity",{params:ce(l)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(P=>{let C=P.data.at(-1),b=P.more&&C!==void 0&&C.timestamp<s.endTimestamp;return {items:P.data,hasMore:b,nextCursor:b?st({...s,startTimestamp:C.timestamp+ii(s.interval)}):void 0}})},t)}var _y=ja.extend({cursor:PaginationCursorSchema.optional()}),Wy=z.object({cursor:PaginationCursorSchema}),jy=z.union([_y.transform(({cursor:e,...r})=>({cursor:e,params:ai(r)})),Wy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ti(e,r){let{cursor:t,params:o}=m(r,jy);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps PnL history params."),s={kind:"perpsPnlHistory",...o}):s=Xe(n,Ha);let{kind:a,...l}=s;return e.get("/v1/account/pnl",{params:ce(l)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(P=>{let C=P.data.at(-1),b=P.more&&C!==void 0&&C.timestamp<s.endTimestamp;return {items:P.data,hasMore:b,nextCursor:b?st({...s,startTimestamp:C.timestamp+ii(s.interval)}):void 0}})},t)}var Hy=z.object({kind:z.literal("perpsNotifications"),cursor:z.string().min(1),sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional()}),Ny=z.object({sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),Gy=z.object({cursor:PaginationCursorSchema}),Ky=z.union([Ny.transform(({cursor:e,...r})=>({cursor:e,params:r})),Gy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function oi(e,r={}){let{cursor:t,params:o}=m(r,Ky);return x(n=>{let s;n===void 0?invariant(o!==void 0,"Expected initial Perps notifications params."):s=Xe(n,Hy);let a=s===void 0?o?.sinceSeq:s.sinceSeq,l=s===void 0?o?.limit:s.limit;return e.get("/v1/account/notifications",{params:ce({cursor:s?.cursor,limit:l,sinceSeq:a})}).andThen(y(ListPerpsNotificationsResponseSchema)).map(P=>{let C=P.has_more&&P.next_cursor!==null;return {items:P.items,hasMore:C,nextCursor:C&&P.next_cursor!==null?st({kind:"perpsNotifications",cursor:P.next_cursor,limit:l,sinceSeq:a}):void 0}})},t)}async function ni(e){return (await unwrap(e.get("/v1/account/notifications",{params:ce({limit:1})}).andThen(y(FetchPerpsUnreadNotificationsCountResponseSchema)))).unread}var $y=z.object({ids:z.array(z.string().min(1)).min(1)}),Vy=z.object({upTo:z.object({id:z.string().min(1),timestamp:z.number().int().nonnegative()})}),Yy=z.union([$y.transform(({ids:e})=>({ids:e})),Vy.transform(({upTo:e})=>({before:Qy(e)}))]);async function si(e,r){let t=m(r,Yy),o=await unwrap(e.post("/v1/account/notifications/read",{json:t}).andThen(y(MarkPerpsNotificationsReadResponseSchema)));if(o.status==="err")throw new g(o.error??"Perps notifications read request was rejected.",{status:200})}function Qy(e){return btoa(JSON.stringify({ts:e.timestamp,id:e.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function To(e,r){let t=Date.now(),{end:o,start:n,...s}=e;return {...s,endTimestamp:o??t,startTimestamp:n??t-r}}function ai(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function Xe(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps account pagination cursor",{cause:t})}}function st(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function ce(e){return R(e,E())}function Zy(e){return e.confirmedTimestamp??e.createdTimestamp}function Jy(e){return e.confirmedTimestamp??e.createdTimestamp}function xo(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 l of e.items)e.getTimestamp(l)===s&&a.add(e.getKey(l));return {items:e.items,hasMore:n,nextCursor:st({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function ii(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return nt;case "1w":return 7*nt}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var Io=z.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional()}),nP=Io.extend({price:PerpsDecimalInputSchema,timeInForce:z.literal(PerpsTimeInForce.GTC),postOnly:z.boolean().default(false)}),sP=Io.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.IOC),postOnly:z.never().optional()}),aP=Io.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.FOK),postOnly:z.never().optional()}),qo=z.discriminatedUnion("timeInForce",[nP,sP,aP]),at=z.object({triggerPrice:PerpsDecimalInputSchema,limitPrice:PerpsDecimalInputSchema.optional()}),it=z.object({triggerPrice:PerpsDecimalInputSchema}),iP=z.union([z.object({takeProfit:at,stopLoss:at.optional()}),z.object({takeProfit:at.optional(),stopLoss:at})]),pP=z.object({orders:z.array(qo).min(1),expiresAt:z.number().int().positive().optional()});async function fi(e,r){let t=m(r,pP);return await e.executeCommand({op:["createOrders",t.orders.map(ko)],expiresAt:t.expiresAt},z.array(PerpsPostOrderAckSchema))}var cP=z.intersection(qo,z.intersection(iP,z.object({clientOrderId:PerpsClientOrderIdSchema.default(qi),expiresAt:z.number().int().positive().optional()}))),dP=z.intersection(qo,z.object({clientOrderId:PerpsClientOrderIdSchema.default(qi),expiresAt:z.number().int().positive().optional(),takeProfit:z.never().optional(),stopLoss:z.never().optional()})),yi=z.array(PerpsPostOrderAckSchema).min(1).refine(e=>e.every(r=>r.status==="ok"),"Expected successful Perps order acknowledgements.");function uP(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Pi(e,r){if(uP(r))return await mP(e,r);let t=m(r,dP),[,o]=await e.executeCommandWithEvent({op:["createOrders",[ko(t)]],expiresAt:t.expiresAt},yi,ki(t.clientOrderId));return {order:o.payload}}async function mP(e,r){let t=m(r,cP),o=[ko(t)],n=t.side===OrderSide.SELL;t.takeProfit!==void 0&&o.push(ut({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(ut({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),trigger:t.stopLoss}));let[s,a]=await e.executeCommandWithEvent({op:["createOrders",o,PerpsTpSlScope.Order],expiresAt:t.expiresAt},yi,ki(t.clientOrderId)),l=1,P={};return t.takeProfit!==void 0&&(P.takeProfit=dt(expectPresent(s[l++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(P.stopLoss=dt(expectPresent(s[l],"Expected Perps stop-loss acknowledgement."))),{order:a.payload,tpSl:P}}var lP=z.union([z.object({takeProfit:it,stopLoss:it.optional()}),z.object({takeProfit:it.optional(),stopLoss:it})]),fP=z.intersection(lP,z.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z.number().int().positive().optional()}));async function gi(e,r){let t=m(r,fP),o=CP(await e.fetchPortfolio(),t.instrumentId),n=[];t.takeProfit!==void 0&&n.push(ut({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:"0",trigger:t.takeProfit})),t.stopLoss!==void 0&&n.push(ut({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:"0",trigger:t.stopLoss}));let s=await e.executeCommand({op:["createOrders",n,PerpsTpSlScope.Position],expiresAt:t.expiresAt},z.array(PerpsPostOrderAckSchema));for(let P of s)if(P.status==="err")throw new g(P.error,{status:200});let a=0,l={};return t.takeProfit!==void 0&&(l.takeProfit=dt(expectPresent(s[a++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(l.stopLoss=dt(expectPresent(s[a],"Expected Perps stop-loss acknowledgement."))),{tpSl:l}}var yP=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 Ri(e,r){let t=m(r,yP),[o]=t.orderId!==void 0?await ct(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await ct(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var PP=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 ct(e,r){let t=m(r,PP);return t.orderIds!==void 0?await e.executeCommand({op:["cancelOrders",t.orderIds],expiresAt:t.expiresAt},z.array(PerpsCancelOrderResultSchema)):await e.executeCommand({op:["cancelOrdersCOID",t.clientOrderIds],expiresAt:t.expiresAt},z.array(PerpsCancelOrderResultSchema))}var gP=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z.number().int().positive().optional()}).default({});async function Ei(e,r){let t=m(r,gP),o=["cancelAll",t.instrumentId===void 0?[]:[t.instrumentId]];await e.executeDeleteCommand({path:"/v1/trade/orders/all",op:o,responseSchema:PerpsCancelAllOrdersResponseSchema,expiresAt:t.expiresAt});}var RP=5e3,EP=z.object({cancelAt:z.number().int().positive(),expiresAt:z.number().int().positive().optional()}).superRefine((e,r)=>{let t=Date.now()+RP;e.cancelAt<t&&r.addIssue({code:"custom",message:"cancelAt must be at least 5 seconds in the future.",path:["cancelAt"]});}),Si=o(m$1,h,g,n,c,b,a),SP="auto_cancel_daily_limit_reached";async function hi(e,r,t){let o=m(t,EP),n=["autoCancel",[o.cancelAt]],s=r(n,o.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...s,op:xr(n)}}).andThen(y(PerpsAutoCancelResponseSchema)).mapErr(a=>a instanceof g&&a.message.startsWith(`${SP} (`)?new m$1("Auto-cancel daily trigger limit reached.",{cause:a}):a));}var hP=z.object({expiresAt:z.number().int().positive().optional()}).default({});async function Ti(e,r,t){let o=m(t,hP),n=["autoCancel",[0]],s=r(n,o.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...s,op:xr(n)}}).andThen(y(PerpsAutoCancelResponseSchema)));}var TP=z.object({instrumentId:PerpsInstrumentIdSchema,leverage:z.number().int().positive(),crossMargin:z.boolean()}),xi=o(g,n,c,a);async function Ci(e,r){let t=m(r,TP);return await e.executeCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]]},PerpsUpdateLeverageResultSchema)}var xP=z.object({instrumentId:PerpsInstrumentIdSchema,amount:PerpsDecimalInputSchema}),bi=o(g,n,c,a);async function Ii(e,r){let t=m(r,xP),o=toDecimalString(t.amount),n=await e.executeCommand({op:["updateMargin",[t.instrumentId,o]]},PerpsCommandAckSchema);if(n.status==="err")throw new g(n.error,{status:200})}function qi(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return PerpsClientOrderIdSchema.parse(Array.from(e,r=>r.toString(16).padStart(2,"0")).join(""))}function ki(e){return r=>r.type==="order"&&r.payload.clientOrderId===e}function dt(e){if(e.status==="err")throw new g(e.error,{status:200});return {orderId:e.orderId}}function CP(e,r){let t=e.positions.find(n=>n.instrumentId===r),o=t===void 0?0:bP(t.size);if(o===0)throw new a(`No open Perps position for instrument ${r}.`);return o<0}function bP(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function ko(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 ut(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]]}function xr(e){let[r,t,o]=e;switch(r){case "createOrders":return kP({args:t.map(IP),type:r},o);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "autoCancel":{let[n]=t;return {type:r,args:{time:n}}}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}}}case "updateMargin":{let[n,s]=t;return {type:r,args:{amt:s,iid:n}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function IP(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=qP(e[8])),r}function qP(e){let r={tpsl:e[2],trp:e[1]};return e[0]!==void 0&&(r.market=e[0]),r}function kP(e,r){return r!==void 0&&(e.grp=r),e}var MP=3e4,Oi=3e4,FP=2e3,BP=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],UP=new Set(["notifications"]),DP=z.object({id:z.number().int().positive().optional(),data:z.unknown().optional()}).passthrough(),wi=z.union([PerpsCommandAckSchema,z.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),Li=class{credentials;#e;#r;#t;#o;#s;#n=new ot({heartbeat:new rt});#a=pushable({objectMode:true});#i=new Map;#p=new Set;#c=new tt;#u=new Map;#m=1;#d;constructor(r){this.#e=new et({headers:r.headers,resolveHeaders:async()=>this.#T(),root:r.restUrl}),this.#r=r.chainId,this.credentials=r.credentials,this.#t=r.headers,this.#o=r.onClose,this.#s=r.wsUrl;}get closed(){return this.#d!==void 0}async connect(){await this.#l(false);}async close(){this.#d===void 0&&(this.#d=this.#x()),await this.#d;}[Symbol.asyncIterator](){return this.#a[Symbol.asyncIterator]()}async fetchBalances(){return await Na(this.#e)}async fetchPortfolio(){return await Ga(this.#e)}async fetchStats(){return await Ka(this.#e)}async fetchAccountConfig(r){return await Va(this.#e,r)}async fetchAutoCancelStatus(){return await $a(this.#e)}async fetchOpenOrders(r){return await Ya(this.#e,r)}async fetchOrders(r){return await Qa(this.#e,r)}listFills(r={}){return Za(this.#e,r)}listFundingPayments(r={}){return Ja(this.#e,r)}listDeposits(r={}){return Xa(this.#e,r)}listWithdrawals(r={}){return ei(this.#e,r)}listEquityHistory(r){return ri(this.#e,r)}listPnlHistory(r){return ti(this.#e,r)}listNotifications(r={}){return oi(this.#e,r)}async fetchUnreadNotificationsCount(){return await ni(this.#e)}async markNotificationsRead(r){await si(this.#e,r);}async placeOrder(r){return await Pi(this,r)}async postOrders(r){return await fi(this,r)}async placePositionTpSl(r){return await gi(this,r)}async cancelOrder(r){return await Ri(this,r)}async cancelOrders(r){return await ct(this,r)}async cancelAllOrders(r){await Ei(this,r);}async armAutoCancel(r){await hi(this.#e,(t,o)=>this.#f(t,o),r);}async disarmAutoCancel(r){await Ti(this.#e,(t,o)=>this.#f(t,o),r);}async updateLeverage(r){return await Ci(this,r)}async updateMargin(r){await Ii(this,r);}async#l(r){await this.#n.connect({onConnectionLost:()=>this.#I(),onError:()=>{},onMessage:t=>this.#C(t),onOpen:()=>{},headers:this.#t,url:this.#s}),await this.#S(),await this.#h(),this.#c.resetBackoff(),r&&(this.#u.clear(),this.#a.push({reason:"reconnect",type:"resync"}));}async#S(){await this.#P({id:this.#m++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},wi,MP,"Perps session authentication timed out.");}async#h(){await this.#P({id:this.#m++,req:"sub",chs:BP},wi,Oi,"Perps session subscription timed out.");}#T(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}async executeCommand(r,t){let o=xr(r.op),n=this.#f(r.op,r.expiresAt);return await this.#P({...n,id:this.#m++,op:o,req:"post"},t,Oi,"Perps command response timed out.")}async executeCommandWithEvent(r,t,o){let n=this.#k(o),s=this.executeCommand(r,t);s.then(()=>this.#v(n,FP),()=>{});try{let[a,l]=await Promise.all([s,n.promise]);return [a,l]}finally{this.#y(n);}}async executeDeleteCommand(r){let t=this.#f(r.op,r.expiresAt);return await unwrap(this.#e.del(r.path,{json:{...t,op:xr(r.op)}}).andThen(y(r.responseSchema)))}#f(r,t){let o=WP(),n$1=Date.now(),s;try{s=Aa({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n$1});}catch(l){throw n.fromError(l,"Could not sign the Perps session command")}let a={salt:o,sig:s,ts:n$1};return t!==void 0&&(a.exp=t),a}async#P(r,t,o,n){let s=zP(t);this.#i.set(r.id,s);let a=setNonBlockingTimeout(()=>{s.reject(new c(n));},o);try{if(!this.#n.send(r))throw new c("Perps session transport is not open.");return await s.promise}finally{clearTimeout(a),this.#i.delete(r.id);}}async#x(){this.#c.stop(),this.#g(new c("Perps session closed.")),this.#E(new c("Perps session closed.")),this.#a.end(),await this.#n.close(),this.#o(this);}#C(r){if(this.#b(r)||PerpsNotificationsResyncFrameSchema.safeParse(r).success)return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#q(o),this.#R(o);}#b(r){let t=DP.safeParse(r);if(!t.success||t.data.id===void 0)return false;let o=this.#i.get(t.data.id);if(o===void 0)return true;let n=o.schema.safeParse(t.data.data);if(!n.success){let s=vo(t.data.data??t.data);return s!==void 0?o.reject(new g(s.error,{status:200})):o.reject(new c("Perps session unexpected response.")),true}return _P(n.data)?o.reject(new g(n.data.error,{status:200})):o.resolve(n.data),true}#I(){this.#g(new c("Perps session connection closed.")),this.#E(new c("Perps session connection closed.")),this.#d===void 0&&this.#c.schedule({reconnect:()=>this.#l(true),shouldReconnect:()=>this.#d===void 0});}#g(r){for(let t of this.#i.values())t.reject(r);this.#i.clear();}#q(r){if(UP.has(r.channel))return;let t=this.#u.get(r.channel);this.#u.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#R({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#R(r){this.#A(r),this.#a.push(r);}#k(r){let t,o,s={promise:new Promise((a,l)=>{t=a,o=l;}),predicate:r,reject:o,resolve:t};return this.#p.add(s),s}#v(r,t){this.#p.has(r)&&(r.timeout=setNonBlockingTimeout(()=>{this.#y(r),r.reject(new i("Perps event wait timed out."));},t));}#A(r){for(let t of Array.from(this.#p))t.predicate(r)&&(this.#y(t),t.resolve(r));}#y(r){this.#p.delete(r)&&r.timeout!==void 0&&clearTimeout(r.timeout);}#E(r){for(let t of Array.from(this.#p))this.#y(t),t.reject(r);}};function zP(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function _P(e){return Array.isArray(e)?false:vo(e)!==void 0}function vo(e){if(Array.isArray(e)){for(let t of e){let o=vo(t);if(o!==void 0)return o}return}if(typeof e!="object"||e===null)return;let r=e;if(r.status==="err")return {error:typeof r.error=="string"?r.error:"Perps command failed."}}function WP(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var ze=o(h,g,c,b,a),Pe=z.number().int().nonnegative(),Bi=1440*60*1e3,ig=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),jv=ze;async function Hv(e,r){let t=m(r,ig);return unwrap(e.perps.get("/v1/info/instruments",{params:R(t,E())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var pg=z.object({instrumentId:PerpsInstrumentIdSchema}),Nv=ze;async function Gv(e,r){let t=m(r,pg),[o]=await dg(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var cg=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),Kv=ze;async function dg(e,r){let t=m(r,cg),o=R(t,E()),[n,s]=await Promise.all([unwrap(e.perps.get("/v1/info/tickers",{params:o}).andThen(y(FetchPerpsTickersResponseSchema))),unwrap(e.perps.get("/v1/info/statistics",{params:o}).andThen(y(FetchPerpsStatisticsResponseSchema)))]),a=new Map(s.map(l=>[l.instrumentId,l]));return n.map(l=>{let P=a.get(l.instrumentId);return {...l,openPrice:P?.openPrice,volume24h:P?.volume}})}var ug=z.union([z.literal(10),z.literal(100),z.literal(500),z.literal(1e3)]),mg=z.object({instrumentId:PerpsInstrumentIdSchema,depth:ug.default(100)}),$v=ze;async function Vv(e,r){let t=m(r,mg);return unwrap(e.perps.get("/v1/info/book",{params:R(t,E())}).andThen(y(PerpsBookSchema)))}var lg=z.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:Pe.optional(),end:Pe.optional(),cursor:PaginationCursorSchema.optional()}),fg=z.object({cursor:PaginationCursorSchema}),yg=z.union([lg.transform(({cursor:e,...r})=>({cursor:e,params:bg(r)})),fg.transform(({cursor:e})=>({cursor:e,params:void 0}))]),Yv=ze;function Qv(e,r){let{cursor:t,params:o}=m(r,yg);return x(n=>{let s=n===void 0?Ig(o):vg(n);return e.perps.get("/v1/info/klines",{params:R({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,interval:s.interval,startTimestamp:s.startTimestamp},E())}).andThen(y(FetchPerpsCandlesResponseSchema)).map(a=>{let l=a.data.at(-1),P=a.more&&l!==void 0;return {items:a.data,hasMore:P,nextCursor:P?Lo({...s,startTimestamp:l.timestamp+wg(s.interval)}):void 0}})},t)}var Ui=z.object({instrumentId:PerpsInstrumentIdSchema,start:Pe.optional(),end:Pe.optional()}),Pg=Ui.extend({cursor:PaginationCursorSchema.optional()}),gg=z.object({cursor:PaginationCursorSchema}),Rg=z.union([Pg.transform(({cursor:e,...r})=>({cursor:e,params:Di(r)})),gg.transform(({cursor:e})=>({cursor:e,params:void 0}))]),Eg=Ui.extend({cursor:PaginationCursorSchema.optional()}),Sg=z.object({cursor:PaginationCursorSchema}),Zv=ze;function Jv(e,r){let{cursor:t,params:o}=m(r,Rg);return x(n=>{let s=n===void 0?qg(o):Ag(n);return e.perps.get("/v1/info/funding",{params:R({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},E())}).andThen(y(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let l=a.data.at(-1),P=a.more&&l!==void 0&&l.timestamp>s.startTimestamp;return {items:a.data,hasMore:P,nextCursor:P?Lo({...s,endTimestamp:l.timestamp-1}):void 0}})},t)}var hg=z.union([Eg.transform(({cursor:e,...r})=>({cursor:e,params:Di(r)})),Sg.transform(({cursor:e})=>({cursor:e,params:void 0}))]),Xv=ze;function eA(e,r){let{cursor:t,params:o}=m(r,hg);return x(n=>{let s=n===void 0?kg(o):Og(n),a=new Set(s.seenTradeIds);return e.perps.get("/v1/info/trades",{params:R({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},E())}).andThen(y(FetchPerpsTradesResponseSchema)).map(l=>{let P=l.data.filter(_p=>!a.has(_p.tradeId)),C=l.data.at(-1),b=P.at(-1),H=b?.timestamp??C?.timestamp,D=l.more&&H!==void 0&&H>s.startTimestamp;return {items:P,hasMore:D,nextCursor:D?Lo({...s,endTimestamp:b===void 0?H-1:H,seenTradeIds:b===void 0?[]:Lg(s,P,b)}):void 0}})},t)}var rA=o(h,g,c,b);async function tA(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var Tg=z.object({kind:z.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:Pe,endTimestamp:Pe}),xg=z.object({kind:z.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe}),Cg=z.object({kind:z.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe,seenTradeIds:z.array(PerpsTradeIdSchema)});function bg(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Bi}}function Di(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Bi}}function Ig(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function qg(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function kg(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function vg(e){return wo(e,Tg)}function Ag(e){return wo(e,xg)}function Og(e){return wo(e,Cg)}function wo(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function Lo(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function wg(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 Lg(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 Mg=z.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),Fg=z.object({proxy:z.string().transform(e=>expectEvmAddress(e)),privateKey:Mg,secret:z.string().min(1),expiresAt:z.number().int().positive()}),Bg=10080*60*1e3,Ug=z.strictObject({expiresIn:z.number().int().positive().default(Bg),label:z.string().min(1).optional()}),Dg=z.strictObject({credentials:Fg}),zg=z.union([Ug,Dg]),_g=z.object({proxy:z.string()}),Wg=_g.transform(e=>({proxy:expectEvmAddress(e.proxy)})),zi=z.bigint().positive().max(ee),jg=z.object({amount:zi,metadata:Y.optional()}),Hg=z.object({amount:zi}),oA=o(h,g,n,c,b,a),nA=o(h,g,n,c,b,a),sA=o(a),aA=o(k,h,g,n,c,b,a),iA=o(h,g,n,c,b,a);async function pA(e,r={}){let t=m(r,zg),o="credentials"in t?await Kg(e,t.credentials):await Gg(e,t);return e.webSockets.perpsSession.connect(o)}async function cA(e,r){let t=m(r,Wg),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=Mo(),a=Date.now(),l=await Vg(e,{salt:s,signedOp:n,timestamp:a}),P=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:o,salt:s,sig:l,ts:a}}).andThen(y(PerpsDeleteProxyResponseSchema)));if(P.status==="err")throw new g(P.error??"Perps credentials revocation was rejected.",{status:200})}async function Ng(e,r){let t=m(r,jg),{contracts:o}=e.environment,n=jn(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?$(yield rR(V(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Deposit ${t.amount} of ${o.collateralToken} to Perps`})}.call(null)}function dA(e,r){return Ng(e,r).then(j(e.signer))}async function uA(e,r){let t=m(r,Hg),o=Math.floor(Date.now()/1e3),n=Mo(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await Yg(e,{amount:t.amount,salt:n,timestamp:o}),l=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:s,salt:n,sig:a,ts:o}}).andThen(y(PerpsWithdrawResponseSchema)));if(l.status==="err")throw new g(l.error??"Perps withdrawal was rejected.",{status:200});if(l.withdrawalId===void 0)throw new b("Perps withdrawal response did not include a withdrawal ID.");return l.withdrawalId}async function Gg(e,r){let t=Jg(),o=Wi(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),l=Mo(),P={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},C=await $g(e,{expiresAt:s,proxy:o,salt:l,timestamp:a}),b={op:P,salt:l,sig:C,ts:a};r.label!==void 0&&(b.label=r.label);let H=await unwrap(e.perps.post("/v1/account/proxy",{json:b}).andThen(y(PerpsCreateProxyResponseSchema))),D={expiresAt:s,privateKey:t,proxy:o,secret:H.secret};return _i(e,D)}async function Kg(e,r){return Xg(r),_i(e,r)}async function _i(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:eR(r)}).andThen(y(PerpsCredentialsResponseSchema)));if(!isSameEvmAddress(t.address,e.account.signer))throw new b("Perps credentials belong to a different signer account.");let o=t.keys.find(n=>isSameEvmAddress(n.proxy,r.proxy));if(o===void 0)throw new b("Perps credentials were not returned by the API.");if(o.expiresAt<=Date.now())throw new b("Perps credentials are expired.");return {...r,expiresAt:o.expiresAt}}async function $g(e,r){try{return await e.signer.signTypedData(Zg({chainId:e.environment.chainId,...r}))}catch(t){throw n.fromError(t,"Could not sign the Perps proxy credentials request")}}async function Vg(e,r){try{return await e.signer.signTypedData(go({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw n.fromError(t,"Could not sign the Perps operation request")}}async function Yg(e,r){try{return await e.signer.signTypedData(Qg({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 n.fromError(t,"Could not sign the Perps withdrawal request")}}function Qg(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 Zg(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 Jg(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function Wi(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function Xg(e){let r=Wi(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function eR(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function rR(e){return {kind:"sendPerpsDepositTransaction",request:e}}function Mo(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Hi=(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))(Hi||{}),iR=z.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),Ni=z.enum(["ASC","DESC"]),pR=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:iR.optional(),sortDirection:Ni.optional(),title:z.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),xA=o(h,g,c,b,a);function CA(e,r){let{cursor:t,pageSize:o,...n}=m(r,pR);return x(s=>{let a=W(s,o);return e.data.get("/positions",{params:K({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListPositionsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var cR=z.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),dR=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:cR.optional(),sortDirection:Ni.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),bA=o(h,g,c,b,a);function IA(e,r){let{cursor:t,pageSize:o,...n}=m(r,dR);return x(s=>{let a=W(s,o);return e.data.get("/closed-positions",{params:K({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListClosedPositionsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var uR=z.enum(Hi),mR=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),lR=z.union([ComboPositionStatusSchema,z.tuple([ComboPositionStatusSchema],ComboPositionStatusSchema)]),fR=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),pageSize:w.default(20),status:lR.optional(),sort:uR.optional(),conditionId:mR.optional(),updatedAfter:z.number().int().min(0).optional(),updatedBefore:z.number().int().min(0).optional()}),qA=o(h,g,c,b,a);function kA(e,r){let{cursor:t,pageSize:o,conditionId:n,status:s,...a}=m(r,fR);return x(l=>{let P=R({...a,limit:o,cursor:l},E({updatedAfter:"updatedAfter",updatedBefore:"updatedBefore"}));return yR(P,n),PR(P,s),e.data.get("/v1/positions/combos",{params:P}).andThen(y(ListComboPositionsResponseSchema)).map(C=>{let b=C.pagination.nextCursor??void 0;return {items:C.combos,hasMore:b!==void 0,nextCursor:b}})},t)}function yR(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}function PR(e,r){r!==void 0&&e.append("status",typeof r=="string"?r:r.join(","));}var gR=z.object({user:z.string(),market:z.array(z.string()).optional()}),vA=o(h,g,c,b,a);async function AA(e,r){let t=m(r,gR);return unwrap(e.data.get("/value",{params:K(t)}).andThen(y(FetchPortfolioValueResponseSchema)))}var RR=z.object({user:z.string()}),OA=o(h,g,c,b,a);async function wA(e,r){let t=m(r,RR);return unwrap(e.data.get("/traded",{params:K(t)}).andThen(y(TradedSchema)))}var ER=z.object({user:z.string()}),LA=o(h,g,c,b,a);async function MA(e,r){let t=m(r,ER);return unwrap(e.data.get("/v1/accounting/snapshot",{params:K(t)}).andThen(an))}var Yi=32,Qi=3n,$i=50,hR=(1n<<256n)-1n;function Do(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[Qi,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function Zi(e){if(e.length===0||e.length>$i)throw new a(`Combo legs must include 1 to ${$i} position IDs`);let r=e.map(t=>{let o=Xi(t),n=o.toString(16).padStart(Yi*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 Ji(e){let t=Xi(e).toString(16).padStart(Yi*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==Qi)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 Xi(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>hR)throw new a("Position ID must be a uint256 value");return t}var rp=z.object({amount:z.bigint().min(0n),conditionId:ConditionIdSchema,metadata:Y.optional()}),xR=z.object({amount:z.bigint().positive(),legs:z.array(PositionIdSchema).min(1).max(50),metadata:Y.optional()}),tp=z.array(PositionIdSchema).min(1).max(50).transform(Zi),CR=z.object({amount:z.bigint().positive(),legs:tp,metadata:Y.optional()}),bR=z.union([rp.extend({legs:z.never().optional()}),xR.extend({conditionId:z.never().optional()})]),op=o(h,g,c,b,a),rO=op,tO=op,np=o(h,g,c,b,a),oO=np,nO=np,sp=o(h,g,c,b,a),sO=sp,aO=sp;async function ap(e,r){let t=m(r,rp),o=await jo(e,{conditionId:t.conditionId}),n=Hn(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?$(yield zo(V(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Split ${t.amount} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function ip(e,r){let t=m(r,CR),o=qt(e.environment.contracts.combinatorialModule,t.legs),n=Do(t.legs),s=Kn(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await $(yield zo(V(e.environment.chainId,o))).wait(),$(yield zo(V(e.environment.chainId,s)))):yield*await J(e,{calls:[o,s],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${n.conditionId}`})}.call(null)}async function IR(e,r){let t=m(r,bR);return t.legs!==void 0?ip(e,t):ap(e,t)}var pp=o(k,h,g,n,i,j$1,c,b,a),iO=pp,pO=pp;function cO(e,r){return ap(e,r).then(j(e.signer))}function dO(e,r){return ip(e,r).then(j(e.signer))}function uO(e,r){return IR(e,r).then(j(e.signer))}var cp=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),conditionId:ConditionIdSchema,metadata:Y.optional()}),qR=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:z.array(PositionIdSchema).min(1).max(50),metadata:Y.optional()}),kR=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:tp,metadata:Y.optional()}),vR=z.union([cp.extend({legs:z.never().optional()}),qR.extend({conditionId:z.never().optional()})]);async function dp(e,r){let t=m(r,cp),o=await jo(e,{conditionId:t.conditionId}),n=bt(await e.rpc.ethCall(Ct(o.positionErc1155Address,e.account.wallet,o.tokenIds))),s=gp(o.conditionId,n,t.amount),a=Nn(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?$(yield _o(V(e.environment.chainId,a))):yield*await J(e,{calls:[a],metadata:t.metadata??`Merge ${s} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function up(e,r){let t=m(r,kR),o=qt(e.environment.contracts.combinatorialModule,t.legs),n=Do(t.legs),s=bt(await e.rpc.ethCall(Ct(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),a=gp(n.conditionId,s,t.amount),l=$n(e.environment.contracts.protocolV2Router,n.conditionId,a);return async function*(){return e.account.walletType===WalletType.EOA?(await $(yield _o(V(e.environment.chainId,o))).wait(),$(yield _o(V(e.environment.chainId,l)))):yield*await J(e,{calls:[o,l],metadata:t.metadata??`Merge ${a} combo positions for condition ${n.conditionId}`})}.call(null)}async function AR(e,r){let t=m(r,vR);return t.legs!==void 0?up(e,t):dp(e,t)}var mp=o(k,h,g,n,i,j$1,c,b,a),mO=mp,lO=mp;function fO(e,r){return dp(e,r).then(j(e.signer))}function yO(e,r){return up(e,r).then(j(e.signer))}function PO(e,r){return AR(e,r).then(j(e.signer))}var lp=z.object({conditionId:ConditionIdSchema,marketId:z.never().optional(),amount:z.never().optional(),positionId:z.never().optional(),metadata:Y.optional()}),fp=z.object({conditionId:z.never().optional(),marketId:MarketIdSchema,amount:z.never().optional(),positionId:z.never().optional(),metadata:Y.optional()}),OR=z.union([lp,fp]),yp=z.object({positionId:PositionIdSchema,conditionId:z.never().optional(),marketId:z.never().optional(),metadata:Y.optional()}),wR=z.union([lp,fp,yp]);async function LR(e,r){let t=m(r,OR),o=await jo(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),n=Gn(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId);return async function*(){return e.account.walletType===WalletType.EOA?$(yield Pp(V(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Redeem positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function MR(e,r){let t=m(r,yp),o=Ji(t.positionId),n=zn(await e.rpc.ethCall(Dn(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Combo position has no balance to redeem");let s=Vn(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?$(yield Pp(V(e.environment.chainId,s))):yield*await J(e,{calls:[s],metadata:t.metadata??`Redeem combo position ${t.positionId}`})}.call(null)}async function FR(e,r){let t=m(r,wR);return t.positionId!==void 0?MR(e,t):LR(e,t)}var gO=o(k,h,g,n,c,b,a);function RO(e,r){return FR(e,r).then(j(e.signer))}function zo(e){return {kind:"sendSplitPositionTransaction",request:e}}function _o(e){return {kind:"sendMergePositionsTransaction",request:e}}function Pp(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function jo(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await ws(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[BR(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=UR(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 BR(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function UR(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 gp(e,r,t){let o=DR(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 DR(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 HR=z.object({address:z.string()}),qO=o(h,g,c,b,a);async function kO(e,r){let t=m(r,HR);return unwrap(e.gamma.get("/public-profile",{params:R(t,E())}).andThen(y(PublicProfileSchema)).orElse(o=>o instanceof g&&o.status===404?ok(null):err(o)))}var Go=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;}},zO=o(e,Go,n,i,c,a),Ko=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;}},_O=o(e,Ko,i,c),$o=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;}},WO=o(e,$o,i,c),jO=o(e,c,a);async function HO(e){return Ir(e),e.webSockets.rfqQuoter.connect()}var Yo="/v1/builder/rfq/requests",YR=3e4,QR=3e4,ZR=3e4,JR=500,XR=3e4,eE=1e3,rE="0x0000000000000000000000000000000000000000000000000000000000000000",Ae=class extends PolymarketError{name="RfqRequestRejectedError";status;code;constructor(r,t){super(r,t),this.status=t.status,this.code=t.code;}};function Qo(e){return e instanceof g?new Ae(e.message,{cause:e,code:kp(e.code),status:e.status}):e}var tE=new Set(Object.values(RfqRejectionCode));function kp(e){return e!==void 0&&tE.has(e)?e:RfqRejectionCode.RequestFailed}function vp(e){if(!e.hasBuilderApiKey)throw new a("Combo RFQ requests require a Builder API Key in the client configuration, via builderApiKey(...) or remoteBuilderSigning(...).")}var Tp=z.array(z.string().regex(/^\d+$/,"Leg position IDs must be numeric strings.").transform(e=>toPositionId(BigInt(e).toString()))).min(2,"Combo requests require at least 2 legs.").max(50,"Combo requests allow at most 50 legs.").refine(e=>new Set(e).size===e.length,"Leg position IDs must not contain duplicates.").transform(e=>[...e].sort((r,t)=>{let o=BigInt(r),n=BigInt(t);return o<n?-1:o>n?1:0})),yt=z.union([z.number(),z.string()]).transform((e,r)=>{let t=/^(\d+)(?:\.(\d*))?$/.exec(String(e));if(t===null)return r.addIssue({code:"custom",message:"Value must be a valid decimal."}),z.NEVER;let[,o="",n=""]=t;if(n.length>6)return r.addIssue({code:"custom",message:"Value must have at most 6 decimal places."}),z.NEVER;let s=oE(o,n);return s<=0n?(r.addIssue({code:"custom",message:"Value must be greater than 0."}),z.NEVER):s.toString()});function oE(e,r){return BigInt(e)*1000000n+BigInt(r.padEnd(6,"0"))}var nE=z.discriminatedUnion("direction",[z.object({amount:yt,direction:z.literal(OrderSide.BUY),legPositionIds:Tp,side:z.literal(RfqSide.Yes).optional()}),z.object({direction:z.literal(OrderSide.SELL),legPositionIds:Tp,side:z.literal(RfqSide.Yes).optional(),size:yt})]),NO=o(h,Ae,c,b,a);async function GO(e,r){Ir(e);let t=m(r,nE);vp(e);let o=dr(e.account),n={direction:t.direction===OrderSide.BUY?RfqDirection.Buy:RfqDirection.Sell,leg_position_ids:t.legPositionIds,maker_address:o.maker,requested_size:t.direction===OrderSide.BUY?{unit:RfqRequestedSizeUnit.Notional,value_e6:t.amount}:{unit:RfqRequestedSizeUnit.Shares,value_e6:t.size},side:RfqSide.Yes,signature_type:o.signatureType,signer_address:o.signer},s=await unwrap(e.builderGateway.post(Yo,{json:n,timeout:YR}).andThen(y(BuilderRfqCreateResponseSchema)).mapErr(Qo));if("quote"in s){sE(s,n);let a=s.request.direction===RfqDirection.Buy?OrderSide.BUY:OrderSide.SELL,l={blendedPrice:s.quote.blendedPrice,builderCode:s.builderCode,expiresAt:s.expiresAt,makerAmount:s.quote.makerAmount,positionId:s.request.yesPositionId,quoteId:s.quote.quoteId,rfqId:s.rfqId,takerAmount:s.quote.takerAmount,totalRequired:s.quote.totalRequired};if(a===OrderSide.SELL){if(s.quote.netReceive===void 0)throw new b(`SELL quote for RFQ ${s.rfqId} omitted net sell proceeds.`);return {quote:{...l,direction:a,netReceive:s.quote.netReceive},rfqId:s.rfqId}}return {quote:{...l,direction:a},rfqId:s.rfqId}}return aE(s)}function sE(e,r){let t=e.request,o=[];if(t.rfqId!==e.rfqId&&o.push("rfq_id"),t.direction!==r.direction&&o.push("direction"),t.side!==r.side&&o.push("side"),(t.legPositionIds.length!==r.leg_position_ids.length||t.legPositionIds.some((n,s)=>n!==r.leg_position_ids[s]))&&o.push("leg_position_ids"),(t.requestedSize.unit!==r.requested_size.unit||t.requestedSize.valueE6!==r.requested_size.value_e6)&&o.push("requested_size"),o.length>0)throw new b(`Builder RFQ response did not echo the submitted ${o.join(", ")}.`)}function aE(e){switch(e.error?.code){case RfqKnownErrorCode.NoQuotes:return {quote:null,reason:ComboQuoteUnavailableReason.NoQuotes,rfqId:e.rfqId};case RfqKnownErrorCode.SizeTooLarge:return {quote:null,reason:ComboQuoteUnavailableReason.SizeTooLarge,rfqId:e.rfqId};default:throw new Ae(e.error?.message??"The combo quote request failed.",{code:kp(e.error?.code),status:200,...e.error===void 0?{}:{cause:e.error}})}}var iE=OrderSideSchema,pE=z.object({blendedPrice:z.string(),builderCode:z.string().regex(/^0x[0-9a-fA-F]{64}$/,"builderCode must be a 32-byte hex string.").transform(toBuilderCode),direction:iE,expiresAt:z.number().int().nonnegative(),makerAmount:yt.transform(toBaseUnits),netReceive:z.string().optional(),positionId:z.string().regex(/^\d+$/,"positionId must be a numeric string.").transform(toPositionId),quoteId:z.string().min(1).transform(toRfqQuoteId),rfqId:z.string().min(1).transform(toRfqId),takerAmount:yt.transform(toBaseUnits),totalRequired:z.string()}),KO=o(k,h,Ae,n,i,c,b,a);async function $O(e,r){Ir(e);let t=m(r,pE);vp(e);let o=Us({chainId:e.environment.chainId,exchange:e.environment.contracts.exchangeV3}),n=uE(e,t),s=await lE(e,o,n),a={quote_id:t.quoteId,signed_order:s};function l(){return e.builderGateway.post(`${Yo}/${encodeURIComponent(t.rfqId)}/accept`,{json:a,timeout:QR}).andThen(y(BuilderRfqStatusResponseSchema))}let P=await l();if(P.isErr()&&(P.error instanceof c||P.error instanceof b)&&(P=await l()),P.isErr()){let D=cE(t.rfqId,P.error);if(D!==void 0)return D;throw Qo(P.error)}let C=P.value,b$1=P.value.takerOrderHash,H=Date.now()+ZR;for(;C.status===RfqStatus.AwaitingMakerConfirmation;){if(Date.now()>=H)throw new i(`Timed out waiting for the acceptance outcome of RFQ ${t.rfqId}.`);await delay(JR),C=await Ap(e,{rfqId:t.rfqId});}return C.status===RfqStatus.Failed||C.status===RfqStatus.Expired||C.status===RfqStatus.Canceled?{reason:dE(C.status,C.error?.code),rfqId:C.rfqId,status:"failed",...C.error===void 0?{}:{error:C.error}}:{rfqId:C.rfqId,status:"executing",...b$1===void 0?{}:{takerOrderHash:b$1}}}function cE(e,r){if(r instanceof g&&r.code===RfqKnownErrorCode.ExpiredRfq)return {error:{code:RfqKnownErrorCode.ExpiredRfq,message:r.message},reason:ComboAcceptFailureReason.AcceptanceWindowExpired,rfqId:e,status:"failed"}}function dE(e,r){return e===RfqStatus.Expired||r===RfqKnownErrorCode.ExpiredRfq?ComboAcceptFailureReason.AcceptanceWindowExpired:r===RfqKnownErrorCode.MakerDeclined?ComboAcceptFailureReason.MakerDeclined:ComboAcceptFailureReason.ExecutionFailed}function uE(e,r){let t=dr(e.account);return {builder:r.builderCode,maker:t.maker,makerAmount:r.makerAmount,metadata:rE,salt:mE().toString(),side:$t(r.direction),signatureType:t.signatureType,signer:t.signer,takerAmount:r.takerAmount,timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:r.positionId}}function mE(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}`)}async function lE(e,r,t){let o;try{o=await e.signer.signTypedData(Hr({domain:r,order:t}));}catch(n$1){throw n$1 instanceof k?n$1:n.fromError(n$1,"Could not sign the combo quote acceptance order.")}return {...t,signature:Nr({domain:r,order:t,signature:o})}}var fE=z.object({pollingIntervalMs:z.number().int().positive().optional(),rfqId:z.string().min(1).transform(toRfqId),timeoutMs:z.number().int().positive().optional()}),VO=o(h,Ae,i,c,b,a);async function YO(e,r){Ir(e);let t=m(r,fE),o=t.timeoutMs??XR,n=t.pollingIntervalMs??eE,s=Date.now()+o;for(;;){let a=await Ap(e,{rfqId:t.rfqId});if(a.status===RfqStatus.Filled||a.status===RfqExecutionStatus.Confirmed){if(a.txHash===void 0)throw new b(`RFQ ${a.rfqId} reached ${a.status} without a transaction hash.`);return {rfqId:a.rfqId,status:RfqStatus.Filled,txHash:a.txHash}}if(a.status===RfqStatus.Failed||a.status===RfqStatus.Expired||a.status===RfqStatus.Canceled)return {rfqId:a.rfqId,status:a.status,...a.error===void 0?{}:{error:a.error}};if(Date.now()>=s)throw new i(`Timed out after ${o}ms waiting for RFQ ${t.rfqId} to reach a terminal state.`);await delay(n);}}var yE=z.object({rfqId:z.string().min(1).transform(toRfqId)}),QO=o(h,Ae,c,b,a);function Ap(e,r){Ir(e);let t=m(r,yE);return unwrap(e.builderGateway.get(`${Yo}/${encodeURIComponent(t.rfqId)}`).andThen(y(BuilderRfqStatusResponseSchema)).mapErr(Qo))}function Ir(e){if(e.account.signerType==="SESSION_KEY")throw new a("Combos is not supported with Session Keys")}var Op=(l=>(l.Volume="volume",l.Volume24Hr="volume_24hr",l.Liquidity="liquidity",l.Competitive="competitive",l.ClosedTime="closed_time",l.StartDate="start_date",l.EndDate="end_date",l))(Op||{}),RE=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(Op).optional()}),gw=o(h,g,c,b,a);function Rw(e,r){let{cursor:t,pageSize:o,...n}=m(r,RE);return x(s=>{let a=W(s,o);return e.gamma.get("/public-search",{params:R({...n,limitPerType:a.pageSize,page:a.offset},E({excludeTagIds:"exclude_tag_id"}))}).andThen(y(PublicSearchResponseSchema)).map(l=>({items:EE(l),hasMore:l.pagination?.hasMore??false,totalCount:l.pagination?.totalResults??void 0,nextCursor:l.pagination?.hasMore?_({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??_({offset:1,pageSize:o}),{events:[],profiles:[],tags:[]})}function EE(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var CE=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()}),bE=z.object({id:z.string(),locale:z.string().optional()}),vw=o(h,g,c,b,a);function Aw(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,CE);return x(s=>{let a=W(s,o);return e.gamma.get("/series",{params:R({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(y(ListSeriesResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Ow=o(h,g,c,b,a);async function ww(e,r){let t=m(r,bE);return unwrap(e.gamma.get(`series/${t.id}`,{params:R({locale:t.locale},E())}).andThen(y(SeriesSchema)))}function Jo(e){if(e.kind==="authorization"?e.status===RelayerAuthorizeSessionSignerStatus.FAILED||e.status===RelayerAuthorizeSessionSignerStatus.SUPERSEDED||e.status===RelayerAuthorizeSessionSignerStatus.REPAIR_REQUIRED:e.status===RelayerRevokeSessionSignerStatus.FAILED)throw new j$1(`Session-key ${e.kind} reached terminal status ${e.status}`)}var Qw=o(h,g,n,c,b,a);async function LE(e){tn(e);let r=await unwrap(e.secureClob.get("/v1/user/session-signers").andThen(y(ActiveSessionSignersResponseSchema)));if(!isSameEvmAddress(r.wallet,e.account.wallet))throw new b(`Session-key response wallet ${r.wallet} does not match authenticated wallet ${e.account.wallet}`);return r.signers.map(t=>({address:expectEvmAddress(t.address.toLowerCase()),scopes:t.scopes,validUntil:t.validUntil}))}var ME=[SessionSignerKnownScope.ALL],FE=z.object({address:EvmAddressSchema,idempotencyKey:z.string().trim().min(1).optional(),scopes:z.array(SessionSignerScopeSchema).min(1).default(ME),validUntil:z.number().int()}).superRefine((e,r)=>{isSameEvmAddress(e.address,ZERO_ADDRESS)&&r.addIssue({code:"custom",message:"Session key address must not be the zero address.",path:["address"]}),e.scopes.includes(SessionSignerKnownScope.ALL)&&e.scopes.some(t=>t!==SessionSignerKnownScope.ALL)&&r.addIssue({code:"custom",message:"Session key scope ALL cannot be combined with another scope.",path:["scopes"]}),e.validUntil<=Math.floor(Date.now()/1e3)&&r.addIssue({code:"custom",message:"Session key expiry must be a future Unix timestamp.",path:["validUntil"]});}).transform(e=>({...e,address:expectEvmAddress(e.address.toLowerCase())})),Zw=o(k,h,g,n,i,j$1,c,b,a);async function Jw(e,r){if(tn(e),!e.hasBuilderApiKey)throw new a("Session-key authorization requires builder API-key authentication.");let t=m(r,FE),o=await j(e.signer)($e(e,[_n(e.account.wallet,t.address,BigInt(t.validUntil))])),n={deadline:o.depositWalletParams.deadline,nonce:o.nonce,scopes:t.scopes,sessionSignerAddress:t.address,signature:o.signature,validUntil:`${t.validUntil}`,walletAddress:e.account.wallet},s=await unwrap(e.relayer.post("/v1/session-signers/authorizations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:n}).andThen(y(RelayerAuthorizeSessionSignerResponseSchema)));Jo({kind:"authorization",status:s.status});let a$1=await new Ce(e,s).wait();return {sessionKey:await UE(e,{address:t.address,scopes:t.scopes,validUntil:t.validUntil}),transaction:a$1}}var BE=z.object({address:EvmAddressSchema,idempotencyKey:z.string().trim().min(1).optional()}).superRefine((e,r)=>{isSameEvmAddress(e.address,ZERO_ADDRESS)&&r.addIssue({code:"custom",message:"Session key address must not be the zero address.",path:["address"]});}).transform(e=>({...e,address:expectEvmAddress(e.address.toLowerCase())})),Xw=o(k,h,g,n,i,j$1,c,b,a);async function e0(e,r){if(tn(e),!e.supportsGasless)throw new a("Session-key revocation requires API-key authentication that supports gasless transactions.");let t=m(r,BE),o=await j(e.signer)($e(e,[Wn(e.account.wallet,t.address)])),n={deadline:o.depositWalletParams.deadline,nonce:o.nonce,sessionSignerAddress:t.address,signature:o.signature,walletAddress:e.account.wallet},s=await unwrap(e.relayer.post("/v1/session-signers/revocations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:n}).andThen(y(RelayerRevokeSessionSignerResponseSchema)));return Jo({kind:"revocation",status:s.status}),{transaction:await new Ce(e,{transactionHash:null,transactionId:s.transactionId}).wait()}}async function UE(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){let o=(await LE(e)).find(n=>isSameEvmAddress(n.address,r.address)&&n.validUntil===r.validUntil&&DE(n.scopes,r.scopes));if(o!==void 0)return o;await delay(e.environment.relayerPollFrequencyMs);}throw new i(`Timed out waiting for session key ${r.address} to become active`)}function DE(e,r){let t=new Set(r);return new Set(e).size===t.size&&e.every(o=>t.has(o))}function tn(e){if(e.account.walletType!==WalletType.DEPOSIT_WALLET)throw new a("Session keys can only be managed for a Deposit Wallet.");if(e.account.signerType!=="OWNER")throw new a("Session keys can only be managed by the Deposit Wallet owner.")}var a0=o(h,g,c,b);async function i0(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var p0=o(h,g,c,b);async function c0(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}var P0=o(c,a),HE=z.object({topic:z.literal("prices.crypto.chainlink.twap"),windowSeconds:z.union([z.literal(30),z.literal(60)]),symbols:z.array(z.string()).optional()});async function g0(e,r){for(let o of r)o.topic==="prices.crypto.chainlink.twap"&&m(o,HE);let t=await Promise.all(r.map(o=>NE(e,o)));return GE(t)}function NE(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 GE(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=jE(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var VE=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)}),YE=z.union([z.object({id:z.string(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),locale:z.string().optional()})]),QE=z.object({id:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),ZE=z.object({slug:z.string()}),JE=z.object({id:z.string(),locale:z.string().optional(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),XE=z.object({locale:z.string().optional(),slug:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),k0=o(h,g,c,b,a);function v0(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,VE);return x(s=>{let a=W(s,o);return e.gamma.get("/tags",{params:R({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(y(ListTagsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var A0=o(h,g,c,b,a);async function O0(e,r){let t=m(r,YE);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:R({includeTemplate:t.includeTemplate,locale:t.locale},E())}).andThen(y(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:R({locale:t.locale},E())}).andThen(y(TagSchema)))}var w0=o(h,g,c,b,a);async function L0(e,r){if("id"in r){let o=m(r,QE);return unwrap(e.gamma.get(`tags/${o.id}/related-tags`,{params:R({omitEmpty:o.omitEmpty,status:o.status},E())}).andThen(y(ListRelatedTagsResponseSchema)))}let t=m(r,ZE);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var M0=o(h,g,c,b,a);async function F0(e,r){if("id"in r){let o=m(r,JE);return unwrap(e.gamma.get(`tags/${o.id}/related-tags/tags`,{params:R({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},E())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}let t=m(r,XE);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:R({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},E())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}var tS=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()}),G0=o(h,g,c,b,a);function K0(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,tS);return x(s=>{let a=W(s,o);return e.gamma.get("/teams",{params:R({...n,limit:a.pageSize,offset:a.offset},E({providerId:"provider_id"}))}).andThen(y(ListTeamsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?_({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var nS=z.object({amount:z.bigint(),metadata:Y.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),oL=o(a);async function sS(e,r){let t=m(r,nS);return async function*(){return e.account.walletType===WalletType.EOA?$(yield aS(V(e.environment.chainId,It(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await J(e,{calls:[It(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var nL=o(k,h,g,n,c,b,a);function sL(e,r){return sS(e,r).then(j(e.signer))}function aS(e){return {kind:"sendErc20TransferTransaction",request:e}}
2
- export{YS as $,cu as $a,Yx as $b,Hr as $c,Zv as $d,lO as $e,p0 as $f,Uh as A,cT as Aa,Ix as Ab,lb as Ac,bk as Ad,LA as Ae,Ap as Af,$n as B,Ot as Ba,qx as Bb,fb as Bc,Ik as Bd,MA as Be,Dh as C,dT as Ca,kx as Cb,yb as Cc,qk as Cd,Vn as D,uT as Da,gs as Db,bb as Dc,vf as Dd,zh as E,Y as Ea,vx as Eb,Ib as Ec,kk as Ed,op as Ee,qt as F,mT as Fa,Rs as Fb,_b as Fc,vk as Fd,rO as Fe,Yn as G,lT as Ga,Ax as Gb,ws as Gc,et as Gd,tO as Ge,Qn as H,Vd as Ha,Es as Hb,Wb as Hc,Ma as Hd,np as He,m as I,fT as Ia,Ox as Ib,jb as Ic,Fa as Id,oO as Ie,cn as J,J as Ja,wx as Jb,Hb as Jc,Ba as Jd,nO as Je,gn as K,wt as Ka,Lx as Kb,Nb as Kc,rt as Kd,sp as Ke,bS as L,Lt as La,Mx as Lb,Gb as Lc,tt as Ld,sO as Le,Op as Lf,dr as M,$e as Ma,Fx as Mb,Kb as Mc,ot as Md,aO as Me,gw as Mf,Rn as N,Mt as Na,Ur as Nb,$b as Nc,Si as Nd,ap as Ne,Rw as Nf,En as O,Ft as Oa,Bx as Ob,Vb as Oc,xi as Od,ip as Oe,vw as Of,DS as P,Bt as Pa,Ux as Pb,Yb as Pc,bi as Pd,IR as Pe,Aw as Pf,zS as Q,yT as Qa,Dx as Qb,Qb as Qc,Li as Qd,pp as Qe,Ow as Qf,_S as R,Ce as Ra,zx as Rb,Zb as Rc,jv as Rd,iO as Re,ww as Rf,WS as S,IT as Sa,_x as Sb,Jb as Sc,Hv as Sd,pO as Se,jS as T,au as Ta,Wx as Tb,dI as Tc,Nv as Td,cO as Te,Qw as Tf,HS as U,qT as Ua,jx as Ub,uI as Uc,Gv as Ud,dO as Ue,LE as Uf,NS as V,ss as Va,Hx as Vb,mI as Vc,Kv as Vd,uO as Ve,Zw as Vf,xn as W,kT as Wa,Nx as Wb,lI as Wc,dg as Wd,dp as We,Jw as Wf,GS as X,pu as Xa,Gx as Xb,fI as Xc,$v as Xd,up as Xe,Xw as Xf,KS as Y,vT as Ya,Kx as Yb,yI as Yc,Vv as Yd,AR as Ye,e0 as Yf,$S as Z,as as Za,$x as Zb,PI as Zc,Yv as Zd,mp as Ze,a0 as Zf,VS as _,AT as _a,Vx as _b,gI as _c,Qv as _d,mO as _e,i0 as _f,ee as a,ht as aa,OT as ab,Qx as ac,Nr as ad,Jv as ae,fO as af,c0 as ag,Ah as b,QS as ba,wT as bb,Zx as bc,Us as bd,Xv as be,yO as bf,P0 as bg,Ar as c,Cn as ca,zT as cb,cC as cc,xI as cd,eA as ce,PO as cf,g0 as cg,Mn as d,ZS as da,yu as db,dC as dc,CI as dd,rA as de,LR as df,k0 as dg,Fn as e,JS as ea,_T as eb,uC as ec,$t as ed,tA as ee,MR as ef,v0 as eg,Or as f,XS as fa,Pu as fb,Pm as fc,BI as fd,oA as fe,FR as ff,A0 as fg,Bn as g,eh as ga,WT as gb,mC as gc,UI as gd,nA as ge,gO as gf,O0 as gg,Un as h,rh as ha,jT as hb,lC as hc,Hl as hd,sA as he,RO as hf,w0 as hg,Dn as i,th as ia,HT as ib,Vt as id,aA as ie,qO as if,L0 as ig,zn as j,oh as ja,NT as jb,IC as jc,$I as jd,iA as je,kO as jf,M0 as jg,Ct as k,nh as ka,GT as kb,qC as kc,VI as kd,pA as ke,Go as kf,F0 as kg,bt as l,sh as la,KT as lb,kC as lc,$r as ld,cA as le,zO as lf,G0 as lg,Oh as m,ah as ma,$T as mb,vC as mc,YI as md,Ng as me,Ko as mf,K0 as mg,It as n,ih as na,VT as nb,AC as nc,mo as nd,dA as ne,_O as nf,oL as ng,_n as o,ph as oa,YT as ob,OC as oc,gf as od,uA as oe,$o as of,sS as og,Wn as p,Rh as pa,QT as pb,KC as pc,lo as pd,Hi as pe,WO as pf,nL as pg,wh as q,Eh as qa,ZT as qb,$C as qc,Rf as qd,xA as qe,jO as qf,sL as qg,jn as r,Sh as ra,JT as rb,VC as rc,fo as rd,CA as re,HO as rf,Lh as s,hh as sa,px as sb,YC as sc,$q as sd,bA as se,Ae as sf,Mh as t,Th as ta,cx as tb,QC as tc,Vq as td,IA as te,NO as tf,Hn as u,xh as ua,Sx as ub,ZC as uc,Yq as ud,qA as ue,GO as uf,Fh as v,hx as vb,JC as vc,Qq as vd,kA as ve,KO as vf,Nn as w,Hh as wa,Tx as wb,XC as wc,nk as wd,vA as we,$O as wf,Gn as x,$ as xa,xx as xb,db as xc,sk as xd,AA as xe,VO as xf,Bh as y,Vh as ya,Cx as yb,ub as yc,Ck as yd,OA as ye,YO as yf,Kn as z,Zn as za,bx as zb,mb as zc,kf as zd,wA as ze,QO as zf};//# sourceMappingURL=chunk-ENQH6V4J.js.map
3
- //# sourceMappingURL=chunk-ENQH6V4J.js.map