@polymarket/client 0.1.0-beta.16 → 0.1.0-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.d.ts +4 -4
- package/dist/actions/index.js +1 -1
- package/dist/chunk-3GYPYD7Z.js +2 -0
- package/dist/chunk-3GYPYD7Z.js.map +1 -0
- package/dist/chunk-G452QGDI.js +2 -0
- package/dist/chunk-G452QGDI.js.map +1 -0
- package/dist/chunk-TYJAXA3Y.js +6 -0
- package/dist/chunk-TYJAXA3Y.js.map +1 -0
- package/dist/ethers-v5.d.ts +1 -1
- package/dist/ethers-v5.js +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/node.js +1 -1
- package/dist/privy.js +1 -1
- package/dist/{sports-DKIjf_Mf.d.ts → sports-CRQtaLzT.d.ts} +1 -1
- package/dist/{types-B0vr72h4.d.ts → types-Dde2p6Ix.d.ts} +75 -33
- package/dist/viem.d.ts +1 -1
- package/dist/viem.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-E2CLUN5M.js +0 -6
- package/dist/chunk-E2CLUN5M.js.map +0 -1
- package/dist/chunk-IBUXKB4V.js +0 -2
- package/dist/chunk-IBUXKB4V.js.map +0 -1
- package/dist/chunk-NTEPEJZK.js +0 -2
- package/dist/chunk-NTEPEJZK.js.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import {PolymarketError}from'@polymarket/types';var Z=/^[$A-Z_a-z][$\w]*$/;function i(e){let r=c(e.issues);return r.length===0?"It was not possible to determine a more specific reason.":["Fix the following issues:",p(r)].join(`
|
|
2
|
+
`)}function u(e,r){let s=c(e.issues);return s.length===0?["Received an incompatible API response.",`Endpoint: ${r.endpoint}`,"This usually means the API response shape changed in a breaking way or the SDK is outdated.","It was not possible to determine a more specific reason."].join(`
|
|
3
|
+
`):["Received an incompatible API response.",`Endpoint: ${r.endpoint}`,"This usually means the API response shape changed in a breaking way or the SDK is outdated.","Fix the following issues:",p(s)].join(`
|
|
4
|
+
`)}function p(e){return e.map(s=>s.path===null?`- ${s.message}`:`- ${s.path}: ${s.message}`).join(`
|
|
5
|
+
`)}function c(e){return d(e).slice(0,99)}function d(e,r=[]){let s=e.flatMap(n=>{let a=[...r,...n.path];return n.code==="invalid_union"?n.errors.flatMap(v=>d(v,a)):[{code:n.code,message:n.message,path:a.length===0?null:P(a)}]});return O(s)}function O(e){let r=new Set,s=[];for(let n of e){let a=`${n.code}:${n.path??""}:${n.message}`;r.has(a)||(r.add(a),s.push(n));}return s.sort(U)}function U(e,r){return e.path===null&&r.path!==null?-1:e.path!==null&&r.path===null?1:(e.path??"").localeCompare(r.path??"")}function P(e){return e.reduce((r,s)=>typeof s=="number"?`${r}[${s.toString()}]`:typeof s!="string"?r:s.includes('"')?`${r}["${s.replaceAll('"','\\"')}"]`:Z.test(s)?r.length===0?s:`${r}.${s}`:`${r}["${s}"]`,"")}var l=class e extends PolymarketError{name="UserInputError";constructor(r,s={}){super(r,s);}static fromZodError(r){return new e(i(r),{cause:r})}},m=class e extends PolymarketError{name="UnexpectedResponseError";constructor(r,s={}){super(r,s);}static fromZodError(r,s){return new e(u(r,s),{cause:r})}},f=class e extends PolymarketError{name="TransportError";constructor(r,s={}){super(r,s);}static fromError(r){return new e(r instanceof Error?r.message:"Request failed",{cause:r})}},T=(t=>(t[t.NormalClosure=1e3]="NormalClosure",t[t.GoingAway=1001]="GoingAway",t[t.ProtocolError=1002]="ProtocolError",t[t.UnsupportedData=1003]="UnsupportedData",t[t.NoStatusReceived=1005]="NoStatusReceived",t[t.AbnormalClosure=1006]="AbnormalClosure",t[t.InvalidFramePayload=1007]="InvalidFramePayload",t[t.PolicyViolation=1008]="PolicyViolation",t[t.MessageTooBig=1009]="MessageTooBig",t[t.InternalError=1011]="InternalError",t[t.ServiceRestart=1012]="ServiceRestart",t[t.TryAgainLater=1013]="TryAgainLater",t))(T||{}),g=class extends PolymarketError{name="ConnectionLostError";code;reason;constructor(r,s){super(r,s),this.code=s.code,this.reason=s.reason;}},E=class extends PolymarketError{name="RequestRejectedError";status;constructor(r,s){super(r,s),this.status=s.status;}},I=class extends PolymarketError{name="RateLimitError"},x=class extends PolymarketError{name="TimeoutError";constructor(r,s={}){super(r,s);}},y=class extends PolymarketError{name="TransactionFailedError";constructor(r,s={}){super(r,s);}},h=class e extends PolymarketError{name="CancelledSigningError";constructor(r,s={}){super(r,s);}static fromError(r){return new e(r.message,{cause:r})}},$=class extends PolymarketError{name="InsufficientLiquidityError";constructor(r,s={}){super(r,s);}},R=class e extends PolymarketError{name="SigningError";constructor(r,s={}){super(r,s);}static fromError(r,s){let n=s??(r instanceof Error?r.message:"Signing failed");return new e(n,{cause:r})}};function V(...e){return {isError(r){return e.some(s=>r instanceof s)}}}export{l as a,m as b,f as c,T as d,g as e,E as f,I as g,x as h,y as i,h as j,$ as k,R as l,V as m};//# sourceMappingURL=chunk-TYJAXA3Y.js.map
|
|
6
|
+
//# sourceMappingURL=chunk-TYJAXA3Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/validation.ts","../src/errors.ts"],"names":["identifierRegex","formatInputZodError","error","issues","flattenIssues","formatIssues","formatResponseZodError","context","issue","flattenIssueBranches","pathPrefix","flattened","path","branch","formatPath","dedupeIssues","seen","deduped","key","compareIssues","left","right","result","segment","UserInputError","_UserInputError","PolymarketError","message","options","UnexpectedResponseError","_UnexpectedResponseError","TransportError","_TransportError","WebSocketKnownCloseCode","ConnectionLostError","RequestRejectedError","RateLimitError","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","InsufficientLiquidityError","SigningError","_SigningError","msg","makeErrorGuard","classes","c"],"mappings":"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","file":"chunk-TYJAXA3Y.js","sourcesContent":["import type { core, ZodError } from 'zod';\n\nconst maxIssuesInMessage = 99;\nconst identifierRegex = /^[$A-Z_a-z][$\\w]*$/;\n\ntype UserInputIssue = {\n code: string;\n message: string;\n path: string | null;\n};\n\nexport type ResponseValidationContext = {\n endpoint: string;\n};\n\n/**\n * Formats a `ZodError` into an SDK-oriented input validation message.\n */\nexport function formatInputZodError(error: ZodError): string {\n const issues = flattenIssues(error.issues);\n\n if (issues.length === 0) {\n return 'It was not possible to determine a more specific reason.';\n }\n\n return ['Fix the following issues:', formatIssues(issues)].join('\\n');\n}\n\n/**\n * Formats a `ZodError` into an SDK-oriented response validation message.\n */\nexport function formatResponseZodError(\n error: ZodError,\n context: ResponseValidationContext,\n): string {\n const issues = flattenIssues(error.issues);\n\n if (issues.length === 0) {\n return [\n 'Received an incompatible API response.',\n `Endpoint: ${context.endpoint}`,\n 'This usually means the API response shape changed in a breaking way or the SDK is outdated.',\n 'It was not possible to determine a more specific reason.',\n ].join('\\n');\n }\n\n return [\n 'Received an incompatible API response.',\n `Endpoint: ${context.endpoint}`,\n 'This usually means the API response shape changed in a breaking way or the SDK is outdated.',\n 'Fix the following issues:',\n formatIssues(issues),\n ].join('\\n');\n}\n\nfunction formatIssues(issues: readonly UserInputIssue[]): string {\n const lines = issues.map((issue) => {\n if (issue.path === null) {\n return `- ${issue.message}`;\n }\n\n return `- ${issue.path}: ${issue.message}`;\n });\n\n return lines.join('\\n');\n}\n\nfunction flattenIssues(issues: readonly core.$ZodIssue[]): UserInputIssue[] {\n return flattenIssueBranches(issues).slice(0, maxIssuesInMessage);\n}\n\nfunction flattenIssueBranches(\n issues: readonly core.$ZodIssue[],\n pathPrefix: readonly PropertyKey[] = [],\n): UserInputIssue[] {\n const flattened = issues.flatMap((issue) => {\n const path = [...pathPrefix, ...issue.path];\n\n if (issue.code === 'invalid_union') {\n return issue.errors.flatMap((branch) =>\n flattenIssueBranches(branch, path),\n );\n }\n\n return [\n {\n code: issue.code,\n message: issue.message,\n path: path.length === 0 ? null : formatPath(path),\n } satisfies UserInputIssue,\n ];\n });\n\n return dedupeIssues(flattened);\n}\n\nfunction dedupeIssues(issues: readonly UserInputIssue[]): UserInputIssue[] {\n const seen = new Set<string>();\n const deduped: UserInputIssue[] = [];\n\n for (const issue of issues) {\n const key = `${issue.code}:${issue.path ?? ''}:${issue.message}`;\n\n if (seen.has(key)) {\n continue;\n }\n\n seen.add(key);\n deduped.push(issue);\n }\n\n return deduped.sort(compareIssues);\n}\n\nfunction compareIssues(left: UserInputIssue, right: UserInputIssue): number {\n if (left.path === null && right.path !== null) {\n return -1;\n }\n\n if (left.path !== null && right.path === null) {\n return 1;\n }\n\n return (left.path ?? '').localeCompare(right.path ?? '');\n}\n\nfunction formatPath(path: readonly PropertyKey[]): string {\n return path.reduce<string>((result, segment) => {\n if (typeof segment === 'number') {\n return `${result}[${segment.toString()}]`;\n }\n\n if (typeof segment !== 'string') {\n return result;\n }\n\n if (segment.includes('\"')) {\n return `${result}[\"${segment.replaceAll('\"', '\\\\\"')}\"]`;\n }\n\n if (!identifierRegex.test(segment)) {\n return `${result}[\"${segment}\"]`;\n }\n\n if (result.length === 0) {\n return segment;\n }\n\n return `${result}.${segment}`;\n }, '');\n}\n","import { PolymarketError } from '@polymarket/types';\nimport type { ZodError } from 'zod';\nimport {\n formatInputZodError,\n formatResponseZodError,\n type ResponseValidationContext,\n} from './validation';\n\n/**\n * Error thrown when an action input fails SDK validation before a request is\n * sent.\n */\nexport class UserInputError extends PolymarketError {\n override name = 'UserInputError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(error: ZodError): UserInputError {\n return new UserInputError(formatInputZodError(error), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when a service response does not match the action's expected\n * response shape.\n */\nexport class UnexpectedResponseError extends PolymarketError {\n override name = 'UnexpectedResponseError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(\n error: ZodError,\n context: ResponseValidationContext,\n ): UnexpectedResponseError {\n return new UnexpectedResponseError(formatResponseZodError(error, context), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when the SDK cannot complete a request because of a network or\n * runtime transport failure.\n */\nexport class TransportError extends PolymarketError {\n override name = 'TransportError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown): TransportError {\n return new TransportError(\n error instanceof Error ? error.message : 'Request failed',\n {\n cause: error,\n },\n );\n }\n}\n\n/**\n * WebSocket close codes defined by RFC 6455 and the IANA WebSocket Close Code\n * Number registry. Codes 4000-4999 are reserved for application use and are\n * intentionally not modeled here.\n */\nexport enum WebSocketKnownCloseCode {\n NormalClosure = 1000,\n GoingAway = 1001,\n ProtocolError = 1002,\n UnsupportedData = 1003,\n /** Synthesized locally when the peer closed without a status code. */\n NoStatusReceived = 1005,\n /** Synthesized locally when the connection dropped without a close frame. */\n AbnormalClosure = 1006,\n InvalidFramePayload = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n InternalError = 1011,\n ServiceRestart = 1012,\n TryAgainLater = 1013,\n}\n\n/**\n * A WebSocket close code. Codes enumerated in\n * {@link WebSocketKnownCloseCode} are defined by RFC 6455; other values, such\n * as application-defined 4000-4999 codes, flow through as plain numbers.\n */\nexport type WebSocketCloseCode = WebSocketKnownCloseCode | (number & {});\n\nexport type ConnectionLostErrorOptions = {\n /** WebSocket close code reported for the lost connection. */\n code: WebSocketCloseCode;\n /** Close reason provided by the peer. Empty when none was sent. */\n reason: string;\n};\n\n/**\n * Error thrown when a live connection ends without the SDK requesting it.\n */\nexport class ConnectionLostError extends PolymarketError {\n override name = 'ConnectionLostError' as const;\n\n readonly code: WebSocketCloseCode;\n readonly reason: string;\n\n constructor(\n message: string,\n options: ErrorOptions & ConnectionLostErrorOptions,\n ) {\n super(message, options);\n this.code = options.code;\n this.reason = options.reason;\n }\n}\n\nexport type RequestRejectedErrorOptions = {\n status: number;\n};\n\n/**\n * Error thrown when a service responds with a non-success status other than\n * rate limiting.\n */\nexport class RequestRejectedError extends PolymarketError {\n override name = 'RequestRejectedError' as const;\n\n readonly status: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n }\n}\n\n/**\n * Error thrown when the service rejects a request because the rate limit has\n * been exceeded.\n */\nexport class RateLimitError extends PolymarketError {\n override name = 'RateLimitError' as const;\n}\n\n/**\n * Error thrown when an async wait operation exceeds its allotted polling time.\n */\nexport class TimeoutError extends PolymarketError {\n override name = 'TimeoutError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when a submitted transaction reaches a terminal failure state.\n */\nexport class TransactionFailedError extends PolymarketError {\n override name = 'TransactionFailedError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the user cancels a required wallet signing action.\n */\nexport class CancelledSigningError extends PolymarketError {\n override name = 'CancelledSigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: Error): CancelledSigningError {\n return new CancelledSigningError(error.message, {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when there is not enough resting market liquidity to satisfy the\n * requested execution semantics.\n */\nexport class InsufficientLiquidityError extends PolymarketError {\n override name = 'InsufficientLiquidityError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the SDK cannot produce a required signature or\n * authentication payload.\n */\nexport class SigningError extends PolymarketError {\n override name = 'SigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown, message?: string): SigningError {\n const msg =\n message ?? (error instanceof Error ? error.message : 'Signing failed');\n return new SigningError(msg, { cause: error });\n }\n}\n\nexport function makeErrorGuard<\n // biome-ignore lint/suspicious/noExplicitAny: constructor rest args require any[]\n TClasses extends ReadonlyArray<new (...args: any[]) => unknown>,\n>(\n ...classes: TClasses\n): { isError(error: unknown): error is InstanceType<TClasses[number]> } {\n return {\n isError(error: unknown): error is InstanceType<TClasses[number]> {\n return classes.some((c) => error instanceof c);\n },\n };\n}\n"]}
|
package/dist/ethers-v5.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers-v5';
|
|
2
|
-
import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-
|
|
2
|
+
import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-Dde2p6Ix.js';
|
|
3
3
|
import '@polymarket/bindings';
|
|
4
4
|
import '@polymarket/types';
|
|
5
5
|
import '@polymarket/bindings/gamma';
|
package/dist/ethers-v5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {j,
|
|
1
|
+
import {l,j,c as c$1,i as i$1}from'./chunk-TYJAXA3Y.js';import {expectEvmAddress,expectEvmSignature,expectTxHash}from'@polymarket/types';import {ethers}from'ethers-v5';function A(n){return {getAddress(){return m(n)},signTypedData(r){return w(n,r)},signMessage(r){return T(n,r)},async sendTransaction(r){return new i(await f(n,r))}}}async function m(n){try{return expectEvmAddress(await n.getAddress())}catch(r){throw l.fromError(r,"Could not resolve signer address")}}async function f(n,r){try{return await n.sendTransaction({chainId:r.chainId,data:r.data,to:r.to,value:r.value?.toString()})}catch(t){c(t);}}async function w(n,r){try{return expectEvmSignature(await n._signTypedData(r.domain,S(r.types),r.message))}catch(t){c(t);}}async function T(n,r){try{return expectEvmSignature(await n.signMessage(ethers.utils.arrayify(r)))}catch(t){c(t);}}function S(n){let r=Object.entries(n).filter(([t])=>t!=="EIP712Domain");return Object.fromEntries(r.map(([t,p])=>[t,p.map(y=>({...y}))]))}function c(n){throw s(n)?new j("User rejected the signing request",{cause:n}):l.fromError(n)}function s(n,r=new Set){if(r.has(n)||n===null||typeof n!="object")return false;r.add(n);let t=n;return t.code===4001||t.code==="ACTION_REJECTED"||s(t.error,r)||s(t.cause,r)}function v(n){return g(n,"CALL_EXCEPTION")}function D(n){return g(n,"TRANSACTION_REPLACED")}function g(n,r){return n instanceof Error&&"code"in n&&n.code===r}var i=class{transactionId=null;#r;#n;constructor(r){this.#n=r,this.#r=expectTxHash(r.hash);}get transactionHash(){return this.#r}async wait(){try{let r=await this.#n.wait(),t=expectTxHash(r.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}catch(r){if(D(r)){if(r.cancelled)throw c$1.fromError(r);let t=expectTxHash(r.receipt.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}throw v(r)?new i$1(`Transaction ${this.#r} reverted`,{cause:r}):c$1.fromError(r)}}};export{A as signerFrom};//# sourceMappingURL=ethers-v5.js.map
|
|
2
2
|
//# sourceMappingURL=ethers-v5.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -11,11 +11,11 @@ export * from '@polymarket/bindings/perps';
|
|
|
11
11
|
export { PerpsCancelOrderResult, PerpsDepositStatus, PerpsInstrumentCategory, PerpsInstrumentType, PerpsInternalTransferDirection, PerpsKlineInterval, PerpsOrderStatus, PerpsPostOrderAck, PerpsSide, PerpsTimeInForce, PerpsUpdateLeverageResult, PerpsWithdrawalStatus } from '@polymarket/bindings/perps';
|
|
12
12
|
export * from '@polymarket/bindings/relayer';
|
|
13
13
|
import { EvmAddress } from '@polymarket/types';
|
|
14
|
-
import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-
|
|
15
|
-
export { c as AccountIdentity, d as AnalyticsActions, e as ApproveErc1155ForAllError, f as ApproveErc20Error, B as BaseClient, g as BasePublicClient, h as BaseSecureClient, i as BeginAuthenticationRequest, C as CancelAllError, j as CancelAllPerpsOrdersRequest, k as CancelMarketOrdersError, l as CancelOrderError, m as CancelOrdersError, n as CancelPerpsOrderRequest, o as CancelPerpsOrdersRequest, p as CancelledSigningError, q as Client, r as ClientActions, s as ClientDecorator, t as ClobEndpoints, u as ComboPositionSort, v as
|
|
16
|
-
export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-
|
|
14
|
+
import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-Dde2p6Ix.js';
|
|
15
|
+
export { c as AccountIdentity, d as AnalyticsActions, e as ApproveErc1155ForAllError, f as ApproveErc20Error, B as BaseClient, g as BasePublicClient, h as BaseSecureClient, i as BeginAuthenticationRequest, C as CancelAllError, j as CancelAllPerpsOrdersRequest, k as CancelMarketOrdersError, l as CancelOrderError, m as CancelOrdersError, n as CancelPerpsOrderRequest, o as CancelPerpsOrdersRequest, p as CancelledSigningError, q as Client, r as ClientActions, s as ClientDecorator, t as ClobEndpoints, u as ComboPositionSort, v as ConnectionLostError, w as ConnectionLostErrorOptions, x as CreatePerpsSessionRequest, y as CreateSecureClientError, D as DataActions, z as DepositToPerpsError, E as DepositToPerpsRequest, F as DiscoveryActions, G as DownloadAccountingSnapshotError, H as DropNotificationsError, I as EnvironmentConfig, J as EnvironmentConfigFork, K as EnvironmentContracts, L as EstimateMarketPriceError, M as FetchClosedOnlyModeError, N as FetchCommentsByIdError, O as FetchEventError, P as FetchEventLiveVolumeError, Q as FetchEventTagsError, R as FetchLastTradePriceError, V as FetchLastTradePricesError, W as FetchMarketError, X as FetchMarketTagsError, Y as FetchMidpointError, Z as FetchMidpointsError, _ as FetchNotificationsError, $ as FetchOrderBookError, a0 as FetchOrderBooksError, a1 as FetchOrderError, a2 as FetchOrderScoringError, a3 as FetchOrdersScoringError, a4 as FetchPerpsAccountConfigRequest, a5 as FetchPerpsBookError, a6 as FetchPerpsBookRequest, a7 as FetchPerpsFeesError, a8 as FetchPerpsInstrumentsError, a9 as FetchPerpsInstrumentsRequest, aa as FetchPerpsOpenOrdersRequest, ab as FetchPerpsOrdersRequest, ac as FetchPerpsTickerError, ad as FetchPerpsTickerRequest, ae as FetchPerpsTickersError, af as FetchPerpsTickersRequest, ag as FetchPortfolioValueError, ah as FetchPriceError, ai as FetchPriceHistoryError, aj as FetchPricesError, ak as FetchPublicProfileError, al as FetchRelatedTagResourcesError, am as FetchRelatedTagsError, an as FetchRewardPercentagesError, ao as FetchSeriesError, ap as FetchSpreadError, aq as FetchSpreadsError, ar as FetchTagError, as as FetchTotalEarningsForUserForDayError, at as FetchTradedMarketCountError, au as InsufficientLiquidityError, av as ListAccountTradesError, aw as ListActivityError, ax as ListBuilderLeaderboardError, ay as ListBuilderTradesError, az as ListBuilderVolumeError, aA as ListClosedPositionsError, aB as ListComboActivityError, aC as ListComboMarketsError, aD as ListComboPositionsError, aE as ListCommentsByUserAddressError, aF as ListCommentsError, aG as ListCurrentRewardsError, aH as ListEventsError, aI as ListMarketHoldersError, aJ as ListMarketPositionsError, aK as ListMarketRewardsError, aL as ListMarketsError, aM as ListOpenInterestError, aN as ListOpenOrdersError, aO as ListPerpsCandlesError, aP as ListPerpsCandlesRequest, aQ as ListPerpsDepositsRequest, aR as ListPerpsEquityHistoryRequest, aS as ListPerpsFillsRequest, aT as ListPerpsFundingHistoryError, aU as ListPerpsFundingHistoryRequest, aV as ListPerpsFundingPaymentsRequest, aW as ListPerpsPnlHistoryRequest, aX as ListPerpsTradesError, aY as ListPerpsTradesRequest, aZ as ListPerpsWithdrawalsRequest, a_ as ListPositionsError, a$ as ListSeriesError, b0 as ListTagsError, b1 as ListTeamsError, b2 as ListTraderLeaderboardError, b3 as ListTradesError, b4 as ListUserEarningsAndMarketsConfigError, b5 as ListUserEarningsForDayError, b6 as MergePositionsError, b7 as OpenPerpsSessionError, b8 as OpenPerpsSessionRequest, b9 as OpenRfqSessionError, ba as Page, bb as PageSizeSchema, bc as Paginated, bd as PerpsActions, be as PerpsBookDepth, bf as PerpsEndpoints, bg as PerpsOrderRequest, bh as PerpsPlaceFokOrderRequest, bi as PerpsPlaceGtcOrderRequest, bj as PerpsPlaceIocOrderRequest, bk as PerpsPlacedTpSlOrder, bl as PerpsPlacedTpSlOrders, bm as PerpsPositionTpSlTrigger, bn as PerpsSession, bo as PerpsSessionAccountError, bp as PerpsSessionLifecycleError, bq as PerpsSessionTradingError, br as PerpsTpSlTrigger, bs as PlacePerpsOrderRequest, bt as PlacePerpsOrderResult, bu as PlacePerpsOrderWithTpSlRequest, bv as PlacePerpsOrderWithTpSlResult, bw as PlacePerpsPositionTpSlRequest, bx as PlacePerpsPositionTpSlResult, by as PostOrderError, bz as PostOrdersError, bA as PostPerpsOrdersRequest, bB as PublicAccountActions, bC as PublicActions, bD as PublicClient, bE as PublicClientOptions, bF as PublicPerpsActions, bG as PublicRewardsActions, bH as PublicSubscriptionsActions, bI as RateLimitError, bJ as RedeemPositionsError, bK as RequestRejectedError, bL as RequestRejectedErrorOptions, bM as RestEndpoint, bN as ResumePerpsSessionRequest, bO as RevokePerpsCredentialsError, bP as RevokePerpsCredentialsRequest, bQ as RfqCancelQuoteAck, bR as RfqCancelQuoteError, bS as RfqCancelQuoteRejectedError, bT as RfqCancelQuoteRejectedErrorOptions, bU as RfqConfirmationAck, bV as RfqConfirmationError, bW as RfqConfirmationRejectedError, bX as RfqConfirmationRequestEvent, bY as RfqEndpoints, bZ as RfqEvent, b_ as RfqQuoteError, b$ as RfqQuoteReference, c0 as RfqQuoteRejectedError, c1 as RfqQuoteRejectedErrorOptions, c2 as RfqQuoteRequestEvent, c3 as RfqQuoteResponse, c4 as RfqQuoteSource, c5 as RfqSession, c6 as RfqTradeEvent, c7 as SearchError, c8 as SearchSort, c9 as SecureAccountActions, ca as SecureActions, cb as SecureClient, cc as SecureClientOptions, cd as SecureDownloadAccountingSnapshotRequest, ce as SecureFetchPortfolioValueRequest, cf as SecureFetchTradedMarketCountRequest, cg as SecureListActivityRequest, ch as SecureListClosedPositionsRequest, ci as SecureListComboActivityRequest, cj as SecureListComboPositionsRequest, ck as SecureListPositionsRequest, cl as SecurePerpsActions, cm as SecureRewardsActions, cn as SecureRfqActions, co as SecureSubscriptionsActions, cp as SecureTradingActions, cq as SecureWalletActions, cr as SetupGaslessWalletError, cs as SetupTradingApprovalsError, S as Signer, ct as SignerTransactionRequest, cu as SigningError, cv as SplitPositionError, cw as TimeoutError, cx as TransactionFailedError, cy as TransactionHandle, cz as TransactionOutcome, cA as TransferErc20Error, cB as TransportError, a as TypedData, cC as TypedDataDomain, cD as TypedDataField, T as TypedDataPayload, cE as UnexpectedResponseError, cF as UpdatePerpsLeverageError, cG as UpdatePerpsLeverageRequest, cH as WaitForTransactionError, cI as WalletDerivationConfig, cJ as WebSocketCloseCode, cK as WebSocketEndpoint, cL as WebSocketKnownCloseCode, cM as WithdrawFromPerpsError, cN as WithdrawFromPerpsRequest, cO as accountActions, cP as allActions, cQ as analyticsActions, cR as createPublicClient, cS as createSecureClient, cT as dataActions, cU as discoveryActions, cV as forkEnvironmentConfig, cW as makeErrorGuard, cX as perpsActions, cY as production, cZ as rewardsActions, c_ as rfqActions, c$ as subscriptionsActions, d0 as tradingActions, d1 as walletActions } from './types-Dde2p6Ix.js';
|
|
16
|
+
export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-CRQtaLzT.js';
|
|
17
17
|
export { PerpsSessionEvent } from '@polymarket/bindings/subscriptions';
|
|
18
|
-
export { RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqQuoteId, RfqQuoteRequest, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqTrade } from '@polymarket/bindings/rfq';
|
|
18
|
+
export { RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqKnownErrorCode, RfqQuoteId, RfqQuoteRequest, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqTrade } from '@polymarket/bindings/rfq';
|
|
19
19
|
import 'zod';
|
|
20
20
|
import 'ox';
|
|
21
21
|
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {N,X,V,T,ra,pa,be as be$1,$d,Zd,Xd,Vd,Td,lc,jc,hc,jb,na,xc,zc,Lc,Pb,Nb,Lb,Jb,Hb,Fb,Db,Bb,zb,nb,lb,fc,Zb,Xb,Vb,Le,tf,if as _if,gf,af,rf,pf,nf,lf,nc as nc$1,ef,cf,vc,tc,rc,pc,dc,bc,$b,Qd,Nd,Md,Pd,la,ja,ha,fa,da,ba,Te,jf,R as R$1,P as P$1,Jc,Hc,Fc,Dc,Qc,Pc,hd,fd,dd,bd,Je,Ee,ve as ve$1,xf,Pa,La,Ta,va,Aa,K,L as L$1,Da,Ed,Cd,Ad,wd,ud,sd,Gd,yd,Bc,Tb,Rb,H,id,G,wa,I as I$1,$a,Za,od,md,nd,kd,ld,jd,bb,qd,Me,Oe,Qe,J,Rc,Sc}from'./chunk-IBUXKB4V.js';export{Oa as ApproveErc1155ForAllError,Ka as ApproveErc20Error,Gc as CancelAllError,Ic as CancelMarketOrdersError,Cc as CancelOrderError,Ec as CancelOrdersError,C as CombinatorialPrepareConditionCallError,sa as ComboActivityType,ce as ComboPositionOutcome,Rd as ComboPositionSort,de as ComboPositionStatus,ed as CreateLimitOrderError,ad as CreateMarketOrderError,q as CtfRedeemPositionsCallError,Kd as DepositToPerpsError,ae as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Kc as EstimateMarketPriceError,M as FetchClosedOnlyModeError,Wb as FetchCommentsByIdError,ac as FetchEventError,ec as FetchEventLiveVolumeError,cc as FetchEventTagsError,Kb as FetchLastTradePriceError,Mb as FetchLastTradePricesError,sc as FetchMarketError,uc as FetchMarketTagsError,kb as FetchMidpointError,mb as FetchMidpointsError,U as FetchNotificationsError,Cb as FetchOrderBookError,Eb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,xd as FetchPerpsBookError,Fd as FetchPerpsFeesError,rd as FetchPerpsInstrumentsError,td as FetchPerpsTickerError,vd as FetchPerpsTickersError,Yd as FetchPortfolioValueError,yb as FetchPriceError,Ob as FetchPriceHistoryError,Ab as FetchPricesError,Ke as FetchPublicProfileError,qf as FetchRelatedTagResourcesError,of as FetchRelatedTagsError,ka as FetchRewardPercentagesError,df as FetchSeriesError,hf as FetchSportsMarketTypesError,Gb as FetchSpreadError,Ib as FetchSpreadsError,mf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,_d as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,gc as ListBuilderLeaderboardError,ib as ListBuilderTradesError,ic as ListBuilderVolumeError,Ud as ListClosedPositionsError,qa as ListComboActivityError,qc as ListComboMarketsError,Wd as ListComboPositionsError,Yb as ListCommentsByUserAddressError,Ub as ListCommentsError,Qb as ListCurrentRewardsError,_b as ListEventsError,wc as ListMarketHoldersError,Ac as ListMarketPositionsError,Sb as ListMarketRewardsError,oc as ListMarketsError,yc as ListOpenInterestError,O as ListOpenOrdersError,zd as ListPerpsCandlesError,Bd as ListPerpsFundingHistoryError,Dd as ListPerpsTradesError,Sd as ListPositionsError,bf as ListSeriesError,ff as ListSportsError,kf as ListTagsError,sf as ListTeamsError,kc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,ze as MergePositionsError,y as MergeV2CallError,Hd as OpenPerpsSessionError,Se as OpenRfqSessionError,o as PerpsDepositCallError,gd as PlaceLimitOrderError,cd as PlaceMarketOrderError,Nc as PostOrderError,Oc as PostOrdersError,Ie as RedeemPositionsError,A as RedeemV2CallError,Id as RevokePerpsCredentialsError,Pe as RfqCancelQuoteError,Oe as RfqCancelQuoteRejectedError,Ue as RfqConfirmationDecision,Re as RfqConfirmationError,Qe as RfqConfirmationRejectedError,Ve as RfqDirection,We as RfqErrorCode,Xe as RfqExecutionStatus,Ne as RfqQuoteError,Me as RfqQuoteRejectedError,Ye as RfqRequestedSizeUnit,Ze as RfqSide,$e as SearchError,_e as SearchSort,Sa as SetupTradingApprovalsError,r as SplitPositionCallError,qe as SplitPositionError,w as SplitV2CallError,wf as TransferErc20Error,pd as UpdatePerpsLeverageError,ta as WaitForTransactionError,Ld as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,ua as expectTransactionHandle,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-IBUXKB4V.js';import {a,k,h as h$1,e,d,j,f,g as g$1,c,b as b$1}from'./chunk-E2CLUN5M.js';export{h as CancelledSigningError,i as InsufficientLiquidityError,e as RateLimitError,d as RequestRejectedError,j as SigningError,f as TimeoutError,g as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,k as makeErrorGuard}from'./chunk-E2CLUN5M.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsOrderStatus,PerpsSide,PerpsTimeInForce,PerpsWithdrawalStatus}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqKnownInboundMessageSchema,RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/rfq';var hi=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function yi(t){return new se(t)}function Si(t){return new ne(t)}var se=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#s(e)}catch(r){throw j.fromError(r,"Could not authorize the builder-authenticated request")}}async#r(){let e=this.#e.headers,r=typeof e=="function"?await e():e,s=new Headers(r);return s.set("content-type","application/json"),s}async#s(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#r(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return hi.parse(await r.json())}},ne=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function vr(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function bi(t){return {listPositions:Td.bind(null,t),listClosedPositions:Vd.bind(null,t),listComboPositions:Xd.bind(null,t),fetchPortfolioValue:Zd.bind(null,t),fetchTradedMarketCount:$d.bind(null,t),downloadAccountingSnapshot:be$1.bind(null,t),listMarketPositions:Bc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function h(t,e={}){return {...e,user:e.user??t.account.wallet}}function ie(t){let e=bi(t);return t.isPublicClient()?e:{...e,listPositions:r=>Td(t,h(t,r)),listClosedPositions:r=>Vd(t,h(t,r)),listComboPositions:r=>Xd(t,h(t,r)),fetchPortfolioValue:r=>Zd(t,h(t,r)),fetchTradedMarketCount:r=>$d(t,h(t,r)),downloadAccountingSnapshot:r=>be$1(t,h(t,r)),listActivity:r=>pa(t,h(t,r)),listComboActivity:r=>ra(t,h(t,r)),listAccountTrades:T.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function oe(t){return {listBuilderTrades:jb.bind(null,t),listBuilderLeaderboard:hc.bind(null,t),fetchBuilderVolume:jc.bind(null,t),listTraderLeaderboard:lc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:fc.bind(null,t),fetchMidpoint:lb.bind(null,t),fetchMidpoints:nb.bind(null,t),fetchPrice:zb.bind(null,t),fetchPrices:Bb.bind(null,t),fetchOrderBook:Db.bind(null,t),fetchOrderBooks:Fb.bind(null,t),fetchSpread:Hb.bind(null,t),fetchSpreads:Jb.bind(null,t),fetchLastTradePrice:Lb.bind(null,t),fetchLastTradePrices:Nb.bind(null,t),fetchPriceHistory:Pb.bind(null,t),estimateMarketPrice:Lc.bind(null,t),listOpenInterest:zc.bind(null,t),listMarketHolders:xc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:$b.bind(null,t),fetchEvent:bc.bind(null,t),fetchEventTags:dc.bind(null,t),listMarkets:pc.bind(null,t),listComboMarkets:rc.bind(null,t),fetchMarket:tc.bind(null,t),fetchMarketTags:vc.bind(null,t),listSeries:cf.bind(null,t),fetchSeries:ef.bind(null,t),listMarketClarifications:nc$1.bind(null,t),listTags:lf.bind(null,t),fetchTag:nf.bind(null,t),fetchRelatedTags:pf.bind(null,t),fetchRelatedTagResources:rf.bind(null,t),search:af.bind(null,t),listSports:gf.bind(null,t),fetchSportsMarketTypes:_if.bind(null,t),listTeams:tf.bind(null,t),fetchPublicProfile:Le.bind(null,t),listComments:Vb.bind(null,t),fetchCommentsById:Xb.bind(null,t),listCommentsByUserAddress:Zb.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>yd(t,r),fetchPerpsFees:()=>Gd(t),fetchPerpsInstruments:r=>sd(t,r),fetchPerpsTicker:r=>ud(t,r),fetchPerpsTickers:r=>wd(t,r),listPerpsCandles:r=>Ad(t,r),listPerpsFundingHistory:r=>Cd(t,r),listPerpsTrades:r=>Ed(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>Pd(t,r),openPerpsSession:r=>Md(t,r),revokePerpsCredentials:r=>Nd(t,r),withdrawFromPerps:r=>Qd(t,r)}:e}function Pi(t){return {listCurrentRewards:Rb.bind(null,t),listMarketRewards:Tb.bind(null,t)}}function de(t){let e=Pi(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ba.bind(null,t),fetchOrdersScoring:da.bind(null,t),listUserEarningsForDay:fa.bind(null,t),fetchTotalEarningsForUserForDay:ha.bind(null,t),listUserEarningsAndMarketsConfig:ja.bind(null,t),fetchRewardPercentages:la.bind(null,t)}}function Ar(t){return {openRfqSession(){return Te(t)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return jf(t,e)}}:{subscribe(e){return jf(t,e)}}}function Cr(t){return {createMarketOrder:bd.bind(null,t),placeMarketOrder:dd.bind(null,t),createLimitOrder:fd.bind(null,t),placeLimitOrder:hd.bind(null,t),postOrder:Pc(t),postOrders:Qc(t),cancelOrder:Dc.bind(null,t),cancelOrders:Fc.bind(null,t),cancelAll:Hc.bind(null,t),cancelMarketOrders:Jc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Er(t){return {isGaslessReady:()=>Promise.resolve(true),setupTradingApprovals:Ta.bind(null,t),approveErc20:La.bind(null,t),approveErc1155ForAll:Pa.bind(null,t),transferErc20:xf.bind(null,t),splitPosition:ve$1.bind(null,t),mergePositions:Ee.bind(null,t),redeemPositions:Je.bind(null,t)}}function kr(t){return t.isSecureClient()?{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...Ar(t),...pe(t),...Cr(t),...Er(t)}:{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t)}}var le={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},contracts:{collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),exchangeV3:expectEvmAddress("0xe3333700cA9d93003F00f0F71f8515005F6c00Aa"),protocolV2Router:expectEvmAddress("0x12121212006e4CD160D18e3f00711DA5c3372600"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},rfq:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq"},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function Ri(t,e=le){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...I(e.clob,t.clob),market:O(e.clob.market,t.clob?.market),user:O(e.clob.user,t.clob?.user)},relayer:I(e.relayer,t.relayer),gamma:I(e.gamma,t.gamma),data:I(e.data,t.data),rfq:Tr(e.rfq,t.rfq),perps:Tr(e.perps,t.perps),rtds:O(e.rtds,t.rtds),sports:O(e.sports,t.sports)}}function I(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function O(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function Tr(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function me(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var nc=Ri({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function wr(t,e,r,s,n){let i=`${e}${r}${s}`;n!==void 0&&(i+=n);let o=await globalThis.crypto.subtle.importKey("raw",gi(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return vi(qi(A))}function gi(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let n=0;n<r.length;n+=1)s[n]=r.charCodeAt(n);return s.buffer}function qi(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function vi(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function m(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var p=class{#e=new Set;#r;constructor(e){this.#r=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let n={subscription:e,subscriber:s};return {change:this.#s(n),entry:n}}#s(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#r(this.#e)}};function fe(t,e,r){let s=F(r.assetsIds,e.assetsIds),n=F(e.assetsIds,r.assetsIds);s.length>0&&t(xr(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(xr([i],r.customFeatureEnabled)),n.length>0&&t(Ci(n));}function he(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Ir(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Mr(r.markets));return}let s=F(r.markets,e.markets),n=F(e.markets,r.markets);s.length>0&&t(Mr(s)),n.length>0&&t(Ir(n));}function Or(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let n of s.tokenIds)e.add(n);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Fr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Ur(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Lr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function xr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Ci(t){return {assets_ids:t,operation:"unsubscribe"}}function Dr(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function Mr(t){return {markets:t,operation:"subscribe"}}function Ir(t){return {markets:t,operation:"unsubscribe"}}function Br(t){return e=>{switch(e.type){case "price_change":return e.payload.priceChanges.some(r=>t.tokenIds.includes(r.tokenId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(e.payload.tokenIds??[]).some(r=>t.tokenIds.includes(r));case "best_bid_ask":return t.customFeatureEnabled===true&&t.tokenIds.includes(e.payload.tokenId);default:return t.tokenIds.includes(e.payload.tokenId)}}}function Wr(t){if(Ur(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Ur(t){return (t.markets?.length??0)===0}function F(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#r;#s;#o=new od({heartbeat:new jd});#i=new nd;#t=new p({deriveServerState:Or});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Br(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){let{before:s,after:n}=r;try{(await this.#u()).reusedOpenSocket&&fe(o=>this.#o.send(o),s,n);}catch(i){throw await this.#a(e),i}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#o.send(n),r,s);}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=MarketEventSchema.safeParse(s);n.success&&this.#t.dispatch(n.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#f(){}#h(){this.#o.send(Lr(this.#t.serverState()));}#m(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var P=class{#e;#r;#s;#o;#i=new od({heartbeat:new jd});#t=new nd;#n=new p({deriveServerState:Fr});constructor(e){this.#e=e.credentials,this.#r=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Wr(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:n}=r;try{(await this.#c()).reusedOpenSocket&&he(o=>this.#i.send(o),s,n);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}he(n=>this.#i.send(n),r,s);}async close(){this.#o===void 0&&(this.#o=this.#u().finally(()=>{this.#o=void 0;})),await this.#o;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onClose:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#r,url:this.#s})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=UserEventSchema.safeParse(s);n.success&&this.#n.dispatch(n.data);}}#f(){this.#n.hasActiveSubscriptions()&&this.#y();}#h(){}#m(e){this.#i.send(Dr(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var R=class{#e;#r;#s;#o;#i=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#r=e.headers,this.#s=e.restUrl,this.#o=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new qd({chainId:this.#e,credentials:e,headers:this.#r,onClose:n=>this.#d(n),restUrl:this.#s,wsUrl:this.#o});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#i.add(r),r}catch(n){throw await r.close(),n}finally{this.#n.delete(s),this.#t.delete(r);}})(),this.#n.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#i),r=Array.from(this.#t),s=Array.from(this.#n);this.#i.clear(),this.#t.clear(),this.#n.clear(),await Promise.allSettled([...e.map(n=>n.close()),...r.map(n=>n.close()),...s.map(n=>n.catch(()=>{}))]).then(()=>{});}#d(e){this.#i.delete(e),this.#t.delete(e);}};var b=class{#e;#r;#s;#o=1;#i=new od({heartbeat:new md});#t=new nd;#n=new p({deriveServerState:wi});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Mi(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#m(Qr(r.before,r.after)),this.#y(Hr(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#n.remove(e);this.#m(Qr(r,s)),this.#y(Hr(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#u().finally(()=>{this.#s=void 0;})),await this.#s;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onClose:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#r})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#n.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#f(){this.#n.hasActiveSubscriptions()&&this.#b();}#h(){}#m(e){e.length!==0&&this.#i.send(this.#S("sub",e));}#y(e){e.length!==0&&this.#i.send(this.#S("unsub",e));}#S(e,r){return {id:this.#o++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function wi(t){let e=new Set,r=new Set,s=new Set,n=false,i=false;for(let{subscription:o}of t)switch(o.topic){case "perps.tickers":o.instrumentId===void 0?n=true:r.add(o.instrumentId);break;case "perps.statistics":o.instrumentId===void 0?i=true:s.add(o.instrumentId);break;default:e.add(xi(o));}if(n)e.add("tickers::all");else for(let o of r)e.add(`tickers::${o}`);if(i)e.add("statistics::all");else for(let o of s)e.add(`statistics::${o}`);return e}function Qr(t,e){return Array.from(e).filter(r=>!t.has(r))}function Hr(t,e){return Array.from(t).filter(r=>!e.has(r))}function xi(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Mi(t){switch(t.topic){case "perps.trades":case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Vr(t,e){return {...e,quote:r=>t.quote(e,r)}}function jr(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function zr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function $r(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Nr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Gr(t,e){let r=J(t);return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},identity:{maker_address:r.maker,signature_type:r.signatureType,signer_address:r.signer},type:"auth"}}function Yr(t,e){return {price_e6:e.price.toString(),rfq_id:t.rfqId,signed_order:e.signedOrder,size_e6:e.size.toString(),type:"RFQ_QUOTE"}}function Jr(t,e,r){let s=J(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function Zr(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var L=class{#e=new Map;#r;constructor(e){this.#r=e;}waitFor(e,r){let s=Oi(),n,i=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new f(r));},this.#r);n=s.promise.finally(()=>clearTimeout(i));let o=this.#e.get(e)??[];return o.push({...s,promise:n}),this.#e.set(e,o),n}resolve(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.resolve(r));}reject(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let n=s.filter(i=>i.promise!==r);n.length===0?this.#e.delete(e):this.#e.set(e,n);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function Oi(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var es="0x0000000000000000000000000000000000000000000000000000000000000000";async function rs(t){let e=J(t.account),r={builder:es,maker:e.maker,makerAmount:toBaseUnits(Fi(t.orderSide,t.orderPrice,t.size)),metadata:es,salt:Bi().toString(),side:Di(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(Li(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},s;try{s=await t.signer.signTypedData(Rc({domain:ts(t),order:r}));}catch(n){throw j.fromError(n,"Could not sign the RFQ quote order.")}return {...r,signature:Sc({domain:ts(t),order:r,signature:s})}}function ts(t){return {chainId:t.chainId,exchange:t.exchange,protocolVersion:"3"}}function Fi(t,e,r){return t===OrderSide.SELL?r.toString():((e*r+999999n)/1000000n).toString()}function Li(t,e,r){return t===OrderSide.SELL?(e*r/1000000n).toString():r.toString()}function Di(t){return t===OrderSide.BUY?0:1}function Bi(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var is=DecimalishSchema.transform(t=>cs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),Qi=z.strictObject({price:is.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:is.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function os(t){return G(t,Qi)}async function as(t){let e=t.response.price,r=t.response.size===void 0?Vi(t.request.requestedSize,e):t.response.size,s=await rs({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:_i(t.request,t.response.source,e),orderSide:Ki(t.response.source),signer:t.signer,size:r,tokenId:Hi(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Hi(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function _i(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function Ki(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function Vi(t,e){let r=cs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function cs(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let n=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(n<=0n)throw new a("Value must be greater than 0.");return n}var Gi=3e4,Yi=3e4,g=class{#e;#r;#s;#o;#i;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.signer,this.#n=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Re({account:this.#e,chainId:this.#r,credentials:this.#s,exchange:this.#o,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Re=class{#e;#r;#s;#o;#i;#t;#n;#a;#d=new od;#u=pushable({objectMode:true});#c=new L(Yi);#p;#l;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.onClose,this.#n=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Ji();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},Gi);try{await this.#d.connect({headers:this.#i,onClose:()=>this.#g(),onError:()=>{},onMessage:s=>this.#P(s),onOpen:()=>this.#b(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#f(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#h()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#h(){let e=new c("RFQ quoter websocket closed.");await this.#y(e);}async#m(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}#S(e){this.#l?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(Gr(this.#e,this.#s));}#P(e){if(this.#p!==void 0||!RfqKnownInboundMessageSchema.safeParse(e).success)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success){let n=new c("Invalid RFQ quoter message.",{cause:r.error});this.#m(n);return}let s=r.data;switch(s.type){case "auth":this.#R(s);return;case "quote_request":this.#u.push(Vr(this,s));return;case "quote_ack":this.#c.resolve(D(s.rfqId),zr(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),$r(s));return;case "confirmation_request":this.#u.push(jr(this,s));return;case "confirmation_ack":this.#c.resolve(Pe(s.rfqId,s.quoteId),Nr(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#R(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(){this.#t(),this.close();}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(D(e.rfqId),new Me(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new Oe(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Pe(e.rfqId,e.quoteId),new Qe(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=os(r),n=await as({account:this.#e,chainId:this.#r,exchange:this.#o,request:e,response:s,signer:this.#n}),i=this.#c.waitFor(D(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#f(Yr(e,n)),await i}catch(o){throw this.#c.remove(D(e.rfqId),i),o}}async cancelQuote(e){let r=be(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#f(Jr(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=Pe(e,r),i=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#f(Zr(e,r,s)),await i}catch(o){throw this.#c.remove(n,i),o}}};function D(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Pe(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Ji(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var q=class{#e;#r;#s;#o=new od({heartbeat:new kd});#i=new nd;#t=new p({deriveServerState:to});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:io(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:n,after:i}=r,o=Xi(n,i);this.#m(o);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=eo(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#S();}#f(){}#h(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#o.send(ro(e));}#y(e){e.length!==0&&this.#o.send(so(e));}#S(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function Xi(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function eo(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function to(t){let e=new Map;for(let{subscription:r}of t)for(let s of no(r))e.has(s.key)||e.set(s.key,s);return e}function ro(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function so(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function no(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>B("comments",e));case "prices.crypto.binance":return [B("crypto_prices","update")];case "prices.crypto.chainlink":return [B("crypto_prices_chainlink","update")];case "prices.equity.pyth":return [B("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function B(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function io(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var v=class{#e;#r;#s;#o=new od({heartbeat:new ld});#i=new nd;#t=new p;constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#n(r),m(r.subscriber.queue,()=>this.#a(r))}async#n(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onClose:()=>this.#l(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#h();}#f(){}#h(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#r;get context(){return this.#e}get decorators(){return this.#r}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#r=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#r.push(e);}},mo=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),fo=z.object({wallet:EvmAddressSchema,credentials:mo.optional(),nonce:z.number().int().nonnegative().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),U=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new id({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new id({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new id({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new id({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new id({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new id({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=G(e,fo);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),i=s?.nonce??0,o=expectEvmAddress(yield wa()),A=expectEvmAddress(s.wallet),Ae=I$1(this.environment,o,A);if(s.credentials!==void 0){let Ce=this.#e(s.credentials,Ae,r);try{if((await $a(Ce)).includes(s.credentials.key))return Ce}catch(T){if(!(T instanceof d)||T.status!==401)throw T}}let ps=yield {kind:"signAuthMessage",payload:vr({address:o,chainId:this.environment.chainId,nonce:i,timestamp:n})},ls=await Za(this,{address:o,nonce:i,signature:expectEvmSignature(ps),timestamp:n});return this.#e(ls,Ae,r)}.call(this))}#e(e,r,s){let n=new ve({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let i of this.decorators)n.extend(i);return n}},ve=class extends W{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,signer:e.signer,clob:new id({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new id({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new id({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new id({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new id({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new id({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new id({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new P({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new g({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.rfq.headers,signer:e.signer,url:e.environment.rfq.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new R({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return this.context.signer}setupGaslessWallet(){return Promise.resolve(this)}get secureClob(){return this.context.secureClob}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close(),this.webSockets.clobUser.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:n,environment:i}=this.context;try{await bb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let o=new U({apiKey:n,environment:i});for(let A of this.decorators)o.extend(A);return o}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await wr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw j.fromError(r,"Could not sign the L2-authenticated request")}}};function ds(t={}){return new U({environment:t.environment??le,apiKey:t.apiKey}).extend(kr)}var ho=k(h$1,e,d,j,f,g$1,c,b$1,a),yo=k(a);async function So(t){let e=ds({environment:t.environment,apiKey:t.apiKey}),r=await bo(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(va(t.signer));if(s.account.walletType===WalletType.EOA||await Aa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await Po(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function bo(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=K(r,t.environment.walletDerivation);return await Aa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:L$1(r,t.environment.walletDerivation)}async function Po(t){let e=L$1(t.account.signer,t.environment.walletDerivation);if(!isSameEvmAddress(t.account.wallet,e))throw new a(`Wallet ${t.account.wallet} does not match the expected Deposit Wallet ${e} for this signer, nor a deployed wallet address.`);await(await Da(t)).wait();}
|
|
2
|
-
export{
|
|
1
|
+
import {N,X,V,T,ra,pa,be as be$1,$d,Zd,Xd,Vd,Td,lc,jc,hc,jb,na,xc,zc,Lc,Pb,Nb,Lb,Jb,Hb,Fb,Db,Bb,zb,nb,lb,fc,Zb,Xb,Vb,Le,uf,jf,hf,bf,sf,qf,of,mf,nc,ff,df,vc,tc,rc,pc,dc,bc,$b,Qd,Nd,Md,Pd,la,ja,ha,fa,da,ba,Te,kf,R as R$1,P as P$1,Jc,Hc,Fc,Dc,Qc,Pc,hd,fd,dd,bd,Je,Ee,ve,yf,Pa,La,Ta,va,Aa,K,L as L$1,Da,Ed,Cd,Ad,wd,ud,sd,Gd,yd,Bc,Tb,Rb,H,id,G,wa,I as I$1,$a,Za,od,md,nd,kd,ld,jd,bb,qd,Me,Oe,Qe,J,Rc,Sc}from'./chunk-G452QGDI.js';export{Oa as ApproveErc1155ForAllError,Ka as ApproveErc20Error,Gc as CancelAllError,Ic as CancelMarketOrdersError,Cc as CancelOrderError,Ec as CancelOrdersError,C as CombinatorialPrepareConditionCallError,sa as ComboActivityType,ce as ComboPositionOutcome,Rd as ComboPositionSort,de as ComboPositionStatus,ed as CreateLimitOrderError,ad as CreateMarketOrderError,q as CtfRedeemPositionsCallError,Kd as DepositToPerpsError,ae as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Kc as EstimateMarketPriceError,M as FetchClosedOnlyModeError,Wb as FetchCommentsByIdError,ac as FetchEventError,ec as FetchEventLiveVolumeError,cc as FetchEventTagsError,Kb as FetchLastTradePriceError,Mb as FetchLastTradePricesError,sc as FetchMarketError,uc as FetchMarketTagsError,kb as FetchMidpointError,mb as FetchMidpointsError,U as FetchNotificationsError,Cb as FetchOrderBookError,Eb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,xd as FetchPerpsBookError,Fd as FetchPerpsFeesError,rd as FetchPerpsInstrumentsError,td as FetchPerpsTickerError,vd as FetchPerpsTickersError,Yd as FetchPortfolioValueError,yb as FetchPriceError,Ob as FetchPriceHistoryError,Ab as FetchPricesError,Ke as FetchPublicProfileError,rf as FetchRelatedTagResourcesError,pf as FetchRelatedTagsError,ka as FetchRewardPercentagesError,ef as FetchSeriesError,if as FetchSportsMarketTypesError,Gb as FetchSpreadError,Ib as FetchSpreadsError,nf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,_d as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,gc as ListBuilderLeaderboardError,ib as ListBuilderTradesError,ic as ListBuilderVolumeError,Ud as ListClosedPositionsError,qa as ListComboActivityError,qc as ListComboMarketsError,Wd as ListComboPositionsError,Yb as ListCommentsByUserAddressError,Ub as ListCommentsError,Qb as ListCurrentRewardsError,_b as ListEventsError,wc as ListMarketHoldersError,Ac as ListMarketPositionsError,Sb as ListMarketRewardsError,oc as ListMarketsError,yc as ListOpenInterestError,O as ListOpenOrdersError,zd as ListPerpsCandlesError,Bd as ListPerpsFundingHistoryError,Dd as ListPerpsTradesError,Sd as ListPositionsError,cf as ListSeriesError,gf as ListSportsError,lf as ListTagsError,tf as ListTeamsError,kc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,ze as MergePositionsError,y as MergeV2CallError,Hd as OpenPerpsSessionError,Se as OpenRfqSessionError,o as PerpsDepositCallError,gd as PlaceLimitOrderError,cd as PlaceMarketOrderError,Nc as PostOrderError,Oc as PostOrdersError,Ie as RedeemPositionsError,A as RedeemV2CallError,Id as RevokePerpsCredentialsError,Pe as RfqCancelQuoteError,Oe as RfqCancelQuoteRejectedError,Ue as RfqConfirmationDecision,Re as RfqConfirmationError,Qe as RfqConfirmationRejectedError,Ve as RfqDirection,We as RfqErrorCode,Xe as RfqExecutionStatus,Ye as RfqKnownErrorCode,Ne as RfqQuoteError,Me as RfqQuoteRejectedError,Ze as RfqRequestedSizeUnit,_e as RfqSide,af as SearchError,$e as SearchSort,Sa as SetupTradingApprovalsError,r as SplitPositionCallError,qe as SplitPositionError,w as SplitV2CallError,xf as TransferErc20Error,pd as UpdatePerpsLeverageError,ta as WaitForTransactionError,Ld as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,ua as expectTransactionHandle,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-G452QGDI.js';import {a,m as m$1,j,g as g$1,f,l,h as h$1,i,c,b as b$1,e}from'./chunk-TYJAXA3Y.js';export{j as CancelledSigningError,e as ConnectionLostError,k as InsufficientLiquidityError,g as RateLimitError,f as RequestRejectedError,l as SigningError,h as TimeoutError,i as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,m as makeErrorGuard}from'./chunk-TYJAXA3Y.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsOrderStatus,PerpsSide,PerpsTimeInForce,PerpsWithdrawalStatus}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqKnownInboundMessageSchema,RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/rfq';var Si=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function bi(t){return new se(t)}function Pi(t){return new ne(t)}var se=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#s(e)}catch(r){throw l.fromError(r,"Could not authorize the builder-authenticated request")}}async#r(){let e=this.#e.headers,r=typeof e=="function"?await e():e,s=new Headers(r);return s.set("content-type","application/json"),s}async#s(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#r(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return Si.parse(await r.json())}},ne=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function vr(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function Ri(t){return {listPositions:Td.bind(null,t),listClosedPositions:Vd.bind(null,t),listComboPositions:Xd.bind(null,t),fetchPortfolioValue:Zd.bind(null,t),fetchTradedMarketCount:$d.bind(null,t),downloadAccountingSnapshot:be$1.bind(null,t),listMarketPositions:Bc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function h(t,e={}){return {...e,user:e.user??t.account.wallet}}function ie(t){let e=Ri(t);return t.isPublicClient()?e:{...e,listPositions:r=>Td(t,h(t,r)),listClosedPositions:r=>Vd(t,h(t,r)),listComboPositions:r=>Xd(t,h(t,r)),fetchPortfolioValue:r=>Zd(t,h(t,r)),fetchTradedMarketCount:r=>$d(t,h(t,r)),downloadAccountingSnapshot:r=>be$1(t,h(t,r)),listActivity:r=>pa(t,h(t,r)),listComboActivity:r=>ra(t,h(t,r)),listAccountTrades:T.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function oe(t){return {listBuilderTrades:jb.bind(null,t),listBuilderLeaderboard:hc.bind(null,t),fetchBuilderVolume:jc.bind(null,t),listTraderLeaderboard:lc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:fc.bind(null,t),fetchMidpoint:lb.bind(null,t),fetchMidpoints:nb.bind(null,t),fetchPrice:zb.bind(null,t),fetchPrices:Bb.bind(null,t),fetchOrderBook:Db.bind(null,t),fetchOrderBooks:Fb.bind(null,t),fetchSpread:Hb.bind(null,t),fetchSpreads:Jb.bind(null,t),fetchLastTradePrice:Lb.bind(null,t),fetchLastTradePrices:Nb.bind(null,t),fetchPriceHistory:Pb.bind(null,t),estimateMarketPrice:Lc.bind(null,t),listOpenInterest:zc.bind(null,t),listMarketHolders:xc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:$b.bind(null,t),fetchEvent:bc.bind(null,t),fetchEventTags:dc.bind(null,t),listMarkets:pc.bind(null,t),listComboMarkets:rc.bind(null,t),fetchMarket:tc.bind(null,t),fetchMarketTags:vc.bind(null,t),listSeries:df.bind(null,t),fetchSeries:ff.bind(null,t),listMarketClarifications:nc.bind(null,t),listTags:mf.bind(null,t),fetchTag:of.bind(null,t),fetchRelatedTags:qf.bind(null,t),fetchRelatedTagResources:sf.bind(null,t),search:bf.bind(null,t),listSports:hf.bind(null,t),fetchSportsMarketTypes:jf.bind(null,t),listTeams:uf.bind(null,t),fetchPublicProfile:Le.bind(null,t),listComments:Vb.bind(null,t),fetchCommentsById:Xb.bind(null,t),listCommentsByUserAddress:Zb.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>yd(t,r),fetchPerpsFees:()=>Gd(t),fetchPerpsInstruments:r=>sd(t,r),fetchPerpsTicker:r=>ud(t,r),fetchPerpsTickers:r=>wd(t,r),listPerpsCandles:r=>Ad(t,r),listPerpsFundingHistory:r=>Cd(t,r),listPerpsTrades:r=>Ed(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>Pd(t,r),openPerpsSession:r=>Md(t,r),revokePerpsCredentials:r=>Nd(t,r),withdrawFromPerps:r=>Qd(t,r)}:e}function gi(t){return {listCurrentRewards:Rb.bind(null,t),listMarketRewards:Tb.bind(null,t)}}function de(t){let e=gi(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ba.bind(null,t),fetchOrdersScoring:da.bind(null,t),listUserEarningsForDay:fa.bind(null,t),fetchTotalEarningsForUserForDay:ha.bind(null,t),listUserEarningsAndMarketsConfig:ja.bind(null,t),fetchRewardPercentages:la.bind(null,t)}}function Cr(t){return {openRfqSession(){return Te(t)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return kf(t,e)}}:{subscribe(e){return kf(t,e)}}}function Er(t){return {createMarketOrder:bd.bind(null,t),placeMarketOrder:dd.bind(null,t),createLimitOrder:fd.bind(null,t),placeLimitOrder:hd.bind(null,t),postOrder:Pc(t),postOrders:Qc(t),cancelOrder:Dc.bind(null,t),cancelOrders:Fc.bind(null,t),cancelAll:Hc.bind(null,t),cancelMarketOrders:Jc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function kr(t){return {isGaslessReady:()=>Promise.resolve(true),setupTradingApprovals:Ta.bind(null,t),approveErc20:La.bind(null,t),approveErc1155ForAll:Pa.bind(null,t),transferErc20:yf.bind(null,t),splitPosition:ve.bind(null,t),mergePositions:Ee.bind(null,t),redeemPositions:Je.bind(null,t)}}function Tr(t){return t.isSecureClient()?{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...Cr(t),...pe(t),...Er(t),...kr(t)}:{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t)}}var le={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},contracts:{collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),exchangeV3:expectEvmAddress("0xe3333700cA9d93003F00f0F71f8515005F6c00Aa"),protocolV2Router:expectEvmAddress("0x12121212006e4CD160D18e3f00711DA5c3372600"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},rfq:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq"},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function qi(t,e=le){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...I(e.clob,t.clob),market:O(e.clob.market,t.clob?.market),user:O(e.clob.user,t.clob?.user)},relayer:I(e.relayer,t.relayer),gamma:I(e.gamma,t.gamma),data:I(e.data,t.data),rfq:wr(e.rfq,t.rfq),perps:wr(e.perps,t.perps),rtds:O(e.rtds,t.rtds),sports:O(e.sports,t.sports)}}function I(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function O(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function wr(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function me(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var ac=qi({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function xr(t,e,r,s,n){let i=`${e}${r}${s}`;n!==void 0&&(i+=n);let o=await globalThis.crypto.subtle.importKey("raw",Ai(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),v=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return Ci(vi(v))}function Ai(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let n=0;n<r.length;n+=1)s[n]=r.charCodeAt(n);return s.buffer}function vi(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function Ci(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function m(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var p=class{#e=new Set;#r;constructor(e){this.#r=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let n={subscription:e,subscriber:s};return {change:this.#s(n),entry:n}}#s(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#r(this.#e)}};function fe(t,e,r){let s=F(r.assetsIds,e.assetsIds),n=F(e.assetsIds,r.assetsIds);s.length>0&&t(Mr(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(Mr([i],r.customFeatureEnabled)),n.length>0&&t(ki(n));}function he(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Or(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Ir(r.markets));return}let s=F(r.markets,e.markets),n=F(e.markets,r.markets);s.length>0&&t(Ir(s)),n.length>0&&t(Or(n));}function Fr(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let n of s.tokenIds)e.add(n);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Lr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Qr(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Dr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Mr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function ki(t){return {assets_ids:t,operation:"unsubscribe"}}function Br(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function Ir(t){return {markets:t,operation:"subscribe"}}function Or(t){return {markets:t,operation:"unsubscribe"}}function Wr(t){return e=>{switch(e.type){case "price_change":return e.payload.priceChanges.some(r=>t.tokenIds.includes(r.tokenId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(e.payload.tokenIds??[]).some(r=>t.tokenIds.includes(r));case "best_bid_ask":return t.customFeatureEnabled===true&&t.tokenIds.includes(e.payload.tokenId);default:return t.tokenIds.includes(e.payload.tokenId)}}}function Ur(t){if(Qr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Qr(t){return (t.markets?.length??0)===0}function F(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#r;#s;#o=new od({heartbeat:new jd});#i=new nd;#t=new p({deriveServerState:Fr});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Wr(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){let{before:s,after:n}=r;try{(await this.#u()).reusedOpenSocket&&fe(o=>this.#o.send(o),s,n);}catch(i){throw await this.#a(e),i}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#o.send(n),r,s);}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=MarketEventSchema.safeParse(s);n.success&&this.#t.dispatch(n.data);}}#m(){this.#t.hasActiveSubscriptions()&&this.#l();}#f(){}#h(){this.#o.send(Dr(this.#t.serverState()));}#l(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var P=class{#e;#r;#s;#o;#i=new od({heartbeat:new jd});#t=new nd;#n=new p({deriveServerState:Lr});constructor(e){this.#e=e.credentials,this.#r=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Ur(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:n}=r;try{(await this.#c()).reusedOpenSocket&&he(o=>this.#i.send(o),s,n);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}he(n=>this.#i.send(n),r,s);}async close(){this.#o===void 0&&(this.#o=this.#u().finally(()=>{this.#o=void 0;})),await this.#o;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onConnectionLost:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#m(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#r,url:this.#s})}#p(e){this.#t.resetBackoff(),this.#l(e);}#m(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=UserEventSchema.safeParse(s);n.success&&this.#n.dispatch(n.data);}}#f(){this.#n.hasActiveSubscriptions()&&this.#y();}#h(){}#l(e){this.#i.send(Br(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var R=class{#e;#r;#s;#o;#i=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#r=e.headers,this.#s=e.restUrl,this.#o=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new qd({chainId:this.#e,credentials:e,headers:this.#r,onClose:n=>this.#d(n),restUrl:this.#s,wsUrl:this.#o});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#i.add(r),r}catch(n){throw await r.close(),n}finally{this.#n.delete(s),this.#t.delete(r);}})(),this.#n.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#i),r=Array.from(this.#t),s=Array.from(this.#n);this.#i.clear(),this.#t.clear(),this.#n.clear(),await Promise.allSettled([...e.map(n=>n.close()),...r.map(n=>n.close()),...s.map(n=>n.catch(()=>{}))]).then(()=>{});}#d(e){this.#i.delete(e),this.#t.delete(e);}};var b=class{#e;#r;#s;#o=1;#i=new od({heartbeat:new md});#t=new nd;#n=new p({deriveServerState:Mi});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Oi(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#l(Hr(r.before,r.after)),this.#y(_r(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#n.remove(e);this.#l(Hr(r,s)),this.#y(_r(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#u().finally(()=>{this.#s=void 0;})),await this.#s;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onConnectionLost:()=>this.#f(),onError:()=>this.#h(),onMessage:e=>this.#m(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#r})}#p(){this.#t.resetBackoff(),this.#l(Array.from(this.#n.serverState()));}#m(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#f(){this.#n.hasActiveSubscriptions()&&this.#b();}#h(){}#l(e){e.length!==0&&this.#i.send(this.#S("sub",e));}#y(e){e.length!==0&&this.#i.send(this.#S("unsub",e));}#S(e,r){return {id:this.#o++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function Mi(t){let e=new Set,r=new Set,s=new Set,n=false,i=false;for(let{subscription:o}of t)switch(o.topic){case "perps.tickers":o.instrumentId===void 0?n=true:r.add(o.instrumentId);break;case "perps.statistics":o.instrumentId===void 0?i=true:s.add(o.instrumentId);break;default:e.add(Ii(o));}if(n)e.add("tickers::all");else for(let o of r)e.add(`tickers::${o}`);if(i)e.add("statistics::all");else for(let o of s)e.add(`statistics::${o}`);return e}function Hr(t,e){return Array.from(e).filter(r=>!t.has(r))}function _r(t,e){return Array.from(t).filter(r=>!e.has(r))}function Ii(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Oi(t){switch(t.topic){case "perps.trades":return e=>e.topic==="perps.trades"&&e.channel===`trades::${t.instrumentId}`;case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function jr(t,e){return {...e,quote:r=>t.quote(e,r)}}function zr(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function $r(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Nr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Gr(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function Yr(t,e){let r=J(t);return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},identity:{maker_address:r.maker,signature_type:r.signatureType,signer_address:r.signer},type:"auth"}}function Jr(t,e){return {price_e6:e.price.toString(),rfq_id:t.rfqId,signed_order:e.signedOrder,size_e6:e.size.toString(),type:"RFQ_QUOTE"}}function Zr(t,e,r){let s=J(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function Xr(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var L=class{#e=new Map;#r;constructor(e){this.#r=e;}waitFor(e,r){let s=Li(),n,i=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new h$1(r));},this.#r);n=s.promise.finally(()=>clearTimeout(i));let o=this.#e.get(e)??[];return o.push({...s,promise:n}),this.#e.set(e,o),n}resolve(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.resolve(r));}reject(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let n=s.filter(i=>i.promise!==r);n.length===0?this.#e.delete(e):this.#e.set(e,n);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function Li(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var ts="0x0000000000000000000000000000000000000000000000000000000000000000";async function ss(t){let e=J(t.account),r={builder:ts,maker:e.maker,makerAmount:toBaseUnits(Di(t.orderSide,t.orderPrice,t.size)),metadata:ts,salt:Ui().toString(),side:Wi(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(Bi(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},s;try{s=await t.signer.signTypedData(Rc({domain:rs(t),order:r}));}catch(n){throw l.fromError(n,"Could not sign the RFQ quote order.")}return {...r,signature:Sc({domain:rs(t),order:r,signature:s})}}function rs(t){return {chainId:t.chainId,exchange:t.exchange,protocolVersion:"3"}}function Di(t,e,r){return t===OrderSide.SELL?r.toString():((e*r+999999n)/1000000n).toString()}function Bi(t,e,r){return t===OrderSide.SELL?(e*r/1000000n).toString():r.toString()}function Wi(t){return t===OrderSide.BUY?0:1}function Ui(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var os=DecimalishSchema.transform(t=>us(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),_i=z.strictObject({price:os.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:os.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function as(t){return G(t,_i)}async function cs(t){let e=t.response.price,r=t.response.size===void 0?zi(t.request.requestedSize,e):t.response.size,s=await ss({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:Vi(t.request,t.response.source,e),orderSide:ji(t.response.source),signer:t.signer,size:r,tokenId:Ki(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Ki(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function Vi(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function ji(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function zi(t,e){let r=us(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function us(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let n=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(n<=0n)throw new a("Value must be greater than 0.");return n}var Ji=3e4,Zi=3e4,g=class{#e;#r;#s;#o;#i;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.signer,this.#n=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Re({account:this.#e,chainId:this.#r,credentials:this.#s,exchange:this.#o,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Re=class{#e;#r;#s;#o;#i;#t;#n;#a;#d=new od;#u=pushable({objectMode:true});#c=new L(Zi);#p;#m;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.onClose,this.#n=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Xi();this.#m=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},Ji);try{await this.#d.connect({headers:this.#i,onConnectionLost:s=>this.#g(s),onError:()=>{},onMessage:s=>this.#P(s),onOpen:()=>this.#b(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#m=void 0;}}async#f(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#h()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#h(){let e=new c("RFQ quoter websocket closed.");this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}async#l(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#S(e),this.#u.end(e),await this.#d.close(),this.#t();}#S(e){this.#m?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(Yr(this.#e,this.#s));}#P(e){if(this.#p!==void 0||!RfqKnownInboundMessageSchema.safeParse(e).success)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success){let n=new c("Invalid RFQ quoter message.",{cause:r.error});this.#l(n);return}let s=r.data;switch(s.type){case "auth":this.#R(s);return;case "quote_request":this.#u.push(jr(this,s));return;case "quote_ack":this.#c.resolve(D(s.rfqId),$r(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),Nr(s));return;case "confirmation_request":this.#u.push(zr(this,s));return;case "confirmation_ack":this.#c.resolve(Pe(s.rfqId,s.quoteId),Gr(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#R(e){if(e.success===true){this.#m?.resolve(void 0);return}this.#m?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#l(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#l(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(D(e.rfqId),new Me(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#l(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new Oe(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#l(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Pe(e.rfqId,e.quoteId),new Qe(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=as(r),n=await cs({account:this.#e,chainId:this.#r,exchange:this.#o,request:e,response:s,signer:this.#n}),i=this.#c.waitFor(D(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#f(Jr(e,n)),await i}catch(o){throw this.#c.remove(D(e.rfqId),i),o}}async cancelQuote(e){let r=be(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#f(Zr(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=Pe(e,r),i=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#f(Xr(e,r,s)),await i}catch(o){throw this.#c.remove(n,i),o}}};function D(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Pe(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Xi(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var q=class{#e;#r;#s;#o=new od({heartbeat:new kd});#i=new nd;#t=new p({deriveServerState:so});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:ao(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:n,after:i}=r,o=to(n,i);this.#l(o);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=ro(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#h();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#m(){this.#t.hasActiveSubscriptions()&&this.#S();}#f(){}#h(){this.#l(Array.from(this.#t.serverState().values()));}#l(e){e.length!==0&&this.#o.send(no(e));}#y(e){e.length!==0&&this.#o.send(io(e));}#S(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function to(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function ro(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function so(t){let e=new Map;for(let{subscription:r}of t)for(let s of oo(r))e.has(s.key)||e.set(s.key,s);return e}function no(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function io(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function oo(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>B("comments",e));case "prices.crypto.binance":return [B("crypto_prices","update")];case "prices.crypto.chainlink":return [B("crypto_prices_chainlink","update")];case "prices.equity.pyth":return [B("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function B(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function ao(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var A=class{#e;#r;#s;#o=new od({heartbeat:new ld});#i=new nd;#t=new p;constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#n(r),m(r.subscriber.queue,()=>this.#a(r))}async#n(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onConnectionLost:()=>this.#m(),onError:()=>this.#f(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#m(){this.#t.hasActiveSubscriptions()&&this.#h();}#f(){}#h(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#r;get context(){return this.#e}get decorators(){return this.#r}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#r=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#r.push(e);}},ho=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),yo=z.object({wallet:EvmAddressSchema,credentials:ho.optional(),nonce:z.number().int().nonnegative().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),U=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new id({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new id({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new id({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new id({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new id({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new id({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new A({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=G(e,yo);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),i=s?.nonce??0,o=expectEvmAddress(yield wa()),v=expectEvmAddress(s.wallet),ve=I$1(this.environment,o,v);if(s.credentials!==void 0){let Ce=this.#e(s.credentials,ve,r);try{if((await $a(Ce)).includes(s.credentials.key))return Ce}catch(T){if(!(T instanceof f)||T.status!==401)throw T}}let ls=yield {kind:"signAuthMessage",payload:vr({address:o,chainId:this.environment.chainId,nonce:i,timestamp:n})},ms=await Za(this,{address:o,nonce:i,signature:expectEvmSignature(ls),timestamp:n});return this.#e(ms,ve,r)}.call(this))}#e(e,r,s){let n=new Ae({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let i of this.decorators)n.extend(i);return n}},Ae=class extends W{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,signer:e.signer,clob:new id({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new id({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new id({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new id({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new id({headers:e.environment.rfq.headers,root:e.environment.rfq.rest}),perps:new id({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new id({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new P({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new g({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.rfq.headers,signer:e.signer,url:e.environment.rfq.ws}),sports:new A({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new R({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return this.context.signer}setupGaslessWallet(){return Promise.resolve(this)}get secureClob(){return this.context.secureClob}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close(),this.webSockets.clobUser.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:n,environment:i}=this.context;try{await bb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let o=new U({apiKey:n,environment:i});for(let v of this.decorators)o.extend(v);return o}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await xr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw l.fromError(r,"Could not sign the L2-authenticated request")}}};function ps(t={}){return new U({environment:t.environment??le,apiKey:t.apiKey}).extend(Tr)}var So=m$1(j,g$1,f,l,h$1,i,c,b$1,a),bo=m$1(a);async function Po(t){let e=ps({environment:t.environment,apiKey:t.apiKey}),r=await Ro(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(va(t.signer));if(s.account.walletType===WalletType.EOA||await Aa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await go(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function Ro(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=K(r,t.environment.walletDerivation);return await Aa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:L$1(r,t.environment.walletDerivation)}async function go(t){let e=L$1(t.account.signer,t.environment.walletDerivation);if(!isSameEvmAddress(t.account.wallet,e))throw new a(`Wallet ${t.account.wallet} does not match the expected Deposit Wallet ${e} for this signer, nor a deployed wallet address.`);await(await Da(t)).wait();}
|
|
2
|
+
export{So as CreateSecureClientError,bo as SetupGaslessWalletError,ie as accountActions,Tr as allActions,oe as analyticsActions,xr as buildHmacSignature,ps as createPublicClient,Po as createSecureClient,ae as dataActions,ce as discoveryActions,qi as forkEnvironmentConfig,ue as perpsActions,ac as preproduction,le as production,Pi as relayerApiKey,bi as remoteBuilderSigning,de as rewardsActions,Cr as rfqActions,pe as subscriptionsActions,Er as tradingActions,kr as walletActions};//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|