@polymarket/client 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.d.ts +12 -12
- package/dist/actions/index.js +1 -1
- package/dist/chunk-LGU5PMHE.js +3 -0
- package/dist/chunk-LGU5PMHE.js.map +1 -0
- package/dist/ethers-v5.d.ts +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/{sports-B_JL_y8H.d.ts → sports-D5M6XUZP.d.ts} +11 -11
- package/dist/{types-MSQcyDVD.d.ts → types-BqK8Y3G5.d.ts} +918 -620
- package/dist/viem.d.ts +1 -1
- package/package.json +2 -2
- package/dist/chunk-VY7OIGFI.js +0 -3
- package/dist/chunk-VY7OIGFI.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-BqK8Y3G5.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.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "The Polymarket TypeScript client",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"ky": "^1.14.3",
|
|
94
94
|
"ox": "^0.14.16",
|
|
95
95
|
"zod": "^4.3.6",
|
|
96
|
-
"@polymarket/bindings": "0.
|
|
96
|
+
"@polymarket/bindings": "0.10.0",
|
|
97
97
|
"@polymarket/types": "0.2.0"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
package/dist/chunk-VY7OIGFI.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import {o,h as h$1,g,n,c,b,a,i,j,k,l,m as m$1,e}from'./chunk-DLZLJOGO.js';import {PaginationCursorSchema,ComboConditionIdSchema,TransactionIdSchema,EvmAddressSchema,BuilderCodeSchema,ConditionIdSchema,CommentParentEntityTypeSchema,EventIdSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,PositionIdSchema,ClobAssetIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,OrderSideSchema,TxHashSchema,MarketIdSchema,toPositionId,toBaseUnits,toRfqId,toRfqQuoteId,toBuilderCode,SessionSignerKnownScope,SessionSignerScopeSchema,TradeStatus,toPaginationCursor,toDecimalString,toComboConditionId,toConditionId}from'@polymarket/bindings';export{SessionSignerKnownScope as Vf}from'@polymarket/bindings';import {AssetTypeSchema,PriceHistoryIntervalSchema,SignatureType,AssetType,ClosedOnlyModeSchema,OpenOrdersPageSchema,END_CURSOR,OpenOrderSchema,ClobTradesPageSchema,NotificationsResponseSchema,BalanceAllowanceResponseSchema,OrderScoringResponseSchema,OrdersScoringResponseSchema,UserEarningsPageSchema,TotalUserEarningsResponseSchema,UserRewardsEarningsPageSchema,RewardsPercentagesSchema,ApiKeyCredsSchema,ApiKeysResponseSchema,BuilderApiKeyCredsSchema,BuilderApiKeysResponseSchema,PaginatedBuilderTradesSchema,MidpointSchema,MidpointsSchema,FetchTickSizeResponseSchema,FetchNegRiskResponseSchema,ResolveConditionByTokenResponseSchema,FetchMarketInfoResponseSchema,FetchBuilderFeeRatesResponseSchema,PriceSchema,PricesSchema,FetchOrderBookResponseSchema,OrderBooksSchema,SpreadSchema,SpreadsSchema,LastTradePriceSchema,LastTradePricesSchema,PriceHistorySchema,PaginatedCurrentRewardsSchema,PaginatedMarketRewardsSchema,CancelOrdersResponseSchema,OrderResponseSchema,OrderResponsesSchema,ActiveSessionSignersResponseSchema}from'@polymarket/bindings/clob';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,isSameEvmAddress,ZERO_ADDRESS,PolymarketError,expectHexString,unwrap,invariant,delay,expectEvmSignature,expectErc1271Signature,ResultAsync,setNonBlockingInterval,setNonBlockingTimeout,expectPrivateKey,isPresent,ok,err,expectPresent,expectSessionSignerSignature}from'@polymarket/types';import {z as z$1}from'zod';import {WalletType,SeriesIdSchema,MarketClarificationState,ListCommentsResponseSchema,ListEventsKeysetResponseSchema,EventSchema,FetchEventTagsResponseSchema,ListMarketClarificationsResponseSchema,ListMarketsKeysetResponseSchema,FetchMarketTagsResponseSchema,MarketSchema,PublicProfileSchema,PublicSearchResponseSchema,ListSeriesResponseSchema,SeriesSchema,ListSportsMetadataResponseSchema,SportsMarketTypesResponseSchema,ListTagsResponseSchema,TagSchema,ListRelatedTagsResponseSchema,ListRelatedTagResourcesResponseSchema,ListTeamsResponseSchema}from'@polymarket/bindings/gamma';import {AbiFunction,Hash,Bytes,AbiParameters,ContractAddress,TypedData,Secp256k1,Address,Signature}from'ox';import En from'ky';import {SideSchema,ActivityTypeSchema,TimePeriodSchema,LeaderboardOrderBySchema,LeaderboardCategorySchema,ComboPositionStatusSchema,ListTradesResponseSchema,ListActivityResponseSchema,ListComboActivityResponseSchema,FetchEventLiveVolumeResponseSchema,ListBuilderLeaderboardResponseSchema,ListBuilderVolumeResponseSchema,ListTraderLeaderboardResponseSchema,ListMarketHoldersResponseSchema,ListOpenInterestResponseSchema,ListMarketPositionsResponseSchema,ListPositionsResponseSchema,ListClosedPositionsResponseSchema,ListComboPositionsResponseSchema,FetchPortfolioValueResponseSchema,TradedSchema}from'@polymarket/bindings/data';export{ComboPositionOutcome as Ee,ComboPositionStatus as Fe,ComboActivityType as va}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerAuthorizeSessionSignerStatus,RelayerRevokeSessionSignerStatus,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema,RelayerAuthorizeSessionSignerResponseSchema,RelayerRevokeSessionSignerResponseSchema}from'@polymarket/bindings/relayer';import {CollateralReturnPlanSchema,RfqRejectionCode,RfqSide,RfqRequestedSizeUnit,RfqDirection,RfqKnownErrorCode,ComboQuoteUnavailableReason,RfqStatus,ComboAcceptFailureReason,RfqExecutionStatus,CollateralReturnPlanResponseSchema,ListComboMarketsResponseSchema,BuilderRfqCreateResponseSchema,BuilderRfqStatusResponseSchema}from'@polymarket/bindings/combos';export{ComboAcceptFailureReason as Ef,ComboQuoteUnavailableReason as Ff,RfqConfirmationDecision as Gf,RfqDirection as Hf,RfqExecutionStatus as If,RfqKnownErrorCode as Jf,RfqRejectionCode as Kf,RfqRequestedSizeUnit as Lf,RfqSide as Mf,RfqStatus as Nf,CollateralReturnKnownOperationKind as kc}from'@polymarket/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsPostOrderAckSchema,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelOrderResultSchema,PerpsCancelAllOrdersResponseSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAutoCancelStatusResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,PerpsAutoCancelResponseSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsCreateProxyResponseSchema,PerpsCredentialsResponseSchema}from'@polymarket/bindings/perps';import {encode}from'@msgpack/msgpack';import {PerpsNotificationsResyncFrameSchema,PerpsSessionUpdateEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import eS from'it-merge';function m(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var A=z$1.number().int().positive(),Pn=z$1.object({offset:z$1.number().int().min(0),pageSize:A});function C(e,r,t=[]){function o(){return {async firstPage(){return {items:t,hasMore:false}},from(){return o()},async*[Symbol.asyncIterator](){}}}function n(s=r){return {firstPage(){return unwrap(e(s))},from(a){return a===void 0?o():n(a)},async*[Symbol.asyncIterator](){let a=s;for(;;){let l=await unwrap(e(a));if(yield l,!l.hasMore)return;a=l.nextCursor;}}}}return n()}function z(e){return toPaginationCursor(btoa(JSON.stringify(Pn.parse(e))))}function _(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return Pn.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=>rc(t.url,e,o))}}function Rn(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function rc(e,r,t){let o=r.safeParse(t);return o.success?ok(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var Sn=class{#e;constructor({url:r}){this.#e=r;}async ethCall(r){let t=await this.#o({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:r.to,data:r.data},"latest"]});if("error"in t)throw new g(`JSON-RPC eth_call failed: ${t.error.message}`,{cause:t.error,status:200});if(typeof t.result!="string")throw new b("Expected JSON-RPC eth_call result to be a hex string");if(!kn(t.result))throw new b("Expected JSON-RPC eth_call result to be a hex string");return t.result}async ethCallBatch(r){return r.length===0?[]:this.#r(r)}async ethEstimateGas(r){let t={to:r.to};r.data!==void 0&&(t.data=r.data),r.from!==void 0&&(t.from=r.from),r.gasPrice!==void 0&&(t.gasPrice=xn(r.gasPrice)),r.value!==void 0&&(t.value=xn(r.value));let o=await this.#o({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[t]});if("error"in o)throw new g(`JSON-RPC eth_estimateGas failed: ${o.error.message}`,{cause:o.error,status:200});return BigInt(Tn(o.result,"eth_estimateGas"))}async#r(r){if(r.length===1)return [await this.ethCall(r[0])];try{return await this.#t(r)}catch(t){if(!(t instanceof g)||t.status<500)throw t;let o=Math.ceil(r.length/2),[n,s]=await Promise.all([this.#r(r.slice(0,o)),this.#r(r.slice(o))]);return [...n,...s]}}async#t(r){let t=await this.#s(r.map((n,s)=>({jsonrpc:"2.0",id:s+1,method:"eth_call",params:[{to:n.to,data:n.data},"latest"]}))),o=new Map;for(let n of t){if("error"in n&&n.id===null)throw new g(`JSON-RPC eth_call failed: ${n.error.message}`,{cause:n.error,status:200});n.id!==null&&o.set(n.id,n);}return r.map((n,s)=>{let a=s+1,l=o.get(a);if(l===void 0)throw new b("Expected JSON-RPC batch response for every request");if("error"in l)throw new g(`JSON-RPC eth_call failed: ${l.error.message}`,{cause:l.error,status:200});return Tn(l.result)})}async#o(r){let t;try{t=await En.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new g(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!hn(o))throw new b("Unexpected JSON-RPC response shape");return o}async#s(r){let t;try{t=await En.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new g(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!Array.isArray(o)||!o.every(n=>hn(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function Cn(e){if(!(e instanceof g)||!In(e.cause))return false;let r=[e.cause.message,tc(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 hn(e){return !bn(e)||e.jsonrpc!=="2.0"?false:"error"in e?In(e.error):"result"in e}function In(e){return bn(e)&&typeof e.code=="number"&&typeof e.message=="string"}function bn(e){return typeof e=="object"&&e!==null}function kn(e){return /^0x[a-fA-F0-9]*$/.test(e)}function Tn(e,r="eth_call"){if(typeof e!="string"||!kn(e))throw new b(`Expected JSON-RPC ${r} result to be a hex string`);return e}function xn(e){return `0x${e.toString(16)}`}function tc(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}var vn=(t=>(t.OWNER="OWNER",t.SESSION_KEY="SESSION_KEY",t))(vn||{}),nc="0x0000000000000000000000000000000000000000000000000000000000000000",sc="0x6492649264926492649264926492649264926492649264926492649264926492";function DS(e,r,t){let o=Cc(e,r,t);return {signer:r,wallet:t,...o}}function ye(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 mr(e){let r=ye(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}function Ye(e,r){return e.signerType==="OWNER"?r:ac(e.signer,r)}function ac(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),o=AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes"}],[t,nc,r]);return expectSessionSignerSignature(`${o}${sc.slice(2)}`)}var ic="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function pc(e){let r=ic.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function cc(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:pc(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function dc(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var uc="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",lc="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",mc=0x61003d3d8160233d3973n;function qn(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:Ec(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var fc="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",yc="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",Pc="0x60195155f3363d3d373d3d363d602036600436635c60da",gc=0x6100523d8160233d3973n,Rc="0x49493a4d";function An(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:Sc(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function Ec(e,r){let t=BigInt((r.length-2)/2),o=mc+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(lc),Bytes.fromHex(uc),Bytes.fromHex(r)),{as:"Hex"}))}function Sc(e,r){let t=BigInt((r.length-2)/2),o=gc+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(Pc),Bytes.fromHex(yc),Bytes.fromHex(fc),Bytes.fromHex(r)),{as:"Hex"}))}async function hc(e,r){try{let t=await e.ethCall({to:r,data:Rc});return xc(t)}catch(t){if(Cn(t))return ZERO_ADDRESS;throw t}}async function Tc(e,r){let t=await hc(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function On(e,r,t){return await Tc(e,t.depositWalletFactory)?An(r,t):qn(r,t)}function xc(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Cc(e,r,t){if(isSameEvmAddress(t,r))return {signerType:"OWNER",walletType:WalletType.EOA};let o=e.walletDerivation;return isSameEvmAddress(t,An(r,o))?{signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET}:isSameEvmAddress(t,qn(r,o))?{signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET}:isSameEvmAddress(t,dc(r,o))?{signerType:"OWNER",walletType:WalletType.GNOSIS_SAFE}:isSameEvmAddress(t,cc(r,o))?{signerType:"OWNER",walletType:WalletType.POLY_PROXY}:{signerType:"SESSION_KEY",walletType:WalletType.DEPOSIT_WALLET}}var wn=z$1.string().transform(e=>e);function J(e){return z$1.union([z$1.object({...e,assetId:wn,tokenId:z$1.never().optional()}),z$1.object({...e,assetId:z$1.never().optional(),tokenId:z$1.string()})])}function Te(e){return z$1.union([z$1.object({...e,assetId:wn.optional(),tokenId:z$1.never().optional()}),z$1.object({...e,assetId:z$1.never().optional(),tokenId:z$1.string().optional()})])}function R(e,r){if(Ic(r))return bc(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(Ln(s)){for(let a of s)t.append(n,Qe(a));continue}t.append(n,Qe(s));}}return t}function h(e={}){return {format:"snake_case",exceptions:e}}function G(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(Qe).join(","));continue}r.append(t,Qe(o));}return r}function Ic(e){return "format"in e}function bc(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??kc(o);if(Ln(n)){for(let a of n)t.append(s,Qe(a));continue}t.append(s,Qe(n));}return t}function Ln(e){return Array.isArray(e)}function kc(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function Qe(e){return String(e)}var eh=o(h$1,g,n,c,b);async function rh(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var Wc=z$1.object({cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),market:z$1.string().optional()}),jc=Te(Wc.shape).default({}),th=o(h$1,g,n,c,b,a);function oh(e,r){let t=m(r,jc),{cursor:o}=t;return C(n=>e.secureClob.get("/data/orders",{params:R({assetId:t.assetId??t.tokenId,id:t.id,market:t.market,nextCursor:n},h({assetId:"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)})),o)}var Hc=z$1.object({orderId:z$1.string()}),nh=o(h$1,g,n,c,b,a);async function sh(e,r){let t=m(r,Hc);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var Nc={after:z$1.string().optional(),before:z$1.string().optional(),cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),makerAddress:z$1.string().optional(),market:z$1.string().optional()},Kc=Te(Nc).default({}),ah=o(h$1,g,n,c,b,a);function Mn(e,r){let t=m(r,Kc),{cursor:o}=t;return C(n=>e.secureClob.get("/data/trades",{params:R({after:t.after,assetId:t.assetId??t.tokenId,before:t.before,id:t.id,makerAddress:t.makerAddress,market:t.market,nextCursor:n},h({assetId:"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)})),o)}var ih=o(h$1,g,n,c,b),Gc=z$1.object({ids:z$1.array(z$1.string()).min(1)});async function ph(e){let r=ye(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:R({signatureType:r},h())}).andThen(y(NotificationsResponseSchema)))}var ch=o(h$1,g,n,c,b,a);async function dh(e,r){let t=m(r,Gc),o=ye(e.account.walletType),n=R({ids:t.ids.join(","),signatureType:o},h());await unwrap(e.secureClob.del("/notifications",{params:n}));}var Fn=z$1.object({assetType:AssetTypeSchema}),$c=Te(Fn.shape),uh=o(h$1,g,n,c,b,a);async function vt(e,r){let t=m(r,$c),o=ye(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:R({assetType:t.assetType,tokenId:t.assetId??t.tokenId,signatureType:o},h())}).andThen(y(BalanceAllowanceResponseSchema)))}var Vc=Te(Fn.shape),lh=o(h$1,g,n,c,b,a);async function Bn(e,r){let t=m(r,Vc),o=ye(e.account.walletType),n=R({assetType:t.assetType,tokenId:t.assetId??t.tokenId,signatureType:o},h());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),vt(e,t)}var Yc=z$1.object({orderId:z$1.string()}),mh=o(h$1,g,n,c,b,a);async function fh(e,r){let t=m(r,Yc);return (await unwrap(e.secureClob.get("/order-scoring",{params:R(t,h())}).andThen(y(OrderScoringResponseSchema)))).scoring}var Qc=z$1.object({orderIds:z$1.array(z$1.string())}),yh=o(h$1,g,n,c,b,a);async function Ph(e,r){let o=m(r,Qc).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(y(OrdersScoringResponseSchema)))}var Un=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string()}),gh=o(h$1,g,n,c,b,a);function Rh(e,r){let{cursor:t,...o}=m(r,Un),n=ye(e.account.walletType);return C(s=>e.secureClob.get("/rewards/user",{params:R({...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)})),t)}var Eh=o(h$1,g,n,c,b,a);async function Sh(e,r){let t=m(r,Un),o=ye(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:R({...t,signatureType:o},h())}).andThen(y(TotalUserEarningsResponseSchema)))}var Zc=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string(),noCompetition:z$1.boolean().optional(),orderBy:z$1.string().optional(),pageSize:A.max(500).default(100),position:z$1.string().optional()}),hh=o(h$1,g,n,c,b,a);function Th(e,r){let{cursor:t,...o}=m(r,Zc),n=ye(e.account.walletType);return C(s=>e.secureClob.get("/rewards/user/markets",{params:R({...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)})),t)}var xh=o(h$1,g,n,c,b);async function Ch(e){let r=ye(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:R({signatureType:r},h())}).andThen(y(RewardsPercentagesSchema)))}var td=z$1.enum(["CASH","TOKENS"]),od=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:A.max(1e4).default(20),takerOnly:z$1.boolean().optional(),filterType:td.optional(),filterAmount:z$1.number().optional(),market:z$1.array(z$1.string()).optional(),eventId:z$1.array(z$1.number().int()).optional(),user:z$1.string().optional(),side:SideSchema.optional(),start:z$1.number().int().min(0).optional(),end:z$1.number().int().min(0).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}).refine(e=>e.filterType===void 0==(e.filterAmount===void 0),{message:"Provide filterType and filterAmount together",path:["filterAmount"]}),Mh=o(h$1,g,c,b,a);function Fh(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,od);return C(s=>{let a=_(s,o);return e.data.get("/trades",{params:G({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListTradesResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var nd=z$1.enum(["TIMESTAMP","TOKENS","CASH"]),sd=z$1.enum(["ASC","DESC"]),ad=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:A.max(500).default(20),user:z$1.string(),market:z$1.array(z$1.string()).optional(),eventId:z$1.array(z$1.number().int()).optional(),type:z$1.array(ActivityTypeSchema).optional(),start:z$1.number().int().min(0).optional(),end:z$1.number().int().min(0).optional(),sortBy:nd.optional(),sortDirection:sd.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),Bh=o(h$1,g,c,b,a);function Uh(e,r){let{cursor:t,pageSize:o,...n}=m(r,ad);return C(s=>{let a=_(s,o);return e.data.get("/activity",{params:G({...n,excludeDepositsWithdrawals:false,limit:a.pageSize,offset:a.offset})}).andThen(y(ListActivityResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var id=z$1.union([ComboConditionIdSchema,z$1.array(ComboConditionIdSchema)]),pd=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:A.default(50),user:z$1.string(),conditionId:id.optional()}),Dh=o(h$1,g,c,b,a);function zh(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=m(r,pd);return C(a=>{let l=R({...s,limit:o,cursor:a},h());return cd(l,n),e.data.get("/v1/activity/combos",{params:l}).andThen(y(ListComboActivityResponseSchema)).map(P=>{let x=P.pagination.nextCursor??void 0;return {items:P.activity,hasMore:x!==void 0,nextCursor:x}})},t)}function cd(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var ud=64,ld=/^0x[0-9a-fA-F]{62}$/,md=/^0x[0-9a-fA-F]{64}$/,At="0x0000000000000000000000000000000000000000000000000000000000000000",fd=AbiFunction.from("function approve(address spender, uint256 amount)"),Wn=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),yd=AbiFunction.from("function transfer(address recipient, uint256 amount)"),Pd=AbiFunction.from("function authorizeSessionSigner(address sessionSigner, uint256 validUntil)"),gd=AbiFunction.from("function revokeSessionSigner(address sessionSigner)"),Rd=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),Ed=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),jn=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),Hn=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),Nn=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),Sd=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),hd=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Td=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),xd=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),Cd=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Id=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),bd=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),kd=AbiFunction.from("function multiSend(bytes)"),vd=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),Kn=[1n,2n],qd=[1n,2n],re=(1n<<256n)-1n,Gh=o(a);function Dr(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>re)throw new a("Approval amount exceeds uint256 range");return {data:Ad(r,t),to:e}}function Gn(e,r,t){return {data:AbiFunction.encodeData(Wn,[r,t]),to:e}}function $n(e){return AbiFunction.decodeResult(Wn,e)}function zr(e,r,t){return {data:Od(r,t),to:e}}function Vn(e,r,t){return {data:AbiFunction.encodeData(jn,[r,t]),to:e}}function Yn(e){return AbiFunction.decodeResult(jn,e)}function Qn(e,r,t){return {data:AbiFunction.encodeData(Hn,[r,ge(BigInt(t),"Position ID")]),to:e}}function Zn(e){return AbiFunction.decodeResult(Hn,e)}function _r(e,r,t){return {data:AbiFunction.encodeData(Nn,[t.map(()=>r),t.map(o=>ge(BigInt(o),"id"))]),to:e}}function Wr(e){return AbiFunction.decodeResult(Nn,e)}var $h=o(a);function Ot(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>re)throw new a("Transfer amount exceeds uint256 range");return {data:wd(r,t),to:e}}function Jn(e,r,t){return {data:AbiFunction.encodeData(Pd,[r,ge(t,"Session key expiry")]),to:e}}function Xn(e,r){return {data:AbiFunction.encodeData(gd,[r]),to:e}}var Vh=o(a);function es(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(Rd,[r,ge(t,"Perps deposit amount"),o]),to:e}}var Yh=o(a);function rs(e,r,t,o){return {data:Ld(r,t,o),to:e}}var Qh=o(a);function ts(e,r,t,o){return {data:Md(r,t,o),to:e}}var Zh=o(a);function os(e,r,t){return {data:Fd(r,t),to:e}}var Jh=o(a);function wt(e,r,t){return {data:AbiFunction.encodeData(xd,[Ft(r),ge(t,"Split amount")]),to:e}}var Xh=o(a);function Lt(e,r,t){return {data:AbiFunction.encodeData(Cd,[Ft(r),ge(t,"Merge amount")]),to:e}}var eT=o(a);function jr(e,r,t,o){return {data:AbiFunction.encodeData(Id,[Ft(r),BigInt(Bd(t)),ge(o,"Redeem amount")]),to:e}}var rT=o(a);function Mt(e,r){return {data:AbiFunction.encodeData(bd,[r.map(t=>ge(t,"Leg position ID"))]),to:e}}function Ad(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(fd,[e,r])}function Od(e,r){return AbiFunction.encodeData(Ed,[e,r])}function wd(e,r){return AbiFunction.encodeData(yd,[e,r])}function Ld(e,r,t){return AbiFunction.encodeData(Sd,[e,At,r,Kn,ge(t,"Split amount")])}function Md(e,r,t){return AbiFunction.encodeData(hd,[e,At,r,Kn,ge(t,"Merge amount")])}function Fd(e,r){return AbiFunction.encodeData(Td,[e,At,r,qd])}function ge(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>re)throw new a(`${r} exceeds uint256 range`);return e}function Ft(e){if(ld.test(e))return e.toLowerCase();if(md.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,ud)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function Bd(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function ns(e){return AbiFunction.encodeData(vd,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function ss(e){let r=e.map(t=>Ud(t));return AbiFunction.encodeData(kd,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function Ud(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 sT=o(h$1,g,i,j,c,b,a);function $(e,r="Expected a TransactionHandle"){return invariant(typeof e=="object"&&e!==null&&"transactionHash"in e&&"transactionId"in e&&"wait"in e&&typeof e.wait=="function",r),e}o(k,n);o(k,n);function dT(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 as(){return {kind:"requestAddress"}}function V(e,r){return {chainId:e,...r}}var Qd=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Zd=[{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"}],Jd="DepositWallet",Xd="1",eu=600,ru=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],tu=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],ou=z$1.object({address:z$1.string(),type:z$1.enum(RelayerTransactionType)}),IT=o(h$1,g,c,b,a);async function Dt(e,r){let t=m(r,ou);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:R(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var nu=z$1.object({transactionId:TransactionIdSchema}),su=z$1.object({wallet:EvmAddressSchema,type:z$1.enum(WalletType)}),bT=o(h$1,g,c,b,a);async function kT(e,r){let t=await au(e,r);return t.type===WalletType.EOA?false:unwrap(e.relayer.get("/deployed",{params:R({address:t.wallet,type:t.type===WalletType.DEPOSIT_WALLET?RelayerTransactionType.WALLET:void 0},{address:"address",type:"type"})}).andThen(y(RelayerDeployedResponseSchema)).map(({deployed:o})=>o))}async function au(e,r){if(r!==void 0)return m(r,su);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 On(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var Q=z$1.string().max(500),is=10,vT=o(h$1,g,c,b,a);async function qT(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),fr(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function iu(e,r){let t=m(r,nu);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var pu=z$1.object({data:z$1.custom(isHexString),to:EvmAddressSchema,value:z$1.bigint().optional()}),cu=z$1.object({calls:z$1.array(pu).min(1).transform(e=>expectNonEmptyArray(e)),metadata:Q}),AT=o(h$1,g,c,b,a);async function X(e,r){let t=m(r,cu);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 as());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=is;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*du(e,t);case WalletType.DEPOSIT_WALLET:return yield*uu(e,t);case WalletType.GNOSIS_SAFE:return yield*lu(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!Ht(s)||n===is)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*du(e,r){let t=yield*zt(e,r.calls,r.metadata);return fr(e,t)}async function*zt(e,r,t){let o=await Dt(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),n=e.environment.walletDerivation.proxyFactory,s=ns(r),a="0",l="0",P=(await e.rpc.ethEstimateGas({data:s,from:e.account.signer,to:n})).toString(),x=e.environment.contracts.relayHub,I=o.address,j=Pu(e.account.signer,n,s,a,l,P,o.nonce,x,I),B=expectEvmSignature(yield ls(j));return {data:s,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:B,signatureParams:{gasLimit:P,gasPrice:l,relay:I,relayHub:x,relayerFee:a},to:n,type:RelayerTransactionType.PROXY}}function _t(e){return !(e instanceof g)||e.status!==400?void 0:/batch nonce\s+\d+\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message)?.[1]}async function*uu(e,r){let t=yield*Je(e,r.calls,r.metadata);try{return await fr(e,t)}catch(o){let n=_t(o);if(n===void 0)throw o;let s=yield*Wt(e,t,r.calls,n);return fr(e,s)}}async function*Je(e,r,t){let o=await Dt(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),n=r.map(ds),s=`${Math.floor(Date.now()/1e3)+eu}`,a=Ye(e.account,expectEvmSignature(yield ms(us({calls:n,chainId:e.environment.chainId,deadline:s,nonce:o.nonce,wallet:e.account.wallet}))));return {depositWalletParams:{calls:n,deadline:s,depositWallet:e.account.wallet},from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,signature:a,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET}}async function*Wt(e,r,t,o){let n=Ye(e.account,expectEvmSignature(yield ms(us({calls:t.map(ds),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:o,wallet:e.account.wallet}))));return {...r,nonce:o,signature:n}}async function*lu(e,r){let t=yield*jt(e,r.calls,r.metadata);return fr(e,t)}async function*jt(e,r,t){let o=await Dt(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),n=mu(r,e.environment.contracts.safeMultisend),s=yu({chainId:e.environment.chainId,data:n.data,nonce:o.nonce,operation:n.operation,safeAddress:e.account.wallet,to:n.to,value:n.value}),a=expectEvmSignature(yield ls(expectHexString(TypedData.getSignPayload(s))));return {data:n.data,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:gu(a),signatureParams:fu(n.operation),to:n.to,type:RelayerTransactionType.SAFE,value:n.value>0n?`${n.value}`:void 0}}async function fr(e,r){let t=m(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new Fe(e,o)}function Ht(e){if(e instanceof h$1)return true;if(!(e instanceof g)||e.status!==400)return false;if(/wallet busy/i.test(e.message)&&/active action/i.test(e.message)||/wallet has in-flight action/i.test(e.message))return true;let r=/batch nonce\s+(\d+)\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message);if(r===null)return false;let t=r[1],o=r[2];return t===void 0||o===void 0?false:BigInt(t)<BigInt(o)}function ds(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function us(e){return {domain:{chainId:e.chainId,name:Jd,verifyingContract:e.wallet,version:Xd},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:tu,Call:ru}}}function mu(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:ss(e),operation:1,to:r,value:0n}}function fu(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function yu(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:Qd,SafeTx:Zd}}}function ls(e){return {kind:"signGaslessMessage",payload:e}}function ms(e){return {kind:"signGaslessTypedData",payload:e}}function Pu(e,r,t,o,n,s,a,l,P){return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromString("rlx:"),Bytes.fromHex(e),Bytes.fromHex(r),Bytes.fromHex(t),Bytes.fromNumber(BigInt(o),{size:32}),Bytes.fromNumber(BigInt(n),{size:32}),Bytes.fromNumber(BigInt(s),{size:32}),Bytes.fromNumber(BigInt(a),{size:32}),Bytes.fromHex(l),Bytes.fromHex(P)),{as:"Hex"}))}function gu(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 OT=o(h$1,g,c,b,a,i,j),Fe=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 iu(this.#e,{transactionId:this.transactionId});if(t.state===RelayerTransactionState.STATE_CONFIRMED){let o=t.transactionHash??this.transactionHash;if(o===null)throw new b("Expected submitted transaction to have a transaction hash once settled");return {transactionHash:o,transactionId:t.transactionId}}if(t.state===RelayerTransactionState.STATE_FAILED||t.state===RelayerTransactionState.STATE_INVALID)throw new j(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#e.environment.relayerPollFrequencyMs);}throw new i(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var Ru=z$1.object({amount:z$1.union([z$1.bigint(),z$1.literal("max")]),metadata:Q.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),jT=o(a);async function Eu(e,r){let t=m(r,Ru),o=t.amount==="max"?re:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?$(yield gs(V(e.environment.chainId,Dr(t.tokenAddress,t.spenderAddress,o)))):yield*await X(e,{calls:[Dr(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var HT=o(k,h$1,g,n,c,b,a);function fs(e,r){return Eu(e,r).then(W(e.signer))}var Su=z$1.object({approved:z$1.boolean().default(true),metadata:Q.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),NT=o(a);async function hu(e,r){let t=m(r,Su);return async function*(){return e.account.walletType===WalletType.EOA?$(yield Rs(V(e.environment.chainId,zr(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await X(e,{calls:[zr(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var KT=o(k,h$1,g,n,c,b,a);function ys(e,r){return hu(e,r).then(W(e.signer))}var GT=o(g,c,b,a),Tu=z$1.object({user:EvmAddressSchema}),$T=o(g,c,b,a);async function VT(e,r){let{user:t}=m(r,Tu),o=await Ps(e,t);return {isFullyApproved:o.erc20.length===0&&o.erc1155.length===0,missing:o}}async function xu(e){let r=await Ps(e,e.account.wallet),t=r.erc20.map(n=>Dr(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>zr(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 gs(V(e.environment.chainId,s))).wait();for(let s of o)await $(yield Rs(V(e.environment.chainId,s))).wait();return}await(yield*await X(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var YT=o(k,h$1,g,n,i,j,c,b,a);function QT(e){return xu(e).then(W(e.signer)).then(()=>{})}async function Ps(e,r){let t=Cu(e),o=[...t.erc20.map(l=>Gn(l.tokenAddress,r,l.spenderAddress)),...t.erc1155.map(l=>Vn(l.tokenAddress,r,l.operatorAddress))],n=await e.rpc.ethCallBatch(o),s=n.slice(0,t.erc20.length),a=n.slice(t.erc20.length);try{return {erc20:t.erc20.filter((l,P)=>$n(s[P])<l.amount),erc1155:t.erc1155.filter((l,P)=>!Yn(a[P]))}}catch(l){throw new b("Expected JSON-RPC approval checks to return ABI-encoded values",{cause:l})}}function Cu(e){let{contracts:r}=e.environment;return {erc20:[{amount:re,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:re,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken},{amount:re,spenderAddress:r.collateralAdapter,tokenAddress:r.collateralToken},{amount:re,spenderAddress:r.negRiskCollateralAdapter,tokenAddress:r.collateralToken},{amount:re,spenderAddress:r.protocolV2Router,tokenAddress:r.collateralToken},{amount:re,spenderAddress:r.exchangeV3,tokenAddress:r.collateralToken},{amount:re,spenderAddress:r.perpsDepositContract,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.collateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskCollateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.conditionalTokens},{operatorAddress:r.binaryModule,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskModule,tokenAddress:r.conditionalTokens},{operatorAddress:r.protocolV2Router,tokenAddress:r.positionManager},{operatorAddress:r.exchangeV3,tokenAddress:r.positionManager},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.positionManager}]}}function gs(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function Rs(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var ox=o(h$1,g,c,b);async function vu(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:hs(r)}).andThen(y(ApiKeyCredsSchema)))}var nx=o(h$1,g,c,b);async function qu(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:hs(r)}).andThen(y(ApiKeyCredsSchema)))}var sx=o(h$1,g,c,b);async function ax(e,r){try{return await vu(e,r)}catch(t){if(!(t instanceof g)||t.status!==400)throw t}return qu(e,r)}var ix=o(h$1,g,n,c,b);async function px(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var cx=o(h$1,g,n,c,b);async function dx(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z$1.literal("OK"))));}var ux=o(h$1,g,n,c,b);async function lx(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var mx=o(h$1,g,n,c,b);async function fx(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var yx=o(h$1,g,n,c,b);async function Px(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z$1.literal("OK"))));}function hs(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var Mu=z$1.object({after:z$1.string().optional(),before:z$1.string().optional(),builderCode:BuilderCodeSchema,cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),market:z$1.string().optional()}),Fu=Te(Mu.shape),kx=o(h$1,g,c,b,a);function vx(e,r){let t=m(r,Fu),{cursor:o}=t;return C(n=>e.clob.get("/builder/trades",{params:R({after:t.after,assetId:t.assetId??t.tokenId,before:t.before,builderCode:t.builderCode,id:t.id,market:t.market,nextCursor:n},h({assetId:"asset_id",builderCode:"builder_code"}))}).andThen(y(PaginatedBuilderTradesSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),o)}var tl=J({}),_x=o(h$1,g,c,b,a);async function Wx(e,r){let t=m(r,tl);return (await unwrap(e.clob.get("/midpoint",{params:De(t)}).andThen(y(MidpointSchema)))).mid}var ol=z$1.array(J({})).min(1),jx=o(h$1,g,c,b,a);async function Hx(e,r){let t=m(r,ol);return unwrap(e.clob.post("midpoints",{json:Vr(t)}).andThen(y(MidpointsSchema)))}var nl=J({}),Nx=o(h$1,g,c,b,a);async function Kx(e,r){let t=m(r,nl);return (await unwrap(e.clob.get("/tick-size",{params:De(t)}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var sl=J({}),Gx=o(h$1,g,c,b,a);async function $x(e,r){let t=m(r,sl);return (await unwrap(e.clob.get("/neg-risk",{params:De(t)}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var al=J({}),Vx=o(h$1,g,c,b,a);async function ks(e,r){let t=m(r,al);return unwrap(e.clob.get(`/markets-by-token/${t.assetId??t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var il=z$1.object({conditionId:ConditionIdSchema}),Yx=o(h$1,g,c,b,a);async function vs(e,r){let t=m(r,il);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var pl=z$1.object({builderCode:BuilderCodeSchema}),Qx=o(h$1,g,c,b,a);async function qs(e,r){let t=m(r,pl);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(y(FetchBuilderFeeRatesResponseSchema)).mapErr(o=>o instanceof g&&o.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:o}):o))}var cl=J({side:OrderSideSchema}),Zx=o(h$1,g,c,b,a);async function Jx(e,r){let t=m(r,cl);return (await unwrap(e.clob.get("/price",{params:De(t)}).andThen(y(PriceSchema)))).price}var dl=z$1.array(J({side:OrderSideSchema})).min(1),Xx=o(h$1,g,c,b,a);async function eC(e,r){let t=m(r,dl);return unwrap(e.clob.post("prices",{json:Sl(t)}).andThen(y(PricesSchema)))}var ul=J({}),rC=o(h$1,g,c,b,a);async function $r(e,r){let t=m(r,ul);return unwrap(e.clob.get("/book",{params:De(t)}).andThen(y(FetchOrderBookResponseSchema)))}var ll=z$1.array(J({})).min(1),tC=o(h$1,g,c,b,a);async function oC(e,r){let t=m(r,ll);return unwrap(e.clob.post("books",{json:Vr(t)}).andThen(y(OrderBooksSchema)))}var ml=J({}),nC=o(h$1,g,c,b,a);async function sC(e,r){let t=m(r,ml);return (await unwrap(e.clob.get("/spread",{params:De(t)}).andThen(y(SpreadSchema)))).spread}var fl=z$1.array(J({})).min(1),aC=o(h$1,g,c,b,a);async function iC(e,r){let t=m(r,fl);return unwrap(e.clob.post("spreads",{json:Vr(t)}).andThen(y(SpreadsSchema)))}var yl=J({}),pC=o(h$1,g,c,b,a);async function cC(e,r){let t=m(r,yl);return unwrap(e.clob.get("/last-trade-price",{params:De(t)}).andThen(y(LastTradePriceSchema)))}var Pl=z$1.array(J({})).min(1),dC=o(h$1,g,c,b,a);async function uC(e,r){let t=m(r,Pl);return unwrap(e.clob.post("last-trades-prices",{json:Vr(t)}).andThen(y(LastTradePricesSchema)))}var gl=J({startTs:z$1.number().int().optional(),endTs:z$1.number().int().optional(),fidelity:z$1.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),lC=o(h$1,g,c,b,a);async function mC(e,r){let t=m(r,gl);return (await unwrap(e.clob.get("/prices-history",{params:R({market:t.assetId??t.tokenId,startTs:t.startTs,endTs:t.endTs,fidelity:t.fidelity,interval:t.interval},{market:"market",startTs:"startTs",endTs:"endTs",fidelity:"fidelity",interval:"interval"})}).andThen(y(PriceHistorySchema)))).history}var Rl=z$1.object({cursor:PaginationCursorSchema.optional(),sponsored:z$1.boolean().optional()}).default({}),fC=o(h$1,g,c,b,a);function yC(e,r={}){let{cursor:t,...o}=m(r,Rl);return C(n=>e.clob.get("/rewards/markets/current",{params:R({...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)})),t)}var El=z$1.object({conditionId:ConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z$1.boolean().optional()}),PC=o(h$1,g,c,b,a);function gC(e,r){let{cursor:t,...o}=m(r,El);return C(n=>e.clob.get(`rewards/markets/${o.conditionId}`,{params:R({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)})),t)}function Vr(e){return e.map(r=>({token_id:r.assetId??r.tokenId}))}function Sl(e){return e.map(r=>({token_id:r.assetId??r.tokenId,side:r.side}))}function De(e){let{assetId:r,tokenId:t,...o}=e;return R({...o,tokenId:e.assetId??e.tokenId},h())}var Ls=2*6e4,qC=o(h$1,g,c,b);async function AC(e){return Ms(e),unwrap(e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:Ls}).andThen(y(CollateralReturnPlanResponseSchema)))}var vl=z$1.object({plan:CollateralReturnPlanSchema}),As=10,Kt="Collateral return",OC=o(g,c,b,a);async function ql(e,r){let{plan:t}=m(r,vl);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),Ms(e),!isSameEvmAddress(t.wallet,e.account.wallet))throw new a("The collateral return plan was created for a different wallet than the authenticated account.");if(t.chainId!==e.environment.chainId)throw new a(`The collateral return plan was created for chain ${t.chainId}, but the client is configured for chain ${e.environment.chainId}.`);return async function*(){let o=[{data:t.routerCall.data,to:t.routerCall.to,value:0n}];for(let n=0;n<=As;n+=1)try{let s=yield*Al(e,o);try{return await Os(e,t.planHash,s)}catch(a){let l=_t(a);if(l===void 0||s.type!==RelayerTransactionType.WALLET)throw a;let P=yield*Wt(e,s,o,l);return await Os(e,t.planHash,P)}}catch(s){if(!Ht(s)||n===As)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var wC=o(k,h$1,g,n,c,b,a);function LC(e,r){return ql(e,r).then(W(e.signer))}function Ms(e){invariant(e.account.walletType===WalletType.DEPOSIT_WALLET||e.account.walletType===WalletType.GNOSIS_SAFE||e.account.walletType===WalletType.POLY_PROXY,"Collateral return supports Deposit Wallet, Safe Wallet, and Proxy Wallet accounts");}function Al(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return jt(e,r,Kt);case WalletType.POLY_PROXY:return zt(e,r,Kt);default:return Je(e,r,Kt)}}async function Os(e,r,t){let o=await unwrap(e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:Ls}).andThen(y(RelayerExecuteResponseSchema)));return new Fe(e,o)}var Bl=z$1.object({ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.max(100).default(20),getPositions:z$1.boolean().optional(),holdersOnly:z$1.boolean().optional(),order:z$1.string().optional(),parentEntityId:z$1.union([EventIdSchema,SeriesIdSchema]),parentEntityType:CommentParentEntityTypeSchema}),Ul=z$1.object({getPositions:z$1.boolean().optional(),id:CommentIdSchema}),Dl=z$1.object({address:z$1.string(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z$1.string().optional(),pageSize:A.max(100).default(20)}),GC=o(h$1,g,c,b,a);function $C(e,r){let{cursor:t,pageSize:o,...n}=m(r,Bl);return C(s=>{let a=_(s,o);return e.gamma.get("/comments",{params:R({ascending:n.ascending,getPositions:n.getPositions,holdersOnly:n.holdersOnly,limit:a.pageSize,offset:a.offset,order:n.order,parentEntityId:n.parentEntityId,parentEntityType:n.parentEntityType},h())}).andThen(y(ListCommentsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var VC=o(h$1,g,c,b,a);async function YC(e,r){let t=m(r,Ul);return unwrap(e.gamma.get(`comments/${t.id}`,{params:R({getPositions:t.getPositions},h())}).andThen(y(ListCommentsResponseSchema)))}var QC=o(h$1,g,c,b,a);function ZC(e,r){let{address:t,cursor:o,pageSize:n,...s}=m(r,Dl);return C(a=>{let l=_(a,n);return e.gamma.get(`comments/user_address/${t}`,{params:R({ascending:s.ascending,limit:l.pageSize,offset:l.offset,order:s.order},h())}).andThen(y(ListCommentsResponseSchema)).map(P=>{let x=P.length>=l.pageSize;return {items:P,hasMore:x,nextCursor:x?z({offset:l.offset+l.pageSize,pageSize:l.pageSize}):void 0}})},o)}function Yr(e,r){let t;try{t=new URL(e);}catch(l){throw new a("Expected a valid Polymarket URL.",{cause:l})}if(t.protocol!=="https:"||t.hostname!=="polymarket.com"&&t.hostname!=="www.polymarket.com")throw new a("Expected a valid Polymarket URL.");let[o,n,...s]=t.pathname.split("/").filter(Boolean),a$1=s[0];if(r==="market"&&o==="event"&&n!==void 0&&s.length<=1)return a$1??n;if(o!==r||n===void 0||s.length>0)throw new a(`Expected a Polymarket ${r} URL.`);return n}var Nl=z$1.object({ascending:z$1.boolean().optional(),closed:z$1.boolean().default(false),cursor:PaginationCursorSchema.optional(),pageSize:A.optional(),cyom:z$1.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),ended:z$1.boolean().optional(),eventDate:IsoCalendarDateStringSchema.optional(),eventWeek:z$1.number().int().optional(),excludeTagIds:z$1.array(z$1.number().int()).optional(),featured:z$1.boolean().optional(),featuredOrder:z$1.boolean().optional(),gameIds:z$1.array(z$1.number().int()).optional(),ids:z$1.array(z$1.number().int()).optional(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeChildren:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),liquidityMax:z$1.number().optional(),liquidityMin:z$1.number().optional(),live:z$1.boolean().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),parentEventId:z$1.number().int().optional(),partnerSlug:z$1.string().optional(),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),relatedTags:z$1.boolean().optional(),seriesIds:z$1.array(z$1.number().int()).optional(),slug:z$1.array(z$1.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),startTimeMax:IsoDateTimeStringSchema.optional(),startTimeMin:IsoDateTimeStringSchema.optional(),tagIds:z$1.array(z$1.number().int()).optional(),tagMatch:z$1.enum(["any","all"]).optional(),tagSlug:z$1.string().optional(),titleSearch:z$1.string().optional(),volumeMax:z$1.number().optional(),volumeMin:z$1.number().optional()}),Kl=z$1.union([z$1.object({id:z$1.string(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()}),z$1.object({slug:z$1.string(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()}),z$1.object({url:z$1.string(),includeBestLines:z$1.boolean().optional(),includeChat:z$1.boolean().optional(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()})]),Gl=z$1.object({id:z$1.string()}),$l=z$1.object({id:z$1.string()}),lI=o(h$1,g,c,b,a);function mI(e,r={}){let t=m(r,Nl);return C(o=>e.gamma.get("/events/keyset",{params:Vl({...t,cursor:o??t.cursor})}).andThen(y(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var fI=o(h$1,g,c,b,a);async function yI(e,r){let t=m(r,Kl);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:Yl(t)}).andThen(y(EventSchema)));let o="url"in t?Yr(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:Ql(t)}).andThen(y(EventSchema)))}var PI=o(h$1,g,c,b,a);async function gI(e,r){let t=m(r,Gl);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var RI=o(h$1,g,c,b,a);async function EI(e,r){let t=m(r,$l);return unwrap(e.data.get("/live-volume",{params:G(t)}).andThen(y(FetchEventLiveVolumeResponseSchema)))}function Vl(e){return R(e,h({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function Yl(e){return R({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},h())}function Ql(e){return R({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},h())}var om=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:A.max(50).default(20),timePeriod:TimePeriodSchema.optional()}),nm=z$1.object({timePeriod:TimePeriodSchema.optional()}),sm=z$1.object({category:LeaderboardCategorySchema.optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.max(50).default(20),timePeriod:TimePeriodSchema.optional(),orderBy:LeaderboardOrderBySchema.optional(),user:z$1.string().optional(),userName:z$1.string().optional()}),AI=o(h$1,g,c,b,a);function OI(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,om);return C(s=>{let a=_(s,o);return e.data.get("/v1/builders/leaderboard",{params:G({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListBuilderLeaderboardResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var wI=o(h$1,g,c,b,a);async function LI(e,r={}){let t=m(r,nm);return unwrap(e.data.get("/v1/builders/volume",{params:G(t)}).andThen(y(ListBuilderVolumeResponseSchema)))}var MI=o(h$1,g,c,b,a);function FI(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,sm);return C(s=>{let a=_(s,o);return e.data.get("/v1/leaderboard",{params:G({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListTraderLeaderboardResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var pm=z$1.object({marketId:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),eventId:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),questionId:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),state:z$1.union([z$1.enum(MarketClarificationState),z$1.array(z$1.enum(MarketClarificationState))]).optional(),showInFrontend:z$1.boolean().optional(),txHash:z$1.string().optional(),order:z$1.string().optional(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.max(100).default(20)}),KI=o(h$1,g,c,b,a);function GI(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,pm);return C(s=>{let a=_(s,o);return e.gamma.get("/market-clarifications",{params:R({...n,limit:a.pageSize,offset:a.offset},h())}).andThen(y(ListMarketClarificationsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Pm=z$1.object({ascending:z$1.boolean().optional(),closed:z$1.boolean().optional(),clobTokenIds:z$1.array(z$1.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:A.optional(),conditionIds:z$1.array(ConditionIdSchema).optional(),cyom:z$1.boolean().optional(),decimalized:z$1.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),gameId:z$1.string().optional(),ids:z$1.array(z$1.number().int()).optional(),includeTag:z$1.boolean().optional(),liquidityNumMax:z$1.number().optional(),liquidityNumMin:z$1.number().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),positionIds:z$1.array(PositionIdSchema).optional(),questionIds:z$1.array(z$1.string()).optional(),relatedTags:z$1.boolean().optional(),rfqEnabled:z$1.boolean().optional(),rewardsMinSize:z$1.number().optional(),slug:z$1.array(z$1.string()).optional(),sportsMarketTypes:z$1.array(z$1.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),tagId:z$1.number().int().optional(),tagMatch:z$1.enum(["any","all"]).optional(),umaResolutionStatus:z$1.string().optional(),volumeNumMax:z$1.number().optional(),volumeNumMin:z$1.number().optional()}),gm=z$1.object({id:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),Rm=z$1.object({slug:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),Em=z$1.object({url:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),Sm=z$1.union([gm,Rm,Em]),hm=z$1.object({id:z$1.string()}),Tm=z$1.object({limit:z$1.number().int().optional(),market:z$1.array(z$1.string()),minBalance:z$1.number().int().optional()}),xm=z$1.object({market:z$1.array(z$1.string()).optional()}),Cm=z$1.enum(["OPEN","CLOSED","ALL"]),Im=z$1.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),bm=z$1.enum(["ASC","DESC"]),km=z$1.object({cursor:PaginationCursorSchema.optional(),market:z$1.string(),pageSize:A.max(500).default(20),user:z$1.string().optional(),status:Cm.optional(),sortBy:Im.optional(),sortDirection:bm.optional()}),ab=o(h$1,g,c,b,a);function js(e,r={}){let t=m(r,Pm);return C(o=>e.gamma.get("/markets/keyset",{params:qm({...t,cursor:o??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var vm=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:A.max(100).optional(),exclude:z$1.array(ConditionIdSchema).optional()}),ib=o(h$1,g,c,b,a);function pb(e,r={}){let t=m(r,vm);return C(o=>e.rfq.get("/v1/rfq/combo-markets",{params:Am({...t,cursor:o??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var cb=o(h$1,g,c,b,a);async function db(e,r){let t=m(r,Sm);return "id"in t?Om(e,t):"url"in t?zs(e,{includeTag:t.includeTag,locale:t.locale,slug:Yr(t.url,"market")}):zs(e,t)}var ub=o(h$1,g,c,b,a);async function lb(e,r){let t=m(r,hm);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var mb=o(h$1,g,c,b,a);async function fb(e,r){let t=m(r,Tm);return unwrap(e.data.get("/holders",{params:G(t)}).andThen(y(ListMarketHoldersResponseSchema)))}var yb=o(h$1,g,c,b,a);async function Pb(e,r={}){let t=m(r,xm);return unwrap(e.data.get("/oi",{params:G(t)}).andThen(y(ListOpenInterestResponseSchema)))}var gb=o(h$1,g,c,b,a);function Rb(e,r){let{cursor:t,pageSize:o,...n}=m(r,km);return C(s=>{let a=_(s,o);return e.data.get("/v1/market-positions",{params:G({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListMarketPositionsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function qm(e){return R(e,h({cursor:"after_cursor",ids:"id",pageSize:"limit"}))}function Am(e){return R({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function zs(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:R({includeTag:r.includeTag,locale:r.locale},h())}).andThen(y(MarketSchema)))}async function Om(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:R({includeTag:r.includeTag,locale:r.locale},h())}).andThen(y(MarketSchema)))}function Sr(e){if(!(e instanceof g))return e;let r=wm(e);return r===void 0?e:new g(e.message,{cause:e,...e.code!==void 0?{code:e.code}:{},restriction:r,...e.retryAfter!==void 0?{retryAfter:e.retryAfter}:{},status:e.status})}function wm(e){if(e.status===425)return "restarting";if(e.status===503&&e.code==="post_only_mode")return "post_only"}var Fm=z$1.object({orderId:z$1.string()}),Bm=z$1.object({orderIds:z$1.array(z$1.string()).min(1).max(3e3)}),Um=z$1.object({market:z$1.string().optional()}),Dm=Te(Um.shape).refine(e=>e.market!==void 0||e.assetId!==void 0||e.tokenId!==void 0,{message:"At least one of market or assetId is required.",path:["market"]}),Ob=o(g,h$1,n,c,b,a);async function wb(e,r){let t=m(r,Fm);return Jr(e,"/order",{orderID:t.orderId})}var Lb=o(g,h$1,n,c,b,a);async function Mb(e,r){let t=m(r,Bm);return Jr(e,"/orders",t.orderIds)}var Fb=o(g,h$1,n,c,b);async function Bb(e){return Jr(e,"/cancel-all")}var Ub=o(g,h$1,n,c,b,a);async function Db(e,r){let t=m(r,Dm);return Jr(e,"/cancel-market-orders",{asset_id:t.assetId??t.tokenId,market:t.market})}async function Jr(e,r,t){return unwrap(e.secureClob.del(r,{json:t,rateLimitBucket:"cancel"}).mapErr(Sr).andThen(y(CancelOrdersResponseSchema)))}var qe=z$1.object({assetId:ClobAssetIdSchema,tokenId:z$1.never().optional()}),Ae=z$1.object({assetId:z$1.never().optional(),tokenId:ClobAssetIdSchema});var $s=z$1.object({orderType:z$1.union([z$1.literal(OrderType.FAK),z$1.literal(OrderType.FOK)]).default(OrderType.FOK)}),Ns=$s.extend({side:z$1.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),Ks=$s.extend({side:z$1.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema}),_m=z$1.union([Ns.extend(qe.shape),Ns.extend(Ae.shape),Ks.extend(qe.shape),Ks.extend(Ae.shape)]).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r})),Qb=o(l,h$1,g,c,b,a);async function Zb(e,r){let t=m(r,_m),o=t.side===OrderSide.BUY?t.amount:t.shares;return Wm(e,{amount:o,assetId:t.assetId,orderType:t.orderType,side:t.side})}async function Wm(e,r){let t=await $r(e,{assetId:r.assetId});return Qt({amount:r.amount,orderBook:t,orderType:r.orderType,side:r.side})}function Qt(e){let{orderBook:r}=e,t=e.side===OrderSide.BUY?Hm(r.asks,e.amount,e.orderType):Nm(r.bids,e.amount,e.orderType);return invariant(jm(t,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),t}function jm(e,r){return e>=r&&e<=1-r}function Hm(e,r,t){if(e.length===0)throw new l("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size)*Number.parseFloat(a.price),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new l("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}function Nm(e,r,t){if(e.length===0)throw new l("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new l("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}var Vm=BigInt(Number.MAX_SAFE_INTEGER),Ym=z$1.string().refine(Zm,{message:"Order salt must be a non-negative JavaScript-safe integer."}),Qs=z$1.looseObject({salt:Ym}),Qm=z$1.array(Qs).min(1).max(15),ik=o(h$1,g,n,c,b,a),pk=o(h$1,g,n,c,b,a);function rt(e){return async function(t){m(t,Qs);let o=Zs(e,t);return unwrap(e.secureClob.post("/order",{json:o,rateLimitBucket:"order"}).mapErr(Sr).andThen(y(OrderResponseSchema)))}}function ck(e){return async function(t){m(t,Qm);let o=t.map(n=>Zs(e,n));return unwrap(e.secureClob.post("/orders",{json:o,rateLimitBucket:"order"}).mapErr(Sr).andThen(y(OrderResponsesSchema)))}}function Zs(e,r){return invariant(r.postOnly!==true||r.orderType===OrderType.GTC||r.orderType===OrderType.GTD,"Post-only orders are only supported for GTC and GTD order types."),{deferExec:false,order:{builder:r.builder,expiration:`${r.expiration}`,maker:r.maker,makerAmount:r.makerAmount,metadata:r.metadata,salt:Number(BigInt(r.salt)),side:r.side,signature:r.signature,signatureType:r.signatureType,signer:r.signer,takerAmount:r.takerAmount,timestamp:r.timestamp,tokenId:r.tokenId},orderType:r.orderType,owner:e.credentials.key,...r.postOnly===true?{postOnly:true}:{}}}function Zm(e){try{let r=BigInt(e);return r>=0n&&r<=Vm}catch{return false}}var ra=32,rf=1n,tf=2n,ta=3n,ea=50,of=(1n<<256n)-1n,nf=(1n<<64n)-1n<<40n;function Jt(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[ta,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function Xt(e){if(e.length===0||e.length>ea)throw new a(`Combo legs must include 1 to ${ea} position IDs`);let r=e.map(t=>{let o=eo(t),n=o.toString(16).padStart(ra*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 er(e){try{return (eo(e)&nf)===0n}catch{return false}}function oa(e){let t=eo(e).toString(16).padStart(ra*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==rf&&o!==tf&&o!==ta)throw new a("Position ID must use a supported protocol v2 module");if(n!==0&&n!==1)throw new a("Protocol v2 position ID must be a YES/NO position ID");return {conditionId:toConditionId(`0x${t.slice(0,-2)}`),outcomeIndex:n}}function eo(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>of)throw new a("Position ID must be a uint256 value");return t}var Ce=1000000n,sf=8*Number.EPSILON,ro=6,af=8*Number.EPSILON;function to(e){let r=e*Number(Ce),t=Math.round(r),o=af*Math.max(1,Math.abs(r)),n=Math.abs(r-t)<=o?t:Math.trunc(r);return BigInt(n)}function Tr(e){let r=Math.round(e*Number(Ce)),t=r/Number(Ce);if(!Number.isSafeInteger(r)||Math.abs(e-t)>sf)throw new a("has unsupported precision.");return BigInt(r)}function oo(e){return Number(e)/Number(Ce)}function ot(e){return invariant(Number.isInteger(e)&&e>=0&&e<=ro,`Decimal places must be an integer between 0 and ${ro}.`),10n**BigInt(ro-e)}function nt(e,r,t,o){invariant(e>=0n,"Value must be non-negative."),invariant(r>=0n,"Multiplier must be non-negative."),invariant(t>0n,"Denominator must be positive.");let n=e*r,s=n/t;return o==="up"&&n%t!==0n?s+1n:s}function no(e,r,t){let o=ot(r);return nt(e,1n,o,t)*o}function so(e){switch(e){case .1:return {amount:3,size:2};case .01:return {amount:4,size:2};case .005:return {amount:5,size:2};case .0025:return {amount:6,size:2};case .001:return {amount:5,size:2};case 1e-4:return {amount:6,size:2}}invariant(false,`Unsupported tick size: ${e}`);}function st(e,r){let t=Tr(e),o=Tr(r);if(t<o||t>Ce-o)throw new a(`must be between ${r} and ${1-r} for tick size ${r}.`);if(t%o!==0n)throw new a(`${e} must be a multiple of tick size ${r}.`);return t}function cf(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}function Oe(e,r,t){return er(r)?e.environment.contracts.exchangeV3:cf(e,t)}function ao(e,r,t,o){let n=ot(t);return nt(e,r,Ce*n,o)*n}function df(e,r,t,o){let n=ot(t);return nt(e,Ce,r*n,o)*n}function sa(e){let r=so(e.tickSize),t=no(to(e.size),r.size,"down");return e.side===OrderSide.BUY?{offeredAmount:ao(t,e.price,r.amount,"down"),requestedAmount:t}:{offeredAmount:t,requestedAmount:ao(t,e.price,r.amount,"down")}}function aa(e){let r=so(e.tickSize),t=no(to(e.amount),r.size,"down"),o=e.protectPrice?"up":"down";return e.side===OrderSide.BUY?{offeredAmount:t,requestedAmount:df(t,e.price,r.amount,o)}:{offeredAmount:t,requestedAmount:ao(t,e.price,r.amount,o)}}var io=600*1e3,po=Number.POSITIVE_INFINITY,co=class{#e;#r=new Map;#t=new Map;#o=new Map;constructor(r){this.#e=r;}async resolveMarket(r){let t=await this.#s(r);return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize}}async resolveBuilderTakerFeeRate(r){return r===void 0?0:at(this.#r,r,io,()=>this.#e.fetchBuilderTakerFeeRate(r))}async fetchCurrentMarket(r){let t=await at(this.#t,r,po,()=>this.#e.resolveCondition(r)),o=await this.#a(t);return this.#n(r,t,o),this.#o.set(t,ia(o,io)),{feeInfo:o.feeInfo,negRisk:o.negRisk,tickSize:o.tickSize}}async#s(r){let t=await at(this.#t,r,po,()=>this.#e.resolveCondition(r)),o=await at(this.#o,t,io,()=>this.#a(t));return this.#n(r,t,o),o}#n(r,t,o){if(!o.assetIds.has(r))throw this.#t.delete(r),this.#o.delete(t),new b(`Market ${t} does not include asset ${r}.`)}async#a(r){let t=await this.#e.fetchMarket(r),o=new Set(t.tokens.map(({assetId:n})=>n));for(let n of o)this.#t.set(n,ia(r));return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize,assetIds:o}}};function at(e,r,t,o){let n=e.get(r);if(n!==void 0&&(n.expiresAt===void 0||n.expiresAt>Date.now()))return n.promise;let s={promise:o()};return s.promise.then(()=>{s.expiresAt=Date.now()+t;},()=>{e.get(r)===s&&e.delete(r);}),e.set(r,s),s.promise}function ia(e,r=po){return {expiresAt:Date.now()+r,promise:Promise.resolve(e)}}var pa=new WeakMap;function We(e,r){return uo(e).resolveMarket(r)}function xr(e,r){return uo(e).fetchCurrentMarket(r)}function ca(e,r){return uo(e).resolveBuilderTakerFeeRate(r)}function uo(e){let r=pa.get(e);if(r!==void 0)return r;let t=new co({fetchBuilderTakerFeeRate:async o=>(await qs(e,{builderCode:o})).taker,fetchMarket:o=>vs(e,{conditionId:o}),resolveCondition:o=>ks(e,{assetId:o})});return pa.set(e,t),t}var mf=180,la=z$1.strictObject({price:PositiveDecimalNumberSchema,size:PositiveDecimalNumberSchema,side:OrderSideSchema,builderCode:BuilderCodeSchema.optional(),postOnly:z$1.boolean().default(false),expiration:z$1.number().int().nonnegative().optional()}),fa=z$1.union([la.extend(qe.shape),la.extend(Ae.shape)]).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+mf;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}}).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r}));async function ya(e,r){let t=await ff(e,{assetId:r.assetId,price:r.price}),o=sa({price:t.price,side:r.side,size:r.size,tickSize:t.tickSize});return {assetId:r.assetId,builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:r.expiration??0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount}}async function ff(e,r){let t=await We(e,r.assetId);try{return ma(e,r,t)}catch(o){if(!(o instanceof a))throw o;let n=await xr(e,r.assetId);return ma(e,r,n)}}function ma(e,r,t){let o=yf(r.price,t.tickSize);return {exchangeAddress:Oe(e,r.assetId,t.negRisk),funderAddress:e.account.wallet,price:o,signerAddress:e.account.signer,tickSize:t.tickSize}}function yf(e,r){try{return st(e,r)}catch(t){throw t instanceof a?new a(`Price ${t.message}`,{cause:t}):t}}var Ta=z$1.object({builderCode:BuilderCodeSchema.optional(),orderType:z$1.union([z$1.literal(OrderType.FAK),z$1.literal(OrderType.FOK)]).default(OrderType.FAK)}),ga=Ta.extend({side:z$1.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),Ra=Ta.extend({side:z$1.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()}),xa=z$1.union([ga.extend(qe.shape),ga.extend(Ae.shape),Ra.extend(qe.shape),Ra.extend(Ae.shape)]).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r}));async function Ca(e,r){let t=await gf(e,r,r.assetId),o=aa({amount:t.resolvedAmount,price:t.price,protectPrice:ba(r),side:r.side,tickSize:t.tickSize});return {assetId:r.assetId,builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.orderType,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount}}async function gf(e,r,t){return ba(r)?Rf(e,r,t):Ef(e,r,t)}async function Rf(e,r,t){let o=r.side===OrderSide.BUY?r.amount:r.shares;if(r.side===OrderSide.BUY&&r.maxSpend!==void 0){let{builderTakerFeeRate:s,market:a$1}=await ka(e,t,r.builderCode);try{return Ea(e,r,t,o,s,r.maxSpend,a$1)}catch(l){if(!(l instanceof a))throw l;let P=await xr(e,t);return Ea(e,r,t,o,s,r.maxSpend,P)}}let n=await We(e,t);try{return Sa(e,r,t,o,n)}catch(s){if(!(s instanceof a))throw s;let a$1=await xr(e,t);return Sa(e,r,t,o,a$1)}}function Ea(e,r,t,o,n,s,a){let l=Ia(r,a.tickSize),P=oo(l);return {exchangeAddress:Oe(e,t,a.negRisk),funderAddress:e.account.wallet,price:l,resolvedAmount:va({amount:o,builderTakerFeeRate:n,maxSpend:s,platformFeeExponent:a.feeInfo.exponent,platformFeeRate:a.feeInfo.rate,price:P}),signerAddress:e.account.signer,tickSize:a.tickSize}}function Sa(e,r,t,o,n){let s=Ia(r,n.tickSize);return {exchangeAddress:Oe(e,t,n.negRisk),funderAddress:e.account.wallet,price:s,resolvedAmount:o,signerAddress:e.account.signer,tickSize:n.tickSize}}async function Ef(e,r,t){let o=r.side===OrderSide.BUY?r.amount:r.shares,n=r.side===OrderSide.BUY&&r.maxSpend!==void 0?ka(e,t,r.builderCode):void 0,[s,a]=await Promise.all([$r(e,{assetId:t}),n]);if(s.assetId!==t)throw new b(`Order book returned asset ${s.assetId} for requested asset ${t}.`);let l=Tr(Qt({amount:o,orderBook:s,orderType:r.orderType,side:r.side}));return {exchangeAddress:Oe(e,t,s.negRisk),funderAddress:e.account.wallet,price:l,resolvedAmount:Sf(r,o,oo(l),a),signerAddress:e.account.signer,tickSize:s.tickSize}}function Sf(e,r,t,o){return e.side!==OrderSide.BUY||e.maxSpend===void 0||o===void 0?r:va({amount:r,builderTakerFeeRate:o.builderTakerFeeRate,maxSpend:e.maxSpend,platformFeeExponent:o.market.feeInfo.exponent,platformFeeRate:o.market.feeInfo.rate,price:t})}function Ia(e,r){return e.side===OrderSide.BUY?(invariant(e.maxPrice!==void 0,"Protected BUY market order requires maxPrice."),ha("maxPrice",e.maxPrice,r)):(invariant(e.minPrice!==void 0,"Protected SELL market order requires minPrice."),ha("minPrice",e.minPrice,r))}function ha(e,r,t){try{return st(r,t)}catch(o){throw o instanceof a?new a(`${e} ${o.message}`,{cause:o}):o}}function ba(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}async function ka(e,r,t){let[o,n]=await Promise.all([We(e,r),ca(e,t)]);return {builderTakerFeeRate:n,market:o}}function va(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 Oa="Polymarket CTF Exchange",Tf="DepositWallet",xf="1",mo="0x0000000000000000000000000000000000000000000000000000000000000000",fo="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",Cf=Hash.keccak256(Bytes.fromString(fo),{as:"Hex"}),If=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),bf=Hash.keccak256(Bytes.fromString(Oa),{as:"Hex"}),kf=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],wa=[{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"}],vf=[{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 pt(e){let r=qf(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:Fa(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:Tf,salt:mo,verifyingContract:e.order.signer,version:xf},primaryType:"TypedDataSign",types:{Order:wa,TypedDataSign:vf}}}function ct(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(fo)),t=fo.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${Af(e.domain).slice(2)}${Of(e.order).slice(2)}${r.slice(2)}${t}`)}function La(e){return {chainId:e.chainId,exchange:e.exchange,protocolVersion:"3"}}function rv(e,r,t){return e===OrderSide.SELL?t.toString():((r*t+999999n)/1000000n).toString()}function tv(e,r,t){return e===OrderSide.SELL?(r*t/1000000n).toString():t.toString()}function Ma(e){return {builder:e.builder??mo,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??mo,salt:BigInt(e.salt),side:go(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function qf(e,r){return {domain:Fa(e),message:Ma(r),primaryType:"Order",types:{EIP712Domain:kf,Order:wa}}}function Fa(e){return {chainId:e.chainId,name:Oa,verifyingContract:e.exchange,version:e.protocolVersion}}function Af(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[If,bf,wf(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function Of(e){let r=Ma(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"}],[Cf,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 wf(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function go(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}var Ba="0x0000000000000000000000000000000000000000000000000000000000000000";function Ro(e,r){let t=mr(r);return {builder:e.builderCode??Ba,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:Ba,orderType:e.orderType,protocolVersion:er(e.assetId)?"3":"2",salt:Lf().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.assetId}}function Eo(e,r){let{chainId:t,exchangeAddress:o,protocolVersion:n,...s}=e;return {...s,signature:r}}function Lf(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}`)&(1n<<53n)-1n}function So(e){return pt({domain:Ua(e),order:e})}function ho(e,r){return ct({domain:Ua(e),order:e,signature:r})}function Ua(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:e.protocolVersion}}function To(e){return {kind:"signOrder",payload:e}}var Mf=o(l,h$1,g,n,c,b,a);async function xo(e,r){let t=m(r,xa);return async function*(){let o=await Ca(e,t),n=Ro(o,e.account),s=expectEvmSignature(yield To(So(n)));return Eo(n,Ye(e.account,ho(n,s)))}.call(null)}var Ff=o(h$1,g,n,c,b,a);async function Co(e,r){let t=m(r,fa);return async function*(){let o=await ya(e,t),n=Ro(o,e.account),s=expectEvmSignature(yield To(So(n))),a=Eo(n,Ye(e.account,ho(n,s)));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var Sv=Mf;async function hv(e,r){return za(e,xo(e,r))}var Tv=Ff;async function xv(e,r){return za(e,Co(e,r))}async function za(e,r){let t=await r;return async function*(){let o=yield*t;return rt(e)(o)}.call(null)}var Df=250,zf=3e4,_f={timeoutMs:z$1.number().int().positive().optional()},Wf=z$1.object(_f).default({}),Ov=o(h$1,g,n,i,j,c,b,a);function jf(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function _a(e){return e.status===TradeStatus.Failed}async function wv(e,r,t){let{timeoutMs:o=zf}=m(t,Wf),n=[...new Set(r.tradeIds)];if(n.length===0)return [...r.transactionsHashes];let s=new Map,a=Date.now()+o;for(;s.size<n.length;){let P=n.filter(I=>!s.has(I)),x=await Promise.all(P.map(I=>Mn(e,{id:I}).firstPage()));for(let I of x)for(let j of I.items)n.includes(j.id)&&jf(j)&&s.set(j.id,j);if(s.size===n.length)break;if(Date.now()>=a){let I=n.filter(j=>!s.has(j));throw new i(`Timed out waiting for trades to settle: ${I.join(", ")}`)}await delay(Df);}let l=[...s.values()];if(l.every(_a))throw new j(`Every fill of order ${r.orderId} failed execution: ${n.join(", ")}`);return [...new Set(l.filter(P=>!_a(P)).map(P=>P.transactionHash))].map(P=>TxHashSchema.parse(P))}async function Na(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await vt(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,assetId:r.assetId});return Nf(o,r.spenderAddress)}function Nf(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var Zv=o(k,l,h$1,g,n,c,b,a);function Kf(e,r){return xo(e,r).then(W(e.signer))}var Jv=o(k,l,h$1,g,n,i,j,c,b,a);function Xv(e,r){return Kf(e,r).then(t=>Ga(e,t))}var eq=o(k,h$1,g,n,c,b,a);function Gf(e,r){return Co(e,r).then(W(e.signer))}var rq=o(k,h$1,g,n,i,j,c,b,a);function tq(e,r){return Gf(e,r).then(t=>Ga(e,t))}async function Ga(e,r){let t=rt(e);try{return await t(r)}catch(o){if(!Vf(o))throw o;let n=await $f(e,r,t);if(n===void 0)throw o;return n}}async function $f(e,r,t){return await Yf(e,r)?t(r):void 0}function Vf(e){return e instanceof g&&e.status===400&&e.message.includes("allowance is not enough")}async function Yf(e,r){let t=r.tokenId,o=await We(e,t),n=Oe(e,t,o.negRisk),s=BigInt(r.makerAmount);return await Na(e,{assetId:t,spenderAddress:n,side:r.side})>=s?false:(await(r.side===OrderSide.BUY?await fs(e,{amount:"max",spenderAddress:n,tokenAddress:e.environment.contracts.collateralToken}):await ys(e,{operatorAddress:n,tokenAddress:er(t)?e.environment.contracts.positionManager:e.environment.contracts.conditionalTokens})).wait(),await Bn(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?t:void 0}),true)}function $a(e){let r=TypedData.getSignPayload(ko(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function ko(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode(Va(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 Va(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(Va):e}function Qa(e,r){let t=Ya(e.get("Poly-RateLimit-Remaining"),/^-?\d+$/),o=Ya(e.get("Poly-RateLimit-Reset"),/^\d+$/),n=ty(e.get("Poly-RateLimit-Tier")),s=e.get("Poly-RateLimit-Warning")?.trim().toLowerCase()==="true";if(!(t===void 0&&o===void 0&&n===void 0&&!s))return {...r===void 0?{}:{bucket:r},remaining:t,reset:o,tier:n,warning:s}}function Ya(e,r){let t=e?.trim();if(t===void 0||!r.test(t))return;let o=Number(t);return Number.isSafeInteger(o)?o:void 0}function ty(e){if(!(e===null||e.trim()===""))return e}var dt=class{#e;#r;#t;#o;constructor({root:r,headers:t,resolveHeaders:o,onRateLimitUpdate:n}){this.#e=En.create({prefixUrl:r,throwHttpErrors:false}),this.#r=t,this.#t=o,this.#o=n;}get(r,t={}){return this.#n("GET",r,t)}post(r,t={}){return this.#n("POST",r,t)}patch(r,t={}){return this.#n("PATCH",r,t)}del(r,t={}){return this.#n("DELETE",r,t)}#s(r){return r.startsWith("/")?r.slice(1):r}#n(r,t,o){return this.#u(this.#a(r,t,o),o.rateLimitBucket)}async#a(r,t,o){let n=this.#i(r,t,o),s=await this.#t?.(n),a=this.#c(this.#r,n.headers,s);return n.body!==void 0&&!a.has("content-type")&&a.set("content-type","application/json"),this.#e(this.#s(t),{body:n.body,headers:a,method:r,searchParams:n.params,...o.timeout!==void 0&&{timeout:o.timeout}})}#i(r,t,o){return {body:"json"in o?this.#p(o.json):void 0,headers:o.headers,json:"json"in o?o.json:void 0,method:r,params:"params"in o?o.params:void 0,path:t}}#p(r){if(r!==void 0)return JSON.stringify(r)}#c(...r){let t=new Headers;for(let o of r)if(o!==void 0)for(let[n,s]of new Headers(o).entries())t.set(n,s);return t}#u(r,t){return ResultAsync.fromPromise(r.then(async o=>{let n=Qa(o.headers,t);if(n!==void 0&&this.#l(n),o.ok)return o;let s=this.#d(o);if(o.status===429)throw new h$1(`Request to ${o.url} was rate limited`,{rateLimit:n,retryAfter:s});let{code:a,message:l,retryAfter:P}=await this.#m(o);throw new g(l,{code:a,retryAfter:s??P,status:o.status})}),o=>o instanceof h$1||o instanceof g?o:c.fromError(o))}#l(r){try{Promise.resolve(this.#o?.(r)).catch(()=>{});}catch{}}#d(r){let t=r.headers.get("retry-after");if(!(t===null||!/^\d+$/.test(t)))return Number(t)}async#m(r){let t=r.headers.get("content-type")?.toLowerCase();if(t?.includes("application/json")){let{error:n,code:s,retry_after_seconds:a}=await r.clone().json().catch(()=>({}));if(n)return {message:`${String(n)} (${r.url})`,...typeof s=="string"&&s!==""?{code:s}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{retryAfter:a}:{}}}if(t?.includes("text/plain")){let n=await r.clone().text().then(s=>s.trim(),()=>"");if(n)return {message:`${n} (${r.url})`}}return r.headers.get("server")?.toLowerCase()?.includes("cloudflare")?{message:`Request to ${r.url} was blocked by Cloudflare with status ${r.status}`}:t?.includes("text/html")||t?.includes("application/xhtml+xml")?{message:`Request to ${r.url} failed with status ${r.status} and an unexpected HTML response body`}:{message:`Request to ${r.url} failed with status ${r.status} and unreadable response body`}}};var sy=1e4,ay=3e4,iy=5e3,py=10*6e4,cy=3e4,dy=25e3,uy=65e3,Za=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},sy);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>ay}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Ja=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},iy);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>py}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Xa=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>cy}},ut=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"}}));},dy);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>uy}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var fy=5e3,yy=250,Py=3e4,lt=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=Ry(this.#r,{baseMs:yy,maxMs:Py});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);}}},mt=class{#e;#r;#t;#o;constructor(r={}){this.#e=r.heartbeat;}connect(r){if(this.#r?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#i(),this.#t!==void 0)return this.#t;let o=this.#n(r).then(()=>({reusedOpenSocket:false})).catch(n=>{throw this.#t===o&&(this.#t=void 0),n});return this.#t=o,o}send(r){return this.#s(JSON.stringify(r))}#s(r){return this.#r?.readyState!==WebSocket.OPEN?false:(this.#r.send(r),true)}async close(){let r=await this.#u();this.#c(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{r.addEventListener("close",()=>t(),{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#n(r){let t=await r.prepare?.();return new Promise((o,n)=>{let s=gy(r.url,r.headers),a=()=>{s.removeEventListener("error",l),this.#a(s),this.#p(),r.onOpen(t),o(s);},l=P=>{s.removeEventListener("open",a),n(new c(`WebSocket connection failed: ${r.url}`,{cause:P}));};s.addEventListener("open",a,{once:true}),s.addEventListener("error",l,{once:true}),s.addEventListener("message",P=>{if(this.#r!==s)return;let x=String(P.data);if(this.#e?.handleMessage(x))return;let I;try{I=JSON.parse(x);}catch{return}r.onMessage(I);}),s.addEventListener("close",P=>{this.#r===s&&(this.#i(),r.onConnectionLost({code:P.code||1005,reason:P.reason??""}));}),s.addEventListener("error",()=>r.onError());})}#a(r){this.#r=r,this.#t=void 0;}#i(){this.#c(),this.#r=void 0;}#p(){this.#c();let r=this.#e;r!==void 0&&(r.start(t=>this.#s(t)),this.#o=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#r;t?.readyState===WebSocket.OPEN&&t.close();},fy));}#c(){this.#o!==void 0&&(clearInterval(this.#o),this.#o=void 0),this.#e?.stop();}async#u(){let r=this.#r,t=this.#t;return this.#r=void 0,this.#t=void 0,r!==void 0?r:t?.then(()=>this.#r,()=>{})}};function gy(e,r){if(r===void 0)return new WebSocket(e);try{let t=Reflect.construct(WebSocket,[e,{headers:r}]);if(t instanceof WebSocket)return t}catch(t){throw new c("WebSocket headers require a header-capable WebSocket implementation.",{cause:t})}throw new c("WebSocket headers require a header-capable WebSocket implementation.")}function Ry(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var ft=1440*60*1e3,ni=90*ft,ie=z$1.number().int().nonnegative(),Ao=z$1.object({start:ie.optional(),end:ie.optional()}),si=z$1.object({interval:PerpsPnlIntervalSchema,start:ie,end:ie.optional()}),Dy=z$1.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),zy=z$1.enum(["perpsEquityHistory","perpsPnlHistory"]),Oo=z$1.object({kind:Dy,startTimestamp:ie,endTimestamp:ie,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z$1.array(z$1.string())}),ai=z$1.object({kind:zy,startTimestamp:ie,endTimestamp:ie,interval:PerpsPnlIntervalSchema});async function ii(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function pi(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}async function ci(e){return await unwrap(e.get("/v1/account/stats").andThen(y(FetchPerpsAccountStatsResponseSchema)))}async function di(e){return await unwrap(e.get("/v1/account/auto-cancel").andThen(y(FetchPerpsAutoCancelStatusResponseSchema)))}var _y=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function ui(e,r){let t=m(r,_y);return await unwrap(e.get("/v1/account/config",{params:le(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var Wy=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function li(e,r){let t=m(r,Wy);return await unwrap(e.get("/v1/account/open-orders",{params:le(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var jy=z$1.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ie.optional(),end:ie.optional()}).default({}),Hy=jy.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function mi(e,r){let t=m(r,Hy);return await unwrap(e.get("/v1/account/orders",{params:le(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var Ny=z$1.object({start:ie.optional(),end:ie.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function fi(e,r={}){let t=m(r,Ny);return C(o=>e.get("/v1/account/fills",{params:le({startTimestamp:t.start,endTimestamp:t.end,sort:t.sort,cursor:o??t.cursor})}).andThen(y(ListPerpsFillsResponseSchema)).map(n=>{let s=n.data.at(-1);return !n.more||s===void 0?{items:n.data,hasMore:false}:{items:n.data,hasMore:true,nextCursor:toPaginationCursor(String(s.tradeId))}}),t.cursor)}var Ky=Ao.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),Gy=z$1.object({cursor:PaginationCursorSchema}),$y=z$1.union([Ky.transform(({cursor:e,...r})=>({cursor:e,params:wo(r,ft)})),Gy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function yi(e,r={}){let{cursor:t,params:o}=m(r,$y);return C(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=or(n,Oo);let{kind:a,seenKeys:l,...P}=s,x=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:le(P)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(I=>{let j=I.data.filter(B=>!x.has(`${B.instrumentId}:${B.timestamp}:${B.funding}`));return Lo({getKey:B=>`${B.instrumentId}:${B.timestamp}:${B.funding}`,getTimestamp:B=>B.timestamp,items:j,responseData:I.data,responseMore:I.more,state:s})})},t)}var Vy=Ao.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),Yy=z$1.object({cursor:PaginationCursorSchema}),Qy=z$1.union([Vy.transform(({cursor:e,...r})=>({cursor:e,params:wo(r,ni)})),Yy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Pi(e,r={}){let{cursor:t,params:o}=m(r,Qy);return C(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps deposit params."),s={kind:"perpsDeposits",seenKeys:[],...o}):s=or(n,Oo);let{kind:a,seenKeys:l,...P}=s,x=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:le(P)}).andThen(y(ListPerpsDepositsResponseSchema)).map(I=>{let j=I.data.filter(B=>!x.has(B.hash));return Lo({getKey:B=>B.hash,getTimestamp:fP,items:j,responseData:I.data,responseMore:I.more,state:s})})},t)}var Zy=Ao.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),Jy=z$1.object({cursor:PaginationCursorSchema}),Xy=z$1.union([Zy.transform(({cursor:e,...r})=>({cursor:e,params:wo(r,ni)})),Jy.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function gi(e,r={}){let{cursor:t,params:o}=m(r,Xy);return C(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps withdrawal params."),s={kind:"perpsWithdrawals",seenKeys:[],...o}):s=or(n,Oo);let{kind:a,seenKeys:l,...P}=s,x=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:le(P)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(I=>{let j=I.data.filter(B=>!x.has(String(B.withdrawalId)));return Lo({getKey:B=>String(B.withdrawalId),getTimestamp:yP,items:j,responseData:I.data,responseMore:I.more,state:s})})},t)}var eP=si.extend({cursor:PaginationCursorSchema.optional()}),rP=z$1.object({cursor:PaginationCursorSchema}),tP=z$1.union([eP.transform(({cursor:e,...r})=>({cursor:e,params:xi(r)})),rP.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Ri(e,r){let{cursor:t,params:o}=m(r,tP);return C(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps equity history params."),s={kind:"perpsEquityHistory",...o}):s=or(n,ai);let{kind:a,...l}=s;return e.get("/v1/account/equity",{params:le(l)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(P=>{let x=P.data.at(-1),I=P.more&&x!==void 0&&x.timestamp<s.endTimestamp;return {items:P.data,hasMore:I,nextCursor:I?yt({...s,startTimestamp:x.timestamp+Ci(s.interval)}):void 0}})},t)}var oP=si.extend({cursor:PaginationCursorSchema.optional()}),nP=z$1.object({cursor:PaginationCursorSchema}),sP=z$1.union([oP.transform(({cursor:e,...r})=>({cursor:e,params:xi(r)})),nP.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Ei(e,r){let{cursor:t,params:o}=m(r,sP);return C(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps PnL history params."),s={kind:"perpsPnlHistory",...o}):s=or(n,ai);let{kind:a,...l}=s;return e.get("/v1/account/pnl",{params:le(l)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(P=>{let x=P.data.at(-1),I=P.more&&x!==void 0&&x.timestamp<s.endTimestamp;return {items:P.data,hasMore:I,nextCursor:I?yt({...s,startTimestamp:x.timestamp+Ci(s.interval)}):void 0}})},t)}var aP=z$1.object({kind:z$1.literal("perpsNotifications"),cursor:z$1.string().min(1),sinceSeq:z$1.number().int().nonnegative().optional(),limit:z$1.number().int().positive().optional()}),iP=z$1.object({sinceSeq:z$1.number().int().nonnegative().optional(),limit:z$1.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),pP=z$1.object({cursor:PaginationCursorSchema}),cP=z$1.union([iP.transform(({cursor:e,...r})=>({cursor:e,params:r})),pP.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Si(e,r={}){let{cursor:t,params:o}=m(r,cP);return C(n=>{let s;n===void 0?invariant(o!==void 0,"Expected initial Perps notifications params."):s=or(n,aP);let a=s===void 0?o?.sinceSeq:s.sinceSeq,l=s===void 0?o?.limit:s.limit;return e.get("/v1/account/notifications",{params:le({cursor:s?.cursor,limit:l,sinceSeq:a})}).andThen(y(ListPerpsNotificationsResponseSchema)).map(P=>{let x=P.has_more&&P.next_cursor!==null;return {items:P.items,hasMore:x,nextCursor:x&&P.next_cursor!==null?yt({kind:"perpsNotifications",cursor:P.next_cursor,limit:l,sinceSeq:a}):void 0}})},t)}async function hi(e){return (await unwrap(e.get("/v1/account/notifications",{params:le({limit:1})}).andThen(y(FetchPerpsUnreadNotificationsCountResponseSchema)))).unread}var dP=z$1.object({ids:z$1.array(z$1.string().min(1)).min(1)}),uP=z$1.object({upTo:z$1.object({id:z$1.string().min(1),timestamp:z$1.number().int().nonnegative()})}),lP=z$1.union([dP.transform(({ids:e})=>({ids:e})),uP.transform(({upTo:e})=>({before:mP(e)}))]);async function Ti(e,r){let t=m(r,lP),o=await unwrap(e.post("/v1/account/notifications/read",{json:t}).andThen(y(MarkPerpsNotificationsReadResponseSchema)));if(o.status==="err")throw new g(o.error??"Perps notifications read request was rejected.",{status:200})}function mP(e){return btoa(JSON.stringify({ts:e.timestamp,id:e.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function wo(e,r){let t=Date.now(),{end:o,start:n,...s}=e;return {...s,endTimestamp:o??t,startTimestamp:n??t-r}}function xi(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function or(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps account pagination cursor",{cause:t})}}function yt(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function le(e){return R(e,h())}function fP(e){return e.confirmedTimestamp??e.createdTimestamp}function yP(e){return e.confirmedTimestamp??e.createdTimestamp}function Lo(e){let r=e.responseData.at(-1),t=e.items.at(-1),o=(t===void 0?void 0:e.getTimestamp(t))??(r===void 0?void 0:e.getTimestamp(r)),n=e.responseMore&&o!==void 0&&o>e.state.startTimestamp;if(!n)return {items:e.items,hasMore:n};let s=t===void 0?o-1:o,a=new Set(e.state.endTimestamp===s?e.state.seenKeys:[]);for(let l of e.items)e.getTimestamp(l)===s&&a.add(e.getKey(l));return {items:e.items,hasMore:n,nextCursor:yt({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function Ci(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return ft;case "1w":return 7*ft}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var Bo=z$1.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional()}),hP=Bo.extend({price:PerpsDecimalInputSchema,timeInForce:z$1.literal(PerpsTimeInForce.GTC),postOnly:z$1.boolean().default(false)}),TP=Bo.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z$1.literal(PerpsTimeInForce.IOC),postOnly:z$1.never().optional()}),xP=Bo.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z$1.literal(PerpsTimeInForce.FOK),postOnly:z$1.never().optional()}),Uo=z$1.discriminatedUnion("timeInForce",[hP,TP,xP]),Pt=z$1.object({triggerPrice:PerpsDecimalInputSchema,limitPrice:PerpsDecimalInputSchema.optional()}),gt=z$1.object({triggerPrice:PerpsDecimalInputSchema}),CP=z$1.union([z$1.object({takeProfit:Pt,stopLoss:Pt.optional()}),z$1.object({takeProfit:Pt.optional(),stopLoss:Pt})]),IP=z$1.object({orders:z$1.array(Uo).min(1),expiresAt:z$1.number().int().positive().optional()});async function Oi(e,r){let t=m(r,IP);return await e.executeCommand({op:["createOrders",t.orders.map(Do)],expiresAt:t.expiresAt},z$1.array(PerpsPostOrderAckSchema))}var bP=z$1.intersection(Uo,z$1.intersection(CP,z$1.object({clientOrderId:PerpsClientOrderIdSchema.default(Ni),expiresAt:z$1.number().int().positive().optional()}))),kP=z$1.intersection(Uo,z$1.object({clientOrderId:PerpsClientOrderIdSchema.default(Ni),expiresAt:z$1.number().int().positive().optional(),takeProfit:z$1.never().optional(),stopLoss:z$1.never().optional()})),wi=z$1.array(PerpsPostOrderAckSchema).min(1).refine(e=>e.every(r=>r.status==="ok"),"Expected successful Perps order acknowledgements.");function vP(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Li(e,r){if(vP(r))return await qP(e,r);let t=m(r,kP),[,o]=await e.executeCommandWithEvent({op:["createOrders",[Do(t)]],expiresAt:t.expiresAt},wi,Ki(t.clientOrderId));return {order:o.payload}}async function qP(e,r){let t=m(r,bP),o=[Do(t)],n=t.side===OrderSide.SELL;t.takeProfit!==void 0&&o.push(ht({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(ht({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),trigger:t.stopLoss}));let[s,a]=await e.executeCommandWithEvent({op:["createOrders",o,PerpsTpSlScope.Order],expiresAt:t.expiresAt},wi,Ki(t.clientOrderId)),l=1,P={};return t.takeProfit!==void 0&&(P.takeProfit=St(expectPresent(s[l++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(P.stopLoss=St(expectPresent(s[l],"Expected Perps stop-loss acknowledgement."))),{order:a.payload,tpSl:P}}var AP=z$1.union([z$1.object({takeProfit:gt,stopLoss:gt.optional()}),z$1.object({takeProfit:gt.optional(),stopLoss:gt})]),OP=z$1.intersection(AP,z$1.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z$1.number().int().positive().optional()}));async function Mi(e,r){let t=m(r,OP),o=WP(await e.fetchPortfolio(),t.instrumentId),n=[];t.takeProfit!==void 0&&n.push(ht({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:"0",trigger:t.takeProfit})),t.stopLoss!==void 0&&n.push(ht({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:"0",trigger:t.stopLoss}));let s=await e.executeCommand({op:["createOrders",n,PerpsTpSlScope.Position],expiresAt:t.expiresAt},z$1.array(PerpsPostOrderAckSchema));for(let P of s)if(P.status==="err")throw new g(P.error,{status:200});let a=0,l={};return t.takeProfit!==void 0&&(l.takeProfit=St(expectPresent(s[a++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(l.stopLoss=St(expectPresent(s[a],"Expected Perps stop-loss acknowledgement."))),{tpSl:l}}var wP=z$1.union([z$1.object({orderId:PerpsOrderIdSchema,clientOrderId:z$1.undefined().optional(),expiresAt:z$1.number().int().positive().optional()}),z$1.object({clientOrderId:PerpsClientOrderIdSchema,orderId:z$1.undefined().optional(),expiresAt:z$1.number().int().positive().optional()})]);async function Fi(e,r){let t=m(r,wP),[o]=t.orderId!==void 0?await Et(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await Et(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var LP=z$1.union([z$1.object({orderIds:z$1.array(PerpsOrderIdSchema).min(1),clientOrderIds:z$1.undefined().optional(),expiresAt:z$1.number().int().positive().optional()}),z$1.object({clientOrderIds:z$1.array(PerpsClientOrderIdSchema).min(1),orderIds:z$1.undefined().optional(),expiresAt:z$1.number().int().positive().optional()})]);async function Et(e,r){let t=m(r,LP);return t.orderIds!==void 0?await e.executeCommand({op:["cancelOrders",t.orderIds],expiresAt:t.expiresAt},z$1.array(PerpsCancelOrderResultSchema)):await e.executeCommand({op:["cancelOrdersCOID",t.clientOrderIds],expiresAt:t.expiresAt},z$1.array(PerpsCancelOrderResultSchema))}var MP=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z$1.number().int().positive().optional()}).default({});async function Bi(e,r){let t=m(r,MP),o=["cancelAll",t.instrumentId===void 0?[]:[t.instrumentId]];await e.executeDeleteCommand({path:"/v1/trade/orders/all",op:o,responseSchema:PerpsCancelAllOrdersResponseSchema,expiresAt:t.expiresAt});}var FP=5e3,BP=z$1.object({cancelAt:z$1.number().int().positive(),expiresAt:z$1.number().int().positive().optional()}).superRefine((e,r)=>{let t=Date.now()+FP;e.cancelAt<t&&r.addIssue({code:"custom",message:"cancelAt must be at least 5 seconds in the future.",path:["cancelAt"]});}),Ui=o(m$1,h$1,g,n,c,b,a),UP="auto_cancel_daily_limit_reached";async function Di(e,r,t){let o=m(t,BP),n=["autoCancel",[o.cancelAt]],s=r(n,o.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...s,op:vr(n)}}).andThen(y(PerpsAutoCancelResponseSchema)).mapErr(a=>a instanceof g&&a.message.startsWith(`${UP} (`)?new m$1("Auto-cancel daily trigger limit reached.",{cause:a}):a));}var DP=z$1.object({expiresAt:z$1.number().int().positive().optional()}).default({});async function zi(e,r,t){let o=m(t,DP),n=["autoCancel",[0]],s=r(n,o.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...s,op:vr(n)}}).andThen(y(PerpsAutoCancelResponseSchema)));}var zP=z$1.object({instrumentId:PerpsInstrumentIdSchema,leverage:z$1.number().int().positive(),crossMargin:z$1.boolean()}),_i=o(g,n,c,a);async function Wi(e,r){let t=m(r,zP);return await e.executeCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]]},PerpsUpdateLeverageResultSchema)}var _P=z$1.object({instrumentId:PerpsInstrumentIdSchema,amount:PerpsDecimalInputSchema}),ji=o(g,n,c,a);async function Hi(e,r){let t=m(r,_P),o=toDecimalString(t.amount),n=await e.executeCommand({op:["updateMargin",[t.instrumentId,o]]},PerpsCommandAckSchema);if(n.status==="err")throw new g(n.error,{status:200})}function Ni(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return PerpsClientOrderIdSchema.parse(Array.from(e,r=>r.toString(16).padStart(2,"0")).join(""))}function Ki(e){return r=>r.type==="order"&&r.payload.clientOrderId===e}function St(e){if(e.status==="err")throw new g(e.error,{status:200});return {orderId:e.orderId}}function WP(e,r){let t=e.positions.find(n=>n.instrumentId===r),o=t===void 0?0:jP(t.size);if(o===0)throw new a(`No open Perps position for instrument ${r}.`);return o<0}function jP(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function Do(e){return [e.instrumentId,e.side===OrderSide.BUY,e.price===void 0?void 0:toDecimalString(e.price),toDecimalString(e.quantity),e.timeInForce,e.postOnly??false,e.reduceOnly===true?true:void 0,e.clientOrderId,void 0]}function ht(e){return [e.instrumentId,e.buy,e.trigger.limitPrice===void 0?void 0:toDecimalString(e.trigger.limitPrice),e.quantity,void 0,false,true,void 0,[e.trigger.limitPrice===void 0?true:void 0,toDecimalString(e.trigger.triggerPrice),e.kind]]}function vr(e){let[r,t,o]=e;switch(r){case "createOrders":return KP({args:t.map(HP),type:r},o);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "autoCancel":{let[n]=t;return {type:r,args:{time:n}}}case "cancelAll":{let[n]=t;return {type:r,args:n===void 0?{}:{iid:n}}}case "updateLeverage":{let[n,s,a]=t;return {type:r,args:{cross:a,iid:n,lev:s}}}case "updateMargin":{let[n,s]=t;return {type:r,args:{amt:s,iid:n}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function HP(e){let r={iid:e[0],buy:e[1],po:e[5],qty:e[3]};return e[4]!==void 0&&(r.tif=e[4]),e[6]&&(r.ro=e[6]),e[2]!==void 0&&(r.p=e[2]),e[7]!==void 0&&(r.c=e[7]),e[8]!==void 0&&(r.tr=NP(e[8])),r}function NP(e){let r={tpsl:e[2],trp:e[1]};return e[0]!==void 0&&(r.market=e[0]),r}function KP(e,r){return r!==void 0&&(e.grp=r),e}var ZP=3e4,Vi=3e4,JP=2e3,XP=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],eg=new Set(["notifications"]),rg=z$1.object({id:z$1.number().int().positive().optional(),data:z$1.unknown().optional()}).passthrough(),Yi=z$1.union([PerpsCommandAckSchema,z$1.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),Qi=class{credentials;#e;#r;#t;#o;#s;#n=new mt({heartbeat:new ut});#a=pushable({objectMode:true});#i=new Map;#p=new Set;#c=new lt;#u=new Map;#l=1;#d;constructor(r){this.#e=new dt({headers:r.headers,resolveHeaders:async()=>this.#T(),root:r.restUrl}),this.#r=r.chainId,this.credentials=r.credentials,this.#t=r.headers,this.#o=r.onClose,this.#s=r.wsUrl;}get closed(){return this.#d!==void 0}async connect(){await this.#m(false);}async close(){this.#d===void 0&&(this.#d=this.#x()),await this.#d;}[Symbol.asyncIterator](){return this.#a[Symbol.asyncIterator]()}async fetchBalances(){return await ii(this.#e)}async fetchPortfolio(){return await pi(this.#e)}async fetchStats(){return await ci(this.#e)}async fetchAccountConfig(r){return await ui(this.#e,r)}async fetchAutoCancelStatus(){return await di(this.#e)}async fetchOpenOrders(r){return await li(this.#e,r)}async fetchOrders(r){return await mi(this.#e,r)}listFills(r={}){return fi(this.#e,r)}listFundingPayments(r={}){return yi(this.#e,r)}listDeposits(r={}){return Pi(this.#e,r)}listWithdrawals(r={}){return gi(this.#e,r)}listEquityHistory(r){return Ri(this.#e,r)}listPnlHistory(r){return Ei(this.#e,r)}listNotifications(r={}){return Si(this.#e,r)}async fetchUnreadNotificationsCount(){return await hi(this.#e)}async markNotificationsRead(r){await Ti(this.#e,r);}async placeOrder(r){return await Li(this,r)}async postOrders(r){return await Oi(this,r)}async placePositionTpSl(r){return await Mi(this,r)}async cancelOrder(r){return await Fi(this,r)}async cancelOrders(r){return await Et(this,r)}async cancelAllOrders(r){await Bi(this,r);}async armAutoCancel(r){await Di(this.#e,(t,o)=>this.#f(t,o),r);}async disarmAutoCancel(r){await zi(this.#e,(t,o)=>this.#f(t,o),r);}async updateLeverage(r){return await Wi(this,r)}async updateMargin(r){await Hi(this,r);}async#m(r){await this.#n.connect({onConnectionLost:()=>this.#b(),onError:()=>{},onMessage:t=>this.#C(t),onOpen:()=>{},headers:this.#t,url:this.#s}),await this.#S(),await this.#h(),this.#c.resetBackoff(),r&&(this.#u.clear(),this.#a.push({reason:"reconnect",type:"resync"}));}async#S(){await this.#P({id:this.#l++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},Yi,ZP,"Perps session authentication timed out.");}async#h(){await this.#P({id:this.#l++,req:"sub",chs:XP},Yi,Vi,"Perps session subscription timed out.");}#T(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}async executeCommand(r,t){let o=vr(r.op),n=this.#f(r.op,r.expiresAt);return await this.#P({...n,id:this.#l++,op:o,req:"post"},t,Vi,"Perps command response timed out.")}async executeCommandWithEvent(r,t,o){let n=this.#v(o),s=this.executeCommand(r,t);s.then(()=>this.#q(n,JP),()=>{});try{let[a,l]=await Promise.all([s,n.promise]);return [a,l]}finally{this.#y(n);}}async executeDeleteCommand(r){let t=this.#f(r.op,r.expiresAt);return await unwrap(this.#e.del(r.path,{json:{...t,op:vr(r.op)}}).andThen(y(r.responseSchema)))}#f(r,t){let o=ng(),n$1=Date.now(),s;try{s=$a({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n$1});}catch(l){throw n.fromError(l,"Could not sign the Perps session command")}let a={salt:o,sig:s,ts:n$1};return t!==void 0&&(a.exp=t),a}async#P(r,t,o,n){let s=tg(t);this.#i.set(r.id,s);let a=setNonBlockingTimeout(()=>{s.reject(new c(n));},o);try{if(!this.#n.send(r))throw new c("Perps session transport is not open.");return await s.promise}finally{clearTimeout(a),this.#i.delete(r.id);}}async#x(){this.#c.stop(),this.#g(new c("Perps session closed.")),this.#E(new c("Perps session closed.")),this.#a.end(),await this.#n.close(),this.#o(this);}#C(r){if(this.#I(r)||PerpsNotificationsResyncFrameSchema.safeParse(r).success)return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#k(o),this.#R(o);}#I(r){let t=rg.safeParse(r);if(!t.success||t.data.id===void 0)return false;let o=this.#i.get(t.data.id);if(o===void 0)return true;let n=o.schema.safeParse(t.data.data);if(!n.success){let s=zo(t.data.data??t.data);return s!==void 0?o.reject(new g(s.error,{status:200})):o.reject(new c("Perps session unexpected response.")),true}return og(n.data)?o.reject(new g(n.data.error,{status:200})):o.resolve(n.data),true}#b(){this.#g(new c("Perps session connection closed.")),this.#E(new c("Perps session connection closed.")),this.#d===void 0&&this.#c.schedule({reconnect:()=>this.#m(true),shouldReconnect:()=>this.#d===void 0});}#g(r){for(let t of this.#i.values())t.reject(r);this.#i.clear();}#k(r){if(eg.has(r.channel))return;let t=this.#u.get(r.channel);this.#u.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#R({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#R(r){this.#A(r),this.#a.push(r);}#v(r){let t,o,s={promise:new Promise((a,l)=>{t=a,o=l;}),predicate:r,reject:o,resolve:t};return this.#p.add(s),s}#q(r,t){this.#p.has(r)&&(r.timeout=setNonBlockingTimeout(()=>{this.#y(r),r.reject(new i("Perps event wait timed out."));},t));}#A(r){for(let t of Array.from(this.#p))t.predicate(r)&&(this.#y(t),t.resolve(r));}#y(r){this.#p.delete(r)&&r.timeout!==void 0&&clearTimeout(r.timeout);}#E(r){for(let t of Array.from(this.#p))this.#y(t),t.reject(r);}};function tg(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function og(e){return Array.isArray(e)?false:zo(e)!==void 0}function zo(e){if(Array.isArray(e)){for(let t of e){let o=zo(t);if(o!==void 0)return o}return}if(typeof e!="object"||e===null)return;let r=e;if(r.status==="err")return {error:typeof r.error=="string"?r.error:"Perps command failed."}}function ng(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Ke=o(h$1,g,c,b,a),Ee=z$1.number().int().nonnegative(),Xi=1440*60*1e3,Cg=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),yA=Ke;async function PA(e,r){let t=m(r,Cg);return unwrap(e.perps.get("/v1/info/instruments",{params:R(t,h())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var Ig=z$1.object({instrumentId:PerpsInstrumentIdSchema}),gA=Ke;async function RA(e,r){let t=m(r,Ig),[o]=await kg(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var bg=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),EA=Ke;async function kg(e,r){let t=m(r,bg),o=R(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(l=>[l.instrumentId,l]));return n.map(l=>{let P=a.get(l.instrumentId);return {...l,openPrice:P?.openPrice,volume24h:P?.volume}})}var vg=z$1.union([z$1.literal(10),z$1.literal(100),z$1.literal(500),z$1.literal(1e3)]),qg=z$1.object({instrumentId:PerpsInstrumentIdSchema,depth:vg.default(100)}),SA=Ke;async function hA(e,r){let t=m(r,qg);return unwrap(e.perps.get("/v1/info/book",{params:R(t,h())}).andThen(y(PerpsBookSchema)))}var Ag=z$1.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:Ee.optional(),end:Ee.optional(),cursor:PaginationCursorSchema.optional()}),Og=z$1.object({cursor:PaginationCursorSchema}),wg=z$1.union([Ag.transform(({cursor:e,...r})=>({cursor:e,params:jg(r)})),Og.transform(({cursor:e})=>({cursor:e,params:void 0}))]),TA=Ke;function xA(e,r){let{cursor:t,params:o}=m(r,wg);return C(n=>{let s=n===void 0?Hg(o):Gg(n);return e.perps.get("/v1/info/klines",{params:R({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,interval:s.interval,startTimestamp:s.startTimestamp},h())}).andThen(y(FetchPerpsCandlesResponseSchema)).map(a=>{let l=a.data.at(-1),P=a.more&&l!==void 0;return {items:a.data,hasMore:P,nextCursor:P?Ho({...s,startTimestamp:l.timestamp+Yg(s.interval)}):void 0}})},t)}var ep=z$1.object({instrumentId:PerpsInstrumentIdSchema,start:Ee.optional(),end:Ee.optional()}),Lg=ep.extend({cursor:PaginationCursorSchema.optional()}),Mg=z$1.object({cursor:PaginationCursorSchema}),Fg=z$1.union([Lg.transform(({cursor:e,...r})=>({cursor:e,params:rp(r)})),Mg.transform(({cursor:e})=>({cursor:e,params:void 0}))]),Bg=ep.extend({cursor:PaginationCursorSchema.optional()}),Ug=z$1.object({cursor:PaginationCursorSchema}),CA=Ke;function IA(e,r){let{cursor:t,params:o}=m(r,Fg);return C(n=>{let s=n===void 0?Ng(o):$g(n);return e.perps.get("/v1/info/funding",{params:R({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},h())}).andThen(y(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let l=a.data.at(-1),P=a.more&&l!==void 0&&l.timestamp>s.startTimestamp;return {items:a.data,hasMore:P,nextCursor:P?Ho({...s,endTimestamp:l.timestamp-1}):void 0}})},t)}var Dg=z$1.union([Bg.transform(({cursor:e,...r})=>({cursor:e,params:rp(r)})),Ug.transform(({cursor:e})=>({cursor:e,params:void 0}))]),bA=Ke;function kA(e,r){let{cursor:t,params:o}=m(r,Dg);return C(n=>{let s=n===void 0?Kg(o):Vg(n),a=new Set(s.seenTradeIds);return e.perps.get("/v1/info/trades",{params:R({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},h())}).andThen(y(FetchPerpsTradesResponseSchema)).map(l=>{let P=l.data.filter(Zp=>!a.has(Zp.tradeId)),x=l.data.at(-1),I=P.at(-1),j=I?.timestamp??x?.timestamp,B=l.more&&j!==void 0&&j>s.startTimestamp;return {items:P,hasMore:B,nextCursor:B?Ho({...s,endTimestamp:I===void 0?j-1:j,seenTradeIds:I===void 0?[]:Qg(s,P,I)}):void 0}})},t)}var vA=o(h$1,g,c,b);async function qA(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var zg=z$1.object({kind:z$1.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:Ee,endTimestamp:Ee}),_g=z$1.object({kind:z$1.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Ee,endTimestamp:Ee}),Wg=z$1.object({kind:z$1.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Ee,endTimestamp:Ee,seenTradeIds:z$1.array(PerpsTradeIdSchema)});function jg(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Xi}}function rp(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Xi}}function Hg(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function Ng(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function Kg(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function Gg(e){return jo(e,zg)}function $g(e){return jo(e,_g)}function Vg(e){return jo(e,Wg)}function jo(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function Ho(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function Yg(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 Qg(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 Zg=z$1.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),Jg=z$1.object({proxy:z$1.string().transform(e=>expectEvmAddress(e)),privateKey:Zg,secret:z$1.string().min(1),expiresAt:z$1.number().int().positive()}),Xg=10080*60*1e3,eR=z$1.strictObject({expiresIn:z$1.number().int().positive().default(Xg),label:z$1.string().min(1).optional()}),rR=z$1.strictObject({credentials:Jg}),tR=z$1.union([eR,rR]),oR=z$1.object({proxy:z$1.string()}),nR=oR.transform(e=>({proxy:expectEvmAddress(e.proxy)})),tp=z$1.bigint().positive().max(re),sR=z$1.object({amount:tp,metadata:Q.optional()}),aR=z$1.object({amount:tp}),AA=o(h$1,g,n,c,b,a),OA=o(h$1,g,n,c,b,a),wA=o(a),LA=o(k,h$1,g,n,c,b,a),MA=o(h$1,g,n,c,b,a);async function FA(e,r={}){let t=m(r,tR),o="credentials"in t?await cR(e,t.credentials):await pR(e,t);return e.webSockets.perpsSession.connect(o)}async function BA(e,r){let t=m(r,nR),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=No(),a=Date.now(),l=await uR(e,{salt:s,signedOp:n,timestamp:a}),P=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:o,salt:s,sig:l,ts:a}}).andThen(y(PerpsDeleteProxyResponseSchema)));if(P.status==="err")throw new g(P.error??"Perps credentials revocation was rejected.",{status:200})}async function iR(e,r){let t=m(r,sR),{contracts:o}=e.environment,n=es(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?$(yield RR(V(e.environment.chainId,n))):yield*await X(e,{calls:[n],metadata:t.metadata??`Deposit ${t.amount} of ${o.collateralToken} to Perps`})}.call(null)}function UA(e,r){return iR(e,r).then(W(e.signer))}async function DA(e,r){let t=m(r,aR),o=Math.floor(Date.now()/1e3),n=No(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await lR(e,{amount:t.amount,salt:n,timestamp:o}),l=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:s,salt:n,sig:a,ts:o}}).andThen(y(PerpsWithdrawResponseSchema)));if(l.status==="err")throw new g(l.error??"Perps withdrawal was rejected.",{status:200});if(l.withdrawalId===void 0)throw new b("Perps withdrawal response did not include a withdrawal ID.");return l.withdrawalId}async function pR(e,r){let t=yR(),o=np(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),l=No(),P={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},x=await dR(e,{expiresAt:s,proxy:o,salt:l,timestamp:a}),I={op:P,salt:l,sig:x,ts:a};r.label!==void 0&&(I.label=r.label);let j=await unwrap(e.perps.post("/v1/account/proxy",{json:I}).andThen(y(PerpsCreateProxyResponseSchema))),B={expiresAt:s,privateKey:t,proxy:o,secret:j.secret};return op(e,B)}async function cR(e,r){return PR(r),op(e,r)}async function op(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:gR(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 dR(e,r){try{return await e.signer.signTypedData(fR({chainId:e.environment.chainId,...r}))}catch(t){throw n.fromError(t,"Could not sign the Perps proxy credentials request")}}async function uR(e,r){try{return await e.signer.signTypedData(ko({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw n.fromError(t,"Could not sign the Perps operation request")}}async function lR(e,r){try{return await e.signer.signTypedData(mR({account:e.account.signer,chainId:e.environment.chainId,contract:e.environment.contracts.perpsDepositContract,token:e.environment.contracts.collateralToken,to:e.account.wallet,...r}))}catch(t){throw n.fromError(t,"Could not sign the Perps withdrawal request")}}function mR(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 fR(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 yR(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function np(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function PR(e){let r=np(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function gR(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function RR(e){return {kind:"sendPerpsDepositTransaction",request:e}}function No(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var ap=(s=>(s.CurrentValueDesc="current_value_desc",s.FirstEntryDesc="first_entry_desc",s.EntryCostDesc="entry_cost_desc",s.ResolvedAtDesc="resolved_at_desc",s.UpdatedAsc="updated_asc",s))(ap||{}),CR=z$1.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),ip=z$1.enum(["ASC","DESC"]),IR=z$1.object({cursor:PaginationCursorSchema.optional(),user:z$1.string(),market:z$1.array(z$1.string()).optional(),eventId:z$1.array(z$1.number().int()).optional(),sizeThreshold:z$1.number().optional(),redeemable:z$1.boolean().optional(),mergeable:z$1.boolean().optional(),pageSize:A.max(500).default(20),sortBy:CR.optional(),sortDirection:ip.optional(),title:z$1.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),QA=o(h$1,g,c,b,a);function ZA(e,r){let{cursor:t,pageSize:o,...n}=m(r,IR);return C(s=>{let a=_(s,o);return e.data.get("/positions",{params:G({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListPositionsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var bR=z$1.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),kR=z$1.object({cursor:PaginationCursorSchema.optional(),user:z$1.string(),market:z$1.array(z$1.string()).optional(),title:z$1.string().max(100).optional(),eventId:z$1.array(z$1.number().int()).optional(),pageSize:A.max(50).default(20),sortBy:bR.optional(),sortDirection:ip.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),JA=o(h$1,g,c,b,a);function XA(e,r){let{cursor:t,pageSize:o,...n}=m(r,kR);return C(s=>{let a=_(s,o);return e.data.get("/closed-positions",{params:G({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListClosedPositionsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var vR=z$1.enum(ap),qR=z$1.union([ComboConditionIdSchema,z$1.array(ComboConditionIdSchema)]),AR=z$1.union([ComboPositionStatusSchema,z$1.tuple([ComboPositionStatusSchema],ComboPositionStatusSchema)]),OR=z$1.object({cursor:PaginationCursorSchema.optional(),user:z$1.string(),pageSize:A.default(20),status:AR.optional(),sort:vR.optional(),conditionId:qR.optional(),updatedAfter:z$1.number().int().min(0).optional(),updatedBefore:z$1.number().int().min(0).optional()}),eO=o(h$1,g,c,b,a);function rO(e,r){let{cursor:t,pageSize:o,conditionId:n,status:s,...a}=m(r,OR);return C(l=>{let P=R({...a,limit:o,cursor:l},h({updatedAfter:"updatedAfter",updatedBefore:"updatedBefore"}));return wR(P,n),LR(P,s),e.data.get("/v1/positions/combos",{params:P}).andThen(y(ListComboPositionsResponseSchema)).map(x=>{let I=x.pagination.nextCursor??void 0;return {items:x.combos,hasMore:I!==void 0,nextCursor:I}})},t)}function wR(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}function LR(e,r){r!==void 0&&e.append("status",typeof r=="string"?r:r.join(","));}var MR=z$1.object({user:z$1.string(),market:z$1.array(z$1.string()).optional()}),tO=o(h$1,g,c,b,a);async function oO(e,r){let t=m(r,MR);return unwrap(e.data.get("/value",{params:G(t)}).andThen(y(FetchPortfolioValueResponseSchema)))}var FR=z$1.object({user:z$1.string()}),nO=o(h$1,g,c,b,a);async function sO(e,r){let t=m(r,FR);return unwrap(e.data.get("/traded",{params:G(t)}).andThen(y(TradedSchema)))}var BR=z$1.object({user:z$1.string()}),aO=o(h$1,g,c,b,a);async function iO(e,r){let t=m(r,BR);return unwrap(e.data.get("/v1/accounting/snapshot",{params:G(t)}).andThen(Rn))}var pp=o(h$1,g,c,b,a),cp=z$1.object({amount:z$1.bigint().min(0n),conditionId:ConditionIdSchema,metadata:Q.optional()}),CO=pp;async function dp(e,r){let t=m(r,cp),o=await Xo(e,{conditionId:t.conditionId}),n=o.protocol==="ctf"?rs(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount):wt(e.environment.contracts.protocolV2Router,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?$(yield Vo(V(e.environment.chainId,n))):yield*await X(e,{calls:[n],metadata:t.metadata??`Split ${t.amount} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}var up=z$1.object({amount:z$1.bigint().positive(),legs:z$1.array(PositionIdSchema).min(1).max(50),metadata:Q.optional()}),IO=pp;async function lp(e,r){let t=m(r,up),o=Xt(t.legs),n=Mt(e.environment.contracts.combinatorialModule,o),s=Jt(o),a=wt(e.environment.contracts.protocolV2Router,s.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await $(yield Vo(V(e.environment.chainId,n))).wait(),$(yield Vo(V(e.environment.chainId,a)))):yield*await X(e,{calls:[n,a],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${s.conditionId}`})}.call(null)}var DR=z$1.union([cp.extend({legs:z$1.never().optional()}),up.extend({conditionId:z$1.never().optional()})]);async function zR(e,r){let t=m(r,DR);return t.legs!==void 0?lp(e,t):dp(e,t)}var mp=o(k,h$1,g,n,i,j,c,b,a),bO=mp;function kO(e,r){return dp(e,r).then(W(e.signer))}var vO=mp;function qO(e,r){return lp(e,r).then(W(e.signer))}function AO(e,r){return zR(e,r).then(W(e.signer))}var fp=o(h$1,g,c,b,a),yp=z$1.object({amount:z$1.union([z$1.bigint().positive(),z$1.literal("max")]),conditionId:ConditionIdSchema,metadata:Q.optional()}),OO=fp;async function Pp(e,r){let t=m(r,yp),o=await Xo(e,{conditionId:t.conditionId}),n=Wr(await e.rpc.ethCall(_r(o.positionErc1155Address,e.account.wallet,o.outcomeIds))),s=Ip(o.conditionId,n,t.amount),a=o.protocol==="ctf"?ts(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s):Lt(e.environment.contracts.protocolV2Router,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?$(yield Yo(V(e.environment.chainId,a))):yield*await X(e,{calls:[a],metadata:t.metadata??`Merge ${s} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}var gp=z$1.object({amount:z$1.union([z$1.bigint().positive(),z$1.literal("max")]),legs:z$1.array(PositionIdSchema).min(1).max(50),metadata:Q.optional()}),wO=fp;async function Rp(e,r){let t=m(r,gp),o=Xt(t.legs),n=Mt(e.environment.contracts.combinatorialModule,o),s=Jt(o),a=Wr(await e.rpc.ethCall(_r(e.environment.contracts.positionManager,e.account.wallet,s.positionIds))),l=Ip(s.conditionId,a,t.amount),P=Lt(e.environment.contracts.protocolV2Router,s.conditionId,l);return async function*(){return e.account.walletType===WalletType.EOA?(await $(yield Yo(V(e.environment.chainId,n))).wait(),$(yield Yo(V(e.environment.chainId,P)))):yield*await X(e,{calls:[n,P],metadata:t.metadata??`Merge ${l} combo positions for condition ${s.conditionId}`})}.call(null)}var _R=z$1.union([yp.extend({legs:z$1.never().optional()}),gp.extend({conditionId:z$1.never().optional()})]);async function WR(e,r){let t=m(r,_R);return t.legs!==void 0?Rp(e,t):Pp(e,t)}var Ep=o(k,h$1,g,n,i,j,c,b,a),LO=Ep;function MO(e,r){return Pp(e,r).then(W(e.signer))}var FO=Ep;function BO(e,r){return Rp(e,r).then(W(e.signer))}function UO(e,r){return WR(e,r).then(W(e.signer))}var Sp=o(h$1,g,c,b,a),hp=z$1.object({conditionId:ConditionIdSchema,marketId:z$1.never().optional(),amount:z$1.never().optional(),positionId:z$1.never().optional(),metadata:Q.optional()}),Tp=z$1.object({conditionId:z$1.never().optional(),marketId:MarketIdSchema,amount:z$1.never().optional(),positionId:z$1.never().optional(),metadata:Q.optional()}),jR=z$1.union([hp,Tp]),DO=Sp;async function HR(e,r){let t=m(r,jR),o=await Xo(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),n=await YR(e,o);return async function*(){return e.account.walletType===WalletType.EOA?yield*GR(e,n):yield*await X(e,{calls:n,metadata:t.metadata??`Redeem positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}var xp=z$1.object({positionId:PositionIdSchema,conditionId:z$1.never().optional(),marketId:z$1.never().optional(),metadata:Q.optional()});async function Cp(e,r){let t=m(r,xp),o=oa(t.positionId),n=Zn(await e.rpc.ethCall(Qn(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Position has no balance to redeem");let s=jr(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?$(yield Qo(V(e.environment.chainId,s))):yield*await X(e,{calls:[s],metadata:t.metadata??`Redeem position ${t.positionId}`})}.call(null)}var zO=Sp;function _O(e,r){return Cp(e,r)}var NR=z$1.union([hp,Tp,xp]);async function KR(e,r){let t=m(r,NR);return t.positionId!==void 0?Cp(e,t):HR(e,t)}var WO=o(k,h$1,g,n,i,j,c,b,a);function jO(e,r){return KR(e,r).then(W(e.signer))}function Vo(e){return {kind:"sendSplitPositionTransaction",request:e}}function Yo(e){return {kind:"sendMergePositionsTransaction",request:e}}function Qo(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function*GR(e,r){let[t,...o]=r;invariant(t!==void 0,"Expected at least one redemption call");let n=t;for(let s of o)await $(yield Qo(V(e.environment.chainId,n))).wait(),n=s;return $(yield Qo(V(e.environment.chainId,n)))}async function Xo(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await js(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[$R(r.marketId)],closed:r.closed,pageSize:1}).firstPage(),[n]=o.items;if(n===void 0)throw new a(`No market found for ${t}`);let s=VR(n,t);return s.protocol==="v2"?{...s,positionErc1155Address:e.environment.contracts.positionManager}:{...s,adapterAddress:s.negRisk?e.environment.contracts.negRiskCollateralAdapter:e.environment.contracts.collateralAdapter,positionErc1155Address:s.negRisk?e.environment.contracts.negRiskAdapter:e.environment.contracts.conditionalTokens}}function $R(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function VR(e,r){if(!isPresent(e.conditionId))throw new b(`Missing condition ID for ${r}`);let t=e.outcomes.yes.tokenId,o=e.outcomes.no.tokenId,n=e.outcomes.yes.positionId,s=e.outcomes.no.positionId;if(isPresent(t)!==isPresent(o))throw new b(`Incomplete market token IDs for ${r}`);if(isPresent(t)&&isPresent(o)){if(!isPresent(e.state.negRisk))throw new b(`Missing negative-risk flag for ${r}`);return {marketId:e.id,conditionId:e.conditionId,protocol:"ctf",negRisk:e.state.negRisk,outcomeIds:[t,o]}}if(isPresent(n)!==isPresent(s))throw new b(`Incomplete market position IDs for ${r}`);if(isPresent(n)&&isPresent(s))return {marketId:e.id,conditionId:e.conditionId,protocol:"v2",outcomeIds:[n,s]};throw new b(`Missing tradeable outcome IDs for ${r}`)}async function YR(e,r){if(r.protocol==="ctf")return [os(r.adapterAddress,e.environment.contracts.collateralToken,r.conditionId)];let t=Wr(await e.rpc.ethCall(_r(r.positionErc1155Address,e.account.wallet,r.outcomeIds)));if(t.length!==2)throw new b("Expected two position balances");let[o,n]=t;invariant(o!==void 0,"Expected YES position balance"),invariant(n!==void 0,"Expected NO position balance");let s=[];if(o>0n&&s.push(jr(e.environment.contracts.protocolV2Router,r.conditionId,0,o)),n>0n&&s.push(jr(e.environment.contracts.protocolV2Router,r.conditionId,1,n)),s.length===0)throw new a(`Market positions have no balance to redeem for condition ${r.conditionId}`);return s}function Ip(e,r,t){let o=QR(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 QR(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 rE=z$1.object({address:z$1.string()}),ZO=o(h$1,g,c,b,a);async function JO(e,r){let t=m(r,rE);return unwrap(e.gamma.get("/public-profile",{params:R(t,h())}).andThen(y(PublicProfileSchema)).orElse(o=>o instanceof g&&o.status===404?ok(null):err(o)))}var tn=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;}},cw=o(e,tn,n,i,c,a),on=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;}},dw=o(e,on,i,c),nn=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;}},uw=o(e,nn,i,c),lw=o(e,c,a);async function mw(e){return wr(e),e.webSockets.rfqQuoter.connect()}var an="/v1/builder/rfq/requests",iE=3e4,pE=3e4,cE=3e4,dE=500,uE=3e4,lE=1e3,mE="0x0000000000000000000000000000000000000000000000000000000000000000",Le=class extends PolymarketError{name="RfqRequestRejectedError";status;code;constructor(r,t){super(r,t),this.status=t.status,this.code=t.code;}};function pn(e){return e instanceof g?new Le(e.message,{cause:e,code:Bp(e.code),status:e.status}):e}var fE=new Set(Object.values(RfqRejectionCode));function Bp(e){return e!==void 0&&fE.has(e)?e:RfqRejectionCode.RequestFailed}function Up(e){if(!e.hasBuilderApiKey)throw new a("Combo RFQ requests require a Builder API Key in the client configuration, via builderApiKey(...) or remoteBuilderSigning(...).")}var Ap=z$1.array(z$1.string().regex(/^\d+$/,"Leg position IDs must be numeric strings.").transform(e=>toPositionId(BigInt(e).toString()))).min(2,"Combo requests require at least 2 legs.").max(50,"Combo requests allow at most 50 legs.").refine(e=>new Set(e).size===e.length,"Leg position IDs must not contain duplicates.").transform(e=>[...e].sort((r,t)=>{let o=BigInt(r),n=BigInt(t);return o<n?-1:o>n?1:0})),xt=z$1.union([z$1.number(),z$1.string()]).transform((e,r)=>{let t=/^(\d+)(?:\.(\d*))?$/.exec(String(e));if(t===null)return r.addIssue({code:"custom",message:"Value must be a valid decimal."}),z$1.NEVER;let[,o="",n=""]=t;if(n.length>6)return r.addIssue({code:"custom",message:"Value must have at most 6 decimal places."}),z$1.NEVER;let s=yE(o,n);return s<=0n?(r.addIssue({code:"custom",message:"Value must be greater than 0."}),z$1.NEVER):s.toString()});function yE(e,r){return BigInt(e)*1000000n+BigInt(r.padEnd(6,"0"))}var PE=z$1.discriminatedUnion("direction",[z$1.object({amount:xt,direction:z$1.literal(OrderSide.BUY),legPositionIds:Ap,side:z$1.literal(RfqSide.Yes).optional()}),z$1.object({direction:z$1.literal(OrderSide.SELL),legPositionIds:Ap,side:z$1.literal(RfqSide.Yes).optional(),size:xt})]),fw=o(h$1,Le,c,b,a);async function yw(e,r){wr(e);let t=m(r,PE);Up(e);let o=mr(e.account),n={direction:t.direction===OrderSide.BUY?RfqDirection.Buy:RfqDirection.Sell,leg_position_ids:t.legPositionIds,maker_address:o.maker,requested_size:t.direction===OrderSide.BUY?{unit:RfqRequestedSizeUnit.Notional,value_e6:t.amount}:{unit:RfqRequestedSizeUnit.Shares,value_e6:t.size},side:RfqSide.Yes,signature_type:o.signatureType,signer_address:o.signer},s=await unwrap(e.builderGateway.post(an,{json:n,timeout:iE}).andThen(y(BuilderRfqCreateResponseSchema)).mapErr(pn));if("quote"in s){gE(s,n);let a=s.request.direction===RfqDirection.Buy?OrderSide.BUY:OrderSide.SELL,l={blendedPrice:s.quote.blendedPrice,builderCode:s.builderCode,expiresAt:s.expiresAt,makerAmount:s.quote.makerAmount,positionId:s.request.yesPositionId,quoteId:s.quote.quoteId,rfqId:s.rfqId,takerAmount:s.quote.takerAmount,totalRequired:s.quote.totalRequired};if(a===OrderSide.SELL){if(s.quote.netReceive===void 0)throw new b(`SELL quote for RFQ ${s.rfqId} omitted net sell proceeds.`);return {quote:{...l,direction:a,netReceive:s.quote.netReceive},rfqId:s.rfqId}}return {quote:{...l,direction:a},rfqId:s.rfqId}}return RE(s)}function gE(e,r){let t=e.request,o=[];if(t.rfqId!==e.rfqId&&o.push("rfq_id"),t.direction!==r.direction&&o.push("direction"),t.side!==r.side&&o.push("side"),(t.legPositionIds.length!==r.leg_position_ids.length||t.legPositionIds.some((n,s)=>n!==r.leg_position_ids[s]))&&o.push("leg_position_ids"),(t.requestedSize.unit!==r.requested_size.unit||t.requestedSize.valueE6!==r.requested_size.value_e6)&&o.push("requested_size"),o.length>0)throw new b(`Builder RFQ response did not echo the submitted ${o.join(", ")}.`)}function RE(e){switch(e.error?.code){case RfqKnownErrorCode.NoQuotes:return {quote:null,reason:ComboQuoteUnavailableReason.NoQuotes,rfqId:e.rfqId};case RfqKnownErrorCode.SizeTooLarge:return {quote:null,reason:ComboQuoteUnavailableReason.SizeTooLarge,rfqId:e.rfqId};default:throw new Le(e.error?.message??"The combo quote request failed.",{code:Bp(e.error?.code),status:200,...e.error===void 0?{}:{cause:e.error}})}}var EE=OrderSideSchema,SE=z$1.object({blendedPrice:z$1.string(),builderCode:z$1.string().regex(/^0x[0-9a-fA-F]{64}$/,"builderCode must be a 32-byte hex string.").transform(toBuilderCode),direction:EE,expiresAt:z$1.number().int().nonnegative(),makerAmount:xt.transform(toBaseUnits),netReceive:z$1.string().optional(),positionId:z$1.string().regex(/^\d+$/,"positionId must be a numeric string.").transform(toPositionId),quoteId:z$1.string().min(1).transform(toRfqQuoteId),rfqId:z$1.string().min(1).transform(toRfqId),takerAmount:xt.transform(toBaseUnits),totalRequired:z$1.string()}),Pw=o(k,h$1,Le,n,i,c,b,a);async function gw(e,r){wr(e);let t=m(r,SE);Up(e);let o=La({chainId:e.environment.chainId,exchange:e.environment.contracts.exchangeV3}),n=xE(e,t),s=await IE(e,o,n),a={quote_id:t.quoteId,signed_order:s};function l(){return e.builderGateway.post(`${an}/${encodeURIComponent(t.rfqId)}/accept`,{json:a,timeout:pE}).andThen(y(BuilderRfqStatusResponseSchema))}let P=await l();if(P.isErr()&&(P.error instanceof c||P.error instanceof b)&&(P=await l()),P.isErr()){let B=hE(t.rfqId,P.error);if(B!==void 0)return B;throw pn(P.error)}let x=P.value,I=P.value.takerOrderHash,j=Date.now()+cE;for(;x.status===RfqStatus.AwaitingMakerConfirmation;){if(Date.now()>=j)throw new i(`Timed out waiting for the acceptance outcome of RFQ ${t.rfqId}.`);await delay(dE),x=await Dp(e,{rfqId:t.rfqId});}return x.status===RfqStatus.Failed||x.status===RfqStatus.Expired||x.status===RfqStatus.Canceled?{reason:TE(x.status,x.error?.code),rfqId:x.rfqId,status:"failed",...x.error===void 0?{}:{error:x.error}}:{rfqId:x.rfqId,status:"executing",...I===void 0?{}:{takerOrderHash:I}}}function hE(e,r){if(r instanceof g&&r.code===RfqKnownErrorCode.ExpiredRfq)return {error:{code:RfqKnownErrorCode.ExpiredRfq,message:r.message},reason:ComboAcceptFailureReason.AcceptanceWindowExpired,rfqId:e,status:"failed"}}function TE(e,r){return e===RfqStatus.Expired||r===RfqKnownErrorCode.ExpiredRfq?ComboAcceptFailureReason.AcceptanceWindowExpired:r===RfqKnownErrorCode.MakerDeclined?ComboAcceptFailureReason.MakerDeclined:ComboAcceptFailureReason.ExecutionFailed}function xE(e,r){let t=mr(e.account);return {builder:r.builderCode,maker:t.maker,makerAmount:r.makerAmount,metadata:mE,salt:CE().toString(),side:go(r.direction),signatureType:t.signatureType,signer:t.signer,takerAmount:r.takerAmount,timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:r.positionId}}function CE(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}`)}async function IE(e,r,t){let o;try{o=await e.signer.signTypedData(pt({domain:r,order:t}));}catch(n$1){throw n$1 instanceof k?n$1:n.fromError(n$1,"Could not sign the combo quote acceptance order.")}return {...t,signature:ct({domain:r,order:t,signature:o})}}var bE=z$1.object({pollingIntervalMs:z$1.number().int().positive().optional(),rfqId:z$1.string().min(1).transform(toRfqId),timeoutMs:z$1.number().int().positive().optional()}),Rw=o(h$1,Le,i,c,b,a);async function Ew(e,r){wr(e);let t=m(r,bE),o=t.timeoutMs??uE,n=t.pollingIntervalMs??lE,s=Date.now()+o;for(;;){let a=await Dp(e,{rfqId:t.rfqId});if(a.status===RfqStatus.Filled||a.status===RfqExecutionStatus.Confirmed){if(a.txHash===void 0)throw new b(`RFQ ${a.rfqId} reached ${a.status} without a transaction hash.`);return {rfqId:a.rfqId,status:RfqStatus.Filled,txHash:a.txHash}}if(a.status===RfqStatus.Failed||a.status===RfqStatus.Expired||a.status===RfqStatus.Canceled)return {rfqId:a.rfqId,status:a.status,...a.error===void 0?{}:{error:a.error}};if(Date.now()>=s)throw new i(`Timed out after ${o}ms waiting for RFQ ${t.rfqId} to reach a terminal state.`);await delay(n);}}var kE=z$1.object({rfqId:z$1.string().min(1).transform(toRfqId)}),Sw=o(h$1,Le,c,b,a);function Dp(e,r){wr(e);let t=m(r,kE);return unwrap(e.builderGateway.get(`${an}/${encodeURIComponent(t.rfqId)}`).andThen(y(BuilderRfqStatusResponseSchema)).mapErr(pn))}function wr(e){if(e.account.signerType==="SESSION_KEY")throw new a("Combos is not supported with Session Keys")}var zp=(l=>(l.Volume="volume",l.Volume24Hr="volume_24hr",l.Liquidity="liquidity",l.Competitive="competitive",l.ClosedTime="closed_time",l.StartDate="start_date",l.EndDate="end_date",l))(zp||{}),AE=z$1.object({q:z$1.string().trim().min(1),ascending:z$1.boolean().optional(),cache:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),eventsStatus:z$1.string().min(1).optional(),eventsTag:z$1.array(z$1.string()).optional(),excludeTagIds:z$1.array(z$1.number().int()).optional(),keepClosedMarkets:z$1.number().int().optional(),optimized:z$1.boolean().optional(),pageSize:A.default(10),presets:z$1.array(z$1.string()).optional(),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),searchProfiles:z$1.boolean().optional(),searchTags:z$1.boolean().optional(),sort:z$1.enum(zp).optional()}),Ww=o(h$1,g,c,b,a);function jw(e,r){let{cursor:t,pageSize:o,...n}=m(r,AE);return C(s=>{let a=_(s,o);return e.gamma.get("/public-search",{params:R({...n,limitPerType:a.pageSize,page:a.offset},h({excludeTagIds:"exclude_tag_id"}))}).andThen(y(PublicSearchResponseSchema)).map(l=>({items:OE(l),hasMore:l.pagination?.hasMore??false,totalCount:l.pagination?.totalResults??void 0,nextCursor:l.pagination?.hasMore?z({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??z({offset:1,pageSize:o}),{events:[],profiles:[],tags:[]})}function OE(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var BE=z$1.object({ascending:z$1.boolean().optional(),closed:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),excludeEvents:z$1.boolean().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),pageSize:A.max(50).default(20),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),slug:z$1.array(z$1.string()).optional()}),UE=z$1.object({id:z$1.string(),locale:z$1.string().optional()}),Xw=o(h$1,g,c,b,a);function e0(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,BE);return C(s=>{let a=_(s,o);return e.gamma.get("/series",{params:R({...n,limit:a.pageSize,offset:a.offset},h())}).andThen(y(ListSeriesResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var r0=o(h$1,g,c,b,a);async function t0(e,r){let t=m(r,UE);return unwrap(e.gamma.get(`series/${t.id}`,{params:R({locale:t.locale},h())}).andThen(y(SeriesSchema)))}function dn(e){if(e.kind==="authorization"?e.status===RelayerAuthorizeSessionSignerStatus.FAILED||e.status===RelayerAuthorizeSessionSignerStatus.SUPERSEDED||e.status===RelayerAuthorizeSessionSignerStatus.REPAIR_REQUIRED:e.status===RelayerRevokeSessionSignerStatus.FAILED)throw new j(`Session-key ${e.kind} reached terminal status ${e.status}`)}var S0=o(h$1,g,n,c,b,a);async function Hp(e){fn(e);let r=await unwrap(e.secureClob.get("/v1/user/session-signers").andThen(y(ActiveSessionSignersResponseSchema)));if(!isSameEvmAddress(r.wallet,e.account.wallet))throw new b(`Session-key response wallet ${r.wallet} does not match authenticated wallet ${e.account.wallet}`);return r.signers.map(t=>({address:expectEvmAddress(t.address.toLowerCase()),scopes:t.scopes,validUntil:t.validUntil}))}var NE=[SessionSignerKnownScope.ALL],KE=4315*60*60,Np=300*1e3,GE=z$1.object({address:EvmAddressSchema,idempotencyKey:z$1.string().trim().min(1).optional(),scopes:z$1.array(SessionSignerScopeSchema).min(1).default(NE)}).superRefine((e,r)=>{isSameEvmAddress(e.address,ZERO_ADDRESS)&&r.addIssue({code:"custom",message:"Session key address must not be the zero address.",path:["address"]}),e.scopes.includes(SessionSignerKnownScope.ALL)&&e.scopes.some(t=>t!==SessionSignerKnownScope.ALL)&&r.addIssue({code:"custom",message:"Session key scope ALL cannot be combined with another scope.",path:["scopes"]});}).transform(e=>({...e,address:expectEvmAddress(e.address.toLowerCase())})),h0=o(k,h$1,g,n,i,j,c,b,a);async function T0(e,r){if(fn(e),!e.hasBuilderApiKey)throw new a("Session-key authorization requires builder API-key authentication.");let t=m(r,GE),o=Math.floor(Date.now()/1e3)+KE,n=await W(e.signer)(Je(e,[Jn(e.account.wallet,t.address,BigInt(o))])),s={deadline:n.depositWalletParams.deadline,nonce:n.nonce,scopes:t.scopes,sessionSignerAddress:t.address,signature:n.signature,validUntil:`${o}`,walletAddress:e.account.wallet},a$1=await unwrap(e.relayer.post("/v1/session-signers/authorizations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:s,timeout:Np}).andThen(y(RelayerAuthorizeSessionSignerResponseSchema)));dn({kind:"authorization",status:a$1.status});let l=await new Fe(e,a$1).wait();return {sessionKey:await YE(e,{address:t.address,scopes:t.scopes,validUntil:o}),transaction:l}}var $E=z$1.object({address:EvmAddressSchema,idempotencyKey:z$1.string().trim().min(1).optional()}).superRefine((e,r)=>{isSameEvmAddress(e.address,ZERO_ADDRESS)&&r.addIssue({code:"custom",message:"Session key address must not be the zero address.",path:["address"]});}).transform(e=>({...e,address:expectEvmAddress(e.address.toLowerCase())})),x0=o(k,h$1,g,n,i,j,c,b,a);async function C0(e,r){if(fn(e),!e.supportsGasless)throw new a("Session-key revocation requires API-key authentication that supports gasless transactions.");let t=m(r,$E),o=await W(e.signer)(Je(e,[Xn(e.account.wallet,t.address)])),n={deadline:o.depositWalletParams.deadline,nonce:o.nonce,sessionSignerAddress:t.address,signature:o.signature,walletAddress:e.account.wallet},s=await unwrap(e.relayer.post("/v1/session-signers/revocations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:n,timeout:Np}).andThen(y(RelayerRevokeSessionSignerResponseSchema)));dn({kind:"revocation",status:s.status}),await VE(e,t.address);}async function VE(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){if(!(await Hp(e)).some(n=>isSameEvmAddress(n.address,r)))return;await delay(e.environment.relayerPollFrequencyMs);}throw new i(`Timed out waiting for session key ${r} to be revoked`)}async function YE(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){let o=(await Hp(e)).find(n=>isSameEvmAddress(n.address,r.address)&&n.validUntil===r.validUntil&&QE(n.scopes,r.scopes));if(o!==void 0)return o;await delay(e.environment.relayerPollFrequencyMs);}throw new i(`Timed out waiting for session key ${r.address} to become active`)}function QE(e,r){let t=new Set(r);return new Set(e).size===t.size&&e.every(o=>t.has(o))}function fn(e){if(e.account.walletType!==WalletType.DEPOSIT_WALLET)throw new a("Session keys can only be managed for a Deposit Wallet.");if(e.account.signerType!=="OWNER")throw new a("Session keys can only be managed by the Deposit Wallet owner.")}var A0=o(h$1,g,c,b);async function O0(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var w0=o(h$1,g,c,b);async function L0(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}var _0=o(c,a),rS=z$1.object({topic:z$1.literal("prices.crypto.chainlink.twap"),windowSeconds:z$1.union([z$1.literal(30),z$1.literal(60)]),symbols:z$1.array(z$1.string()).optional()}),tS=z$1.union([z$1.object({topic:z$1.literal("market"),assetIds:z$1.array(z$1.string()),tokenIds:z$1.never().optional(),customFeatureEnabled:z$1.boolean().optional()}),z$1.object({topic:z$1.literal("market"),assetIds:z$1.never().optional(),tokenIds:z$1.array(z$1.string()),customFeatureEnabled:z$1.boolean().optional()})]);async function W0(e,r){for(let o of r)switch(o.topic){case "market":m(o,tS);break;case "prices.crypto.chainlink.twap":m(o,rS);break}let t=await Promise.all(r.map(o=>oS(e,o)));return nS(t)}function oS(e,r){switch(r.topic){case "market":return e.webSockets.clobMarket.subscribe(r);case "sports":return e.webSockets.sports.subscribe(r);case "comments":case "prices.crypto.binance":case "prices.crypto.chainlink":case "prices.crypto.chainlink.twap":case "prices.equity.pyth":return e.webSockets.rtds.subscribe(r);case "perps.trades":case "perps.bbo":case "perps.book":case "perps.candles":case "perps.tickers":case "perps.statistics":return e.webSockets.perpsSubscriptions.subscribe(r);case "user":return invariant(e.isSecureClient(),"A 'user' subscription requires a secure client instance."),e.webSockets.clobUser.subscribe(r)}}function nS(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=eS(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var iS=z$1.object({ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),includeTemplate:z$1.boolean().optional(),isCarousel:z$1.boolean().optional(),locale:z$1.string().optional(),order:z$1.string().optional(),pageSize:A.max(100).default(20)}),pS=z$1.union([z$1.object({id:z$1.string(),includeTemplate:z$1.boolean().optional(),locale:z$1.string().optional()}),z$1.object({slug:z$1.string(),locale:z$1.string().optional()})]),cS=z$1.object({id:z$1.string(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),dS=z$1.object({slug:z$1.string()}),uS=z$1.object({id:z$1.string(),locale:z$1.string().optional(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),lS=z$1.object({locale:z$1.string().optional(),slug:z$1.string(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),J0=o(h$1,g,c,b,a);function X0(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,iS);return C(s=>{let a=_(s,o);return e.gamma.get("/tags",{params:R({...n,limit:a.pageSize,offset:a.offset},h())}).andThen(y(ListTagsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var eL=o(h$1,g,c,b,a);async function rL(e,r){let t=m(r,pS);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:R({includeTemplate:t.includeTemplate,locale:t.locale},h())}).andThen(y(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:R({locale:t.locale},h())}).andThen(y(TagSchema)))}var tL=o(h$1,g,c,b,a);async function oL(e,r){if("id"in r){let o=m(r,cS);return unwrap(e.gamma.get(`tags/${o.id}/related-tags`,{params:R({omitEmpty:o.omitEmpty,status:o.status},h())}).andThen(y(ListRelatedTagsResponseSchema)))}let t=m(r,dS);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var nL=o(h$1,g,c,b,a);async function sL(e,r){if("id"in r){let o=m(r,uS);return unwrap(e.gamma.get(`tags/${o.id}/related-tags/tags`,{params:R({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},h())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}let t=m(r,lS);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:R({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},h())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}var yS=z$1.object({abbreviation:z$1.array(z$1.string()).optional(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),league:z$1.array(z$1.string()).optional(),name:z$1.array(z$1.string()).optional(),order:z$1.string().optional(),pageSize:A.max(100).default(20),providerId:z$1.array(z$1.number().int()).optional()}),yL=o(h$1,g,c,b,a);function PL(e,r={}){let{cursor:t,pageSize:o,...n}=m(r,yS);return C(s=>{let a=_(s,o);return e.gamma.get("/teams",{params:R({...n,limit:a.pageSize,offset:a.offset},h({providerId:"provider_id"}))}).andThen(y(ListTeamsResponseSchema)).map(l=>{let P=l.length>=a.pageSize;return {items:l,hasMore:P,nextCursor:P?z({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var gS=z$1.object({amount:z$1.bigint(),metadata:Q.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),kL=o(a);async function RS(e,r){let t=m(r,gS);return async function*(){return e.account.walletType===WalletType.EOA?$(yield ES(V(e.environment.chainId,Ot(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await X(e,{calls:[Ot(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var vL=o(k,h$1,g,n,c,b,a);function qL(e,r){return RS(e,r).then(W(e.signer))}function ES(e){return {kind:"sendErc20TransferTransaction",request:e}}
|
|
2
|
-
export{uh as $,$T as $a,mC as $b,Ub as $c,TA as $d,FO as $e,C0 as $f,Xh as A,IT as Aa,Nx as Ab,OI as Ac,Zv as Ad,nO as Ae,Rw as Af,Lt as B,Dt as Ba,Kx as Bb,wI as Bc,Kf as Bd,sO as Be,Ew as Bf,eT as C,bT as Ca,Gx as Cb,LI as Cc,Jv as Cd,aO as Ce,Sw as Cf,jr as D,kT as Da,$x as Db,MI as Dc,Xv as Dd,iO as De,Dp as Df,rT as E,Q as Ea,Vx as Eb,FI as Ec,eq as Ed,Mt as F,vT as Fa,ks as Fb,KI as Fc,Gf as Fd,ns as G,qT as Ga,Yx as Gb,GI as Gc,rq as Gd,pp as Ge,ss as H,iu as Ha,vs as Hb,ab as Hc,tq as Hd,CO as He,m as I,AT as Ia,Qx as Ib,js as Ic,dt as Id,dp as Ie,Sn as J,X as Ja,qs as Jb,ib as Jc,Za as Jd,IO as Je,vn as K,zt as Ka,Zx as Kb,pb as Kc,Ja as Kd,lp as Ke,DS as L,_t as La,Jx as Lb,cb as Lc,Xa as Ld,zR as Le,mr as M,Je as Ma,Xx as Mb,db as Mc,ut as Md,mp as Me,qn as N,Wt as Na,eC as Nb,ub as Nc,lt as Nd,bO as Ne,An as O,jt as Oa,rC as Ob,lb as Oc,mt as Od,kO as Oe,zp as Of,eh as P,Ht as Pa,$r as Pb,mb as Pc,Ui as Pd,vO as Pe,Ww as Pf,rh as Q,OT as Qa,tC as Qb,fb as Qc,_i as Qd,qO as Qe,jw as Qf,th as R,Fe as Ra,oC as Rb,yb as Rc,ji as Rd,AO as Re,Xw as Rf,oh as S,jT as Sa,nC as Sb,Pb as Sc,Qi as Sd,fp as Se,e0 as Sf,nh as T,Eu as Ta,sC as Tb,gb as Tc,yA as Td,OO as Te,r0 as Tf,sh as U,HT as Ua,aC as Ub,Rb as Uc,PA as Ud,Pp as Ue,t0 as Uf,ah as V,fs as Va,iC as Vb,Ob as Vc,gA as Vd,wO as Ve,Mn as W,NT as Wa,pC as Wb,wb as Wc,RA as Wd,Rp as We,S0 as Wf,ih as X,hu as Xa,cC as Xb,Lb as Xc,EA as Xd,WR as Xe,Hp as Xf,ph as Y,KT as Ya,dC as Yb,Mb as Yc,kg as Yd,Ep as Ye,h0 as Yf,ch as Z,ys as Za,uC as Zb,Fb as Zc,SA as Zd,LO as Ze,T0 as Zf,dh as _,GT as _a,lC as _b,Bb as _c,hA as _d,MO as _e,x0 as _f,re as a,vt as aa,VT as ab,fC as ac,Db as ad,xA as ae,BO as af,A0 as ag,Gh as b,lh as ba,xu as bb,yC as bc,Qb as bd,CA as be,UO as bf,O0 as bg,Dr as c,Bn as ca,YT as cb,PC as cc,Zb as cd,IA as ce,Sp as cf,w0 as cg,Gn as d,mh as da,QT as db,gC as dc,Wm as dd,bA as de,DO as df,L0 as dg,$n as e,fh as ea,ox as eb,qC as ec,Qt as ed,kA as ee,HR as ef,_0 as eg,zr as f,yh as fa,vu as fb,AC as fc,ik as fd,vA as fe,Cp as ff,W0 as fg,Vn as g,Ph as ga,nx as gb,OC as gc,pk as gd,qA as ge,zO as gf,J0 as gg,Yn as h,gh as ha,qu as hb,ql as hc,rt as hd,AA as he,_O as hf,X0 as hg,Qn as i,Rh as ia,sx as ib,wC as ic,ck as id,OA as ie,KR as if,eL as ig,Zn as j,Eh as ja,ax as jb,LC as jc,pt as jd,wA as je,WO as jf,rL as jg,_r as k,Sh as ka,ix as kb,ct as kd,LA as ke,jO as kf,tL as kg,Wr as l,hh as la,px as lb,GC as lc,La as ld,MA as le,ZO as lf,oL as lg,$h as m,Th as ma,cx as mb,$C as mc,rv as md,FA as me,JO as mf,nL as mg,Ot as n,xh as na,dx as nb,VC as nc,tv as nd,BA as ne,tn as nf,sL as ng,Jn as o,Ch as oa,ux as ob,YC as oc,go as od,iR as oe,cw as of,yL as og,Xn as p,Mh as pa,lx as pb,QC as pc,To as pd,UA as pe,on as pf,PL as pg,Vh as q,Fh as qa,mx as qb,ZC as qc,Mf as qd,DA as qe,dw as qf,kL as qg,es as r,Bh as ra,fx as rb,lI as rc,xo as rd,ap as re,nn as rf,RS as rg,Yh as s,Uh as sa,yx as sb,mI as sc,Ff as sd,QA as se,uw as sf,vL as sg,rs as t,Dh as ta,Px as tb,fI as tc,Co as td,ZA as te,lw as tf,qL as tg,Qh as u,zh as ua,kx as ub,yI as uc,Sv as ud,JA as ue,mw as uf,ts as v,vx as vb,PI as vc,hv as vd,XA as ve,Le as vf,Zh as w,sT as wa,_x as wb,gI as wc,Tv as wd,eO as we,fw as wf,os as x,$ as xa,Wx as xb,RI as xc,xv as xd,rO as xe,yw as xf,Jh as y,dT as ya,jx as yb,EI as yc,Ov as yd,tO as ye,Pw as yf,wt as z,as as za,Hx as zb,AI as zc,wv as zd,oO as ze,gw as zf};//# sourceMappingURL=chunk-VY7OIGFI.js.map
|
|
3
|
-
//# sourceMappingURL=chunk-VY7OIGFI.js.map
|