@polymarket/client 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {PolymarketError}from'@polymarket/types';var n=class s extends PolymarketError{name="TransportError";constructor(r,t={}){super(r,t);}static fromError(r){return new s(r instanceof Error?r.message:"Request failed",{cause:r})}};var a=class extends PolymarketError{name="TimeoutError";constructor(r,t={}){super(r,t);}},o=class extends PolymarketError{name="TransactionFailedError";constructor(r,t={}){super(r,t);}},i=class s extends PolymarketError{name="CancelledSigningError";constructor(r,t={}){super(r,t);}static fromError(r){return new s(r.message,{cause:r})}};var p=class s extends PolymarketError{name="SigningError";constructor(r,t={}){super(r,t);}static fromError(r,t){let c=t??(r instanceof Error?r.message:"Signing failed");return new s(c,{cause:r})}};export{n as a,a as b,o as c,i as d,p as e};//# sourceMappingURL=chunk-ZH5ERGHG.js.map
2
+ //# sourceMappingURL=chunk-ZH5ERGHG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors.ts"],"names":["TransportError","_TransportError","PolymarketError","message","options","error","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","SigningError","_SigningError","msg"],"mappings":"gDAoDO,IAAMA,EAAN,MAAMC,CAAAA,SAAuBC,eAAgB,CACzC,KAAO,gBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAUC,EAAgC,CAC/C,OAAO,IAAIJ,CAAAA,CACTI,aAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,gBAAA,CACzC,CACE,KAAA,CAAOA,CACT,CACF,CACF,CACF,EAwKO,IAAMC,CAAAA,CAAN,cAA2BJ,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaG,CAAAA,CAAN,cAAqCL,eAAgB,CACjD,IAAA,CAAO,wBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CACF,CAAA,CAKaI,CAAAA,CAAN,MAAMC,CAAAA,SAA8BP,eAAgB,CAChD,IAAA,CAAO,uBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAqC,CACpD,OAAO,IAAII,EAAsBJ,CAAAA,CAAM,OAAA,CAAS,CAC9C,KAAA,CAAOA,CACT,CAAC,CACH,CACF,MAkCaK,CAAAA,CAAN,MAAMC,CAAAA,SAAqBT,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAgBF,CAAAA,CAAgC,CAC/D,IAAMS,EACJT,CAAAA,GAAYE,CAAAA,YAAiB,KAAA,CAAQA,CAAAA,CAAM,QAAU,gBAAA,CAAA,CACvD,OAAO,IAAIM,CAAAA,CAAaC,EAAK,CAAE,KAAA,CAAOP,CAAM,CAAC,CAC/C,CACF","file":"chunk-ZH5ERGHG.js","sourcesContent":["import { PolymarketError } from '@polymarket/types';\nimport type { ZodError } from 'zod';\nimport type { RateLimitUpdate } from './rate-limit';\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\n/**\n * Trading restriction reported by the venue while orders cannot be placed\n * normally. The SDK does not retry automatically; callers decide how to\n * react, honoring {@link RequestRejectedError.retryAfter} when provided.\n */\nexport enum TradingRestriction {\n /** The matching engine is restarting and rejects order requests until it is back. */\n RESTARTING = 'restarting',\n /** Cancels and post-only orders are accepted; other orders are rejected. */\n POST_ONLY = 'post_only',\n}\n\nexport type RequestRejectedErrorOptions = {\n status: number;\n /**\n * Machine-readable error code from the response body, when the service\n * provided one.\n */\n code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n /**\n * Trading restriction that caused the rejection, when the response\n * identified one.\n */\n restriction?: TradingRestriction;\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 * Machine-readable error code from the response body, when the service\n * provided one.\n */\n readonly code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n /**\n * Trading restriction that caused the rejection, when the response\n * identified one.\n */\n readonly restriction?: TradingRestriction;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n this.code = options.code;\n this.retryAfter = options.retryAfter;\n this.restriction = options.restriction;\n }\n}\n\nexport type RateLimitErrorOptions = {\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n /**\n * Rate-limit state reported with the rejection, when the response provided\n * it.\n */\n rateLimit?: RateLimitUpdate;\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 * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n /**\n * Rate-limit state reported with the rejection, when the response provided\n * it.\n */\n readonly rateLimit?: RateLimitUpdate;\n\n constructor(\n message: string,\n options: ErrorOptions & RateLimitErrorOptions = {},\n ) {\n super(message, options);\n this.retryAfter = options.retryAfter;\n this.rateLimit = options.rateLimit;\n }\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 arming auto-cancel is rejected because the account has\n * reached its daily auto-cancel trigger limit. Arming is rejected until the\n * daily counter resets at the next UTC midnight; clearing an existing\n * schedule is always allowed.\n *\n * @experimental This API may change in a breaking way in any release, including patch releases.\n */\nexport class AutoCancelDailyLimitError extends PolymarketError {\n override name = 'AutoCancelDailyLimitError' 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"]}
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers-v5';
2
- import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-RGx7fNNl.js';
2
+ import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-Cg8WP4aO.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 {m as m$1,j,c as c$1,i as i$1}from'./chunk-MCGT5BAF.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 m$1.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}):m$1.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
1
+ import {n,k,c as c$1,j}from'./chunk-DLZLJOGO.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$1){try{return expectEvmAddress(await n$1.getAddress())}catch(r){throw n.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$1){throw s(n$1)?new k("User rejected the signing request",{cause:n$1}):n.fromError(n$1)}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 j(`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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ethers-v5.ts"],"names":["signerFrom","signer","getAddress","payload","signTypedData","message","signMessage","request","DirectTransactionHandle","sendTransaction","expectEvmAddress","error","SigningError","throwSigningWorkflowError","expectEvmSignature","removeEip712Domain","ethers","types","entries","name","fields","field","isUserRejectedError","CancelledSigningError","seen","candidate","isCallExceptionError","hasErrorCode","isTransactionReplacedError","code","#transactionHash","#transaction","transaction","expectTxHash","receipt","transactionHash","TransportError","TransactionFailedError"],"mappings":"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","file":"ethers-v5.js","sourcesContent":["import {\n expectEvmAddress,\n expectEvmSignature,\n expectTxHash,\n type HexString,\n type TxHash,\n} from '@polymarket/types';\nimport { ethers } from 'ethers-v5';\nimport {\n CancelledSigningError,\n SigningError,\n TransactionFailedError,\n TransportError,\n} from './errors';\nimport type {\n Signer,\n TransactionHandle,\n TypedData,\n TypedDataPayload,\n} from './types';\n\ntype EthersV5Signer = ethers.Signer & {\n _signTypedData(\n domain: TypedDataPayload['domain'],\n types: ReturnType<typeof removeEip712Domain>,\n value: TypedDataPayload['message'],\n ): Promise<string>;\n};\n\nexport function signerFrom(signer: EthersV5Signer): Signer {\n return {\n getAddress() {\n return getAddress(signer);\n },\n signTypedData(payload) {\n return signTypedData(signer, payload);\n },\n signMessage(message) {\n return signMessage(signer, message);\n },\n async sendTransaction(request) {\n return new DirectTransactionHandle(\n await sendTransaction(signer, request),\n );\n },\n };\n}\n\nasync function getAddress(signer: EthersV5Signer) {\n try {\n return expectEvmAddress(await signer.getAddress());\n } catch (error) {\n throw SigningError.fromError(error, 'Could not resolve signer address');\n }\n}\n\nasync function sendTransaction(\n signer: EthersV5Signer,\n request: { chainId: number; data?: HexString; to: string; value?: bigint },\n): Promise<ethers.providers.TransactionResponse> {\n try {\n return await signer.sendTransaction({\n chainId: request.chainId,\n data: request.data,\n to: request.to,\n value: request.value?.toString(),\n });\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signTypedData(\n signer: EthersV5Signer,\n payload: TypedDataPayload,\n) {\n try {\n return expectEvmSignature(\n await signer._signTypedData(\n payload.domain,\n removeEip712Domain(payload.types),\n payload.message,\n ),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signMessage(signer: EthersV5Signer, message: HexString) {\n try {\n return expectEvmSignature(\n await signer.signMessage(ethers.utils.arrayify(message)),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nfunction removeEip712Domain(\n types: TypedData,\n): Record<string, Array<{ name: string; type: string }>> {\n const entries = Object.entries(types).filter(\n ([name]) => name !== 'EIP712Domain',\n );\n\n return Object.fromEntries(\n entries.map(([name, fields]) => [\n name,\n fields.map((field) => ({ ...field })),\n ]),\n );\n}\n\nfunction throwSigningWorkflowError(error: unknown): never {\n if (isUserRejectedError(error)) {\n throw new CancelledSigningError('User rejected the signing request', {\n cause: error,\n });\n }\n\n throw SigningError.fromError(error);\n}\n\nfunction isUserRejectedError(\n error: unknown,\n seen = new Set<unknown>(),\n): boolean {\n if (seen.has(error) || error === null || typeof error !== 'object') {\n return false;\n }\n\n seen.add(error);\n\n const candidate = error as {\n cause?: unknown;\n code?: unknown;\n error?: unknown;\n };\n\n return (\n // ethers v5 normalizes user-rejected wallet actions to ACTION_REJECTED,\n // but some provider-shaped errors can still surface the raw EIP-1193 4001.\n candidate.code === 4001 ||\n candidate.code === 'ACTION_REJECTED' ||\n isUserRejectedError(candidate.error, seen) ||\n isUserRejectedError(candidate.cause, seen)\n );\n}\n\nfunction isCallExceptionError(error: unknown): error is Error {\n return hasErrorCode(error, 'CALL_EXCEPTION');\n}\n\nfunction isTransactionReplacedError(error: unknown): error is Error & {\n cancelled: boolean;\n receipt: { transactionHash: string };\n} {\n return hasErrorCode(error, 'TRANSACTION_REPLACED');\n}\n\nfunction hasErrorCode(error: unknown, code: string): error is Error {\n return (\n error instanceof Error &&\n 'code' in error &&\n (error as { code?: unknown }).code === code\n );\n}\n\nclass DirectTransactionHandle implements TransactionHandle {\n readonly transactionId = null;\n #transactionHash: TxHash;\n readonly #transaction: ethers.providers.TransactionResponse;\n\n constructor(transaction: ethers.providers.TransactionResponse) {\n this.#transaction = transaction;\n this.#transactionHash = expectTxHash(transaction.hash);\n }\n\n get transactionHash() {\n return this.#transactionHash;\n }\n\n async wait() {\n try {\n const receipt = await this.#transaction.wait();\n\n const transactionHash = expectTxHash(receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n } catch (error) {\n if (isTransactionReplacedError(error)) {\n if (error.cancelled) {\n throw TransportError.fromError(error);\n }\n\n const transactionHash = expectTxHash(error.receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n }\n\n if (isCallExceptionError(error)) {\n throw new TransactionFailedError(\n `Transaction ${this.#transactionHash} reverted`,\n { cause: error },\n );\n }\n\n throw TransportError.fromError(error);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/ethers-v5.ts"],"names":["signerFrom","signer","getAddress","payload","signTypedData","message","signMessage","request","DirectTransactionHandle","sendTransaction","expectEvmAddress","error","SigningError","throwSigningWorkflowError","expectEvmSignature","removeEip712Domain","ethers","types","entries","name","fields","field","isUserRejectedError","CancelledSigningError","seen","candidate","isCallExceptionError","hasErrorCode","isTransactionReplacedError","code","#transactionHash","#transaction","transaction","expectTxHash","receipt","transactionHash","TransportError","TransactionFailedError"],"mappings":"iKA6BO,SAASA,CAAAA,CAAWC,CAAAA,CAAgC,CACzD,OAAO,CACL,YAAa,CACX,OAAOC,CAAAA,CAAWD,CAAM,CAC1B,CAAA,CACA,cAAcE,CAAAA,CAAS,CACrB,OAAOC,CAAAA,CAAcH,CAAAA,CAAQE,CAAO,CACtC,CAAA,CACA,WAAA,CAAYE,CAAAA,CAAS,CACnB,OAAOC,EAAYL,CAAAA,CAAQI,CAAO,CACpC,CAAA,CACA,MAAM,eAAA,CAAgBE,EAAS,CAC7B,OAAO,IAAIC,CAAAA,CACT,MAAMC,CAAAA,CAAgBR,EAAQM,CAAO,CACvC,CACF,CACF,CACF,CAEA,eAAeL,CAAAA,CAAWD,GAAAA,CAAwB,CAChD,GAAI,CACF,OAAOS,gBAAAA,CAAiB,MAAMT,IAAO,UAAA,EAAY,CACnD,CAAA,MAASU,CAAAA,CAAO,CACd,MAAMC,CAAAA,CAAa,SAAA,CAAUD,EAAO,kCAAkC,CACxE,CACF,CAEA,eAAeF,EACbR,CAAAA,CACAM,CAAAA,CAC+C,CAC/C,GAAI,CACF,OAAO,MAAMN,CAAAA,CAAO,eAAA,CAAgB,CAClC,OAAA,CAASM,CAAAA,CAAQ,OAAA,CACjB,KAAMA,CAAAA,CAAQ,IAAA,CACd,EAAA,CAAIA,CAAAA,CAAQ,EAAA,CACZ,KAAA,CAAOA,EAAQ,KAAA,EAAO,QAAA,EACxB,CAAC,CACH,OAASI,CAAAA,CAAO,CACdE,CAAAA,CAA0BF,CAAK,EACjC,CACF,CAEA,eAAeP,CAAAA,CACbH,EACAE,CAAAA,CACA,CACA,GAAI,CACF,OAAOW,kBAAAA,CACL,MAAMb,CAAAA,CAAO,cAAA,CACXE,EAAQ,MAAA,CACRY,CAAAA,CAAmBZ,EAAQ,KAAK,CAAA,CAChCA,EAAQ,OACV,CACF,CACF,CAAA,MAASQ,CAAAA,CAAO,CACdE,EAA0BF,CAAK,EACjC,CACF,CAEA,eAAeL,CAAAA,CAAYL,EAAwBI,CAAAA,CAAoB,CACrE,GAAI,CACF,OAAOS,kBAAAA,CACL,MAAMb,CAAAA,CAAO,WAAA,CAAYe,OAAO,KAAA,CAAM,QAAA,CAASX,CAAO,CAAC,CACzD,CACF,CAAA,MAASM,CAAAA,CAAO,CACdE,EAA0BF,CAAK,EACjC,CACF,CAEA,SAASI,CAAAA,CACPE,EACuD,CACvD,IAAMC,CAAAA,CAAU,MAAA,CAAO,OAAA,CAAQD,CAAK,EAAE,MAAA,CACpC,CAAC,CAACE,CAAI,CAAA,GAAMA,IAAS,cACvB,CAAA,CAEA,OAAO,MAAA,CAAO,WAAA,CACZD,CAAAA,CAAQ,IAAI,CAAC,CAACC,CAAAA,CAAMC,CAAM,CAAA,GAAM,CAC9BD,EACAC,CAAAA,CAAO,GAAA,CAAKC,CAAAA,GAAW,CAAE,GAAGA,CAAM,EAAE,CACtC,CAAC,CACH,CACF,CAEA,SAASR,CAAAA,CAA0BF,GAAAA,CAAuB,CACxD,MAAIW,CAAAA,CAAoBX,GAAK,EACrB,IAAIY,CAAAA,CAAsB,oCAAqC,CACnE,KAAA,CAAOZ,GACT,CAAC,CAAA,CAGGC,CAAAA,CAAa,SAAA,CAAUD,GAAK,CACpC,CAEA,SAASW,CAAAA,CACPX,EACAa,CAAAA,CAAO,IAAI,IACF,CACT,GAAIA,CAAAA,CAAK,GAAA,CAAIb,CAAK,CAAA,EAAKA,IAAU,IAAA,EAAQ,OAAOA,CAAAA,EAAU,QAAA,CACxD,OAAO,MAAA,CAGTa,EAAK,GAAA,CAAIb,CAAK,CAAA,CAEd,IAAMc,CAAAA,CAAYd,CAAAA,CAMlB,OAGEc,CAAAA,CAAU,IAAA,GAAS,MACnBA,CAAAA,CAAU,IAAA,GAAS,mBACnBH,CAAAA,CAAoBG,CAAAA,CAAU,KAAA,CAAOD,CAAI,CAAA,EACzCF,CAAAA,CAAoBG,EAAU,KAAA,CAAOD,CAAI,CAE7C,CAEA,SAASE,CAAAA,CAAqBf,EAAgC,CAC5D,OAAOgB,CAAAA,CAAahB,CAAAA,CAAO,gBAAgB,CAC7C,CAEA,SAASiB,CAAAA,CAA2BjB,EAGlC,CACA,OAAOgB,EAAahB,CAAAA,CAAO,sBAAsB,CACnD,CAEA,SAASgB,CAAAA,CAAahB,EAAgBkB,CAAAA,CAA8B,CAClE,OACElB,CAAAA,YAAiB,KAAA,EACjB,MAAA,GAAUA,GACTA,CAAAA,CAA6B,IAAA,GAASkB,CAE3C,CAEA,IAAMrB,CAAAA,CAAN,KAA2D,CAChD,aAAA,CAAgB,KACzBsB,EAAAA,CACSC,EAAAA,CAET,YAAYC,CAAAA,CAAmD,CAC7D,IAAA,CAAKD,EAAAA,CAAeC,CAAAA,CACpB,IAAA,CAAKF,GAAmBG,YAAAA,CAAaD,CAAAA,CAAY,IAAI,EACvD,CAEA,IAAI,eAAA,EAAkB,CACpB,OAAO,IAAA,CAAKF,EACd,CAEA,MAAM,IAAA,EAAO,CACX,GAAI,CACF,IAAMI,EAAU,MAAM,IAAA,CAAKH,EAAAA,CAAa,IAAA,EAAK,CAEvCI,CAAAA,CAAkBF,aAAaC,CAAAA,CAAQ,eAAe,CAAA,CAC5D,OAAA,IAAA,CAAKJ,EAAAA,CAAmBK,CAAAA,CAEjB,CACL,eAAA,CAAAA,CAAAA,CACA,aAAA,CAAe,IACjB,CACF,CAAA,MAASxB,EAAO,CACd,GAAIiB,EAA2BjB,CAAK,CAAA,CAAG,CACrC,GAAIA,CAAAA,CAAM,SAAA,CACR,MAAMyB,GAAAA,CAAe,SAAA,CAAUzB,CAAK,CAAA,CAGtC,IAAMwB,CAAAA,CAAkBF,YAAAA,CAAatB,CAAAA,CAAM,OAAA,CAAQ,eAAe,CAAA,CAClE,OAAA,IAAA,CAAKmB,EAAAA,CAAmBK,CAAAA,CAEjB,CACL,eAAA,CAAAA,EACA,aAAA,CAAe,IACjB,CACF,CAEA,MAAIT,EAAqBf,CAAK,CAAA,CACtB,IAAI0B,CAAAA,CACR,CAAA,YAAA,EAAe,IAAA,CAAKP,EAAgB,CAAA,SAAA,CAAA,CACpC,CAAE,KAAA,CAAOnB,CAAM,CACjB,CAAA,CAGIyB,IAAe,SAAA,CAAUzB,CAAK,CACtC,CACF,CACF,CAAA","file":"ethers-v5.js","sourcesContent":["import {\n expectEvmAddress,\n expectEvmSignature,\n expectTxHash,\n type HexString,\n type TxHash,\n} from '@polymarket/types';\nimport { ethers } from 'ethers-v5';\nimport {\n CancelledSigningError,\n SigningError,\n TransactionFailedError,\n TransportError,\n} from './errors';\nimport type {\n Signer,\n TransactionHandle,\n TypedData,\n TypedDataPayload,\n} from './types';\n\ntype EthersV5Signer = ethers.Signer & {\n _signTypedData(\n domain: TypedDataPayload['domain'],\n types: ReturnType<typeof removeEip712Domain>,\n value: TypedDataPayload['message'],\n ): Promise<string>;\n};\n\nexport function signerFrom(signer: EthersV5Signer): Signer {\n return {\n getAddress() {\n return getAddress(signer);\n },\n signTypedData(payload) {\n return signTypedData(signer, payload);\n },\n signMessage(message) {\n return signMessage(signer, message);\n },\n async sendTransaction(request) {\n return new DirectTransactionHandle(\n await sendTransaction(signer, request),\n );\n },\n };\n}\n\nasync function getAddress(signer: EthersV5Signer) {\n try {\n return expectEvmAddress(await signer.getAddress());\n } catch (error) {\n throw SigningError.fromError(error, 'Could not resolve signer address');\n }\n}\n\nasync function sendTransaction(\n signer: EthersV5Signer,\n request: { chainId: number; data?: HexString; to: string; value?: bigint },\n): Promise<ethers.providers.TransactionResponse> {\n try {\n return await signer.sendTransaction({\n chainId: request.chainId,\n data: request.data,\n to: request.to,\n value: request.value?.toString(),\n });\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signTypedData(\n signer: EthersV5Signer,\n payload: TypedDataPayload,\n) {\n try {\n return expectEvmSignature(\n await signer._signTypedData(\n payload.domain,\n removeEip712Domain(payload.types),\n payload.message,\n ),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signMessage(signer: EthersV5Signer, message: HexString) {\n try {\n return expectEvmSignature(\n await signer.signMessage(ethers.utils.arrayify(message)),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nfunction removeEip712Domain(\n types: TypedData,\n): Record<string, Array<{ name: string; type: string }>> {\n const entries = Object.entries(types).filter(\n ([name]) => name !== 'EIP712Domain',\n );\n\n return Object.fromEntries(\n entries.map(([name, fields]) => [\n name,\n fields.map((field) => ({ ...field })),\n ]),\n );\n}\n\nfunction throwSigningWorkflowError(error: unknown): never {\n if (isUserRejectedError(error)) {\n throw new CancelledSigningError('User rejected the signing request', {\n cause: error,\n });\n }\n\n throw SigningError.fromError(error);\n}\n\nfunction isUserRejectedError(\n error: unknown,\n seen = new Set<unknown>(),\n): boolean {\n if (seen.has(error) || error === null || typeof error !== 'object') {\n return false;\n }\n\n seen.add(error);\n\n const candidate = error as {\n cause?: unknown;\n code?: unknown;\n error?: unknown;\n };\n\n return (\n // ethers v5 normalizes user-rejected wallet actions to ACTION_REJECTED,\n // but some provider-shaped errors can still surface the raw EIP-1193 4001.\n candidate.code === 4001 ||\n candidate.code === 'ACTION_REJECTED' ||\n isUserRejectedError(candidate.error, seen) ||\n isUserRejectedError(candidate.cause, seen)\n );\n}\n\nfunction isCallExceptionError(error: unknown): error is Error {\n return hasErrorCode(error, 'CALL_EXCEPTION');\n}\n\nfunction isTransactionReplacedError(error: unknown): error is Error & {\n cancelled: boolean;\n receipt: { transactionHash: string };\n} {\n return hasErrorCode(error, 'TRANSACTION_REPLACED');\n}\n\nfunction hasErrorCode(error: unknown, code: string): error is Error {\n return (\n error instanceof Error &&\n 'code' in error &&\n (error as { code?: unknown }).code === code\n );\n}\n\nclass DirectTransactionHandle implements TransactionHandle {\n readonly transactionId = null;\n #transactionHash: TxHash;\n readonly #transaction: ethers.providers.TransactionResponse;\n\n constructor(transaction: ethers.providers.TransactionResponse) {\n this.#transaction = transaction;\n this.#transactionHash = expectTxHash(transaction.hash);\n }\n\n get transactionHash() {\n return this.#transactionHash;\n }\n\n async wait() {\n try {\n const receipt = await this.#transaction.wait();\n\n const transactionHash = expectTxHash(receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n } catch (error) {\n if (isTransactionReplacedError(error)) {\n if (error.cancelled) {\n throw TransportError.fromError(error);\n }\n\n const transactionHash = expectTxHash(error.receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n }\n\n if (isCallExceptionError(error)) {\n throw new TransactionFailedError(\n `Transaction ${this.#transactionHash} reverted`,\n { cause: error },\n );\n }\n\n throw TransportError.fromError(error);\n }\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ConditionId, ComboConditionId } from '@polymarket/bindings';
2
2
  export * from '@polymarket/bindings';
3
- export { OrderSide, OrderType } from '@polymarket/bindings';
3
+ export { OrderSide, OrderType, SessionSignerKnownScope as SessionKeyKnownScope, SessionSignerScope as SessionKeyScope } from '@polymarket/bindings';
4
4
  export * from '@polymarket/bindings/clob';
5
- export { PriceHistoryInterval, SignatureType } from '@polymarket/bindings/clob';
5
+ export { NotificationType, OrderResponseErrorCode, PriceHistoryInterval, SignatureType } from '@polymarket/bindings/clob';
6
6
  export * from '@polymarket/bindings/data';
7
7
  export { ActivityType, ComboActivityType, ComboPositionOutcome, ComboPositionStatus } from '@polymarket/bindings/data';
8
8
  export * from '@polymarket/bindings/gamma';
@@ -11,9 +11,9 @@ export * from '@polymarket/bindings/perps';
11
11
  export { PerpsAutoCancelStatus, PerpsCancelOrderResult, PerpsDepositStatus, PerpsInstrumentCategory, PerpsInstrumentType, PerpsInternalTransferDirection, PerpsKlineInterval, PerpsKnownWithdrawalStatus, PerpsMarginType, PerpsNotificationOrderType, PerpsNotificationType, PerpsOrderStatus, PerpsPostOrderAck, PerpsSide, PerpsSortDirection, PerpsTimeInForce, PerpsUpdateLeverageResult } 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-RGx7fNNl.js';
15
- export { c as AcceptComboQuoteError, d as AcceptComboQuoteParams, e as AcceptComboQuoteResult, f as AccountIdentity, g as AnalyticsActions, h as ApproveErc1155ForAllError, i as ApproveErc20Error, j as ArmPerpsAutoCancelError, k as ArmPerpsAutoCancelRequest, l as AutoCancelDailyLimitError, B as BaseClient, m as BasePublicClient, n as BaseSecureClient, o as BeginAuthenticationRequest, C as CancelAllError, p as CancelAllPerpsOrdersRequest, q as CancelMarketOrdersError, r as CancelOrderError, s as CancelOrdersError, t as CancelPerpsOrderRequest, u as CancelPerpsOrdersRequest, v as CancelledSigningError, w as Client, x as ClientActions, y as ClientDecorator, z as ClobEndpoints, D as ComboPositionSort, E as ComboQuote, F as CombosEndpoints, G as ConnectionLostError, H as ConnectionLostErrorOptions, I as CreatePerpsSessionRequest, J as CreateSecureClientError, K as CryptoPricesChainlinkTwapSubscription, L as DataActions, M as DepositToPerpsError, N as DepositToPerpsRequest, O as DisarmPerpsAutoCancelRequest, P as DiscoveryActions, Q as DownloadAccountingSnapshotError, R as DropNotificationsError, V as EnvironmentConfig, W as EnvironmentConfigFork, X as EnvironmentContracts, Y as EstimateMarketPriceError, Z as ExecuteCollateralReturnPlanError, _ as ExecuteCollateralReturnPlanRequest, $ as FetchClosedOnlyModeError, a0 as FetchCommentsByIdError, a1 as FetchEventError, a2 as FetchEventLiveVolumeError, a3 as FetchEventTagsError, a4 as FetchLastTradePriceError, a5 as FetchLastTradePricesError, a6 as FetchMarketError, a7 as FetchMarketTagsError, a8 as FetchMidpointError, a9 as FetchMidpointsError, aa as FetchNotificationsError, ab as FetchOrderBookError, ac as FetchOrderBooksError, ad as FetchOrderError, ae as FetchOrderScoringError, af as FetchOrdersScoringError, ag as FetchPerpsAccountConfigRequest, ah as FetchPerpsBookError, ai as FetchPerpsBookRequest, aj as FetchPerpsFeesError, ak as FetchPerpsInstrumentsError, al as FetchPerpsInstrumentsRequest, am as FetchPerpsOpenOrdersRequest, an as FetchPerpsOrdersRequest, ao as FetchPerpsTickerError, ap as FetchPerpsTickerRequest, aq as FetchPerpsTickersError, ar as FetchPerpsTickersRequest, as as FetchPortfolioValueError, at as FetchPriceError, au as FetchPriceHistoryError, av as FetchPricesError, aw as FetchPublicProfileError, ax as FetchRelatedTagResourcesError, ay as FetchRelatedTagsError, az as FetchRewardPercentagesError, aA as FetchRfqStatusError, aB as FetchRfqStatusParams, aC as FetchSeriesError, aD as FetchSpreadError, aE as FetchSpreadsError, aF as FetchTagError, aG as FetchTotalEarningsForUserForDayError, aH as FetchTradedMarketCountError, aI as InsufficientLiquidityError, aJ as ListAccountTradesError, aK as ListActivityError, aL as ListBuilderLeaderboardError, aM as ListBuilderTradesError, aN as ListBuilderVolumeError, aO as ListClosedPositionsError, aP as ListComboActivityError, aQ as ListComboMarketsError, aR as ListComboPositionsError, aS as ListCommentsByUserAddressError, aT as ListCommentsError, aU as ListCurrentRewardsError, aV as ListEventsError, aW as ListMarketHoldersError, aX as ListMarketPositionsError, aY as ListMarketRewardsError, aZ as ListMarketsError, a_ as ListOpenInterestError, a$ as ListOpenOrdersError, b0 as ListPerpsCandlesError, b1 as ListPerpsCandlesRequest, b2 as ListPerpsDepositsRequest, b3 as ListPerpsEquityHistoryRequest, b4 as ListPerpsFillsRequest, b5 as ListPerpsFundingHistoryError, b6 as ListPerpsFundingHistoryRequest, b7 as ListPerpsFundingPaymentsRequest, b8 as ListPerpsNotificationsRequest, b9 as ListPerpsPnlHistoryRequest, ba as ListPerpsTradesError, bb as ListPerpsTradesRequest, bc as ListPerpsWithdrawalsRequest, bd as ListPositionsError, be as ListSeriesError, bf as ListTagsError, bg as ListTeamsError, bh as ListTraderLeaderboardError, bi as ListTradesError, bj as ListUserEarningsAndMarketsConfigError, bk as ListUserEarningsForDayError, bl as MarkPerpsNotificationsReadRequest, bm as MergePositionsError, bn as OpenPerpsSessionError, bo as OpenPerpsSessionRequest, bp as OpenRfqSessionError, bq as Page, br as PageSizeSchema, bs as Paginated, bt as PerpsActions, bu as PerpsBookDepth, bv as PerpsEndpoints, bw as PerpsOrderRequest, bx as PerpsPlaceFokOrderRequest, by as PerpsPlaceGtcOrderRequest, bz as PerpsPlaceIocOrderRequest, bA as PerpsPlacedTpSlOrder, bB as PerpsPlacedTpSlOrders, bC as PerpsPositionTpSlTrigger, bD as PerpsSession, bE as PerpsSessionAccountError, bF as PerpsSessionLifecycleError, bG as PerpsSessionTradingError, bH as PerpsTpSlTrigger, bI as PlacePerpsOrderRequest, bJ as PlacePerpsOrderResult, bK as PlacePerpsOrderWithTpSlRequest, bL as PlacePerpsOrderWithTpSlResult, bM as PlacePerpsPositionTpSlRequest, bN as PlacePerpsPositionTpSlResult, bO as PlanCollateralReturnError, bP as PostOrderError, bQ as PostOrdersError, bR as PostPerpsOrdersRequest, bS as PublicAccountActions, bT as PublicActions, bU as PublicClient, bV as PublicClientOptions, bW as PublicPerpsActions, bX as PublicRewardsActions, bY as PublicSubscriptionsActions, bZ as RateLimitError, b_ as RateLimitErrorOptions, b$ as RedeemPositionsError, c0 as RequestComboQuoteError, c1 as RequestComboQuoteParams, c2 as RequestComboQuoteResult, c3 as RequestRejectedError, c4 as RequestRejectedErrorOptions, c5 as RestEndpoint, c6 as ResumePerpsSessionRequest, c7 as RevokePerpsCredentialsError, c8 as RevokePerpsCredentialsRequest, c9 as RfqCancelQuoteAck, ca as RfqCancelQuoteError, cb as RfqCancelQuoteRejectedError, cc as RfqCancelQuoteRejectedErrorOptions, cd as RfqConfirmationAck, ce as RfqConfirmationError, cf as RfqConfirmationRejectedError, cg as RfqConfirmationRequestEvent, ch as RfqEvent, ci as RfqQuoteError, cj as RfqQuoteReference, ck as RfqQuoteRejectedError, cl as RfqQuoteRejectedErrorOptions, cm as RfqQuoteRequestEvent, cn as RfqQuoteResponse, co as RfqQuoteSource, cp as RfqRequestRejectedError, cq as RfqRequestRejectedErrorOptions, cr as RfqSession, cs as RfqStatusResult, ct as RfqTradeEvent, cu as SearchError, cv as SearchSort, cw as SecureAccountActions, cx as SecureActions, cy as SecureClient, cz as SecureClientOptions, cA as SecureDownloadAccountingSnapshotRequest, cB as SecureFetchPortfolioValueRequest, cC as SecureFetchTradedMarketCountRequest, cD as SecureListActivityRequest, cE as SecureListClosedPositionsRequest, cF as SecureListComboActivityRequest, cG as SecureListComboPositionsRequest, cH as SecureListPositionsRequest, cI as SecurePerpsActions, cJ as SecureRewardsActions, cK as SecureRfqActions, cL as SecureSubscriptionsActions, cM as SecureTradingActions, cN as SecureWalletActions, cO as SetupGaslessWalletError, cP as SetupTradingApprovalsError, S as Signer, cQ as SignerTransactionRequest, cR as SigningError, cS as SplitPositionError, cT as SubscribeError, cU as TimeoutError, cV as TransactionFailedError, cW as TransactionHandle, cX as TransactionOutcome, cY as TransferErc20Error, cZ as TransportError, a as TypedData, c_ as TypedDataDomain, c$ as TypedDataField, T as TypedDataPayload, d0 as UnexpectedResponseError, d1 as UpdatePerpsLeverageError, d2 as UpdatePerpsLeverageRequest, d3 as UpdatePerpsMarginError, d4 as UpdatePerpsMarginRequest, d5 as WaitForComboFillError, d6 as WaitForComboFillParams, d7 as WaitForComboFillResult, d8 as WaitForOrderFillSettlementError, d9 as WaitForTransactionError, da as WalletDerivationConfig, db as WebSocketCloseCode, dc as WebSocketEndpoint, dd as WebSocketKnownCloseCode, de as WithdrawFromPerpsError, df as WithdrawFromPerpsRequest, dg as accountActions, dh as allActions, di as analyticsActions, dj as createPublicClient, dk as createSecureClient, dl as dataActions, dm as discoveryActions, dn as forkEnvironmentConfig, dp as makeErrorGuard, dq as perpsActions, dr as production, ds as rewardsActions, dt as rfqActions, du as subscriptionsActions, dv as tradingActions, dw as walletActions } from './types-RGx7fNNl.js';
16
- export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-BPp6UXlR.js';
14
+ import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-Cg8WP4aO.js';
15
+ export { c as AcceptComboQuoteError, d as AcceptComboQuoteParams, e as AcceptComboQuoteResult, f as AccountIdentity, g as AnalyticsActions, h as ApproveErc1155ForAllError, i as ApproveErc20Error, j as ArmPerpsAutoCancelError, k as ArmPerpsAutoCancelRequest, l as AuthorizeSessionKeyError, m as AuthorizeSessionKeyRequest, n as AuthorizeSessionKeyResult, o as AutoCancelDailyLimitError, B as BaseClient, p as BasePublicClient, q as BaseSecureClient, r as BeginAuthenticationRequest, C as CancelAllError, s as CancelAllPerpsOrdersRequest, t as CancelMarketOrdersError, u as CancelOrderError, v as CancelOrdersError, w as CancelPerpsOrderRequest, x as CancelPerpsOrdersRequest, y as CancelledSigningError, z as Client, D as ClientActions, E as ClientDecorator, F as ClobEndpoints, G as ComboPositionSort, H as ComboPositionStatusFilter, I as ComboQuote, J as CombosEndpoints, K as ConnectionLostError, L as ConnectionLostErrorOptions, M as CreatePerpsSessionRequest, N as CreateSecureClientError, O as CryptoPricesChainlinkTwapSubscription, P as DataActions, Q as DepositToPerpsError, R as DepositToPerpsRequest, V as DisarmPerpsAutoCancelRequest, W as DiscoveryActions, X as DownloadAccountingSnapshotError, Y as DropNotificationsError, Z as EnvironmentConfig, _ as EnvironmentConfigFork, $ as EnvironmentContracts, a0 as EstimateMarketPriceError, a1 as ExecuteCollateralReturnPlanError, a2 as ExecuteCollateralReturnPlanRequest, a3 as FetchClosedOnlyModeError, a4 as FetchCommentsByIdError, a5 as FetchEventError, a6 as FetchEventLiveVolumeError, a7 as FetchEventTagsError, a8 as FetchLastTradePriceError, a9 as FetchLastTradePricesError, aa as FetchMarketError, ab as FetchMarketTagsError, ac as FetchMidpointError, ad as FetchMidpointsError, ae as FetchNotificationsError, af as FetchOrderBookError, ag as FetchOrderBooksError, ah as FetchOrderError, ai as FetchOrderScoringError, aj as FetchOrdersScoringError, ak as FetchPerpsAccountConfigRequest, al as FetchPerpsBookError, am as FetchPerpsBookRequest, an as FetchPerpsFeesError, ao as FetchPerpsInstrumentsError, ap as FetchPerpsInstrumentsRequest, aq as FetchPerpsOpenOrdersRequest, ar as FetchPerpsOrdersRequest, as as FetchPerpsTickerError, at as FetchPerpsTickerRequest, au as FetchPerpsTickersError, av as FetchPerpsTickersRequest, aw as FetchPortfolioValueError, ax as FetchPriceError, ay as FetchPriceHistoryError, az as FetchPricesError, aA as FetchPublicProfileError, aB as FetchRelatedTagResourcesError, aC as FetchRelatedTagsError, aD as FetchRewardPercentagesError, aE as FetchRfqStatusError, aF as FetchRfqStatusParams, aG as FetchSeriesError, aH as FetchSessionKeysError, aI as FetchSpreadError, aJ as FetchSpreadsError, aK as FetchTagError, aL as FetchTotalEarningsForUserForDayError, aM as FetchTradedMarketCountError, aN as InsufficientLiquidityError, aO as ListAccountTradesError, aP as ListActivityError, aQ as ListBuilderLeaderboardError, aR as ListBuilderTradesError, aS as ListBuilderVolumeError, aT as ListClosedPositionsError, aU as ListComboActivityError, aV as ListComboMarketsError, aW as ListComboPositionsError, aX as ListCommentsByUserAddressError, aY as ListCommentsError, aZ as ListCurrentRewardsError, a_ as ListEventsError, a$ as ListMarketHoldersError, b0 as ListMarketPositionsError, b1 as ListMarketRewardsError, b2 as ListMarketsError, b3 as ListOpenInterestError, b4 as ListOpenOrdersError, b5 as ListPerpsCandlesError, b6 as ListPerpsCandlesRequest, b7 as ListPerpsDepositsRequest, b8 as ListPerpsEquityHistoryRequest, b9 as ListPerpsFillsRequest, ba as ListPerpsFundingHistoryError, bb as ListPerpsFundingHistoryRequest, bc as ListPerpsFundingPaymentsRequest, bd as ListPerpsNotificationsRequest, be as ListPerpsPnlHistoryRequest, bf as ListPerpsTradesError, bg as ListPerpsTradesRequest, bh as ListPerpsWithdrawalsRequest, bi as ListPositionsError, bj as ListSeriesError, bk as ListTagsError, bl as ListTeamsError, bm as ListTraderLeaderboardError, bn as ListTradesError, bo as ListUserEarningsAndMarketsConfigError, bp as ListUserEarningsForDayError, bq as MarkPerpsNotificationsReadRequest, br as MergePositionsError, bs as OpenPerpsSessionError, bt as OpenPerpsSessionRequest, bu as OpenRfqSessionError, bv as OrderAsset, bw as OrderSignature, bx as Page, by as PageSizeSchema, bz as Paginated, bA as PerpsActions, bB as PerpsBookDepth, bC as PerpsEndpoints, bD as PerpsOrderRequest, bE as PerpsPlaceFokOrderRequest, bF as PerpsPlaceGtcOrderRequest, bG as PerpsPlaceIocOrderRequest, bH as PerpsPlacedTpSlOrder, bI as PerpsPlacedTpSlOrders, bJ as PerpsPositionTpSlTrigger, bK as PerpsSession, bL as PerpsSessionAccountError, bM as PerpsSessionLifecycleError, bN as PerpsSessionTradingError, bO as PerpsTpSlTrigger, bP as PlacePerpsOrderRequest, bQ as PlacePerpsOrderResult, bR as PlacePerpsOrderWithTpSlRequest, bS as PlacePerpsOrderWithTpSlResult, bT as PlacePerpsPositionTpSlRequest, bU as PlacePerpsPositionTpSlResult, bV as PlanCollateralReturnError, bW as PostOrderError, bX as PostOrdersError, bY as PostPerpsOrdersRequest, bZ as PublicAccountActions, b_ as PublicActions, b$ as PublicClient, c0 as PublicClientOptions, c1 as PublicPerpsActions, c2 as PublicRewardsActions, c3 as PublicSubscriptionsActions, c4 as RateLimitBucket, c5 as RateLimitError, c6 as RateLimitErrorOptions, c7 as RateLimitUpdate, c8 as RateLimitUpdateListener, c9 as RedeemPositionsError, ca as RequestComboQuoteError, cb as RequestComboQuoteParams, cc as RequestComboQuoteResult, cd as RequestRejectedError, ce as RequestRejectedErrorOptions, cf as RestEndpoint, cg as ResumePerpsSessionRequest, ch as RevokePerpsCredentialsError, ci as RevokePerpsCredentialsRequest, cj as RevokeSessionKeyError, ck as RevokeSessionKeyRequest, cl as RevokeSessionKeyResult, cm as RfqCancelQuoteAck, cn as RfqCancelQuoteError, co as RfqCancelQuoteRejectedError, cp as RfqCancelQuoteRejectedErrorOptions, cq as RfqConfirmationAck, cr as RfqConfirmationError, cs as RfqConfirmationRejectedError, ct as RfqConfirmationRequestEvent, cu as RfqEvent, cv as RfqQuoteError, cw as RfqQuoteReference, cx as RfqQuoteRejectedError, cy as RfqQuoteRejectedErrorOptions, cz as RfqQuoteRequestEvent, cA as RfqQuoteResponse, cB as RfqQuoteSource, cC as RfqRequestRejectedError, cD as RfqRequestRejectedErrorOptions, cE as RfqSession, cF as RfqStatusResult, cG as RfqTradeEvent, cH as SearchError, cI as SearchSort, cJ as SecureAccountActions, cK as SecureActions, cL as SecureClient, cM as SecureClientOptions, cN as SecureDownloadAccountingSnapshotRequest, cO as SecureFetchPortfolioValueRequest, cP as SecureFetchTradedMarketCountRequest, cQ as SecureListActivityRequest, cR as SecureListClosedPositionsRequest, cS as SecureListComboActivityRequest, cT as SecureListComboPositionsRequest, cU as SecureListPositionsRequest, cV as SecurePerpsActions, cW as SecureRewardsActions, cX as SecureRfqActions, cY as SecureSubscriptionsActions, cZ as SecureTradingActions, c_ as SecureWalletActions, c$ as SessionKey, d0 as SessionKeyActions, d1 as SetupGaslessWalletError, d2 as SetupTradingApprovalsError, d3 as SignedOrder, S as Signer, d4 as SignerTransactionRequest, d5 as SignerType, d6 as SigningError, d7 as SplitPositionError, d8 as SubscribeError, d9 as TimeoutError, da as TradingRestriction, db as TransactionFailedError, dc as TransactionHandle, dd as TransactionOutcome, de as TransferErc20Error, df as TransportError, a as TypedData, dg as TypedDataDomain, dh as TypedDataField, T as TypedDataPayload, di as UnexpectedResponseError, dj as UpdatePerpsLeverageError, dk as UpdatePerpsLeverageRequest, dl as UpdatePerpsMarginError, dm as UpdatePerpsMarginRequest, dn as WaitForComboFillError, dp as WaitForComboFillParams, dq as WaitForComboFillResult, dr as WaitForOrderFillSettlementError, ds as WaitForTransactionError, dt as WalletDerivationConfig, du as WebSocketCloseCode, dv as WebSocketEndpoint, dw as WebSocketKnownCloseCode, dx as WithdrawFromPerpsError, dy as WithdrawFromPerpsRequest, dz as accountActions, dA as allActions, dB as analyticsActions, dC as createPublicClient, dD as createSecureClient, dE as dataActions, dF as discoveryActions, dG as forkEnvironmentConfig, dH as makeErrorGuard, dI as perpsActions, dJ as production, dK as rewardsActions, dL as rfqActions, dM as sessionKeyActions, dN as subscriptionsActions, dO as tradingActions, dP as walletActions } from './types-Cg8WP4aO.js';
16
+ export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-C9hVRTX2.js';
17
17
  export { BuilderRfqError, CollateralReturnKnownOperationKind, CollateralReturnOperation, CollateralReturnOperationKind, CollateralReturnPlanResponse, CollateralReturnPositionAmount, CollateralReturnPositionSummary, CollateralReturnRouterCall, ComboAcceptFailureReason, ComboQuoteUnavailableReason, RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqKnownErrorCode, RfqQuoteId, RfqQuoteRequest, RfqRejectionCode, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqStatus, RfqTrade } from '@polymarket/bindings/combos';
18
18
  export { CryptoPricesChainlinkTwapEvent, CryptoPricesChainlinkTwapSixtyEvent, CryptoPricesChainlinkTwapThirtyEvent, CryptoPricesChainlinkTwapWindowSeconds, PerpsSessionEvent } from '@polymarket/bindings/subscriptions';
19
19
  import 'zod';
@@ -69,12 +69,8 @@ declare const PerpsDepositCallError: {
69
69
  * @experimental This API may change in a breaking way in any release, including patch releases.
70
70
  */
71
71
  declare function perpsDepositCall(depositContractAddress: EvmAddress, tokenAddress: EvmAddress, amount: bigint, to: EvmAddress): TransactionCall;
72
- type CtfRedeemPositionsCallError = UserInputError;
73
- declare const CtfRedeemPositionsCallError: {
74
- isError(error: unknown): error is UserInputError;
75
- };
76
- type SplitPositionCallError = UserInputError;
77
- declare const SplitPositionCallError: {
72
+ type CtfSplitPositionCallError = UserInputError;
73
+ declare const CtfSplitPositionCallError: {
78
74
  isError(error: unknown): error is UserInputError;
79
75
  };
80
76
  /**
@@ -84,12 +80,12 @@ declare const SplitPositionCallError: {
84
80
  * @remarks
85
81
  * This is a low-level transaction builder that most SDK consumers will not need.
86
82
  *
87
- * @throws {@link SplitPositionCallError}
83
+ * @throws {@link CtfSplitPositionCallError}
88
84
  * Thrown when the amount is invalid.
89
85
  */
90
- declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
91
- type MergePositionsCallError = UserInputError;
92
- declare const MergePositionsCallError: {
86
+ declare function ctfSplitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
87
+ type CtfMergePositionsCallError = UserInputError;
88
+ declare const CtfMergePositionsCallError: {
93
89
  isError(error: unknown): error is UserInputError;
94
90
  };
95
91
  /**
@@ -99,10 +95,14 @@ declare const MergePositionsCallError: {
99
95
  * @remarks
100
96
  * This is a low-level transaction builder that most SDK consumers will not need.
101
97
  *
102
- * @throws {@link MergePositionsCallError}
98
+ * @throws {@link CtfMergePositionsCallError}
103
99
  * Thrown when the amount is invalid.
104
100
  */
105
- declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
101
+ declare function ctfMergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
102
+ type CtfRedeemPositionsCallError = UserInputError;
103
+ declare const CtfRedeemPositionsCallError: {
104
+ isError(error: unknown): error is UserInputError;
105
+ };
106
106
  /**
107
107
  * Creates a transaction call for `redeemPositions(address,bytes32,bytes32,uint256[])`
108
108
  * on Conditional Tokens-compatible contracts, including the collateral adapters.
@@ -114,39 +114,39 @@ declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAd
114
114
  * Thrown when the condition is invalid.
115
115
  */
116
116
  declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId): TransactionCall;
117
- type SplitV2CallError = UserInputError;
118
- declare const SplitV2CallError: {
117
+ type RouterSplitCallError = UserInputError;
118
+ declare const RouterSplitCallError: {
119
119
  isError(error: unknown): error is UserInputError;
120
120
  };
121
121
  /**
122
122
  * Creates a transaction call for protocol v2 Router `split(bytes31,uint256)`.
123
123
  *
124
- * @throws {@link SplitV2CallError}
124
+ * @throws {@link RouterSplitCallError}
125
125
  * Thrown when the condition ID or amount is invalid.
126
126
  */
127
- declare function splitV2Call(routerAddress: EvmAddress, conditionId: ComboConditionId, amount: bigint): TransactionCall;
128
- type MergeV2CallError = UserInputError;
129
- declare const MergeV2CallError: {
127
+ declare function routerSplitCall(routerAddress: EvmAddress, conditionId: ConditionId | ComboConditionId, amount: bigint): TransactionCall;
128
+ type RouterMergeCallError = UserInputError;
129
+ declare const RouterMergeCallError: {
130
130
  isError(error: unknown): error is UserInputError;
131
131
  };
132
132
  /**
133
133
  * Creates a transaction call for protocol v2 Router `merge(bytes31,uint256)`.
134
134
  *
135
- * @throws {@link MergeV2CallError}
135
+ * @throws {@link RouterMergeCallError}
136
136
  * Thrown when the condition ID or amount is invalid.
137
137
  */
138
- declare function mergeV2Call(routerAddress: EvmAddress, conditionId: ComboConditionId, amount: bigint): TransactionCall;
139
- type RedeemV2CallError = UserInputError;
140
- declare const RedeemV2CallError: {
138
+ declare function routerMergeCall(routerAddress: EvmAddress, conditionId: ConditionId | ComboConditionId, amount: bigint): TransactionCall;
139
+ type RouterRedeemCallError = UserInputError;
140
+ declare const RouterRedeemCallError: {
141
141
  isError(error: unknown): error is UserInputError;
142
142
  };
143
143
  /**
144
144
  * Creates a transaction call for protocol v2 Router `redeem(bytes31,uint256,uint256)`.
145
145
  *
146
- * @throws {@link RedeemV2CallError}
146
+ * @throws {@link RouterRedeemCallError}
147
147
  * Thrown when the condition ID, outcome index, or amount is invalid.
148
148
  */
149
- declare function redeemV2Call(routerAddress: EvmAddress, conditionId: ComboConditionId, outcomeIndex: 0 | 1, amount: bigint): TransactionCall;
149
+ declare function routerRedeemCall(routerAddress: EvmAddress, conditionId: ConditionId | ComboConditionId, outcomeIndex: 0 | 1, amount: bigint): TransactionCall;
150
150
  type CombinatorialPrepareConditionCallError = UserInputError;
151
151
  declare const CombinatorialPrepareConditionCallError: {
152
152
  isError(error: unknown): error is UserInputError;
@@ -226,4 +226,4 @@ declare function relayerApiKey(config: RelayerApiKeyConfig): ApiKeyAuthorization
226
226
  */
227
227
  declare function buildHmacSignature(secret: string, timestamp: number, method: string, requestPath: string, body?: string): Promise<string>;
228
228
 
229
- export { ApiKeyAuthorization, CombinatorialPrepareConditionCallError, CtfRedeemPositionsCallError, Erc20ApprovalCallError, Erc20TransferCallError, MergePositionsCallError, MergeV2CallError, PerpsDepositCallError, RedeemV2CallError, type RelayerApiKeyConfig, type RemoteBuilderSigningConfig, SplitPositionCallError, SplitV2CallError, TransactionCall, UserInputError, buildHmacSignature, combinatorialPrepareConditionCall, ctfRedeemPositionsCall, erc1155ApprovalForAllCall, erc20ApprovalCall, erc20TransferCall, mergePositionsCall, mergeV2Call, perpsDepositCall, redeemV2Call, relayerApiKey, remoteBuilderSigning, splitPositionCall, splitV2Call };
229
+ export { ApiKeyAuthorization, CombinatorialPrepareConditionCallError, CtfMergePositionsCallError, CtfRedeemPositionsCallError, CtfSplitPositionCallError, Erc20ApprovalCallError, Erc20TransferCallError, PerpsDepositCallError, type RelayerApiKeyConfig, type RemoteBuilderSigningConfig, RouterMergeCallError, RouterRedeemCallError, RouterSplitCallError, TransactionCall, UserInputError, buildHmacSignature, combinatorialPrepareConditionCall, ctfMergePositionsCall, ctfRedeemPositionsCall, ctfSplitPositionCall, erc1155ApprovalForAllCall, erc20ApprovalCall, erc20TransferCall, perpsDepositCall, relayerApiKey, remoteBuilderSigning, routerMergeCall, routerRedeemCall, routerSplitCall };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import {N,X,V,T as T$1,ra,pa,ze,xe,ve,te,re,pe as pe$1,zc,xc,vc,qb,na,Lc,Nc,Zc,Wb,Ub,Sb,Qb,Ob,Mb,Kb,Ib,Gb,ub,sb,tc,lc,jc,hc,hf,dg,Tf,Rf,Lf,bg,$f,Zf,Xf,Bc,Pf,Nf,Jc,Hc,Fc,Dc,rc,pc,nc,me as me$1,je,ie as ie$1,le as le$1,la,ja,ha,fa,da,ba,wf,uf,sf,pf,Vf,R as R$1,P as P$1,Xc,Vc,Tc,Rc,vd,dd,cd,Dd,Bd,zd,xd,ec,ac,ff,af,Te,hg,Wa,Sa,_a,va,Aa,K,L as L$1,Da,ae as ae$1,_d,Yd,Ud,Sd,Qd,ce as ce$1,Wd,Pc,_b,Yb,H,Ed,G,wa,I,gb,eb,Kd,Id,Jd,Gd,Hd,Fd,ib,Od,if as _if,kf,mf,J,gd,id,kd,jd,hd,ed,fd}from'./chunk-DB2YMGIT.js';export{tf as AcceptComboQuoteError,Va as ApproveErc1155ForAllError,Ra as ApproveErc20Error,Ld as ArmPerpsAutoCancelError,Uc as CancelAllError,Wc as CancelMarketOrdersError,Qc as CancelOrderError,Sc as CancelOrdersError,fc as CollateralReturnKnownOperationKind,C as CombinatorialPrepareConditionCallError,zf as ComboAcceptFailureReason,sa as ComboActivityType,Ae as ComboPositionOutcome,ne as ComboPositionSort,Be as ComboPositionStatus,Af as ComboQuoteUnavailableReason,Ad as CreateLimitOrderError,wd as CreateMarketOrderError,q as CtfRedeemPositionsCallError,ge as DepositToPerpsError,ye as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Yc as EstimateMarketPriceError,dc as ExecuteCollateralReturnPlanError,M as FetchClosedOnlyModeError,ic as FetchCommentsByIdError,oc as FetchEventError,sc as FetchEventLiveVolumeError,qc as FetchEventTagsError,Rb as FetchLastTradePriceError,Tb as FetchLastTradePricesError,Gc as FetchMarketError,Ic as FetchMarketTagsError,rb as FetchMidpointError,tb as FetchMidpointsError,U as FetchNotificationsError,Jb as FetchOrderBookError,Lb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,Vd as FetchPerpsBookError,be as FetchPerpsFeesError,Pd as FetchPerpsInstrumentsError,Rd as FetchPerpsTickerError,Td as FetchPerpsTickersError,ue as FetchPortfolioValueError,Fb as FetchPriceError,Vb as FetchPriceHistoryError,Hb as FetchPricesError,gf as FetchPublicProfileError,ag as FetchRelatedTagResourcesError,_f as FetchRelatedTagsError,ka as FetchRewardPercentagesError,xf as FetchRfqStatusError,Of as FetchSeriesError,Sf as FetchSportsMarketTypesError,Nb as FetchSpreadError,Pb as FetchSpreadsError,Yf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,we as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,uc as ListBuilderLeaderboardError,pb as ListBuilderTradesError,wc as ListBuilderVolumeError,qe as ListClosedPositionsError,qa as ListComboActivityError,Ec as ListComboMarketsError,se as ListComboPositionsError,kc as ListCommentsByUserAddressError,gc as ListCommentsError,Xb as ListCurrentRewardsError,mc as ListEventsError,Kc as ListMarketHoldersError,Oc as ListMarketPositionsError,Zb as ListMarketRewardsError,Cc as ListMarketsError,Mc as ListOpenInterestError,O as ListOpenOrdersError,Xd as ListPerpsCandlesError,Zd as ListPerpsFundingHistoryError,$d as ListPerpsTradesError,oe as ListPositionsError,Mf as ListSeriesError,Qf as ListSportsError,Wf as ListTagsError,cg as ListTeamsError,yc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,Xe as MergePositionsError,y as MergeV2CallError,de as OpenPerpsSessionError,of as OpenRfqSessionError,o as PerpsDepositCallError,Cd as PlaceLimitOrderError,yd as PlaceMarketOrderError,$b as PlanCollateralReturnError,ad as PostOrderError,bd as PostOrdersError,ef as RedeemPositionsError,A as RedeemV2CallError,rf as RequestComboQuoteError,ee as RevokePerpsCredentialsError,lf as RfqCancelQuoteError,kf as RfqCancelQuoteRejectedError,Bf as RfqConfirmationDecision,nf as RfqConfirmationError,mf as RfqConfirmationRejectedError,Cf as RfqDirection,Df as RfqExecutionStatus,Ef as RfqKnownErrorCode,jf as RfqQuoteError,if as RfqQuoteRejectedError,Ff as RfqRejectionCode,qf as RfqRequestRejectedError,Gf as RfqRequestedSizeUnit,Hf as RfqSide,If as RfqStatus,Kf as SearchError,Jf as SearchSort,Za as SetupTradingApprovalsError,r as SplitPositionCallError,Oe as SplitPositionError,w as SplitV2CallError,Uf as SubscribeError,gg as TransferErc20Error,Md as UpdatePerpsLeverageError,Nd as UpdatePerpsMarginError,vf as WaitForComboFillError,ud as WaitForOrderFillSettlementError,ta as WaitForTransactionError,he 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-DB2YMGIT.js';import {a,n,j,g as g$1,f as f$1,m as m$1,h,i,c,b as b$1,e}from'./chunk-MCGT5BAF.js';export{l as AutoCancelDailyLimitError,j as CancelledSigningError,e as ConnectionLostError,k as InsufficientLiquidityError,g as RateLimitError,f as RequestRejectedError,m as SigningError,h as TimeoutError,i as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,n as makeErrorGuard}from'./chunk-MCGT5BAF.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,PerpsKnownWithdrawalStatus,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce}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 {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var _o=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 Ko(t){return new se(t)}function Vo(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.#r(e)}catch(r){throw m$1.fromError(r,"Could not authorize the builder-authenticated request")}}async#s(){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#r(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.#s(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return _o.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 Lr(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 jo(t){return {listPositions:pe$1.bind(null,t),listClosedPositions:re.bind(null,t),listComboPositions:te.bind(null,t),fetchPortfolioValue:ve.bind(null,t),fetchTradedMarketCount:xe.bind(null,t),downloadAccountingSnapshot:ze.bind(null,t),listMarketPositions:Pc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function f(t,e={}){return {...e,user:e.user??t.account.wallet}}function oe(t){let e=jo(t);return t.isPublicClient()?e:{...e,listPositions:r=>pe$1(t,f(t,r)),listClosedPositions:r=>re(t,f(t,r)),listComboPositions:r=>te(t,f(t,r)),fetchPortfolioValue:r=>ve(t,f(t,r)),fetchTradedMarketCount:r=>xe(t,f(t,r)),downloadAccountingSnapshot:r=>ze(t,f(t,r)),listActivity:r=>pa(t,f(t,r)),listComboActivity:r=>ra(t,f(t,r)),listAccountTrades:T$1.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function ie(t){return {listBuilderTrades:qb.bind(null,t),listBuilderLeaderboard:vc.bind(null,t),fetchBuilderVolume:xc.bind(null,t),listTraderLeaderboard:zc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:tc.bind(null,t),fetchMidpoint:sb.bind(null,t),fetchMidpoints:ub.bind(null,t),fetchPrice:Gb.bind(null,t),fetchPrices:Ib.bind(null,t),fetchOrderBook:Kb.bind(null,t),fetchOrderBooks:Mb.bind(null,t),fetchSpread:Ob.bind(null,t),fetchSpreads:Qb.bind(null,t),fetchLastTradePrice:Sb.bind(null,t),fetchLastTradePrices:Ub.bind(null,t),fetchPriceHistory:Wb.bind(null,t),estimateMarketPrice:Zc.bind(null,t),listOpenInterest:Nc.bind(null,t),listMarketHolders:Lc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:nc.bind(null,t),fetchEvent:pc.bind(null,t),fetchEventTags:rc.bind(null,t),listMarkets:Dc.bind(null,t),listComboMarkets:Fc.bind(null,t),fetchMarket:Hc.bind(null,t),fetchMarketTags:Jc.bind(null,t),listSeries:Nf.bind(null,t),fetchSeries:Pf.bind(null,t),listMarketClarifications:Bc.bind(null,t),listTags:Xf.bind(null,t),fetchTag:Zf.bind(null,t),fetchRelatedTags:$f.bind(null,t),fetchRelatedTagResources:bg.bind(null,t),search:Lf.bind(null,t),listSports:Rf.bind(null,t),fetchSportsMarketTypes:Tf.bind(null,t),listTeams:dg.bind(null,t),fetchPublicProfile:hf.bind(null,t),listComments:hc.bind(null,t),fetchCommentsById:jc.bind(null,t),listCommentsByUserAddress:lc.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>Wd(t,r),fetchPerpsFees:()=>ce$1(t),fetchPerpsInstruments:r=>Qd(t,r),fetchPerpsTicker:r=>Sd(t,r),fetchPerpsTickers:r=>Ud(t,r),listPerpsCandles:r=>Yd(t,r),listPerpsFundingHistory:r=>_d(t,r),listPerpsTrades:r=>ae$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>le$1(t,r),openPerpsSession:r=>ie$1(t,r),revokePerpsCredentials:r=>je(t,r),withdrawFromPerps:r=>me$1(t,r)}:e}function zo(t){return {listCurrentRewards:Yb.bind(null,t),listMarketRewards:_b.bind(null,t)}}function de(t){let e=zo(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 Dr(t){return {openRfqSession(){return pf(t)},requestComboQuote(e){return sf(t,e)},acceptComboQuote(e){return uf(t,e)},waitForComboFill(e){return wf(t,e)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return Vf(t,e)}}:{subscribe(e){return Vf(t,e)}}}function Br(t){return {createMarketOrder:xd.bind(null,t),placeMarketOrder:zd.bind(null,t),createLimitOrder:Bd.bind(null,t),placeLimitOrder:Dd.bind(null,t),postOrder:cd(t),postOrders:dd(t),waitForOrderFillSettlement:vd.bind(null,t),cancelOrder:Rc.bind(null,t),cancelOrders:Tc.bind(null,t),cancelAll:Vc.bind(null,t),cancelMarketOrders:Xc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Wr(t){return {setupTradingApprovals:_a.bind(null,t),approveErc20:Sa.bind(null,t),approveErc1155ForAll:Wa.bind(null,t),transferErc20:hg.bind(null,t),splitPosition:Te.bind(null,t),mergePositions:af.bind(null,t),redeemPositions:ff.bind(null,t),planCollateralReturn:ac.bind(null,t),executeCollateralReturnPlan:ec.bind(null,t)}}function Qr(t){return t.isSecureClient()?{...oe(t),...ie(t),...ae(t),...ce(t),...ue(t),...de(t),...Dr(t),...pe(t),...Br(t),...Wr(t)}:{...oe(t),...ie(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"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",builderGateway:{rest:"https://combos-rfq-gateway-builder.polymarket.com"},collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},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 $o(t,e=le){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...R(e.clob,t.clob),market:O(e.clob.market,t.clob?.market),user:O(e.clob.user,t.clob?.user)},relayer:R(e.relayer,t.relayer),gamma:R(e.gamma,t.gamma),data:R(e.data,t.data),combos:{...Ur(e.combos,t.combos),builderGateway:R(e.combos.builderGateway,t.combos?.builderGateway),collateralReturn:R(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:Ur(e.perps,t.perps),rtds:O(e.rtds,t.rtds),sports:O(e.sports,t.sports)}}function R(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 Ur(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 wc=$o({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 Hr(t,e,r,s,n){let o=`${e}${r}${s}`;n!==void 0&&(o+=n);let i=await globalThis.crypto.subtle.importKey("raw",No(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",i,new TextEncoder().encode(o));return Yo(Go(A))}function No(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 Go(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function Yo(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;#s;constructor(e){this.#s=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.#r(n),entry:n}}#r(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.#s(this.#e)}};function he(t,e,r){let s=L(r.assetsIds,e.assetsIds),n=L(e.assetsIds,r.assetsIds);s.length>0&&t(_r(s,r.customFeatureEnabled));let o=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&o!==void 0&&t(_r([o],r.customFeatureEnabled)),n.length>0&&t(Zo(n));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Vr(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Kr(r.markets));return}let s=L(r.markets,e.markets),n=L(e.markets,r.markets);s.length>0&&t(Kr(s)),n.length>0&&t(Vr(n));}function jr(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 zr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Jr(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function $r(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function _r(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Zo(t){return {assets_ids:t,operation:"unsubscribe"}}function Nr(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 Kr(t){return {markets:t,operation:"subscribe"}}function Vr(t){return {markets:t,operation:"unsubscribe"}}function Gr(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 Yr(t){if(Jr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Jr(t){return (t.markets?.length??0)===0}function L(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var b=class{#e;#s;#r;#i=new Kd({heartbeat:new Fd});#o=new Jd;#t=new p({deriveServerState:jr});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Gr(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&&he(i=>this.#i.send(i),s,n);}catch(o){throw await this.#a(e),o}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}he(n=>this.#i.send(n),r,s);}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#i.close();}#u(){return this.#i.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff(),this.#f();}#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();}#h(){}#f(){this.#i.send($r(this.#t.serverState()));}#m(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var P=class{#e;#s;#r;#i;#o=new Kd({heartbeat:new Fd});#t=new Jd;#n=new p({deriveServerState:zr});constructor(e){this.#e=e.credentials,this.#s=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Yr(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&&fe(i=>this.#o.send(i),s,n);}catch(o){throw await this.#d(e),o}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#o.send(n),r,s);}async close(){this.#i===void 0&&(this.#i=this.#u().finally(()=>{this.#i=void 0;})),await this.#i;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#o.close();}#c(){return this.#o.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#s,url:this.#r})}#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);}}#h(){this.#n.hasActiveSubscriptions()&&this.#y();}#f(){}#m(e){this.#o.send(Nr(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var g=class{#e;#s;#r;#i;#o=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#s=e.headers,this.#r=e.restUrl,this.#i=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new Od({chainId:this.#e,credentials:e,headers:this.#s,onClose:n=>this.#d(n),restUrl:this.#r,wsUrl:this.#i});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.#o.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.#o),r=Array.from(this.#t),s=Array.from(this.#n);this.#o.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.#o.delete(e),this.#t.delete(e);}};var S=class{#e;#s;#r;#i=1;#o=new Kd({heartbeat:new Id});#t=new Jd;#n=new p({deriveServerState:ri});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:ni(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(Zr(r.before,r.after)),this.#y(Xr(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(Zr(r,s)),this.#y(Xr(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#u().finally(()=>{this.#r=void 0;})),await this.#r;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#o.close();}#c(){return this.#o.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#s})}#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);}#h(){this.#n.hasActiveSubscriptions()&&this.#S();}#f(){}#m(e){e.length!==0&&this.#o.send(this.#b("sub",e));}#y(e){e.length!==0&&this.#o.send(this.#b("unsub",e));}#b(e,r){return {id:this.#i++,req:e,chs:r}}#S(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function ri(t){let e=new Set,r=new Set,s=new Set,n=false,o=false;for(let{subscription:i}of t)switch(i.topic){case "perps.tickers":i.instrumentId===void 0?n=true:r.add(i.instrumentId);break;case "perps.statistics":i.instrumentId===void 0?o=true:s.add(i.instrumentId);break;default:e.add(si(i));}if(n)e.add("tickers::all");else for(let i of r)e.add(`tickers::${i}`);if(o)e.add("statistics::all");else for(let i of s)e.add(`statistics::${i}`);return e}function Zr(t,e){return Array.from(e).filter(r=>!t.has(r))}function Xr(t,e){return Array.from(t).filter(r=>!e.has(r))}function si(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 ni(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 rs(t,e){return {...e,quote:r=>t.quote(e,r)}}function ss(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 ns(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function os(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function is(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function as(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 cs(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 us(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 ds(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var D=class{#e=new Map;#s;constructor(e){this.#s=e;}waitFor(e,r){let s=ii(),n,o=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new h(r));},this.#s);n=s.promise.finally(()=>clearTimeout(o));let i=this.#e.get(e)??[];return i.push({...s,promise:n}),this.#e.set(e,i),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(o=>o.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 ii(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var ls="0x0000000000000000000000000000000000000000000000000000000000000000";async function ms(t){let e=J(t.account),r=gd({chainId:t.chainId,exchange:t.exchange}),s={builder:ls,maker:e.maker,makerAmount:toBaseUnits(hd(t.orderSide,t.orderPrice,t.size)),metadata:ls,salt:jd().toString(),side:kd(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(id(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},n;try{n=await t.signer.signTypedData(ed({domain:r,order:s}));}catch(o){throw m$1.fromError(o,"Could not sign the RFQ quote order.")}return {...s,signature:fd({domain:r,order:s,signature:n})}}var ys=DecimalishSchema.transform(t=>Rs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),ui=z.strictObject({price:ys.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:ys.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function bs(t){return G(t,ui)}async function Ss(t){let e=t.response.price,r=t.response.size===void 0?mi(t.request.requestedSize,e):t.response.size,s=await ms({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:pi(t.request,t.response.source,e),orderSide:li(t.response.source),signer:t.signer,size:r,tokenId:di(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function di(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function pi(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function li(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function mi(t,e){let r=Rs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function Rs(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 bi=3e4,Si=3e4,q=class{#e;#s;#r;#i;#o;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#i=e.exchange,this.#o=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.#s,credentials:this.#r,exchange:this.#i,headers:this.#o,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;#s;#r;#i;#o;#t;#n;#a;#d=new Kd;#u=pushable({objectMode:true});#c=new D(Si);#p;#l;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#i=e.exchange,this.#o=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=Ri();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},bi);try{await this.#d.connect({headers:this.#o,onConnectionLost:s=>this.#g(s),onError:()=>{},onMessage:s=>this.#R(s),onOpen:()=>this.#S(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#h(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#f()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#f(){let e=new c("RFQ quoter websocket closed.");this.#b(e),this.#u.end(),await this.#d.close(),this.#t();}async#m(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#b(e),this.#u.end(e),await this.#d.close(),this.#t();}#b(e){this.#l?.reject(e),this.#c.rejectAll(e);}#S(){this.#d.send(as(this.#e,this.#r));}#R(e){if(this.#p!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#P(s);return;case "quote_request":this.#u.push(rs(this,s));return;case "quote_ack":this.#c.resolve(B(s.rfqId),ns(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),os(s));return;case "confirmation_request":this.#u.push(ss(this,s));return;case "confirmation_ack":this.#c.resolve(Se(s.rfqId,s.quoteId),is(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#P(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#m(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(B(e.rfqId),new _if(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 kf(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(Se(e.rfqId,e.quoteId),new mf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=bs(r),n=await Ss({account:this.#e,chainId:this.#s,exchange:this.#i,request:e,response:s,signer:this.#n}),o=this.#c.waitFor(B(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#h(cs(e,n)),await o}catch(i){throw this.#c.remove(B(e.rfqId),o),i}}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.#h(us(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=Se(e,r),o=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#h(ds(e,r,s)),await o}catch(i){throw this.#c.remove(n,o),i}}};function B(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Se(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Ri(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var C=class{#e;#s;#r;#i=new Kd({heartbeat:new Gd});#o=new Jd;#t=new p({deriveServerState:Ci});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Ti(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:o}=r,i=gi(n,o);this.#m(i);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=qi(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#i.close();}#u(){return this.#i.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff(),this.#f();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#b();}#h(){}#f(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#i.send(vi(e));}#y(e){e.length!==0&&this.#i.send(Ai(e));}#b(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function gi(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function qi(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Ci(t){let e=new Map;for(let{subscription:r}of t)for(let s of Ei(r))e.has(s.key)||e.set(s.key,s);return e}function vi(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ai(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ei(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>T("comments",e));case "prices.crypto.binance":return [T("crypto_prices","update")];case "prices.crypto.chainlink":return [T("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [T(ki(t.windowSeconds),"update")];case "prices.equity.pyth":return [T("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function ki(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function T(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function Ti(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.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(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;#s;#r;#i=new Kd({heartbeat:new Hd});#o=new Jd;#t=new p;constructor(e){this.#e=e.headers,this.#s=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.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#i.close();}#u(){return this.#i.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#f();}#h(){}#f(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#s;get context(){return this.#e}get decorators(){return this.#s}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}get hasBuilderApiKey(){return this.context.apiKey?.isBuilderKey??false}constructor(e){this.#e=e,this.#s=[];}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.#s.push(e);}},Li=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),Di=z.object({wallet:EvmAddressSchema,credentials:Li.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}),Q=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new b({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 C({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new S({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,Di);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),o=s?.nonce??0,i=expectEvmAddress(yield wa()),A=expectEvmAddress(s.wallet),ve=I(this.environment,i,A);if(s.credentials!==void 0){let Ae=this.#e(s.credentials,ve,r);try{if((await gb(Ae)).includes(s.credentials.key))return Ae}catch(x){if(!(x instanceof f$1)||x.status!==401)throw x}}let gs=yield {kind:"signAuthMessage",payload:Lr({address:i,chainId:this.environment.chainId,nonce:o,timestamp:n})},qs=await eb(this,{address:i,nonce:o,signature:expectEvmSignature(gs),timestamp:n});return this.#e(qs,ve,r)}.call(this))}#e(e,r,s){let n=new Ce({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let o of this.decorators)n.extend(o);return n}},Ce=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 Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Ed({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),combos:new Ed({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:r=>this.resolveRelayerHeaders(r),root:e.environment.combos.collateralReturn.rest}),builderGateway:new Ed({headers:e.environment.combos.builderGateway.headers,resolveHeaders:async r=>({...await this.#s(r),...await this.#r(r)}),root:e.environment.combos.builderGateway.rest}),webSockets:{clobMarket:new b({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 q({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new C({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new S({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new g({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}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get builderGateway(){return this.context.builderGateway}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:o}=this.context;try{await ib(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let i=new Q({apiKey:n,environment:o});for(let A of this.decorators)i.extend(A);return i}async#s(e){return e.method!=="GET"&&this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):{}}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 Hr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw m$1.fromError(r,"Could not sign the L2-authenticated request")}}};function Ps(t={}){return new Q({environment:t.environment??le,apiKey:t.apiKey}).extend(Qr)}var Bi=n(j,g$1,f$1,m$1,h,i,c,b$1,a),Wi=n(a);async function Qi(t){let e=Ps({environment:t.environment,apiKey:t.apiKey}),r=await Ui(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 Hi(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 Ui(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 Hi(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{Bi as CreateSecureClientError,Wi as SetupGaslessWalletError,oe as accountActions,Qr as allActions,ie as analyticsActions,Hr as buildHmacSignature,Ps as createPublicClient,Qi as createSecureClient,ae as dataActions,ce as discoveryActions,$o as forkEnvironmentConfig,ue as perpsActions,wc as preproduction,le as production,Vo as relayerApiKey,Ko as remoteBuilderSigning,de as rewardsActions,Dr as rfqActions,pe as subscriptionsActions,Br as tradingActions,Wr as walletActions};//# sourceMappingURL=index.js.map
1
+ import {Q as Q$1,_,Y,W as W$1,ua,sa,Be,ze,xe,ve,te,re,Cc,Ac,yc,tb,qa,Oc,Qc,gd,Zb,Xb,Vb,Tb,Rb,Pb,Nb,Lb,Jb,xb,vb,wc,oc,mc,kc,kf,ng,bg,$f,Of,lg,jg,hg,fg,Ec,Sf,Qf,Mc,Kc,Ic,Gc,uc,sc,qc,oe as oe$1,le as le$1,ke,ne as ne$1,oa,ma,ka,ia,ga,ea,zf,xf,vf,sf,Zf,Vf,Xf,dg,U as U$1,S as S$1,_c,Yc,Wc,Uc,xd,md,ld,Fd,Dd,Bd,zd,hc,dc,if as _if,$e,Pe as Pe$1,rg,Za,Va,bb,ya,Da,N,O,Ga,ce as ce$1,ae as ae$1,_d,Wd,Ud,Sd,ee,Yd,Sc,bc,$b,J,Gd,I,za,L as L$1,jb,hb,Md,Kd,Ld,Id,Jd,Hd,lb,Qd,lf,nf,pf,M,bd,dd,ed,cd,$c,ad}from'./chunk-RUTB3ZZX.js';export{wf as AcceptComboQuoteError,Ya as ApproveErc1155ForAllError,Ua as ApproveErc20Error,Nd as ArmPerpsAutoCancelError,Wf as AuthorizeSessionKeyError,Xc as CancelAllError,Zc as CancelMarketOrdersError,Tc as CancelOrderError,Vc as CancelOrdersError,ic as CollateralReturnKnownOperationKind,E as CombinatorialPrepareConditionCallError,Cf as ComboAcceptFailureReason,va as ComboActivityType,Ce as ComboPositionOutcome,pe as ComboPositionSort,De as ComboPositionStatus,Df as ComboQuoteUnavailableReason,Cd as CreateLimitOrderError,yd as CreateMarketOrderError,u as CtfMergePositionsCallError,w as CtfRedeemPositionsCallError,s as CtfSplitPositionCallError,ie as DepositToPerpsError,Ae as DownloadAccountingSnapshotError,Z as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,fd as EstimateMarketPriceError,gc as ExecuteCollateralReturnPlanError,P as FetchClosedOnlyModeError,lc as FetchCommentsByIdError,rc as FetchEventError,vc as FetchEventLiveVolumeError,tc as FetchEventTagsError,Ub as FetchLastTradePriceError,Wb as FetchLastTradePricesError,Jc as FetchMarketError,Lc as FetchMarketTagsError,ub as FetchMidpointError,wb as FetchMidpointsError,X as FetchNotificationsError,Mb as FetchOrderBookError,Ob as FetchOrderBooksError,T as FetchOrderError,da as FetchOrderScoringError,fa as FetchOrdersScoringError,Xd as FetchPerpsBookError,de as FetchPerpsFeesError,Rd as FetchPerpsInstrumentsError,Td as FetchPerpsTickerError,Vd as FetchPerpsTickersError,we as FetchPortfolioValueError,Ib as FetchPriceError,Yb as FetchPriceHistoryError,Kb as FetchPricesError,jf as FetchPublicProfileError,kg as FetchRelatedTagResourcesError,ig as FetchRelatedTagsError,na as FetchRewardPercentagesError,Af as FetchRfqStatusError,Rf as FetchSeriesError,Uf as FetchSessionKeysError,ag as FetchSportsMarketTypesError,Qb as FetchSpreadError,Sb as FetchSpreadsError,gg as FetchTagError,ja as FetchTotalEarningsForUserForDayError,ye as FetchTradedMarketCountError,V as ListAccountTradesError,ra as ListActivityError,xc as ListBuilderLeaderboardError,sb as ListBuilderTradesError,zc as ListBuilderVolumeError,se as ListClosedPositionsError,ta as ListComboActivityError,Hc as ListComboMarketsError,ue as ListComboPositionsError,nc as ListCommentsByUserAddressError,jc as ListCommentsError,_b as ListCurrentRewardsError,pc as ListEventsError,Nc as ListMarketHoldersError,Rc as ListMarketPositionsError,ac as ListMarketRewardsError,Fc as ListMarketsError,Pc as ListOpenInterestError,R as ListOpenOrdersError,Zd as ListPerpsCandlesError,$d as ListPerpsFundingHistoryError,be as ListPerpsTradesError,qe as ListPositionsError,Pf as ListSeriesError,_f as ListSportsError,eg as ListTagsError,mg as ListTeamsError,Bc as ListTraderLeaderboardError,pa as ListTradesError,la as ListUserEarningsAndMarketsConfigError,ha as ListUserEarningsForDayError,a as MAX_UINT256,We as MergePositionsError,fe as OpenPerpsSessionError,rf as OpenRfqSessionError,q as PerpsDepositCallError,Ed as PlaceLimitOrderError,Ad as PlaceMarketOrderError,cc as PlanCollateralReturnError,jd as PostOrderError,kd as PostOrdersError,hf as RedeemPositionsError,uf as RequestComboQuoteError,ge as RevokePerpsCredentialsError,Yf as RevokeSessionKeyError,of as RfqCancelQuoteError,nf as RfqCancelQuoteRejectedError,Ef as RfqConfirmationDecision,qf as RfqConfirmationError,pf as RfqConfirmationRejectedError,Ff as RfqDirection,Gf as RfqExecutionStatus,Hf as RfqKnownErrorCode,mf as RfqQuoteError,lf as RfqQuoteRejectedError,If as RfqRejectionCode,tf as RfqRequestRejectedError,Jf as RfqRequestedSizeUnit,Kf as RfqSide,Lf as RfqStatus,A as RouterMergeCallError,C as RouterRedeemCallError,y as RouterSplitCallError,Nf as SearchError,Mf as SearchSort,Tf as SessionKeyKnownScope,ab as SetupTradingApprovalsError,K as SignerType,Ke as SplitPositionError,cg as SubscribeError,qg as TransferErc20Error,Od as UpdatePerpsLeverageError,Pd as UpdatePerpsMarginError,yf as WaitForComboFillError,wd as WaitForOrderFillSettlementError,wa as WaitForTransactionError,je as WithdrawFromPerpsError,o as authorizeSessionSignerCall,F as combinatorialPrepareConditionCall,v as ctfMergePositionsCall,x as ctfRedeemPositionsCall,t as ctfSplitPositionCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,G as encodeProxyCall,H as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,xa as expectTransactionHandle,r as perpsDepositCall,p as revokeSessionSignerCall,B as routerMergeCall,D as routerRedeemCall,z as routerSplitCall}from'./chunk-RUTB3ZZX.js';import {a,o,k,h,g as g$1,n,i,j,c,b as b$1,e}from'./chunk-DLZLJOGO.js';export{m as AutoCancelDailyLimitError,k as CancelledSigningError,e as ConnectionLostError,l as InsufficientLiquidityError,h as RateLimitError,g as RequestRejectedError,n as SigningError,i as TimeoutError,f as TradingRestriction,j as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,o as makeErrorGuard}from'./chunk-DLZLJOGO.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{NotificationType,OrderResponseErrorCode,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,PerpsKnownWithdrawalStatus,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce}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 {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var Go=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 Yo(t){return new ie(t)}function Jo(t){return new oe(t)}var ie=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#r(e)}catch(r){throw n.fromError(r,"Could not authorize the builder-authenticated request")}}async#s(){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#r(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.#s(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return Go.parse(await r.json())}},oe=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 Dr(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 Zo(t){return {listPositions:re.bind(null,t),listClosedPositions:te.bind(null,t),listComboPositions:ve.bind(null,t),fetchPortfolioValue:xe.bind(null,t),fetchTradedMarketCount:ze.bind(null,t),downloadAccountingSnapshot:Be.bind(null,t),listMarketPositions:Sc.bind(null,t),listActivity:sa.bind(null,t),listComboActivity:ua.bind(null,t)}}function y(t,e={}){return {...e,user:e.user??t.account.wallet}}function ne(t){let e=Zo(t);return t.isPublicClient()?e:{...e,listPositions:r=>re(t,y(t,r)),listClosedPositions:r=>te(t,y(t,r)),listComboPositions:r=>ve(t,y(t,r)),fetchPortfolioValue:r=>xe(t,y(t,r)),fetchTradedMarketCount:r=>ze(t,y(t,r)),downloadAccountingSnapshot:r=>Be(t,y(t,r)),listActivity:r=>sa(t,y(t,r)),listComboActivity:r=>ua(t,y(t,r)),listAccountTrades:W$1.bind(null,t),fetchNotifications:Y.bind(null,t),dropNotifications:_.bind(null,t),fetchClosedOnlyMode:Q$1.bind(null,t)}}function ae(t){return {listBuilderTrades:tb.bind(null,t),listBuilderLeaderboard:yc.bind(null,t),fetchBuilderVolume:Ac.bind(null,t),listTraderLeaderboard:Cc.bind(null,t)}}function ce(t){return {fetchEventLiveVolume:wc.bind(null,t),fetchMidpoint:vb.bind(null,t),fetchMidpoints:xb.bind(null,t),fetchPrice:Jb.bind(null,t),fetchPrices:Lb.bind(null,t),fetchOrderBook:Nb.bind(null,t),fetchOrderBooks:Pb.bind(null,t),fetchSpread:Rb.bind(null,t),fetchSpreads:Tb.bind(null,t),fetchLastTradePrice:Vb.bind(null,t),fetchLastTradePrices:Xb.bind(null,t),fetchPriceHistory:Zb.bind(null,t),estimateMarketPrice:gd.bind(null,t),listOpenInterest:Qc.bind(null,t),listMarketHolders:Oc.bind(null,t),listTrades:qa.bind(null,t)}}function ue(t){return {listEvents:qc.bind(null,t),fetchEvent:sc.bind(null,t),fetchEventTags:uc.bind(null,t),listMarkets:Gc.bind(null,t),listComboMarkets:Ic.bind(null,t),fetchMarket:Kc.bind(null,t),fetchMarketTags:Mc.bind(null,t),listSeries:Qf.bind(null,t),fetchSeries:Sf.bind(null,t),listMarketClarifications:Ec.bind(null,t),listTags:fg.bind(null,t),fetchTag:hg.bind(null,t),fetchRelatedTags:jg.bind(null,t),fetchRelatedTagResources:lg.bind(null,t),search:Of.bind(null,t),listSports:$f.bind(null,t),fetchSportsMarketTypes:bg.bind(null,t),listTeams:ng.bind(null,t),fetchPublicProfile:kf.bind(null,t),listComments:kc.bind(null,t),fetchCommentsById:mc.bind(null,t),listCommentsByUserAddress:oc.bind(null,t)}}function de(t){let e={fetchPerpsBook:r=>Yd(t,r),fetchPerpsFees:()=>ee(t),fetchPerpsInstruments:r=>Sd(t,r),fetchPerpsTicker:r=>Ud(t,r),fetchPerpsTickers:r=>Wd(t,r),listPerpsCandles:r=>_d(t,r),listPerpsFundingHistory:r=>ae$1(t,r),listPerpsTrades:r=>ce$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>ne$1(t,r),openPerpsSession:r=>ke(t,r),revokePerpsCredentials:r=>le$1(t,r),withdrawFromPerps:r=>oe$1(t,r)}:e}function Xo(t){return {listCurrentRewards:$b.bind(null,t),listMarketRewards:bc.bind(null,t)}}function pe(t){let e=Xo(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ea.bind(null,t),fetchOrdersScoring:ga.bind(null,t),listUserEarningsForDay:ia.bind(null,t),fetchTotalEarningsForUserForDay:ka.bind(null,t),listUserEarningsAndMarketsConfig:ma.bind(null,t),fetchRewardPercentages:oa.bind(null,t)}}function Ur(t){return {openRfqSession(){return sf(t)},requestComboQuote(e){return vf(t,e)},acceptComboQuote(e){return xf(t,e)},waitForComboFill(e){return zf(t,e)}}}function Wr(t){return {authorizeSessionKey:Xf.bind(null,t),fetchSessionKeys:Vf.bind(null,t),revokeSessionKey:Zf.bind(null,t)}}function le(t){return t.isSecureClient()?{subscribe(e){return dg(t,e)}}:{subscribe(e){return dg(t,e)}}}function Qr(t){return {createMarketOrder:zd.bind(null,t),placeMarketOrder:Bd.bind(null,t),createLimitOrder:Dd.bind(null,t),placeLimitOrder:Fd.bind(null,t),postOrder:ld(t),postOrders:md(t),waitForOrderFillSettlement:xd.bind(null,t),cancelOrder:Uc.bind(null,t),cancelOrders:Wc.bind(null,t),cancelAll:Yc.bind(null,t),cancelMarketOrders:_c.bind(null,t),listOpenOrders:S$1.bind(null,t),fetchOrder:U$1.bind(null,t)}}function Kr(t){return {setupTradingApprovals:bb.bind(null,t),approveErc20:Va.bind(null,t),approveErc1155ForAll:Za.bind(null,t),transferErc20:rg.bind(null,t),splitPosition:Pe$1.bind(null,t),mergePositions:$e.bind(null,t),redeemPositions:_if.bind(null,t),planCollateralReturn:dc.bind(null,t),executeCollateralReturnPlan:hc.bind(null,t)}}function Hr(t){return t.isSecureClient()?{...ne(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t),...Ur(t),...Wr(t),...le(t),...Qr(t),...Kr(t)}:{...ne(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t),...le(t)}}var me={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"),binaryModule:expectEvmAddress("0x1000008dD9001B968442c1000017eaE6E0dA00Ba"),negRiskModule:expectEvmAddress("0x200000900045e3B6259600682756002200028933"),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"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",builderGateway:{rest:"https://combos-rfq-gateway-builder.polymarket.com"},collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},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 en(t,e=me){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...P(e.clob,t.clob),market:L(e.clob.market,t.clob?.market),user:L(e.clob.user,t.clob?.user)},relayer:P(e.relayer,t.relayer),gamma:P(e.gamma,t.gamma),data:P(e.data,t.data),combos:{..._r(e.combos,t.combos),builderGateway:P(e.combos.builderGateway,t.combos?.builderGateway),collateralReturn:P(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:_r(e.perps,t.perps),rtds:L(e.rtds,t.rtds),sports:L(e.sports,t.sports)}}function P(t,e){return {...t,...e,headers:he(t.headers,e?.headers)}}function L(t,e){return {...t,...e,headers:he(t.headers,e?.headers)}}function _r(t,e){return {...t,...e,headers:he(t.headers,e?.headers)}}function he(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var jc=en({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 zr(t,e,r,s,i){let o=`${e}${r}${s}`;i!==void 0&&(o+=i);let n=await globalThis.crypto.subtle.importKey("raw",tn(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),R=await globalThis.crypto.subtle.sign("HMAC",n,new TextEncoder().encode(o));return sn(rn(R))}function tn(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let i=0;i<r.length;i+=1)s[i]=r.charCodeAt(i);return s.buffer}function rn(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function sn(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;#s;constructor(e){this.#s=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let i={subscription:e,subscriber:s};return {change:this.#r(i),entry:i}}#r(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.#s(this.#e)}};function ye(t,e,r){let s=B(r.assetsIds,e.assetsIds),i=B(e.assetsIds,r.assetsIds);s.length>0&&t(Vr(s,r.customFeatureEnabled));let o=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&o!==void 0&&t(Vr([o],r.customFeatureEnabled)),i.length>0&&t(nn(i));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t($r(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(jr(r.markets));return}let s=B(r.markets,e.markets),i=B(e.markets,r.markets);s.length>0&&t(jr(s)),i.length>0&&t($r(i));}function Nr(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let i of s.assetIds??s.tokenIds)e.add(i);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Gr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(es(s)){e=true;continue}for(let i of s.markets??[])r.add(i);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Yr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Vr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function nn(t){return {assets_ids:t,operation:"unsubscribe"}}function Jr(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 jr(t){return {markets:t,operation:"subscribe"}}function $r(t){return {markets:t,operation:"unsubscribe"}}function Zr(t){let e=t.assetIds??t.tokenIds;return r=>{switch(r.type){case "price_change":return r.payload.priceChanges.some(s=>e.includes(s.assetId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(r.payload.assetIds??[]).some(s=>e.includes(s));case "best_bid_ask":return t.customFeatureEnabled===true&&e.includes(r.payload.assetId);default:return e.includes(r.payload.assetId)}}}function Xr(t){if(es(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function es(t){return (t.markets?.length??0)===0}function B(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#s;#r;#n=new Md({heartbeat:new Hd});#o=new Ld;#t=new p({deriveServerState:Nr});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Zr(e)});return await this.#i(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#i(e,r){let{before:s,after:i}=r;try{(await this.#u()).reusedOpenSocket&&ye(n=>this.#n.send(n),s,i);}catch(o){throw await this.#a(e),o}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}ye(i=>this.#n.send(i),r,s);}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#n.close();}#u(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff(),this.#y();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=MarketEventSchema.safeParse(s);i.success&&this.#t.dispatch(i.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#h(){}#y(){this.#n.send(Yr(this.#t.serverState()));}#m(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var g=class{#e;#s;#r;#n;#o=new Md({heartbeat:new Hd});#t=new Ld;#i=new p({deriveServerState:Gr});constructor(e){this.#e=e.credentials,this.#s=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#i.add(e,{matches:Xr(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:i}=r;try{(await this.#c()).reusedOpenSocket&&fe(n=>this.#o.send(n),s,i);}catch(o){throw await this.#d(e),o}}async#d(e){let{before:r,after:s}=this.#i.remove(e);if(!this.#i.hasActiveSubscriptions()){await this.close();return}fe(i=>this.#o.send(i),r,s);}async close(){this.#n===void 0&&(this.#n=this.#u().finally(()=>{this.#n=void 0;})),await this.#n;}async#u(){this.#t.stop(),this.#i.endAll(),await this.#o.close();}#c(){return this.#o.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#y(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#s,url:this.#r})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let i=UserEventSchema.safeParse(s);i.success&&this.#i.dispatch(i.data);}}#h(){this.#i.hasActiveSubscriptions()&&this.#f();}#y(){}#m(e){this.#o.send(Jr(this.#i.serverState(),e));}#f(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#i.hasActiveSubscriptions()});}};var q=class{#e;#s;#r;#n;#o=new Set;#t=new Set;#i=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#s=e.headers,this.#r=e.restUrl,this.#n=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.#s,onClose:i=>this.#d(i),restUrl:this.#r,wsUrl:this.#n});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.#o.add(r),r}catch(i){throw await r.close(),i}finally{this.#i.delete(s),this.#t.delete(r);}})(),this.#i.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#o),r=Array.from(this.#t),s=Array.from(this.#i);this.#o.clear(),this.#t.clear(),this.#i.clear(),await Promise.allSettled([...e.map(i=>i.close()),...r.map(i=>i.close()),...s.map(i=>i.catch(()=>{}))]).then(()=>{});}#d(e){this.#o.delete(e),this.#t.delete(e);}};var b=class{#e;#s;#r;#n=1;#o=new Md({heartbeat:new Kd});#t=new Ld;#i=new p({deriveServerState:dn});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#i.add(e,{matches:ln(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(ts(r.before,r.after)),this.#f(rs(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#i.remove(e);this.#m(ts(r,s)),this.#f(rs(r,s)),this.#i.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#u().finally(()=>{this.#r=void 0;})),await this.#r;}async#u(){this.#t.stop(),this.#i.endAll(),await this.#o.close();}#c(){return this.#o.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#y(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#s})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#i.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#i.dispatch(r.data);}#h(){this.#i.hasActiveSubscriptions()&&this.#b();}#y(){}#m(e){e.length!==0&&this.#o.send(this.#S("sub",e));}#f(e){e.length!==0&&this.#o.send(this.#S("unsub",e));}#S(e,r){return {id:this.#n++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#i.hasActiveSubscriptions()});}};function dn(t){let e=new Set,r=new Set,s=new Set,i=false,o=false;for(let{subscription:n}of t)switch(n.topic){case "perps.tickers":n.instrumentId===void 0?i=true:r.add(n.instrumentId);break;case "perps.statistics":n.instrumentId===void 0?o=true:s.add(n.instrumentId);break;default:e.add(pn(n));}if(i)e.add("tickers::all");else for(let n of r)e.add(`tickers::${n}`);if(o)e.add("statistics::all");else for(let n of s)e.add(`statistics::${n}`);return e}function ts(t,e){return Array.from(e).filter(r=>!t.has(r))}function rs(t,e){return Array.from(t).filter(r=>!e.has(r))}function pn(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 ln(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 os(t,e){return {...e,quote:r=>t.quote(e,r)}}function ns(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 as(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function cs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function us(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function ds(t,e){let r=M(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 ps(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 ls(t,e,r){let s=M(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function ms(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var D=class{#e=new Map;#s;constructor(e){this.#s=e;}waitFor(e,r){let s=hn(),i$1,o=setNonBlockingTimeout(()=>{this.remove(e,i$1),s.reject(new i(r));},this.#s);i$1=s.promise.finally(()=>clearTimeout(o));let n=this.#e.get(e)??[];return n.push({...s,promise:i$1}),this.#e.set(e,n),i$1}resolve(e,r){let s=this.#e.get(e),i=s?.shift();i!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),i.resolve(r));}reject(e,r){let s=this.#e.get(e),i=s?.shift();i!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),i.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let i=s.filter(o=>o.promise!==r);i.length===0?this.#e.delete(e):this.#e.set(e,i);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function hn(){let t,e;return {promise:new Promise((s,i)=>{t=s,e=i;}),reject:e,resolve:t}}var ys="0x0000000000000000000000000000000000000000000000000000000000000000";async function fs(t){let e=M(t.account),r=bd({chainId:t.chainId,exchange:t.exchange}),s={builder:ys,maker:e.maker,makerAmount:toBaseUnits(cd(t.orderSide,t.orderPrice,t.size)),metadata:ys,salt:yn().toString(),side:ed(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(dd(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},i;try{i=await t.signer.signTypedData($c({domain:r,order:s}));}catch(o){throw n.fromError(o,"Could not sign the RFQ quote order.")}return {...s,signature:ad({domain:r,order:s,signature:i})}}function yn(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var Rs=DecimalishSchema.transform(t=>qs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),bn=z.strictObject({price:Rs.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:Rs.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function Ps(t){return I(t,bn)}async function gs(t){let e=t.response.price,r=t.response.size===void 0?qn(t.request.requestedSize,e):t.response.size,s=await fs({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:Pn(t.request,t.response.source,e),orderSide:gn(t.response.source),signer:t.signer,size:r,tokenId:Rn(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Rn(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function Pn(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function gn(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function qn(t,e){let r=qs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function qs(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 i=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(i<=0n)throw new a("Value must be greater than 0.");return i}var En=3e4,kn=3e4,C=class{#e;#s;#r;#n;#o;#t;#i;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#n=e.exchange,this.#o=e.headers,this.#t=e.signer,this.#i=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 Pe({account:this.#e,chainId:this.#s,credentials:this.#r,exchange:this.#n,headers:this.#o,onClose:()=>this.#p(e),signer:this.#t,url:this.#i});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);}},Pe=class{#e;#s;#r;#n;#o;#t;#i;#a;#d=new Md;#u=pushable({objectMode:true});#c=new D(kn);#p;#l;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#n=e.exchange,this.#o=e.headers,this.#t=e.onClose,this.#i=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Tn();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},En);try{await this.#d.connect({headers:this.#o,onConnectionLost:s=>this.#g(s),onError:()=>{},onMessage:s=>this.#R(s),onOpen:()=>this.#b(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#h(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#y()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#y(){let e=new c("RFQ quoter websocket closed.");this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}async#m(e){this.#p===void 0&&(this.#p=this.#f(e)),await this.#p;}async#f(e){this.#S(e),this.#u.end(e),await this.#d.close(),this.#t();}#S(e){this.#l?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(ds(this.#e,this.#r));}#R(e){if(this.#p!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#P(s);return;case "quote_request":this.#u.push(os(this,s));return;case "quote_ack":this.#c.resolve(U(s.rfqId),as(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),cs(s));return;case "confirmation_request":this.#u.push(ns(this,s));return;case "confirmation_ack":this.#c.resolve(Re(s.rfqId,s.quoteId),us(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#P(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#m(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(U(e.rfqId),new lf(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 nf(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(Re(e.rfqId,e.quoteId),new pf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=Ps(r),i=await gs({account:this.#e,chainId:this.#s,exchange:this.#n,request:e,response:s,signer:this.#i}),o=this.#c.waitFor(U(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#h(ps(e,i)),await o}catch(n){throw this.#c.remove(U(e.rfqId),o),n}}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.#h(ls(this.#e,e.rfqId,e.quoteId)),await s}catch(i){throw this.#c.remove(r,s),i}}async respondToConfirmation(e,r,s){let i=Re(e,r),o=this.#c.waitFor(i,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#h(ms(e,r,s)),await o}catch(n){throw this.#c.remove(i,o),n}}};function U(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Re(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Tn(){let t,e;return {promise:new Promise((s,i)=>{t=s,e=i;}),reject:e,resolve:t}}var A=class{#e;#s;#r;#n=new Md({heartbeat:new Id});#o=new Ld;#t=new p({deriveServerState:Fn});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Dn(e)});return await this.#i(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#i(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:i,after:o}=r,n=xn(i,o);this.#m(n);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),i=Mn(r,s);this.#f(i),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#n.close();}#u(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff(),this.#y();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#S();}#h(){}#y(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#n.send(In(e));}#f(e){e.length!==0&&this.#n.send(On(e));}#S(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function xn(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function Mn(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Fn(t){let e=new Map;for(let{subscription:r}of t)for(let s of Ln(r))e.has(s.key)||e.set(s.key,s);return e}function In(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function On(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ln(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>T("comments",e));case "prices.crypto.binance":return [T("crypto_prices","update")];case "prices.crypto.chainlink":return [T("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [T(Bn(t.windowSeconds),"update")];case "prices.equity.pyth":return [T("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function Bn(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function T(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function Dn(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.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(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;#s;#r;#n=new Md({heartbeat:new Jd});#o=new Ld;#t=new p;constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#i(r),m(r.subscriber.queue,()=>this.#a(r))}async#i(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.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#n.close();}#u(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#y();}#h(){}#y(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#s;get context(){return this.#e}get decorators(){return this.#s}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}get hasBuilderApiKey(){return this.context.apiKey?.isBuilderKey??false}constructor(e){this.#e=e,this.#s=[];}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.#s.push(e);}},zn=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),Vn=z.object({wallet:EvmAddressSchema,credentials:zn.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}),Q=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,onRateLimitUpdate:e.onRateLimitUpdate,data:new Gd({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Gd({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Gd({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Gd({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Gd({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Gd({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new J({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 A({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=I(e,Vn);return Promise.resolve(async function*(){let i=Math.floor(Date.now()/1e3),o=s?.nonce??0,n=expectEvmAddress(yield za()),R=expectEvmAddress(s.wallet),x=L$1(this.environment,n,R);if(s.credentials!==void 0){let ve=this.#e(s.credentials,x,r);try{if((await jb(ve)).includes(s.credentials.key))return ve}catch(M){if(!(M instanceof g$1)||M.status!==401)throw M}}let As=yield {kind:"signAuthMessage",payload:Dr({address:n,chainId:this.environment.chainId,nonce:o,timestamp:i})},vs=await hb(this,{address:n,nonce:o,signature:expectEvmSignature(As),timestamp:i});return this.#e(vs,x,r)}.call(this))}#e(e,r,s){let i=new Ae({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,onRateLimitUpdate:this.context.onRateLimitUpdate,signer:s});for(let o of this.decorators)i.extend(o);return i}},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,onRateLimitUpdate:e.onRateLimitUpdate,signer:e.signer,clob:new Gd({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Gd({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new J({url:e.environment.rpc}),gamma:new Gd({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Gd({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Gd({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Gd({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Gd({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),combos:new Gd({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:r=>this.resolveRelayerHeaders(r),root:e.environment.combos.collateralReturn.rest}),builderGateway:new Gd({headers:e.environment.combos.builderGateway.headers,resolveHeaders:async r=>({...await this.#s(r),...await this.#r(r)}),root:e.environment.combos.builderGateway.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new g({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new C({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new A({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 q({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}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get builderGateway(){return this.context.builderGateway}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:i,environment:o,onRateLimitUpdate:n}=this.context;try{await lb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let R=new Q({apiKey:i,environment:o,onRateLimitUpdate:n});for(let x of this.decorators)R.extend(x);return R}async#s(e){return e.method!=="GET"&&this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):{}}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 zr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw n.fromError(r,"Could not sign the L2-authenticated request")}}};function Cs(t={}){return new Q({environment:t.environment??me,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate}).extend(Hr)}var jn=o(k,h,g$1,n,i,j,c,b$1,a),$n=o(a);async function Nn(t){let e=Cs({environment:t.environment,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate}),r=await Gn(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(ya(t.signer));if(s.account.walletType===WalletType.EOA||await Da(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await Yn(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 Gn(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=N(r,t.environment.walletDerivation);return await Da(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:O(r,t.environment.walletDerivation)}async function Yn(t){let e=O(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 Ga(t)).wait();}
2
+ export{jn as CreateSecureClientError,$n as SetupGaslessWalletError,ne as accountActions,Hr as allActions,ae as analyticsActions,zr as buildHmacSignature,Cs as createPublicClient,Nn as createSecureClient,ce as dataActions,ue as discoveryActions,en as forkEnvironmentConfig,de as perpsActions,jc as preproduction,me as production,Jo as relayerApiKey,Yo as remoteBuilderSigning,pe as rewardsActions,Ur as rfqActions,Wr as sessionKeyActions,le as subscriptionsActions,Qr as tradingActions,Kr as walletActions};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map