@polymarket/client 0.1.0-beta.11 → 0.1.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.d.ts +11 -11
- package/dist/actions/index.js +1 -1
- package/dist/chunk-IASUU6GQ.js +2 -0
- package/dist/chunk-IASUU6GQ.js.map +1 -0
- package/dist/ethers-v5.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/{sports-uAc0WNNs.d.ts → sports-CI13Qzv8.d.ts} +13 -13
- package/dist/{types-CnxVkr1p.d.ts → types-CGoPQTmJ.d.ts} +920 -460
- package/dist/viem.d.ts +1 -1
- package/package.json +2 -2
- package/dist/chunk-YMXQJO42.js +0 -2
- package/dist/chunk-YMXQJO42.js.map +0 -1
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-
|
|
3
|
+
import { S as Signer } from './types-CGoPQTmJ.js';
|
|
4
4
|
import '@polymarket/bindings';
|
|
5
5
|
import '@polymarket/bindings/gamma';
|
|
6
6
|
import '@polymarket/bindings/relayer';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polymarket/client",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.13",
|
|
4
4
|
"description": "The Polymarket TypeScript client",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"ky": "^1.14.3",
|
|
94
94
|
"ox": "^0.14.16",
|
|
95
95
|
"zod": "^4.3.6",
|
|
96
|
-
"@polymarket/bindings": "0.1.0-beta.
|
|
96
|
+
"@polymarket/bindings": "0.1.0-beta.11",
|
|
97
97
|
"@polymarket/types": "0.1.0-beta.4"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
package/dist/chunk-YMXQJO42.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {k,e,d,j,c,b,a,f,g,h as h$1,i}from'./chunk-E2CLUN5M.js';import {PaginationCursorSchema,TransactionIdSchema,EvmAddressSchema,BuilderCodeSchema,TokenIdSchema,CtfConditionIdSchema,OrderSideSchema,CommentParentEntityTypeSchema,EventIdSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,PositionIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,ComboConditionIdSchema,MarketIdSchema,toComboConditionId,toPositionId,toPaginationCursor,toDecimalString}from'@polymarket/bindings';import {AssetTypeSchema,PriceHistoryIntervalSchema,SignatureType,AssetType,ClosedOnlyModeSchema,OpenOrdersPageSchema,END_CURSOR,OpenOrderSchema,ClobTradesPageSchema,NotificationsResponseSchema,BalanceAllowanceResponseSchema,OrderScoringResponseSchema,OrdersScoringResponseSchema,UserEarningsPageSchema,TotalUserEarningsResponseSchema,UserRewardsEarningsPageSchema,RewardsPercentagesSchema,ApiKeyCredsSchema,ApiKeysResponseSchema,BuilderApiKeyCredsSchema,BuilderApiKeysResponseSchema,PaginatedBuilderTradesSchema,MidpointSchema,MidpointsSchema,FetchTickSizeResponseSchema,FetchNegRiskResponseSchema,ResolveConditionByTokenResponseSchema,FetchMarketInfoResponseSchema,FetchBuilderFeeRatesResponseSchema,PriceSchema,PricesSchema,FetchOrderBookResponseSchema,OrderBooksSchema,SpreadSchema,SpreadsSchema,LastTradePriceSchema,LastTradePricesSchema,PriceHistorySchema,PaginatedCurrentRewardsSchema,PaginatedMarketRewardsSchema,CancelOrdersResponseSchema,OrderResponseSchema,OrderResponsesSchema}from'@polymarket/bindings/clob';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,PolymarketError,expectHexString,isSameEvmAddress,never,unwrap,invariant,delay,expectEvmSignature,ZERO_ADDRESS,expectErc1271Signature,ResultAsync,setNonBlockingInterval,setNonBlockingTimeout,expectPrivateKey,isPresent,ok as ok$1,err,expectPresent}from'@polymarket/types';import {z}from'zod';import {WalletType,SeriesIdSchema,ListCommentsResponseSchema,ListEventsKeysetResponseSchema,EventSchema,FetchEventTagsResponseSchema,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 Ht from'ky';import {SideSchema,ActivityTypeSchema,TimePeriodSchema,LeaderboardOrderBySchema,LeaderboardCategorySchema,ComboPositionStatusSchema,ListTradesResponseSchema,ListActivityResponseSchema,FetchEventLiveVolumeResponseSchema,ListBuilderLeaderboardResponseSchema,ListBuilderVolumeResponseSchema,ListTraderLeaderboardResponseSchema,ListMarketHoldersResponseSchema,ListOpenInterestResponseSchema,ListMarketPositionsResponseSchema,ListPositionsResponseSchema,ListClosedPositionsResponseSchema,ListComboPositionsResponseSchema,FetchPortfolioValueResponseSchema,TradedSchema}from'@polymarket/bindings/data';export{ComboPositionStatus as Yd}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema}from'@polymarket/bindings/relayer';import {ListComboMarketsResponseSchema}from'@polymarket/bindings/rfq';export{RfqConfirmationDecision as Ne,RfqDirection as Oe,RfqErrorCode as Pe,RfqExecutionStatus as Qe,RfqRequestedSizeUnit as Re,RfqSide as Se}from'@polymarket/bindings/rfq';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsInstrumentTypeSchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsPostOrderAckSchema,PerpsCancelOrderResultSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsCreateProxyResponseSchema,PerpsCredentialsResponseSchema}from'@polymarket/bindings/perps';import {encode}from'@msgpack/msgpack';import {PerpsSessionUpdateEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import rf from'it-merge';function l(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var A=z.number().int().positive(),Dt=z.object({offset:z.number().int().min(0),pageSize:A});function T(e,r,t=[]){function o(){return {async firstPage(){return {items:t,hasMore:false}},from(){return o()},async*[Symbol.asyncIterator](){}}}function n(s=r){return {firstPage(){return unwrap(e(s))},from(a){return a===void 0?o():n(a)},async*[Symbol.asyncIterator](){let a=s;for(;;){let f=await unwrap(e(a));if(yield f,!f.hasMore)return;a=f.nextCursor;}}}}return n()}function F(e){return toPaginationCursor(btoa(JSON.stringify(Dt.parse(e))))}function U(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return Dt.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=>da(t.url,e,o))}}function jt(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function da(e,r,t){let o=r.safeParse(t);return o.success?ok$1(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var Wt=class{#e;constructor({url:r}){this.#e=r;}async ethCall(r){let t=await this.#n({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:r.to,data:r.data},"latest"]});if("error"in t)throw new d(`JSON-RPC eth_call failed: ${t.error.message}`,{cause:t.error,status:200});if(typeof t.result!="string")throw new b("Expected JSON-RPC eth_call result to be a hex string");if(!$t(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#r(r){if(r.length===1)return [await this.ethCall(r[0])];try{return await this.#t(r)}catch(t){if(!(t instanceof d)||t.status<500)throw t;let o=Math.ceil(r.length/2),[n,s]=await Promise.all([this.#r(r.slice(0,o)),this.#r(r.slice(o))]);return [...n,...s]}}async#t(r){let t=await this.#o(r.map((n,s)=>({jsonrpc:"2.0",id:s+1,method:"eth_call",params:[{to:n.to,data:n.data},"latest"]}))),o=new Map;for(let n of t){if("error"in n&&n.id===null)throw new d(`JSON-RPC eth_call failed: ${n.error.message}`,{cause:n.error,status:200});n.id!==null&&o.set(n.id,n);}return r.map((n,s)=>{let a=s+1,f=o.get(a);if(f===void 0)throw new b("Expected JSON-RPC batch response for every request");if("error"in f)throw new d(`JSON-RPC eth_call failed: ${f.error.message}`,{cause:f.error,status:200});return ua(f.result)})}async#n(r){let t;try{t=await Ht.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new d(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!_t(o))throw new b("Unexpected JSON-RPC response shape");return o}async#o(r){let t;try{t=await Ht.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new d(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!Array.isArray(o)||!o.every(n=>_t(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function Nt(e){if(!(e instanceof d)||!Gt(e.cause))return false;let r=[e.cause.message,ma(e.cause.data)].join(" ").toLowerCase();return (e.cause.code===3||e.cause.code===-32e3||e.cause.code===-32003||e.cause.code===-32015||e.cause.code===-32603)&&(r.includes("execution reverted")||r.includes("revert")||r.includes("invalid opcode"))}function _t(e){return !Kt(e)||e.jsonrpc!=="2.0"?false:"error"in e?Gt(e.error):"result"in e}function Gt(e){return Kt(e)&&typeof e.code=="number"&&typeof e.message=="string"}function Kt(e){return typeof e=="object"&&e!==null}function $t(e){return /^0x[a-fA-F0-9]*$/.test(e)}function ua(e){if(typeof e!="string"||!$t(e))throw new b("Expected JSON-RPC eth_call result to be a hex string");return e}function ma(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}function Df(e,r,t){return {signer:r,wallet:t,walletType:Oa(e,r,t)}}function pe(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 Vt(e){let r=pe(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}var ya="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function fa(e){let r=ya.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function ga(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:fa(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function Pa(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var Ea="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Ra="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",ha=0x61003d3d8160233d3973n;function Yt(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:ba(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var Sa="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",Ta="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",xa="0x60195155f3363d3d373d3d363d602036600436635c60da",Ca=0x6100523d8160233d3973n,ka="0x49493a4d";function Jt(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:Ia(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function ba(e,r){let t=BigInt((r.length-2)/2),o=ha+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Ra),Bytes.fromHex(Ea),Bytes.fromHex(r)),{as:"Hex"}))}function Ia(e,r){let t=BigInt((r.length-2)/2),o=Ca+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(xa),Bytes.fromHex(Ta),Bytes.fromHex(Sa),Bytes.fromHex(r)),{as:"Hex"}))}async function va(e,r){try{let t=await e.ethCall({to:r,data:ka});return Aa(t)}catch(t){if(Nt(t))return ZERO_ADDRESS;throw t}}async function qa(e,r){let t=await va(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function Zt(e,r,t){return await qa(e,t.depositWalletFactory)?Jt(r,t):Yt(r,t)}function Aa(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Oa(e,r,t){if(isSameEvmAddress(t,r))return WalletType.EOA;let o=e.walletDerivation;if(isSameEvmAddress(t,Jt(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,Yt(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,Pa(r,o)))return WalletType.GNOSIS_SAFE;if(isSameEvmAddress(t,ga(r,o)))return WalletType.POLY_PROXY;never(`Wallet ${t} does not match the signer ${r} or any supported deterministic wallet address.`);}function P(e,r){if(wa(r))return La(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(Qt(s)){for(let a of s)t.append(n,Oe(a));continue}t.append(n,Oe(s));}}return t}function h(e={}){return {format:"snake_case",exceptions:e}}function H(e){let r=new URLSearchParams;for(let[t,o]of Object.entries(e))if(o!==void 0){if(Array.isArray(o)){r.append(t,o.map(Oe).join(","));continue}r.append(t,Oe(o));}return r}function wa(e){return "format"in e}function La(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??Ma(o);if(Qt(n)){for(let a of n)t.append(s,Oe(a));continue}t.append(s,Oe(n));}return t}function Qt(e){return Array.isArray(e)}function Ma(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function Oe(e){return String(e)}var Zf=k(e,d,j,c,b);async function Qf(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var $a=z.object({tokenId:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional()}).default({}),Xf=k(e,d,j,c,b,a);function eg(e,r){let{cursor:t,...o}=l(r,$a);return T(n=>e.secureClob.get("/data/orders",{params:P({...o,nextCursor:n},h({tokenId:"asset_id"}))}).andThen(y(OpenOrdersPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var Va=z.object({orderId:z.string()}),rg=k(e,d,j,c,b,a);async function tg(e,r){let t=l(r,Va);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var Ya={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()},Ja=z.object(Ya).default({}),og=k(e,d,j,c,b,a);function ng(e,r){let{cursor:t,...o}=l(r,Ja);return T(n=>e.secureClob.get("/data/trades",{params:P({...o,nextCursor:n},h({tokenId:"asset_id"}))}).andThen(y(ClobTradesPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var sg=k(e,d,j,c,b),Za=z.object({ids:z.array(z.string()).min(1)});async function ag(e){let r=pe(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:P({signatureType:r},h())}).andThen(y(NotificationsResponseSchema)))}var ig=k(e,d,j,c,b,a);async function pg(e,r){let t=l(r,Za),o=pe(e.account.walletType),n=P({ids:t.ids.join(","),signatureType:o},h());await unwrap(e.secureClob.del("/notifications",{params:n}));}var Qa=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),cg=k(e,d,j,c,b,a);async function Ur(e,r){let t=l(r,Qa),o=pe(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:P({...t,signatureType:o},h())}).andThen(y(BalanceAllowanceResponseSchema)))}var Xa=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),dg=k(e,d,j,c,b,a);async function eo(e,r){let t=l(r,Xa),o=pe(e.account.walletType),n=P({...t,signatureType:o},h());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),Ur(e,t)}var ei=z.object({orderId:z.string()}),ug=k(e,d,j,c,b,a);async function mg(e,r){let t=l(r,ei);return (await unwrap(e.secureClob.get("/order-scoring",{params:P(t,h())}).andThen(y(OrderScoringResponseSchema)))).scoring}var ri=z.object({orderIds:z.array(z.string())}),lg=k(e,d,j,c,b,a);async function yg(e,r){let o=l(r,ri).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(y(OrdersScoringResponseSchema)))}var ro=z.object({cursor:PaginationCursorSchema.optional(),date:z.string()}),fg=k(e,d,j,c,b,a);function gg(e,r){let{cursor:t,...o}=l(r,ro),n=pe(e.account.walletType);return T(s=>e.secureClob.get("/rewards/user",{params:P({...o,nextCursor:s,signatureType:n},h())}).andThen(y(UserEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor),totalCount:a.count})),t)}var Pg=k(e,d,j,c,b,a);async function Eg(e,r){let t=l(r,ro),o=pe(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:P({...t,signatureType:o},h())}).andThen(y(TotalUserEarningsResponseSchema)))}var ti=z.object({cursor:PaginationCursorSchema.optional(),date:z.string(),noCompetition:z.boolean().optional(),orderBy:z.string().optional(),pageSize:A.max(500).default(100),position:z.string().optional()}),Rg=k(e,d,j,c,b,a);function hg(e,r){let{cursor:t,...o}=l(r,ti),n=pe(e.account.walletType);return T(s=>e.secureClob.get("/rewards/user/markets",{params:P({...o,nextCursor:s,signatureType:n},h())}).andThen(y(UserRewardsEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor),totalCount:a.count})),t)}var Sg=k(e,d,j,c,b);async function Tg(e){let r=pe(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:P({signatureType:r},h())}).andThen(y(RewardsPercentagesSchema)))}var ai=z.enum(["TIMESTAMP","TOKENS","CASH"]),ii=z.enum(["ASC","DESC"]),pi=z.enum(["CASH","TOKENS"]),ci=z.object({cursor:PaginationCursorSchema.optional(),pageSize:A.default(20),takerOnly:z.boolean().optional(),filterType:pi.optional(),filterAmount:z.number().optional(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),user:z.string().optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}).refine(e=>e.filterType===void 0==(e.filterAmount===void 0),{message:"Provide filterType and filterAmount together",path:["filterAmount"]}),di=z.object({cursor:PaginationCursorSchema.optional(),pageSize:A.default(20),user:z.string(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),type:z.array(ActivityTypeSchema).optional(),start:z.number().int().optional(),end:z.number().int().optional(),sortBy:ai.optional(),sortDirection:ii.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),wg=k(e,d,c,b,a);function Lg(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,ci);return T(s=>{let a=U(s,o);return e.data.get("/trades",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListTradesResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Mg=k(e,d,c,b,a);function Fg(e,r){let{cursor:t,pageSize:o,...n}=l(r,di);return T(s=>{let a=U(s,o);return e.data.get("/activity",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListActivityResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var mi=64,li=/^0x[0-9a-fA-F]{62}$/,yi=/^0x[0-9a-fA-F]{64}$/,Dr="0x0000000000000000000000000000000000000000000000000000000000000000",fi=AbiFunction.from("function approve(address spender, uint256 amount)"),so=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),gi=AbiFunction.from("function transfer(address recipient, uint256 amount)"),Pi=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),Ei=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),ao=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),io=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),po=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),Ri=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),hi=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Si=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),Ti=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),xi=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Ci=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),ki=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),bi=AbiFunction.from("function multiSend(bytes)"),Ii=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),co=[1n,2n],vi=[1n,2n],Y=(1n<<256n)-1n,jg=k(a);function cr(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>Y)throw new a("Approval amount exceeds uint256 range");return {data:qi(r,t),to:e}}function uo(e,r,t){return {data:AbiFunction.encodeData(so,[r,t]),to:e}}function mo(e){return AbiFunction.decodeResult(so,e)}function dr(e,r,t){return {data:Ai(r,t),to:e}}function lo(e,r,t){return {data:AbiFunction.encodeData(ao,[r,t]),to:e}}function yo(e){return AbiFunction.decodeResult(ao,e)}function fo(e,r,t){return {data:AbiFunction.encodeData(io,[r,ge(BigInt(t),"Position ID")]),to:e}}function go(e){return AbiFunction.decodeResult(io,e)}function zr(e,r,t){return {data:AbiFunction.encodeData(po,[t.map(()=>r),t.map(o=>ge(BigInt(o),"id"))]),to:e}}function jr(e){return AbiFunction.decodeResult(po,e)}var Hg=k(a);function Hr(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>Y)throw new a("Transfer amount exceeds uint256 range");return {data:Oi(r,t),to:e}}var Wg=k(a);function Po(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(Pi,[r,ge(t,"Perps deposit amount"),o]),to:e}}var _g=k(a),Ng=k(a);function Eo(e,r,t,o){return {data:wi(r,t,o),to:e}}var Gg=k(a);function Ro(e,r,t,o){return {data:Li(r,t,o),to:e}}function ho(e,r,t){return {data:Mi(r,t),to:e}}var Kg=k(a);function So(e,r,t){return {data:AbiFunction.encodeData(Ti,[_r(r),ge(t,"Split amount")]),to:e}}var $g=k(a);function To(e,r,t){return {data:AbiFunction.encodeData(xi,[_r(r),ge(t,"Merge amount")]),to:e}}var Vg=k(a);function xo(e,r,t,o){return {data:AbiFunction.encodeData(Ci,[_r(r),BigInt(Fi(t)),ge(o,"Redeem amount")]),to:e}}var Yg=k(a);function Wr(e,r){return {data:AbiFunction.encodeData(ki,[r.map(t=>ge(t,"Leg position ID"))]),to:e}}function qi(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(fi,[e,r])}function Ai(e,r){return AbiFunction.encodeData(Ei,[e,r])}function Oi(e,r){return AbiFunction.encodeData(gi,[e,r])}function wi(e,r,t){return AbiFunction.encodeData(Ri,[e,Dr,r,co,ge(t,"Split amount")])}function Li(e,r,t){return AbiFunction.encodeData(hi,[e,Dr,r,co,ge(t,"Merge amount")])}function Mi(e,r){return AbiFunction.encodeData(Si,[e,Dr,r,vi])}function ge(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>Y)throw new a(`${r} exceeds uint256 range`);return e}function _r(e){if(li.test(e))return e.toLowerCase();if(yi.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,mi)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function Fi(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function Co(e){return AbiFunction.encodeData(Ii,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function ko(e){let r=e.map(t=>Bi(t));return AbiFunction.encodeData(bi,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function Bi(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 Xg=k(e,d,f,g,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}k(h$1,j);k(h$1,j);function nP(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 W(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 bo(){return {kind:"requestAddress"}}function N(e,r){return {chainId:e,...r}}var Yi=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Ji=[{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"}],Zi="DepositWallet",Qi="1",Xi=600,ep=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],rp=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],tp=z.object({address:z.string(),type:z.enum(RelayerTransactionType)}),RP=k(e,d,c,b,a);async function $r(e,r){let t=l(r,tp);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:P(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var op=z.object({transactionId:TransactionIdSchema}),np=z.object({wallet:EvmAddressSchema,type:z.enum(WalletType)}),hP=k(e,d,c,b,a);async function SP(e,r){let t=await sp(e,r);return t.type===WalletType.EOA?false:unwrap(e.relayer.get("/deployed",{params:P({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 sp(e,r){if(r!==void 0)return l(r,np);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 Zt(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var G=z.string().max(500),Io=10,TP=k(e,d,c,b,a);async function xP(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),lr(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function ap(e,r){let t=l(r,op);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var ip=z.object({data:z.custom(isHexString),to:EvmAddressSchema,value:z.bigint().optional()}),pp=z.object({calls:z.array(ip).min(1).transform(e=>expectNonEmptyArray(e)),metadata:G}),CP=k(e,d,c,b,a);async function J(e,r){let t=l(r,pp);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 bo());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=Io;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*cp(e,t);case WalletType.DEPOSIT_WALLET:return yield*dp(e,t);case WalletType.GNOSIS_SAFE:return yield*up(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!mp(s)||n===Io)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*cp(e,r){let t=await $r(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),o=e.environment.walletDerivation.proxyFactory,n=Co(r.calls),s="0",a="0",f="10000000",g=e.environment.contracts.relayHub,L=ZERO_ADDRESS,I=Rp(e.account.signer,o,n,s,a,f,t.nonce,g,L),$=expectEvmSignature(yield Ao(I));return lr(e,{data:n,from:e.account.signer,metadata:r.metadata,nonce:t.nonce,proxyWallet:e.account.wallet,signature:$,signatureParams:{gasLimit:f,gasPrice:a,relay:L,relayHub:g,relayerFee:s},to:o,type:RelayerTransactionType.PROXY})}async function*dp(e,r){let t=await $r(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),o=r.calls.map(lp),n=`${Math.floor(Date.now()/1e3)+Xi}`,s=expectEvmSignature(yield Ep(yp({calls:o,chainId:e.environment.chainId,deadline:n,nonce:t.nonce,wallet:e.account.wallet}))),a={depositWalletParams:{calls:o,deadline:n,depositWallet:e.account.wallet},from:e.account.signer,metadata:r.metadata,nonce:t.nonce,signature:s,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET};return lr(e,a)}async function*up(e,r){let t=await $r(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),o=fp(r.calls,e.environment.contracts.safeMultisend),n=Pp({chainId:e.environment.chainId,data:o.data,nonce:t.nonce,operation:o.operation,safeAddress:e.account.wallet,to:o.to,value:o.value}),s=expectEvmSignature(yield Ao(expectHexString(TypedData.getSignPayload(n))));return lr(e,{data:o.data,from:e.account.signer,metadata:r.metadata,nonce:t.nonce,proxyWallet:e.account.wallet,signature:hp(s),signatureParams:gp(o.operation),to:o.to,type:RelayerTransactionType.SAFE,value:o.value>0n?`${o.value}`:void 0})}async function lr(e,r){let t=l(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new Nr(e,o)}function mp(e$1){if(e$1 instanceof e)return true;if(!(e$1 instanceof d)||e$1.status!==400)return false;if(/wallet busy/i.test(e$1.message)&&/active action/i.test(e$1.message)||/wallet has in-flight action/i.test(e$1.message))return true;let r=/batch nonce\s+(\d+)\s+does not match on-chain nonce\s+(\d+)/i.exec(e$1.message);if(r===null)return false;let t=r[1],o=r[2];return t===void 0||o===void 0?false:BigInt(t)<BigInt(o)}function lp(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function yp(e){return {domain:{chainId:e.chainId,name:Zi,verifyingContract:e.wallet,version:Qi},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:rp,Call:ep}}}function fp(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:ko(e),operation:1,to:r,value:0n}}function gp(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function Pp(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:Yi,SafeTx:Ji}}}function Ao(e){return {kind:"signGaslessMessage",payload:e}}function Ep(e){return {kind:"signGaslessTypedData",payload:e}}function Rp(e,r,t,o,n,s,a,f,g){return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromString("rlx:"),Bytes.fromHex(e),Bytes.fromHex(r),Bytes.fromHex(t),Bytes.fromNumber(BigInt(o),{size:32}),Bytes.fromNumber(BigInt(n),{size:32}),Bytes.fromNumber(BigInt(s),{size:32}),Bytes.fromNumber(BigInt(a),{size:32}),Bytes.fromHex(f),Bytes.fromHex(g)),{as:"Hex"}))}function hp(e){let r=e.slice(2),t=Number.parseInt(r.slice(128,130),16),o=t===0||t===1?t+31:t===27||t===28?t+4:t;return expectHexString(`0x${r.slice(0,128)}${o.toString(16).padStart(2,"0")}`)}var kP=k(e,d,c,b,a,f,g),Nr=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 ap(this.#e,{transactionId:this.transactionId});if(t.state===RelayerTransactionState.STATE_MINED||t.state===RelayerTransactionState.STATE_CONFIRMED){let o=t.transactionHash??this.transactionHash;if(o===null)throw new b("Expected submitted transaction to have a transaction hash once settled");return {transactionHash:o,transactionId:t.transactionId}}if(t.state===RelayerTransactionState.STATE_FAILED||t.state===RelayerTransactionState.STATE_INVALID)throw new g(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#e.environment.relayerPollFrequencyMs);}throw new f(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var Sp=z.object({amount:z.union([z.bigint(),z.literal("max")]),metadata:G.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),BP=k(a);async function Tp(e,r){let t=l(r,Sp),o=t.amount==="max"?Y:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?_(yield Lo(N(e.environment.chainId,cr(t.tokenAddress,t.spenderAddress,o)))):yield*await J(e,{calls:[cr(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var UP=k(h$1,e,d,j,c,b,a);function Oo(e,r){return Tp(e,r).then(W(e.signer))}var xp=z.object({approved:z.boolean().default(true),metadata:G.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),DP=k(a);async function Cp(e,r){let t=l(r,xp);return async function*(){return e.account.walletType===WalletType.EOA?_(yield Mo(N(e.environment.chainId,dr(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await J(e,{calls:[dr(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var zP=k(h$1,e,d,j,c,b,a);function wo(e,r){return Cp(e,r).then(W(e.signer))}var jP=k(d,c,b,a);async function kp(e){let r=await Ip(e),t=r.erc20.map(n=>cr(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>dr(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 Lo(N(e.environment.chainId,s))).wait();for(let s of o)await _(yield Mo(N(e.environment.chainId,s))).wait();return}await(yield*await J(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var HP=k(h$1,e,d,j,f,g,c,b,a);function WP(e){return kp(e).then(W(e.signer)).then(bp)}function bp(){return {transactionHash:null,transactionId:null,wait:async()=>{}}}async function Ip(e){let r=vp(e),t=[...r.erc20.map(a=>uo(a.tokenAddress,e.account.wallet,a.spenderAddress)),...r.erc1155.map(a=>lo(a.tokenAddress,e.account.wallet,a.operatorAddress))],o=await e.rpc.ethCallBatch(t),n=o.slice(0,r.erc20.length),s=o.slice(r.erc20.length);return {erc20:r.erc20.filter((a,f)=>mo(n[f])<a.amount),erc1155:r.erc1155.filter((a,f)=>!yo(s[f]))}}function vp(e){let{contracts:r}=e.environment;return {erc20:[{amount:Y,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.negRiskAdapter,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.collateralAdapter,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.negRiskCollateralAdapter,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.protocolV2Router,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.exchangeV3,tokenAddress:r.collateralToken},{amount:Y,spenderAddress:r.perpsDepositContract,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.collateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskCollateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.conditionalTokens},{operatorAddress:r.protocolV2Router,tokenAddress:r.positionManager},{operatorAddress:r.exchangeV3,tokenAddress:r.positionManager},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.positionManager}]}}function Lo(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function Mo(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var YP=k(e,d,c,b);async function wp(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:Uo(r)}).andThen(y(ApiKeyCredsSchema)))}var JP=k(e,d,c,b);async function Lp(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:Uo(r)}).andThen(y(ApiKeyCredsSchema)))}var ZP=k(e,d,c,b);async function QP(e,r){try{return await wp(e,r)}catch(t){if(!(t instanceof d)||t.status!==400)throw t}return Lp(e,r)}var XP=k(e,d,j,c,b);async function eE(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var rE=k(e,d,j,c,b);async function tE(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z.literal("OK"))));}var oE=k(e,d,j,c,b);async function nE(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var sE=k(e,d,j,c,b);async function aE(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var iE=k(e,d,j,c,b);async function pE(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z.literal("OK"))));}function Uo(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var Dp=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()}),EE=k(e,d,c,b,a);function RE(e,r){let{cursor:t,...o}=l(r,Dp);return T(n=>e.clob.get("/builder/trades",{params:P({...o,nextCursor:n},h({builderCode:"builder_code",tokenId:"asset_id"}))}).andThen(y(PaginatedBuilderTradesSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var ac=z.object({tokenId:z.string()}),AE=k(e,d,c,b,a);async function OE(e,r){let t=l(r,ac);return (await unwrap(e.clob.get("/midpoint",{params:P(t,h())}).andThen(y(MidpointSchema)))).mid}var ic=z.array(z.object({tokenId:z.string()})).min(1),wE=k(e,d,c,b,a);async function LE(e,r){let t=l(r,ic);return unwrap(e.clob.post("midpoints",{json:gr(t)}).andThen(y(MidpointsSchema)))}var pc=z.object({tokenId:z.string()}),ME=k(e,d,c,b,a);async function Fe(e,r){let t=l(r,pc);return (await unwrap(e.clob.get("/tick-size",{params:P(t,h())}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var cc=z.object({tokenId:z.string()}),FE=k(e,d,c,b,a);async function Be(e,r){let t=l(r,cc);return (await unwrap(e.clob.get("/neg-risk",{params:P(t,h())}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var dc=z.object({tokenId:TokenIdSchema}),BE=k(e,d,c,b,a);async function _o(e,r){let t=l(r,dc);return unwrap(e.clob.get(`/markets-by-token/${t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var uc=z.object({conditionId:CtfConditionIdSchema}),UE=k(e,d,c,b,a);async function No(e,r){let t=l(r,uc);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var mc=z.object({builderCode:BuilderCodeSchema}),DE=k(e,d,c,b,a);async function Go(e,r){let t=l(r,mc);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(y(FetchBuilderFeeRatesResponseSchema)).mapErr(o=>o instanceof d&&o.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:o}):o))}var lc=z.object({tokenId:z.string(),side:OrderSideSchema}),zE=k(e,d,c,b,a);async function jE(e,r){let t=l(r,lc);return (await unwrap(e.clob.get("/price",{params:P(t,h())}).andThen(y(PriceSchema)))).price}var yc=z.array(z.object({tokenId:z.string(),side:OrderSideSchema})).min(1),HE=k(e,d,c,b,a);async function WE(e,r){let t=l(r,yc);return unwrap(e.clob.post("prices",{json:Cc(t)}).andThen(y(PricesSchema)))}var fc=z.object({tokenId:z.string()}),_E=k(e,d,c,b,a);async function Ko(e,r){let t=l(r,fc);return unwrap(e.clob.get("/book",{params:P(t,h())}).andThen(y(FetchOrderBookResponseSchema)))}var gc=z.array(z.object({tokenId:z.string()})).min(1),NE=k(e,d,c,b,a);async function GE(e,r){let t=l(r,gc);return unwrap(e.clob.post("books",{json:gr(t)}).andThen(y(OrderBooksSchema)))}var Pc=z.object({tokenId:z.string()}),KE=k(e,d,c,b,a);async function $E(e,r){let t=l(r,Pc);return (await unwrap(e.clob.get("/spread",{params:P(t,h())}).andThen(y(SpreadSchema)))).spread}var Ec=z.array(z.object({tokenId:z.string()})).min(1),VE=k(e,d,c,b,a);async function YE(e,r){let t=l(r,Ec);return unwrap(e.clob.post("spreads",{json:gr(t)}).andThen(y(SpreadsSchema)))}var Rc=z.object({tokenId:z.string()}),JE=k(e,d,c,b,a);async function ZE(e,r){let t=l(r,Rc);return unwrap(e.clob.get("/last-trade-price",{params:P(t,h())}).andThen(y(LastTradePriceSchema)))}var hc=z.array(z.object({tokenId:z.string()})).min(1),QE=k(e,d,c,b,a);async function XE(e,r){let t=l(r,hc);return unwrap(e.clob.post("last-trades-prices",{json:gr(t)}).andThen(y(LastTradePricesSchema)))}var Sc=z.object({tokenId:z.string(),startTs:z.number().int().optional(),endTs:z.number().int().optional(),fidelity:z.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),eR=k(e,d,c,b,a);async function rR(e,r){let t=l(r,Sc);return (await unwrap(e.clob.get("/prices-history",{params:P(t,{tokenId:"market",startTs:"startTs",endTs:"endTs",fidelity:"fidelity",interval:"interval"})}).andThen(y(PriceHistorySchema)))).history}var Tc=z.object({cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}).default({}),tR=k(e,d,c,b,a);function oR(e,r={}){let{cursor:t,...o}=l(r,Tc);return T(n=>e.clob.get("/rewards/markets/current",{params:P({...o,nextCursor:n},h())}).andThen(y(PaginatedCurrentRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}var xc=z.object({conditionId:CtfConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}),nR=k(e,d,c,b,a);function sR(e,r){let{cursor:t,...o}=l(r,xc);return T(n=>e.clob.get(`rewards/markets/${o.conditionId}`,{params:P({nextCursor:n,sponsored:o.sponsored},h())}).andThen(y(PaginatedMarketRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor),totalCount:s.count})),t)}function gr(e){return e.map(({tokenId:r})=>({token_id:r}))}function Cc(e){return e.map(({tokenId:r,side:t})=>({token_id:r,side:t}))}var Ac=z.object({ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.default(20),getPositions:z.boolean().optional(),holdersOnly:z.boolean().optional(),order:z.string().optional(),parentEntityId:z.union([EventIdSchema,SeriesIdSchema]),parentEntityType:CommentParentEntityTypeSchema}),Oc=z.object({getPositions:z.boolean().optional(),id:CommentIdSchema}),wc=z.object({address:z.string(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z.string().optional(),pageSize:A.default(20)}),gR=k(e,d,c,b,a);function PR(e,r){let{cursor:t,pageSize:o,...n}=l(r,Ac);return T(s=>{let a=U(s,o);return e.gamma.get("/comments",{params:P({ascending:n.ascending,getPositions:n.getPositions,holdersOnly:n.holdersOnly,limit:a.pageSize+1,offset:a.offset,order:n.order,parentEntityId:n.parentEntityId,parentEntityType:n.parentEntityType},h())}).andThen(y(ListCommentsResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var ER=k(e,d,c,b,a);async function RR(e,r){let t=l(r,Oc);return unwrap(e.gamma.get(`comments/${t.id}`,{params:P({getPositions:t.getPositions},h())}).andThen(y(ListCommentsResponseSchema)))}var hR=k(e,d,c,b,a);function SR(e,r){let{address:t,cursor:o,pageSize:n,...s}=l(r,wc);return T(a=>{let f=U(a,n);return e.gamma.get(`comments/user_address/${t}`,{params:P({ascending:s.ascending,limit:f.pageSize+1,offset:f.offset,order:s.order},h())}).andThen(y(ListCommentsResponseSchema)).map(g=>{let L=g.length>f.pageSize;return {items:g.slice(0,f.pageSize),hasMore:L,nextCursor:L?F({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}function Pr(e,r){let t;try{t=new URL(e);}catch(f){throw new a("Expected a valid Polymarket URL.",{cause:f})}if(t.protocol!=="https:"||t.hostname!=="polymarket.com"&&t.hostname!=="www.polymarket.com")throw new a("Expected a valid Polymarket URL.");let[o,n,...s]=t.pathname.split("/").filter(Boolean),a$1=s[0];if(r==="market"&&o==="event"&&n!==void 0&&s.length<=1)return a$1??n;if(o!==r||n===void 0||s.length>0)throw new a(`Expected a Polymarket ${r} URL.`);return n}var Dc=z.object({ascending:z.boolean().optional(),closed:z.boolean().default(false),cursor:PaginationCursorSchema.optional(),pageSize:A.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()}),zc=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()})]),jc=z.object({id:z.string()}),Hc=z.object({id:z.string()}),BR=k(e,d,c,b,a);function UR(e,r={}){let t=l(r,Dc);return T(o=>e.gamma.get("/events/keyset",{params:Wc({...t,cursor:o??t.cursor})}).andThen(y(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var DR=k(e,d,c,b,a);async function zR(e,r){let t=l(r,zc);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:_c(t)}).andThen(y(EventSchema)));let o="url"in t?Pr(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:Nc(t)}).andThen(y(EventSchema)))}var jR=k(e,d,c,b,a);async function HR(e,r){let t=l(r,jc);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var WR=k(e,d,c,b,a);async function _R(e,r){let t=l(r,Hc);return unwrap(e.data.get("/live-volume",{params:H(t)}).andThen(y(FetchEventLiveVolumeResponseSchema)))}function Wc(e){return P(e,h({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function _c(e){return P({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},h())}function Nc(e){return P({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},h())}var Zc=z.object({cursor:PaginationCursorSchema.optional(),pageSize:A.default(20),timePeriod:TimePeriodSchema.optional()}),Qc=z.object({timePeriod:TimePeriodSchema.optional()}),Xc=z.object({category:LeaderboardCategorySchema.optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.default(20),timePeriod:TimePeriodSchema.optional(),orderBy:LeaderboardOrderBySchema.optional(),user:z.string().optional(),userName:z.string().optional()}),eh=k(e,d,c,b,a);function rh(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Zc);return T(s=>{let a=U(s,o);return e.data.get("/v1/builders/leaderboard",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListBuilderLeaderboardResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var th=k(e,d,c,b,a);async function oh(e,r={}){let t=l(r,Qc);return unwrap(e.data.get("/v1/builders/volume",{params:H(t)}).andThen(y(ListBuilderVolumeResponseSchema)))}var nh=k(e,d,c,b,a);function sh(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Xc);return T(s=>{let a=U(s,o);return e.data.get("/v1/leaderboard",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListTraderLeaderboardResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var id=z.object({ascending:z.boolean().optional(),closed:z.boolean().optional(),clobTokenIds:z.array(z.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.optional(),conditionIds:z.array(CtfConditionIdSchema).optional(),cyom:z.boolean().optional(),decimalized:z.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),gameId:z.string().optional(),ids:z.array(z.number().int()).optional(),includeTag:z.boolean().optional(),liquidityNumMax:z.number().optional(),liquidityNumMin:z.number().optional(),locale:z.string().optional(),marketMakerAddresses:z.array(z.string()).optional(),order:z.string().optional(),positionIds:z.array(PositionIdSchema).optional(),questionIds:z.array(z.string()).optional(),relatedTags:z.boolean().optional(),rfqEnabled:z.boolean().optional(),rewardsMinSize:z.number().optional(),slug:z.array(z.string()).optional(),sportsMarketTypes:z.array(z.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),tagId:z.number().int().optional(),tagMatch:z.enum(["any","all"]).optional(),umaResolutionStatus:z.string().optional(),volumeNumMax:z.number().optional(),volumeNumMin:z.number().optional()}),pd=z.object({id:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),cd=z.object({slug:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),dd=z.object({url:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),ud=z.union([pd,cd,dd]),md=z.object({id:z.string()}),ld=z.object({limit:z.number().int().optional(),market:z.array(z.string()),minBalance:z.number().int().optional()}),yd=z.object({market:z.array(z.string()).optional()}),fd=z.enum(["OPEN","CLOSED","ALL"]),gd=z.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),Pd=z.enum(["ASC","DESC"]),Ed=z.object({cursor:PaginationCursorSchema.optional(),market:z.string(),pageSize:A.default(20),user:z.string().optional(),status:fd.optional(),sortBy:gd.optional(),sortDirection:Pd.optional()}),Rh=k(e,d,c,b,a);function Xo(e,r={}){let t=l(r,id);return T(o=>e.gamma.get("/markets/keyset",{params:hd({...t,cursor:o??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Rd=z.object({cursor:PaginationCursorSchema.optional(),pageSize:A.max(100).optional(),exclude:z.array(CtfConditionIdSchema).optional()}),hh=k(e,d,c,b,a);function Sh(e,r={}){let t=l(r,Rd);return T(o=>e.rfq.get("/v1/rfq/combo-markets",{params:Sd({...t,cursor:o??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Th=k(e,d,c,b,a);async function xh(e,r){let t=l(r,ud);return "id"in t?Td(e,t):"url"in t?Jo(e,{includeTag:t.includeTag,locale:t.locale,slug:Pr(t.url,"market")}):Jo(e,t)}var Ch=k(e,d,c,b,a);async function kh(e,r){let t=l(r,md);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var bh=k(e,d,c,b,a);async function Ih(e,r){let t=l(r,ld);return unwrap(e.data.get("/holders",{params:H(t)}).andThen(y(ListMarketHoldersResponseSchema)))}var vh=k(e,d,c,b,a);async function qh(e,r={}){let t=l(r,yd);return unwrap(e.data.get("/oi",{params:H(t)}).andThen(y(ListOpenInterestResponseSchema)))}var Ah=k(e,d,c,b,a);function Oh(e,r){let{cursor:t,pageSize:o,...n}=l(r,Ed);return T(s=>{let a=U(s,o);return e.data.get("/v1/market-positions",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListMarketPositionsResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function hd(e){return P(e,h({cursor:"after_cursor",ids:"id",marketMakerAddresses:"market_maker_address",pageSize:"limit"}))}function Sd(e){return P({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function Jo(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:P({includeTag:r.includeTag,locale:r.locale},h())}).andThen(y(MarketSchema)))}async function Td(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:P({includeTag:r.includeTag,locale:r.locale},h())}).andThen(y(MarketSchema)))}var kd=z.object({orderId:z.string()}),bd=z.object({orderIds:z.array(z.string()).min(1).max(3e3)}),Id=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"]}),zh=k(d,e,j,c,b,a);async function jh(e,r){let t=l(r,kd);return hr(e,"/order",{orderID:t.orderId})}var Hh=k(d,e,j,c,b,a);async function Wh(e,r){let t=l(r,bd);return hr(e,"/orders",t.orderIds)}var _h=k(d,e,j,c,b);async function Nh(e){return hr(e,"/cancel-all")}var Gh=k(d,e,j,c,b,a);async function Kh(e,r){let t=l(r,Id);return hr(e,"/cancel-market-orders",{asset_id:t.tokenId,market:t.market})}async function hr(e,r,t){return unwrap(e.secureClob.del(r,{json:t}).andThen(y(CancelOrdersResponseSchema)))}var rn=z.object({tokenId:z.string(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FOK)}),qd=z.discriminatedUnion("side",[rn.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),rn.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema})]),eS=k(i,e,d,c,b,a);async function rS(e,r){let t=l(r,qd),o=await Fe(e,{tokenId:t.tokenId}),n=t.side===OrderSide.BUY?t.amount:t.shares;return Qr(e,{amount:n,orderType:t.orderType,side:t.side,tickSize:o,tokenId:t.tokenId})}async function Qr(e,r){let t=await Ko(e,{tokenId:r.tokenId}),o=r.side===OrderSide.BUY?Od(t.asks,r.amount,r.orderType):wd(t.bids,r.amount,r.orderType);return invariant(Ad(o,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),o}function Ad(e,r){return e>=r&&e<=1-r}function Od(e,r,t){if(e.length===0)throw new i("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size)*Number.parseFloat(a.price),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new i("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}function wd(e,r,t){if(e.length===0)throw new i("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new i("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}var Bd=z.array(z.custom()).min(1).max(15),dS=k(e,d,j,c,b),uS=k(e,d,j,c,b,a);function Tr(e){return async function(t){let o=sn(e,t);return unwrap(e.secureClob.post("/order",{json:o}).andThen(y(OrderResponseSchema)))}}function mS(e){return async function(t){let n=l(t,Bd).map(s=>sn(e,s));return unwrap(e.secureClob.post("/orders",{json:n}).andThen(y(OrderResponsesSchema)))}}function sn(e,r){return invariant(r.postOnly!==true||r.orderType===OrderType.GTC||r.orderType===OrderType.GTD,"Post-only orders are only supported for GTC and GTD order types."),{deferExec:false,order:{builder:r.builder,expiration:`${r.expiration}`,maker:r.maker,makerAmount:r.makerAmount,metadata:r.metadata,salt:Number.parseInt(r.salt,10),side:r.side,signature:r.signature,signatureType:r.signatureType,signer:r.signer,takerAmount:r.takerAmount,timestamp:r.timestamp,tokenId:r.tokenId},orderType:r.orderType,owner:e.credentials.key,...r.postOnly===true?{postOnly:true}:{}}}function De(e){switch(e){case .1:return {amount:3,price:1,size:2};case .01:return {amount:4,price:2,size:2};case .005:return {amount:5,price:3,size:2};case .0025:return {amount:6,price:4,size:2};case .001:return {amount:5,price:3,size:2};case 1e-4:return {amount:6,price:4,size:2}}invariant(false,`Unsupported tick size: ${e}`);}function ze(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}function de(e){return BigInt(Math.round(e*10**6))}function ue(e,r){return Z(e)<=r?e:Math.floor(e*10**r)/10**r}function Ce(e,r){return Z(e)<=r?e:Math.ceil(e*10**r)/10**r}function Xr(e,r){return Z(e)<=r?e:Math.round(e*10**r)/10**r}function Z(e){if(typeof e=="number"&&Number.isInteger(e))return 0;let[r="",t]=e.toString().toLowerCase().split("e"),[,o=""]=r.split("."),n=o.length;if(t===void 0)return n;let s=Number.parseInt(t,10);return Math.max(0,n-s)}var cn=z.strictObject({tokenId:TokenIdSchema,price:PositiveDecimalNumberSchema,size:PositiveDecimalNumberSchema,side:OrderSideSchema,builderCode:BuilderCodeSchema.optional(),postOnly:z.boolean().default(false),expiration:z.number().int().nonnegative().optional()}).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+60;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 60 seconds in the future.",path:["expiration"]});}});async function dn(e,r){let t=await Wd(e,{price:r.price,tokenId:r.tokenId}),o=_d({price:t.price,side:r.side,size:r.size,tickSize:t.tickSize});return {builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:r.expiration??0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount,tokenId:r.tokenId}}async function Wd(e,r){let t=e.account,o=await Fe(e,{tokenId:r.tokenId}),n=await Be(e,{tokenId:r.tokenId});return {exchangeAddress:ze(e,n),funderAddress:t.wallet,negRisk:n,price:Nd(r.price,o),signerAddress:t.signer,tickSize:o}}function _d(e){let r=De(e.tickSize),t=Xr(e.price,r.price);if(e.side===OrderSide.BUY){let s=ue(e.size,r.size),a=s*t;return Z(a)>r.amount&&(a=Ce(a,r.amount+4),Z(a)>r.amount&&(a=ue(a,r.amount))),{offeredAmount:de(a),requestedAmount:de(s)}}let o=ue(e.size,r.size),n=o*t;return Z(n)>r.amount&&(n=Ce(n,r.amount+4),Z(n)>r.amount&&(n=ue(n,r.amount))),{offeredAmount:de(o),requestedAmount:de(n)}}function Nd(e,r){let t=De(r);if(e<r||e>1-r)throw new a(`Price must be between ${r} and ${1-r} for tick size ${r}.`);if(Z(e)>t.price)throw new a(`Price must conform to tick size ${r} with at most ${t.price} decimal places.`);return Xr(e,t.price)}var un=z.object({tokenId:TokenIdSchema,builderCode:BuilderCodeSchema.optional(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FAK)}),ln=z.discriminatedUnion("side",[un.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),un.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()})]);async function yn(e,r){let t=await $d(e,r),o=Jd({amount:t.resolvedAmount,price:t.price,protectPrice:Yd(r),side:r.side,tickSize:t.tickSize});return {builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.orderType,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount,tokenId:r.tokenId}}async function $d(e,r){let t=e.account,o=await Fe(e,{tokenId:r.tokenId}),n=r.side===OrderSide.BUY?r.amount:r.shares,s=await Vd(e,r,n,o),a=await Be(e,{tokenId:r.tokenId}),f=await Zd(e,{amount:n,builderCode:r.builderCode,maxSpend:r.side===OrderSide.BUY?r.maxSpend:void 0,price:s,side:r.side,tokenId:r.tokenId});return {exchangeAddress:ze(e,a),funderAddress:t.wallet,negRisk:a,price:s,resolvedAmount:f,signerAddress:t.signer,tickSize:o}}async function Vd(e,r,t,o){return r.side===OrderSide.BUY&&r.maxPrice!==void 0?mn(r.maxPrice,o,"maxPrice"):r.side===OrderSide.SELL&&r.minPrice!==void 0?mn(r.minPrice,o,"minPrice"):Qr(e,{amount:t,orderType:r.orderType,side:r.side,tickSize:o,tokenId:r.tokenId})}function mn(e,r,t){let o=De(r);if(e<r||e>1-r)throw new a(`${t} must be between ${r} and ${1-r} for tick size ${r}.`);if(Z(e)>o.price)throw new a(`${t} must conform to tick size ${r} with at most ${o.price} decimal places.`);return e}function Yd(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}function Jd(e){let r=De(e.tickSize),t=ue(e.price,r.price),o=ue(e.amount,r.size);if(e.side===OrderSide.BUY){let s=o/t;return Z(s)>r.amount&&(s=Ce(s,r.amount+4),Z(s)>r.amount&&(s=e.protectPrice?Ce(s,r.amount):ue(s,r.amount))),{offeredAmount:de(o),requestedAmount:de(s)}}let n=o*t;return Z(n)>r.amount&&(n=Ce(n,r.amount+4),Z(n)>r.amount&&(n=e.protectPrice?Ce(n,r.amount):ue(n,r.amount))),{offeredAmount:de(o),requestedAmount:de(n)}}async function Zd(e,r){if(r.side!==OrderSide.BUY||r.maxSpend===void 0)return r.amount;let[t,o]=await Promise.all([Qd(e,r.tokenId),Xd(e,r.builderCode)]);return eu({amount:r.amount,builderTakerFeeRate:o,platformFeeExponent:t.exponent,platformFeeRate:t.rate,maxSpend:r.maxSpend,price:r.price})}async function Qd(e,r){let t=await _o(e,{tokenId:r});return (await No(e,{conditionId:t})).feeInfo}async function Xd(e,r){return r===void 0?0:(await Go(e,{builderCode:r})).taker}function eu(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 fn="0x0000000000000000000000000000000000000000000000000000000000000000";function tt(e,r){let t=Vt(r);return {builder:e.builderCode??fn,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:fn,orderType:e.orderType,salt:ru().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.tokenId}}function ot(e,r){let{chainId:t,exchangeAddress:o,...n}=e;return {...n,signature:r}}function ru(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}`)&(1n<<53n)-1n}var En="Polymarket CTF Exchange",nu="DepositWallet",su="1",nt="0x0000000000000000000000000000000000000000000000000000000000000000",st="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",au=Hash.keccak256(Bytes.fromString(st),{as:"Hex"}),iu=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),pu=Hash.keccak256(Bytes.fromString(En),{as:"Hex"}),cu=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Rn=[{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"}],du=[{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 hn(e){let r=uu(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:xn(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:nu,salt:nt,verifyingContract:e.order.signer,version:su},primaryType:"TypedDataSign",types:{Order:Rn,TypedDataSign:du}}}function Sn(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(st)),t=st.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${mu(e.domain).slice(2)}${lu(e.order).slice(2)}${r.slice(2)}${t}`)}function Tn(e){return {builder:e.builder??nt,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??nt,salt:BigInt(e.salt),side:fu(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function uu(e,r){return {domain:xn(e),message:Tn(r),primaryType:"Order",types:{EIP712Domain:cu,Order:Rn}}}function xn(e){return {chainId:e.chainId,name:En,verifyingContract:e.exchange,version:e.protocolVersion}}function mu(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[iu,pu,yu(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function lu(e){let r=Tn(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"}],[au,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 yu(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function fu(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}function it(e){return hn({domain:Cn(e),order:e})}function pt(e,r){return Sn({domain:Cn(e),order:e,signature:r})}function Cn(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:"2"}}function ct(e){return {kind:"signOrder",payload:e}}var gu=k(i,e,d,j,c,b,a);async function dt(e,r){let t=l(r,ln);return async function*(){let o=await yn(e,t),n=tt(o,e.account),s=expectEvmSignature(yield ct(it(n)));return ot(n,pt(n,s))}.call(null)}var Pu=k(e,d,j,c,b,a);async function ut(e,r){let t=l(r,cn);return async function*(){let o=await dn(e,t),n=tt(o,e.account),s=expectEvmSignature(yield ct(it(n))),a=ot(n,pt(n,s));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var QS=gu;async function XS(e,r){return bn(e,dt(e,r))}var eT=Pu;async function rT(e,r){return bn(e,ut(e,r))}async function bn(e,r){let t=await r;return async function*(){let o=yield*t;return Tr(e)(o)}.call(null)}async function qn(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await Ur(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,tokenId:r.tokenId});return Ru(o,r.spenderAddress)}function Ru(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var RT=k(h$1,i,e,d,j,c,b,a);function hu(e,r){return dt(e,r).then(W(e.signer))}var hT=k(h$1,i,e,d,j,f,g,c,b,a);function ST(e,r){return hu(e,r).then(t=>On(e,t))}var TT=k(h$1,e,d,j,c,b,a);function Su(e,r){return ut(e,r).then(W(e.signer))}var xT=k(h$1,e,d,j,f,g,c,b,a);function CT(e,r){return Su(e,r).then(t=>On(e,t))}async function On(e,r){let t=Tr(e);try{return await t(r)}catch(o){if(!xu(o))throw o;let n=await Tu(e,r,t);if(n===void 0)throw o;return n}}async function Tu(e,r,t){return await Cu(e,r)?t(r):void 0}function xu(e){return e instanceof d&&e.status===400&&e.message.includes("allowance is not enough")}async function Cu(e,r){let t=await Be(e,{tokenId:r.tokenId}),o=ze(e,t),n=BigInt(r.makerAmount);return await qn(e,{spenderAddress:o,side:r.side,tokenId:r.tokenId})>=n?false:(await(r.side===OrderSide.BUY?await Oo(e,{amount:"max",spenderAddress:o,tokenAddress:e.environment.contracts.collateralToken}):await wo(e,{operatorAddress:o,tokenAddress:e.environment.contracts.conditionalTokens})).wait(),await eo(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?r.tokenId:void 0}),true)}function wn(e){let r=TypedData.getSignPayload(lt(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function lt(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode(Ln(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 Ln(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(Ln):e}var xr=class{#e;#r;#t;constructor({root:r,headers:t,resolveHeaders:o}){this.#e=Ht.create({prefixUrl:r,throwHttpErrors:false}),this.#r=t,this.#t=o;}get(r,t={}){return this.#o("GET",r,t)}post(r,t={}){return this.#o("POST",r,t)}patch(r,t={}){return this.#o("PATCH",r,t)}del(r,t={}){return this.#o("DELETE",r,t)}#n(r){return r.startsWith("/")?r.slice(1):r}#o(r,t,o){return this.#a(this.#c(r,t,o))}async#c(r,t,o){let n=this.#i(r,t,o),s=await this.#t?.(n),a=this.#p(this.#r,n.headers,s);return n.body!==void 0&&!a.has("content-type")&&a.set("content-type","application/json"),this.#e(this.#n(t),{body:n.body,headers:a,method:r,searchParams:n.params})}#i(r,t,o){return {body:"json"in o?this.#s(o.json):void 0,headers:o.headers,json:"json"in o?o.json:void 0,method:r,params:"params"in o?o.params:void 0,path:t}}#s(r){if(r!==void 0)return JSON.stringify(r)}#p(...r){let t=new Headers;for(let o of r)if(o!==void 0)for(let[n,s]of new Headers(o).entries())t.set(n,s);return t}#a(r){return ResultAsync.fromPromise(r.then(async t=>{if(t.ok)return t;if(t.status===429)throw new e(`Request to ${t.url} was rate limited`);let o=await this.#d(t);throw new d(o,{status:t.status})}),t=>t instanceof e||t instanceof d?t:c.fromError(t))}async#d(r){let t=r.headers.get("content-type")?.toLowerCase();if(t?.includes("application/json")){let{error:n}=await r.clone().json().catch(()=>({}));if(n)return `${String(n)} (${r.url})`}if(t?.includes("text/plain")){let n=await r.clone().text().then(s=>s.trim(),()=>"");if(n)return `${n} (${r.url})`}return r.headers.get("server")?.toLowerCase()?.includes("cloudflare")?`Request to ${r.url} was blocked by Cloudflare with status ${r.status}`:t?.includes("text/html")||t?.includes("application/xhtml+xml")?`Request to ${r.url} failed with status ${r.status} and an unexpected HTML response body`:`Request to ${r.url} failed with status ${r.status} and unreadable response body`}};var Lu=1e4,Mu=3e4,Fu=5e3,Bu=10*6e4,Uu=3e4,Du=25e3,zu=65e3,Mn=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},Lu);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>Mu}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Fn=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},Fu);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Bu}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Bn=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>Uu}},Cr=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"}}));},Du);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>zu}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var Wu=5e3,_u=250,Nu=3e4,kr=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=Ku(this.#r,{baseMs:_u,maxMs:Nu});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);}}},br=class{#e;#r;#t;#n;constructor(r={}){this.#e=r.heartbeat;}connect(r){if(this.#r?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#s(),this.#t!==void 0)return this.#t;let o=this.#c(r).then(()=>({reusedOpenSocket:false})).catch(n=>{throw this.#t===o&&(this.#t=void 0),n});return this.#t=o,o}send(r){return this.#o(JSON.stringify(r))}#o(r){return this.#r?.readyState!==WebSocket.OPEN?false:(this.#r.send(r),true)}async close(){let r=await this.#d();this.#a(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{r.addEventListener("close",()=>t(),{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#c(r){let t=await r.prepare?.();return new Promise((o,n)=>{let s=Gu(r.url,r.headers),a=()=>{s.removeEventListener("error",f),this.#i(s),this.#p(),r.onOpen(t),o(s);},f=g=>{s.removeEventListener("open",a),n(new c(`WebSocket connection failed: ${r.url}`,{cause:g}));};s.addEventListener("open",a,{once:true}),s.addEventListener("error",f,{once:true}),s.addEventListener("message",g=>{if(this.#r!==s)return;let L=String(g.data);if(this.#e?.handleMessage(L))return;let I;try{I=JSON.parse(L);}catch{return}r.onMessage(I);}),s.addEventListener("close",()=>{this.#r===s&&(this.#s(),r.onClose());}),s.addEventListener("error",()=>r.onError());})}#i(r){this.#r=r,this.#t=void 0;}#s(){this.#a(),this.#r=void 0;}#p(){this.#a();let r=this.#e;r!==void 0&&(r.start(t=>this.#o(t)),this.#n=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#r;t?.readyState===WebSocket.OPEN&&t.close();},Wu));}#a(){this.#n!==void 0&&(clearInterval(this.#n),this.#n=void 0),this.#e?.stop();}async#d(){let r=this.#r,t=this.#t;return this.#r=void 0,this.#t=void 0,r!==void 0?r:t?.then(()=>this.#r,()=>{})}};function Gu(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 Ku(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var er=1440*60*1e3,jn=90*er,le=z.number().int().nonnegative(),Ir=z.object({start:le.optional(),end:le.optional()}),Hn=z.object({interval:PerpsPnlIntervalSchema,start:le,end:le.optional()}),im=z.enum(["perpsFills","perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),pm=z.enum(["perpsEquityHistory","perpsPnlHistory"]),vr=z.object({kind:im,startTimestamp:le,endTimestamp:le,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z.array(z.string())}),Wn=z.object({kind:pm,startTimestamp:le,endTimestamp:le,interval:PerpsPnlIntervalSchema});async function _n(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function Nn(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}var cm=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Gn(e,r){let t=l(r,cm);return await unwrap(e.get("/v1/account/config",{params:Ee(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var dm=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Kn(e,r){let t=l(r,dm);return await unwrap(e.get("/v1/account/open-orders",{params:Ee(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var um=z.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:le.optional(),end:le.optional()}).default({}).transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function $n(e,r){let t=l(r,um);return await unwrap(e.get("/v1/account/orders",{params:Ee(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var mm=z.union([Ir.extend({cursor:PaginationCursorSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:qr(r,er)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Vn(e,r={}){let{cursor:t,params:o}=l(r,mm);return T(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps fills params."),s={kind:"perpsFills",seenKeys:[],...o}):s=We(n,vr);let{kind:a,seenKeys:f,...g}=s,L=new Set(s.seenKeys);return e.get("/v1/account/fills",{params:Ee(g)}).andThen(y(ListPerpsFillsResponseSchema)).map(I=>{let $=I.data.filter(M=>!L.has(String(M.tradeId)));return Ar({getKey:M=>String(M.tradeId),getTimestamp:M=>M.timestamp,items:$,responseData:I.data,responseMore:I.more,state:s})})},t)}var lm=z.union([Ir.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:qr(r,er)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Yn(e,r={}){let{cursor:t,params:o}=l(r,lm);return T(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=We(n,vr);let{kind:a,seenKeys:f,...g}=s,L=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:Ee(g)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(I=>{let $=I.data.filter(M=>!L.has(`${M.instrumentId}:${M.timestamp}:${M.funding}`));return Ar({getKey:M=>`${M.instrumentId}:${M.timestamp}:${M.funding}`,getTimestamp:M=>M.timestamp,items:$,responseData:I.data,responseMore:I.more,state:s})})},t)}var ym=z.union([Ir.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:qr(r,jn)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Jn(e,r={}){let{cursor:t,params:o}=l(r,ym);return T(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps deposit params."),s={kind:"perpsDeposits",seenKeys:[],...o}):s=We(n,vr);let{kind:a,seenKeys:f,...g}=s,L=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:Ee(g)}).andThen(y(ListPerpsDepositsResponseSchema)).map(I=>{let $=I.data.filter(M=>!L.has(M.hash));return Ar({getKey:M=>M.hash,getTimestamp:Em,items:$,responseData:I.data,responseMore:I.more,state:s})})},t)}var fm=z.union([Ir.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:qr(r,jn)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Zn(e,r={}){let{cursor:t,params:o}=l(r,fm);return T(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps withdrawal params."),s={kind:"perpsWithdrawals",seenKeys:[],...o}):s=We(n,vr);let{kind:a,seenKeys:f,...g}=s,L=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:Ee(g)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(I=>{let $=I.data.filter(M=>!L.has(String(M.withdrawalId)));return Ar({getKey:M=>String(M.withdrawalId),getTimestamp:Rm,items:$,responseData:I.data,responseMore:I.more,state:s})})},t)}var gm=z.union([Hn.extend({cursor:PaginationCursorSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:es(r)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Qn(e,r){let{cursor:t,params:o}=l(r,gm);return T(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps equity history params."),s={kind:"perpsEquityHistory",...o}):s=We(n,Wn);let{kind:a,...f}=s;return e.get("/v1/account/equity",{params:Ee(f)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(g=>{let L=g.data.at(-1),I=g.more&&L!==void 0&&L.timestamp<s.endTimestamp;return {items:g.data,hasMore:I,nextCursor:I?gt({...s,startTimestamp:L.timestamp+rs(s.interval)}):void 0}})},t)}var Pm=z.union([Hn.extend({cursor:PaginationCursorSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:es(r)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Xn(e,r){let{cursor:t,params:o}=l(r,Pm);return T(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps PnL history params."),s={kind:"perpsPnlHistory",...o}):s=We(n,Wn);let{kind:a,...f}=s;return e.get("/v1/account/pnl",{params:Ee(f)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(g=>{let L=g.data.at(-1),I=g.more&&L!==void 0&&L.timestamp<s.endTimestamp;return {items:g.data,hasMore:I,nextCursor:I?gt({...s,startTimestamp:L.timestamp+rs(s.interval)}):void 0}})},t)}function qr(e,r){let t=Date.now(),{end:o,start:n,...s}=e;return {...s,endTimestamp:o??t,startTimestamp:n??t-r}}function es(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function We(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new c("Invalid Perps account pagination cursor",{cause:t})}}function gt(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function Ee(e){return P(e,h())}function Em(e){return e.confirmedTimestamp??e.createdTimestamp}function Rm(e){return e.confirmedTimestamp??e.createdTimestamp}function Ar(e){let r=e.responseData.at(-1),t=e.items.at(-1),o=(t===void 0?void 0:e.getTimestamp(t))??(r===void 0?void 0:e.getTimestamp(r)),n=e.responseMore&&o!==void 0&&o>e.state.startTimestamp;if(!n)return {items:e.items,hasMore:n};let s=t===void 0?o-1:o,a=new Set(e.state.endTimestamp===s?e.state.seenKeys:[]);for(let f of e.items)e.getTimestamp(f)===s&&a.add(e.getKey(f));return {items:e.items,hasMore:n,nextCursor:gt({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function rs(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return er;case "1w":return 7*er}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var Rt=z.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,clientOrderId:PerpsClientOrderIdSchema.optional()}),bm=Rt.extend({price:PerpsDecimalInputSchema,timeInForce:z.literal(PerpsTimeInForce.GTC),postOnly:z.boolean().default(false)}),Im=Rt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.IOC),postOnly:z.never().optional()}),vm=Rt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.FOK),postOnly:z.never().optional()}),qm=z.discriminatedUnion("timeInForce",[bm,Im,vm]),Am=z.object({orders:z.array(qm).min(1),expiresAt:z.number().int().positive().optional()});async function ht(e,r){let t=l(r,Am);return await e.sendSignedWsCommand({op:["createOrders",t.orders.map(Mm)],responseSchema:z.array(PerpsPostOrderAckSchema),timeoutMessage:"Perps post order acknowledgement timed out.",expiresAt:t.expiresAt})}var Om=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 as(e,r){let t=l(r,Om),[o]=t.orderId!==void 0?await Or(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await Or(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var wm=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 Or(e,r){let t=l(r,wm);return t.orderIds!==void 0?await e.sendSignedWsCommand({op:["cancelOrders",t.orderIds],responseSchema:z.array(PerpsCancelOrderResultSchema),timeoutMessage:"Perps cancel order response timed out.",expiresAt:t.expiresAt}):await e.sendSignedWsCommand({op:["cancelOrdersCOID",t.clientOrderIds],responseSchema:z.array(PerpsCancelOrderResultSchema),timeoutMessage:"Perps cancel order response timed out.",expiresAt:t.expiresAt})}var Lm=z.object({instrumentId:PerpsInstrumentIdSchema,leverage:z.number().int().positive(),crossMargin:z.boolean()}),is=k(d,j,c,a);async function ps(e,r){let t=l(r,Lm);return await e.sendSignedWsCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]],responseSchema:PerpsUpdateLeverageResultSchema,timeoutMessage:"Perps update leverage response timed out."})}function Mm(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.clientOrderId]}function cs(e){let[r,t]=e;switch(r){case "createOrders":return {type:r,args:t.map(Fm)};case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "updateLeverage":{let[o,n,s]=t;return {type:r,args:{cross:s,iid:o,lev:n}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function Fm(e){let r={iid:e[0],buy:e[1]};return e[2]!==void 0&&(r.p=e[2]),r.qty=e[3],e[4]!==void 0&&(r.tif=e[4]),r.po=e[5],e[6]!==void 0&&(r.c=e[6]),r}var jm=3e4,ms=3e4,Hm=500,Wm=["balances","portfolio","orders","fills","funding","deposits","withdrawals"],_m=z.object({id:z.number().int().positive().optional(),data:z.unknown().optional()}).passthrough(),ls=z.union([PerpsCommandAckSchema,z.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),ys=class{credentials;#e;#r;#t;#n;#o;#c=new br({heartbeat:new Cr});#i=pushable({objectMode:true});#s=new Map;#p=new Set;#a=new kr;#d=new Map;#l=1;#u;constructor(r){this.#e=new xr({headers:r.headers,resolveHeaders:async()=>this.#T(),root:r.restUrl}),this.#r=r.chainId,this.credentials=r.credentials,this.#t=r.headers,this.#n=r.onClose,this.#o=r.wsUrl;}get closed(){return this.#u!==void 0}async connect(){await this.#g(false);}async close(){this.#u===void 0&&(this.#u=this.#k()),await this.#u;}[Symbol.asyncIterator](){return this.#i[Symbol.asyncIterator]()}async fetchBalances(){return await _n(this.#e)}async fetchPortfolio(){return await Nn(this.#e)}async fetchAccountConfig(r){return await Gn(this.#e,r)}async fetchOpenOrders(r){return await Kn(this.#e,r)}async fetchOrders(r){return await $n(this.#e,r)}listFills(r={}){return Vn(this.#e,r)}listFundingPayments(r={}){return Yn(this.#e,r)}listDeposits(r={}){return Jn(this.#e,r)}listWithdrawals(r={}){return Zn(this.#e,r)}listEquityHistory(r){return Qn(this.#e,r)}listPnlHistory(r){return Xn(this.#e,r)}async placeOrder(r){let[t]=await ht(this.#m(),{orders:[r]}).then(expectNonEmptyArray);if(t.status==="err")throw new d(t.error,{status:200});return (await this.#A(n=>n.type==="order"&&n.payload.id===t.orderId,Hm)).payload}async postOrders(r){return await ht(this.#m(),r)}async cancelOrder(r){return await as(this.#m(),r)}async cancelOrders(r){return await Or(this.#m(),r)}async updateLeverage(r){return await ps(this.#m(),r)}async#g(r){await this.#c.connect({onClose:()=>this.#v(),onError:()=>{},onMessage:t=>this.#b(t),onOpen:()=>{},headers:this.#t,url:this.#o}),await this.#h(),await this.#S(),this.#a.resetBackoff(),r&&(this.#d.clear(),this.#i.push({reason:"reconnect",type:"resync"}));}async#h(){await this.#y({id:this.#l++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},ls,jm,"Perps session authentication timed out.");}async#S(){await this.#y({id:this.#l++,req:"sub",chs:Wm},ls,ms,"Perps session subscription timed out.");}#T(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}#m(){return {sendSignedWsCommand:r=>this.#x(r)}}async#x(r){let t=cs(r.op),o=this.#C(r.op,r.expiresAt);return await this.#y({...o,id:this.#l++,op:t,req:"post"},r.responseSchema,ms,r.timeoutMessage)}#C(r,t){let o=Km(),n=Date.now(),s;try{s=wn({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n});}catch(f){throw j.fromError(f,"Could not sign the Perps session command")}let a={salt:o,sig:s,ts:n};return t!==void 0&&(a.exp=t),a}async#y(r,t,o,n){let s=Nm(t);this.#s.set(r.id,s);let a=setNonBlockingTimeout(()=>{s.reject(new c(n));},o);try{if(!this.#c.send(r))throw new c("Perps session transport is not open.");return await s.promise}finally{clearTimeout(a),this.#s.delete(r.id);}}async#k(){this.#a.stop(),this.#P(new c("Perps session closed.")),this.#R(new c("Perps session closed.")),this.#i.end(),await this.#c.close(),this.#n(this);}#b(r){if(this.#I(r))return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#q(o),this.#E(o);}#I(r){let t=_m.safeParse(r);if(!t.success||t.data.id===void 0)return false;let o=this.#s.get(t.data.id);if(o===void 0)return true;let n=o.schema.safeParse(t.data.data);if(!n.success){let s=fs(t.data.data??t.data);return s!==void 0?o.reject(new d(s.error,{status:200})):o.reject(new c("Perps session unexpected response.")),true}return Gm(n.data)?o.reject(new d(n.data.error,{status:200})):o.resolve(n.data),true}#v(){this.#P(new c("Perps session connection closed.")),this.#R(new c("Perps session connection closed.")),this.#u===void 0&&this.#a.schedule({reconnect:()=>this.#g(true),shouldReconnect:()=>this.#u===void 0});}#P(r){for(let t of this.#s.values())t.reject(r);this.#s.clear();}#q(r){let t=this.#d.get(r.channel);this.#d.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#E({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#E(r){this.#w(r),this.#i.push(r);}#A(r,t){return this.#O(r,t).then(o=>o)}#O(r,t){let o,n=new Promise((s,a)=>{o={predicate:r,reject:a,resolve:s,timeout:setNonBlockingTimeout(()=>{this.#f(o),a(new f("Perps event wait timed out."));},t)};});return this.#p.add(o),n}#w(r){for(let t of Array.from(this.#p))t.predicate(r)&&(this.#f(t),t.resolve(r));}#f(r){this.#p.delete(r)&&clearTimeout(r.timeout);}#R(r){for(let t of Array.from(this.#p))this.#f(t),t.reject(r);}};function Nm(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function Gm(e){return fs(e)!==void 0}function fs(e){if(Array.isArray(e)||typeof e!="object"||e===null)return;let r=e;if(r.status==="err")return {error:typeof r.error=="string"?r.error:"Perps command failed."}}function Km(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var qe=k(e,d,c,b,a),ye=z.number().int().nonnegative(),Es=1440*60*1e3,ll=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),instrumentType:PerpsInstrumentTypeSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),wx=qe;async function Lx(e,r){let t=l(r,ll);return unwrap(e.perps.get("/v1/info/instruments",{params:P(t,h())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var yl=z.object({instrumentId:PerpsInstrumentIdSchema}),Mx=qe;async function Fx(e,r){let t=l(r,yl),[o]=await gl(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var fl=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),Bx=qe;async function gl(e,r){let t=l(r,fl),o=P(t,h()),[n,s]=await Promise.all([unwrap(e.perps.get("/v1/info/tickers",{params:o}).andThen(y(FetchPerpsTickersResponseSchema))),unwrap(e.perps.get("/v1/info/statistics",{params:o}).andThen(y(FetchPerpsStatisticsResponseSchema)))]),a=new Map(s.map(f=>[f.instrumentId,f]));return n.map(f=>{let g=a.get(f.instrumentId);return {...f,openPrice:g?.openPrice,volume24h:g?.volume}})}var Pl=z.union([z.literal(10),z.literal(100),z.literal(500),z.literal(1e3)]),El=z.object({instrumentId:PerpsInstrumentIdSchema,depth:Pl.default(100)}),Ux=qe;async function Dx(e,r){let t=l(r,El);return unwrap(e.perps.get("/v1/info/book",{params:P(t,h())}).andThen(y(PerpsBookSchema)))}var Rl=z.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:ye.optional(),end:ye.optional()}),hl=z.union([Rl.extend({cursor:PaginationCursorSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:bl(r)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]),zx=qe;function jx(e,r){let{cursor:t,params:o}=l(r,hl);return T(n=>{let s=n===void 0?Il(o):Al(n);return e.perps.get("/v1/info/klines",{params:P({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,interval:s.interval,startTimestamp:s.startTimestamp},h())}).andThen(y(FetchPerpsCandlesResponseSchema)).map(a=>{let f=a.data.at(-1),g=a.more&&f!==void 0;return {items:a.data,hasMore:g,nextCursor:g?Ct({...s,startTimestamp:f.timestamp+Ll(s.interval)}):void 0}})},t)}var Rs=z.object({instrumentId:PerpsInstrumentIdSchema,start:ye.optional(),end:ye.optional()}),Sl=z.union([Rs.extend({cursor:PaginationCursorSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:hs(r)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]),Hx=qe;function Wx(e,r){let{cursor:t,params:o}=l(r,Sl);return T(n=>{let s=n===void 0?vl(o):Ol(n);return e.perps.get("/v1/info/funding",{params:P({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},h())}).andThen(y(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let f=a.data.at(-1),g=a.more&&f!==void 0&&f.timestamp>s.startTimestamp;return {items:a.data,hasMore:g,nextCursor:g?Ct({...s,endTimestamp:f.timestamp-1}):void 0}})},t)}var Tl=z.union([Rs.extend({cursor:PaginationCursorSchema.optional()}).transform(({cursor:e,...r})=>({cursor:e,params:hs(r)})),z.object({cursor:PaginationCursorSchema}).transform(({cursor:e})=>({cursor:e,params:void 0}))]),_x=qe;function Nx(e,r){let{cursor:t,params:o}=l(r,Tl);return T(n=>{let s=n===void 0?ql(o):wl(n),a=new Set(s.seenTradeIds);return e.perps.get("/v1/info/trades",{params:P({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},h())}).andThen(y(FetchPerpsTradesResponseSchema)).map(f=>{let g=f.data.filter(aa=>!a.has(aa.tradeId)),L=f.data.at(-1),I=g.at(-1),$=I?.timestamp??L?.timestamp,M=f.more&&$!==void 0&&$>s.startTimestamp;return {items:g,hasMore:M,nextCursor:M?Ct({...s,endTimestamp:I===void 0?$-1:$,seenTradeIds:I===void 0?[]:Ml(s,g,I)}):void 0}})},t)}var Gx=k(e,d,c,b);async function Kx(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var xl=z.object({kind:z.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:ye,endTimestamp:ye}),Cl=z.object({kind:z.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:ye,endTimestamp:ye}),kl=z.object({kind:z.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:ye,endTimestamp:ye,seenTradeIds:z.array(PerpsTradeIdSchema)});function bl(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Es}}function hs(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Es}}function Il(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function vl(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function ql(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function Al(e){return xt(e,xl)}function Ol(e){return xt(e,Cl)}function wl(e){return xt(e,kl)}function xt(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function Ct(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function Ll(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 Ml(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 Fl=z.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),Bl=z.object({proxy:z.string().transform(e=>expectEvmAddress(e)),privateKey:Fl,secret:z.string().min(1),expiresAt:z.number().int().positive()}),Ul=10080*60*1e3,Dl=z.strictObject({expiresIn:z.number().int().positive().default(Ul),label:z.string().min(1).optional()}),zl=z.strictObject({credentials:Bl}),jl=z.union([Dl,zl]),Hl=z.object({proxy:z.string().transform(e=>expectEvmAddress(e))}),Ss=z.bigint().positive().max(Y),Wl=z.object({amount:Ss,metadata:G.optional()}),_l=z.object({amount:Ss}),$x=k(e,d,j,c,b,a),Vx=k(e,d,j,c,b,a),Yx=k(a),Jx=k(h$1,e,d,j,c,b,a),Zx=k(e,d,j,c,b,a);async function Qx(e,r={}){let t=l(r,jl),o="credentials"in t?await Kl(e,t.credentials):await Gl(e,t);return e.webSockets.perpsSession.connect(o)}async function Xx(e,r){let t=l(r,Hl),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=kt(),a=Date.now(),f=await Vl(e,{salt:s,signedOp:n,timestamp:a}),g=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:o,salt:s,sig:f,ts:a}}).andThen(y(PerpsDeleteProxyResponseSchema)));if(g.status==="err")throw new d(g.error??"Perps credentials revocation was rejected.",{status:200})}async function Nl(e,r){let t=l(r,Wl),{contracts:o}=e.environment,n=Po(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?_(yield ry(N(e.environment.chainId,n))):yield*await J(e,{calls:[n],metadata:t.metadata??`Deposit ${t.amount} of ${o.collateralToken} to Perps`})}.call(null)}function eC(e,r){return Nl(e,r).then(W(e.signer))}async function rC(e,r){let t=l(r,_l),o=Math.floor(Date.now()/1e3),n=kt(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await Yl(e,{amount:t.amount,salt:n,timestamp:o}),f=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:s,salt:n,sig:a,ts:o}}).andThen(y(PerpsWithdrawResponseSchema)));if(f.status==="err")throw new d(f.error??"Perps withdrawal was rejected.",{status:200});if(f.withdrawalId===void 0)throw new b("Perps withdrawal response did not include a withdrawal ID.");return f.withdrawalId}async function Gl(e,r){let t=Ql(),o=xs(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),f=kt(),g={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},L=await $l(e,{expiresAt:s,proxy:o,salt:f,timestamp:a}),I={op:g,salt:f,sig:L,ts:a};r.label!==void 0&&(I.label=r.label);let $=await unwrap(e.perps.post("/v1/account/proxy",{json:I}).andThen(y(PerpsCreateProxyResponseSchema))),M={expiresAt:s,privateKey:t,proxy:o,secret:$.secret};return Ts(e,M)}async function Kl(e,r){return Xl(r),Ts(e,r)}async function Ts(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:ey(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 $l(e,r){try{return await e.signer.signTypedData(Zl({chainId:e.environment.chainId,...r}))}catch(t){throw j.fromError(t,"Could not sign the Perps proxy credentials request")}}async function Vl(e,r){try{return await e.signer.signTypedData(lt({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw j.fromError(t,"Could not sign the Perps operation request")}}async function Yl(e,r){try{return await e.signer.signTypedData(Jl({account:e.account.signer,chainId:e.environment.chainId,contract:e.environment.contracts.perpsDepositContract,token:e.environment.contracts.collateralToken,to:e.account.wallet,...r}))}catch(t){throw j.fromError(t,"Could not sign the Perps withdrawal request")}}function Jl(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 Zl(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 Ql(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function xs(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function Xl(e){let r=xs(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function ey(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function ry(e){return {kind:"sendPerpsDepositTransaction",request:e}}function kt(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var dy=z.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),Cs=z.enum(["ASC","DESC"]),uy=z.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),my=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:A.default(20),sortBy:dy.optional(),sortDirection:Cs.optional(),title:z.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),ly=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:A.default(20),sortBy:uy.optional(),sortDirection:Cs.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),yy=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),pageSize:A.default(20),status:ComboPositionStatusSchema.optional(),conditionId:ComboConditionIdSchema.optional(),positionId:PositionIdSchema.optional()}),fy=z.object({user:z.string(),market:z.array(z.string()).optional()}),gy=z.object({user:z.string()}),Py=z.object({user:z.string()}),lC=k(e,d,c,b,a);function yC(e,r){let{cursor:t,pageSize:o,...n}=l(r,my);return T(s=>{let a=U(s,o);return e.data.get("/positions",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListPositionsResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var fC=k(e,d,c,b,a),gC=k(e,d,c,b,a);function PC(e,r){let{cursor:t,pageSize:o,...n}=l(r,ly);return T(s=>{let a=U(s,o);return e.data.get("/closed-positions",{params:H({...n,limit:a.pageSize+1,offset:a.offset})}).andThen(y(ListClosedPositionsResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function EC(e,r){let{cursor:t,pageSize:o,...n}=l(r,yy);return T(s=>{let a=U(s,o);return e.data.get("/v1/positions/combos",{params:P({...n,limit:a.pageSize+1,offset:a.offset},h({conditionId:"combo_condition_id",positionId:"combo_position_id"}))}).andThen(y(ListComboPositionsResponseSchema)).map(f=>{let g=f.combos.length>a.pageSize;return {items:f.combos.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var RC=k(e,d,c,b,a);async function hC(e,r){let t=l(r,fy);return unwrap(e.data.get("/value",{params:H(t)}).andThen(y(FetchPortfolioValueResponseSchema)))}var SC=k(e,d,c,b,a);async function TC(e,r){let t=l(r,gy);return unwrap(e.data.get("/traded",{params:H(t)}).andThen(y(TradedSchema)))}var xC=k(e,d,c,b,a);async function CC(e,r){let t=l(r,Py);return unwrap(e.data.get("/v1/accounting/snapshot",{params:H(t)}).andThen(jt))}var qs=32,As=3n,Is=50,Ry=(1n<<256n)-1n;function vt(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[As,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function Os(e){if(e.length===0||e.length>Is)throw new a(`Combo legs must include 1 to ${Is} position IDs`);let r=e.map(t=>{let o=Ls(t),n=o.toString(16).padStart(qs*2,"0"),s=Number.parseInt(n.slice(0,2),16),a$1=Number.parseInt(n.slice(-2),16);if(s!==1&&s!==2||a$1>1)throw new a("Combo legs must be binary or neg-risk YES/NO position IDs");return {value:o,conditionId:n.slice(0,-2)}});r.sort((t,o)=>t.value<o.value?-1:t.value>o.value?1:0);for(let t=1;t<r.length;t+=1){let o=r[t-1],n=r[t];if(o===void 0||n===void 0)throw new a("Invalid combo leg set");if(o.value===n.value)throw new a("Combo legs must not contain duplicate position IDs");if(o.conditionId===n.conditionId)throw new a("Combo legs must not contain both outcomes for the same condition")}return r.map(t=>t.value)}function ws(e){let t=Ls(e).toString(16).padStart(qs*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==As)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 Ls(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>Ry)throw new a("Position ID must be a uint256 value");return t}var Fs=z.object({amount:z.bigint().min(0n),conditionId:CtfConditionIdSchema,metadata:G.optional()}),Sy=z.object({amount:z.bigint().positive(),legs:z.array(PositionIdSchema).min(1).max(50),metadata:G.optional()}),Bs=z.array(PositionIdSchema).min(1).max(50).transform(Os),Ty=z.object({amount:z.bigint().positive(),legs:Bs,metadata:G.optional()}),xy=z.union([Fs.extend({legs:z.never().optional()}),Sy.extend({conditionId:z.never().optional()})]),Us=k(e,d,c,b,a),NC=Us,GC=Us,Ds=k(e,d,c,b,a),KC=Ds,$C=Ds,zs=k(e,d,c,b,a),VC=zs,YC=zs;async function js(e,r){let t=l(r,Fs),o=await wt(e,{conditionId:t.conditionId}),n=Eo(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?_(yield qt(N(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 Hs(e,r){let t=l(r,Ty),o=Wr(e.environment.contracts.combinatorialModule,t.legs),n=vt(t.legs),s=So(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await _(yield qt(N(e.environment.chainId,o))).wait(),_(yield qt(N(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 Cy(e,r){let t=l(r,xy);return t.legs!==void 0?Hs(e,t):js(e,t)}var Ws=k(h$1,e,d,j,f,g,c,b,a),JC=Ws,ZC=Ws;function QC(e,r){return js(e,r).then(W(e.signer))}function XC(e,r){return Hs(e,r).then(W(e.signer))}function ek(e,r){return Cy(e,r).then(W(e.signer))}var _s=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),conditionId:CtfConditionIdSchema,metadata:G.optional()}),ky=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:z.array(PositionIdSchema).min(1).max(50),metadata:G.optional()}),by=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:Bs,metadata:G.optional()}),Iy=z.union([_s.extend({legs:z.never().optional()}),ky.extend({conditionId:z.never().optional()})]);async function Ns(e,r){let t=l(r,_s),o=await wt(e,{conditionId:t.conditionId}),n=jr(await e.rpc.ethCall(zr(o.positionErc1155Address,e.account.wallet,o.tokenIds))),s=Zs(o.conditionId,n,t.amount),a=Ro(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?_(yield At(N(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 Gs(e,r){let t=l(r,by),o=Wr(e.environment.contracts.combinatorialModule,t.legs),n=vt(t.legs),s=jr(await e.rpc.ethCall(zr(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),a=Zs(n.conditionId,s,t.amount),f=To(e.environment.contracts.protocolV2Router,n.conditionId,a);return async function*(){return e.account.walletType===WalletType.EOA?(await _(yield At(N(e.environment.chainId,o))).wait(),_(yield At(N(e.environment.chainId,f)))):yield*await J(e,{calls:[o,f],metadata:t.metadata??`Merge ${a} combo positions for condition ${n.conditionId}`})}.call(null)}async function vy(e,r){let t=l(r,Iy);return t.legs!==void 0?Gs(e,t):Ns(e,t)}var Ks=k(h$1,e,d,j,f,g,c,b,a),rk=Ks,tk=Ks;function ok(e,r){return Ns(e,r).then(W(e.signer))}function nk(e,r){return Gs(e,r).then(W(e.signer))}function sk(e,r){return vy(e,r).then(W(e.signer))}var $s=z.object({conditionId:CtfConditionIdSchema,marketId:z.never().optional(),amount:z.never().optional(),positionId:z.never().optional(),metadata:G.optional()}),Vs=z.object({conditionId:z.never().optional(),marketId:MarketIdSchema,amount:z.never().optional(),positionId:z.never().optional(),metadata:G.optional()}),qy=z.union([$s,Vs]),Ys=z.object({positionId:PositionIdSchema,conditionId:z.never().optional(),marketId:z.never().optional(),metadata:G.optional()}),Ay=z.union([$s,Vs,Ys]);async function Oy(e,r){let t=l(r,qy),o=await wt(e,t.conditionId!==void 0?{conditionId:t.conditionId}:{marketId:t.marketId}),n=ho(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId);return async function*(){return e.account.walletType===WalletType.EOA?_(yield Js(N(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 wy(e,r){let t=l(r,Ys),o=ws(t.positionId),n=go(await e.rpc.ethCall(fo(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Combo position has no balance to redeem");let s=xo(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?_(yield Js(N(e.environment.chainId,s))):yield*await J(e,{calls:[s],metadata:t.metadata??`Redeem combo position ${t.positionId}`})}.call(null)}async function Ly(e,r){let t=l(r,Ay);return t.positionId!==void 0?wy(e,t):Oy(e,t)}var ak=k(h$1,e,d,j,c,b,a);function ik(e,r){return Ly(e,r).then(W(e.signer))}function qt(e){return {kind:"sendSplitPositionTransaction",request:e}}function At(e){return {kind:"sendMergePositionsTransaction",request:e}}function Js(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function wt(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await Xo(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],pageSize:1}:{ids:[My(r.marketId)],pageSize:1}).firstPage(),[n]=o.items;if(n===void 0)throw new a(`No market found for ${t}`);let s=Fy(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 My(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function Fy(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 Zs(e,r,t){let o=By(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 By(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 Hy=z.object({address:z.string()}),gk=k(e,d,c,b,a);async function Pk(e,r){let t=l(r,Hy);return unwrap(e.gamma.get("/public-profile",{params:P(t,h())}).andThen(y(PublicProfileSchema)).orElse(o=>o instanceof d&&o.status===404?ok$1(null):err(o)))}var Lt=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;}},Sk=k(Lt,j,f,c,a),Mt=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;}},Tk=k(Mt,f,c),Ft=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;}},xk=k(Ft,f,c),Ck=k(c);async function kk(e){return e.webSockets.rfqQuoter.connect()}var Xs=(f=>(f.Volume="volume",f.Volume24Hr="volume_24hr",f.Liquidity="liquidity",f.Competitive="competitive",f.ClosedTime="closed_time",f.StartDate="start_date",f.EndDate="end_date",f))(Xs||{}),Ny=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:A.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(Xs).optional()}),Wk=k(e,d,c,b,a);function _k(e,r){let{cursor:t,pageSize:o,...n}=l(r,Ny);return T(s=>{let a=U(s,o);return e.gamma.get("/public-search",{params:P({...n,limitPerType:a.pageSize,page:a.offset},h({excludeTagIds:"exclude_tag_id"}))}).andThen(y(PublicSearchResponseSchema)).map(f=>({items:Gy(f),hasMore:f.pagination?.hasMore??false,totalCount:f.pagination?.totalResults??void 0,nextCursor:f.pagination?.hasMore?F({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??F({offset:1,pageSize:o}),{events:[],profiles:[],tags:[]})}function Gy(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var Jy=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:A.default(20),recurrence:z.enum(["daily","weekly","monthly"]).optional(),slug:z.array(z.string()).optional()}),Zy=z.object({id:z.string(),locale:z.string().optional()}),eb=k(e,d,c,b,a);function rb(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Jy);return T(s=>{let a=U(s,o);return e.gamma.get("/series",{params:P({...n,limit:a.pageSize+1,offset:a.offset},h())}).andThen(y(ListSeriesResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var tb=k(e,d,c,b,a);async function ob(e,r){let t=l(r,Zy);return unwrap(e.gamma.get(`series/${t.id}`,{params:P({locale:t.locale},h())}).andThen(y(SeriesSchema)))}var cb=k(e,d,c,b);async function db(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var ub=k(e,d,c,b);async function mb(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}async function gb(e,r){let t=await Promise.all(r.map(o=>tf(e,o)));return of(t)}function tf(e,r){switch(r.topic){case "market":return e.webSockets.clobMarket.subscribe(r);case "sports":return e.webSockets.sports.subscribe(r);case "comments":case "prices.crypto.binance":case "prices.crypto.chainlink":case "prices.equity.pyth":return e.webSockets.rtds.subscribe(r);case "perps.trades":case "perps.bbo":case "perps.book":case "perps.candles":case "perps.tickers":case "perps.statistics":return e.webSockets.perpsSubscriptions.subscribe(r);case "user":return invariant(e.isSecureClient(),"A 'user' subscription requires a secure client instance."),e.webSockets.clobUser.subscribe(r)}}function of(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=rf(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var af=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:A.default(20)}),pf=z.union([z.object({id:z.string(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),locale:z.string().optional()})]),cf=z.object({id:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),df=z.object({slug:z.string()}),uf=z.object({id:z.string(),locale:z.string().optional(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),mf=z.object({locale:z.string().optional(),slug:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Ib=k(e,d,c,b,a);function vb(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,af);return T(s=>{let a=U(s,o);return e.gamma.get("/tags",{params:P({...n,limit:a.pageSize+1,offset:a.offset},h())}).andThen(y(ListTagsResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var qb=k(e,d,c,b,a);async function Ab(e,r){let t=l(r,pf);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:P({includeTemplate:t.includeTemplate,locale:t.locale},h())}).andThen(y(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:P({locale:t.locale},h())}).andThen(y(TagSchema)))}var Ob=k(e,d,c,b,a);async function wb(e,r){if("id"in r){let o=l(r,cf);return unwrap(e.gamma.get(`tags/${o.id}/related-tags`,{params:P({omitEmpty:o.omitEmpty,status:o.status},h())}).andThen(y(ListRelatedTagsResponseSchema)))}let t=l(r,df);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var Lb=k(e,d,c,b,a);async function Mb(e,r){if("id"in r){let o=l(r,uf);return unwrap(e.gamma.get(`tags/${o.id}/related-tags/tags`,{params:P({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},h())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}let t=l(r,mf);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:P({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},h())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}var ff=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:A.default(20),providerId:z.array(z.number().int()).optional()}),Nb=k(e,d,c,b,a);function Gb(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,ff);return T(s=>{let a=U(s,o);return e.gamma.get("/teams",{params:P({...n,limit:a.pageSize+1,offset:a.offset},h({providerId:"provider_id"}))}).andThen(y(ListTeamsResponseSchema)).map(f=>{let g=f.length>a.pageSize;return {items:f.slice(0,a.pageSize),hasMore:g,nextCursor:g?F({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Pf=z.object({amount:z.bigint(),metadata:G.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),tI=k(a);async function Ef(e,r){let t=l(r,Pf);return async function*(){return e.account.walletType===WalletType.EOA?_(yield Rf(N(e.environment.chainId,Hr(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await J(e,{calls:[Hr(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var oI=k(h$1,e,d,j,c,b,a);function nI(e,r){return Ef(e,r).then(W(e.signer))}function Rf(e){return {kind:"sendErc20TransferTransaction",request:e}}export{eo as $,oE as $a,jR as $b,TT as $c,GC as $d,db as $e,Vg as A,xP as Aa,Ko as Ab,Wh as Ac,Gx as Ad,Ly as Ae,xo as B,ap as Ba,NE as Bb,_h as Bc,Kx as Bd,ak as Be,Yg as C,CP as Ca,GE as Cb,Nh as Cc,$x as Cd,ik as Ce,Wr as D,J as Da,KE as Db,Gh as Dc,Vx as Dd,gk as De,Co as E,kP as Ea,$E as Eb,Kh as Ec,Yx as Ed,Pk as Ee,ko as F,BP as Fa,VE as Fb,eS as Fc,Jx as Fd,Lt as Fe,l as G,Tp as Ga,YE as Gb,rS as Gc,Zx as Gd,Sk as Ge,Wt as H,UP as Ha,JE as Hb,Qr as Hc,Qx as Hd,Mt as He,Df as I,Oo as Ia,ZE as Ib,dS as Ic,Xx as Id,Tk as Ie,Vt as J,DP as Ja,QE as Jb,uS as Jc,Nl as Jd,Ft as Je,Yt as K,Cp as Ka,XE as Kb,Tr as Kc,eC as Kd,xk as Ke,Jt as L,zP as La,eR as Lb,mS as Lc,rC as Ld,Ck as Le,Zf as M,wo as Ma,rR as Mb,hn as Mc,lC as Md,kk as Me,Qf as N,jP as Na,tR as Nb,Sn as Nc,yC as Nd,Xf as O,kp as Oa,oR as Ob,ct as Oc,fC as Od,eg as P,HP as Pa,nR as Pb,gu as Pc,gC as Pd,rg as Q,WP as Qa,sR as Qb,dt as Qc,PC as Qd,tg as R,YP as Ra,gR as Rb,Pu as Rc,EC as Rd,og as S,wp as Sa,PR as Sb,ut as Sc,RC as Sd,ng as T,JP as Ta,ER as Tb,QS as Tc,hC as Td,Xs as Te,sg as U,Lp as Ua,RR as Ub,XS as Uc,SC as Ud,Wk as Ue,ag as V,ZP as Va,hR as Vb,eT as Vc,TC as Vd,_k as Ve,ig as W,QP as Wa,SR as Wb,rT as Wc,xC as Wd,eb as We,pg as X,XP as Xa,BR as Xb,RT as Xc,CC as Xd,rb as Xe,cg as Y,eE as Ya,UR as Yb,hu as Yc,tb as Ye,Ur as Z,rE as Za,DR as Zb,hT as Zc,Us as Zd,ob as Ze,dg as _,tE as _a,zR as _b,ST as _c,NC as _d,cb as _e,Y as a,ug as aa,nE as ab,HR as ac,Su as ad,Ds as ae,ub as af,jg as b,mg as ba,sE as bb,WR as bc,xT as bd,KC as be,mb as bf,cr as c,lg as ca,aE as cb,_R as cc,CT as cd,$C as ce,gb as cf,uo as d,yg as da,iE as db,eh as dc,xr as dd,zs as de,Ib as df,mo as e,fg as ea,pE as eb,rh as ec,Mn as ed,VC as ee,vb as ef,dr as f,gg as fa,EE as fb,th as fc,Fn as fd,YC as fe,qb as ff,lo as g,Pg as ga,RE as gb,oh as gc,Bn as gd,js as ge,Ab as gf,yo as h,Eg as ha,AE as hb,nh as hc,Cr as hd,Hs as he,Ob as hf,fo as i,Rg as ia,OE as ib,sh as ic,kr as id,Cy as ie,wb as if,go as j,hg as ja,wE as jb,Rh as jc,br as jd,Ws as je,Lb as jf,zr as k,Sg as ka,LE as kb,Xo as kc,is as kd,JC as ke,Mb as kf,jr as l,Tg as la,ME as lb,hh as lc,ys as ld,ZC as le,Nb as lf,Hg as m,wg as ma,Fe as mb,Sh as mc,wx as md,QC as me,Gb as mf,Hr as n,Lg as na,FE as nb,Th as nc,Lx as nd,XC as ne,tI as nf,Wg as o,Mg as oa,Be as ob,xh as oc,Mx as od,ek as oe,Ef as of,Po as p,Fg as pa,BE as pb,Ch as pc,Fx as pd,Ns as pe,oI as pf,_g as q,Xg as qa,_o as qb,kh as qc,Bx as qd,Gs as qe,nI as qf,Ng as r,_ as ra,UE as rb,bh as rc,gl as rd,vy as re,Eo as s,nP as sa,No as sb,Ih as sc,Ux as sd,Ks as se,Gg as t,bo as ta,DE as tb,vh as tc,Dx as td,rk as te,Ro as u,RP as ua,Go as ub,qh as uc,zx as ud,tk as ue,ho as v,$r as va,zE as vb,Ah as vc,jx as vd,ok as ve,Kg as w,hP as wa,jE as wb,Oh as wc,Hx as wd,nk as we,So as x,SP as xa,HE as xb,zh as xc,Wx as xd,sk as xe,$g as y,G as ya,WE as yb,jh as yc,_x as yd,Oy as ye,To as z,TP as za,_E as zb,Hh as zc,Nx as zd,wy as ze};//# sourceMappingURL=chunk-YMXQJO42.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-YMXQJO42.js.map
|