@kuest/sdk 0.0.0-stage → 0.13.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/LICENSE +21 -0
- package/README.md +6 -2
- package/dist/actions/index.d.ts +180 -0
- package/dist/actions/index.js +2 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/chunk-3QTVWIZS.js +3 -0
- package/dist/chunk-3QTVWIZS.js.map +1 -0
- package/dist/chunk-EH4TD6KD.js +2 -0
- package/dist/chunk-EH4TD6KD.js.map +1 -0
- package/dist/chunk-LDEY5CK7.js +6 -0
- package/dist/chunk-LDEY5CK7.js.map +1 -0
- package/dist/ethers-v5.d.ts +24 -0
- package/dist/ethers-v5.js +2 -0
- package/dist/ethers-v5.js.map +1 -0
- package/dist/index.d.ts +269 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/node.d.ts +24 -0
- package/dist/node.js +3 -0
- package/dist/node.js.map +1 -0
- package/dist/privy.d.ts +13 -0
- package/dist/privy.js +2 -0
- package/dist/privy.js.map +1 -0
- package/dist/sports-DTAVbnv-.d.ts +232 -0
- package/dist/types-BGprBegM.d.ts +12052 -0
- package/dist/types-DDzoOHmH.d.ts +66 -0
- package/dist/viem.d.ts +35 -0
- package/dist/viem.js +2 -0
- package/dist/viem.js.map +1 -0
- package/package.json +103 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {t,e,k,i,s,d,c,a,l,n,o,b,j as j$1,p,q as q$1,g,r,m as m$1}from'./chunk-LDEY5CK7.js';import {EventIdSchema,PaginationCursorSchema,OrderSideSchema,ConditionIdSchema,EvmAddressSchema,ComboConditionIdSchema,NegRiskEventIdSchema,TransactionIdSchema,BuilderCodeSchema,CommentParentEntityTypeSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,QuestionIdSchema,PositionIdSchema,ClobAssetIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,MarketIdSchema,toPositionId,toBaseUnits,toRfqId,toRfqQuoteId,toBuilderCode,SessionSignerKnownScope,SessionSignerScopeSchema,ErrorResponseSchema,TradeStatus,toPaginationCursor,toDecimalString,toComboConditionId,toConditionId}from'@kuest/bindings';export{SessionSignerKnownScope as sh}from'@kuest/bindings';import {AssetTypeSchema,RewardMarketSort,SignatureType,ClosedOnlyModeSchema,OpenOrderSchema,NotificationsResponseSchema,BalanceAllowanceResponseSchema,OrderScoringResponseSchema,OrdersScoringResponseSchema,TotalUserEarningsResponseSchema,RewardsPercentagesSchema,ApiKeyCredsSchema,ApiKeysResponseSchema,BuilderApiKeyCredsSchema,BuilderApiKeysResponseSchema,MidpointSchema,MidpointsSchema,FetchTickSizeResponseSchema,FetchNegRiskResponseSchema,ResolveConditionByTokenResponseSchema,FetchMarketInfoResponseSchema,FetchBuilderFeeRatesResponseSchema,PriceSchema,PricesSchema,FetchOrderBookResponseSchema,OrderBooksSchema,SpreadSchema,SpreadsSchema,LastTradePriceSchema,LastTradePricesSchema,RebatedFeesResponseSchema,OrderHeartbeatSchema,CancelOrdersResponseSchema,OrderResponseSchema,OrderResponsesSchema,OrderHeartbeatMismatchResponseSchema,ActiveSessionSignersResponseSchema,AssetType,OpenOrdersPageSchema,END_CURSOR,ClobTradesPageSchema,UserEarningsPageSchema,UserRewardsEarningsPageSchema,PaginatedCurrentRewardsSchema,PaginatedMarketRewardsSchema,PaginatedRewardMarketsSchema}from'@kuest/bindings/clob';import {z as z$1}from'zod';import {WalletType,SeriesIdSchema,ProtocolVersion,MarketClarificationState,MarketResolutionStatus,ListCommentsResponseSchema,EventSchema,FetchEventTagsResponseSchema,ListMarketsKeysetResponseSchema,FetchMarketTagsResponseSchema,MarketSchema,PublicProfileSchema,PublicSearchResponseSchema,SeriesSchema,ListSportsMetadataResponseSchema,SportsMarketTypesResponseSchema,TagSchema,ListRelatedTagsResponseSchema,ListRelatedTagResourcesResponseSchema,ListCommentsKeysetResponseSchema,ListEventsKeysetResponseSchema,ListMarketClarificationsResponseSchema,ListSeriesResponseSchema,ListTagsResponseSchema,ListTeamsResponseSchema}from'@kuest/bindings/gamma';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,isSameEvmAddress,ZERO_ADDRESS,MarketSdkError,expectHexString,invariant,delay,expectEvmSignature,expectErc1271Signature,setNonBlockingInterval,setNonBlockingTimeout,expectPrivateKey,expectPresent,isPresent,expectSessionSignerSignature}from'@kuest/types';import {AbiFunction,Hash,Bytes,AbiParameters,ContractAddress,TypedData,Secp256k1,Address,Signature}from'ox';import On from'ky';import {TradeFilterTypeSchema,SortDirectionSchema,ActivityTypeSchema,CanonicalMarketConditionIdSchema,LeaderboardWindowSchema,BuilderVolumeIntervalSchema,TraderLeaderboardSortSchema,PriceHistoryIntervalSchema,PriceHistoryInterval,PositionSortBySchema,PositionFilterTypeSchema,PositionStatusSchema,PositionStatus,ComboPositionStatusSchema,ComboPositionStatus,ComboPositionSortBySchema,UserPnlFidelitySchema,UserPnlIntervalSchema,FetchApprovalsResponseSchema,FetchResolutionsResponseSchema,FetchEventLiveVolumeResponseSchema,FetchBuilderVolumeResponseSchema,FetchTraderLeaderboardStandingResponseSchema,FetchOpenInterestResponseSchema,FetchPortfolioValueResponseSchema,FetchUserStatsResponseSchema,FetchUserPnlResponseSchema,FetchUserVolumeResponseSchema,FetchTokenReferencesResponseSchema,ApprovalStandard,ListTradesResponseSchema,ListActivityResponseSchema,ListComboActivityResponseSchema,ListBuilderLeaderboardResponseSchema,ListTraderLeaderboardResponseSchema,ListBiggestWinnersResponseSchema,ListMarketHoldersResponseSchema,ListPriceHistoryResponseSchema,ListPositionsResponseSchema,ListComboPositionsResponseSchema}from'@kuest/bindings/data';export{PositionSortBy as $f,ComboActivityType as Ea,SortDirection as Fa,TipSide as Ga,TradeFilterType as Ha,ResolutionMarketType as Rc,ResolutionReporter as Sc,ResolutionSettlementTimeBasis as Tc,ResolutionSource as Uc,ResolutionStatus as Vc,ComboPositionSortBy as Yf,ComboPositionStatus as Zf,PositionFilterType as _f,PositionStatus as ag,UserPnlFidelity as bg,UserPnlInterval as cg,BiggestWinnerKind as ed,BuilderVolumeInterval as fd,LeaderboardWindow as gd,TraderLeaderboardSort as hd,PriceHistoryInterval as kd}from'@kuest/bindings/data';import {RelayerTransactionType,RelayerTransactionState,GaslessTransactionSchema,RelayerDeployedResponseSchema,RelayerExecuteRequestSchema,RelayerExecuteResponseSchema,RelayerAuthorizeSessionSignerResponseSchema,RelayerRevokeSessionSignerResponseSchema,RelayerAuthorizeSessionSignerStatus,RelayerRevokeSessionSignerStatus}from'@kuest/bindings/relayer';import {CollateralReturnPlanSchema,RfqRejectionCode,RfqSide,CollateralReturnPlanResponseSchema,ListComboMarketsResponseSchema,RfqRequestedSizeUnit,RfqDirection,BuilderRfqCreateResponseSchema,RfqKnownErrorCode,ComboQuoteUnavailableReason,RfqStatus,ComboAcceptFailureReason,RfqExecutionStatus,BuilderRfqStatusResponseSchema}from'@kuest/bindings/combos';export{CollateralReturnKnownOperationKind as Ac,ComboAcceptFailureReason as bh,ComboQuoteUnavailableReason as ch,RfqConfirmationDecision as dh,RfqDirection as eh,RfqExecutionStatus as fh,RfqKnownErrorCode as gh,RfqRejectionCode as hh,RfqRequestedSizeUnit as ih,RfqSide as jh,RfqStatus as kh}from'@kuest/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsChaseIdSchema,PerpsTimeInForce,PerpsPostOrderAckSchema,PerpsTwapIdSchema,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsBuilderStatusSchema,PerpsPositionSnapshotsSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsCreateProxyResponseSchema,PerpsCredentialsResponseSchema,PerpsRegistrationResponseSchema,FetchPerpsBuilderApprovalsResponseSchema,PerpsBuilderEarningsSummarySchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsAutoCancelStatusResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsInternalTransfersResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelAllOrdersResponseSchema,PerpsAutoCancelResponseSchema,PerpsUpdateLeverageResultSchema,PerpsUpdateLeverageBatchResultSchema,CreatePerpsChaseResponseSchema,FetchPerpsChasesResponseSchema,CreatePerpsTwapResponseSchema,FetchPerpsTwapsResponseSchema,PerpsBuilderApprovalSchema,PerpsKnownCancelOrderErrorCode,ListPerpsBuilderEarningsResponseSchema,PerpsCancelOrderResultSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,PerpsInternalTransferResponseSchema}from'@kuest/bindings/perps';export{PerpsTwapStatus as Hf}from'@kuest/bindings/perps';import {encode}from'@msgpack/msgpack';import {PriceProvider,PerpsNotificationsResyncFrameSchema,PerpsSessionUpdateEventSchema}from'@kuest/bindings/subscriptions';export{KnownPriceSource as Fh,PriceProvider as Gh}from'@kuest/bindings/subscriptions';import {pushable}from'it-pushable';import AC from'it-merge';function m(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var w=z$1.number().int().positive();function q(e,r,t=[]){function s(){return {async firstPage(){return {items:t,hasMore:false}},from(){return s()},async*[Symbol.asyncIterator](){}}}function o(n=r){return {async firstPage(){return e(n)},from(i){return i===void 0?s():o(i)},async*[Symbol.asyncIterator](){let i=n,p=new Set(n===void 0?[]:[n]);for(;;){let f=await e(i);if(yield f,!f.hasMore||f.limitReached)return;if(f.nextCursor===void 0)throw new c("Paginated response reported more items without a next cursor.");if(p.has(f.nextCursor))throw new c("Paginated response repeated a cursor that was already requested.");p.add(f.nextCursor),i=f.nextCursor;}}}}return o()}function ge(e){return toPaginationCursor(Eu(JSON.stringify(e)))}function ae(e,r,t="Invalid pagination cursor"){try{return r.parse(JSON.parse(bn(e)))}catch(s){throw new a(t,{cause:s})}}function et(e){try{return JSON.parse(bn(e))}catch{return}}function Eu(e){return btoa(String.fromCharCode(...new TextEncoder().encode(e)))}function bn(e){return new TextDecoder().decode(Uint8Array.from(atob(e),r=>r.charCodeAt(0)))}var In=z$1.strictObject({offset:z$1.number().int().min(0),pageSize:w});function re(e){return ge(In.parse(e))}function fe(e,r,t={}){return e===void 0?{offset:0,pageSize:r}:is(ae(e,z$1.unknown()),t)}function is(e,r={}){let t=In.safeParse(e);if(!t.success)throw new a("Invalid pagination cursor",{cause:t.error});let s=t.data;if(r.maxPageSize!==void 0&&s.pageSize>r.maxPageSize)throw new a(`Pagination cursor page size must be at most ${r.maxPageSize}`);if(r.maxOffset!==void 0&&s.offset>r.maxOffset)throw new b(`Pagination reached this listing's supported depth limit (${r.maxOffset}); whether more items exist cannot be established.`);return s}var hu=z$1.object({kind:z$1.literal("keyset"),fingerprint:z$1.string(),cursor:z$1.string().min(1)});function rt(e,r){return ge({kind:"keyset",fingerprint:qn(r),cursor:e})}function tt(e,r){if(!Su(e))return;let t=hu.safeParse(e);if(!t.success)throw new a("Invalid pagination cursor",{cause:t.error});if(r===void 0||t.data.fingerprint!==qn(r))throw new a("Pagination cursor was created for a different query");return toPaginationCursor(t.data.cursor)}function Su(e){return typeof e=="object"&&e!==null&&"kind"in e&&e.kind==="keyset"}function qn(e){return JSON.stringify(ns(e))}function ns(e){return Array.isArray(e)?e.map(ns):typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[t])=>r<t?-1:r>t?1:0).map(([r,t])=>[r,ns(t)])):e}var qr=3e4,Tu=z$1.object({retries:z$1.number().int().min(0).max(5).default(2)});function R(e){te(e.signal);let{retries:r}=m({retries:e.retries},Tu);return {signal:e.signal,timeout:e.timeout,retries:r}}function te(e$1){if(e$1?.aborted)throw new e("Request aborted",{cause:e$1.reason})}function se(e$1,r){return r===void 0?Promise.resolve(e$1):new Promise((t,s)=>{function o(){r?.removeEventListener("abort",n);}function n(){o(),s(new e("Request aborted",{cause:r?.reason}));}Promise.resolve(e$1).then(i=>{o(),r.aborted?n():t(i);},i=>{o(),r.aborted?n():s(i);}),r.addEventListener("abort",n,{once:true}),r.aborted&&n();})}var An=class{#r;#e;constructor({fetch:r,url:t}){this.#r=r,this.#e=t;}async ethCall(r,t){let s=await this.#s({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:r.to,data:r.data},"latest"]},t);if("error"in s)throw new i(`JSON-RPC eth_call failed: ${s.error.message}`,{cause:s.error,status:200});if(typeof s.result!="string")throw new c("Expected JSON-RPC eth_call result to be a hex string");if(!Un(s.result))throw new c("Expected JSON-RPC eth_call result to be a hex string");return s.result}async ethCallBatch(r,t){return r.length===0?[]:this.#o(r,t)}async ethEstimateGas(r,t){let s={to:r.to};r.data!==void 0&&(s.data=r.data),r.from!==void 0&&(s.from=r.from),r.gasPrice!==void 0&&(s.gasPrice=Ln(r.gasPrice)),r.value!==void 0&&(s.value=Ln(r.value));let o=await this.#s({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[s]},t);if("error"in o)throw new i(`JSON-RPC eth_estimateGas failed: ${o.error.message}`,{cause:o.error,status:200});return BigInt(wn(o.result,"eth_estimateGas"))}async#o(r,t){if(r.length===1)return [await this.ethCall(r[0],t)];try{return await this.#i(r,t)}catch(s){if(!(s instanceof i)||s.status<500)throw s;let o=Math.ceil(r.length/2),[n,i$1]=await Promise.all([this.#o(r.slice(0,o),t),this.#o(r.slice(o),t)]);return [...n,...i$1]}}async#i(r,t){let s=await this.#t(r.map((n,i)=>({jsonrpc:"2.0",id:i+1,method:"eth_call",params:[{to:n.to,data:n.data},"latest"]})),t),o=new Map;for(let n of s){if("error"in n&&n.id===null)throw new i(`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,i$1)=>{let p=i$1+1,f=o.get(p);if(f===void 0)throw new c("Expected JSON-RPC batch response for every request");if("error"in f)throw new i(`JSON-RPC eth_call failed: ${f.error.message}`,{cause:f.error,status:200});return wn(f.result)})}async#s(r,t){te(t?.signal);let s;try{s=await se(On.post(this.#e,{fetch:this.#r,signal:t?.signal,timeout:t?.timeout??qr,json:r,throwHttpErrors:!1}),t?.signal);}catch(n){throw n instanceof e?n:d.fromError(n)}if(!s.ok)throw new i(`JSON-RPC request to ${this.#e} failed with status ${s.status}`,{status:s.status});let o;try{o=await se(s.json(),t?.signal);}catch(n){throw n instanceof e?n:new c("Expected JSON-RPC response body to be JSON",{cause:n})}if(!kn(o))throw new c("Unexpected JSON-RPC response shape");return o}async#t(r,t){te(t?.signal);let s;try{s=await se(On.post(this.#e,{fetch:this.#r,signal:t?.signal,timeout:t?.timeout??qr,json:r,throwHttpErrors:!1}),t?.signal);}catch(n){throw n instanceof e?n:d.fromError(n)}if(!s.ok)throw new i(`JSON-RPC request to ${this.#e} failed with status ${s.status}`,{status:s.status});let o;try{o=await se(s.json(),t?.signal);}catch(n){throw n instanceof e?n:new c("Expected JSON-RPC response body to be JSON",{cause:n})}if(!Array.isArray(o)||!o.every(n=>kn(n)))throw new c("Unexpected JSON-RPC response shape");return o}};function Fn(e){if(!(e instanceof i)||!Bn(e.cause))return false;let r=[e.cause.message,xu(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 kn(e){return !Mn(e)||e.jsonrpc!=="2.0"?false:"error"in e?Bn(e.error):"result"in e}function Bn(e){return Mn(e)&&typeof e.code=="number"&&typeof e.message=="string"}function Mn(e){return typeof e=="object"&&e!==null}function Un(e){return /^0x[a-fA-F0-9]*$/.test(e)}function wn(e,r="eth_call"){if(typeof e!="string"||!Un(e))throw new c(`Expected JSON-RPC ${r} result to be a hex string`);return e}function Ln(e){return `0x${e.toString(16)}`}function xu(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}var Dn=(t=>(t.OWNER="OWNER",t.SESSION_KEY="SESSION_KEY",t))(Dn||{}),bu="0x0000000000000000000000000000000000000000000000000000000000000000",Iu="0x6492649264926492649264926492649264926492649264926492649264926492";function Sb(e,r,t){let s=Ku(e,r,t);return {signer:r,wallet:t,...s}}function Ie(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 kr(e){if(e.walletType!==WalletType.DEPOSIT_WALLET)throw new a("SDK orders require a Deposit Wallet (signature type 3).");let r=Ie(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}function mr(e,r){return e.signerType==="OWNER"?r:qu(e.signer,r)}function qu(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),s=AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes"}],[t,bu,r]);return expectSessionSignerSignature(`${s}${Iu.slice(2)}`)}var vu="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function Ou(e){let r=vu.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function Au(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Ou(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function ku(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var wu="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Lu="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",Fu=0x61003d3d8160233d3973n;function _n(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),s=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:zu(r.depositWalletImplementation,s),from:r.depositWalletFactory,salt:Hash.keccak256(s)}))}var Bu="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",Mu="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",Uu="0x60195155f3363d3d373d3d363d602036600436635c60da",Du=0x6100523d8160233d3973n,_u="0x49493a4d";function zn(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),s=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:ju(r.depositWalletBeacon,s),from:r.depositWalletFactory,salt:Hash.keccak256(s)}))}function zu(e,r){let t=BigInt((r.length-2)/2),s=Fu+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(s,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Lu),Bytes.fromHex(wu),Bytes.fromHex(r)),{as:"Hex"}))}function ju(e,r){let t=BigInt((r.length-2)/2),s=Du+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(s,{size:10}),Bytes.fromHex(e),Bytes.fromHex(Uu),Bytes.fromHex(Mu),Bytes.fromHex(Bu),Bytes.fromHex(r)),{as:"Hex"}))}async function Hu(e,r,t){try{let s=await e.ethCall({to:r,data:_u},t);return Nu(s)}catch(s){if(Fn(s))return ZERO_ADDRESS;throw s}}async function Wu(e,r,t){let s=await Hu(e,r,t);return !isSameEvmAddress(s,ZERO_ADDRESS)}async function jn(e,r,t,s){return await Wu(e,t.depositWalletFactory,s)?zn(r,t):_n(r,t)}function Nu(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Ku(e,r,t){if(isSameEvmAddress(t,r))return {signerType:"OWNER",walletType:WalletType.EOA};let s=e.walletDerivation;if(isSameEvmAddress(t,zn(r,s)))return {signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET};if(isSameEvmAddress(t,_n(r,s)))return {signerType:"OWNER",walletType:WalletType.DEPOSIT_WALLET};if(isSameEvmAddress(t,ku(r,s)))return {signerType:"OWNER",walletType:WalletType.GNOSIS_SAFE};if(isSameEvmAddress(t,Au(r,s)))return {signerType:"OWNER",walletType:WalletType.POLY_PROXY};throw new a("Wallet is not a verified Deposit Wallet for this signer.")}var Hn=z$1.string().transform(e=>e);function ne(e){return z$1.union([z$1.object({...e,assetId:Hn,tokenId:z$1.never().optional()}),z$1.object({...e,assetId:z$1.never().optional(),tokenId:z$1.string()})])}function Je(e){return z$1.union([z$1.object({...e,assetId:Hn.optional(),tokenId:z$1.never().optional()}),z$1.object({...e,assetId:z$1.never().optional(),tokenId:z$1.string().optional()})])}var ot=z$1.union([z$1.boolean(),z$1.literal("any")]);function C(e,r){if($u(r))return Vu(e,r.exceptions);let t=new URLSearchParams;for(let[s,o]of Object.entries(r)){let n=e[s];if(n!==void 0){if(cs(n)){for(let i of n)t.append(o,ze(i));continue}t.append(o,ze(n));}}return t}function I(e={}){return {format:"snake_case",exceptions:e}}function Wn(e){let r=new URLSearchParams;for(let[t,s]of Object.entries(e))if(s!==void 0){if(Array.isArray(s)){r.append(t,s.map(ze).join(","));continue}r.append(t,ze(s));}return r}var Xe=z$1.union([z$1.number().int().min(0),z$1.date()]).transform(e=>e instanceof Date?Math.floor(e.getTime()/1e3):e),fr=z$1.union([z$1.literal("full"),z$1.object({start:Xe.optional(),end:Xe.optional()}).refine(e=>!e.end||e.end>=(e.start??0),"end must not precede start")]).transform(e=>e==="full"?{start:1}:e),ps=EventIdSchema.refine(e=>/^[1-9]\d*$/.test(e)&&BigInt(e)<=2147483647n,"Expected a positive 32-bit event ID");function Ee(e,r){return z$1.array(e).min(1).transform(t=>[...new Map(t.map(s=>[s.toLowerCase(),s])).values()]).refine(t=>t.length<=r,`At most ${r} distinct ids`)}function z(e){let r=new URLSearchParams;for(let[t,s]of Object.entries(e)){if(s===void 0)continue;let o=Nn(t);if(cs(s)){r.append(o,s.map(ze).join(","));continue}r.append(o,ze(s));}return r}function $u(e){return "format"in e}function Vu(e,r){let t=new URLSearchParams;for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let n=r[s]??Nn(s);if(cs(o)){for(let i of o)t.append(n,ze(i));continue}t.append(n,ze(o));}return t}function cs(e){return Array.isArray(e)}function Nn(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function ze(e){return String(e)}var Db=t(e,k,i,s,d,c,a);async function _b(e,r={}){let t=R(r);return (await e.secureClob.get("/auth/ban-status/closed-only",{...t,schema:ClosedOnlyModeSchema})).closedOnly}var pl=z$1.object({cursor:PaginationCursorSchema.optional(),id:z$1.string().optional(),market:z$1.string().optional()}),cl=Je(pl.shape).default({}),zb=t(e,k,i,s,d,c,a);function jb(e,r,t={}){let s=R(t),o=m(r,cl),{cursor:n}=o;return q(i=>e.secureClob.get("/data/orders",{schema:OpenOrdersPageSchema,...s,params:C({assetId:o.assetId??o.tokenId,id:o.id,market:o.market,nextCursor:i},I({assetId:"asset_id"}))}).then(p=>({items:p.data,hasMore:p.nextCursor!==END_CURSOR,nextCursor:p.nextCursor===END_CURSOR?void 0:toPaginationCursor(p.nextCursor)})),n)}var dl=z$1.object({orderId:z$1.string()}),Hb=t(e,k,i,s,d,c,a);async function Wb(e,r,t={}){let s=R(t),o=m(r,dl);return e.secureClob.get(`/data/order/${o.orderId}`,{...s,schema:OpenOrderSchema})}var ul={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()},ll=Je(ul).default({}),Nb=t(e,k,i,s,d,c,a);function Kn(e,r,t={}){let s=R(t),o=m(r,ll),{cursor:n}=o;return q(i=>e.secureClob.get("/data/trades",{schema:ClobTradesPageSchema,...s,params:C({after:o.after,assetId:o.assetId??o.tokenId,before:o.before,id:o.id,makerAddress:o.makerAddress,market:o.market,nextCursor:i},I({assetId:"asset_id"}))}).then(p=>({items:p.data,hasMore:p.nextCursor!==END_CURSOR,nextCursor:p.nextCursor===END_CURSOR?void 0:toPaginationCursor(p.nextCursor)})),n)}var Kb=t(e,k,i,s,d,c,a),ml=z$1.object({ids:z$1.array(z$1.string()).min(1)});async function Gb(e,r={}){let t=R(r),s=Ie(e.account.walletType);return e.secureClob.get("/notifications",{schema:NotificationsResponseSchema,...t,params:C({signatureType:s},I())})}var $b=t(k,i,s,d,c,a);async function Vb(e,r){let t=m(r,ml),s=Ie(e.account.walletType),o=C({ids:t.ids.join(","),signatureType:s},I());await e.secureClob.del("/notifications",{responseType:"empty",params:o});}var Gn=z$1.object({assetType:AssetTypeSchema}),fl=Je(Gn.shape),Yb=t(e,k,i,s,d,c,a);async function ds(e,r,t={}){let s=R(t),o=m(r,fl),n=Ie(e.account.walletType);return e.secureClob.get("/balance-allowance",{schema:BalanceAllowanceResponseSchema,...s,params:C({assetType:o.assetType,tokenId:o.assetId??o.tokenId,signatureType:n},I())})}var yl=Je(Gn.shape),Zb=t(k,i,s,d,c,a);async function $n(e,r){let t=m(r,yl),s=Ie(e.account.walletType),o=C({assetType:t.assetType,tokenId:t.assetId??t.tokenId,signatureType:s},I());return await e.secureClob.getWorkflow("/balance-allowance/update",{responseType:"empty",params:o}),ds(e,t)}var Pl=z$1.object({orderId:z$1.string()}),Qb=t(e,k,i,s,d,c,a);async function Jb(e,r,t={}){let s=R(t),o=m(r,Pl);return (await e.secureClob.get("/order-scoring",{schema:OrderScoringResponseSchema,...s,params:C(o,I())})).scoring}var Rl=z$1.object({orderIds:z$1.array(z$1.string())}),Xb=t(e,k,i,s,d,c,a);async function eI(e,r,t={}){let s=R(t),n=m(r,Rl).orderIds;return e.secureClob.postRead("/orders-scoring",{schema:OrdersScoringResponseSchema,...s,json:n})}var gl=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string()}),rI=t(e,k,i,s,d,c,a);function tI(e,r,t={}){let s=R(t),{cursor:o,...n}=m(r,gl),i=Ie(e.account.walletType);return q(p=>e.secureClob.get("/rewards/user",{schema:UserEarningsPageSchema,...s,params:C({...n,nextCursor:p,signatureType:i},I())}).then(f=>({items:f.data,hasMore:f.nextCursor!==END_CURSOR,nextCursor:f.nextCursor===END_CURSOR?void 0:toPaginationCursor(f.nextCursor)})),o)}var El=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string(),sponsored:z$1.boolean().optional()}),sI=t(e,k,i,s,d,c,a);async function oI(e,r,t={}){let s=R(t),o=m(r,El),n=Ie(e.account.walletType);return e.secureClob.get("/rewards/user/total",{schema:TotalUserEarningsResponseSchema,...s,params:C({...o,signatureType:n},I())})}var hl=z$1.object({cursor:PaginationCursorSchema.optional(),date:z$1.string(),noCompetition:z$1.boolean().optional(),orderBy:z$1.string().optional(),pageSize:w.max(500).default(100),position:z$1.string().optional()}),nI=t(e,k,i,s,d,c,a);function iI(e,r,t={}){let s=R(t),{cursor:o,...n}=m(r,hl),i=Ie(e.account.walletType);return q(p=>e.secureClob.get("/rewards/user/markets",{schema:UserRewardsEarningsPageSchema,...s,params:C({...n,nextCursor:p,signatureType:i},I())}).then(f=>({items:f.data,hasMore:f.nextCursor!==END_CURSOR,nextCursor:f.nextCursor===END_CURSOR?void 0:toPaginationCursor(f.nextCursor)})),o)}var aI=t(e,k,i,s,d,c,a);async function pI(e,r={}){let t=R(r),s=Ie(e.account.walletType);return e.secureClob.get("/rewards/user/percentages",{schema:RewardsPercentagesSchema,...t,params:C({signatureType:s},I())})}var ql=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema.optional(),takerOnly:z$1.boolean().optional(),filterType:TradeFilterTypeSchema.optional(),filterAmount:z$1.number().min(0).optional(),conditionId:z$1.union([ConditionIdSchema,Ee(ConditionIdSchema,20)]).optional(),eventId:z$1.array(EventIdSchema).min(1).optional(),side:OrderSideSchema.optional(),window:fr.optional()}).refine(e=>!(e.conditionId&&e.eventId),{message:"Provide conditionId or eventId, not both",path:["eventId"]}),gI=t(e,k,i,d,c,a);function EI(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,window:i,...p}=m(r,ql);return q(f=>e.data.get("/v2/trades",{schema:ListTradesResponseSchema,...s,params:z({...p,...i,limit:n,cursor:f})}),o)}var vl=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema,conditionId:z$1.union([ConditionIdSchema,Ee(ConditionIdSchema,20)]).optional(),eventId:z$1.array(EventIdSchema).min(1).optional(),type:z$1.array(ActivityTypeSchema).min(1).optional(),side:OrderSideSchema.optional(),sortDirection:SortDirectionSchema.optional(),window:fr.optional()}).refine(e=>!(e.conditionId&&e.eventId),{message:"Provide conditionId or eventId, not both",path:["eventId"]}),hI=t(e,k,i,d,c,a);function SI(e,r,t={}){let s=R(t),{cursor:o,pageSize:n,window:i,...p}=m(r,vl);return q(f=>e.data.get("/v2/activity",{schema:ListActivityResponseSchema,...s,params:z({...p,...i,excludeDepositsWithdrawals:false,limit:n,cursor:f})}),o)}var Ol=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema,conditionId:z$1.union([ComboConditionIdSchema,Ee(ComboConditionIdSchema,20)]).optional()}),TI=t(e,k,i,d,c,a);function xI(e,r,t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,Ol);return q(p=>e.data.get("/v2/activity/combos",{schema:ListComboActivityResponseSchema,...s,params:z({...i,limit:n,cursor:p})}),o)}var Jn=z$1.bigint().positive().max((1n<<256n)-1n),Al=z$1.string().regex(/^0x02[0-9a-fA-F]{60}(?:00)?$/,"Expected a protocol V2 neg-risk condition ID (bytes31 or zero-padded bytes32)").refine(e=>NegRiskEventIdSchema.safeParse(e.slice(0,60)).success,"Condition ID must encode a valid neg-risk event").refine(e=>Number.parseInt(e.slice(60,64),16)<=Number.parseInt(e.slice(36,40),16),"Condition index must be at most the event arity (the Other index)").transform(e=>e.slice(0,64).toLowerCase()),at=z$1.strictObject({conditionId:Al,amount:Jn}),pt=z$1.object({protocolEventId:NegRiskEventIdSchema,amount:Jn}),Xn=pt.extend({conditionIndex:z$1.number().int().min(0).max(65535)}).refine(({protocolEventId:e,conditionIndex:r})=>r<=Number.parseInt(e.slice(36,40),16),{path:["conditionIndex"],message:"Condition index must be at most the event arity (the Other index)"});var wl=64,Ll=/^0x[0-9a-fA-F]{62}$/,Fl=/^0x[0-9a-fA-F]{64}$/,ms="0x0000000000000000000000000000000000000000000000000000000000000000",Bl=AbiFunction.from("function approve(address spender, uint256 amount)"),ri=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),Ml=AbiFunction.from("function transfer(address recipient, uint256 amount)"),Ul=AbiFunction.from("function authorizeSessionSigner(address sessionSigner, uint256 validUntil)"),Dl=AbiFunction.from("function revokeSessionSigner(address sessionSigner)"),_l=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),zl=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),ti=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),si=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),oi=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),jl=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Hl=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Wl=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),Nl=AbiFunction.from("function redeemPositions(bytes32 conditionId, uint256[] amounts)"),Kl=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),Gl=AbiFunction.from("function convert(bytes29 eventId, uint16 conditionIndex, uint256 amount)"),$l=AbiFunction.from("function horizontalSplit(bytes29 eventId, uint256 amount)"),Vl=AbiFunction.from("function horizontalMerge(bytes29 eventId, uint256 amount)"),Yl=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Zl=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),Ql=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),Jl=AbiFunction.from("function multiSend(bytes)"),Xl=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),ni=[1n,2n],em=[1n,2n],Le=(1n<<256n)-1n,DI=t(a);function ct(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>Le)throw new a("Approval amount exceeds uint256 range");return {data:rm(r,t),to:e}}function ii(e,r,t){return {data:AbiFunction.encodeData(ri,[r,t]),to:e}}function ai(e){return AbiFunction.decodeResult(ri,e)}function dt(e,r,t){return {data:tm(r,t),to:e}}function pi(e,r,t){return {data:AbiFunction.encodeData(ti,[r,t]),to:e}}function ci(e){return AbiFunction.decodeResult(ti,e)}function di(e,r,t){return {data:AbiFunction.encodeData(si,[r,ve(BigInt(t),"Position ID")]),to:e}}function ui(e){return AbiFunction.decodeResult(si,e)}function Fr(e,r,t){return {data:AbiFunction.encodeData(oi,[t.map(()=>r),t.map(s=>ve(BigInt(s),"id"))]),to:e}}function Br(e){return AbiFunction.decodeResult(oi,e)}var _I=t(a);function fs(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>Le)throw new a("Transfer amount exceeds uint256 range");return {data:sm(r,t),to:e}}function li(e,r,t){return {data:AbiFunction.encodeData(Ul,[r,ve(t,"Session key expiry")]),to:e}}function mi(e,r){return {data:AbiFunction.encodeData(Dl,[r]),to:e}}var zI=t(a);function fi(e,r,t,s){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(_l,[r,ve(t,"Perps deposit amount"),s]),to:e}}var jI=t(a);function yi(e,r,t,s){return {data:om(r,t,s),to:e}}var HI=t(a);function Pi(e,r,t,s){return {data:nm(r,t,s),to:e}}var WI=t(a);function Ri(e,r,t){return {data:im(r,t),to:e}}function gi(e,r,t){if(t.some(s=>s<0n))throw new a("Redemption amounts cannot be negative");return {to:e,data:AbiFunction.encodeData(Nl,[r,[...t]])}}var NI=t(a);function Ei(e,r,t,s){let o=m({protocolEventId:r,conditionIndex:t,amount:s},Xn);return {to:e,data:AbiFunction.encodeData(Gl,[o.protocolEventId,o.conditionIndex,o.amount])}}var KI=t(a);function hi(e,r,t){let s=m({protocolEventId:r,amount:t},pt);return {to:e,data:AbiFunction.encodeData($l,[s.protocolEventId,s.amount])}}var GI=t(a);function Si(e,r,t){let s=m({protocolEventId:r,amount:t},pt);return {to:e,data:AbiFunction.encodeData(Vl,[s.protocolEventId,s.amount])}}var $I=t(a);function ys(e,r,t){return {data:AbiFunction.encodeData(Kl,[gs(r),ve(t,"Split amount")]),to:e}}var VI=t(a);function Ps(e,r,t){return {data:AbiFunction.encodeData(Yl,[gs(r),ve(t,"Merge amount")]),to:e}}var YI=t(a);function ut(e,r,t,s){return {data:AbiFunction.encodeData(Zl,[gs(r),BigInt(am(t)),ve(s,"Redeem amount")]),to:e}}var ZI=t(a);function Rs(e,r){return {data:AbiFunction.encodeData(Ql,[r.map(t=>ve(t,"Leg position ID"))]),to:e}}function rm(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(Bl,[e,r])}function tm(e,r){return AbiFunction.encodeData(zl,[e,r])}function sm(e,r){return AbiFunction.encodeData(Ml,[e,r])}function om(e,r,t){return AbiFunction.encodeData(jl,[e,ms,r,ni,ve(t,"Split amount")])}function nm(e,r,t){return AbiFunction.encodeData(Hl,[e,ms,r,ni,ve(t,"Merge amount")])}function im(e,r){return AbiFunction.encodeData(Wl,[e,ms,r,em])}function ve(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>Le)throw new a(`${r} exceeds uint256 range`);return e}function gs(e){if(Ll.test(e))return e.toLowerCase();if(Fl.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,wl)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function am(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function Ti(e){return AbiFunction.encodeData(Xl,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function xi(e){let r=e.map(t=>pm(t));return AbiFunction.encodeData(Jl,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function pm(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 eq=t(k,i,l,n,d,c,a);function H(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}t(o,s);t(o,s);function nq(e){return async function(t){let s=await t.next();for(;!s.done;)try{switch(s.value.kind){case "requestAddress":s=await t.next(await e.getAddress());break;case "signAuthMessage":s=await t.next(await e.signTypedData(s.value.payload));break}}catch(o){s=await t.throw(o);}return s.value}}function j(e){return async function(t){let s=await t.next();for(;!s.done;)try{switch(s.value.kind){case "requestAddress":s=await t.next(await e.getAddress());break;case "signGaslessTypedData":case "signOrder":s=await t.next(await e.signTypedData(s.value.payload));break;case "signGaslessMessage":s=await t.next(await e.signMessage(s.value.payload));break;case "sendErc20ApprovalTransaction":case "sendErc1155ApprovalForAllTransaction":case "sendErc20TransferTransaction":case "sendPerpsDepositTransaction":case "sendMergePositionsTransaction":case "sendRedeemPositionsTransaction":case "sendConvertTransaction":case "sendHorizontalSplitTransaction":case "sendHorizontalMergeTransaction":case "sendSplitPositionTransaction":s=await t.next(await e.sendTransaction(s.value.request));break}}catch(o){s=await t.throw(o);}return s.value}}function Ci(){return {kind:"requestAddress"}}function W(e,r){return {chainId:e,...r}}function Ii(e,r,t,s){if(e.address.toLowerCase()!==r.toLowerCase()||e.chainId!==t)throw new c("Approval snapshot does not match the requested wallet and chain");function o(n,i){let p=e.contracts.filter(P=>P.token.toLowerCase()===n.toLowerCase()&&P.spender.toLowerCase()===i.toLowerCase()),f=p[0];if(p.length!==1||!f)throw new c("Expected exactly one approval row for each required token and spender");return f}return {erc20:s.erc20.filter(n=>{let i=o(n.tokenAddress,n.spenderAddress);if(i.standard!==ApprovalStandard.Erc20)throw new c("Expected an ERC-20 approval row");return !i.approved||i.amount!=="max"&&i.amount<n.amount}),erc1155:s.erc1155.filter(n=>{let i=o(n.tokenAddress,n.operatorAddress);if(i.standard!==ApprovalStandard.Erc1155)throw new c("Expected an ERC-1155 approval row");return !i.approved})}}var Rm=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],gm=[{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"}],Em="DepositWallet",hm="1",Sm=600,Tm=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],xm=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],Cm=z$1.object({address:z$1.string(),type:z$1.enum(RelayerTransactionType)}),xq=t(e,k,i,d,c,a);async function hs(e,r,t={}){let s=R(t),o=m(r,Cm);if(o.type!==RelayerTransactionType.WALLET)throw new a("SDK relayer nonce requests require WALLET.");return e.relayer.get("/nonce",{...s,params:C(o,{address:"address",type:"type"}),schema:z$1.object({nonce:z$1.string().min(1)}).transform(({nonce:n})=>({address:expectEvmAddress(o.address),nonce:n}))})}var bm=z$1.object({transactionId:TransactionIdSchema}),Im=z$1.array(z$1.object({transactionID:TransactionIdSchema,transactionHash:z$1.string().nullish(),state:z$1.enum(RelayerTransactionState),failureReason:z$1.string().nullish()})).min(1).transform(([e])=>{if(e===void 0)throw new c("SDK relayer returned no transaction.");return GaslessTransactionSchema.parse({transaction_id:e.transactionID,transaction_hash:e.transactionHash??"",state:e.state,error_msg:e.failureReason??null})}),qm=z$1.object({wallet:EvmAddressSchema,type:z$1.enum(WalletType)}),Cq=t(e,k,i,d,c,a);async function bq(e,r,t={}){let s=R(t),o=await vm(e,r,s);if(o.type!==WalletType.DEPOSIT_WALLET)throw new a("SDK relayer supports Deposit Wallet only.");return e.relayer.get("/deployed",{...s,params:C({address:o.wallet,type:o.type===WalletType.DEPOSIT_WALLET?RelayerTransactionType.WALLET:void 0},{address:"address",type:"type"}),schema:RelayerDeployedResponseSchema}).then(({deployed:n})=>n)}async function vm(e,r,t={}){let s=R(t);if(r!==void 0)return m(r,qm);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 jn(e.rpc,e.account.signer,e.environment.walletDerivation,s),type:WalletType.DEPOSIT_WALLET}}var V=z$1.string().max(500),qi=10,Iq=t(k,i,d,c,a);async function qq(e){return invariant(e.hasBuilderApiKey,"SDK Deposit Wallet deployment requires builder credentials."),Mr(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}var vq=t(e,k,i,d,c,a);async function Om(e,r,t={}){let s=R(t),o=m(r,bm);return e.relayer.get("/transaction",{...s,params:new URLSearchParams({id:o.transactionId}),schema:Im})}var Am=z$1.object({data:z$1.custom(isHexString),to:EvmAddressSchema,value:z$1.bigint().optional()}),km=z$1.object({calls:z$1.array(Am).min(1).transform(e=>expectNonEmptyArray(e)),metadata:V}),Oq=t(k,i,d,c,a);async function Z(e,r){let t=m(r,km);return invariant(e.hasBuilderApiKey,"SDK gasless transactions require builder credentials."),invariant(e.account.walletType===WalletType.DEPOSIT_WALLET,"SDK gasless transactions require a Deposit Wallet."),async function*(){let s=expectEvmAddress(yield Ci());invariant(s===e.account.signer,"Wallet client address does not match the authenticated signer");for(let o=0;o<=qi;o+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*wm(e,t);case WalletType.DEPOSIT_WALLET:return yield*Lm(e,t);case WalletType.GNOSIS_SAFE:return yield*Fm(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(n){if(!bs(n)||o===qi)throw n;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*wm(e,r){let t=yield*Ss(e,r.calls,r.metadata);return Mr(e,t)}async function*Ss(e,r,t){let s=await hs(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),o=e.environment.walletDerivation.proxyFactory,n=Ti(r),i="0",p="0",f=(await e.rpc.ethEstimateGas({data:n,from:e.account.signer,to:o})).toString(),P=e.environment.contracts.relayHub,E=s.address,b=Dm(e.account.signer,o,n,i,p,f,s.nonce,P,E),A=expectEvmSignature(yield Bi(b));return {data:n,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:s.nonce,proxyWallet:e.account.wallet,signature:A,signatureParams:{gasLimit:f,gasPrice:p,relay:E,relayHub:P,relayerFee:i},to:o,type:RelayerTransactionType.PROXY}}function Ts(e){return !(e instanceof i)||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*Lm(e,r){let t=yield*Pr(e,r.calls,r.metadata);try{return await Mr(e,t)}catch(s){let o=Ts(s);if(o===void 0)throw s;let n=yield*xs(e,t,r.calls,o);return Mr(e,n)}}async function*Pr(e,r,t){let s=await hs(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),o=r.map(Li),n=`${Math.floor(Date.now()/1e3)+Sm}`,i=mr(e.account,expectEvmSignature(yield Mi(Fi({calls:o,chainId:e.environment.chainId,deadline:n,nonce:s.nonce,wallet:e.account.wallet}))));return {depositWalletParams:{calls:o,deadline:n,depositWallet:e.account.wallet},from:e.account.signer,...t!==void 0&&{metadata:t},nonce:s.nonce,signature:i,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET}}async function*xs(e,r,t,s){let o=mr(e.account,expectEvmSignature(yield Mi(Fi({calls:t.map(Li),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:s,wallet:e.account.wallet}))));return {...r,nonce:s,signature:o}}async function*Fm(e,r){let t=yield*Cs(e,r.calls,r.metadata);return Mr(e,t)}async function*Cs(e,r,t){let s=await hs(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),o=Bm(r,e.environment.contracts.safeMultisend),n=Um({chainId:e.environment.chainId,data:o.data,nonce:s.nonce,operation:o.operation,safeAddress:e.account.wallet,to:o.to,value:o.value}),i=expectEvmSignature(yield Bi(expectHexString(TypedData.getSignPayload(n))));return {data:o.data,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:s.nonce,proxyWallet:e.account.wallet,signature:_m(i),signatureParams:Mm(o.operation),to:o.to,type:RelayerTransactionType.SAFE,value:o.value>0n?`${o.value}`:void 0}}async function Mr(e,r){let t=m(r,RelayerExecuteRequestSchema);if(t.type!==RelayerTransactionType.WALLET&&t.type!==RelayerTransactionType.WALLET_CREATE)throw new a("SDK relayer accepts WALLET and WALLET-CREATE only.");if(!e.hasBuilderApiKey)throw new a("SDK relayer submissions require builder credentials.");let s=await e.relayer.post("/submit",{json:t,schema:RelayerExecuteResponseSchema});return new er(e,s)}function bs(e){if(e instanceof k)return true;if(!(e instanceof i)||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],s=r[2];return t===void 0||s===void 0?false:BigInt(t)<BigInt(s)}function Li(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function Fi(e){let r={chainId:e.chainId,name:Em,verifyingContract:e.wallet,version:hm};return {domain:r,message:{calls:e.calls.map(t=>({data:t.data,target:t.target,value:BigInt(t.value)})),deadline:BigInt(e.deadline),nonce:BigInt(e.nonce),wallet:e.wallet},primaryType:"Batch",types:{Batch:xm,Call:Tm,EIP712Domain:TypedData.extractEip712DomainTypes(r)}}}function Bm(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:xi(e),operation:1,to:r,value:0n}}function Mm(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function Um(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:Rm,SafeTx:gm}}}function Bi(e){return {kind:"signGaslessMessage",payload:e}}function Mi(e){return {kind:"signGaslessTypedData",payload:e}}function Dm(e,r,t,s,o,n,i,p,f){return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromString("rlx:"),Bytes.fromHex(e),Bytes.fromHex(r),Bytes.fromHex(t),Bytes.fromNumber(BigInt(s),{size:32}),Bytes.fromNumber(BigInt(o),{size:32}),Bytes.fromNumber(BigInt(n),{size:32}),Bytes.fromNumber(BigInt(i),{size:32}),Bytes.fromHex(p),Bytes.fromHex(f)),{as:"Hex"}))}function _m(e){let r=e.slice(2),t=Number.parseInt(r.slice(128,130),16),s=t===0||t===1?t+31:t===27||t===28?t+4:t;return expectHexString(`0x${r.slice(0,128)}${s.toString(16).padStart(2,"0")}`)}var Aq=t(k,i,d,c,a,l,n),er=class{#r;transactionHash;transactionId;constructor(r,t){this.#r=r,this.transactionHash=t.transactionHash,this.transactionId=t.transactionId;}async wait(){let r=0;for(;r<this.#r.environment.relayerMaxPolls;){let t=await Om(this.#r,{transactionId:this.transactionId});if(t.state===RelayerTransactionState.STATE_CONFIRMED){let s=t.transactionHash??this.transactionHash;if(s===null)throw new c("Expected submitted transaction to have a transaction hash once settled");return {transactionHash:s,transactionId:t.transactionId}}if(t.state===RelayerTransactionState.STATE_FAILED||t.state===RelayerTransactionState.STATE_INVALID)throw new n(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#r.environment.relayerPollFrequencyMs);}throw new l(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var jm=z$1.object({amount:z$1.union([z$1.bigint(),z$1.literal("max")]),metadata:V.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),Kq=t(a);async function Hm(e,r){let t=m(r,jm),s=t.amount==="max"?Le:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?H(yield zi(W(e.environment.chainId,ct(t.tokenAddress,t.spenderAddress,s)))):yield*await Z(e,{calls:[ct(t.tokenAddress,t.spenderAddress,s)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var Gq=t(o,k,i,s,d,c,a);function Ui(e,r){return Hm(e,r).then(j(e.signer))}var Wm=z$1.object({approved:z$1.boolean().default(true),metadata:V.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),$q=t(a);async function Nm(e,r){let t=m(r,Wm);return async function*(){return e.account.walletType===WalletType.EOA?H(yield ji(W(e.environment.chainId,dt(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await Z(e,{calls:[dt(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var Vq=t(o,k,i,s,d,c,a);function Di(e,r){return Nm(e,r).then(j(e.signer))}var Yq=t(i,d,c,a),Km=z$1.object({user:EvmAddressSchema}),Zq=t(e,k,i,d,c,a);async function Qq(e,r,t={}){let s=R(t),{user:o}=m(r,Km),n=await e.data.get("/v2/approvals",{...s,params:z({user:o}),schema:FetchApprovalsResponseSchema}),i=Ii(n,o,e.environment.chainId,_i(e));return {isFullyApproved:i.erc20.length===0&&i.erc1155.length===0,missing:i}}async function Gm(e){let r=await $m(e,e.account.wallet),t=r.erc20.map(o=>ct(o.tokenAddress,o.spenderAddress,o.amount)),s=r.erc1155.map(o=>dt(o.tokenAddress,o.operatorAddress,true));return async function*(){if(t.length===0&&s.length===0)return;if(e.account.walletType===WalletType.EOA){for(let n of t)await H(yield zi(W(e.environment.chainId,n))).wait();for(let n of s)await H(yield ji(W(e.environment.chainId,n))).wait();return}await(yield*await Z(e,{calls:[...t,...s],metadata:"Trading setup approvals"})).wait();}.call(null)}var Jq=t(o,k,i,s,l,n,d,c,a);function Xq(e){return Gm(e).then(j(e.signer)).then(()=>{})}async function $m(e,r){let t=_i(e),s=[...t.erc20.map(p=>ii(p.tokenAddress,r,p.spenderAddress)),...t.erc1155.map(p=>pi(p.tokenAddress,r,p.operatorAddress))],o=await e.rpc.ethCallBatch(s),n=o.slice(0,t.erc20.length),i=o.slice(t.erc20.length);try{return {erc20:t.erc20.filter((p,f)=>ai(n[f])<p.amount),erc1155:t.erc1155.filter((p,f)=>!ci(i[f]))}}catch(p){throw new c("Expected JSON-RPC approval checks to return ABI-encoded values",{cause:p})}}function _i(e){let{contracts:r}=e.environment;return {erc20:[{amount:Le,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:Le,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens}]}}function zi(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function ji(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}async function Hi(e,r,t,s,o){let n=`${r}${t}${s}`;o!==void 0&&(n+=o);let i=await globalThis.crypto.subtle.importKey("raw",Vm(e),{name:"HMAC",hash:"SHA-256"},false,["sign"]),p=await globalThis.crypto.subtle.sign("HMAC",i,new TextEncoder().encode(n));return Zm(Ym(p))}function Vm(e){let r=e.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),t=atob(r),s=new Uint8Array(t.length);for(let o=0;o<t.length;o+=1)s[o]=t.charCodeAt(o);return s.buffer}function Ym(e){let r=new Uint8Array(e),t="";for(let s of r)t+=String.fromCharCode(s);return btoa(t)}function Zm(e){return e.replace(/\+/g,"-").replace(/\//g,"_")}var av=t(k,i,d,c);async function ef(e,r){return e.clob.post("/auth/api-key",{headers:qs(r),schema:ApiKeyCredsSchema})}var pv=t(k,i,d,c);async function rf(e,r){return e.clob.getWorkflow("/auth/derive-api-key",{headers:qs(r),schema:ApiKeyCredsSchema})}var cv=t(k,i,d,c);async function dv(e,r){try{return await ef(e,r)}catch(t){if(!(t instanceof i)||t.status!==400)throw t}return rf(e,r)}var uv=t(e,k,i,s,d,c,a);async function lv(e,r={}){let t=R(r);return await e.secureClob.get("/auth/api-keys",{...t,schema:ApiKeysResponseSchema})}var mv=t(k,i,s,d,c);async function fv(e){await e.secureClob.del("/auth/api-key",{schema:z$1.object({revoked:z$1.literal(true)})});}var yv=t(k,i,s,d,c);async function Pv(e,r){return e.relayer.post("/auth/builder-api-key",{headers:qs(r),schema:BuilderApiKeyCredsSchema})}var Rv=t(e,k,i,s,d,c,a);async function gv(e,r={}){if(e.supportsGasless&&!e.hasBuilderApiKey)throw new a("Listing builder keys requires builder credentials or account L2 credentials without a relayer API key.");let t=R(r);return e.relayer.get("/auth/builder-api-key",{...t,headers:e.hasBuilderApiKey?void 0:await tf(e,"GET","/auth/builder-api-key"),schema:BuilderApiKeysResponseSchema})}var Ev=t(k,i,s,d,c);async function hv(e){if(!e.hasBuilderApiKey)throw new a("Revoking a builder key requires builder credentials.");await e.relayer.del("/auth/builder-api-key",{schema:z$1.object({revoked:z$1.literal(true)})});}async function tf(e,r,t){let s=Math.floor(Date.now()/1e3);return {KUEST_ADDRESS:e.account.signer,KUEST_API_KEY:e.credentials.key,KUEST_PASSPHRASE:e.credentials.passphrase,KUEST_TIMESTAMP:`${s}`,KUEST_SIGNATURE:await Hi(e.credentials.secret,s,r,t)}}function qs(e){return {KUEST_ADDRESS:e.address,KUEST_NONCE:`${e.nonce}`,KUEST_SIGNATURE:e.signature,KUEST_TIMESTAMP:`${e.timestamp}`}}var xv=t(e,k,i,d,c,a);function Cv(e,r,t={}){throw new a("Builder trade filtering is unavailable: the CLOB /builder/trades route ignores builder_code.")}var qf=ne({}),Mv=t(e,k,i,d,c,a);async function Uv(e,r,t={}){let s=R(t),o=m(r,qf);return (await e.clob.get("/midpoint",{...s,params:tr(o),schema:MidpointSchema})).mid}var vf=z$1.array(ne({})).min(1),Dv=t(e,k,i,d,c,a);async function _v(e,r,t={}){let s=R(t),o=m(r,vf);return e.clob.postRead("midpoints",{...s,json:Rt(o),schema:MidpointsSchema})}var Of=ne({}),zv=t(e,k,i,d,c,a);async function jv(e,r,t={}){let s=R(t),o=m(r,Of);return (await e.clob.get("/tick-size",{...s,params:tr(o),schema:FetchTickSizeResponseSchema})).minimumTickSize}var Af=ne({}),Hv=t(e,k,i,d,c,a);async function Wv(e,r,t={}){let s=R(t),o=m(r,Af);return (await e.clob.get("/neg-risk",{...s,params:tr(o),schema:FetchNegRiskResponseSchema})).negRisk}var kf=ne({}),Nv=t(e,k,i,d,c,a);async function Gi(e,r,t={}){let s=R(t),o=m(r,kf);return e.clob.get(`/markets-by-token/${o.assetId??o.tokenId}`,{...s,schema:ResolveConditionByTokenResponseSchema})}var wf=z$1.object({conditionId:ConditionIdSchema}),Kv=t(e,k,i,d,c,a);async function $i(e,r,t={}){let s=R(t),o=m(r,wf);return e.clob.get(`/clob-markets/${o.conditionId}`,{...s,schema:FetchMarketInfoResponseSchema})}var Lf=z$1.object({builderCode:BuilderCodeSchema}),Gv=t(e,k,i,d,c,a);async function Vi(e,r,t={}){let s=R(t),o=m(r,Lf);return e.clob.get(`/fees/builder-fees/${o.builderCode}`,{...s,schema:FetchBuilderFeeRatesResponseSchema}).catch(n=>{throw n instanceof i&&n.status===404?new a(`Unknown builder code: ${o.builderCode}`,{cause:n}):n})}var Ff=ne({side:OrderSideSchema}),$v=t(e,k,i,d,c,a);async function Vv(e,r,t={}){let s=R(t),o=m(r,Ff);return (await e.clob.get("/price",{...s,params:tr(o),schema:PriceSchema})).price}var Bf=z$1.array(ne({side:OrderSideSchema})).min(1),Yv=t(e,k,i,d,c,a);async function Zv(e,r,t={}){let s=R(t),o=m(r,Bf);return e.clob.postRead("prices",{...s,json:Nf(o),schema:PricesSchema})}var Mf=ne({}),Qv=t(e,k,i,d,c,a);async function Pt(e,r,t={}){let s=R(t),o=m(r,Mf);return e.clob.get("/book",{...s,params:tr(o),schema:FetchOrderBookResponseSchema})}var Uf=z$1.array(ne({})).min(1),Jv=t(e,k,i,d,c,a);async function Xv(e,r,t={}){let s=R(t),o=m(r,Uf);return e.clob.postRead("books",{...s,json:Rt(o),schema:OrderBooksSchema})}var Df=ne({}),eO=t(e,k,i,d,c,a);async function rO(e,r,t={}){let s=R(t),o=m(r,Df);return (await e.clob.get("/spread",{...s,params:tr(o),schema:SpreadSchema})).spread}var _f=z$1.array(ne({})).min(1),tO=t(e,k,i,d,c,a);async function sO(e,r,t={}){let s=R(t),o=m(r,_f);return e.clob.postRead("spreads",{...s,json:Rt(o),schema:SpreadsSchema})}var zf=ne({}),oO=t(e,k,i,d,c,a);async function nO(e,r,t={}){let s=R(t),o=m(r,zf);return e.clob.get("/last-trade-price",{...s,params:tr(o),schema:LastTradePriceSchema})}var jf=z$1.array(ne({})).min(1),iO=t(e,k,i,d,c,a);async function aO(e,r,t={}){let s=R(t),o=m(r,jf);return e.clob.postRead("last-trades-prices",{...s,json:Rt(o),schema:LastTradePricesSchema})}var Hf=z$1.object({cursor:PaginationCursorSchema.optional(),sponsored:z$1.boolean().optional()}).default({}),pO=t(e,k,i,d,c,a);function cO(e,r={},t={}){let s=R(t),{cursor:o,...n}=m(r,Hf);return q(i=>e.clob.get("/rewards/markets/current",{...s,params:C({...n,nextCursor:i},I()),schema:PaginatedCurrentRewardsSchema}).then(p=>({items:p.data,hasMore:p.nextCursor!==END_CURSOR,nextCursor:p.nextCursor===END_CURSOR?void 0:toPaginationCursor(p.nextCursor)})),o)}var Wf=z$1.object({conditionId:ConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z$1.boolean().optional()}),dO=t(e,k,i,d,c,a);function uO(e,r,t={}){let s=R(t),{cursor:o,...n}=m(r,Wf);return q(i=>e.clob.get(`rewards/markets/${n.conditionId}`,{...s,params:C({nextCursor:i,sponsored:n.sponsored},I()),schema:PaginatedMarketRewardsSchema}).then(p=>({items:p.data,hasMore:p.nextCursor!==END_CURSOR,nextCursor:p.nextCursor===END_CURSOR?void 0:toPaginationCursor(p.nextCursor)})),o)}function Rt(e){return e.map(r=>({token_id:r.assetId??r.tokenId}))}function Nf(e){return e.map(r=>({token_id:r.assetId??r.tokenId,side:r.side}))}function tr(e){let{assetId:r,tokenId:t,...s}=e;return C({...s,tokenId:e.assetId??e.tokenId},I())}var Kf=z$1.object({query:z$1.string().optional(),tagSlugs:z$1.array(z$1.string().min(1)).optional(),marketId:z$1.number().int().positive().optional(),eventIds:z$1.array(z$1.number().int().positive()).optional(),eventTitle:z$1.string().optional(),orderBy:z$1.enum(RewardMarketSort).optional(),sortDirection:SortDirectionSchema.optional(),minVolume24hr:z$1.number().nonnegative().optional(),maxVolume24hr:z$1.number().nonnegative().optional(),minSpread:z$1.number().nonnegative().optional(),maxSpread:z$1.number().nonnegative().optional(),minPrice:z$1.number().nonnegative().optional(),maxPrice:z$1.number().nonnegative().optional(),pageSize:z$1.number().int().min(1).max(500).default(100),cursor:PaginationCursorSchema.optional()}),lO=t(e,k,i,d,c,a);function mO(e,r={},t={}){let s=R(t),{cursor:o,...n}=m(r,Kf);return q(i=>e.clob.get("/rewards/markets/multi",{schema:PaginatedRewardMarketsSchema,...s,params:C({...n,nextCursor:i},I({query:"q",tagSlugs:"tag_slug",minVolume24hr:"min_volume_24hr",maxVolume24hr:"max_volume_24hr",eventIds:"event_id",sortDirection:"position"}))}).then(p=>({items:p.data,hasMore:p.nextCursor!==END_CURSOR,nextCursor:p.nextCursor===END_CURSOR?void 0:toPaginationCursor(p.nextCursor)})),o)}var Gf=z$1.object({date:z$1.iso.date().refine(e=>!e.startsWith("0000-"),"Expected a calendar date in year 1 or later"),makerAddress:EvmAddressSchema.refine(e=>!/^0x0{40}$/i.test(e),"Expected a nonzero maker address")}),fO=t(e,k,i,d,c,a);async function yO(e,r,t={}){let s=R(t),o=m(r,Gf);return e.clob.get("/rebates/current",{schema:RebatedFeesResponseSchema,...s,params:C(o,I())})}var Qi=2*6e4,IO=t(k,i,d,c);async function qO(e){return Ji(e),e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:Qi,schema:CollateralReturnPlanResponseSchema})}var ey=z$1.object({plan:CollateralReturnPlanSchema}),Yi=10,As="Collateral return",vO=t(i,d,c,a);async function ry(e,r){Ji(e);let{plan:t}=m(r,ey);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),!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 s=[{data:t.routerCall.data,to:t.routerCall.to,value:0n}];for(let o=0;o<=Yi;o+=1)try{let n=yield*ty(e,s);try{return await Zi(e,t.planHash,n)}catch(i){let p=Ts(i);if(p===void 0||n.type!==RelayerTransactionType.WALLET)throw i;let f=yield*xs(e,n,s,p);return await Zi(e,t.planHash,f)}}catch(n){if(!bs(n)||o===Yi)throw n;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var OO=t(o,k,i,s,d,c,a);function AO(e,r){return ry(e,r).then(j(e.signer))}function Ji(e){throw 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"),new a("SDK collateral return and protocol V2 router execution are not supported.")}function ty(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return Cs(e,r,As);case WalletType.POLY_PROXY:return Ss(e,r,As);default:return Pr(e,r,As)}}async function Zi(e,r,t){let s=await e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:Qi,schema:RelayerExecuteResponseSchema});return new er(e,s)}var Ls=100,Fs=200,ta={maxOffset:Fs,maxPageSize:Ls},py=z$1.object({ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(Ls).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}),cy=z$1.object({getPositions:z$1.boolean().optional(),id:CommentIdSchema}),dy=z$1.object({address:z$1.string(),ascending:z$1.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z$1.string().optional(),pageSize:w.max(Ls).default(20)}),HO=t(e,b,k,i,d,c,a),uy=z$1.enum(["id","createdAt"]);function ly(e){if(e.holdersOnly===true||e.getPositions===true)return;if(e.order===void 0)return {ascending:false,order:"createdAt",parentEntityId:e.parentEntityId,parentEntityType:e.parentEntityType};let r=uy.safeParse(e.order);if(r.success)return {ascending:e.ascending??true,order:r.data,parentEntityId:e.parentEntityId,parentEntityType:e.parentEntityType}}function WO(e,r,t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,py),p=ly(i);return q(f=>{if(f===void 0)return p===void 0?Xi(e,i,{offset:0,pageSize:n},s):ea(e,p,n,void 0,s);let P=et(f);if(P===void 0)throw new a("Invalid pagination cursor");let E=tt(P,p);return E===void 0||p===void 0?Xi(e,i,is(P,ta),s):ea(e,p,n,E,s)},o)}function Xi(e,r,t,s={}){let o=R(s);return e.gamma.get("/comments",{schema:ListCommentsResponseSchema,...o,params:C({ascending:r.ascending,getPositions:r.getPositions,holdersOnly:r.holdersOnly,limit:t.pageSize,offset:t.offset,order:r.order,parentEntityId:r.parentEntityId,parentEntityType:r.parentEntityType},I())}).then(n=>{let p=n.filter(f=>f.parentCommentID==null).length>=t.pageSize;return {items:n,hasMore:p,limitReached:p&&t.offset+t.pageSize>Fs,nextCursor:p?re({offset:t.offset+t.pageSize,pageSize:t.pageSize}):void 0}})}function ea(e,r,t,s,o={}){let n=R(o);return e.gamma.get("/comments/keyset",{schema:ListCommentsKeysetResponseSchema,...n,params:C({afterCursor:s,ascending:r.ascending,limit:t,order:r.order,parentEntityId:r.parentEntityId,parentEntityType:r.parentEntityType},I())}).then(i=>({items:i.items,hasMore:i.nextCursor!==void 0,nextCursor:i.nextCursor===void 0?void 0:rt(i.nextCursor,r)}))}var NO=t(e,k,i,d,c,a);async function KO(e,r,t={}){let s=R(t),o=m(r,cy);return e.gamma.get(`comments/${o.id}`,{schema:ListCommentsResponseSchema,...s,params:C({getPositions:o.getPositions},I())})}var GO=t(e,b,k,i,d,c,a);function $O(e,r,t={}){let s=R(t),{address:o,cursor:n,pageSize:i,...p}=m(r,dy);return q(f=>{let P=fe(f,i,ta);return e.gamma.get(`comments/user_address/${o}`,{schema:ListCommentsResponseSchema,...s,params:C({ascending:p.ascending,limit:P.pageSize,offset:P.offset,order:p.order},I())}).then(E=>{let b=E.length>=P.pageSize;return {items:E,hasMore:b,limitReached:b&&P.offset+P.pageSize>Fs,nextCursor:b?re({offset:P.offset+P.pageSize,pageSize:P.pageSize}):void 0}})},n)}function gt(e,r){let t;try{t=new URL(e);}catch(p){throw new a("Expected a valid HTTPS market URL.",{cause:p})}if(t.protocol!=="https:"||!t.hostname)throw new a("Expected a valid HTTPS market URL.");let[s,o,...n]=t.pathname.split("/").filter(Boolean),i=n[0];if(r==="market"&&s==="event"&&o!==void 0&&n.length<=1)return i??o;if(s!==r||o===void 0||n.length>0)throw new a(`Expected a ${r} URL.`);return o}var Sy=z$1.object({ascending:z$1.boolean().optional(),closed:ot.default(false),cursor:PaginationCursorSchema.optional(),pageSize:w.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(),version:z$1.union([z$1.enum(ProtocolVersion),z$1.array(z$1.enum(ProtocolVersion)).min(1).max(2)]).optional(),volumeMax:z$1.number().optional(),volumeMin:z$1.number().optional()}),Ty=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()})]),xy=z$1.object({id:z$1.string()}),aA=t(e,k,i,d,c,a);function pA(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,Sy);return q(p=>e.gamma.get("/events/keyset",{schema:ListEventsKeysetResponseSchema,...s,params:Oy({...i,pageSize:n,cursor:p===void 0?void 0:Cy(p,i)})}).then(f=>({items:f.items,hasMore:f.nextCursor!==void 0,nextCursor:f.nextCursor===void 0?void 0:rt(f.nextCursor,i)})),o)}function Cy(e,r){let t=et(e);return t===void 0?e:tt(t,r)??e}var cA=t(e,k,i,d,c,a);async function dA(e,r,t={}){let s=R(t),o=m(r,Ty);if("id"in o)return e.gamma.get(`events/${o.id}`,{schema:EventSchema,...s,params:Ay(o)});let n="url"in o?gt(o.url,"event"):o.slug;return e.gamma.get(`events/slug/${n}`,{schema:EventSchema,...s,params:ky(o)})}var uA=t(e,k,i,d,c,a);async function lA(e,r,t={}){let s=R(t),o=m(r,xy);return e.gamma.get(`events/${o.id}/tags`,{...s,schema:FetchEventTagsResponseSchema})}var by=z$1.array(CanonicalMarketConditionIdSchema).min(1).transform(e=>[...new Set(e)]).refine(e=>e.length<=20,"At most 20 distinct condition ids"),Iy=z$1.array(ps).min(1).transform(e=>[...new Set(e)]).refine(e=>e.length<=20,"At most 20 distinct event ids"),qy=z$1.union([z$1.object({questionId:QuestionIdSchema,conditionIds:z$1.never().optional(),eventIds:z$1.never().optional()}),z$1.object({questionId:z$1.never().optional(),conditionIds:by,eventIds:z$1.never().optional()}),z$1.object({questionId:z$1.never().optional(),conditionIds:z$1.never().optional(),eventIds:Iy})]),mA=t(e,k,i,d,c,a);async function fA(e,r,t={}){let s=R(t),{conditionIds:o,eventIds:n,questionId:i}=m(r,qy);return e.data.get("/v2/resolutions",{schema:FetchResolutionsResponseSchema,...s,params:z({questionId:i,condition:o,eventId:n})})}var vy=z$1.object({eventIds:z$1.array(ps).min(1).transform(e=>[...new Set(e)])}),yA=t(e,k,i,d,c,a);async function PA(e,r,t={}){let s=R(t),{eventIds:o}=m(r,vy);return e.data.get("/v2/live-volume",{schema:FetchEventLiveVolumeResponseSchema,...s,params:z({eventId:o})})}function Oy(e){return C(e,I({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function Ay(e){return C({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},I())}function ky(e){return C({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},I())}var zy=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),window:LeaderboardWindowSchema.optional()}),wA=t(e,k,i,d,c,a);function LA(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,window:i}=m(r,zy);return q(p=>e.data.get("/v2/builders/leaderboard",{schema:ListBuilderLeaderboardResponseSchema,...s,params:z({timePeriod:i,limit:n,cursor:p})}),o)}var jy=z$1.object({interval:BuilderVolumeIntervalSchema.optional(),bucketLimit:z$1.number().int().positive().max(90).optional()}),FA=t(e,k,i,d,c,a);async function BA(e,r={},t={}){let s=R(t),{interval:o,bucketLimit:n}=m(r,jy);return e.data.get("/v2/builders/volume",{schema:FetchBuilderVolumeResponseSchema,...s,params:z({interval:o,limit:n})})}var Ms=z$1.string().min(1),Hy=z$1.object({category:Ms.optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),sortBy:TraderLeaderboardSortSchema.optional(),window:LeaderboardWindowSchema.optional()}),MA=t(e,k,i,d,c,a);function UA(e,r={},t={}){let s=R(t),{category:o,cursor:n,pageSize:i,sortBy:p,window:f}=m(r,Hy);return q(P=>e.data.get("/v2/leaderboard",{schema:ListTraderLeaderboardResponseSchema,...s,params:z({category:o,cursor:P,limit:i,sortBy:p,timePeriod:f})}),n)}var Wy=z$1.object({category:Ms.optional(),user:EvmAddressSchema,window:LeaderboardWindowSchema.optional()}),DA=t(e,k,i,d,c,a);async function _A(e,r,t={}){let s=R(t),{category:o,user:n,window:i}=m(r,Wy);return e.data.get("/v2/leaderboard",{schema:FetchTraderLeaderboardStandingResponseSchema,...s,params:z({category:o,timePeriod:i,user:n})})}var Ny=z$1.object({category:Ms.optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),window:LeaderboardWindowSchema.optional()}),zA=t(e,k,i,d,c,a);function jA(e,r={},t={}){let s=R(t),{category:o,cursor:n,pageSize:i,window:p}=m(r,Ny);return q(f=>e.data.get("/v2/biggest-winners",{schema:ListBiggestWinnersResponseSchema,...s,params:z({category:o,cursor:f,limit:i,timePeriod:p})}),n)}var $y=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:w.max(100).default(20)}),tk=t(e,k,i,d,c,a);function sk(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,$y);return q(p=>{let f=fe(p,n);return e.gamma.get("/market-clarifications",{schema:ListMarketClarificationsResponseSchema,...s,params:C({...i,limit:f.pageSize,offset:f.offset},I())}).then(P=>{let E=P.length>=f.pageSize;return {items:P,hasMore:E,nextCursor:E?re({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}var Vy=300*1e3,Us=100,Yy=50,Zy=/^0x[0-9a-fA-F]{64}$/,ia=/^(0x[0-9a-fA-F]+|\d+)$/,aa=new Map;function Ds(e,r){if(Array.isArray(e)){for(let s of e)Ds(s,r);return}if((typeof e=="string"||typeof e=="number")&&ia.test(String(e))){r.tokenIds.add(String(e).toLowerCase());return}if(typeof e!="object"||e===null)return;let t=e;for(let s of ["condition_id","conditionId","conditionID","c"]){let o=t[s];typeof o=="string"&&Zy.test(o)&&r.conditionIds.add(o.toLowerCase());}for(let s of ["token_id","tokenId","asset_id","assetId","t"]){let o=t[s];(typeof o=="string"||typeof o=="number")&&ia.test(String(o))&&r.tokenIds.add(String(o).toLowerCase());}for(let s of ["markets","outcomes","tokens","clob_token_ids","clobTokenIds","outcome_assets","outcomeAssets"])Ds(t[s],r);}function Qy(e){let r=/^https?:\/\//i.test(e)?e:`https://${e}`,t=new URL(r);if(!["https:","http:"].includes(t.protocol)||!t.hostname)throw new a("invalid site_url");return t.origin}async function pa(e){let r=Qy(e),t=aa.get(r);if(t&&t.expiresAt>Date.now())return t.value;let s={conditionIds:new Set,tokenIds:new Set};for(let o=0;o<Yy;o++){let n=new URL("/api/events",`${r}/`);n.searchParams.set("status","active"),n.searchParams.set("includeBookmarkState","false"),n.searchParams.set("limit",String(Us)),n.searchParams.set("offset",String(o*Us));let i=await fetch(n);if(!i.ok)throw new a(`site market scope request failed: HTTP ${i.status}`);let p=await i.json();if(!Array.isArray(p))throw new a("site-scoped market discovery expected /api/events to return an array");if(Ds(p,s),p.length<Us)break}return aa.set(r,{value:s,expiresAt:Date.now()+Vy}),s}function ca(e,r){return e.filter(t=>t.conditionId!==null&&r.conditionIds.has(t.conditionId.toLowerCase())||[t.outcomes.yes.tokenId,t.outcomes.no.tokenId].some(s=>s!==null&&r.tokenIds.has(String(s).toLowerCase())))}var pP=z$1.object({ascending:z$1.boolean().optional(),closed:ot.optional(),clobTokenIds:z$1.array(z$1.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.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(),onchainEventIds:z$1.array(z$1.string()).max(100).optional(),positionIds:z$1.array(PositionIdSchema).optional(),questionIds:z$1.array(z$1.string()).optional(),relatedTags:z$1.boolean().optional(),requestIds:z$1.array(z$1.string()).max(100).optional(),resolutionStatus:z$1.enum(MarketResolutionStatus).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(),version:z$1.union([z$1.enum(ProtocolVersion),z$1.array(z$1.enum(ProtocolVersion)).min(1).max(2)]).optional(),volumeNumMax:z$1.number().optional(),volumeNumMin:z$1.number().optional()}).refine(e=>e.closed!=="any"||[e.ids,e.slug,e.clobTokenIds,e.positionIds,e.conditionIds,e.questionIds].some(r=>r!==void 0&&r.length>0),{message:"closed: 'any' requires at least one identifier filter",path:["closed"]}),cP=z$1.object({id:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),dP=z$1.object({slug:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),uP=z$1.object({url:z$1.string(),includeTag:z$1.boolean().optional(),locale:z$1.string().optional()}),lP=z$1.union([cP,dP,uP]),mP=z$1.object({id:z$1.string()}),Ek=t(e,k,i,d,c,a);function ya(e,r={},t={}){let s=R(t),o=m(r,pP);return q(async n=>{let i=n??o.cursor;for(;;){let p=await e.gamma.get("/markets/keyset",{schema:ListMarketsKeysetResponseSchema,...s,params:xP({...o,cursor:i})}),f=e.siteConfig?.site_url.trim(),P=f?ca(p.items,await pa(f)):p.items;if(P.length>0||p.nextCursor===void 0||p.nextCursor===i)return {items:P,hasMore:p.nextCursor!==void 0,nextCursor:p.nextCursor};i=p.nextCursor;}},o.cursor)}var fP=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).optional(),exclude:z$1.array(ConditionIdSchema).optional()}),hk=t(e,k,i,d,c,a);function Sk(e,r={},t={}){let s=R(t),o=m(r,fP);return q(n=>e.rfq.get("/v1/rfq/combo-markets",{schema:ListComboMarketsResponseSchema,...s,params:CP({...o,cursor:n??o.cursor})}).then(i=>({items:i.markets,hasMore:i.nextCursor!==void 0,nextCursor:i.nextCursor})),o.cursor)}var Tk=t(e,k,i,d,c,a);async function xk(e,r,t={}){let s=R(t),o=m(r,lP);return "id"in o?bP(e,o,s):"url"in o?ua(e,{includeTag:o.includeTag,locale:o.locale,slug:gt(o.url,"market")},s):ua(e,o,s)}var Ck=t(e,k,i,d,c,a);async function bk(e,r,t={}){let s=R(t),o=m(r,mP);return e.gamma.get(`markets/${o.id}/tags`,{...s,schema:FetchMarketTagsResponseSchema})}var yP=z$1.object({conditionIds:Ee(CanonicalMarketConditionIdSchema,20),cursor:PaginationCursorSchema.optional(),includePnl:z$1.boolean().optional(),minBalance:z$1.number().nonnegative().optional(),pageSize:w.max(1e3).default(100)}).superRefine(({conditionIds:e,includePnl:r,pageSize:t},s)=>{r&&(e.length!==1&&s.addIssue({code:"custom",message:"includePnl requires exactly one conditionId",path:["conditionIds"]}),t>100&&s.addIssue({code:"custom",message:"includePnl supports pageSize at most 100",path:["pageSize"]}));}),Ik=t(e,k,i,d,c,a);function qk(e,r,t={}){let s=R(t),{conditionIds:o,cursor:n,includePnl:i,minBalance:p,pageSize:f}=m(r,yP);return q(P=>e.data.get("/v2/holders",{schema:ListMarketHoldersResponseSchema,...s,params:z({condition:o,limit:f,cursor:P,includePnl:i,minBalance:p})}),n)}var PP=360*60*60,RP=253402300799,zs=Xe.pipe(z$1.number().int().positive().max(RP)),Pa=z$1.string().min(1).pipe(ClobAssetIdSchema),Ra={assetId:Pa,bucketSeconds:z$1.number().int().min(60).max(86400).optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e4).default(1e4)},gP=z$1.object({...Ra,interval:PriceHistoryIntervalSchema,start:z$1.never().optional(),end:z$1.never().optional(),asOf:z$1.never().optional()}).superRefine(({bucketSeconds:e,interval:r},t)=>{let s=r===PriceHistoryInterval.Max||r===PriceHistoryInterval.OneMonth?600:r===PriceHistoryInterval.OneWeek?300:60;e!==void 0&&e<s&&t.addIssue({code:"custom",message:`bucketSeconds must be at least ${s} for this interval`,path:["bucketSeconds"]});}),EP=z$1.object({...Ra,start:zs,end:zs.optional(),interval:z$1.never().optional(),asOf:z$1.never().optional()}).superRefine(({end:e,start:r},t)=>{if(e!==void 0&&e<r){t.addIssue({code:"custom",message:"end must not precede start",path:["end"]});return}(e??Math.floor(Date.now()/1e3))-r>PP&&t.addIssue({code:"custom",message:"start to end must span at most 15 days",path:["end"]});}),hP=z$1.object({assetId:Pa,asOf:zs,interval:z$1.never().optional(),start:z$1.never().optional(),end:z$1.never().optional(),bucketSeconds:z$1.never().optional(),cursor:z$1.never().optional(),pageSize:z$1.never().optional()}),SP=z$1.union([gP,EP,hP]),vk=t(e,k,i,d,c,a);function Ok(e,r,t={}){let s=R(t),{assetId:o,cursor:n,pageSize:i,...p}=m(r,SP);return q(f=>e.data.get("/v2/prices-history",{schema:ListPriceHistoryResponseSchema,...s,params:z({...p,tokenId:o,limit:i,cursor:f})}),n)}var TP=z$1.object({conditionIds:Ee(CanonicalMarketConditionIdSchema,20).optional()}),Ak=t(e,k,i,d,c,a);async function kk(e,r={},t={}){let s=R(t),{conditionIds:o}=m(r,TP);return e.data.get("/v2/oi",{schema:FetchOpenInterestResponseSchema,...s,params:z({condition:o})})}function xP(e){return C(e,I({cursor:"after_cursor",ids:"id",pageSize:"limit"}))}function CP(e){return C({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function ua(e,r,t={}){let s=R(t);return e.gamma.get(`markets/slug/${r.slug}`,{schema:MarketSchema,...s,params:C({includeTag:r.includeTag,locale:r.locale},I())})}async function bP(e,r,t={}){let s=R(t);return e.gamma.get(`markets/${r.id}`,{schema:MarketSchema,...s,params:C({includeTag:r.includeTag,locale:r.locale},I())})}function Hs(){throw new a("Protocol V2 router operations are unavailable on this network.")}var IP=at.safeExtend({metadata:V.optional()}),jk=t(k,i,d,c,a);async function qP(e,r){Hs();let t=m(r,IP),s=t.conditionId.slice(0,60),o=Ei(e.environment.contracts.protocolV2Router,s,Number.parseInt(t.conditionId.slice(60,64),16),t.amount);return async function*(){return e.account.walletType===WalletType.EOA?H(yield {kind:"sendConvertTransaction",request:W(e.environment.chainId,o)}):yield*await Z(e,{calls:[o],metadata:t.metadata??`Convert ${t.amount} for condition ${t.conditionId}`})}.call(null)}var Hk=t(o,k,i,s,d,c,a);function Wk(e,r){return qP(e,r).then(j(e.signer))}var vP=at.safeExtend({metadata:V.optional()}),Nk=t(k,i,d,c,a);async function OP(e,r){Hs();let t=m(r,vP),s=t.conditionId.slice(0,60),o=hi(e.environment.contracts.protocolV2Router,s,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?H(yield {kind:"sendHorizontalSplitTransaction",request:W(e.environment.chainId,o)}):yield*await Z(e,{calls:[o],metadata:t.metadata??`HorizontalSplit ${t.amount} for event ${s}`})}.call(null)}var Kk=t(o,k,i,s,d,c,a);function Gk(e,r){return OP(e,r).then(j(e.signer))}var AP=at.safeExtend({metadata:V.optional()}),$k=t(k,i,d,c,a);async function kP(e,r){Hs();let t=m(r,AP),s=t.conditionId.slice(0,60),o=Si(e.environment.contracts.protocolV2Router,s,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?H(yield {kind:"sendHorizontalMergeTransaction",request:W(e.environment.chainId,o)}):yield*await Z(e,{calls:[o],metadata:t.metadata??`HorizontalMerge ${t.amount} for event ${s}`})}.call(null)}var Vk=t(o,k,i,s,d,c,a);function Yk(e,r){return kP(e,r).then(j(e.signer))}var LP=z$1.object({heartbeatId:z$1.string().default("")}),rw=t(j$1,k,i,d,c,a);async function tw(e,r={}){let{heartbeatId:t}=m(r,LP);return e.secureClob.post("/v1/heartbeats",{schema:OrderHeartbeatSchema,json:{heartbeat_id:t},retry:false})}function _r(e){if(!(e instanceof i))return e;let r=FP(e);return r===void 0?e:new i(e.message,{cause:e,...e.code!==void 0?{code:e.code}:{},restriction:r,...e.retryAfter!==void 0?{retryAfter:e.retryAfter}:{},status:e.status})}function FP(e){if(e.status===425)return "restarting";if(e.status===503&&e.code==="post_only_mode")return "post_only"}var MP=z$1.object({orderId:z$1.string()}),UP=z$1.object({orderIds:z$1.array(z$1.string()).min(1).max(3e3)}),DP=z$1.object({market:z$1.string().optional()}),_P=Je(DP.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"]}),mw=t(i,k,s,d,c,a);async function fw(e,r){let t=m(r,MP);return Tt(e,"/order",{orderID:t.orderId})}var yw=t(i,k,s,d,c,a);async function Pw(e,r){let t=m(r,UP);return Tt(e,"/orders",t.orderIds)}var Rw=t(i,k,s,d,c);async function gw(e){return Tt(e,"/cancel-all")}var Ew=t(i,k,s,d,c,a);async function hw(e,r){let t=m(r,_P);return Tt(e,"/cancel-market-orders",{asset_id:t.assetId??t.tokenId,market:t.market})}async function Tt(e,r,t){return e.secureClob.del(r,{json:t,rateLimitBucket:"cancel",schema:CancelOrdersResponseSchema}).catch(s=>{throw _r(s)})}var He=z$1.object({assetId:ClobAssetIdSchema,tokenId:z$1.never().optional()}),We=z$1.object({assetId:z$1.never().optional(),tokenId:ClobAssetIdSchema});var xa=z$1.object({orderType:z$1.union([z$1.literal(OrderType.FAK),z$1.literal(OrderType.FOK)]).default(OrderType.FOK)}),ha=xa.extend({side:z$1.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),Sa=xa.extend({side:z$1.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema}),jP=z$1.union([ha.extend(He.shape),ha.extend(We.shape),Sa.extend(He.shape),Sa.extend(We.shape)]).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r})),Lw=t(e,p,k,i,d,c,a);async function Fw(e,r,t={}){let s=R(t),o=m(r,jP),n=o.side===OrderSide.BUY?o.amount:o.shares;return HP(e,{amount:n,assetId:o.assetId,orderType:o.orderType,side:o.side},s)}async function HP(e,r,t={}){let s=R(t),o=await Pt(e,{assetId:r.assetId},s);return Ws({amount:r.amount,orderBook:o,orderType:r.orderType,side:r.side})}function Ws(e){let{orderBook:r}=e,t=e.side===OrderSide.BUY?NP(r.asks,e.amount,e.orderType):KP(r.bids,e.amount,e.orderType);return invariant(WP(t,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),t}function WP(e,r){return e>=r&&e<=1-r}function NP(e,r,t){if(e.length===0)throw new p("No resting liquidity.");let s=0;for(let n=e.length-1;n>=0;n-=1){let i=e[n];if(i!==void 0&&(s+=Number.parseFloat(i.size)*Number.parseFloat(i.price),s>=r))return Number.parseFloat(i.price)}if(t===OrderType.FOK)throw new p("Insufficient liquidity for full fill.");let o=e[0];return Number.parseFloat(o.price)}function KP(e,r,t){if(e.length===0)throw new p("No resting liquidity.");let s=0;for(let n=e.length-1;n>=0;n-=1){let i=e[n];if(i!==void 0&&(s+=Number.parseFloat(i.size),s>=r))return Number.parseFloat(i.price)}if(t===OrderType.FOK)throw new p("Insufficient liquidity for full fill.");let o=e[0];return Number.parseFloat(o.price)}var GP="https://geoblock.kuest.com",Ca=new WeakMap;async function Ns(e){if(!e?.geoblock)return;if(!e.site_url.trim())throw new a("site_url must be configured when geoblock is enabled");let r=Ca.get(e);if(!r){let t=await fetch(`${GP}/?url=${encodeURIComponent(e.site_url)}`);if(!t.ok)throw new a(`geoblock check failed: HTTP ${t.status}`);let s=await t.json();if(typeof s!="object"||s===null||typeof s.blocked!="boolean")throw new a("invalid geoblock response");r=s,Ca.set(e,r);}if(r.blocked)throw new a(`trading blocked for configured site_url (${e.site_url}) in ${r.country??"unknown"}, ${r.region??"unknown"}`)}var QP=BigInt(Number.MAX_SAFE_INTEGER),JP=z$1.string().refine(eR,{message:"Order salt must be a non-negative JavaScript-safe integer."}),Ia=z$1.looseObject({salt:JP}),XP=z$1.array(Ia).min(1).max(15),Gw=t(k,i,s,d,c,a),$w=t(k,i,s,d,c,a);function bt(e){return async function(t){m(t,Ia),await Ns(e.siteConfig);let s=qa(e,t);return e.secureClob.post("/order",{json:s,rateLimitBucket:"order",schema:OrderResponseSchema}).catch(o=>{throw _r(o)})}}function Vw(e){return async function(t){m(t,XP),await Ns(e.siteConfig);let s=t.map(o=>qa(e,o));return e.secureClob.post("/orders",{json:s,rateLimitBucket:"order",schema:OrderResponsesSchema}).catch(o=>{throw _r(o)})}}function qa(e,r){if(r.signatureType!==SignatureType.POLY_1271||r.maker.toLowerCase()!==r.signer.toLowerCase())throw new a("SDK orders require a Deposit Wallet as maker and signer.");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 eR(e){try{let r=BigInt(e);return r>=0n&&r<=QP}catch{return false}}var Oa=`0x${"0".repeat(64)}`,va=/^0x[0-9a-fA-F]{64}$/,rR={site_url:"",builder_mode:false,geoblock:false,builder_code:"",order_metadata:Oa};function Zw(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError(".sdk/site-config.json must be an object");let r=e,t={...rR};for(let s of ["site_url","builder_code","order_metadata"])if(r[s]!==void 0){if(typeof r[s]!="string")throw new TypeError(`.sdk/site-config.json field ${s} must be a string`);t[s]=r[s];}for(let s of ["builder_mode","geoblock"])if(r[s]!==void 0){if(typeof r[s]!="boolean")throw new TypeError(`.sdk/site-config.json field ${s} must be a boolean`);t[s]=r[s];}if(t.builder_code&&!va.test(t.builder_code))throw new TypeError("builder_code must be bytes32");if(!va.test(t.order_metadata))throw new TypeError("order_metadata must be bytes32");if(t.builder_mode&&(!t.builder_code||t.builder_code===Oa))throw new TypeError("builder_mode requires a non-zero builder_code");return t}function It(e,r){return {builderCode:e?.builder_code||r,metadata:e?.order_metadata}}var La=32,nR=1n,iR=2n,Fa=3n,wa=50,aR=(1n<<256n)-1n,pR=(1n<<64n)-1n<<40n;function Gs(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[Fa,r])),s=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:s,positionIds:[toPositionId(BigInt(`${s}00`).toString()),toPositionId(BigInt(`${s}01`).toString())]}}function $s(e){if(e.length===0||e.length>wa)throw new a(`Combo legs must include 1 to ${wa} position IDs`);let r=e.map(t=>{let s=Vs(t),o=s.toString(16).padStart(La*2,"0"),n=Number.parseInt(o.slice(0,2),16),i=Number.parseInt(o.slice(-2),16);if(n!==1&&n!==2||i>1)throw new a("Combo legs must be binary or neg-risk YES/NO position IDs");return {value:s,conditionId:o.slice(0,-2)}});r.sort((t,s)=>t.value<s.value?-1:t.value>s.value?1:0);for(let t=1;t<r.length;t+=1){let s=r[t-1],o=r[t];if(s===void 0||o===void 0)throw new a("Invalid combo leg set");if(s.value===o.value)throw new a("Combo legs must not contain duplicate position IDs");if(s.conditionId===o.conditionId)throw new a("Combo legs must not contain both outcomes for the same condition")}return r.map(t=>t.value)}function Be(e){try{return (Vs(e)&pR)===0n}catch{return false}}function Ba(e){let t=Vs(e).toString(16).padStart(La*2,"0"),s=BigInt(`0x${t.slice(0,2)}`),o=Number.parseInt(t.slice(-2),16);if(s!==nR&&s!==iR&&s!==Fa)throw new a("Position ID must use a supported protocol v2 module");if(o!==0&&o!==1)throw new a("Protocol v2 position ID must be a YES/NO position ID");return {conditionId:toConditionId(`0x${t.slice(0,-2)}`),outcomeIndex:o}}function Vs(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>aR)throw new a("Position ID must be a uint256 value");return t}var Me=1000000n,cR=8*Number.EPSILON,Ys=6,dR=8*Number.EPSILON;function Zs(e){let r=e*Number(Me),t=Math.round(r),s=dR*Math.max(1,Math.abs(r)),o=Math.abs(r-t)<=s?t:Math.trunc(r);return BigInt(o)}function jr(e){let r=Math.round(e*Number(Me)),t=r/Number(Me);if(!Number.isSafeInteger(r)||Math.abs(e-t)>cR)throw new a("has unsupported precision.");return BigInt(r)}function Qs(e){return Number(e)/Number(Me)}function vt(e){return invariant(Number.isInteger(e)&&e>=0&&e<=Ys,`Decimal places must be an integer between 0 and ${Ys}.`),10n**BigInt(Ys-e)}function Ot(e,r,t,s){invariant(e>=0n,"Value must be non-negative."),invariant(r>=0n,"Multiplier must be non-negative."),invariant(t>0n,"Denominator must be positive.");let o=e*r,n=o/t;return s==="up"&&o%t!==0n?n+1n:n}function Js(e,r,t){let s=vt(r);return Ot(e,1n,s,t)*s}function Xs(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 At(e,r){let t=jr(e),s=jr(r);if(t<s||t>Me-s)throw new a(`must be between ${r} and ${1-r} for tick size ${r}.`);if(t%s!==0n)throw new a(`${e} must be a multiple of tick size ${r}.`);return t}function lR(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}function Ne(e,r,t){if(Be(r))throw new a("Position-backed V3 orders are not supported by SDK.");return lR(e,t)}function eo(e,r,t,s){let o=vt(t);return Ot(e,r,Me*o,s)*o}function mR(e,r,t,s){let o=vt(t);return Ot(e,Me,r*o,s)*o}function Ua(e){let r=Xs(e.tickSize),t=Js(Zs(e.size),r.size,"down");return e.side===OrderSide.BUY?{offeredAmount:eo(t,e.price,r.amount,"down"),requestedAmount:t}:{offeredAmount:t,requestedAmount:eo(t,e.price,r.amount,"down")}}function Da(e){let r=Xs(e.tickSize),t=Js(Zs(e.amount),r.size,"down"),s=e.protectPrice?"up":"down";return e.side===OrderSide.BUY?{offeredAmount:t,requestedAmount:mR(t,e.price,r.amount,s)}:{offeredAmount:t,requestedAmount:eo(t,e.price,r.amount,s)}}var ro=600*1e3,to=Number.POSITIVE_INFINITY,so=class{#r;#e=new Map;#o=new Map;#i=new Map;constructor(r){this.#r=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:kt(this.#e,r,ro,()=>this.#r.fetchBuilderTakerFeeRate(r))}async fetchCurrentMarket(r){let t=await kt(this.#o,r,to,()=>this.#r.resolveCondition(r)),s=await this.#a(t);return this.#t(r,t,s),this.#i.set(t,_a(s,ro)),{feeInfo:s.feeInfo,negRisk:s.negRisk,tickSize:s.tickSize}}async#s(r){let t=await kt(this.#o,r,to,()=>this.#r.resolveCondition(r)),s=await kt(this.#i,t,ro,()=>this.#a(t));return this.#t(r,t,s),s}#t(r,t,s){if(!s.assetIds.has(r))throw this.#o.delete(r),this.#i.delete(t),new c(`Market ${t} does not include asset ${r}.`)}async#a(r){let t=await this.#r.fetchMarket(r),s=new Set(t.tokens.map(({assetId:o})=>o));for(let o of s)this.#o.set(o,_a(r));return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize,assetIds:s}}};function kt(e,r,t,s){let o=e.get(r);if(o!==void 0&&(o.expiresAt===void 0||o.expiresAt>Date.now()))return o.promise;let n={promise:s()};return n.promise.then(()=>{n.expiresAt=Date.now()+t;},()=>{e.get(r)===n&&e.delete(r);}),e.set(r,n),n.promise}function _a(e,r=to){return {expiresAt:Date.now()+r,promise:Promise.resolve(e)}}var za=new WeakMap;function ir(e,r){return oo(e).resolveMarket(r)}function Hr(e,r){return oo(e).fetchCurrentMarket(r)}function ja(e,r){return oo(e).resolveBuilderTakerFeeRate(r)}function oo(e){let r=za.get(e);if(r!==void 0)return r;let t=new so({fetchBuilderTakerFeeRate:async s=>(await Vi(e,{builderCode:s})).taker,fetchMarket:s=>$i(e,{conditionId:s}),resolveCondition:s=>Gi(e,{assetId:s})});return za.set(e,t),t}var PR=180,Na=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()}),Ga=z$1.union([Na.extend(He.shape),Na.extend(We.shape)]).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+PR;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 $a(e,r){let t=await RR(e,{assetId:r.assetId,price:r.price}),s=Ua({price:t.price,side:r.side,size:r.size,tickSize:t.tickSize}),o=It(e.siteConfig,r.builderCode);return {assetId:r.assetId,builderCode:o.builderCode,metadata:o.metadata,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:r.expiration??0,funderAddress:t.funderAddress,offeredAmount:s.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:t.signerAddress,requestedAmount:s.requestedAmount}}async function RR(e,r){let t=await ir(e,r.assetId);try{return Ka(e,r,t)}catch(s){if(!(s instanceof a))throw s;let o=await Hr(e,r.assetId);return Ka(e,r,o)}}function Ka(e,r,t){let s=gR(r.price,t.tickSize);return {exchangeAddress:Ne(e,r.assetId,t.negRisk),funderAddress:e.account.wallet,price:s,signerAddress:e.account.signer,tickSize:t.tickSize}}function gR(e,r){try{return At(e,r)}catch(t){throw t instanceof a?new a(`Price ${t.message}`,{cause:t}):t}}var ep=z$1.object({builderCode:BuilderCodeSchema.optional(),orderType:z$1.union([z$1.literal(OrderType.FAK),z$1.literal(OrderType.FOK)]).default(OrderType.FAK)}),Ya=ep.extend({side:z$1.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),Za=ep.extend({side:z$1.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()}),rp=z$1.union([Ya.extend(He.shape),Ya.extend(We.shape),Za.extend(He.shape),Za.extend(We.shape)]).transform(({assetId:e,tokenId:r,...t})=>({...t,assetId:e??r}));async function tp(e,r){let t=It(e.siteConfig,r.builderCode),s={...r,builderCode:t.builderCode},o=await hR(e,s,s.assetId),n=Da({amount:o.resolvedAmount,price:o.price,protectPrice:op(s),side:s.side,tickSize:o.tickSize});return {assetId:s.assetId,builderCode:s.builderCode,metadata:t.metadata,chainId:e.environment.chainId,exchangeAddress:o.exchangeAddress,expiration:0,funderAddress:o.funderAddress,offeredAmount:n.offeredAmount,orderType:s.orderType,side:s.side,signer:o.signerAddress,requestedAmount:n.requestedAmount}}async function hR(e,r,t){return op(r)?SR(e,r,t):TR(e,r,t)}async function SR(e,r,t){let s=r.side===OrderSide.BUY?r.amount:r.shares;if(r.side===OrderSide.BUY&&r.maxSpend!==void 0){let{builderTakerFeeRate:n,market:i}=await np(e,t,r.builderCode);try{return Qa(e,r,t,s,n,r.maxSpend,i)}catch(p){if(!(p instanceof a))throw p;let f=await Hr(e,t);return Qa(e,r,t,s,n,r.maxSpend,f)}}let o=await ir(e,t);try{return Ja(e,r,t,s,o)}catch(n){if(!(n instanceof a))throw n;let i=await Hr(e,t);return Ja(e,r,t,s,i)}}function Qa(e,r,t,s,o,n,i){let p=sp(r,i.tickSize),f=Qs(p);return {exchangeAddress:Ne(e,t,i.negRisk),funderAddress:e.account.wallet,price:p,resolvedAmount:ip({amount:s,builderTakerFeeRate:o,maxSpend:n,platformFeeExponent:i.feeInfo.exponent,platformFeeRate:i.feeInfo.rate,price:f}),signerAddress:e.account.signer,tickSize:i.tickSize}}function Ja(e,r,t,s,o){let n=sp(r,o.tickSize);return {exchangeAddress:Ne(e,t,o.negRisk),funderAddress:e.account.wallet,price:n,resolvedAmount:s,signerAddress:e.account.signer,tickSize:o.tickSize}}async function TR(e,r,t){let s=r.side===OrderSide.BUY?r.amount:r.shares,o=r.side===OrderSide.BUY&&r.maxSpend!==void 0?np(e,t,r.builderCode):void 0,[n,i]=await Promise.all([Pt(e,{assetId:t}),o]);if(n.assetId!==t)throw new c(`Order book returned asset ${n.assetId} for requested asset ${t}.`);let p=jr(Ws({amount:s,orderBook:n,orderType:r.orderType,side:r.side}));return {exchangeAddress:Ne(e,t,n.negRisk),funderAddress:e.account.wallet,price:p,resolvedAmount:xR(r,s,Qs(p),i),signerAddress:e.account.signer,tickSize:n.tickSize}}function xR(e,r,t,s){return e.side!==OrderSide.BUY||e.maxSpend===void 0||s===void 0?r:ip({amount:r,builderTakerFeeRate:s.builderTakerFeeRate,maxSpend:e.maxSpend,platformFeeExponent:s.market.feeInfo.exponent,platformFeeRate:s.market.feeInfo.rate,price:t})}function sp(e,r){return e.side===OrderSide.BUY?(invariant(e.maxPrice!==void 0,"Protected BUY market order requires maxPrice."),Xa("maxPrice",e.maxPrice,r)):(invariant(e.minPrice!==void 0,"Protected SELL market order requires minPrice."),Xa("minPrice",e.minPrice,r))}function Xa(e,r,t){try{return At(r,t)}catch(s){throw s instanceof a?new a(`${e} ${s.message}`,{cause:s}):s}}function op(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}async function np(e,r,t){let[s,o]=await Promise.all([ir(e,r),ja(e,t)]);return {builderTakerFeeRate:o,market:s}}function ip(e){let r=e.platformFeeRate*(e.price*(1-e.price))**e.platformFeeExponent,t=e.amount/e.price*r,s=e.amount+t+e.amount*e.builderTakerFeeRate;return e.maxSpend<=s?e.maxSpend/(1+r/e.price+e.builderTakerFeeRate):e.amount}var cp="CTF Exchange",bR="DepositWallet",IR="1",io="0x0000000000000000000000000000000000000000000000000000000000000000",ao="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",qR=Hash.keccak256(Bytes.fromString(ao),{as:"Hex"}),vR=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),OR=Hash.keccak256(Bytes.fromString(cp),{as:"Hex"}),dp=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],up=[{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"}],AR=[{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 Lt(e){let r=kR(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:fp(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:bR,salt:io,verifyingContract:e.order.signer,version:IR},primaryType:"TypedDataSign",types:{EIP712Domain:dp,Order:up,TypedDataSign:AR}}}function Ft(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(ao)),t=ao.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${wR(e.domain).slice(2)}${LR(e.order).slice(2)}${r.slice(2)}${t}`)}function lp(e){return {chainId:e.chainId,exchange:e.exchange,protocolVersion:"3"}}function N0(e,r,t){return e===OrderSide.SELL?t.toString():((r*t+999999n)/1000000n).toString()}function K0(e,r,t){return e===OrderSide.SELL?(r*t/1000000n).toString():t.toString()}function mp(e){return {builder:e.builder??io,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??io,salt:BigInt(e.salt),side:uo(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function kR(e,r){return {domain:fp(e),message:mp(r),primaryType:"Order",types:{EIP712Domain:dp,Order:up}}}function fp(e){return {chainId:e.chainId,name:cp,verifyingContract:e.exchange,version:e.protocolVersion}}function wR(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[vR,OR,FR(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function LR(e){let r=mp(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"}],[qR,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 FR(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function uo(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}var yp="0x0000000000000000000000000000000000000000000000000000000000000000";function lo(e,r){if(Be(e.assetId))throw new a("Position-backed V3 orders are not supported by SDK.");let t=kr(r);return {builder:e.builderCode??yp,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:e.metadata??yp,orderType:e.orderType,protocolVersion:Be(e.assetId)?"3":"2",salt:BR().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.assetId}}function mo(e,r){let{chainId:t,exchangeAddress:s,protocolVersion:o,...n}=e;return {...n,signature:r}}function BR(){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 fo(e){return Lt({domain:Pp(e),order:e})}function yo(e,r){return Ft({domain:Pp(e),order:e,signature:r})}function Pp(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:e.protocolVersion}}function Po(e){return {kind:"signOrder",payload:e}}var MR=t(p,k,i,s,d,c,a);async function Ro(e,r){let t=m(r,rp);return async function*(){let s=await tp(e,t),o=lo(s,e.account),n=expectEvmSignature(yield Po(fo(o)));return mo(o,mr(e.account,yo(o,n)))}.call(null)}var UR=t(k,i,s,d,c,a);async function go(e,r){let t=m(r,Ga);return async function*(){let s=await $a(e,t),o=lo(s,e.account),n=expectEvmSignature(yield Po(fo(o))),i=mo(o,mr(e.account,yo(o,n)));return t.postOnly===true?{...i,postOnly:true}:i}.call(null)}var dL=MR;async function uL(e,r){return gp(e,Ro(e,r))}var lL=UR;async function mL(e,r){return gp(e,go(e,r))}async function gp(e,r){let t=await r;return async function*(){let s=yield*t;return bt(e)(s)}.call(null)}var zR=250,jR=3e4,HR={timeoutMs:z$1.number().int().positive().optional()},WR=z$1.object(HR).default({}),SL=t(k,i,s,l,n,d,c,a);function NR(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function Ep(e){return e.status===TradeStatus.Failed}async function TL(e,r,t){let{timeoutMs:s=jR}=m(t,WR),o=[...new Set(r.tradeIds)];if(o.length===0)return [...r.transactionsHashes];let n$1=new Map,i=Date.now()+s;for(;n$1.size<o.length;){let f=o.filter(E=>!n$1.has(E)),P=await Promise.all(f.map(E=>Kn(e,{id:E}).firstPage()));for(let E of P)for(let b of E.items)o.includes(b.id)&&NR(b)&&n$1.set(b.id,b);if(n$1.size===o.length)break;if(Date.now()>=i){let E=o.filter(b=>!n$1.has(b));throw new l(`Timed out waiting for trades to settle: ${E.join(", ")}`)}await delay(zR);}let p=[...n$1.values()];if(p.every(Ep))throw new n(`Every fill of order ${r.orderId} failed execution: ${o.join(", ")}`);return [...new Set(p.filter(f=>!Ep(f)).map(f=>f.transactionHash))].map(f=>TxHashSchema.parse(f))}function So(e,r){return e===OrderSide.BUY?AssetType.COLLATERAL:Be(r)?AssetType.CONDITIONAL_V2:AssetType.CONDITIONAL}async function Tp(e,r){let t=So(r.side,r.assetId),{allowances:s}=await ds(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,assetId:r.assetId});return GR(s,r.spenderAddress)}function GR(e,r){return Object.entries(e).find(([s])=>isSameEvmAddress(s,r))?.[1]??0n}var jL=t(o,p,k,i,s,d,c,a);function $R(e,r){return Ro(e,r).then(j(e.signer))}var HL=t(o,p,k,i,s,l,n,d,c,a);function WL(e,r){return $R(e,r).then(t=>Cp(e,t))}var NL=t(o,k,i,s,d,c,a);function VR(e,r){return go(e,r).then(j(e.signer))}var KL=t(o,k,i,s,l,n,d,c,a);function GL(e,r){return VR(e,r).then(t=>Cp(e,t))}async function Cp(e,r){let t=bt(e);try{return await t(r)}catch(s){if(!ZR(s))throw s;let o=await YR(e,r,t);if(o===void 0)throw s;return o}}async function YR(e,r,t){return await QR(e,r)?t(r):void 0}function ZR(e){return e instanceof i&&e.status===400&&e.message.includes("allowance is not enough")}async function QR(e,r){let t=r.tokenId,s=await ir(e,t),o=Ne(e,t,s.negRisk),n=BigInt(r.makerAmount);return await Tp(e,{assetId:t,spenderAddress:o,side:r.side})>=n?false:(await(r.side===OrderSide.BUY?await Ui(e,{amount:"max",spenderAddress:o,tokenAddress:e.environment.contracts.collateralToken}):await Di(e,{operatorAddress:o,tokenAddress:Be(t)?e.environment.contracts.positionManager:e.environment.contracts.conditionalTokens})).wait(),await $n(e,{assetType:So(r.side,t),tokenId:r.side===OrderSide.SELL?t:void 0}),true)}function Ip(e){let r=TypedData.getSignPayload(Nr(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function Nr(e){let r={chainId:e.chainId,name:"Polymarket",version:"1"};return {domain:r,message:{data:Hash.keccak256(encode(qp(e.op)),{as:"Hex"}),salt:BigInt(e.salt),ts:BigInt(e.timestamp)},primaryType:"Op",types:{EIP712Domain:TypedData.extractEip712DomainTypes(r),Op:[{name:"data",type:"bytes32"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function qp(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(qp):e}function pr(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Bt=z$1.string().regex(/^\d+(?:\.\d{1,28})?$/,"Expected a non-negative fixed-point fee rate with at most 28 fractional digits."),Op=z$1.object({builderAddress:EvmAddressSchema,feeRate:Bt});function To(e,r){let[t,s=""]=e.split("."),[o,n=""]=r.split("."),i=Math.max(s.length,n.length),p=BigInt(`${t}${s.padEnd(i,"0")}`),f=BigInt(`${o}${n.padEnd(i,"0")}`);return p<f?e:r}var ag=z$1.object({address:EvmAddressSchema}),pg=t(e,k,i,d,c,a);async function cg(e,r,t={}){let s=R(t),o=m(r,ag);return e.perps.get("/v1/info/builder",{schema:PerpsBuilderStatusSchema,...s,params:C(o,I())})}var dg=z$1.strictObject({builder:EvmAddressSchema,maxFeeRate:Bt,approvalVersion:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER)}),Co=z$1.strictObject({builderAddress:EvmAddressSchema.optional(),maxFeeRate:Bt}),ug=t(k,i,s,d,c,a);async function Ap(e,r,t){let s$1=m(t,Co);if(s$1.builderAddress===void 0)throw new a("A builder address is required when the session has no builder attribution.");let o=lg(await r.fetchBuilderApprovals({builder:s$1.builderAddress}),s$1.builderAddress),i={...m({builder:s$1.builderAddress,maxFeeRate:s$1.maxFeeRate,approvalVersion:o},dg),chainId:e.environment.chainId,salt:pr(),timestamp:Date.now()},p;try{p=await e.signer.signTypedData(mg(i));}catch(f){throw s.fromError(f,"Could not sign builder consent")}return e.perps.post("/v1/account/builder-approvals",{schema:PerpsBuilderApprovalSchema,json:fg(i,p)})}function lg(e,r){return (e.find(s=>s.builder.toLowerCase()===r.toLowerCase())?.approvalVersion??0)+1}function mg(e){return Nr({chainId:e.chainId,op:["approveBuilder",[e.builder,e.maxFeeRate,e.approvalVersion]],salt:e.salt,timestamp:e.timestamp})}function fg(e,r){return {op:{type:"approveBuilder",args:{builder:e.builder,max_fee_rate:e.maxFeeRate,approval_version:e.approvalVersion}},salt:e.salt,sig:r,ts:e.timestamp}}var kp={activeInstrumentIds:z$1.array(z$1.number().int().min(0).max(4294967295)).max(20).optional(),historyFills:z$1.array(z$1.strictObject({instrumentId:z$1.number().int().min(0).max(4294967295),tradeId:z$1.string().regex(/^[0-9]{1,20}$/).refine(e=>/^[0-9]{1,20}$/.test(e)&&BigInt(e)<=18446744073709551615n),timestamp:z$1.number().int().min(0).max(18446744073709)})).max(4).optional()};function wp(e){let r=e.activeInstrumentIds??[],t=e.historyFills??[];return r.length+t.length>0&&new Set(r).size===r.length&&t.every(s=>/^[0-9]{1,20}$/.test(s.tradeId))&&new Set(t.map(s=>`${s.instrumentId}:${BigInt(s.tradeId)}`)).size===t.length}var gg=z$1.strictObject(kp).refine(wp,"Select at least one item without duplicate instruments or fills"),Eg=z$1.strictObject({address:EvmAddressSchema,...kp}).refine(wp,"Select at least one item without duplicate instruments or fills"),hg=t(k,e,i,d,c,a);async function Sg(e,r,t={}){let s=R(t),o=m(r,Eg);return Fp(e.perps,o,s)}async function Lp(e,r){let t=m(r,gg),s=await e.get("/v1/account/credentials",{schema:PerpsCredentialsResponseSchema});return Fp(e,{...t,address:s.address})}async function Fp(e,r,t={}){let s=R(t);return e.postRead("/v1/info/position-snapshots",{schema:PerpsPositionSnapshotsSchema,...s,json:{address:r.address,...r.activeInstrumentIds===void 0?{}:{active_instrument_ids:r.activeInstrumentIds},...r.historyFills===void 0?{}:{history_fills:r.historyFills.map(o=>({instrument_id:o.instrumentId,trade_id:o.tradeId,timestamp:o.timestamp}))}}})}function bo(e,r){let t=Bp(e.get("Poly-RateLimit-Remaining"),/^-?\d+$/),s=Bp(e.get("Poly-RateLimit-Reset"),/^\d+$/),o=Tg(e.get("Poly-RateLimit-Tier")),n=e.get("Poly-RateLimit-Warning")?.trim().toLowerCase()==="true";if(!(t===void 0&&s===void 0&&o===void 0&&!n))return {...r===void 0?{}:{bucket:r},remaining:t,reset:s,tier:o,warning:n}}function Bp(e,r){let t=e?.trim();if(t===void 0||!r.test(t))return;let s=Number(t);return Number.isSafeInteger(s)?s:void 0}function Tg(e){if(!(e===null||e.trim()===""))return e}function Mp(e,r,t){try{let s=r.safeParse(t);if(s.success)return s.data;throw c.fromZodError(s.error,{endpoint:e})}catch(s){throw s instanceof c?s:new c(`Could not validate response from ${e}`,{cause:s})}}var AF=t(k,e,i,d,c,a),bg=z$1.object({responseType:z$1.enum(["json","blob","arrayBuffer","text","empty","raw"]).optional(),schema:z$1.unknown().optional()}).refine(({responseType:e,schema:r})=>r===void 0||e===void 0||e==="json",{path:["schema"],message:"Schemas are supported only with JSON responses"}),Dp=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],qo=`(?<month>${Dp.join("|")})`,vo="(?<hour>\\d{2}):(?<minute>\\d{2}):(?<second>\\d{2})",Ig=[new RegExp(`^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (?<day>\\d{2}) ${qo} (?<year>\\d{4}) ${vo} GMT$`),new RegExp(`^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (?<day>\\d{2})-${qo}-(?<year>\\d{2}) ${vo} GMT$`),new RegExp(`^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) ${qo} (?<day> \\d|\\d{2}) ${vo} (?<year>\\d{4})$`)],qg=50*365.25*24*60*60*1e3;function vg(e,r){let t;for(let A of Ig)if(t=A.exec(e)?.groups,t!==void 0)break;if(t===void 0)return;let s=Dp.indexOf(t.month??"");if(s<0)return;let o=Number(t.day),n=Number(t.hour),i=Number(t.minute),p=Number(t.second);if(n>23||i>59||p>59)return;let f=t.year??"",P=Number(f);f.length===2&&(P+=Math.floor(new Date(r).getUTCFullYear()/100)*100,Date.UTC(P,s,o,n,i,p)-r>qg&&(P-=100));let E=Date.UTC(P,s,o,n,i,p),b=new Date(E);if(!(b.getUTCFullYear()!==P||b.getUTCMonth()!==s||b.getUTCDate()!==o))return E}var Ut=class{#r;#e;#o;#i;constructor(r){let{root:t,headers:s,resolveHeaders:o,onRateLimitUpdate:n,fetch:i,retryMutations:p}=r;t!==void 0&&(this.#r=On.create({prefixUrl:t,timeout:qr,throwHttpErrors:false,...i===void 0?{}:{fetch:i},...p===false&&{retry:{methods:["get"]}}})),this.#e=s,this.#o=o,this.#i=n;}get(r,t={}){return this.#t("GET",r,t,true)}getWorkflow(r,t){return this.#t("GET",r,t)}postRead(r,t){return this.#t("POST",r,t,true)}post(r,t={}){return this.#t("POST",r,t)}patch(r,t={}){return this.#t("PATCH",r,t)}del(r,t={}){return this.#t("DELETE",r,t)}#s(r){return r.startsWith("/")?r.slice(1):r}async#t(r,t,s,o=false){let n=s.signal;try{te(n),m({responseType:s.responseType,schema:s.schema},bg);let i$1=o?R(s).retries:void 0,p=await this.#d(r,t,s,i$1);te(n);let f=bo(p.headers,s.rateLimitBucket);if(f!==void 0&&this.#f(f),s.responseType==="raw")return p;if(!p.ok){let P=this.#n(p);if(p.status===429)throw new k(`Request to ${p.url} was rate limited`,{rateLimit:f,retryAfter:P});let{code:E,message:b,heartbeatId:A,retryAfter:me}=await se(this.#p(p,t),n);throw A!==void 0?new j$1(A):new i(b,{code:E,retryAfter:P??me,status:p.status})}return await this.#a(p,s)}catch(i$1){throw te(n),i$1 instanceof e||i$1 instanceof k||i$1 instanceof i||i$1 instanceof c||i$1 instanceof a||i$1 instanceof d?i$1:d.fromError(i$1)}}async#a(r,t){let s=t.responseType??"json";te(t.signal);let o;try{switch(s){case "blob":o=await se(r.blob(),t.signal);break;case "arrayBuffer":o=await se(r.arrayBuffer(),t.signal);break;case "text":o=await se(r.text(),t.signal);break;case "empty":await se(r.arrayBuffer(),t.signal),o=void 0;break;case "json":o=await se(r.json(),t.signal);break}}catch(n){if(te(t.signal),n instanceof e)throw n;let i=s==="json"?`Received non-JSON response from ${r.url}`:`Received unreadable ${s==="blob"||s==="arrayBuffer"?"binary":s} response from ${r.url}`;throw new c(i)}if(te(t.signal),s==="json"&&t.schema!==void 0){let n=Mp(r.url,t.schema,o);return te(t.signal),n}return o}async#d(r,t,s,o){te(s.signal);let n=this.#r;if(n===void 0)throw new a("This service client has no configured endpoint");let i=this.#u(r,t,s),p=await se(Promise.resolve(this.#o?.(i)),s.signal);te(s.signal);let f=this.#m(this.#e,i.headers,p);return i.body!==void 0&&!f.has("content-type")&&f.set("content-type","application/json"),se(n(this.#s(t),{body:i.body,headers:f,method:r,searchParams:i.params,signal:s.signal,...s.timeout!==void 0&&{timeout:s.timeout},..."retry"in s&&s.retry===false&&{retry:0},...o!==void 0&&{retry:{limit:o,methods:[r.toLowerCase()]},hooks:{afterResponse:[(P,E,b,{retryCount:A})=>{if(s.responseType==="raw"||b.status!==429||A>=o)return;let me=this.#n(b)??1;if(me>5)return;let Ir=bo(b.headers,s.rateLimitBucket);return Ir!==void 0&&this.#f(Ir),On.retry({delay:me*1e3})}]}}}),s.signal)}#u(r,t,s){return {signal:s.signal,body:"json"in s?this.#l(s.json):void 0,headers:s.headers,json:"json"in s?s.json:void 0,method:r,params:"params"in s?s.params:void 0,path:t}}#l(r){if(r!==void 0)return JSON.stringify(r)}#m(...r){let t=new Headers;for(let s of r)if(s!==void 0)for(let[o,n]of new Headers(s).entries())t.set(o,n);return t}#f(r){try{Promise.resolve(this.#i?.(r)).catch(()=>{});}catch{}}#n(r){let t=r.headers.get("retry-after");if(t===null)return;if(/^\d+$/.test(t))return Number(t);let s=Date.now(),o=vg(t,s);if(o!==void 0)return Math.max(0,Math.ceil((o-s)/1e3))}async#p(r,t){let s=r.headers.get("content-type")?.toLowerCase();if(s?.includes("application/json")){let n=await r.clone().json().catch(()=>{});if(r.status===400&&this.#s(t)==="v1/heartbeats"){let p=OrderHeartbeatMismatchResponseSchema.safeParse(n);if(p.success)return {message:p.data.error_msg,heartbeatId:p.data.heartbeat_id}}let i=ErrorResponseSchema.safeParse(n);if(i.success){let{message:p,code:f,retryAfter:P}=i.data,E=f===void 0&&r.status!==400&&/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/.test(p)?p:void 0;return {message:`${p} (${r.url})`,code:f??E,retryAfter:P}}}if(s?.includes("text/plain")){let n=await r.clone().text().then(i=>i.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}`}:s?.includes("text/html")||s?.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 Og=1e4,Ag=3e4,kg=5e3,wg=10*6e4,Lg=3e4,Fg=25e3,Bg=65e3,_p=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>{r("PING");},Og);}handleMessage(r){return r!=="PONG"?false:(this.#r=Date.now(),true)}isStale(r){return r-this.#r>Ag}stop(){this.#e!==void 0&&(clearInterval(this.#e),this.#e=void 0);}},zp=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>{r("PING");},kg);}handleMessage(){return this.#r=Date.now(),false}isStale(r){return r-this.#r>wg}stop(){this.#e!==void 0&&(clearInterval(this.#e),this.#e=void 0);}},jp=class{#r=0;#e;start(r){this.#r=Date.now(),this.#e=r;}stop(){this.#e=void 0;}handleMessage(r){return r!=="ping"?false:(this.#r=Date.now(),this.#e?.("pong"),true)}isStale(r){return r-this.#r>Lg}},Dt=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>{r(JSON.stringify({id:0,req:"post",op:{type:"ping"}}));},Fg);}handleMessage(){return this.#r=Date.now(),false}isStale(r){return r-this.#r>Bg}stop(){this.#e!==void 0&&(clearInterval(this.#e),this.#e=void 0);}},Hp=class{#r=0;#e;start(r){this.stop(),this.#r=Date.now(),this.#e=setNonBlockingInterval(()=>r('{"op":"ping"}'),3e4);}handleMessage(r){return this.#r=Date.now(),false}isStale(r){return r-this.#r>=9e4}stop(){clearInterval(this.#e),this.#e=void 0;}};var Ug=5e3,Dg=250,_g=3e4,zt=class{#r;#e=0;get isScheduled(){return this.#r!==void 0}schedule(r){if(this.#r!==void 0||!r.shouldReconnect())return;let t=r.delayPolicy?.(this.#e)??jg(this.#e,{baseMs:Dg,maxMs:_g});this.#e+=1,this.#r=setNonBlockingTimeout(()=>{this.#r=void 0,this.#o(r);},t);}stop(){this.#r!==void 0&&(clearTimeout(this.#r),this.#r=void 0);}resetBackoff(){this.#e=0,this.stop();}async#o(r){if(r.shouldReconnect())try{await r.reconnect();}catch{this.schedule(r);}}},jt=class{#r;#e;#o;#i;#s;#t;#a;constructor(r={}){this.#r=r.heartbeat,this.#e=r.connectTimeoutMs,this.#o=r.closeTimeoutMs;}connect(r){if(this.#s?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#m(),this.#t!==void 0)return this.#t;let s=this.#u(r).then(()=>({reusedOpenSocket:false})).catch(o=>{throw this.#t===s&&(this.#t=void 0),o});return this.#t=s,s}send(r){return this.#d(JSON.stringify(r))}#d(r){return this.#s?.readyState!==WebSocket.OPEN?false:(this.#s.send(r),true)}async close(){this.#i?.();let r=await this.#p();this.#n(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{let s=this.#o===void 0?void 0:setNonBlockingTimeout(t,this.#o);r.addEventListener("close",()=>{clearTimeout(s),t();},{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#u(r){let t=await r.prepare?.();return new Promise((s,o)=>{let n=zg(r.url,r.headers),i,p=()=>{n.removeEventListener("open",f),clearTimeout(i),this.#i=void 0,o(new d("WebSocket connection did not open.")),n.close();},f=()=>{clearTimeout(i),this.#i=void 0,n.removeEventListener("error",P),this.#l(n),this.#f(),r.onOpen(t),s(n);},P=E=>{clearTimeout(i),this.#i=void 0,n.removeEventListener("open",f),o(new d(`WebSocket connection failed: ${r.url}`,{cause:E}));};n.addEventListener("open",f,{once:true}),this.#e!==void 0&&(this.#i=p,i=setNonBlockingTimeout(p,this.#e)),n.addEventListener("error",P,{once:true}),n.addEventListener("message",E=>{if(this.#s!==n)return;let b=String(E.data);if(this.#r?.handleMessage(b))return;let A;try{A=JSON.parse(b);}catch{return}r.onMessage(A);}),n.addEventListener("close",E=>{this.#s===n&&(this.#m(),r.onConnectionLost({code:E.code||1005,reason:E.reason??""}));}),n.addEventListener("error",()=>r.onError());})}#l(r){this.#s=r,this.#t=void 0;}#m(){this.#n(),this.#s=void 0;}#f(){this.#n();let r=this.#r;r!==void 0&&(r.start(t=>this.#d(t)),this.#a=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#s;t?.readyState===WebSocket.OPEN&&t.close();},Ug));}#n(){this.#a!==void 0&&(clearInterval(this.#a),this.#a=void 0),this.#r?.stop();}async#p(){let r=this.#s,t=this.#t;return this.#s=void 0,this.#t=void 0,r!==void 0?r:t?.then(()=>this.#s,()=>{})}};function zg(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 d("WebSocket headers require a header-capable WebSocket implementation.",{cause:t})}throw new d("WebSocket headers require a header-capable WebSocket implementation.")}function jg(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}async function Wp(e,r,t,s){let o=new Set(t.seenKeys),n=e.filter(E=>!o.has(String(E.transferId)));if(!r)return {items:n,hasMore:false};let i=e.at(-1);if(i===void 0)throw new c("Perps internal-transfer history reported more records without a continuation timestamp.");let p=Math.min(t.endTimestamp,i.createdTimestamp+1),f=e;if(p===t.endTimestamp&&n.length===0){let E=await s({startTimestamp:Math.max(t.startTimestamp,t.endTimestamp-1),endTimestamp:t.endTimestamp});if(E.hasMore)throw new c("Perps internal-transfer history cannot continue within a full millisecond without skipping records.");if(n=E.transfers.filter(b=>!o.has(String(b.transferId))),p=t.endTimestamp-1,p<t.startTimestamp)return {items:n,hasMore:false};f=E.transfers;}let P=new Set(p===t.endTimestamp?t.seenKeys:[]);for(let E of f)E.createdTimestamp>=p-1&&P.add(String(E.transferId));return {items:n,hasMore:true,nextCursor:toPaginationCursor(btoa(JSON.stringify({...t,endTimestamp:p,seenKeys:Array.from(P)})))}}var Ht=1440*60*1e3,ko=90*Ht,ie=z$1.number().int().nonnegative(),Wt=z$1.object({start:ie.optional(),end:ie.optional()}),Vp=z$1.object({interval:PerpsPnlIntervalSchema,start:ie,end:ie.optional()}),cE=z$1.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),dE=z$1.enum(["perpsEquityHistory","perpsPnlHistory"]),wo=z$1.object({kind:cE,startTimestamp:ie,endTimestamp:ie,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z$1.array(z$1.string())}),Yp=z$1.object({kind:dE,startTimestamp:ie,endTimestamp:ie,interval:PerpsPnlIntervalSchema});async function Zp(e){return await e.get("/v1/account/balances",{schema:FetchPerpsBalancesResponseSchema})}async function Qp(e){return await e.get("/v1/account/portfolio",{schema:FetchPerpsPortfolioResponseSchema})}async function Jp(e){return await e.get("/v1/account/stats",{schema:FetchPerpsAccountStatsResponseSchema})}async function Xp(e){return await e.get("/v1/account/auto-cancel",{schema:FetchPerpsAutoCancelStatusResponseSchema})}var uE=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function ec(e,r){let t=m(r,uE);return await e.get("/v1/account/config",{schema:FetchPerpsAccountConfigResponseSchema,params:de(t)})}var lE=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function rc(e,r){let t=m(r,lE);return await e.get("/v1/account/open-orders",{schema:FetchPerpsOpenOrdersResponseSchema,params:de(t)})}var mE=z$1.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ie.optional(),end:ie.optional()}).default({}),fE=mE.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function tc(e,r){let t=m(r,fE);return await e.get("/v1/account/orders",{schema:FetchPerpsOrdersResponseSchema,params:de(t)})}var yE=z$1.object({instrumentId:z$1.number().int().min(0).max(4294967295).optional(),start:ie.optional(),end:ie.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function sc(e,r={}){let t=m(r,yE);return q(s=>e.get("/v1/account/fills",{schema:ListPerpsFillsResponseSchema,params:de({startTimestamp:t.start,endTimestamp:t.end,instrumentId:t.instrumentId,sort:t.sort,cursor:s??t.cursor})}).then(o=>{let n=o.data.at(-1);return !o.more||n===void 0?{items:o.data,hasMore:false}:{items:o.data,hasMore:true,nextCursor:toPaginationCursor(String(n.tradeId))}}),t.cursor)}var PE=Wt.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),RE=z$1.object({cursor:PaginationCursorSchema}),gE=z$1.union([PE.transform(({cursor:e,...r})=>({cursor:e,params:Nt(r,Ht)})),RE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function oc(e,r={}){let{cursor:t,params:s}=m(r,gE);return q(o=>{let n;o===void 0?(invariant(s!==void 0,"Expected initial Perps funding payment params."),n={kind:"perpsFundingPayments",seenKeys:[],...s}):n=ae(o,wo,"Invalid Perps account pagination cursor");let{kind:i,seenKeys:p,...f}=n,P=new Set(n.seenKeys);return e.get("/v1/account/funding",{schema:ListPerpsFundingPaymentsResponseSchema,params:de(f)}).then(E=>{let b=E.data.filter(A=>!P.has(`${A.instrumentId}:${A.timestamp}:${A.funding}`));return Lo({getKey:A=>`${A.instrumentId}:${A.timestamp}:${A.funding}`,getTimestamp:A=>A.timestamp,items:b,responseData:E.data,responseMore:E.more,state:n})})},t)}var EE=Wt.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),hE=z$1.object({cursor:PaginationCursorSchema}),SE=z$1.union([EE.transform(({cursor:e,...r})=>({cursor:e,params:Nt(r,ko)})),hE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function nc(e,r={}){let{cursor:t,params:s}=m(r,SE);return q(o=>{let n;o===void 0?(invariant(s!==void 0,"Expected initial Perps deposit params."),n={kind:"perpsDeposits",seenKeys:[],...s}):n=ae(o,wo,"Invalid Perps account pagination cursor");let{kind:i,seenKeys:p,...f}=n,P=new Set(n.seenKeys);return e.get("/v1/account/deposits",{schema:ListPerpsDepositsResponseSchema,params:de(f)}).then(E=>{let b=E.data.filter(A=>!P.has(A.hash));return Lo({getKey:A=>A.hash,getTimestamp:WE,items:b,responseData:E.data,responseMore:E.more,state:n})})},t)}var TE=Wt.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),xE=z$1.object({cursor:PaginationCursorSchema}),CE=z$1.union([TE.transform(({cursor:e,...r})=>({cursor:e,params:Nt(r,ko)})),xE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ic(e,r={}){let{cursor:t,params:s}=m(r,CE);return q(o=>{let n;o===void 0?(invariant(s!==void 0,"Expected initial Perps withdrawal params."),n={kind:"perpsWithdrawals",seenKeys:[],...s}):n=ae(o,wo,"Invalid Perps account pagination cursor");let{kind:i,seenKeys:p,...f}=n,P=new Set(n.seenKeys);return e.get("/v1/account/withdrawals",{schema:ListPerpsWithdrawalsResponseSchema,params:de(f)}).then(E=>{let b=E.data.filter(A=>!P.has(String(A.withdrawalId)));return Lo({getKey:A=>String(A.withdrawalId),getTimestamp:NE,items:b,responseData:E.data,responseMore:E.more,state:n})})},t)}var bE=Wt.extend({cursor:PaginationCursorSchema.optional()}),IE=z$1.object({kind:z$1.literal("perpsInternalTransfers"),startTimestamp:ie,endTimestamp:ie,seenKeys:z$1.array(z$1.string())}),qE=z$1.object({cursor:PaginationCursorSchema}),vE=z$1.union([bE.transform(({cursor:e,...r})=>({cursor:e,params:Nt(r,ko)})),qE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ac(e,r={}){let{cursor:t,params:s}=m(r,vE);return q(o=>{let n;o===void 0?(invariant(s!==void 0,"Expected initial Perps internal-transfer params."),n={kind:"perpsInternalTransfers",seenKeys:[],...s}):n=ae(o,IE,"Invalid Perps account pagination cursor");let{kind:i,seenKeys:p,...f}=n;return e.get("/v1/account/internal-transfers",{schema:ListPerpsInternalTransfersResponseSchema,params:de(f)}).then(P=>Wp(P.data,P.more,n,async E=>{let b=await e.get("/v1/account/internal-transfers",{schema:ListPerpsInternalTransfersResponseSchema,params:de(E)});return {transfers:b.data,hasMore:b.more}}))},t)}var OE=Vp.extend({cursor:PaginationCursorSchema.optional()}),AE=z$1.object({cursor:PaginationCursorSchema}),kE=z$1.union([OE.transform(({cursor:e,...r})=>({cursor:e,params:mc(r)})),AE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function pc(e,r){let{cursor:t,params:s}=m(r,kE);return q(o=>{let n;o===void 0?(invariant(s!==void 0,"Expected initial Perps equity history params."),n={kind:"perpsEquityHistory",...s}):n=ae(o,Yp,"Invalid Perps account pagination cursor");let{kind:i,...p}=n;return e.get("/v1/account/equity",{schema:ListPerpsEquityHistoryResponseSchema,params:de(p)}).then(f=>{let P=f.data.at(-1),E=f.more&&P!==void 0&&P.timestamp<n.endTimestamp;return {items:f.data,hasMore:E,nextCursor:E?ge({...n,startTimestamp:P.timestamp+fc(n.interval)}):void 0}})},t)}var wE=Vp.extend({cursor:PaginationCursorSchema.optional()}),LE=z$1.object({cursor:PaginationCursorSchema}),FE=z$1.union([wE.transform(({cursor:e,...r})=>({cursor:e,params:mc(r)})),LE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function cc(e,r){let{cursor:t,params:s}=m(r,FE);return q(o=>{let n;o===void 0?(invariant(s!==void 0,"Expected initial Perps PnL history params."),n={kind:"perpsPnlHistory",...s}):n=ae(o,Yp,"Invalid Perps account pagination cursor");let{kind:i,...p}=n;return e.get("/v1/account/pnl",{schema:ListPerpsPnlHistoryResponseSchema,params:de(p)}).then(f=>{let P=f.data.at(-1),E=f.more&&P!==void 0&&P.timestamp<n.endTimestamp;return {items:f.data,hasMore:E,nextCursor:E?ge({...n,startTimestamp:P.timestamp+fc(n.interval)}):void 0}})},t)}var BE=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()}),ME=z$1.object({sinceSeq:z$1.number().int().nonnegative().optional(),limit:z$1.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),UE=z$1.object({cursor:PaginationCursorSchema}),DE=z$1.union([ME.transform(({cursor:e,...r})=>({cursor:e,params:r})),UE.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function dc(e,r={}){let{cursor:t,params:s}=m(r,DE);return q(o=>{let n;o===void 0?invariant(s!==void 0,"Expected initial Perps notifications params."):n=ae(o,BE,"Invalid Perps account pagination cursor");let i=n===void 0?s?.sinceSeq:n.sinceSeq,p=n===void 0?s?.limit:n.limit;return e.get("/v1/account/notifications",{schema:ListPerpsNotificationsResponseSchema,params:de({cursor:n?.cursor,limit:p,sinceSeq:i})}).then(f=>{let P=f.has_more&&f.next_cursor!==null;return {items:f.items,hasMore:P,nextCursor:P&&f.next_cursor!==null?ge({kind:"perpsNotifications",cursor:f.next_cursor,limit:p,sinceSeq:i}):void 0}})},t)}async function uc(e){return (await e.get("/v1/account/notifications",{schema:FetchPerpsUnreadNotificationsCountResponseSchema,params:de({limit:1})})).unread}var _E=z$1.object({ids:z$1.array(z$1.string().min(1)).min(1)}),zE=z$1.object({upTo:z$1.object({id:z$1.string().min(1),timestamp:z$1.number().int().nonnegative()})}),jE=z$1.union([_E.transform(({ids:e})=>({ids:e})),zE.transform(({upTo:e})=>({before:HE(e)}))]);async function lc(e,r){let t=m(r,jE),s=await e.post("/v1/account/notifications/read",{schema:MarkPerpsNotificationsReadResponseSchema,json:t});if(s.status==="err")throw new i(s.error??"Perps notifications read request was rejected.",{status:200})}function HE(e){return btoa(JSON.stringify({ts:e.timestamp,id:e.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Nt(e,r){let t=Date.now(),{end:s,start:o,...n}=e;return {...n,endTimestamp:s??t,startTimestamp:o??t-r}}function mc(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function de(e){return C(e,I())}function WE(e){return e.confirmedTimestamp??e.createdTimestamp}function NE(e){return e.confirmedTimestamp??e.createdTimestamp}function Lo(e){let r=e.responseData.at(-1),t=e.items.at(-1),s=(t===void 0?void 0:e.getTimestamp(t))??(r===void 0?void 0:e.getTimestamp(r)),o=e.responseMore&&s!==void 0&&s>e.state.startTimestamp;if(!o)return {items:e.items,hasMore:o};let n=t===void 0?s-1:s,i=new Set(e.state.endTimestamp===n?e.state.seenKeys:[]);for(let p of e.items)e.getTimestamp(p)===n&&i.add(e.getKey(p));return {items:e.items,hasMore:o,nextCursor:ge({...e.state,endTimestamp:n,seenKeys:Array.from(i)})}}function fc(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return Ht;case "1w":return 7*Ht}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var ZE=z$1.object({builder:EvmAddressSchema.optional()}).default({}),yc=t(k,i,d,c,a);async function Pc(e,r){let t=m(r,ZE);return (await e.get("/v1/account/builder-approvals",{schema:FetchPerpsBuilderApprovalsResponseSchema,params:C(t,I())})).data}var QE=2160*60*60*1e3,Fo=z$1.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),Rc=z$1.object({start:Fo.optional(),end:Fo.optional(),asOfSequence:Fo.optional()}).refine(({start:e,end:r})=>e===void 0||r===void 0||e<=r,{message:"end must not precede start",path:["end"]}).refine(({start:e,end:r})=>e===void 0||r===void 0||r-e<=QE,{message:"The reporting window must not exceed 90 days",path:["end"]}).default({}),gc=t(k,i,d,c,a);function Ec(e,r){let t=m(r,Rc);return q(s=>e.get("/v1/account/builder-earnings",{schema:ListPerpsBuilderEarningsResponseSchema,params:s===void 0?C(t,{start:"start_timestamp",end:"end_timestamp",asOfSequence:"as_of_sequence"}):new URLSearchParams({cursor:s})}).then(o=>{if(!o.more)return {items:o.data,hasMore:false};if(o.cursor===void 0||o.cursor===s)throw new c("Builder earnings pagination did not return a new cursor");return {items:o.data,hasMore:true,nextCursor:toPaginationCursor(o.cursor)}}))}var hc=t(k,i,d,c,a);async function Sc(e,r){let t=m(r,Rc);return e.get("/v1/account/builder-earnings-summary",{schema:PerpsBuilderEarningsSummarySchema,params:C(t,{start:"start_timestamp",end:"end_timestamp",asOfSequence:"as_of_sequence"})})}var Mo=PerpsDecimalInputSchema.transform((e,r)=>{let t=/^(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(e);if(!t)return r.addIssue({code:"custom",message:"Expected a nonnegative decimal"}),z$1.NEVER;let s=t[1]??"0",o=t[2]??"",n=Number(t[3]??"0");if(!Number.isSafeInteger(n)||Math.abs(n)>100)return r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER;let i=s+o,p=s.length+n,f=p<=0?`0.${"0".repeat(-p)}${i}`:p>=i.length?i.padEnd(p,"0"):`${i.slice(0,p)}.${i.slice(p)}`,[P="0",E=""]=f.split("."),b=E.replace(/0+$/,"");return b.length>28||BigInt(P+b)>79228162514264337593543950335n?(r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER):b?`${P}.${b}`:P});function Tc(e){let[r="0",t=""]=e.split(".");return BigInt(`${r}${t.padEnd(28,"0")}`)}var ih=z$1.object({instrumentId:z$1.number().int().min(0).max(4294967295),side:OrderSideSchema,quantity:Mo.refine(e=>Tc(e)>0n,"quantity must be positive"),limitPrice:Mo.optional(),maxDistance:Mo.optional(),maxDistanceBps:z$1.number().int().min(1).max(1e3).optional(),postOnly:z$1.boolean().default(true),reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional(),expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}).superRefine((e,r)=>{Tc(e.maxDistance??"0")!==0n&&e.maxDistanceBps!==void 0&&r.addIssue({code:"custom",path:["maxDistanceBps"],message:"Use maxDistance or maxDistanceBps, not both"});}),ah=t(k,i,s,d,c,a);async function xc(e,r,t){let s=m(t,ih),o={iid:s.instrumentId,buy:s.side===OrderSide.BUY,qty:s.quantity,lim:s.limitPrice,max_dist:s.maxDistance,max_dist_bps:s.maxDistanceBps,po:s.postOnly,ro:s.reduceOnly,c:s.clientOrderId},n=["createChase",[o.iid,o.buy,o.qty,o.lim,o.max_dist,o.max_dist_bps,o.po,o.ro,o.c]],i$1=await e.post("/v1/trade/chases",{schema:CreatePerpsChaseResponseSchema,retry:false,json:{...r(n,s.expiresAt),op:{type:"createChase",args:o}}});if("status"in i$1)throw new i(i$1.error,{status:200});return i$1}var ph=t(k,i,d,c);async function Cc(e){return await e.get("/v1/account/chases",{schema:FetchPerpsChasesResponseSchema})}var ch=z$1.object({chaseId:PerpsChaseIdSchema,expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}),dh=t(k,i,s,d,c,a);async function bc(e,r,t){let s=m(t,ch),o=["cancelChase",[s.chaseId]],n=await e.del("/v1/trade/chases",{schema:PerpsCommandAckSchema,retry:false,json:{...r(o,s.expiresAt),op:{type:"cancelChase",args:{chid:s.chaseId}}}});if(n.status==="err")throw new i(n.error,{status:200})}var Qt=z$1.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional(),gtdExpiry:z$1.never().optional()}),gh=Qt.extend({price:PerpsDecimalInputSchema,timeInForce:z$1.literal(PerpsTimeInForce.GTC),postOnly:z$1.boolean().default(false)}),Eh=Qt.extend({price:PerpsDecimalInputSchema,timeInForce:z$1.literal(PerpsTimeInForce.GTD),postOnly:z$1.boolean().default(false),gtdExpiry:z$1.number().int().positive().max(18446744073709).refine(e=>e>Date.now(),"Order expiration must be strictly in the future.")}),hh=Qt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z$1.literal(PerpsTimeInForce.IOC),postOnly:z$1.never().optional()}),Sh=Qt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z$1.literal(PerpsTimeInForce.FOK),postOnly:z$1.never().optional()}),Ho=z$1.discriminatedUnion("timeInForce",[gh,Eh,hh,Sh]),Uo=z$1.object({triggerPrice:PerpsDecimalInputSchema,trailingBps:z$1.never().optional(),activationPrice:z$1.never().optional(),gtdExpiry:z$1.never().optional(),limitPrice:PerpsDecimalInputSchema.optional()}),Bc=PerpsDecimalInputSchema.refine(e=>/^\d+(?:\.\d{1,28})?$/.test(e)&&BigInt(e.replace(".",""))>0n&&BigInt(e.replace(".",""))<=79228162514264337593543950335n,"Expected a positive, exactly representable decimal quantity (96-bit coefficient, at most 28 decimal places). Use a fixed-point string without exponent notation.").optional(),Do=z$1.object({triggerPrice:PerpsDecimalInputSchema,trailingBps:z$1.never().optional(),activationPrice:z$1.never().optional(),gtdExpiry:z$1.never().optional(),quantity:Bc}),Mc=z$1.object({trailingBps:z$1.number().int().min(10).max(2e3),activationPrice:PerpsDecimalInputSchema.refine(e=>/^\d+(?:\.\d{1,28})?$/.test(e)&&BigInt(e.replace(".",""))>0n&&BigInt(e.replace(".",""))<=79228162514264337593543950335n,"Expected a positive, exactly representable fixed-point activation price.").optional(),triggerPrice:z$1.never().optional(),limitPrice:z$1.never().optional(),gtdExpiry:z$1.never().optional()}),vc=z$1.union([Uo,Mc]),Oc=z$1.union([Do,Mc.extend({quantity:Bc})]),Th=z$1.union([z$1.object({takeProfit:Uo,stopLoss:vc.optional()}),z$1.object({takeProfit:Uo.optional(),stopLoss:vc})]),xh=z$1.object({orders:z$1.array(Ho).min(1),expiresAt:z$1.number().int().positive().optional()});async function Uc(e,r){let t=m(r,xh),s=e.builderAttribution;return await e.executeCommand({op:["createOrders",t.orders.map(o=>Wo(o,s))],expiresAt:t.expiresAt},z$1.array(PerpsPostOrderAckSchema))}var Ch=z$1.intersection(Ho,z$1.intersection(Th,z$1.object({clientOrderId:PerpsClientOrderIdSchema.default(Xc),expiresAt:z$1.number().int().positive().optional()}))),bh=z$1.intersection(Ho,z$1.object({clientOrderId:PerpsClientOrderIdSchema.default(Xc),expiresAt:z$1.number().int().positive().optional(),takeProfit:z$1.never().optional(),stopLoss:z$1.never().optional()})),Dc=z$1.array(PerpsPostOrderAckSchema).min(1).refine(e=>e.every(r=>r.status==="ok"),"Expected successful Perps order acknowledgements.");function Ih(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function _c(e,r){if(Ih(r))return await qh(e,r);let t=m(r,bh),s=e.builderAttribution,[,o]=await e.executeCommandWithEvent({op:["createOrders",[Wo(t,s)]],expiresAt:t.expiresAt},Dc,ed(t.clientOrderId));return {order:o.payload}}async function qh(e,r){let t=m(r,Ch),s=e.builderAttribution,o=[Wo(t,s)],n=t.side===OrderSide.SELL;t.takeProfit!==void 0&&o.push(Yt({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),builderAttribution:s,trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Yt({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),builderAttribution:s,trigger:t.stopLoss}));let[i,p]=await e.executeCommandWithEvent({op:["createOrders",o,PerpsTpSlScope.Order],expiresAt:t.expiresAt},Dc,ed(t.clientOrderId)),f=1,P={};return t.takeProfit!==void 0&&(P.takeProfit=Vt(expectPresent(i[f++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(P.stopLoss=Vt(expectPresent(i[f],"Expected Perps stop-loss acknowledgement."))),{order:p.payload,tpSl:P}}var vh=z$1.union([z$1.object({takeProfit:Do,stopLoss:Oc.optional()}),z$1.object({takeProfit:Do.optional(),stopLoss:Oc})]),Oh=z$1.intersection(vh,z$1.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z$1.number().int().positive().optional()}));async function zc(e,r){let t=m(r,Oh),s=e.builderAttribution,o=Gh(await e.fetchPortfolio(),t.instrumentId),n=[];t.takeProfit!==void 0&&n.push(Yt({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:t.takeProfit.quantity??"0",builderAttribution:s,trigger:t.takeProfit})),t.stopLoss!==void 0&&n.push(Yt({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:t.stopLoss.quantity??"0",builderAttribution:s,trigger:t.stopLoss}));let i$1=await e.executeCommand({op:["createOrders",n,PerpsTpSlScope.Position],expiresAt:t.expiresAt},z$1.array(PerpsPostOrderAckSchema));for(let P of i$1)if(P.status==="err")throw new i(P.error,{status:200});let p=0,f={};return t.takeProfit!==void 0&&(f.takeProfit=Vt(expectPresent(i$1[p++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(f.stopLoss=Vt(expectPresent(i$1[p],"Expected Perps stop-loss acknowledgement."))),{tpSl:f}}var _o=4,zo=2e3,Ah=100,kh=1e3,wh=z$1.object({maxAttempts:z$1.number().int().positive().default(_o),maxElapsedMs:z$1.number().int().positive().default(zo)}).default({maxAttempts:_o,maxElapsedMs:zo}),Gt=z$1.object({expiresAt:z$1.number().int().positive().optional(),retry:z$1.union([z$1.literal(false),wh]).default({maxAttempts:_o,maxElapsedMs:zo}),signal:z$1.custom(e=>e instanceof AbortSignal,"Expected an AbortSignal.").optional()}),Lh=z$1.union([Gt.extend({orderId:PerpsOrderIdSchema,clientOrderId:z$1.undefined().optional()}),Gt.extend({clientOrderId:PerpsClientOrderIdSchema,orderId:z$1.undefined().optional()})]);async function jc(e,r){let t=m(r,Lh),[s]=t.orderId!==void 0?await $t(e,{orderIds:[t.orderId],expiresAt:t.expiresAt,retry:t.retry,signal:t.signal}):await $t(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt,retry:t.retry,signal:t.signal});return expectPresent(s,"Expected Perps cancel order result.")}var Fh=z$1.union([Gt.extend({orderIds:z$1.array(PerpsOrderIdSchema).min(1),clientOrderIds:z$1.undefined().optional()}),Gt.extend({clientOrderIds:z$1.array(PerpsClientOrderIdSchema).min(1),orderIds:z$1.undefined().optional()})]);async function $t(e,r){let t=m(r,Fh);return t.orderIds!==void 0?await Ac(t.orderIds,t,async s=>await e.executeCommand({op:["cancelOrders",s],expiresAt:t.expiresAt},z$1.array(PerpsCancelOrderResultSchema))):await Ac(t.clientOrderIds,t,async s=>await e.executeCommand({op:["cancelOrdersCOID",s],expiresAt:t.expiresAt},z$1.array(PerpsCancelOrderResultSchema)))}async function Ac(e,r$1,t){let s=r$1.retry===false?1:r$1.retry.maxAttempts,o=r$1.retry===false?Number.POSITIVE_INFINITY:Math.min(Date.now()+r$1.retry.maxElapsedMs,r$1.expiresAt??Number.POSITIVE_INFINITY),n=new Array(e.length),i$1=e.map((f,P)=>({identifier:f,resultIndex:P})),p=0;for(Dh(r$1.signal);i$1.length>0;){if(p>0){let E=o-Date.now(),b=Mh(p);if(E<=0||b>=E||!await Uh(b,r$1.signal)||r$1.signal?.aborted||Date.now()>=o)break}let f;try{f=await t(i$1.map(({identifier:b})=>b));let E=Bh(f);if(E!==void 0)throw new i(E,{status:200});if(f.length!==i$1.length)throw new c("Perps cancel response did not include one result per requested order.")}catch(E){throw p===0?E:new r("Perps cancellation retry failed.",{cause:E,results:n.map(b=>expectPresent(b,"Expected a previous Perps cancel result.")),pendingIndexes:i$1.map(({resultIndex:b})=>b)})}p+=1;let P=[];for(let[E,b]of f.entries()){let A=expectPresent(i$1[E],"Expected a pending Perps cancellation.");n[A.resultIndex]=b,p<s&&b.status==="err"&&b.error===PerpsKnownCancelOrderErrorCode.OrderInFlight&&P.push(A);}i$1=P;}return n.map(f=>expectPresent(f,"Expected a final Perps cancel result."))}function Bh(e){let[r]=e;if(!(e.length!==1||r?.status!=="err"||r.orderId!==void 0||r.clientOrderId!==void 0))return r.error}function Mh(e){let r=Math.min(Ah*2**(e-1),kh);return Math.random()*r}function Uh(e,r){if(r?.aborted)return Promise.resolve(false);if(e<=0)return Promise.resolve(true);if(r===void 0)return new Promise(s=>setNonBlockingTimeout(()=>s(true),e));let t=r;return new Promise(s=>{let o=setNonBlockingTimeout(()=>{t.removeEventListener("abort",n),s(true);},e);function n(){clearTimeout(o),s(false);}t.addEventListener("abort",n,{once:true});})}function Dh(e){if(e?.aborted)throw m$1.fromReason(e.reason)}var _h=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z$1.number().int().positive().optional()}).default({});async function Hc(e,r){let t=m(r,_h),s=["cancelAll",t.instrumentId===void 0?[]:[t.instrumentId]];await e.executeDeleteCommand({path:"/v1/trade/orders/all",op:s,responseSchema:PerpsCancelAllOrdersResponseSchema,expiresAt:t.expiresAt});}var zh=5e3,jh=z$1.object({cancelAt:z$1.number().int().positive(),expiresAt:z$1.number().int().positive().optional()}).superRefine((e,r)=>{let t=Date.now()+zh;e.cancelAt<t&&r.addIssue({code:"custom",message:"cancelAt must be at least 5 seconds in the future.",path:["cancelAt"]});}),Wc=t(q$1,k,i,s,d,c,a),Hh="auto_cancel_daily_limit_reached";async function Nc(e,r,t){let s=m(t,jh),o=["autoCancel",[s.cancelAt]],n=r(o,s.expiresAt);await e.patch("/v1/trade/auto-cancel",{schema:PerpsAutoCancelResponseSchema,json:{...n,op:$r(o)}}).catch(i$1=>{throw i$1 instanceof i&&i$1.message.startsWith(`${Hh} (`)?new q$1("Auto-cancel daily trigger limit reached.",{cause:i$1}):i$1});}var Wh=z$1.object({expiresAt:z$1.number().int().positive().optional()}).default({});async function Kc(e,r,t){let s=m(t,Wh),o=["autoCancel",[0]],n=r(o,s.expiresAt);await e.patch("/v1/trade/auto-cancel",{schema:PerpsAutoCancelResponseSchema,json:{...n,op:$r(o)}});}var Gc=z$1.object({instrumentId:PerpsInstrumentIdSchema,leverage:z$1.number().int().positive(),crossMargin:z$1.boolean()}),$c=t(i,s,d,a);async function Vc(e,r){let t=m(r,Gc);return await e.executeCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]]},PerpsUpdateLeverageResultSchema)}var Nh=z$1.object({updates:z$1.array(Gc.extend({instrumentId:z$1.number().int().nonnegative().max(4294967295),leverage:z$1.number().int().positive().max(4294967295)})).min(1).max(100).superRefine((e,r)=>{let t=new Set;for(let[s,o]of e.entries())t.has(o.instrumentId)&&r.addIssue({code:"custom",message:"Expected each instrumentId to be unique",path:[s,"instrumentId"]}),t.add(o.instrumentId);})}),Yc=t(i,s,d,c,a);async function Zc(e,r){let t=m(r,Nh),s=await e.executeCommand({op:["updateLeverages",t.updates.map(o=>[o.instrumentId,o.leverage,o.crossMargin])]},z$1.array(PerpsUpdateLeverageBatchResultSchema));if(s.length!==t.updates.length||s.some((o,n)=>o.instrumentId!==t.updates[n]?.instrumentId))throw new c("Perps batch leverage results did not match the requested instruments.");return s}var Kh=z$1.object({instrumentId:PerpsInstrumentIdSchema,amount:PerpsDecimalInputSchema}),Qc=t(i,s,d,a);async function Jc(e,r){let t=m(r,Kh),s=toDecimalString(t.amount),o=await e.executeCommand({op:["updateMargin",[t.instrumentId,s]]},PerpsCommandAckSchema);if(o.status==="err")throw new i(o.error,{status:200})}function Xc(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return PerpsClientOrderIdSchema.parse(Array.from(e,r=>r.toString(16).padStart(2,"0")).join(""))}function ed(e){return r=>r.type==="order"&&r.payload.clientOrderId===e}function Vt(e){if(e.status==="err")throw new i(e.error,{status:200});return {orderId:e.orderId}}function Gh(e,r){let t=e.positions.find(o=>o.instrumentId===r),s=t===void 0?0:$h(t.size);if(s===0)throw new a(`No open Perps position for instrument ${r}.`);return s<0}function $h(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function Wo(e,r){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,e.gtdExpiry,r===void 0?void 0:[r.builderAddress,r.feeRate]]}function Yt(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.trailingBps===void 0?[e.trigger.limitPrice===void 0?true:void 0,toDecimalString(e.trigger.triggerPrice),e.kind]:[true,void 0,e.kind,e.trigger.trailingBps,e.trigger.activationPrice===void 0?void 0:toDecimalString(e.trigger.activationPrice)],void 0,e.builderAttribution==null?void 0:[e.builderAttribution.builderAddress,e.builderAttribution.feeRate]]}function $r(e){let[r,t,s]=e;switch(r){case "createOrders":return Zh({args:t.map(Vh),type:r},s);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "autoCancel":{let[o]=t;return {type:r,args:{time:o}}}case "cancelAll":{let[o]=t;return {type:r,args:o===void 0?{}:{iid:o}}}case "updateLeverage":{let[o,n,i]=t;return {type:r,args:{cross:i,iid:o,lev:n}}}case "updateLeverages":return {type:r,args:t.map(([n,i,p])=>({cross:p,iid:n,lev:i}))};case "updateMargin":{let[o,n]=t;return {type:r,args:{amt:n,iid:o}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function Vh(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=Yh(e[8])),e[9]!==void 0&&(r.gtd_expiry=e[9]),e[10]!==void 0&&(r.builder={address:e[10][0],fee_rate:e[10][1]}),r}function Yh(e){let r={tpsl:e[2]};return e[1]!==void 0&&(r.trp=e[1]),e[3]!==void 0&&(r.trail_bps=e[3]),e[4]!==void 0&&(r.act=e[4]),e[0]!==void 0&&(r.market=e[0]),r}function Zh(e,r){return r!==void 0&&(e.grp=r),e}var No=PerpsDecimalInputSchema.transform((e,r)=>{let t=/^(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(e);if(!t)return r.addIssue({code:"custom",message:"Expected a nonnegative decimal"}),z$1.NEVER;let s=t[1]??"0",o=t[2]??"",n=Number(t[3]??"0");if(!Number.isSafeInteger(n)||Math.abs(n)>100)return r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER;let i=s+o,p=s.length+n,f=p<=0?`0.${"0".repeat(-p)}${i}`:p>=i.length?i.padEnd(p,"0"):`${i.slice(0,p)}.${i.slice(p)}`,[P="0",E=""]=f.split("."),b=E.replace(/0+$/,"");return b.length>28||BigInt(P+b)>79228162514264337593543950335n?(r.addIssue({code:"custom",message:"Decimal exceeds supported precision"}),z$1.NEVER):b?`${P}.${b}`:P});function Ko(e){let[r="0",t=""]=e.split(".");return BigInt(`${r}${t.padEnd(28,"0")}`)}var oS=z$1.object({instrumentId:z$1.number().int().min(0).max(4294967295),side:OrderSideSchema,quantity:No.refine(e=>Ko(e)>0n,"quantity must be positive"),durationMs:z$1.number().int().min(3e5).max(864e5),intervalMs:z$1.number().int().nonnegative().optional(),randomize:z$1.boolean().default(false),slippageBps:z$1.number().int().min(0).max(1e4).default(0),minPrice:No.optional(),maxPrice:No.optional(),reduceOnly:z$1.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional(),expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}).superRefine((e,r)=>{let t=e.intervalMs;t!==void 0&&t!==0&&(t<3e4||t>e.durationMs||e.durationMs%t!==0)&&r.addIssue({code:"custom",path:["intervalMs"],message:"intervalMs must be at least 30000 and divide durationMs exactly"});let s=Ko(e.minPrice??"0"),o=Ko(e.maxPrice??"0");s!==0n&&o!==0n&&s>=o&&r.addIssue({code:"custom",path:["maxPrice"],message:"maxPrice must exceed minPrice when both bounds are set"});}),nS=t(k,i,s,d,c,a);async function rd(e,r,t){let s=m(t,oS),o={iid:s.instrumentId,buy:s.side===OrderSide.BUY,qty:s.quantity,dur:s.durationMs,ivl:s.intervalMs,rnd:s.randomize,slip_bps:s.slippageBps,min_px:s.minPrice,max_px:s.maxPrice,ro:s.reduceOnly,c:s.clientOrderId},n=["createTwap",[o.iid,o.buy,o.qty,o.dur,o.ivl,o.rnd,o.slip_bps,o.min_px,o.max_px,o.ro,o.c]],i$1=await e.post("/v1/trade/twaps",{schema:CreatePerpsTwapResponseSchema,retry:false,json:{...r(n,s.expiresAt),op:{type:"createTwap",args:o}}});if("status"in i$1)throw new i(i$1.error,{status:200});return i$1}var iS=t(k,i,d,c);async function td(e){return await e.get("/v1/account/twaps",{schema:FetchPerpsTwapsResponseSchema})}var $o=z$1.object({twapId:PerpsTwapIdSchema,expiresAt:z$1.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()}),aS=t(k,i,s,d,c,a);async function sd(e,r,t){let s=m(t,$o),o=["controlTwap",[s.twapId,"pause"]],n={type:"controlTwap",args:{twid:s.twapId,act:"pause"}},i$1=await e.patch("/v1/trade/twaps",{schema:PerpsCommandAckSchema,retry:false,json:{...r(o,s.expiresAt),op:n}});if(i$1.status==="err")throw new i(i$1.error,{status:200})}var pS=t(k,i,s,d,c,a);async function od(e,r,t){let s=m(t,$o),o=["controlTwap",[s.twapId,"resume"]],n={type:"controlTwap",args:{twid:s.twapId,act:"resume"}},i$1=await e.patch("/v1/trade/twaps",{schema:PerpsCommandAckSchema,retry:false,json:{...r(o,s.expiresAt),op:n}});if(i$1.status==="err")throw new i(i$1.error,{status:200})}var cS=t(k,i,s,d,c,a);async function nd(e,r,t){let s=m(t,$o),o=["cancelTwap",[s.twapId]],n={type:"cancelTwap",args:{twid:s.twapId}},i$1=await e.del("/v1/trade/twaps",{schema:PerpsCommandAckSchema,retry:false,json:{...r(o,s.expiresAt),op:n}});if(i$1.status==="err")throw new i(i$1.error,{status:200})}var yS=3e4,Vo=3e4,PS=2e3,RS=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],gS=new Set(["notifications","builderFills"]),ES=z$1.object({id:z$1.number().int().positive().optional(),data:z$1.unknown().optional()}).passthrough(),Yo=z$1.union([PerpsCommandAckSchema,z$1.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),hS=t(k,i,s,d,c,a),cd=class{credentials;#r;#e;#o;#i;#s;#t;#a=new jt({heartbeat:new Dt});#d=pushable({objectMode:true});#u=new Map;#l=new Set;#m=new zt;#f=new Map;#n;#p;#h=Promise.resolve();#S;#P=1;#y;constructor(r){this.#r=r.approveBuilderFee,this.#S=r.includeBuilderFills??false,this.#p=r.builderAttribution===void 0||typeof r.builderAttribution=="string"?void 0:Object.freeze(m(r.builderAttribution,Op)),this.#n=typeof r.builderAttribution=="string"?m(r.builderAttribution,EvmAddressSchema):this.#p?.builderAddress,this.#e=new Ut({fetch:r.fetch,headers:r.headers,resolveHeaders:async()=>this.#v(),root:r.restUrl}),this.#o=r.chainId,this.credentials=r.credentials,this.#i=r.headers,this.#s=r.onClose,this.#t=r.wsUrl;}get builderAttribution(){return this.#p}get closed(){return this.#y!==void 0}async connect(){if(this.#n!==void 0&&this.#p===void 0){let r=await this.#e.getWorkflow("/v1/info/builder",{schema:PerpsBuilderStatusSchema,params:new URLSearchParams({address:this.#n})});if(!r.registered||!r.enabled||!r.admissionEnabled)throw new a("Builder attribution is not active for this builder address.");let s=(await this.fetchBuilderApprovals({builder:this.#n})).find(n=>n.builder.toLowerCase()===this.#n?.toLowerCase()),o=To(r.maxFeeRate,s?.maxFeeRate??"0");this.#p=/[1-9]/.test(o)?Object.freeze({builderAddress:this.#n,feeRate:o}):void 0;}await this.#x(false);}async close(){this.#y===void 0&&(this.#y=this.#O()),await this.#y;}[Symbol.asyncIterator](){return this.#d[Symbol.asyncIterator]()}async approveBuilderFee(r){let t=m(r,Co);return this.#T(()=>({...t,builderAddress:t.builderAddress===void 0?this.#n:t.builderAddress}))}async revokeBuilderFee(r){return this.#T(()=>{let t=r??this.#n;if(t===void 0)throw new a("A builder address is required when the session has no active builder attribution.");return {builderAddress:t,maxFeeRate:"0"}})}#T(r){let t=this.#h.catch(()=>{}).then(async()=>{if(this.closed)throw new d("Perps session closed.");if(this.#r===void 0)throw new a("Builder approval requires a session opened with a secure client.");let s=await this.#r(this,r());if(/^0+(?:\.0+)?$/.test(s.maxFeeRate))this.#n?.toLowerCase()===s.builder.toLowerCase()&&(this.#p=void 0,this.#n=void 0);else {let o=await this.#e.getWorkflow("/v1/info/builder",{schema:PerpsBuilderStatusSchema,params:new URLSearchParams({address:s.builder})});this.#n=s.builder;let n=To(o.maxFeeRate,s.maxFeeRate);this.#p=/[1-9]/.test(n)?Object.freeze({builderAddress:s.builder,feeRate:n}):void 0;}return s});return this.#h=t,t}async fetchBuilderApprovals(r){return await Pc(this.#e,r)}listBuilderEarnings(r){return Ec(this.#e,r)}async fetchBuilderEarningsSummary(r){return await Sc(this.#e,r)}async fetchBalances(){return await Zp(this.#e)}async fetchPortfolio(){return await Qp(this.#e)}async fetchPositionSnapshots(r){return Lp(this.#e,r)}async fetchStats(){return await Jp(this.#e)}async fetchAccountConfig(r){return await ec(this.#e,r)}async fetchAutoCancelStatus(){return await Xp(this.#e)}async fetchOpenOrders(r){return await rc(this.#e,r)}async fetchOrders(r){return await tc(this.#e,r)}listFills(r={}){return sc(this.#e,r)}listFundingPayments(r={}){return oc(this.#e,r)}listDeposits(r={}){return nc(this.#e,r)}listInternalTransfers(r={}){return ac(this.#e,r)}listWithdrawals(r={}){return ic(this.#e,r)}listEquityHistory(r){return pc(this.#e,r)}listPnlHistory(r){return cc(this.#e,r)}listNotifications(r={}){return dc(this.#e,r)}async fetchUnreadNotificationsCount(){return await uc(this.#e)}async markNotificationsRead(r){await lc(this.#e,r);}async placeOrder(r){return await _c(this,r)}async postOrders(r){return await Uc(this,r)}async placePositionTpSl(r){return await zc(this,r)}async cancelOrder(r){return await jc(this,r)}async cancelOrders(r){return await $t(this,r)}async cancelAllOrders(r){await Hc(this,r);}async armAutoCancel(r){await Nc(this.#e,(t,s)=>this.#c(t,s),r);}async disarmAutoCancel(r){await Kc(this.#e,(t,s)=>this.#c(t,s),r);}async updateLeverage(r){return await Vc(this,r)}async updateLeverages(r){return await Zc(this,r)}async updateMargin(r){await Jc(this,r);}async#x(r){await this.#a.connect({onConnectionLost:()=>this.#w(),onError:()=>{},onMessage:t=>this.#A(t),onOpen:()=>{},headers:this.#i,url:this.#t}),await this.#I(),await this.#q(),this.#m.resetBackoff(),r&&(this.#f.clear(),this.#d.push({reason:"reconnect",type:"resync"}));}async#I(){await this.#R({id:this.#P++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},Yo,yS,"Perps session authentication timed out.");}async#q(){await this.#R({id:this.#P++,req:"sub",chs:RS},Yo,Vo,"Perps session subscription timed out."),this.#S&&this.#R({id:this.#P++,req:"sub",chs:["builderFills"]},Yo,Vo,"Perps builder fills subscription timed out.").catch(()=>{});}#v(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}async executeCommand(r,t){let s=$r(r.op),o=this.#c(r.op,r.expiresAt);return await this.#R({...o,id:this.#P++,op:s,req:"post"},t,Vo,"Perps command response timed out.")}async executeCommandWithEvent(r,t,s){let o=this.#F(s),n=this.executeCommand(r,t);n.then(()=>this.#B(o,PS),()=>{});try{let[i,p]=await Promise.all([n,o.promise]);return [i,p]}finally{this.#g(o);}}async executeDeleteCommand(r){let t=this.#c(r.op,r.expiresAt);return await this.#e.del(r.path,{schema:r.responseSchema,json:{...t,op:$r(r.op)}})}async createChase(r){return await xc(this.#e,this.#c.bind(this),r)}async cancelChase(r){return await bc(this.#e,this.#c.bind(this),r)}async fetchChases(){return await Cc(this.#e)}async createTwap(r){return await rd(this.#e,this.#c.bind(this),r)}async pauseTwap(r){return await sd(this.#e,this.#c.bind(this),r)}async resumeTwap(r){return await od(this.#e,this.#c.bind(this),r)}async cancelTwap(r){return await nd(this.#e,this.#c.bind(this),r)}async fetchTwaps(){return await td(this.#e)}#c(r,t){let s$1=xS(),o=Date.now(),n;try{n=Ip({chainId:this.#o,op:r,privateKey:this.credentials.privateKey,salt:s$1,timestamp:o});}catch(p){throw s.fromError(p,"Could not sign the Perps session command")}let i={salt:s$1,sig:n,ts:o};return t!==void 0&&(i.exp=t),i}async#R(r,t,s,o){let n=SS(t);this.#u.set(r.id,n);let i=setNonBlockingTimeout(()=>{n.reject(new d(o));},s);try{if(!this.#a.send(r))throw new d("Perps session transport is not open.");return await n.promise}finally{clearTimeout(i),this.#u.delete(r.id);}}async#O(){this.#m.stop(),this.#C(new d("Perps session closed.")),this.#b(new d("Perps session closed.")),this.#d.end(),await this.#a.close(),this.#s(this);}#A(r){if(this.#k(r))return;let t=PerpsNotificationsResyncFrameSchema.safeParse(r);if(t.success){this.#E(t.data);return}let s=PerpsSessionUpdateEventSchema.safeParse(r);if(!s.success)return;let o=s.data;this.#L(o),this.#E(o);}#k(r){let t=ES.safeParse(r);if(!t.success||t.data.id===void 0)return false;let s=this.#u.get(t.data.id);if(s===void 0)return true;let o=s.schema.safeParse(t.data.data);if(!o.success){let n=Zo(t.data.data??t.data);return n!==void 0?s.reject(new i(n.error,{status:200})):s.reject(new d("Perps session unexpected response.")),true}return TS(o.data)?s.reject(new i(o.data.error,{status:200})):s.resolve(o.data),true}#w(){this.#C(new d("Perps session connection closed.")),this.#b(new d("Perps session connection closed.")),this.#y===void 0&&this.#m.schedule({reconnect:()=>this.#x(true),shouldReconnect:()=>this.#y===void 0});}#C(r){for(let t of this.#u.values())t.reject(r);this.#u.clear();}#L(r){if(gS.has(r.channel))return;let t=this.#f.get(r.channel);this.#f.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#E({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#E(r){this.#M(r),this.#d.push(r);}#F(r){let t,s,n={promise:new Promise((i,p)=>{t=i,s=p;}),predicate:r,reject:s,resolve:t};return this.#l.add(n),n}#B(r,t){this.#l.has(r)&&(r.timeout=setNonBlockingTimeout(()=>{this.#g(r),r.reject(new l("Perps event wait timed out."));},t));}#M(r){for(let t of Array.from(this.#l))t.predicate(r)&&(this.#g(t),t.resolve(r));}#g(r){this.#l.delete(r)&&r.timeout!==void 0&&clearTimeout(r.timeout);}#b(r){for(let t of Array.from(this.#l))this.#g(t),t.reject(r);}};function SS(e){let r,t;return {promise:new Promise((o,n)=>{r=o,t=n;}),reject:t,resolve:r,schema:e}}function TS(e){return Array.isArray(e)?false:Zo(e)!==void 0}function Zo(e){if(Array.isArray(e)){for(let t of e){let s=Zo(t);if(s!==void 0)return s}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 xS(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}async function dd(e,r){let{label:t,...s}=r,o=await e.signTransfer(s);return e.submitTransfer({...s,signature:o,...t===void 0?{}:{label:t}})}var cr=t(e,k,i,d,c,a),Ae=z$1.number().int().nonnegative(),fd=1440*60*1e3,NS=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),lM=cr;async function mM(e,r,t={}){let s=R(t),o=m(r,NS);return e.perps.get("/v1/info/instruments",{schema:FetchPerpsInstrumentsResponseSchema,...s,params:C(o,I())})}var KS=z$1.object({instrumentId:PerpsInstrumentIdSchema}),fM=cr;async function yM(e,r,t={}){let s=R(t),o=m(r,KS),[n]=await $S(e,o,s);if(n===void 0)throw new c(`Perps ticker ${o.instrumentId} was not returned by the API`);return n}var GS=z$1.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),PM=cr;async function $S(e,r,t={}){let s=R(t),o=m(r,GS),n=C(o,I()),[i,p]=await Promise.all([e.perps.get("/v1/info/tickers",{schema:FetchPerpsTickersResponseSchema,...s,params:n}),e.perps.get("/v1/info/statistics",{schema:FetchPerpsStatisticsResponseSchema,...s,params:n})]),f=new Map(p.map(P=>[P.instrumentId,P]));return i.map(P=>{let E=f.get(P.instrumentId);return {...P,openPrice:E?.openPrice,volume24h:E?.volume}})}var VS=z$1.union([z$1.literal(10),z$1.literal(100),z$1.literal(500),z$1.literal(1e3)]),YS=z$1.object({instrumentId:PerpsInstrumentIdSchema,depth:VS.default(100)}),RM=cr;async function gM(e,r,t={}){let s=R(t),o=m(r,YS);return e.perps.get("/v1/info/book",{schema:PerpsBookSchema,...s,params:C(o,I())})}var ZS=z$1.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:Ae.optional(),end:Ae.optional(),cursor:PaginationCursorSchema.optional()}),QS=z$1.object({cursor:PaginationCursorSchema}),JS=z$1.union([ZS.transform(({cursor:e,...r})=>({cursor:e,params:pT(r)})),QS.transform(({cursor:e})=>({cursor:e,params:void 0}))]),EM=cr;function hM(e,r,t={}){let s=R(t),{cursor:o,params:n}=m(r,JS);return q(i=>{let p=i===void 0?cT(n):lT(i);return e.perps.get("/v1/info/klines",{schema:FetchPerpsCandlesResponseSchema,...s,params:C({endTimestamp:p.endTimestamp,instrumentId:p.instrumentId,interval:p.interval,startTimestamp:p.startTimestamp},I())}).then(f=>{let P=f.data.at(-1),E=f.more&&P!==void 0;return {items:f.data,hasMore:E,nextCursor:E?ge({...p,startTimestamp:P.timestamp+yT(p.interval)}):void 0}})},o)}var yd=z$1.object({instrumentId:PerpsInstrumentIdSchema,start:Ae.optional(),end:Ae.optional()}),XS=yd.extend({cursor:PaginationCursorSchema.optional()}),eT=z$1.object({cursor:PaginationCursorSchema}),rT=z$1.union([XS.transform(({cursor:e,...r})=>({cursor:e,params:Pd(r)})),eT.transform(({cursor:e})=>({cursor:e,params:void 0}))]),tT=yd.extend({cursor:PaginationCursorSchema.optional()}),sT=z$1.object({cursor:PaginationCursorSchema}),SM=cr;function TM(e,r,t={}){let s=R(t),{cursor:o,params:n}=m(r,rT);return q(i=>{let p=i===void 0?dT(n):mT(i);return e.perps.get("/v1/info/funding",{schema:FetchPerpsFundingHistoryResponseSchema,...s,params:C({endTimestamp:p.endTimestamp,instrumentId:p.instrumentId,startTimestamp:p.startTimestamp},I())}).then(f=>{let P=f.data.at(-1),E=f.more&&P!==void 0&&P.timestamp>p.startTimestamp;return {items:f.data,hasMore:E,nextCursor:E?ge({...p,endTimestamp:P.timestamp-1}):void 0}})},o)}var oT=z$1.union([tT.transform(({cursor:e,...r})=>({cursor:e,params:Pd(r)})),sT.transform(({cursor:e})=>({cursor:e,params:void 0}))]),xM=cr;function CM(e,r,t={}){let s=R(t),{cursor:o,params:n}=m(r,oT);return q(i=>{let p=i===void 0?uT(n):fT(i),f=new Set(p.seenTradeIds);return e.perps.get("/v1/info/trades",{schema:FetchPerpsTradesResponseSchema,...s,params:C({endTimestamp:p.endTimestamp,instrumentId:p.instrumentId,startTimestamp:p.startTimestamp},I())}).then(P=>{let E=P.data.filter(gu=>!f.has(gu.tradeId)),b=P.data.at(-1),A=E.at(-1),me=A?.timestamp??b?.timestamp,Ir=P.more&&me!==void 0&&me>p.startTimestamp;return {items:E,hasMore:Ir,nextCursor:Ir?ge({...p,endTimestamp:A===void 0?me-1:me,seenTradeIds:A===void 0?[]:PT(p,E,A)}):void 0}})},o)}var bM=t(e,k,i,d,c,a);async function IM(e,r={}){let t=R(r);return (await e.perps.get("/v1/info/fees",{schema:FetchPerpsFeesResponseSchema,...t})).feeSchedule}var nT=z$1.object({kind:z$1.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:Ae,endTimestamp:Ae}),iT=z$1.object({kind:z$1.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Ae,endTimestamp:Ae}),aT=z$1.object({kind:z$1.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Ae,endTimestamp:Ae,seenTradeIds:z$1.array(PerpsTradeIdSchema)});function pT(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-fd}}function Pd(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-fd}}function cT(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function dT(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function uT(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function lT(e){return ae(e,nT,"Invalid Perps pagination cursor")}function mT(e){return ae(e,iT,"Invalid Perps pagination cursor")}function fT(e){return ae(e,aT,"Invalid Perps pagination cursor")}function yT(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 PT(e,r,t){let s=new Set(e.endTimestamp===t.timestamp?e.seenTradeIds:[]);for(let o of r)o.timestamp===t.timestamp&&s.add(o.tradeId);return Array.from(s)}var RT=z$1.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),gT=z$1.object({proxy:z$1.string().transform(e=>expectEvmAddress(e)),privateKey:RT,secret:z$1.string().min(1),expiresAt:z$1.number().int().positive()}),ET=10080*60*1e3,hT=z$1.strictObject({builderAttribution:EvmAddressSchema.optional(),includeBuilderFills:z$1.boolean().optional(),expiresIn:z$1.number().int().positive().default(ET),label:z$1.string().min(1).optional()}),ST=z$1.strictObject({builderAttribution:EvmAddressSchema.optional(),includeBuilderFills:z$1.boolean().optional(),credentials:gT}),TT=z$1.union([hT,ST]),xT=z$1.object({proxy:z$1.string()}),CT=xT.transform(e=>({proxy:expectEvmAddress(e.proxy)})),Rd=z$1.bigint().positive().max(Le),bT=z$1.object({amount:Rd,metadata:V.optional()}),IT=z$1.object({amount:Rd}),qT=PerpsDecimalInputSchema.refine(e=>/^\d+(?:\.\d+)?$/.test(e)&&/[1-9]/.test(e),"Expected a positive fixed-point decimal amount."),vT=z$1.string().min(1).refine(e=>new TextEncoder().encode(e).byteLength<=64,"Expected a label no longer than 64 UTF-8 bytes."),OT=z$1.object({recipient:EvmAddressSchema,amount:qT,label:vT.optional()}),qM=t(k,i,s,d,c,a),vM=t(k,i,s,d,c,a),OM=t(a),AM=t(o,k,i,s,d,c,a),kM=t(k,i,s,d,c,a),wM=t(k,i,s,d,c,a);async function LM(e,r={}){let t=m(r,TT),s="credentials"in t?await wT(e,t.credentials):await kT(e,t);return e.webSockets.perpsSession.connect(s,t.builderAttribution,Ap.bind(null,e),t.includeBuilderFills)}async function FM(e,r){let t=m(r,CT),s={type:"deleteProxy",args:{proxy:t.proxy}},o=["deleteProxy",[t.proxy]],n=pr(),i$1=Date.now(),p=await Ed(e,{salt:n,signedOp:o,timestamp:i$1}),f=await e.perps.del("/v1/account/proxy",{schema:PerpsDeleteProxyResponseSchema,json:{op:s,salt:n,sig:p,ts:i$1}});if(f.status==="err")throw new i(f.error??"Perps credentials revocation was rejected.",{status:200})}async function AT(e,r){let t=m(r,bT),{contracts:s}=e.environment,o=fi(s.perpsDepositContract,s.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?H(yield jT(W(e.environment.chainId,o))):yield*await Z(e,{calls:[o],metadata:t.metadata??`Deposit ${t.amount} of ${s.collateralToken} to Perps`})}.call(null)}function BM(e,r){return AT(e,r).then(j(e.signer))}async function MM(e,r){let t=m(r,IT),s=Math.floor(Date.now()/1e3),o=pr(),n={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},i$1=await FT(e,{amount:t.amount,salt:o,timestamp:s}),p=await e.perps.post("/v1/account/withdraw",{schema:PerpsWithdrawResponseSchema,json:{op:n,salt:o,sig:i$1,ts:s}});if(p.status==="err")throw new i(p.error??"Perps withdrawal was rejected.",{status:200});if(p.withdrawalId===void 0)throw new c("Perps withdrawal response did not include a withdrawal ID.");return p.withdrawalId}async function UM(e,r){_T(e);let t=m(r,OT);if(isSameEvmAddress(t.recipient,e.account.signer))throw new a("Perps collateral cannot be transferred to the authenticated account.");return dd({signTransfer({account:s,token:o,amount:n,recipient:i,salt:p,timestamp:f}){return Ed(e,{salt:p,signedOp:["internalTransfer",[s,o,n,i]],timestamp:f})},async submitTransfer(s){let o={op:{type:"internalTransfer",args:{account:s.account,token:s.token,amount:s.amount,to:s.recipient}},salt:s.salt,sig:s.signature,ts:s.timestamp};return s.label!==void 0&&(o.label=s.label),(await e.perps.post("/v1/account/internal-transfer",{schema:PerpsInternalTransferResponseSchema,json:o})).transferId}},{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount,recipient:t.recipient,label:t.label,salt:pr(),timestamp:Date.now()})}async function kT(e,r){let t=UT(),s=hd(t),o=e.account.signer,n=Date.now()+r.expiresIn,i=Date.now(),p=pr(),f={args:{expiry:n,owner:o,proxy:s},type:"createProxy"},P=await LT(e,{expiresAt:n,proxy:s,salt:p,timestamp:i}),E={op:f,salt:p,sig:P,ts:i};r.label!==void 0&&(E.label=r.label);let b=await e.perps.post("/v1/account/proxy",{schema:PerpsCreateProxyResponseSchema,json:E}),A={expiresAt:n,privateKey:t,proxy:s,secret:b.secret};return gd(e,A)}async function wT(e,r){return DT(r),gd(e,r)}async function gd(e,r){let t=await e.perps.getWorkflow("/v1/account/credentials",{schema:PerpsCredentialsResponseSchema,headers:zT(r)});if(!isSameEvmAddress(t.address,e.account.signer))throw new c("Perps credentials belong to a different signer account.");let s=t.keys.find(o=>isSameEvmAddress(o.proxy,r.proxy));if(s===void 0)throw new c("Perps credentials were not returned by the API.");if(s.expiresAt<=Date.now())throw new c("Perps credentials are expired.");return {...r,expiresAt:s.expiresAt}}async function LT(e,r){try{return await e.signer.signTypedData(MT({chainId:e.environment.chainId,...r}))}catch(t){throw s.fromError(t,"Could not sign the Perps proxy credentials request")}}async function Ed(e,r){try{return await e.signer.signTypedData(Nr({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw s.fromError(t,"Could not sign the Perps operation request")}}async function FT(e,r){try{return await e.signer.signTypedData(BT({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 s.fromError(t,"Could not sign the Perps withdrawal request")}}function BT(e){let r={chainId:e.chainId,name:"Polymarket",verifyingContract:e.contract,version:"1"};return {domain:r,message:{account:e.account,amount:e.amount,fee:0n,salt:e.salt,token:e.token,to:e.to,ts:e.timestamp},primaryType:"Withdraw",types:{EIP712Domain:TypedData.extractEip712DomainTypes(r),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 MT(e){let r={chainId:e.chainId,name:"Polymarket",version:"1"};return {domain:r,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"}],EIP712Domain:TypedData.extractEip712DomainTypes(r)}}}function UT(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function hd(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function DT(e){let r=hd(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function _T(e){if(e.account.signerType!=="OWNER")throw new a("Perps collateral transfers must be signed by the account owner.")}function zT(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function jT(e){return {kind:"sendPerpsDepositTransaction",request:e}}var KT=z$1.object({address:EvmAddressSchema}),QM=t(k,e,i,d,c,a);async function JM(e,r,t={}){let s=R(t),o=m(r,KT);return e.perps.get("/v1/info/registered",{schema:PerpsRegistrationResponseSchema,...s,params:C(o,{address:"address"})})}var ax=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema.optional(),conditionId:z$1.union([CanonicalMarketConditionIdSchema,Ee(CanonicalMarketConditionIdSchema,20)]).optional(),status:PositionStatusSchema.optional(),eventId:z$1.array(EventIdSchema).min(1).optional(),title:z$1.string().transform(e=>/^\p{White_Space}*$/u.test(e)?void 0:e).refine(e=>e===void 0||[...e].length<=200,{message:"title must contain at most 200 characters"}).optional(),filterType:PositionFilterTypeSchema.optional(),filterAmount:z$1.number().min(0).optional(),includeArchived:z$1.boolean().optional(),sortBy:PositionSortBySchema.optional(),sortDirection:SortDirectionSchema.optional(),window:fr.optional()}).refine(e=>e.user!==void 0||e.conditionId,{message:"Provide user or conditionId",path:["user"]}).refine(e=>e.user!==void 0||!Array.isArray(e.conditionId)||e.conditionId.length===1,{message:"Without user, provide exactly one conditionId",path:["conditionId"]}).refine(e=>!(e.conditionId&&e.eventId),{message:"Provide conditionId or eventId, not both",path:["eventId"]}).refine(e=>e.user!==void 0||e.eventId===void 0,{message:"eventId requires user",path:["eventId"]}).refine(e=>!(e.includeArchived&&e.status==="CLOSED"),{message:"includeArchived does not apply to CLOSED positions",path:["includeArchived"]}).refine(e=>e.status!==PositionStatus.RedeemableLost||e.user!==void 0,{message:"REDEEMABLE_LOST requires user",path:["user"]}),pU=t(e,k,i,d,c,a);function cU(e,r,t={}){let s=R(t),{cursor:o,pageSize:n,window:i,...p}=m(r,ax);return q(f=>e.data.get("/v2/positions",{schema:ListPositionsResponseSchema,...s,params:z({...p,...i,limit:n,cursor:f})}),o)}var px=z$1.union([ComboPositionStatusSchema,z$1.tuple([ComboPositionStatusSchema],ComboPositionStatusSchema).refine(e=>e.length===1||!e.includes(ComboPositionStatus.Redeemable),{message:"REDEEMABLE must be the sole status value"})]),cx=z$1.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e3).default(100),user:EvmAddressSchema,conditionId:z$1.union([ComboConditionIdSchema,Ee(ComboConditionIdSchema,20)]).optional(),status:px.optional(),sortBy:ComboPositionSortBySchema.optional(),sortDirection:SortDirectionSchema.optional(),updatedAfter:Xe.optional(),updatedBefore:Xe.optional()}),dx=cx.refine(e=>e.updatedBefore===void 0||e.updatedAfter===void 0||e.updatedBefore>=e.updatedAfter,{message:"updatedBefore must not precede updatedAfter",path:["updatedBefore"]}),dU=t(e,k,i,d,c,a);function uU(e,r,t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,dx);return q(p=>e.data.get("/v2/positions/combos",{schema:ListComboPositionsResponseSchema,...s,params:z({...i,limit:n,cursor:p})}),o)}var ux=z$1.object({user:EvmAddressSchema,conditionIds:Ee(CanonicalMarketConditionIdSchema,20).optional()}),lU=t(e,k,i,d,c,a);async function mU(e,r,t={}){let s=R(t),{conditionIds:o,...n}=m(r,ux);return e.data.get("/v2/value",{schema:FetchPortfolioValueResponseSchema,...s,params:z({...n,condition:o})})}var lx=z$1.object({user:EvmAddressSchema}),fU=t(e,k,i,d,c,a);async function yU(e,r,t={}){let s=R(t),o=m(r,lx);return e.data.get("/v2/user-stats",{schema:FetchUserStatsResponseSchema,...s,params:z(o)})}var mx=z$1.object({user:EvmAddressSchema,interval:UserPnlIntervalSchema.optional(),fidelity:UserPnlFidelitySchema.optional()}),PU=t(e,k,i,d,c,a);async function RU(e,r,t={}){let s=R(t),o=m(r,mx);return e.data.get("/v2/user-pnl",{schema:FetchUserPnlResponseSchema,...s,params:z(o)})}var fx=z$1.object({user:EvmAddressSchema,window:fr.optional()}),gU=t(e,k,i,d,c,a);async function EU(e,r,t={}){let s=R(t),{window:o,...n}=m(r,fx);return e.data.get("/v2/user-volume",{schema:FetchUserVolumeResponseSchema,...s,params:z({...n,...o})})}var yx=z$1.object({user:z$1.string()}),hU=t(e,k,i,d,c,a);async function SU(e,r,t={}){let s=R(t),o=m(r,yx);return e.data.get("/v1/accounting/snapshot",{responseType:"blob",...s,params:Wn(o)})}function Cd(e,r){if(!isPresent(e.conditionId))throw new c(`Missing condition ID for ${r}`);let t=e.outcomes.yes.tokenId,s=e.outcomes.no.tokenId,o=e.outcomes.yes.positionId,n=e.outcomes.no.positionId;if(e.version===ProtocolVersion.V2){if(isPresent(o)!==isPresent(n))throw new c(`Incomplete market position IDs for ${r}`);if(!isPresent(o)||!isPresent(n))throw new c(`Missing market position IDs for ${r}`);return {marketId:e.id,conditionId:e.conditionId,protocol:"v2",outcomeIds:[o,n]}}if(isPresent(t)!==isPresent(s))throw new c(`Incomplete market token IDs for ${r}`);if(isPresent(t)&&isPresent(s)){if(!isPresent(e.state.negRisk))throw new c(`Missing negative-risk flag for ${r}`);return {marketId:e.id,conditionId:e.conditionId,protocol:"ctf",negRisk:e.state.negRisk,outcomeIds:[t,s]}}throw new c(`Missing market token IDs for ${r}`)}function an(e){throw new a(`${e} requires an unavailable protocol V2 router.`)}var bd=t(k,i,d,c,a),Id=z$1.object({amount:z$1.bigint().min(0n),conditionId:ConditionIdSchema,metadata:V.optional()}),YU=bd;async function qd(e,r){let t=m(r,Id),s=await pn(e,{conditionId:t.conditionId}),o=s.protocol==="ctf"?yi(s.adapterAddress,e.environment.contracts.collateralToken,s.conditionId,t.amount):ys(e.environment.contracts.protocolV2Router,s.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?H(yield rn(W(e.environment.chainId,o))):yield*await Z(e,{calls:[o],metadata:t.metadata??`Split ${t.amount} positions for market ${s.marketId} (condition ${s.conditionId})`})}.call(null)}var vd=z$1.object({amount:z$1.bigint().positive(),legs:z$1.array(PositionIdSchema).min(1).max(50),metadata:V.optional()}),ZU=bd;async function Od(e,r){an("Combo positions");let t=m(r,vd),s=$s(t.legs),o=Rs(e.environment.contracts.combinatorialModule,s),n=Gs(s),i=ys(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await H(yield rn(W(e.environment.chainId,o))).wait(),H(yield rn(W(e.environment.chainId,i)))):yield*await Z(e,{calls:[o,i],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${n.conditionId}`})}.call(null)}var gx=z$1.union([Id.extend({legs:z$1.never().optional()}),vd.extend({conditionId:z$1.never().optional()})]);async function Ex(e,r){let t=m(r,gx);return t.legs!==void 0?Od(e,t):qd(e,t)}var Ad=t(o,k,i,s,l,n,d,c,a),QU=Ad;function JU(e,r){return qd(e,r).then(j(e.signer))}var XU=Ad;function eD(e,r){return Od(e,r).then(j(e.signer))}function rD(e,r){return Ex(e,r).then(j(e.signer))}var kd=t(k,i,d,c,a),wd=z$1.object({amount:z$1.union([z$1.bigint().positive(),z$1.literal("max")]),conditionId:ConditionIdSchema,metadata:V.optional()}),tD=kd;async function Ld(e,r){let t=m(r,wd),s=await pn(e,{conditionId:t.conditionId}),o=Br(await e.rpc.ethCall(Fr(s.positionErc1155Address,e.account.wallet,s.outcomeIds))),n=Hd(s.conditionId,o,t.amount),i=s.protocol==="ctf"?Pi(s.adapterAddress,e.environment.contracts.collateralToken,s.conditionId,n):Ps(e.environment.contracts.protocolV2Router,s.conditionId,n);return async function*(){return e.account.walletType===WalletType.EOA?H(yield tn(W(e.environment.chainId,i))):yield*await Z(e,{calls:[i],metadata:t.metadata??`Merge ${n} positions for market ${s.marketId} (condition ${s.conditionId})`})}.call(null)}var Fd=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:V.optional()}),sD=kd;async function Bd(e,r){an("Combo positions");let t=m(r,Fd),s=$s(t.legs),o=Rs(e.environment.contracts.combinatorialModule,s),n=Gs(s),i=Br(await e.rpc.ethCall(Fr(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),p=Hd(n.conditionId,i,t.amount),f=Ps(e.environment.contracts.protocolV2Router,n.conditionId,p);return async function*(){return e.account.walletType===WalletType.EOA?(await H(yield tn(W(e.environment.chainId,o))).wait(),H(yield tn(W(e.environment.chainId,f)))):yield*await Z(e,{calls:[o,f],metadata:t.metadata??`Merge ${p} combo positions for condition ${n.conditionId}`})}.call(null)}var hx=z$1.union([wd.extend({legs:z$1.never().optional()}),Fd.extend({conditionId:z$1.never().optional()})]);async function Sx(e,r){let t=m(r,hx);return t.legs!==void 0?Bd(e,t):Ld(e,t)}var Md=t(o,k,i,s,l,n,d,c,a),oD=Md;function nD(e,r){return Ld(e,r).then(j(e.signer))}var iD=Md;function aD(e,r){return Bd(e,r).then(j(e.signer))}function pD(e,r){return Sx(e,r).then(j(e.signer))}var Ud=t(k,i,d,c,a),Dd=z$1.object({conditionId:ConditionIdSchema,marketId:z$1.never().optional(),amount:z$1.never().optional(),positionId:z$1.never().optional(),metadata:V.optional()}),_d=z$1.object({conditionId:z$1.never().optional(),marketId:MarketIdSchema,amount:z$1.never().optional(),positionId:z$1.never().optional(),metadata:V.optional()}),Tx=z$1.union([Dd,_d]),cD=Ud;async function xx(e,r){let t=m(r,Tx),s=await pn(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),o=await vx(e,s);return async function*(){return e.account.walletType===WalletType.EOA?yield*Ix(e,o):yield*await Z(e,{calls:o,metadata:t.metadata??`Redeem positions for market ${s.marketId} (condition ${s.conditionId})`})}.call(null)}var zd=z$1.object({positionId:PositionIdSchema,conditionId:z$1.never().optional(),marketId:z$1.never().optional(),metadata:V.optional()});async function jd(e,r){an("Position-ID redemption");let t=m(r,zd),s=Ba(t.positionId),o=ui(await e.rpc.ethCall(di(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(o===0n)throw new a("Position has no balance to redeem");let n=ut(e.environment.contracts.protocolV2Router,s.conditionId,s.outcomeIndex,o);return async function*(){return e.account.walletType===WalletType.EOA?H(yield sn(W(e.environment.chainId,n))):yield*await Z(e,{calls:[n],metadata:t.metadata??`Redeem position ${t.positionId}`})}.call(null)}var dD=Ud;function uD(e,r){return jd(e,r)}var Cx=z$1.union([Dd,_d,zd]);async function bx(e,r){let t=m(r,Cx);return t.positionId!==void 0?jd(e,t):xx(e,t)}var lD=t(o,k,i,s,l,n,d,c,a);function mD(e,r){return bx(e,r).then(j(e.signer))}function rn(e){return {kind:"sendSplitPositionTransaction",request:e}}function tn(e){return {kind:"sendMergePositionsTransaction",request:e}}function sn(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function*Ix(e,r){let[t,...s]=r;invariant(t!==void 0,"Expected at least one redemption call");let o=t;for(let n of s)await H(yield sn(W(e.environment.chainId,o))).wait(),o=n;return H(yield sn(W(e.environment.chainId,o)))}async function pn(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,s=await ya(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[qx(r.marketId)],closed:r.closed,pageSize:1}).firstPage(),[o]=s.items;if(o===void 0)throw new a(`No market found for ${t}`);let n=Cd(o,t);if(n.protocol==="v2")throw new a("Protocol V2 market positions are unavailable on this network.");return {...n,adapterAddress:n.negRisk?e.environment.contracts.negRiskAdapter:e.environment.contracts.conditionalTokens,positionErc1155Address:n.negRisk?e.environment.contracts.negRiskAdapter:e.environment.contracts.conditionalTokens}}function qx(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}async function vx(e,r){if(r.protocol==="ctf"){if(r.negRisk){let i=Br(await e.rpc.ethCall(Fr(r.positionErc1155Address,e.account.wallet,r.outcomeIds)));if(i.length!==2||i[0]===void 0||i[1]===void 0)throw new c("Expected two position balances");if(i[0]===0n&&i[1]===0n)throw new a(`Market positions have no balance to redeem for condition ${r.conditionId}`);return [gi(r.adapterAddress,r.conditionId,[i[0],i[1]])]}return [Ri(r.adapterAddress,e.environment.contracts.collateralToken,r.conditionId)]}let t=Br(await e.rpc.ethCall(Fr(r.positionErc1155Address,e.account.wallet,r.outcomeIds)));if(t.length!==2)throw new c("Expected two position balances");let[s,o]=t;invariant(s!==void 0,"Expected YES position balance"),invariant(o!==void 0,"Expected NO position balance");let n=[];if(s>0n&&n.push(ut(e.environment.contracts.protocolV2Router,r.conditionId,0,s)),o>0n&&n.push(ut(e.environment.contracts.protocolV2Router,r.conditionId,1,o)),n.length===0)throw new a(`Market positions have no balance to redeem for condition ${r.conditionId}`);return n}function Hd(e,r,t){let s=Ox(r);if(s===0n)throw new a(`You have no complementary positions to merge for condition ${e}`);if(t==="max")return s;if(t>s)throw new a(`Requested merge amount ${t} exceeds the maximum mergeable amount ${s} for condition ${e}`);return t}function Ox(e){if(e.length!==2)throw new c("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 kx=z$1.object({address:z$1.string()}),SD=t(e,k,i,d,c,a);async function TD(e,r,t={}){let s=R(t),o=m(r,kx);return e.gamma.get("/public-profile",{schema:PublicProfileSchema,...s,params:C(o,I())}).catch(n=>{if(n instanceof i&&n.status===404)return null;throw n})}var un=class extends MarketSdkError{name="RfqQuoteRejectedError";code;errorId;rfqId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId;}},LD=t(g,un,s,l,d,a),ln=class extends MarketSdkError{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;}},FD=t(g,ln,l,d),mn=class extends MarketSdkError{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;}},BD=t(g,mn,l,d),MD=t(g,d,a);async function UD(e){return Zr(e),e.webSockets.rfqQuoter.connect()}var yn="/v1/builder/rfq/requests",Ux=3e4,Dx=3e4,_x=3e4,zx=500,jx=3e4,Hx=1e3,Wx="0x0000000000000000000000000000000000000000000000000000000000000000",Ve=class extends MarketSdkError{name="RfqRequestRejectedError";status;code;constructor(r,t){super(r,t),this.status=t.status,this.code=t.code;}};function Pn(e){return e instanceof i?new Ve(e.message,{cause:e,code:Jd(e.code),status:e.status}):e}var Nx=new Set(Object.values(RfqRejectionCode));function Jd(e){return e!==void 0&&Nx.has(e)?e:RfqRejectionCode.RequestFailed}function Xd(e){if(!e.hasBuilderApiKey)throw new a("Combo RFQ requests require a Builder API Key in the client configuration, via builderApiKey(...) or remoteBuilderSigning(...).")}var $d=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 s=BigInt(r),o=BigInt(t);return s<o?-1:s>o?1:0})),rs=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[,s="",o=""]=t;if(o.length>6)return r.addIssue({code:"custom",message:"Value must have at most 6 decimal places."}),z$1.NEVER;let n=Kx(s,o);return n<=0n?(r.addIssue({code:"custom",message:"Value must be greater than 0."}),z$1.NEVER):n.toString()});function Kx(e,r){return BigInt(e)*1000000n+BigInt(r.padEnd(6,"0"))}var Gx=z$1.discriminatedUnion("direction",[z$1.object({amount:rs,direction:z$1.literal(OrderSide.BUY),legPositionIds:$d,side:z$1.literal(RfqSide.Yes).optional()}),z$1.object({direction:z$1.literal(OrderSide.SELL),legPositionIds:$d,side:z$1.literal(RfqSide.Yes).optional(),size:rs})]),DD=t(k,Ve,d,c,a);async function _D(e,r){Zr(e);let t=m(r,Gx);Xd(e);let s=kr(e.account),o={direction:t.direction===OrderSide.BUY?RfqDirection.Buy:RfqDirection.Sell,leg_position_ids:t.legPositionIds,maker_address:s.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:s.signatureType,signer_address:s.signer},n=await e.builderGateway.post(yn,{json:o,timeout:Ux,schema:BuilderRfqCreateResponseSchema}).catch(i=>{throw Pn(i)});if("quote"in n){$x(n,o);let i=n.request.direction===RfqDirection.Buy?OrderSide.BUY:OrderSide.SELL,p={blendedPrice:n.quote.blendedPrice,builderCode:n.builderCode,expiresAt:n.expiresAt,makerAmount:n.quote.makerAmount,positionId:n.request.yesPositionId,quoteId:n.quote.quoteId,rfqId:n.rfqId,takerAmount:n.quote.takerAmount,totalRequired:n.quote.totalRequired};if(i===OrderSide.SELL){if(n.quote.netReceive===void 0)throw new c(`SELL quote for RFQ ${n.rfqId} omitted net sell proceeds.`);return {quote:{...p,direction:i,netReceive:n.quote.netReceive},rfqId:n.rfqId}}return {quote:{...p,direction:i},rfqId:n.rfqId}}return Vx(n)}function $x(e,r){let t=e.request,s=[];if(t.rfqId!==e.rfqId&&s.push("rfq_id"),t.direction!==r.direction&&s.push("direction"),t.side!==r.side&&s.push("side"),(t.legPositionIds.length!==r.leg_position_ids.length||t.legPositionIds.some((o,n)=>o!==r.leg_position_ids[n]))&&s.push("leg_position_ids"),(t.requestedSize.unit!==r.requested_size.unit||t.requestedSize.valueE6!==r.requested_size.value_e6)&&s.push("requested_size"),s.length>0)throw new c(`Builder RFQ response did not echo the submitted ${s.join(", ")}.`)}function Vx(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 Ve(e.error?.message??"The combo quote request failed.",{code:Jd(e.error?.code),status:200,...e.error===void 0?{}:{cause:e.error}})}}var Yx=OrderSideSchema,Zx=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:Yx,expiresAt:z$1.number().int().nonnegative(),makerAmount:rs.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:rs.transform(toBaseUnits),totalRequired:z$1.string()}),zD=t(o,k,Ve,s,l,d,c,a);async function jD(e,r){Zr(e);let t=m(r,Zx);Xd(e);let s=lp({chainId:e.environment.chainId,exchange:e.environment.contracts.exchangeV3}),o=Xx(e,t),n=await rC(e,s,o),i={quote_id:t.quoteId,signed_order:n};function p(){return e.builderGateway.post(`${yn}/${encodeURIComponent(t.rfqId)}/accept`,{json:i,timeout:Dx,schema:BuilderRfqStatusResponseSchema})}let f;try{try{f=await p();}catch(A){if(!(A instanceof d||A instanceof c))throw A;f=await p();}}catch(A){let me=Qx(t.rfqId,A);if(me!==void 0)return me;throw Pn(A)}let P=f,E=f.takerOrderHash,b=Date.now()+_x;for(;P.status===RfqStatus.AwaitingMakerConfirmation;){if(Date.now()>=b)throw new l(`Timed out waiting for the acceptance outcome of RFQ ${t.rfqId}.`);await delay(zx),P=await eu(e,{rfqId:t.rfqId});}return P.status===RfqStatus.Failed||P.status===RfqStatus.Expired||P.status===RfqStatus.Canceled?{reason:Jx(P.status,P.error?.code),rfqId:P.rfqId,status:"failed",...P.error===void 0?{}:{error:P.error}}:{rfqId:P.rfqId,status:"executing",...E===void 0?{}:{takerOrderHash:E}}}function Qx(e,r){if(r instanceof i&&r.code===RfqKnownErrorCode.ExpiredRfq)return {error:{code:RfqKnownErrorCode.ExpiredRfq,message:r.message},reason:ComboAcceptFailureReason.AcceptanceWindowExpired,rfqId:e,status:"failed"}}function Jx(e,r){return e===RfqStatus.Expired||r===RfqKnownErrorCode.ExpiredRfq?ComboAcceptFailureReason.AcceptanceWindowExpired:r===RfqKnownErrorCode.MakerDeclined?ComboAcceptFailureReason.MakerDeclined:ComboAcceptFailureReason.ExecutionFailed}function Xx(e,r){let t=kr(e.account);return {builder:r.builderCode,maker:t.maker,makerAmount:r.makerAmount,metadata:Wx,salt:eC().toString(),side:uo(r.direction),signatureType:t.signatureType,signer:t.signer,takerAmount:r.takerAmount,timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:r.positionId}}function eC(){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 rC(e,r,t){let s$1;try{s$1=await e.signer.signTypedData(Lt({domain:r,order:t}));}catch(o$1){throw o$1 instanceof o?o$1:s.fromError(o$1,"Could not sign the combo quote acceptance order.")}return {...t,signature:Ft({domain:r,order:t,signature:s$1})}}var tC=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()}),HD=t(k,Ve,l,d,c,a);async function WD(e,r){Zr(e);let t=m(r,tC),s=t.timeoutMs??jx,o=t.pollingIntervalMs??Hx,n=Date.now()+s;for(;;){let i=await eu(e,{rfqId:t.rfqId});if(i.status===RfqStatus.Filled||i.status===RfqExecutionStatus.Confirmed){if(i.txHash===void 0)throw new c(`RFQ ${i.rfqId} reached ${i.status} without a transaction hash.`);return {rfqId:i.rfqId,status:RfqStatus.Filled,txHash:i.txHash}}if(i.status===RfqStatus.Failed||i.status===RfqStatus.Expired||i.status===RfqStatus.Canceled)return {rfqId:i.rfqId,status:i.status,...i.error===void 0?{}:{error:i.error}};if(Date.now()>=n)throw new l(`Timed out after ${s}ms waiting for RFQ ${t.rfqId} to reach a terminal state.`);await delay(o);}}var sC=z$1.object({rfqId:z$1.string().min(1).transform(toRfqId)}),ND=t(e,k,Ve,d,c,a);function eu(e,r,t={}){let s=R(t);Zr(e);let o=m(r,sC);return e.builderGateway.get(`${yn}/${encodeURIComponent(o.rfqId)}`,{...s,schema:BuilderRfqStatusResponseSchema}).catch(n=>{throw Pn(n)})}function Zr(e){throw e.account.signerType==="SESSION_KEY"?new a("Combos is not supported with Session Keys"):new a("SDK combo RFQ and position-backed V3 orders are not supported.")}var tu=(p=>(p.Volume="volume",p.Volume24Hr="volume_24hr",p.Liquidity="liquidity",p.Competitive="competitive",p.ClosedTime="closed_time",p.StartDate="start_date",p.EndDate="end_date",p))(tu||{}),ru=100,iC=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:w.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(tu).optional()}),u_=t(e,b,k,i,d,c,a);function l_(e,r,t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,iC);return q(p=>{let f=fe(p,n,{maxOffset:ru});return e.gamma.get("/public-search",{schema:PublicSearchResponseSchema,...s,params:C({...i,limitPerType:f.pageSize,page:f.offset},I({excludeTagIds:"exclude_tag_id"}))}).then(P=>({items:aC(P),hasMore:P.pagination?.hasMore??false,limitReached:(P.pagination?.hasMore??false)&&f.offset+1>ru,totalCount:P.pagination?.totalResults??void 0,nextCursor:P.pagination?.hasMore?re({offset:f.offset+1,pageSize:f.pageSize}):void 0}))},o??re({offset:1,pageSize:n}),{events:[],profiles:[],tags:[]})}function aC(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var uC=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:w.max(50).default(20),recurrence:z$1.enum(["daily","weekly","monthly"]).optional(),slug:z$1.array(z$1.string()).optional()}),lC=z$1.object({id:z$1.string(),locale:z$1.string().optional()}),T_=t(e,k,i,d,c,a);function x_(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,uC);return q(p=>{let f=fe(p,n);return e.gamma.get("/series",{schema:ListSeriesResponseSchema,...s,params:C({...i,limit:f.pageSize,offset:f.offset},I())}).then(P=>{let E=P.length>=f.pageSize;return {items:P,hasMore:E,nextCursor:E?re({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}var C_=t(e,k,i,d,c,a);async function b_(e,r,t={}){let s=R(t),o=m(r,lC);return e.gamma.get(`series/${o.id}`,{schema:SeriesSchema,...s,params:C({locale:o.locale},I())})}function gn(e){if(e.kind==="authorization"?e.status===RelayerAuthorizeSessionSignerStatus.FAILED||e.status===RelayerAuthorizeSessionSignerStatus.SUPERSEDED||e.status===RelayerAuthorizeSessionSignerStatus.REPAIR_REQUIRED:e.status===RelayerRevokeSessionSignerStatus.FAILED)throw new n(`Session-key ${e.kind} reached terminal status ${e.status}`)}var W_=t(e,k,i,s,d,c,a);async function iu(e,r={}){let t=R(r);Sn(e);let s=await e.secureClob.get("/v1/user/session-signers",{...t,schema:ActiveSessionSignersResponseSchema});if(!isSameEvmAddress(s.wallet,e.account.wallet))throw new c(`Session-key response wallet ${s.wallet} does not match authenticated wallet ${e.account.wallet}`);return s.signers.map(o=>({address:expectEvmAddress(o.address.toLowerCase()),scopes:o.scopes,validUntil:o.validUntil}))}var EC=[SessionSignerKnownScope.ALL],hC=4315*60*60,au=300*1e3,SC=z$1.object({address:EvmAddressSchema,idempotencyKey:z$1.string().trim().min(1).optional(),scopes:z$1.array(SessionSignerScopeSchema).min(1).default(EC)}).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())})),N_=t(o,k,i,s,l,n,d,c,a);async function K_(e,r){if(Sn(e),!e.hasBuilderApiKey)throw new a("Session-key authorization requires builder API-key authentication.");let t=m(r,SC),s=Math.floor(Date.now()/1e3)+hC,o=await j(e.signer)(Pr(e,[li(e.account.wallet,t.address,BigInt(s))])),n={deadline:o.depositWalletParams.deadline,nonce:o.nonce,scopes:t.scopes,sessionSignerAddress:t.address,signature:o.signature,validUntil:`${s}`,walletAddress:e.account.wallet},i=await e.relayer.post("/v1/session-signers/authorizations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:n,timeout:au,schema:RelayerAuthorizeSessionSignerResponseSchema});gn({kind:"authorization",status:i.status});let p=await new er(e,i).wait();return {sessionKey:await CC(e,{address:t.address,scopes:t.scopes,validUntil:s}),transaction:p}}var TC=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())})),G_=t(o,k,i,s,l,n,d,c,a);async function $_(e,r){if(Sn(e),!e.supportsGasless)throw new a("Session-key revocation requires API-key authentication that supports gasless transactions.");let t=m(r,TC),s=await j(e.signer)(Pr(e,[mi(e.account.wallet,t.address)])),o={deadline:s.depositWalletParams.deadline,nonce:s.nonce,sessionSignerAddress:t.address,signature:s.signature,walletAddress:e.account.wallet},n=await e.relayer.post("/v1/session-signers/revocations",{headers:{"Idempotency-Key":t.idempotencyKey??globalThis.crypto.randomUUID()},json:o,timeout:au,schema:RelayerRevokeSessionSignerResponseSchema});gn({kind:"revocation",status:n.status}),await xC(e,t.address);}async function xC(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){if(!(await iu(e)).some(o=>isSameEvmAddress(o.address,r)))return;await delay(e.environment.relayerPollFrequencyMs);}throw new l(`Timed out waiting for session key ${r} to be revoked`)}async function CC(e,r){for(let t=0;t<e.environment.relayerMaxPolls;t+=1){let s=(await iu(e)).find(o=>isSameEvmAddress(o.address,r.address)&&o.validUntil===r.validUntil&&bC(o.scopes,r.scopes));if(s!==void 0)return s;await delay(e.environment.relayerPollFrequencyMs);}throw new l(`Timed out waiting for session key ${r.address} to become active`)}function bC(e,r){let t=new Set(r);return new Set(e).size===t.size&&e.every(s=>t.has(s))}function Sn(e){throw e.account.walletType!==WalletType.DEPOSIT_WALLET?new a("Session keys can only be managed for a Deposit Wallet."):e.account.signerType!=="OWNER"?new a("Session keys can only be managed by the Deposit Wallet owner."):new a("Session-key management is not supported by this SDK.")}var J_=t(e,k,i,d,c,a);async function X_(e,r={}){let t=R(r);return e.gamma.get("/sports",{...t,schema:ListSportsMetadataResponseSchema})}var e1=t(e,k,i,d,c,a);async function r1(e,r={}){let t=R(r);return e.gamma.get("/sports/market-types",{...t,schema:SportsMarketTypesResponseSchema})}var pu=z$1.string().trim().min(1).max(64).regex(/^[a-zA-Z0-9._:/-]+$/),cu=z$1.string().max(64).regex(/^[a-z0-9]+usd$/,{error:"Use a canonical lowercase USD pair such as btcusd. Slash-separated symbols and USDT pairs are not supported."}),du=(t=>(t.Update="update",t.Subscribe="subscribe",t))(du||{}),vC=z$1.discriminatedUnion("topic",[z$1.strictObject({topic:z$1.literal("prices.crypto"),symbols:z$1.array(cu).min(1),provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()}),z$1.strictObject({topic:z$1.literal("prices.crypto.twap"),symbols:z$1.array(cu).min(1),provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()}),z$1.strictObject({topic:z$1.literal("prices.equity"),symbol:pu,types:z$1.array(z$1.enum(du)).optional(),provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()}),z$1.strictObject({topic:z$1.literal("prices.equity.twap"),symbol:pu,provider:z$1.enum(PriceProvider).optional(),onSubscribed:z$1.custom(e=>typeof e=="function").optional()})]);function uu(e){return m(e,vC)}var m1=t(d,a,i,g),lu=(Q=>(Q.Market="market",Q.User="user",Q.Sports="sports",Q.Crypto="prices.crypto",Q.Twap="prices.crypto.twap",Q.Equity="prices.equity",Q.EquityTwap="prices.equity.twap",Q.Comments="comments",Q.LegacyBinance="prices.crypto.binance",Q.LegacyChainlink="prices.crypto.chainlink",Q.LegacyTwap="prices.crypto.chainlink.twap",Q.LegacyEquity="prices.equity.pyth",Q.PerpsTrades="perps.trades",Q.PerpsBbo="perps.bbo",Q.PerpsBook="perps.book",Q.PerpsCandles="perps.candles",Q.PerpsTickers="perps.tickers",Q.PerpsStatistics="perps.statistics",Q))(lu||{}),kC=z$1.object({topic:z$1.enum(lu)}),wC=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()}),LC=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 f1(e,r){let t=r.map(i=>{switch(m(i,kC),i.topic){case "prices.crypto":case "prices.crypto.twap":case "prices.equity":case "prices.equity.twap":if(!e.isSecureClient())throw new a("This subscription requires a secure client.");return uu(i);case "prices.crypto.chainlink.twap":m(i,wC);break;case "market":m(i,LC);break}return i}),s=await Promise.allSettled(t.map(async i=>FC(e,i))),o=s.flatMap(i=>i.status==="fulfilled"?[i.value]:[]),n=s.find(i=>i.status==="rejected");if(n?.status==="rejected")throw await Promise.allSettled(o.map(i=>i.close())),n.reason;return BC(o)}function FC(e,r){switch(r.topic){case "market":return e.webSockets.clobMarket.subscribe(r);case "sports":return e.webSockets.sports.subscribe(r);case "prices.crypto":case "prices.crypto.twap":case "prices.equity":case "prices.equity.twap":if(!e.isSecureClient())throw new a("This subscription requires a secure client.");return e.webSockets.realtime.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 BC(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(o=>o.close())).then(()=>{})),await r;}let s=AC(...e);return {close:t,[Symbol.asyncIterator](){return s[Symbol.asyncIterator]()}}}var DC=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:w.max(100).default(20)}),_C=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()})]),zC=z$1.object({id:z$1.string(),omitEmpty:z$1.boolean().optional(),status:z$1.enum(["active","closed","all"]).optional()}),jC=z$1.object({slug:z$1.string()}),HC=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()}),WC=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()}),q1=t(e,k,i,d,c,a);function v1(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,DC);return q(p=>{let f=fe(p,n);return e.gamma.get("/tags",{schema:ListTagsResponseSchema,...s,params:C({...i,limit:f.pageSize,offset:f.offset},I())}).then(P=>{let E=P.length>=f.pageSize;return {items:P,hasMore:E,nextCursor:E?re({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}var O1=t(e,k,i,d,c,a);async function A1(e,r,t={}){let s=R(t),o=m(r,_C);return "id"in o?e.gamma.get(`tags/${o.id}`,{schema:TagSchema,...s,params:C({includeTemplate:o.includeTemplate,locale:o.locale},I())}):e.gamma.get(`tags/slug/${o.slug}`,{schema:TagSchema,...s,params:C({locale:o.locale},I())})}var k1=t(e,k,i,d,c,a);async function w1(e,r,t={}){let s=R(t);if("id"in r){let n=m(r,zC);return e.gamma.get(`tags/${n.id}/related-tags`,{schema:ListRelatedTagsResponseSchema,...s,params:C({omitEmpty:n.omitEmpty,status:n.status},I())})}let o=m(r,jC);return e.gamma.get(`tags/slug/${o.slug}/related-tags`,{...s,schema:ListRelatedTagsResponseSchema})}var L1=t(e,k,i,d,c,a);async function F1(e,r,t={}){let s=R(t);if("id"in r){let n=m(r,HC);return e.gamma.get(`tags/${n.id}/related-tags/tags`,{schema:ListRelatedTagResourcesResponseSchema,...s,params:C({locale:n.locale,omitEmpty:n.omitEmpty,status:n.status},I())})}let o=m(r,WC);return e.gamma.get(`tags/slug/${o.slug}/related-tags/tags`,{schema:ListRelatedTagResourcesResponseSchema,...s,params:C({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},I())})}var GC=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:w.max(100).default(20),providerId:z$1.array(z$1.number().int()).optional()}),N1=t(e,k,i,d,c,a);function K1(e,r={},t={}){let s=R(t),{cursor:o,pageSize:n,...i}=m(r,GC);return q(p=>{let f=fe(p,n);return e.gamma.get("/teams",{schema:ListTeamsResponseSchema,...s,params:C({...i,limit:f.pageSize,offset:f.offset},I({providerId:"provider_id"}))}).then(P=>{let E=P.length>=f.pageSize;return {items:P,hasMore:E,nextCursor:E?re({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}var VC=z$1.array(z$1.string().trim()).transform(e=>e.filter(r=>r!=="")).pipe(z$1.array(z$1.string().regex(/^[0-9]+$/).transform(e=>e.replace(/^0+/,"")||"0").refine(e=>e.length<=78,"At most 78 decimal digits after leading zeros are stripped"))).transform(e=>[...new Set(e)]).refine(e=>e.length>0&&e.length<=50,"Provide between 1 and 50 distinct asset IDs"),YC=z$1.array(z$1.string().trim()).transform(e=>e.filter(r=>r!=="")).pipe(z$1.array(z$1.string().regex(/^0x(?:[0-9a-fA-F]{62}|[0-9a-fA-F]{64})$/).transform(e=>e.toLowerCase()))).transform(e=>[...new Set(e)]).refine(e=>e.length>0&&e.length<=10,"Provide between 1 and 10 distinct condition IDs"),ZC=z$1.union([z$1.object({assetIds:VC,conditionIds:z$1.never().optional()}),z$1.object({assetIds:z$1.never().optional(),conditionIds:YC})]),X1=t(k,e,i,d,c,a);async function ez(e,r,t={}){let s=R(t),{assetIds:o,conditionIds:n}=m(r,ZC);return e.data.get("/v2/tokens",{schema:FetchTokenReferencesResponseSchema,...s,params:z({tokenId:o,condition:n})})}var JC=z$1.object({amount:z$1.bigint(),metadata:V.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),uz=t(a);async function XC(e,r){let t=m(r,JC);return async function*(){return e.account.walletType===WalletType.EOA?H(yield eb(W(e.environment.chainId,fs(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await Z(e,{calls:[fs(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var lz=t(o,k,i,s,d,c,a);function mz(e,r){return XC(e,r).then(j(e.signer))}function eb(e){return {kind:"sendErc20TransferTransaction",request:e}}
|
|
2
|
+
export{jb as $,Cs as $a,Zv as $b,UA as $c,bt as $d,iS as $e,ND as $g,NI as A,hI as Aa,mv as Ab,qP as Ad,KL as Ae,wM as Af,pD as Ag,X_ as Ah,Ei as B,SI as Ba,fv as Bb,HO as Bc,Hk as Bd,GL as Be,LM as Bf,Ud as Bg,e1 as Bh,KI as C,TI as Ca,yv as Cb,WO as Cc,Wk as Cd,pg as Ce,FM as Cf,cD as Cg,r1 as Ch,hi as D,xI as Da,Pv as Db,NO as Dc,Nk as Dd,cg as De,AT as Df,xx as Dg,m1 as Dh,GI as E,Rv as Eb,KO as Ec,OP as Ed,ug as Ee,BM as Ef,jd as Eg,f1 as Eh,Si as F,gv as Fb,GO as Fc,Kk as Fd,hg as Fe,MM as Ff,dD as Fg,$I as G,Ev as Gb,$O as Gc,Gk as Gd,Sg as Ge,UM as Gf,uD as Gg,ys as H,hv as Hb,aA as Hc,$k as Hd,AF as He,bx as Hg,q1 as Hh,VI as I,eq as Ia,xv as Ib,pA as Ic,kP as Id,Ut as Ie,QM as If,lD as Ig,v1 as Ih,Ps as J,H as Ja,Cv as Jb,cA as Jc,Vk as Jd,_p as Je,JM as Jf,mD as Jg,O1 as Jh,YI as K,nq as Ka,Mv as Kb,dA as Kc,Yk as Kd,zp as Ke,pU as Kf,SD as Kg,A1 as Kh,ut as L,Ci as La,Uv as Lb,uA as Lc,rw as Ld,jp as Le,cU as Lf,TD as Lg,k1 as Lh,ZI as M,xq as Ma,Dv as Mb,lA as Mc,tw as Md,Dt as Me,dU as Mf,un as Mg,w1 as Mh,Rs as N,hs as Na,_v as Nb,mA as Nc,mw as Nd,Hp as Ne,uU as Nf,LD as Ng,L1 as Nh,Ti as O,Cq as Oa,zv as Ob,fA as Oc,fw as Od,zt as Oe,lU as Of,ln as Og,F1 as Oh,xi as P,bq as Pa,jv as Pb,yA as Pc,yw as Pd,jt as Pe,mU as Pf,FD as Pg,N1 as Ph,te as Q,V as Qa,Hv as Qb,PA as Qc,Pw as Qd,yc as Qe,fU as Qf,mn as Qg,K1 as Qh,se as R,Iq as Ra,Wv as Rb,Rw as Rd,gc as Re,yU as Rf,BD as Rg,X1 as Rh,An as S,qq as Sa,Nv as Sb,gw as Sd,hc as Se,PU as Sf,MD as Sg,ez as Sh,Dn as T,vq as Ta,Gi as Tb,Ew as Td,ah as Te,RU as Tf,UD as Tg,uz as Th,Sb as U,Om as Ua,Kv as Ub,hw as Ud,ph as Ue,gU as Uf,Ve as Ug,XC as Uh,kr as V,Oq as Va,$i as Vb,Lw as Vd,dh as Ve,EU as Vf,DD as Vg,lz as Vh,_n as W,Z as Wa,Gv as Wb,wA as Wc,Fw as Wd,Wc as We,hU as Wf,_D as Wg,mz as Wh,zn as X,Ss as Xa,Vi as Xb,LA as Xc,HP as Xd,$c as Xe,SU as Xf,zD as Xg,Db as Y,Ts as Ya,$v as Yb,FA as Yc,Ws as Yd,Yc as Ye,jD as Yg,_b as Z,Pr as Za,Vv as Zb,BA as Zc,Gw as Zd,Qc as Ze,HD as Zg,zb as _,xs as _a,Yv as _b,MA as _c,$w as _d,nS as _e,WD as _g,m as a,Hb as aa,bs as ab,Qv as ac,DA as ad,Vw as ae,aS as af,eu as ah,Le as b,Wb as ba,Aq as bb,Pt as bc,_A as bd,rR as be,pS as bf,DI as c,Nb as ca,er as cb,Jv as cc,zA as cd,Zw as ce,cS as cf,ct as d,Kn as da,Kq as db,Xv as dc,jA as dd,Lt as de,hS as df,bd as dg,ii as e,Kb as ea,Hm as eb,eO as ec,Ft as ee,cd as ef,YU as eg,ai as f,Gb as fa,Gq as fb,rO as fc,lp as fe,lM as ff,qd as fg,dt as g,$b as ga,Ui as gb,tO as gc,N0 as ge,mM as gf,ZU as gg,pi as h,Vb as ha,$q as hb,sO as hc,K0 as he,fM as hf,Od as hg,ci as i,Yb as ia,Nm as ib,oO as ic,tk as id,uo as ie,yM as if,Ex as ig,di as j,ds as ja,Vq as jb,nO as jc,sk as jd,Po as je,PM as jf,Ad as jg,ui as k,Zb as ka,Di as kb,iO as kc,MR as ke,$S as kf,QU as kg,Fr as l,$n as la,Yq as lb,aO as lc,Ek as ld,Ro as le,RM as lf,JU as lg,tu as lh,Br as m,Qb as ma,Zq as mb,pO as mc,ya as md,UR as me,gM as mf,XU as mg,u_ as mh,_I as n,Jb as na,Qq as nb,cO as nc,hk as nd,go as ne,EM as nf,eD as ng,l_ as nh,fs as o,Xb as oa,Gm as ob,dO as oc,Sk as od,dL as oe,hM as of,rD as og,T_ as oh,li as p,eI as pa,Jq as pb,uO as pc,Tk as pd,uL as pe,SM as pf,kd as pg,x_ as ph,mi as q,rI as qa,Xq as qb,lO as qc,xk as qd,lL as qe,TM as qf,tD as qg,C_ as qh,zI as r,tI as ra,Hi as rb,mO as rc,Ck as rd,mL as re,xM as rf,Ld as rg,b_ as rh,fi as s,sI as sa,av as sb,fO as sc,bk as sd,SL as se,CM as sf,sD as sg,jI as t,oI as ta,ef as tb,yO as tc,Ik as td,TL as te,bM as tf,Bd as tg,W_ as th,yi as u,nI as ua,pv as ub,IO as uc,qk as ud,jL as ue,IM as uf,Sx as ug,iu as uh,HI as v,iI as va,rf as vb,qO as vc,vk as vd,$R as ve,qM as vf,Md as vg,N_ as vh,Pi as w,aI as wa,cv as wb,vO as wc,Ok as wd,HL as we,vM as wf,oD as wg,K_ as wh,WI as x,pI as xa,dv as xb,ry as xc,Ak as xd,WL as xe,OM as xf,nD as xg,G_ as xh,Ri as y,gI as ya,uv as yb,OO as yc,kk as yd,NL as ye,AM as yf,iD as yg,$_ as yh,gi as z,EI as za,lv as zb,AO as zc,jk as zd,VR as ze,kM as zf,aD as zg,J_ as zh};//# sourceMappingURL=chunk-3QTVWIZS.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-3QTVWIZS.js.map
|