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