@polymarket/client 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {PolymarketError}from'@polymarket/types';var n=class s extends PolymarketError{name="TransportError";constructor(r,t={}){super(r,t);}static fromError(r){return new s(r instanceof Error?r.message:"Request failed",{cause:r})}};var a=class extends PolymarketError{name="TimeoutError";constructor(r,t={}){super(r,t);}},o=class extends PolymarketError{name="TransactionFailedError";constructor(r,t={}){super(r,t);}},i=class s extends PolymarketError{name="CancelledSigningError";constructor(r,t={}){super(r,t);}static fromError(r){return new s(r.message,{cause:r})}};var p=class s extends PolymarketError{name="SigningError";constructor(r,t={}){super(r,t);}static fromError(r,t){let c=t??(r instanceof Error?r.message:"Signing failed");return new s(c,{cause:r})}};export{n as a,a as b,o as c,i as d,p as e};//# sourceMappingURL=chunk-ZH5ERGHG.js.map
2
+ //# sourceMappingURL=chunk-ZH5ERGHG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors.ts"],"names":["TransportError","_TransportError","PolymarketError","message","options","error","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","SigningError","_SigningError","msg"],"mappings":"gDAoDO,IAAMA,EAAN,MAAMC,CAAAA,SAAuBC,eAAgB,CACzC,KAAO,gBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAUC,EAAgC,CAC/C,OAAO,IAAIJ,CAAAA,CACTI,aAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,gBAAA,CACzC,CACE,KAAA,CAAOA,CACT,CACF,CACF,CACF,EAwKO,IAAMC,CAAAA,CAAN,cAA2BJ,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaG,CAAAA,CAAN,cAAqCL,eAAgB,CACjD,IAAA,CAAO,wBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CACF,CAAA,CAKaI,CAAAA,CAAN,MAAMC,CAAAA,SAA8BP,eAAgB,CAChD,IAAA,CAAO,uBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAqC,CACpD,OAAO,IAAII,EAAsBJ,CAAAA,CAAM,OAAA,CAAS,CAC9C,KAAA,CAAOA,CACT,CAAC,CACH,CACF,MAkCaK,CAAAA,CAAN,MAAMC,CAAAA,SAAqBT,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAgBF,CAAAA,CAAgC,CAC/D,IAAMS,EACJT,CAAAA,GAAYE,CAAAA,YAAiB,KAAA,CAAQA,CAAAA,CAAM,QAAU,gBAAA,CAAA,CACvD,OAAO,IAAIM,CAAAA,CAAaC,EAAK,CAAE,KAAA,CAAOP,CAAM,CAAC,CAC/C,CACF","file":"chunk-ZH5ERGHG.js","sourcesContent":["import { PolymarketError } from '@polymarket/types';\nimport type { ZodError } from 'zod';\nimport type { RateLimitUpdate } from './rate-limit';\nimport {\n formatInputZodError,\n formatResponseZodError,\n type ResponseValidationContext,\n} from './validation';\n\n/**\n * Error thrown when an action input fails SDK validation before a request is\n * sent.\n */\nexport class UserInputError extends PolymarketError {\n override name = 'UserInputError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(error: ZodError): UserInputError {\n return new UserInputError(formatInputZodError(error), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when a service response does not match the action's expected\n * response shape.\n */\nexport class UnexpectedResponseError extends PolymarketError {\n override name = 'UnexpectedResponseError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(\n error: ZodError,\n context: ResponseValidationContext,\n ): UnexpectedResponseError {\n return new UnexpectedResponseError(formatResponseZodError(error, context), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when the SDK cannot complete a request because of a network or\n * runtime transport failure.\n */\nexport class TransportError extends PolymarketError {\n override name = 'TransportError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown): TransportError {\n return new TransportError(\n error instanceof Error ? error.message : 'Request failed',\n {\n cause: error,\n },\n );\n }\n}\n\n/**\n * WebSocket close codes defined by RFC 6455 and the IANA WebSocket Close Code\n * Number registry. Codes 4000-4999 are reserved for application use and are\n * intentionally not modeled here.\n */\nexport enum WebSocketKnownCloseCode {\n NormalClosure = 1000,\n GoingAway = 1001,\n ProtocolError = 1002,\n UnsupportedData = 1003,\n /** Synthesized locally when the peer closed without a status code. */\n NoStatusReceived = 1005,\n /** Synthesized locally when the connection dropped without a close frame. */\n AbnormalClosure = 1006,\n InvalidFramePayload = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n InternalError = 1011,\n ServiceRestart = 1012,\n TryAgainLater = 1013,\n}\n\n/**\n * A WebSocket close code. Codes enumerated in\n * {@link WebSocketKnownCloseCode} are defined by RFC 6455; other values, such\n * as application-defined 4000-4999 codes, flow through as plain numbers.\n */\nexport type WebSocketCloseCode = WebSocketKnownCloseCode | (number & {});\n\nexport type ConnectionLostErrorOptions = {\n /** WebSocket close code reported for the lost connection. */\n code: WebSocketCloseCode;\n /** Close reason provided by the peer. Empty when none was sent. */\n reason: string;\n};\n\n/**\n * Error thrown when a live connection ends without the SDK requesting it.\n */\nexport class ConnectionLostError extends PolymarketError {\n override name = 'ConnectionLostError' as const;\n\n readonly code: WebSocketCloseCode;\n readonly reason: string;\n\n constructor(\n message: string,\n options: ErrorOptions & ConnectionLostErrorOptions,\n ) {\n super(message, options);\n this.code = options.code;\n this.reason = options.reason;\n }\n}\n\n/**\n * Trading restriction reported by the venue while orders cannot be placed\n * normally. The SDK does not retry automatically; callers decide how to\n * react, honoring {@link RequestRejectedError.retryAfter} when provided.\n */\nexport enum TradingRestriction {\n /** The matching engine is restarting and rejects order requests until it is back. */\n RESTARTING = 'restarting',\n /** Cancels and post-only orders are accepted; other orders are rejected. */\n POST_ONLY = 'post_only',\n}\n\nexport type RequestRejectedErrorOptions = {\n status: number;\n /**\n * Machine-readable error code from the response body, when the service\n * provided one.\n */\n code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n /**\n * Trading restriction that caused the rejection, when the response\n * identified one.\n */\n restriction?: TradingRestriction;\n};\n\n/**\n * Error thrown when a service responds with a non-success status other than\n * rate limiting.\n */\nexport class RequestRejectedError extends PolymarketError {\n override name = 'RequestRejectedError' as const;\n\n readonly status: number;\n /**\n * Machine-readable error code from the response body, when the service\n * provided one.\n */\n readonly code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n /**\n * Trading restriction that caused the rejection, when the response\n * identified one.\n */\n readonly restriction?: TradingRestriction;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n this.code = options.code;\n this.retryAfter = options.retryAfter;\n this.restriction = options.restriction;\n }\n}\n\nexport type RateLimitErrorOptions = {\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n /**\n * Rate-limit state reported with the rejection, when the response provided\n * it.\n */\n rateLimit?: RateLimitUpdate;\n};\n\n/**\n * Error thrown when the service rejects a request because the rate limit has\n * been exceeded.\n */\nexport class RateLimitError extends PolymarketError {\n override name = 'RateLimitError' as const;\n\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n /**\n * Rate-limit state reported with the rejection, when the response provided\n * it.\n */\n readonly rateLimit?: RateLimitUpdate;\n\n constructor(\n message: string,\n options: ErrorOptions & RateLimitErrorOptions = {},\n ) {\n super(message, options);\n this.retryAfter = options.retryAfter;\n this.rateLimit = options.rateLimit;\n }\n}\n\n/**\n * Error thrown when an async wait operation exceeds its allotted polling time.\n */\nexport class TimeoutError extends PolymarketError {\n override name = 'TimeoutError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when a submitted transaction reaches a terminal failure state.\n */\nexport class TransactionFailedError extends PolymarketError {\n override name = 'TransactionFailedError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the user cancels a required wallet signing action.\n */\nexport class CancelledSigningError extends PolymarketError {\n override name = 'CancelledSigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: Error): CancelledSigningError {\n return new CancelledSigningError(error.message, {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when there is not enough resting market liquidity to satisfy the\n * requested execution semantics.\n */\nexport class InsufficientLiquidityError extends PolymarketError {\n override name = 'InsufficientLiquidityError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when arming auto-cancel is rejected because the account has\n * reached its daily auto-cancel trigger limit. Arming is rejected until the\n * daily counter resets at the next UTC midnight; clearing an existing\n * schedule is always allowed.\n *\n * @experimental This API may change in a breaking way in any release, including patch releases.\n */\nexport class AutoCancelDailyLimitError extends PolymarketError {\n override name = 'AutoCancelDailyLimitError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the SDK cannot produce a required signature or\n * authentication payload.\n */\nexport class SigningError extends PolymarketError {\n override name = 'SigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown, message?: string): SigningError {\n const msg =\n message ?? (error instanceof Error ? error.message : 'Signing failed');\n return new SigningError(msg, { cause: error });\n }\n}\n\nexport function makeErrorGuard<\n // biome-ignore lint/suspicious/noExplicitAny: constructor rest args require any[]\n TClasses extends ReadonlyArray<new (...args: any[]) => unknown>,\n>(\n ...classes: TClasses\n): { isError(error: unknown): error is InstanceType<TClasses[number]> } {\n return {\n isError(error: unknown): error is InstanceType<TClasses[number]> {\n return classes.some((c) => error instanceof c);\n },\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers-v5';
2
- import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-BBaRrND2.js';
2
+ import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-C4sR5GA8.js';
3
3
  import '@polymarket/bindings';
4
4
  import '@polymarket/types';
5
5
  import '@polymarket/bindings/gamma';
package/dist/ethers-v5.js CHANGED
@@ -1,2 +1,2 @@
1
- import {m as m$1,j,c as c$1,i as i$1}from'./chunk-MIRUWWDK.js';import {expectEvmAddress,expectEvmSignature,expectTxHash}from'@polymarket/types';import {ethers}from'ethers-v5';function A(n){return {getAddress(){return m(n)},signTypedData(r){return w(n,r)},signMessage(r){return T(n,r)},async sendTransaction(r){return new i(await f(n,r))}}}async function m(n){try{return expectEvmAddress(await n.getAddress())}catch(r){throw m$1.fromError(r,"Could not resolve signer address")}}async function f(n,r){try{return await n.sendTransaction({chainId:r.chainId,data:r.data,to:r.to,value:r.value?.toString()})}catch(t){c(t);}}async function w(n,r){try{return expectEvmSignature(await n._signTypedData(r.domain,S(r.types),r.message))}catch(t){c(t);}}async function T(n,r){try{return expectEvmSignature(await n.signMessage(ethers.utils.arrayify(r)))}catch(t){c(t);}}function S(n){let r=Object.entries(n).filter(([t])=>t!=="EIP712Domain");return Object.fromEntries(r.map(([t,p])=>[t,p.map(y=>({...y}))]))}function c(n){throw s(n)?new j("User rejected the signing request",{cause:n}):m$1.fromError(n)}function s(n,r=new Set){if(r.has(n)||n===null||typeof n!="object")return false;r.add(n);let t=n;return t.code===4001||t.code==="ACTION_REJECTED"||s(t.error,r)||s(t.cause,r)}function v(n){return g(n,"CALL_EXCEPTION")}function D(n){return g(n,"TRANSACTION_REPLACED")}function g(n,r){return n instanceof Error&&"code"in n&&n.code===r}var i=class{transactionId=null;#r;#n;constructor(r){this.#n=r,this.#r=expectTxHash(r.hash);}get transactionHash(){return this.#r}async wait(){try{let r=await this.#n.wait(),t=expectTxHash(r.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}catch(r){if(D(r)){if(r.cancelled)throw c$1.fromError(r);let t=expectTxHash(r.receipt.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}throw v(r)?new i$1(`Transaction ${this.#r} reverted`,{cause:r}):c$1.fromError(r)}}};export{A as signerFrom};//# sourceMappingURL=ethers-v5.js.map
1
+ import {n,k,c as c$1,j}from'./chunk-DLZLJOGO.js';import {expectEvmAddress,expectEvmSignature,expectTxHash}from'@polymarket/types';import {ethers}from'ethers-v5';function A(n){return {getAddress(){return m(n)},signTypedData(r){return w(n,r)},signMessage(r){return T(n,r)},async sendTransaction(r){return new i(await f(n,r))}}}async function m(n$1){try{return expectEvmAddress(await n$1.getAddress())}catch(r){throw n.fromError(r,"Could not resolve signer address")}}async function f(n,r){try{return await n.sendTransaction({chainId:r.chainId,data:r.data,to:r.to,value:r.value?.toString()})}catch(t){c(t);}}async function w(n,r){try{return expectEvmSignature(await n._signTypedData(r.domain,S(r.types),r.message))}catch(t){c(t);}}async function T(n,r){try{return expectEvmSignature(await n.signMessage(ethers.utils.arrayify(r)))}catch(t){c(t);}}function S(n){let r=Object.entries(n).filter(([t])=>t!=="EIP712Domain");return Object.fromEntries(r.map(([t,p])=>[t,p.map(y=>({...y}))]))}function c(n$1){throw s(n$1)?new k("User rejected the signing request",{cause:n$1}):n.fromError(n$1)}function s(n,r=new Set){if(r.has(n)||n===null||typeof n!="object")return false;r.add(n);let t=n;return t.code===4001||t.code==="ACTION_REJECTED"||s(t.error,r)||s(t.cause,r)}function v(n){return g(n,"CALL_EXCEPTION")}function D(n){return g(n,"TRANSACTION_REPLACED")}function g(n,r){return n instanceof Error&&"code"in n&&n.code===r}var i=class{transactionId=null;#r;#n;constructor(r){this.#n=r,this.#r=expectTxHash(r.hash);}get transactionHash(){return this.#r}async wait(){try{let r=await this.#n.wait(),t=expectTxHash(r.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}catch(r){if(D(r)){if(r.cancelled)throw c$1.fromError(r);let t=expectTxHash(r.receipt.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}throw v(r)?new j(`Transaction ${this.#r} reverted`,{cause:r}):c$1.fromError(r)}}};export{A as signerFrom};//# sourceMappingURL=ethers-v5.js.map
2
2
  //# sourceMappingURL=ethers-v5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ethers-v5.ts"],"names":["signerFrom","signer","getAddress","payload","signTypedData","message","signMessage","request","DirectTransactionHandle","sendTransaction","expectEvmAddress","error","SigningError","throwSigningWorkflowError","expectEvmSignature","removeEip712Domain","ethers","types","entries","name","fields","field","isUserRejectedError","CancelledSigningError","seen","candidate","isCallExceptionError","hasErrorCode","isTransactionReplacedError","code","#transactionHash","#transaction","transaction","expectTxHash","receipt","transactionHash","TransportError","TransactionFailedError"],"mappings":"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","file":"ethers-v5.js","sourcesContent":["import {\n expectEvmAddress,\n expectEvmSignature,\n expectTxHash,\n type HexString,\n type TxHash,\n} from '@polymarket/types';\nimport { ethers } from 'ethers-v5';\nimport {\n CancelledSigningError,\n SigningError,\n TransactionFailedError,\n TransportError,\n} from './errors';\nimport type {\n Signer,\n TransactionHandle,\n TypedData,\n TypedDataPayload,\n} from './types';\n\ntype EthersV5Signer = ethers.Signer & {\n _signTypedData(\n domain: TypedDataPayload['domain'],\n types: ReturnType<typeof removeEip712Domain>,\n value: TypedDataPayload['message'],\n ): Promise<string>;\n};\n\nexport function signerFrom(signer: EthersV5Signer): Signer {\n return {\n getAddress() {\n return getAddress(signer);\n },\n signTypedData(payload) {\n return signTypedData(signer, payload);\n },\n signMessage(message) {\n return signMessage(signer, message);\n },\n async sendTransaction(request) {\n return new DirectTransactionHandle(\n await sendTransaction(signer, request),\n );\n },\n };\n}\n\nasync function getAddress(signer: EthersV5Signer) {\n try {\n return expectEvmAddress(await signer.getAddress());\n } catch (error) {\n throw SigningError.fromError(error, 'Could not resolve signer address');\n }\n}\n\nasync function sendTransaction(\n signer: EthersV5Signer,\n request: { chainId: number; data?: HexString; to: string; value?: bigint },\n): Promise<ethers.providers.TransactionResponse> {\n try {\n return await signer.sendTransaction({\n chainId: request.chainId,\n data: request.data,\n to: request.to,\n value: request.value?.toString(),\n });\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signTypedData(\n signer: EthersV5Signer,\n payload: TypedDataPayload,\n) {\n try {\n return expectEvmSignature(\n await signer._signTypedData(\n payload.domain,\n removeEip712Domain(payload.types),\n payload.message,\n ),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signMessage(signer: EthersV5Signer, message: HexString) {\n try {\n return expectEvmSignature(\n await signer.signMessage(ethers.utils.arrayify(message)),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nfunction removeEip712Domain(\n types: TypedData,\n): Record<string, Array<{ name: string; type: string }>> {\n const entries = Object.entries(types).filter(\n ([name]) => name !== 'EIP712Domain',\n );\n\n return Object.fromEntries(\n entries.map(([name, fields]) => [\n name,\n fields.map((field) => ({ ...field })),\n ]),\n );\n}\n\nfunction throwSigningWorkflowError(error: unknown): never {\n if (isUserRejectedError(error)) {\n throw new CancelledSigningError('User rejected the signing request', {\n cause: error,\n });\n }\n\n throw SigningError.fromError(error);\n}\n\nfunction isUserRejectedError(\n error: unknown,\n seen = new Set<unknown>(),\n): boolean {\n if (seen.has(error) || error === null || typeof error !== 'object') {\n return false;\n }\n\n seen.add(error);\n\n const candidate = error as {\n cause?: unknown;\n code?: unknown;\n error?: unknown;\n };\n\n return (\n // ethers v5 normalizes user-rejected wallet actions to ACTION_REJECTED,\n // but some provider-shaped errors can still surface the raw EIP-1193 4001.\n candidate.code === 4001 ||\n candidate.code === 'ACTION_REJECTED' ||\n isUserRejectedError(candidate.error, seen) ||\n isUserRejectedError(candidate.cause, seen)\n );\n}\n\nfunction isCallExceptionError(error: unknown): error is Error {\n return hasErrorCode(error, 'CALL_EXCEPTION');\n}\n\nfunction isTransactionReplacedError(error: unknown): error is Error & {\n cancelled: boolean;\n receipt: { transactionHash: string };\n} {\n return hasErrorCode(error, 'TRANSACTION_REPLACED');\n}\n\nfunction hasErrorCode(error: unknown, code: string): error is Error {\n return (\n error instanceof Error &&\n 'code' in error &&\n (error as { code?: unknown }).code === code\n );\n}\n\nclass DirectTransactionHandle implements TransactionHandle {\n readonly transactionId = null;\n #transactionHash: TxHash;\n readonly #transaction: ethers.providers.TransactionResponse;\n\n constructor(transaction: ethers.providers.TransactionResponse) {\n this.#transaction = transaction;\n this.#transactionHash = expectTxHash(transaction.hash);\n }\n\n get transactionHash() {\n return this.#transactionHash;\n }\n\n async wait() {\n try {\n const receipt = await this.#transaction.wait();\n\n const transactionHash = expectTxHash(receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n } catch (error) {\n if (isTransactionReplacedError(error)) {\n if (error.cancelled) {\n throw TransportError.fromError(error);\n }\n\n const transactionHash = expectTxHash(error.receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n }\n\n if (isCallExceptionError(error)) {\n throw new TransactionFailedError(\n `Transaction ${this.#transactionHash} reverted`,\n { cause: error },\n );\n }\n\n throw TransportError.fromError(error);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/ethers-v5.ts"],"names":["signerFrom","signer","getAddress","payload","signTypedData","message","signMessage","request","DirectTransactionHandle","sendTransaction","expectEvmAddress","error","SigningError","throwSigningWorkflowError","expectEvmSignature","removeEip712Domain","ethers","types","entries","name","fields","field","isUserRejectedError","CancelledSigningError","seen","candidate","isCallExceptionError","hasErrorCode","isTransactionReplacedError","code","#transactionHash","#transaction","transaction","expectTxHash","receipt","transactionHash","TransportError","TransactionFailedError"],"mappings":"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","file":"ethers-v5.js","sourcesContent":["import {\n expectEvmAddress,\n expectEvmSignature,\n expectTxHash,\n type HexString,\n type TxHash,\n} from '@polymarket/types';\nimport { ethers } from 'ethers-v5';\nimport {\n CancelledSigningError,\n SigningError,\n TransactionFailedError,\n TransportError,\n} from './errors';\nimport type {\n Signer,\n TransactionHandle,\n TypedData,\n TypedDataPayload,\n} from './types';\n\ntype EthersV5Signer = ethers.Signer & {\n _signTypedData(\n domain: TypedDataPayload['domain'],\n types: ReturnType<typeof removeEip712Domain>,\n value: TypedDataPayload['message'],\n ): Promise<string>;\n};\n\nexport function signerFrom(signer: EthersV5Signer): Signer {\n return {\n getAddress() {\n return getAddress(signer);\n },\n signTypedData(payload) {\n return signTypedData(signer, payload);\n },\n signMessage(message) {\n return signMessage(signer, message);\n },\n async sendTransaction(request) {\n return new DirectTransactionHandle(\n await sendTransaction(signer, request),\n );\n },\n };\n}\n\nasync function getAddress(signer: EthersV5Signer) {\n try {\n return expectEvmAddress(await signer.getAddress());\n } catch (error) {\n throw SigningError.fromError(error, 'Could not resolve signer address');\n }\n}\n\nasync function sendTransaction(\n signer: EthersV5Signer,\n request: { chainId: number; data?: HexString; to: string; value?: bigint },\n): Promise<ethers.providers.TransactionResponse> {\n try {\n return await signer.sendTransaction({\n chainId: request.chainId,\n data: request.data,\n to: request.to,\n value: request.value?.toString(),\n });\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signTypedData(\n signer: EthersV5Signer,\n payload: TypedDataPayload,\n) {\n try {\n return expectEvmSignature(\n await signer._signTypedData(\n payload.domain,\n removeEip712Domain(payload.types),\n payload.message,\n ),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signMessage(signer: EthersV5Signer, message: HexString) {\n try {\n return expectEvmSignature(\n await signer.signMessage(ethers.utils.arrayify(message)),\n );\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nfunction removeEip712Domain(\n types: TypedData,\n): Record<string, Array<{ name: string; type: string }>> {\n const entries = Object.entries(types).filter(\n ([name]) => name !== 'EIP712Domain',\n );\n\n return Object.fromEntries(\n entries.map(([name, fields]) => [\n name,\n fields.map((field) => ({ ...field })),\n ]),\n );\n}\n\nfunction throwSigningWorkflowError(error: unknown): never {\n if (isUserRejectedError(error)) {\n throw new CancelledSigningError('User rejected the signing request', {\n cause: error,\n });\n }\n\n throw SigningError.fromError(error);\n}\n\nfunction isUserRejectedError(\n error: unknown,\n seen = new Set<unknown>(),\n): boolean {\n if (seen.has(error) || error === null || typeof error !== 'object') {\n return false;\n }\n\n seen.add(error);\n\n const candidate = error as {\n cause?: unknown;\n code?: unknown;\n error?: unknown;\n };\n\n return (\n // ethers v5 normalizes user-rejected wallet actions to ACTION_REJECTED,\n // but some provider-shaped errors can still surface the raw EIP-1193 4001.\n candidate.code === 4001 ||\n candidate.code === 'ACTION_REJECTED' ||\n isUserRejectedError(candidate.error, seen) ||\n isUserRejectedError(candidate.cause, seen)\n );\n}\n\nfunction isCallExceptionError(error: unknown): error is Error {\n return hasErrorCode(error, 'CALL_EXCEPTION');\n}\n\nfunction isTransactionReplacedError(error: unknown): error is Error & {\n cancelled: boolean;\n receipt: { transactionHash: string };\n} {\n return hasErrorCode(error, 'TRANSACTION_REPLACED');\n}\n\nfunction hasErrorCode(error: unknown, code: string): error is Error {\n return (\n error instanceof Error &&\n 'code' in error &&\n (error as { code?: unknown }).code === code\n );\n}\n\nclass DirectTransactionHandle implements TransactionHandle {\n readonly transactionId = null;\n #transactionHash: TxHash;\n readonly #transaction: ethers.providers.TransactionResponse;\n\n constructor(transaction: ethers.providers.TransactionResponse) {\n this.#transaction = transaction;\n this.#transactionHash = expectTxHash(transaction.hash);\n }\n\n get transactionHash() {\n return this.#transactionHash;\n }\n\n async wait() {\n try {\n const receipt = await this.#transaction.wait();\n\n const transactionHash = expectTxHash(receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n } catch (error) {\n if (isTransactionReplacedError(error)) {\n if (error.cancelled) {\n throw TransportError.fromError(error);\n }\n\n const transactionHash = expectTxHash(error.receipt.transactionHash);\n this.#transactionHash = transactionHash;\n\n return {\n transactionHash,\n transactionId: null,\n };\n }\n\n if (isCallExceptionError(error)) {\n throw new TransactionFailedError(\n `Transaction ${this.#transactionHash} reverted`,\n { cause: error },\n );\n }\n\n throw TransportError.fromError(error);\n }\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { CtfConditionId, ComboConditionId } from '@polymarket/bindings';
1
+ import { ConditionId, ComboConditionId } from '@polymarket/bindings';
2
2
  export * from '@polymarket/bindings';
3
- export { OrderSide, OrderType } from '@polymarket/bindings';
3
+ export { OrderSide, OrderType, SessionSignerKnownScope as SessionKeyKnownScope, SessionSignerScope as SessionKeyScope } from '@polymarket/bindings';
4
4
  export * from '@polymarket/bindings/clob';
5
- export { PriceHistoryInterval, SignatureType } from '@polymarket/bindings/clob';
5
+ export { NotificationType, OrderResponseErrorCode, PriceHistoryInterval, SignatureType } from '@polymarket/bindings/clob';
6
6
  export * from '@polymarket/bindings/data';
7
7
  export { ActivityType, ComboActivityType, ComboPositionOutcome, ComboPositionStatus } from '@polymarket/bindings/data';
8
8
  export * from '@polymarket/bindings/gamma';
@@ -11,10 +11,10 @@ export * from '@polymarket/bindings/perps';
11
11
  export { PerpsAutoCancelStatus, PerpsCancelOrderResult, PerpsDepositStatus, PerpsInstrumentCategory, PerpsInstrumentType, PerpsInternalTransferDirection, PerpsKlineInterval, PerpsKnownWithdrawalStatus, PerpsMarginType, PerpsNotificationOrderType, PerpsNotificationType, PerpsOrderStatus, PerpsPostOrderAck, PerpsSide, PerpsSortDirection, PerpsTimeInForce, PerpsUpdateLeverageResult } from '@polymarket/bindings/perps';
12
12
  export * from '@polymarket/bindings/relayer';
13
13
  import { EvmAddress } from '@polymarket/types';
14
- import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-BBaRrND2.js';
15
- export { c as AccountIdentity, d as AnalyticsActions, e as ApproveErc1155ForAllError, f as ApproveErc20Error, g as ArmPerpsAutoCancelError, h as ArmPerpsAutoCancelRequest, i as AutoCancelDailyLimitError, B as BaseClient, j as BasePublicClient, k as BaseSecureClient, l as BeginAuthenticationRequest, C as CancelAllError, m as CancelAllPerpsOrdersRequest, n as CancelMarketOrdersError, o as CancelOrderError, p as CancelOrdersError, q as CancelPerpsOrderRequest, r as CancelPerpsOrdersRequest, s as CancelledSigningError, t as Client, u as ClientActions, v as ClientDecorator, w as ClobEndpoints, x as ComboPositionSort, y as CombosEndpoints, z as ConnectionLostError, D as ConnectionLostErrorOptions, E as CreatePerpsSessionRequest, F as CreateSecureClientError, G as CryptoPricesChainlinkTwapSubscription, H as DataActions, I as DepositToPerpsError, J as DepositToPerpsRequest, K as DisarmPerpsAutoCancelRequest, L as DiscoveryActions, M as DownloadAccountingSnapshotError, N as DropNotificationsError, O as EnvironmentConfig, P as EnvironmentConfigFork, Q as EnvironmentContracts, R as EstimateMarketPriceError, V as ExecuteCollateralReturnPlanError, W as ExecuteCollateralReturnPlanRequest, X as FetchClosedOnlyModeError, Y as FetchCommentsByIdError, Z as FetchEventError, _ as FetchEventLiveVolumeError, $ as FetchEventTagsError, a0 as FetchLastTradePriceError, a1 as FetchLastTradePricesError, a2 as FetchMarketError, a3 as FetchMarketTagsError, a4 as FetchMidpointError, a5 as FetchMidpointsError, a6 as FetchNotificationsError, a7 as FetchOrderBookError, a8 as FetchOrderBooksError, a9 as FetchOrderError, aa as FetchOrderScoringError, ab as FetchOrdersScoringError, ac as FetchPerpsAccountConfigRequest, ad as FetchPerpsBookError, ae as FetchPerpsBookRequest, af as FetchPerpsFeesError, ag as FetchPerpsInstrumentsError, ah as FetchPerpsInstrumentsRequest, ai as FetchPerpsOpenOrdersRequest, aj as FetchPerpsOrdersRequest, ak as FetchPerpsTickerError, al as FetchPerpsTickerRequest, am as FetchPerpsTickersError, an as FetchPerpsTickersRequest, ao as FetchPortfolioValueError, ap as FetchPriceError, aq as FetchPriceHistoryError, ar as FetchPricesError, as as FetchPublicProfileError, at as FetchRelatedTagResourcesError, au as FetchRelatedTagsError, av as FetchRewardPercentagesError, aw as FetchSeriesError, ax as FetchSpreadError, ay as FetchSpreadsError, az as FetchTagError, aA as FetchTotalEarningsForUserForDayError, aB as FetchTradedMarketCountError, aC as InsufficientLiquidityError, aD as ListAccountTradesError, aE as ListActivityError, aF as ListBuilderLeaderboardError, aG as ListBuilderTradesError, aH as ListBuilderVolumeError, aI as ListClosedPositionsError, aJ as ListComboActivityError, aK as ListComboMarketsError, aL as ListComboPositionsError, aM as ListCommentsByUserAddressError, aN as ListCommentsError, aO as ListCurrentRewardsError, aP as ListEventsError, aQ as ListMarketHoldersError, aR as ListMarketPositionsError, aS as ListMarketRewardsError, aT as ListMarketsError, aU as ListOpenInterestError, aV as ListOpenOrdersError, aW as ListPerpsCandlesError, aX as ListPerpsCandlesRequest, aY as ListPerpsDepositsRequest, aZ as ListPerpsEquityHistoryRequest, a_ as ListPerpsFillsRequest, a$ as ListPerpsFundingHistoryError, b0 as ListPerpsFundingHistoryRequest, b1 as ListPerpsFundingPaymentsRequest, b2 as ListPerpsNotificationsRequest, b3 as ListPerpsPnlHistoryRequest, b4 as ListPerpsTradesError, b5 as ListPerpsTradesRequest, b6 as ListPerpsWithdrawalsRequest, b7 as ListPositionsError, b8 as ListSeriesError, b9 as ListTagsError, ba as ListTeamsError, bb as ListTraderLeaderboardError, bc as ListTradesError, bd as ListUserEarningsAndMarketsConfigError, be as ListUserEarningsForDayError, bf as MarkPerpsNotificationsReadRequest, bg as MergePositionsError, bh as OpenPerpsSessionError, bi as OpenPerpsSessionRequest, bj as OpenRfqSessionError, bk as Page, bl as PageSizeSchema, bm as Paginated, bn as PerpsActions, bo as PerpsBookDepth, bp as PerpsEndpoints, bq as PerpsOrderRequest, br as PerpsPlaceFokOrderRequest, bs as PerpsPlaceGtcOrderRequest, bt as PerpsPlaceIocOrderRequest, bu as PerpsPlacedTpSlOrder, bv as PerpsPlacedTpSlOrders, bw as PerpsPositionTpSlTrigger, bx as PerpsSession, by as PerpsSessionAccountError, bz as PerpsSessionLifecycleError, bA as PerpsSessionTradingError, bB as PerpsTpSlTrigger, bC as PlacePerpsOrderRequest, bD as PlacePerpsOrderResult, bE as PlacePerpsOrderWithTpSlRequest, bF as PlacePerpsOrderWithTpSlResult, bG as PlacePerpsPositionTpSlRequest, bH as PlacePerpsPositionTpSlResult, bI as PlanCollateralReturnError, bJ as PostOrderError, bK as PostOrdersError, bL as PostPerpsOrdersRequest, bM as PublicAccountActions, bN as PublicActions, bO as PublicClient, bP as PublicClientOptions, bQ as PublicPerpsActions, bR as PublicRewardsActions, bS as PublicSubscriptionsActions, bT as RateLimitError, bU as RateLimitErrorOptions, bV as RedeemPositionsError, bW as RequestRejectedError, bX as RequestRejectedErrorOptions, bY as RestEndpoint, bZ as ResumePerpsSessionRequest, b_ as RevokePerpsCredentialsError, b$ as RevokePerpsCredentialsRequest, c0 as RfqCancelQuoteAck, c1 as RfqCancelQuoteError, c2 as RfqCancelQuoteRejectedError, c3 as RfqCancelQuoteRejectedErrorOptions, c4 as RfqConfirmationAck, c5 as RfqConfirmationError, c6 as RfqConfirmationRejectedError, c7 as RfqConfirmationRequestEvent, c8 as RfqEvent, c9 as RfqQuoteError, ca as RfqQuoteReference, cb as RfqQuoteRejectedError, cc as RfqQuoteRejectedErrorOptions, cd as RfqQuoteRequestEvent, ce as RfqQuoteResponse, cf as RfqQuoteSource, cg as RfqSession, ch as RfqTradeEvent, ci as SearchError, cj as SearchSort, ck as SecureAccountActions, cl as SecureActions, cm as SecureClient, cn as SecureClientOptions, co as SecureDownloadAccountingSnapshotRequest, cp as SecureFetchPortfolioValueRequest, cq as SecureFetchTradedMarketCountRequest, cr as SecureListActivityRequest, cs as SecureListClosedPositionsRequest, ct as SecureListComboActivityRequest, cu as SecureListComboPositionsRequest, cv as SecureListPositionsRequest, cw as SecurePerpsActions, cx as SecureRewardsActions, cy as SecureRfqActions, cz as SecureSubscriptionsActions, cA as SecureTradingActions, cB as SecureWalletActions, cC as SetupGaslessWalletError, cD as SetupTradingApprovalsError, S as Signer, cE as SignerTransactionRequest, cF as SigningError, cG as SplitPositionError, cH as SubscribeError, cI as TimeoutError, cJ as TransactionFailedError, cK as TransactionHandle, cL as TransactionOutcome, cM as TransferErc20Error, cN as TransportError, a as TypedData, cO as TypedDataDomain, cP as TypedDataField, T as TypedDataPayload, cQ as UnexpectedResponseError, cR as UpdatePerpsLeverageError, cS as UpdatePerpsLeverageRequest, cT as UpdatePerpsMarginError, cU as UpdatePerpsMarginRequest, cV as WaitForOrderFillSettlementError, cW as WaitForTransactionError, cX as WalletDerivationConfig, cY as WebSocketCloseCode, cZ as WebSocketEndpoint, c_ as WebSocketKnownCloseCode, c$ as WithdrawFromPerpsError, d0 as WithdrawFromPerpsRequest, d1 as accountActions, d2 as allActions, d3 as analyticsActions, d4 as createPublicClient, d5 as createSecureClient, d6 as dataActions, d7 as discoveryActions, d8 as forkEnvironmentConfig, d9 as makeErrorGuard, da as perpsActions, db as production, dc as rewardsActions, dd as rfqActions, de as subscriptionsActions, df as tradingActions, dg as walletActions } from './types-BBaRrND2.js';
16
- export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-CM15YKJi.js';
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';
14
+ import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-C4sR5GA8.js';
15
+ export { c as AcceptComboQuoteError, d as AcceptComboQuoteParams, e as AcceptComboQuoteResult, f as AccountIdentity, g as AnalyticsActions, h as ApproveErc1155ForAllError, i as ApproveErc20Error, j as ArmPerpsAutoCancelError, k as ArmPerpsAutoCancelRequest, l as AuthorizeSessionKeyError, m as AuthorizeSessionKeyRequest, n as AuthorizeSessionKeyResult, o as AutoCancelDailyLimitError, B as BaseClient, p as BasePublicClient, q as BaseSecureClient, r as BeginAuthenticationRequest, C as CancelAllError, s as CancelAllPerpsOrdersRequest, t as CancelMarketOrdersError, u as CancelOrderError, v as CancelOrdersError, w as CancelPerpsOrderRequest, x as CancelPerpsOrdersRequest, y as CancelledSigningError, z as Client, D as ClientActions, E as ClientDecorator, F as ClobEndpoints, G as ComboPositionSort, H as ComboPositionStatusFilter, I as ComboQuote, J as CombosEndpoints, K as ConnectionLostError, L as ConnectionLostErrorOptions, M as CreatePerpsSessionRequest, N as CreateSecureClientError, O as CryptoPricesChainlinkTwapSubscription, P as DataActions, Q as DepositToPerpsError, R as DepositToPerpsRequest, V as DisarmPerpsAutoCancelRequest, W as DiscoveryActions, X as DownloadAccountingSnapshotError, Y as DropNotificationsError, Z as EnvironmentConfig, _ as EnvironmentConfigFork, $ as EnvironmentContracts, a0 as EstimateMarketPriceError, a1 as ExecuteCollateralReturnPlanError, a2 as ExecuteCollateralReturnPlanRequest, a3 as FetchClosedOnlyModeError, a4 as FetchCommentsByIdError, a5 as FetchEventError, a6 as FetchEventLiveVolumeError, a7 as FetchEventTagsError, a8 as FetchLastTradePriceError, a9 as FetchLastTradePricesError, aa as FetchMarketError, ab as FetchMarketTagsError, ac as FetchMidpointError, ad as FetchMidpointsError, ae as FetchNotificationsError, af as FetchOrderBookError, ag as FetchOrderBooksError, ah as FetchOrderError, ai as FetchOrderScoringError, aj as FetchOrdersScoringError, ak as FetchPerpsAccountConfigRequest, al as FetchPerpsBookError, am as FetchPerpsBookRequest, an as FetchPerpsFeesError, ao as FetchPerpsInstrumentsError, ap as FetchPerpsInstrumentsRequest, aq as FetchPerpsOpenOrdersRequest, ar as FetchPerpsOrdersRequest, as as FetchPerpsTickerError, at as FetchPerpsTickerRequest, au as FetchPerpsTickersError, av as FetchPerpsTickersRequest, aw as FetchPortfolioValueError, ax as FetchPriceError, ay as FetchPriceHistoryError, az as FetchPricesError, aA as FetchPublicProfileError, aB as FetchRelatedTagResourcesError, aC as FetchRelatedTagsError, aD as FetchRewardPercentagesError, aE as FetchRfqStatusError, aF as FetchRfqStatusParams, aG as FetchSeriesError, aH as FetchSessionKeysError, aI as FetchSpreadError, aJ as FetchSpreadsError, aK as FetchTagError, aL as FetchTotalEarningsForUserForDayError, aM as FetchTradedMarketCountError, aN as InsufficientLiquidityError, aO as ListAccountTradesError, aP as ListActivityError, aQ as ListBuilderLeaderboardError, aR as ListBuilderTradesError, aS as ListBuilderVolumeError, aT as ListClosedPositionsError, aU as ListComboActivityError, aV as ListComboMarketsError, aW as ListComboPositionsError, aX as ListCommentsByUserAddressError, aY as ListCommentsError, aZ as ListCurrentRewardsError, a_ as ListEventsError, a$ as ListMarketHoldersError, b0 as ListMarketPositionsError, b1 as ListMarketRewardsError, b2 as ListMarketsError, b3 as ListOpenInterestError, b4 as ListOpenOrdersError, b5 as ListPerpsCandlesError, b6 as ListPerpsCandlesRequest, b7 as ListPerpsDepositsRequest, b8 as ListPerpsEquityHistoryRequest, b9 as ListPerpsFillsRequest, ba as ListPerpsFundingHistoryError, bb as ListPerpsFundingHistoryRequest, bc as ListPerpsFundingPaymentsRequest, bd as ListPerpsNotificationsRequest, be as ListPerpsPnlHistoryRequest, bf as ListPerpsTradesError, bg as ListPerpsTradesRequest, bh as ListPerpsWithdrawalsRequest, bi as ListPositionsError, bj as ListSeriesError, bk as ListTagsError, bl as ListTeamsError, bm as ListTraderLeaderboardError, bn as ListTradesError, bo as ListUserEarningsAndMarketsConfigError, bp as ListUserEarningsForDayError, bq as MarkPerpsNotificationsReadRequest, br as MergePositionsError, bs as OpenPerpsSessionError, bt as OpenPerpsSessionRequest, bu as OpenRfqSessionError, bv as OrderAsset, bw as OrderSignature, bx as Page, by as PageSizeSchema, bz as Paginated, bA as PerpsActions, bB as PerpsBookDepth, bC as PerpsEndpoints, bD as PerpsOrderRequest, bE as PerpsPlaceFokOrderRequest, bF as PerpsPlaceGtcOrderRequest, bG as PerpsPlaceIocOrderRequest, bH as PerpsPlacedTpSlOrder, bI as PerpsPlacedTpSlOrders, bJ as PerpsPositionTpSlTrigger, bK as PerpsSession, bL as PerpsSessionAccountError, bM as PerpsSessionLifecycleError, bN as PerpsSessionTradingError, bO as PerpsTpSlTrigger, bP as PlacePerpsOrderRequest, bQ as PlacePerpsOrderResult, bR as PlacePerpsOrderWithTpSlRequest, bS as PlacePerpsOrderWithTpSlResult, bT as PlacePerpsPositionTpSlRequest, bU as PlacePerpsPositionTpSlResult, bV as PlanCollateralReturnError, bW as PostOrderError, bX as PostOrdersError, bY as PostPerpsOrdersRequest, bZ as PublicAccountActions, b_ as PublicActions, b$ as PublicClient, c0 as PublicClientOptions, c1 as PublicPerpsActions, c2 as PublicRewardsActions, c3 as PublicSubscriptionsActions, c4 as RateLimitBucket, c5 as RateLimitError, c6 as RateLimitErrorOptions, c7 as RateLimitUpdate, c8 as RateLimitUpdateListener, c9 as RedeemPositionsError, ca as RequestComboQuoteError, cb as RequestComboQuoteParams, cc as RequestComboQuoteResult, cd as RequestRejectedError, ce as RequestRejectedErrorOptions, cf as RestEndpoint, cg as ResumePerpsSessionRequest, ch as RevokePerpsCredentialsError, ci as RevokePerpsCredentialsRequest, cj as RevokeSessionKeyError, ck as RevokeSessionKeyRequest, cl as RevokeSessionKeyResult, cm as RfqCancelQuoteAck, cn as RfqCancelQuoteError, co as RfqCancelQuoteRejectedError, cp as RfqCancelQuoteRejectedErrorOptions, cq as RfqConfirmationAck, cr as RfqConfirmationError, cs as RfqConfirmationRejectedError, ct as RfqConfirmationRequestEvent, cu as RfqEvent, cv as RfqQuoteError, cw as RfqQuoteReference, cx as RfqQuoteRejectedError, cy as RfqQuoteRejectedErrorOptions, cz as RfqQuoteRequestEvent, cA as RfqQuoteResponse, cB as RfqQuoteSource, cC as RfqRequestRejectedError, cD as RfqRequestRejectedErrorOptions, cE as RfqSession, cF as RfqStatusResult, cG as RfqTradeEvent, cH as SearchError, cI as SearchSort, cJ as SecureAccountActions, cK as SecureActions, cL as SecureClient, cM as SecureClientOptions, cN as SecureDownloadAccountingSnapshotRequest, cO as SecureFetchPortfolioValueRequest, cP as SecureFetchTradedMarketCountRequest, cQ as SecureListActivityRequest, cR as SecureListClosedPositionsRequest, cS as SecureListComboActivityRequest, cT as SecureListComboPositionsRequest, cU as SecureListPositionsRequest, cV as SecurePerpsActions, cW as SecureRewardsActions, cX as SecureRfqActions, cY as SecureSubscriptionsActions, cZ as SecureTradingActions, c_ as SecureWalletActions, c$ as SessionKey, d0 as SessionKeyActions, d1 as SetupGaslessWalletError, d2 as SetupTradingApprovalsError, d3 as SignedOrder, S as Signer, d4 as SignerTransactionRequest, d5 as SignerType, d6 as SigningError, d7 as SplitPositionError, d8 as SubscribeError, d9 as TimeoutError, da as TradingRestriction, db as TransactionFailedError, dc as TransactionHandle, dd as TransactionOutcome, de as TransferErc20Error, df as TransportError, a as TypedData, dg as TypedDataDomain, dh as TypedDataField, T as TypedDataPayload, di as UnexpectedResponseError, dj as UpdatePerpsLeverageError, dk as UpdatePerpsLeverageRequest, dl as UpdatePerpsMarginError, dm as UpdatePerpsMarginRequest, dn as WaitForComboFillError, dp as WaitForComboFillParams, dq as WaitForComboFillResult, dr as WaitForOrderFillSettlementError, ds as WaitForTransactionError, dt as WalletDerivationConfig, du as WebSocketCloseCode, dv as WebSocketEndpoint, dw as WebSocketKnownCloseCode, dx as WithdrawFromPerpsError, dy as WithdrawFromPerpsRequest, dz as accountActions, dA as allActions, dB as analyticsActions, dC as createPublicClient, dD as createSecureClient, dE as dataActions, dF as discoveryActions, dG as forkEnvironmentConfig, dH as makeErrorGuard, dI as perpsActions, dJ as production, dK as rewardsActions, dL as rfqActions, dM as sessionKeyActions, dN as subscriptionsActions, dO as tradingActions, dP as walletActions } from './types-C4sR5GA8.js';
16
+ export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-w2Iai7fW.js';
17
+ export { BuilderRfqError, CollateralReturnKnownOperationKind, CollateralReturnOperation, CollateralReturnOperationKind, CollateralReturnPlanResponse, CollateralReturnPositionAmount, CollateralReturnPositionSummary, CollateralReturnRouterCall, ComboAcceptFailureReason, ComboQuoteUnavailableReason, RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqKnownErrorCode, RfqQuoteId, RfqQuoteRequest, RfqRejectionCode, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqStatus, RfqTrade } from '@polymarket/bindings/combos';
18
18
  export { CryptoPricesChainlinkTwapEvent, CryptoPricesChainlinkTwapSixtyEvent, CryptoPricesChainlinkTwapThirtyEvent, CryptoPricesChainlinkTwapWindowSeconds, PerpsSessionEvent } from '@polymarket/bindings/subscriptions';
19
19
  import 'zod';
20
20
  import 'ox';
@@ -87,7 +87,7 @@ declare const SplitPositionCallError: {
87
87
  * @throws {@link SplitPositionCallError}
88
88
  * Thrown when the amount is invalid.
89
89
  */
90
- declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: CtfConditionId, amount: bigint): TransactionCall;
90
+ declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
91
91
  type MergePositionsCallError = UserInputError;
92
92
  declare const MergePositionsCallError: {
93
93
  isError(error: unknown): error is UserInputError;
@@ -102,7 +102,7 @@ declare const MergePositionsCallError: {
102
102
  * @throws {@link MergePositionsCallError}
103
103
  * Thrown when the amount is invalid.
104
104
  */
105
- declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: CtfConditionId, amount: bigint): TransactionCall;
105
+ declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
106
106
  /**
107
107
  * Creates a transaction call for `redeemPositions(address,bytes32,bytes32,uint256[])`
108
108
  * on Conditional Tokens-compatible contracts, including the collateral adapters.
@@ -113,7 +113,7 @@ declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAd
113
113
  * @throws {@link CtfRedeemPositionsCallError}
114
114
  * Thrown when the condition is invalid.
115
115
  */
116
- declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: CtfConditionId): TransactionCall;
116
+ declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId): TransactionCall;
117
117
  type SplitV2CallError = UserInputError;
118
118
  declare const SplitV2CallError: {
119
119
  isError(error: unknown): error is UserInputError;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import {N,X,V,T as T$1,ra,pa,ze,xe,ve as ve$1,te,re,pe as pe$1,zc,xc,vc,qb,na,Lc,Nc,Zc,Wb,Ub,Sb,Qb,Ob,Mb,Kb,Ib,Gb,ub,sb,tc,lc,jc,hc,hf,Sf,Gf,Ef,yf,Qf,Of,Mf,Kf,Bc,Cf,Af,Jc,Hc,Fc,Dc,rc,pc,nc,me as me$1,je,ie as ie$1,le as le$1,la,ja,ha,fa,da,ba,pf,If,R as R$1,P as P$1,Xc,Vc,Tc,Rc,vd,dd,cd,Dd,Bd,zd,xd,ec,ac,ff,af,Te,Wf,Wa,Sa,_a,va,Aa,K,L as L$1,Da,ae as ae$1,_d,Yd,Ud,Sd,Qd,ce as ce$1,Wd,Pc,_b,Yb,H,Ed,G,wa,I,gb,eb,Kd,Id,Jd,Gd,Hd,Fd,ib,Od,if as _if,kf,mf,J,gd,id,kd,jd,hd,ed,fd}from'./chunk-WDPLMZVQ.js';export{Va as ApproveErc1155ForAllError,Ra as ApproveErc20Error,Ld as ArmPerpsAutoCancelError,Uc as CancelAllError,Wc as CancelMarketOrdersError,Qc as CancelOrderError,Sc as CancelOrdersError,fc as CollateralReturnKnownOperationKind,C as CombinatorialPrepareConditionCallError,sa as ComboActivityType,Ae as ComboPositionOutcome,ne as ComboPositionSort,Be as ComboPositionStatus,Ad as CreateLimitOrderError,wd as CreateMarketOrderError,q as CtfRedeemPositionsCallError,ge as DepositToPerpsError,ye as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Yc as EstimateMarketPriceError,dc as ExecuteCollateralReturnPlanError,M as FetchClosedOnlyModeError,ic as FetchCommentsByIdError,oc as FetchEventError,sc as FetchEventLiveVolumeError,qc as FetchEventTagsError,Rb as FetchLastTradePriceError,Tb as FetchLastTradePricesError,Gc as FetchMarketError,Ic as FetchMarketTagsError,rb as FetchMidpointError,tb as FetchMidpointsError,U as FetchNotificationsError,Jb as FetchOrderBookError,Lb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,Vd as FetchPerpsBookError,be as FetchPerpsFeesError,Pd as FetchPerpsInstrumentsError,Rd as FetchPerpsTickerError,Td as FetchPerpsTickersError,ue as FetchPortfolioValueError,Fb as FetchPriceError,Vb as FetchPriceHistoryError,Hb as FetchPricesError,gf as FetchPublicProfileError,Pf as FetchRelatedTagResourcesError,Nf as FetchRelatedTagsError,ka as FetchRewardPercentagesError,Bf as FetchSeriesError,Ff as FetchSportsMarketTypesError,Nb as FetchSpreadError,Pb as FetchSpreadsError,Lf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,we as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,uc as ListBuilderLeaderboardError,pb as ListBuilderTradesError,wc as ListBuilderVolumeError,qe as ListClosedPositionsError,qa as ListComboActivityError,Ec as ListComboMarketsError,se as ListComboPositionsError,kc as ListCommentsByUserAddressError,gc as ListCommentsError,Xb as ListCurrentRewardsError,mc as ListEventsError,Kc as ListMarketHoldersError,Oc as ListMarketPositionsError,Zb as ListMarketRewardsError,Cc as ListMarketsError,Mc as ListOpenInterestError,O as ListOpenOrdersError,Xd as ListPerpsCandlesError,Zd as ListPerpsFundingHistoryError,$d as ListPerpsTradesError,oe as ListPositionsError,zf as ListSeriesError,Df as ListSportsError,Jf as ListTagsError,Rf as ListTeamsError,yc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,Xe as MergePositionsError,y as MergeV2CallError,de as OpenPerpsSessionError,of as OpenRfqSessionError,o as PerpsDepositCallError,Cd as PlaceLimitOrderError,yd as PlaceMarketOrderError,$b as PlanCollateralReturnError,ad as PostOrderError,bd as PostOrdersError,ef as RedeemPositionsError,A as RedeemV2CallError,ee as RevokePerpsCredentialsError,lf as RfqCancelQuoteError,kf as RfqCancelQuoteRejectedError,qf as RfqConfirmationDecision,nf as RfqConfirmationError,mf as RfqConfirmationRejectedError,rf as RfqDirection,sf as RfqExecutionStatus,tf as RfqKnownErrorCode,jf as RfqQuoteError,if as RfqQuoteRejectedError,uf as RfqRequestedSizeUnit,vf as RfqSide,xf as SearchError,wf as SearchSort,Za as SetupTradingApprovalsError,r as SplitPositionCallError,Oe as SplitPositionError,w as SplitV2CallError,Hf as SubscribeError,Vf as TransferErc20Error,Md as UpdatePerpsLeverageError,Nd as UpdatePerpsMarginError,ud as WaitForOrderFillSettlementError,ta as WaitForTransactionError,he as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,ua as expectTransactionHandle,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-WDPLMZVQ.js';import {a,n,j,g as g$1,f as f$1,m as m$1,h,i,c,b as b$1,e}from'./chunk-MIRUWWDK.js';export{l as AutoCancelDailyLimitError,j as CancelledSigningError,e as ConnectionLostError,k as InsufficientLiquidityError,g as RateLimitError,f as RequestRejectedError,m as SigningError,h as TimeoutError,i as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,n as makeErrorGuard}from'./chunk-MIRUWWDK.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsKnownWithdrawalStatus,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var wi=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 xi(t){return new se(t)}function Mi(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 m$1.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 wi.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 Ir(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 Ii(t){return {listPositions:pe$1.bind(null,t),listClosedPositions:re.bind(null,t),listComboPositions:te.bind(null,t),fetchPortfolioValue:ve$1.bind(null,t),fetchTradedMarketCount:xe.bind(null,t),downloadAccountingSnapshot:ze.bind(null,t),listMarketPositions:Pc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function f(t,e={}){return {...e,user:e.user??t.account.wallet}}function ie(t){let e=Ii(t);return t.isPublicClient()?e:{...e,listPositions:r=>pe$1(t,f(t,r)),listClosedPositions:r=>re(t,f(t,r)),listComboPositions:r=>te(t,f(t,r)),fetchPortfolioValue:r=>ve$1(t,f(t,r)),fetchTradedMarketCount:r=>xe(t,f(t,r)),downloadAccountingSnapshot:r=>ze(t,f(t,r)),listActivity:r=>pa(t,f(t,r)),listComboActivity:r=>ra(t,f(t,r)),listAccountTrades:T$1.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function oe(t){return {listBuilderTrades:qb.bind(null,t),listBuilderLeaderboard:vc.bind(null,t),fetchBuilderVolume:xc.bind(null,t),listTraderLeaderboard:zc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:tc.bind(null,t),fetchMidpoint:sb.bind(null,t),fetchMidpoints:ub.bind(null,t),fetchPrice:Gb.bind(null,t),fetchPrices:Ib.bind(null,t),fetchOrderBook:Kb.bind(null,t),fetchOrderBooks:Mb.bind(null,t),fetchSpread:Ob.bind(null,t),fetchSpreads:Qb.bind(null,t),fetchLastTradePrice:Sb.bind(null,t),fetchLastTradePrices:Ub.bind(null,t),fetchPriceHistory:Wb.bind(null,t),estimateMarketPrice:Zc.bind(null,t),listOpenInterest:Nc.bind(null,t),listMarketHolders:Lc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:nc.bind(null,t),fetchEvent:pc.bind(null,t),fetchEventTags:rc.bind(null,t),listMarkets:Dc.bind(null,t),listComboMarkets:Fc.bind(null,t),fetchMarket:Hc.bind(null,t),fetchMarketTags:Jc.bind(null,t),listSeries:Af.bind(null,t),fetchSeries:Cf.bind(null,t),listMarketClarifications:Bc.bind(null,t),listTags:Kf.bind(null,t),fetchTag:Mf.bind(null,t),fetchRelatedTags:Of.bind(null,t),fetchRelatedTagResources:Qf.bind(null,t),search:yf.bind(null,t),listSports:Ef.bind(null,t),fetchSportsMarketTypes:Gf.bind(null,t),listTeams:Sf.bind(null,t),fetchPublicProfile:hf.bind(null,t),listComments:hc.bind(null,t),fetchCommentsById:jc.bind(null,t),listCommentsByUserAddress:lc.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>Wd(t,r),fetchPerpsFees:()=>ce$1(t),fetchPerpsInstruments:r=>Qd(t,r),fetchPerpsTicker:r=>Sd(t,r),fetchPerpsTickers:r=>Ud(t,r),listPerpsCandles:r=>Yd(t,r),listPerpsFundingHistory:r=>_d(t,r),listPerpsTrades:r=>ae$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>le$1(t,r),openPerpsSession:r=>ie$1(t,r),revokePerpsCredentials:r=>je(t,r),withdrawFromPerps:r=>me$1(t,r)}:e}function Oi(t){return {listCurrentRewards:Yb.bind(null,t),listMarketRewards:_b.bind(null,t)}}function de(t){let e=Oi(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 Or(t){return {openRfqSession(){return pf(t)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return If(t,e)}}:{subscribe(e){return If(t,e)}}}function Fr(t){return {createMarketOrder:xd.bind(null,t),placeMarketOrder:zd.bind(null,t),createLimitOrder:Bd.bind(null,t),placeLimitOrder:Dd.bind(null,t),postOrder:cd(t),postOrders:dd(t),waitForOrderFillSettlement:vd.bind(null,t),cancelOrder:Rc.bind(null,t),cancelOrders:Tc.bind(null,t),cancelAll:Vc.bind(null,t),cancelMarketOrders:Xc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Lr(t){return {setupTradingApprovals:_a.bind(null,t),approveErc20:Sa.bind(null,t),approveErc1155ForAll:Wa.bind(null,t),transferErc20:Wf.bind(null,t),splitPosition:Te.bind(null,t),mergePositions:af.bind(null,t),redeemPositions:ff.bind(null,t),planCollateralReturn:ac.bind(null,t),executeCollateralReturnPlan:ec.bind(null,t)}}function Dr(t){return t.isSecureClient()?{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...Or(t),...pe(t),...Fr(t),...Lr(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 Fi(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:{...Br(e.combos,t.combos),collateralReturn:k(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:Br(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 Br(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 Sc=Fi({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function Wr(t,e,r,s,n){let i=`${e}${r}${s}`;n!==void 0&&(i+=n);let o=await globalThis.crypto.subtle.importKey("raw",Li(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return Bi(Di(A))}function Li(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 Di(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function Bi(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(Ur(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(Ur([i],r.customFeatureEnabled)),n.length>0&&t(Ui(n));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Hr(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Qr(r.markets));return}let s=L(r.markets,e.markets),n=L(e.markets,r.markets);s.length>0&&t(Qr(s)),n.length>0&&t(Hr(n));}function _r(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 Kr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Nr(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Vr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Ur(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Ui(t){return {assets_ids:t,operation:"unsubscribe"}}function zr(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 Qr(t){return {markets:t,operation:"subscribe"}}function Hr(t){return {markets:t,operation:"unsubscribe"}}function jr(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(Nr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Nr(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 Kd({heartbeat:new Fd});#i=new Jd;#t=new p({deriveServerState:_r});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:jr(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(Vr(this.#t.serverState()));}#m(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var R=class{#e;#r;#s;#o;#i=new Kd({heartbeat:new Fd});#t=new Jd;#n=new p({deriveServerState:Kr});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(zr(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 Od({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 Kd({heartbeat:new Id});#t=new Jd;#n=new p({deriveServerState:Ki});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:zi(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(Yr(r.before,r.after)),this.#y(Gr(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(Yr(r,s)),this.#y(Gr(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 Ki(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(Vi(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 Yr(t,e){return Array.from(e).filter(r=>!t.has(r))}function Gr(t,e){return Array.from(t).filter(r=>!e.has(r))}function Vi(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 zi(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 Xr(t,e){return {...e,quote:r=>t.quote(e,r)}}function es(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 ts(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function rs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function ss(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function ns(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 is(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 os(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 as(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=$i(),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 $i(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var us="0x0000000000000000000000000000000000000000000000000000000000000000";async function ds(t){let e=J(t.account),r=gd({chainId:t.chainId,exchange:t.exchange}),s={builder:us,maker:e.maker,makerAmount:toBaseUnits(hd(t.orderSide,t.orderPrice,t.size)),metadata:us,salt:jd().toString(),side:kd(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(id(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},n;try{n=await t.signer.signTypedData(ed({domain:r,order:s}));}catch(i){throw m$1.fromError(i,"Could not sign the RFQ quote order.")}return {...s,signature:fd({domain:r,order:s,signature:n})}}var ms=DecimalishSchema.transform(t=>ys(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),Gi=z.strictObject({price:ms.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:ms.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function hs(t){return G(t,Gi)}async function fs(t){let e=t.response.price,r=t.response.size===void 0?eo(t.request.requestedSize,e):t.response.size,s=await ds({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=ys(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function ys(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 Re({account:this.#e,chainId:this.#r,credentials:this.#s,exchange:this.#o,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Re=class{#e;#r;#s;#o;#i;#t;#n;#a;#d=new Kd;#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(ns(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(Xr(this,s));return;case "quote_ack":this.#c.resolve(B(s.rfqId),ts(s));return;case "quote_cancel_ack":this.#c.resolve(Se(s.rfqId,s.quoteId),rs(s));return;case "confirmation_request":this.#u.push(es(this,s));return;case "confirmation_ack":this.#c.resolve(be(s.rfqId,s.quoteId),ss(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#P(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#m(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(B(e.rfqId),new _if(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Se(e.rfqId,e.quoteId),new kf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new mf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=hs(r),n=await fs({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(is(e,n)),await i}catch(o){throw this.#c.remove(B(e.rfqId),i),o}}async cancelQuote(e){let r=Se(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(os(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=be(e,r),i=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#h(as(e,r,s)),await i}catch(o){throw this.#c.remove(n,i),o}}};function B(t){return `ACK_RFQ_QUOTE:${t}`}function Se(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function be(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 Kd({heartbeat:new Gd});#i=new Jd;#t=new p({deriveServerState:po});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(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 Kd({heartbeat:new Hd});#i=new Jd;#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 Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new 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),Ae=I(this.environment,o,A);if(s.credentials!==void 0){let Ce=this.#e(s.credentials,Ae,r);try{if((await gb(Ce)).includes(s.credentials.key))return Ce}catch(x){if(!(x instanceof f$1)||x.status!==401)throw x}}let bs=yield {kind:"signAuthMessage",payload:Ir({address:o,chainId:this.environment.chainId,nonce:i,timestamp:n})},Rs=await eb(this,{address:o,nonce:i,signature:expectEvmSignature(bs),timestamp:n});return this.#e(Rs,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 Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Ed({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),combos:new Ed({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:r=>this.resolveRelayerHeaders(r),root:e.environment.combos.collateralReturn.rest}),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 ib(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let o=new U({apiKey:n,environment:i});for(let A of this.decorators)o.extend(A);return o}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await Wr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw m$1.fromError(r,"Could not sign the L2-authenticated request")}}};function Ss(t={}){return new U({environment:t.environment??le,apiKey:t.apiKey}).extend(Dr)}var Co=n(j,g$1,f$1,m$1,h,i,c,b$1,a),Eo=n(a);async function ko(t){let e=Ss({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,Dr as allActions,oe as analyticsActions,Wr as buildHmacSignature,Ss as createPublicClient,ko as createSecureClient,ae as dataActions,ce as discoveryActions,Fi as forkEnvironmentConfig,ue as perpsActions,Sc as preproduction,le as production,Mi as relayerApiKey,xi as remoteBuilderSigning,de as rewardsActions,Or as rfqActions,pe as subscriptionsActions,Fr as tradingActions,Lr as walletActions};//# sourceMappingURL=index.js.map
1
+ import {Q as Q$1,_,Y,W as W$1,ua,sa,Be,ze,xe,ve,te,re,Cc,Ac,yc,tb,qa,Oc,Qc,gd,Zb,Xb,Vb,Tb,Rb,Pb,Nb,Lb,Jb,xb,vb,wc,oc,mc,kc,jf,mg,ag,_f,Nf,kg,ig,gg,eg,Ec,Rf,Pf,Mc,Kc,Ic,Gc,uc,sc,qc,oe as oe$1,le as le$1,ke,ne as ne$1,oa,ma,ka,ia,ga,ea,yf,wf,uf,rf,Yf,Uf,Wf,cg,U as U$1,S as S$1,_c,Yc,Wc,Uc,xd,md,ld,Fd,Dd,Bd,zd,hc,dc,hf,cf,Ve,qg,Za,Va,bb,ya,Da,N,O,Ga,ce as ce$1,ae as ae$1,_d,Wd,Ud,Sd,ee,Yd,Sc,bc,$b,J,Gd,I,za,L as L$1,jb,hb,Md,Kd,Ld,Id,Jd,Hd,lb,Qd,kf,mf,of,M,bd,dd,ed,cd,$c,ad}from'./chunk-ENQH6V4J.js';export{vf as AcceptComboQuoteError,Ya as ApproveErc1155ForAllError,Ua as ApproveErc20Error,Nd as ArmPerpsAutoCancelError,Vf as AuthorizeSessionKeyError,Xc as CancelAllError,Zc as CancelMarketOrdersError,Tc as CancelOrderError,Vc as CancelOrdersError,ic as CollateralReturnKnownOperationKind,E as CombinatorialPrepareConditionCallError,Bf as ComboAcceptFailureReason,va as ComboActivityType,Ce as ComboPositionOutcome,pe as ComboPositionSort,De as ComboPositionStatus,Cf as ComboQuoteUnavailableReason,Cd as CreateLimitOrderError,yd as CreateMarketOrderError,s as CtfRedeemPositionsCallError,ie as DepositToPerpsError,Ae as DownloadAccountingSnapshotError,Z as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,fd as EstimateMarketPriceError,gc as ExecuteCollateralReturnPlanError,P as FetchClosedOnlyModeError,lc as FetchCommentsByIdError,rc as FetchEventError,vc as FetchEventLiveVolumeError,tc as FetchEventTagsError,Ub as FetchLastTradePriceError,Wb as FetchLastTradePricesError,Jc as FetchMarketError,Lc as FetchMarketTagsError,ub as FetchMidpointError,wb as FetchMidpointsError,X as FetchNotificationsError,Mb as FetchOrderBookError,Ob as FetchOrderBooksError,T as FetchOrderError,da as FetchOrderScoringError,fa as FetchOrdersScoringError,Xd as FetchPerpsBookError,de as FetchPerpsFeesError,Rd as FetchPerpsInstrumentsError,Td as FetchPerpsTickerError,Vd as FetchPerpsTickersError,we as FetchPortfolioValueError,Ib as FetchPriceError,Yb as FetchPriceHistoryError,Kb as FetchPricesError,if as FetchPublicProfileError,jg as FetchRelatedTagResourcesError,hg as FetchRelatedTagsError,na as FetchRewardPercentagesError,zf as FetchRfqStatusError,Qf as FetchSeriesError,Tf as FetchSessionKeysError,$f as FetchSportsMarketTypesError,Qb as FetchSpreadError,Sb as FetchSpreadsError,fg as FetchTagError,ja as FetchTotalEarningsForUserForDayError,ye as FetchTradedMarketCountError,V as ListAccountTradesError,ra as ListActivityError,xc as ListBuilderLeaderboardError,sb as ListBuilderTradesError,zc as ListBuilderVolumeError,se as ListClosedPositionsError,ta as ListComboActivityError,Hc as ListComboMarketsError,ue as ListComboPositionsError,nc as ListCommentsByUserAddressError,jc as ListCommentsError,_b as ListCurrentRewardsError,pc as ListEventsError,Nc as ListMarketHoldersError,Rc as ListMarketPositionsError,ac as ListMarketRewardsError,Fc as ListMarketsError,Pc as ListOpenInterestError,R as ListOpenOrdersError,Zd as ListPerpsCandlesError,$d as ListPerpsFundingHistoryError,be as ListPerpsTradesError,qe as ListPositionsError,Of as ListSeriesError,Zf as ListSportsError,dg as ListTagsError,lg as ListTeamsError,Bc as ListTraderLeaderboardError,pa as ListTradesError,la as ListUserEarningsAndMarketsConfigError,ha as ListUserEarningsForDayError,a as MAX_UINT256,v as MergePositionsCallError,Ze as MergePositionsError,A as MergeV2CallError,fe as OpenPerpsSessionError,qf as OpenRfqSessionError,q as PerpsDepositCallError,Ed as PlaceLimitOrderError,Ad as PlaceMarketOrderError,cc as PlanCollateralReturnError,jd as PostOrderError,kd as PostOrdersError,gf as RedeemPositionsError,C as RedeemV2CallError,tf as RequestComboQuoteError,ge as RevokePerpsCredentialsError,Xf as RevokeSessionKeyError,nf as RfqCancelQuoteError,mf as RfqCancelQuoteRejectedError,Df as RfqConfirmationDecision,pf as RfqConfirmationError,of as RfqConfirmationRejectedError,Ef as RfqDirection,Ff as RfqExecutionStatus,Gf as RfqKnownErrorCode,lf as RfqQuoteError,kf as RfqQuoteRejectedError,Hf as RfqRejectionCode,sf as RfqRequestRejectedError,If as RfqRequestedSizeUnit,Jf as RfqSide,Kf as RfqStatus,Mf as SearchError,Lf as SearchSort,Sf as SessionKeyKnownScope,ab as SetupTradingApprovalsError,K as SignerType,t as SplitPositionCallError,Qe as SplitPositionError,y as SplitV2CallError,bg as SubscribeError,pg as TransferErc20Error,Od as UpdatePerpsLeverageError,Pd as UpdatePerpsMarginError,xf as WaitForComboFillError,wd as WaitForOrderFillSettlementError,wa as WaitForTransactionError,je as WithdrawFromPerpsError,o as authorizeSessionSignerCall,F as combinatorialPrepareConditionCall,x as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,G as encodeProxyCall,H as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,xa as expectTransactionHandle,w as mergePositionsCall,B as mergeV2Call,r as perpsDepositCall,D as redeemV2Call,p as revokeSessionSignerCall,u as splitPositionCall,z as splitV2Call}from'./chunk-ENQH6V4J.js';import {a,o,k,h,g as g$1,n,i,j,c,b as b$1,e}from'./chunk-DLZLJOGO.js';export{m as AutoCancelDailyLimitError,k as CancelledSigningError,e as ConnectionLostError,l as InsufficientLiquidityError,h as RateLimitError,g as RequestRejectedError,n as SigningError,i as TimeoutError,f as TradingRestriction,j as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,o as makeErrorGuard}from'./chunk-DLZLJOGO.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{NotificationType,OrderResponseErrorCode,PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsKnownWithdrawalStatus,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var Gi=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function Yi(t){return new oe(t)}function Ji(t){return new ie(t)}var oe=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#r(e)}catch(r){throw n.fromError(r,"Could not authorize the builder-authenticated request")}}async#s(){let e=this.#e.headers,r=typeof e=="function"?await e():e,s=new Headers(r);return s.set("content-type","application/json"),s}async#r(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#s(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return Gi.parse(await r.json())}},ie=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function Dr(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function Zi(t){return {listPositions:re.bind(null,t),listClosedPositions:te.bind(null,t),listComboPositions:ve.bind(null,t),fetchPortfolioValue:xe.bind(null,t),fetchTradedMarketCount:ze.bind(null,t),downloadAccountingSnapshot:Be.bind(null,t),listMarketPositions:Sc.bind(null,t),listActivity:sa.bind(null,t),listComboActivity:ua.bind(null,t)}}function y(t,e={}){return {...e,user:e.user??t.account.wallet}}function ne(t){let e=Zi(t);return t.isPublicClient()?e:{...e,listPositions:r=>re(t,y(t,r)),listClosedPositions:r=>te(t,y(t,r)),listComboPositions:r=>ve(t,y(t,r)),fetchPortfolioValue:r=>xe(t,y(t,r)),fetchTradedMarketCount:r=>ze(t,y(t,r)),downloadAccountingSnapshot:r=>Be(t,y(t,r)),listActivity:r=>sa(t,y(t,r)),listComboActivity:r=>ua(t,y(t,r)),listAccountTrades:W$1.bind(null,t),fetchNotifications:Y.bind(null,t),dropNotifications:_.bind(null,t),fetchClosedOnlyMode:Q$1.bind(null,t)}}function ae(t){return {listBuilderTrades:tb.bind(null,t),listBuilderLeaderboard:yc.bind(null,t),fetchBuilderVolume:Ac.bind(null,t),listTraderLeaderboard:Cc.bind(null,t)}}function ce(t){return {fetchEventLiveVolume:wc.bind(null,t),fetchMidpoint:vb.bind(null,t),fetchMidpoints:xb.bind(null,t),fetchPrice:Jb.bind(null,t),fetchPrices:Lb.bind(null,t),fetchOrderBook:Nb.bind(null,t),fetchOrderBooks:Pb.bind(null,t),fetchSpread:Rb.bind(null,t),fetchSpreads:Tb.bind(null,t),fetchLastTradePrice:Vb.bind(null,t),fetchLastTradePrices:Xb.bind(null,t),fetchPriceHistory:Zb.bind(null,t),estimateMarketPrice:gd.bind(null,t),listOpenInterest:Qc.bind(null,t),listMarketHolders:Oc.bind(null,t),listTrades:qa.bind(null,t)}}function ue(t){return {listEvents:qc.bind(null,t),fetchEvent:sc.bind(null,t),fetchEventTags:uc.bind(null,t),listMarkets:Gc.bind(null,t),listComboMarkets:Ic.bind(null,t),fetchMarket:Kc.bind(null,t),fetchMarketTags:Mc.bind(null,t),listSeries:Pf.bind(null,t),fetchSeries:Rf.bind(null,t),listMarketClarifications:Ec.bind(null,t),listTags:eg.bind(null,t),fetchTag:gg.bind(null,t),fetchRelatedTags:ig.bind(null,t),fetchRelatedTagResources:kg.bind(null,t),search:Nf.bind(null,t),listSports:_f.bind(null,t),fetchSportsMarketTypes:ag.bind(null,t),listTeams:mg.bind(null,t),fetchPublicProfile:jf.bind(null,t),listComments:kc.bind(null,t),fetchCommentsById:mc.bind(null,t),listCommentsByUserAddress:oc.bind(null,t)}}function de(t){let e={fetchPerpsBook:r=>Yd(t,r),fetchPerpsFees:()=>ee(t),fetchPerpsInstruments:r=>Sd(t,r),fetchPerpsTicker:r=>Ud(t,r),fetchPerpsTickers:r=>Wd(t,r),listPerpsCandles:r=>_d(t,r),listPerpsFundingHistory:r=>ae$1(t,r),listPerpsTrades:r=>ce$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>ne$1(t,r),openPerpsSession:r=>ke(t,r),revokePerpsCredentials:r=>le$1(t,r),withdrawFromPerps:r=>oe$1(t,r)}:e}function Xi(t){return {listCurrentRewards:$b.bind(null,t),listMarketRewards:bc.bind(null,t)}}function pe(t){let e=Xi(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ea.bind(null,t),fetchOrdersScoring:ga.bind(null,t),listUserEarningsForDay:ia.bind(null,t),fetchTotalEarningsForUserForDay:ka.bind(null,t),listUserEarningsAndMarketsConfig:ma.bind(null,t),fetchRewardPercentages:oa.bind(null,t)}}function Ur(t){return {openRfqSession(){return rf(t)},requestComboQuote(e){return uf(t,e)},acceptComboQuote(e){return wf(t,e)},waitForComboFill(e){return yf(t,e)}}}function Wr(t){return {authorizeSessionKey:Wf.bind(null,t),fetchSessionKeys:Uf.bind(null,t),revokeSessionKey:Yf.bind(null,t)}}function le(t){return t.isSecureClient()?{subscribe(e){return cg(t,e)}}:{subscribe(e){return cg(t,e)}}}function Qr(t){return {createMarketOrder:zd.bind(null,t),placeMarketOrder:Bd.bind(null,t),createLimitOrder:Dd.bind(null,t),placeLimitOrder:Fd.bind(null,t),postOrder:ld(t),postOrders:md(t),waitForOrderFillSettlement:xd.bind(null,t),cancelOrder:Uc.bind(null,t),cancelOrders:Wc.bind(null,t),cancelAll:Yc.bind(null,t),cancelMarketOrders:_c.bind(null,t),listOpenOrders:S$1.bind(null,t),fetchOrder:U$1.bind(null,t)}}function Kr(t){return {setupTradingApprovals:bb.bind(null,t),approveErc20:Va.bind(null,t),approveErc1155ForAll:Za.bind(null,t),transferErc20:qg.bind(null,t),splitPosition:Ve.bind(null,t),mergePositions:cf.bind(null,t),redeemPositions:hf.bind(null,t),planCollateralReturn:dc.bind(null,t),executeCollateralReturnPlan:hc.bind(null,t)}}function Hr(t){return t.isSecureClient()?{...ne(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t),...Ur(t),...Wr(t),...le(t),...Qr(t),...Kr(t)}:{...ne(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t),...le(t)}}var me={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},contracts:{collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),exchangeV3:expectEvmAddress("0xe3333700cA9d93003F00f0F71f8515005F6c00Aa"),protocolV2Router:expectEvmAddress("0x12121212006e4CD160D18e3f00711DA5c3372600"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",builderGateway:{rest:"https://combos-rfq-gateway-builder.polymarket.com"},collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function en(t,e=me){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...P(e.clob,t.clob),market:L(e.clob.market,t.clob?.market),user:L(e.clob.user,t.clob?.user)},relayer:P(e.relayer,t.relayer),gamma:P(e.gamma,t.gamma),data:P(e.data,t.data),combos:{..._r(e.combos,t.combos),builderGateway:P(e.combos.builderGateway,t.combos?.builderGateway),collateralReturn:P(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:_r(e.perps,t.perps),rtds:L(e.rtds,t.rtds),sports:L(e.sports,t.sports)}}function P(t,e){return {...t,...e,headers:he(t.headers,e?.headers)}}function L(t,e){return {...t,...e,headers:he(t.headers,e?.headers)}}function _r(t,e){return {...t,...e,headers:he(t.headers,e?.headers)}}function he(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var jc=en({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function zr(t,e,r,s,o){let i=`${e}${r}${s}`;o!==void 0&&(i+=o);let n=await globalThis.crypto.subtle.importKey("raw",tn(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),R=await globalThis.crypto.subtle.sign("HMAC",n,new TextEncoder().encode(i));return sn(rn(R))}function tn(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let o=0;o<r.length;o+=1)s[o]=r.charCodeAt(o);return s.buffer}function rn(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function sn(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function m(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var p=class{#e=new Set;#s;constructor(e){this.#s=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let o={subscription:e,subscriber:s};return {change:this.#r(o),entry:o}}#r(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#s(this.#e)}};function ye(t,e,r){let s=B(r.assetsIds,e.assetsIds),o=B(e.assetsIds,r.assetsIds);s.length>0&&t(Vr(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(Vr([i],r.customFeatureEnabled)),o.length>0&&t(nn(o));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t($r(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(jr(r.markets));return}let s=B(r.markets,e.markets),o=B(e.markets,r.markets);s.length>0&&t(jr(s)),o.length>0&&t($r(o));}function Nr(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let o of s.tokenIds)e.add(o);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Gr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(es(s)){e=true;continue}for(let o of s.markets??[])r.add(o);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Yr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Vr(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function nn(t){return {assets_ids:t,operation:"unsubscribe"}}function Jr(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function jr(t){return {markets:t,operation:"subscribe"}}function $r(t){return {markets:t,operation:"unsubscribe"}}function Zr(t){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 Xr(t){if(es(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function es(t){return (t.markets?.length??0)===0}function B(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#s;#r;#n=new Md({heartbeat:new Hd});#i=new Ld;#t=new p({deriveServerState:Nr});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Zr(e)});return await this.#o(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#o(e,r){let{before:s,after:o}=r;try{(await this.#u()).reusedOpenSocket&&ye(n=>this.#n.send(n),s,o);}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}ye(o=>this.#n.send(o),r,s);}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#n.close();}#u(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#i.resetBackoff(),this.#y();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let o=MarketEventSchema.safeParse(s);o.success&&this.#t.dispatch(o.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#h(){}#y(){this.#n.send(Yr(this.#t.serverState()));}#m(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var g=class{#e;#s;#r;#n;#i=new Md({heartbeat:new Hd});#t=new Ld;#o=new p({deriveServerState:Gr});constructor(e){this.#e=e.credentials,this.#s=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#o.add(e,{matches:Xr(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:o}=r;try{(await this.#c()).reusedOpenSocket&&fe(n=>this.#i.send(n),s,o);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:s}=this.#o.remove(e);if(!this.#o.hasActiveSubscriptions()){await this.close();return}fe(o=>this.#i.send(o),r,s);}async close(){this.#n===void 0&&(this.#n=this.#u().finally(()=>{this.#n=void 0;})),await this.#n;}async#u(){this.#t.stop(),this.#o.endAll(),await this.#i.close();}#c(){return this.#i.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#y(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#s,url:this.#r})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let o=UserEventSchema.safeParse(s);o.success&&this.#o.dispatch(o.data);}}#h(){this.#o.hasActiveSubscriptions()&&this.#f();}#y(){}#m(e){this.#i.send(Jr(this.#o.serverState(),e));}#f(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#o.hasActiveSubscriptions()});}};var q=class{#e;#s;#r;#n;#i=new Set;#t=new Set;#o=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#s=e.headers,this.#r=e.restUrl,this.#n=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new Qd({chainId:this.#e,credentials:e,headers:this.#s,onClose:o=>this.#d(o),restUrl:this.#r,wsUrl:this.#n});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#i.add(r),r}catch(o){throw await r.close(),o}finally{this.#o.delete(s),this.#t.delete(r);}})(),this.#o.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#i),r=Array.from(this.#t),s=Array.from(this.#o);this.#i.clear(),this.#t.clear(),this.#o.clear(),await Promise.allSettled([...e.map(o=>o.close()),...r.map(o=>o.close()),...s.map(o=>o.catch(()=>{}))]).then(()=>{});}#d(e){this.#i.delete(e),this.#t.delete(e);}};var b=class{#e;#s;#r;#n=1;#i=new Md({heartbeat:new Kd});#t=new Ld;#o=new p({deriveServerState:dn});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#o.add(e,{matches:ln(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#m(ts(r.before,r.after)),this.#f(rs(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#o.remove(e);this.#m(ts(r,s)),this.#f(rs(r,s)),this.#o.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#u().finally(()=>{this.#r=void 0;})),await this.#r;}async#u(){this.#t.stop(),this.#o.endAll(),await this.#i.close();}#c(){return this.#i.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#y(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#s})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#o.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#o.dispatch(r.data);}#h(){this.#o.hasActiveSubscriptions()&&this.#b();}#y(){}#m(e){e.length!==0&&this.#i.send(this.#S("sub",e));}#f(e){e.length!==0&&this.#i.send(this.#S("unsub",e));}#S(e,r){return {id:this.#n++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#o.hasActiveSubscriptions()});}};function dn(t){let e=new Set,r=new Set,s=new Set,o=false,i=false;for(let{subscription:n}of t)switch(n.topic){case "perps.tickers":n.instrumentId===void 0?o=true:r.add(n.instrumentId);break;case "perps.statistics":n.instrumentId===void 0?i=true:s.add(n.instrumentId);break;default:e.add(pn(n));}if(o)e.add("tickers::all");else for(let n of r)e.add(`tickers::${n}`);if(i)e.add("statistics::all");else for(let n of s)e.add(`statistics::${n}`);return e}function ts(t,e){return Array.from(e).filter(r=>!t.has(r))}function rs(t,e){return Array.from(t).filter(r=>!e.has(r))}function pn(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function ln(t){switch(t.topic){case "perps.trades":return e=>e.topic==="perps.trades"&&e.channel===`trades::${t.instrumentId}`;case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function is(t,e){return {...e,quote:r=>t.quote(e,r)}}function ns(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function as(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function cs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function us(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function ds(t,e){let r=M(t);return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},identity:{maker_address:r.maker,signature_type:r.signatureType,signer_address:r.signer},type:"auth"}}function ps(t,e){return {price_e6:e.price.toString(),rfq_id:t.rfqId,signed_order:e.signedOrder,size_e6:e.size.toString(),type:"RFQ_QUOTE"}}function ls(t,e,r){let s=M(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function ms(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var D=class{#e=new Map;#s;constructor(e){this.#s=e;}waitFor(e,r){let s=hn(),o,i$1=setNonBlockingTimeout(()=>{this.remove(e,o),s.reject(new i(r));},this.#s);o=s.promise.finally(()=>clearTimeout(i$1));let n=this.#e.get(e)??[];return n.push({...s,promise:o}),this.#e.set(e,n),o}resolve(e,r){let s=this.#e.get(e),o=s?.shift();o!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),o.resolve(r));}reject(e,r){let s=this.#e.get(e),o=s?.shift();o!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),o.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let o=s.filter(i=>i.promise!==r);o.length===0?this.#e.delete(e):this.#e.set(e,o);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function hn(){let t,e;return {promise:new Promise((s,o)=>{t=s,e=o;}),reject:e,resolve:t}}var ys="0x0000000000000000000000000000000000000000000000000000000000000000";async function fs(t){let e=M(t.account),r=bd({chainId:t.chainId,exchange:t.exchange}),s={builder:ys,maker:e.maker,makerAmount:toBaseUnits(cd(t.orderSide,t.orderPrice,t.size)),metadata:ys,salt:yn().toString(),side:ed(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(dd(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},o;try{o=await t.signer.signTypedData($c({domain:r,order:s}));}catch(i){throw n.fromError(i,"Could not sign the RFQ quote order.")}return {...s,signature:ad({domain:r,order:s,signature:o})}}function yn(){let t=new Uint8Array(8);return globalThis.crypto.getRandomValues(t),BigInt(`0x${Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}`)}var Rs=DecimalishSchema.transform(t=>qs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),bn=z.strictObject({price:Rs.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:Rs.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function Ps(t){return I(t,bn)}async function gs(t){let e=t.response.price,r=t.response.size===void 0?qn(t.request.requestedSize,e):t.response.size,s=await fs({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:Pn(t.request,t.response.source,e),orderSide:gn(t.response.source),signer:t.signer,size:r,tokenId:Rn(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Rn(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function Pn(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function gn(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function qn(t,e){let r=qs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function qs(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let o=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(o<=0n)throw new a("Value must be greater than 0.");return o}var En=3e4,kn=3e4,C=class{#e;#s;#r;#n;#i;#t;#o;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#n=e.exchange,this.#i=e.headers,this.#t=e.signer,this.#o=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Pe({account:this.#e,chainId:this.#s,credentials:this.#r,exchange:this.#n,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#o});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Pe=class{#e;#s;#r;#n;#i;#t;#o;#a;#d=new Md;#u=pushable({objectMode:true});#c=new D(kn);#p;#l;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#n=e.exchange,this.#i=e.headers,this.#t=e.onClose,this.#o=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Tn();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},En);try{await this.#d.connect({headers:this.#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.#y()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#y(){let e=new c("RFQ quoter websocket closed.");this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}async#m(e){this.#p===void 0&&(this.#p=this.#f(e)),await this.#p;}async#f(e){this.#S(e),this.#u.end(e),await this.#d.close(),this.#t();}#S(e){this.#l?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(ds(this.#e,this.#r));}#R(e){if(this.#p!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#P(s);return;case "quote_request":this.#u.push(is(this,s));return;case "quote_ack":this.#c.resolve(U(s.rfqId),as(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),cs(s));return;case "confirmation_request":this.#u.push(ns(this,s));return;case "confirmation_ack":this.#c.resolve(Re(s.rfqId,s.quoteId),us(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#P(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#m(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(U(e.rfqId),new kf(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 mf(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 of(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=Ps(r),o=await gs({account:this.#e,chainId:this.#s,exchange:this.#n,request:e,response:s,signer:this.#o}),i=this.#c.waitFor(U(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#h(ps(e,o)),await i}catch(n){throw this.#c.remove(U(e.rfqId),i),n}}async cancelQuote(e){let r=be(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#h(ls(this.#e,e.rfqId,e.quoteId)),await s}catch(o){throw this.#c.remove(r,s),o}}async respondToConfirmation(e,r,s){let o=Re(e,r),i=this.#c.waitFor(o,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#h(ms(e,r,s)),await i}catch(n){throw this.#c.remove(o,i),n}}};function U(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Re(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Tn(){let t,e;return {promise:new Promise((s,o)=>{t=s,e=o;}),reject:e,resolve:t}}var A=class{#e;#s;#r;#n=new Md({heartbeat:new Id});#i=new Ld;#t=new p({deriveServerState:Fn});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Dn(e)});return await this.#o(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#o(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:o,after:i}=r,n=xn(o,i);this.#m(n);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),o=Mn(r,s);this.#f(o),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#n.close();}#u(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#i.resetBackoff(),this.#y();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#S();}#h(){}#y(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#n.send(In(e));}#f(e){e.length!==0&&this.#n.send(On(e));}#S(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function xn(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function Mn(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Fn(t){let e=new Map;for(let{subscription:r}of t)for(let s of Ln(r))e.has(s.key)||e.set(s.key,s);return e}function In(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function On(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ln(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>T("comments",e));case "prices.crypto.binance":return [T("crypto_prices","update")];case "prices.crypto.chainlink":return [T("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [T(Bn(t.windowSeconds),"update")];case "prices.equity.pyth":return [T("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function Bn(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function T(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function Dn(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var v=class{#e;#s;#r;#n=new Md({heartbeat:new Jd});#i=new Ld;#t=new p;constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#o(r),m(r.subscriber.queue,()=>this.#a(r))}async#o(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#n.close();}#u(){return this.#n.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#i.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#y();}#h(){}#y(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#s;get context(){return this.#e}get decorators(){return this.#s}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}get hasBuilderApiKey(){return this.context.apiKey?.isBuilderKey??false}constructor(e){this.#e=e,this.#s=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#s.push(e);}},zn=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),Vn=z.object({wallet:EvmAddressSchema,credentials:zn.optional(),nonce:z.number().int().nonnegative().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),Q=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,onRateLimitUpdate:e.onRateLimitUpdate,data:new Gd({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Gd({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Gd({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Gd({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Gd({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Gd({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new J({url:e.environment.rpc}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new A({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=I(e,Vn);return Promise.resolve(async function*(){let o=Math.floor(Date.now()/1e3),i=s?.nonce??0,n=expectEvmAddress(yield za()),R=expectEvmAddress(s.wallet),x=L$1(this.environment,n,R);if(s.credentials!==void 0){let ve=this.#e(s.credentials,x,r);try{if((await jb(ve)).includes(s.credentials.key))return ve}catch(M){if(!(M instanceof g$1)||M.status!==401)throw M}}let As=yield {kind:"signAuthMessage",payload:Dr({address:n,chainId:this.environment.chainId,nonce:i,timestamp:o})},vs=await hb(this,{address:n,nonce:i,signature:expectEvmSignature(As),timestamp:o});return this.#e(vs,x,r)}.call(this))}#e(e,r,s){let o=new Ae({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,onRateLimitUpdate:this.context.onRateLimitUpdate,signer:s});for(let i of this.decorators)o.extend(i);return o}},Ae=class extends W{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,onRateLimitUpdate:e.onRateLimitUpdate,signer:e.signer,clob:new Gd({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Gd({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new J({url:e.environment.rpc}),gamma:new Gd({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Gd({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Gd({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Gd({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Gd({headers:e.environment.clob.headers,onRateLimitUpdate:e.onRateLimitUpdate,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),combos:new Gd({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:r=>this.resolveRelayerHeaders(r),root:e.environment.combos.collateralReturn.rest}),builderGateway:new Gd({headers:e.environment.combos.builderGateway.headers,resolveHeaders:async r=>({...await this.#s(r),...await this.#r(r)}),root:e.environment.combos.builderGateway.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new g({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new C({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new A({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new q({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return this.context.signer}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get builderGateway(){return this.context.builderGateway}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close(),this.webSockets.clobUser.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:o,environment:i,onRateLimitUpdate:n}=this.context;try{await lb(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let R=new Q({apiKey:o,environment:i,onRateLimitUpdate:n});for(let x of this.decorators)R.extend(x);return R}async#s(e){return e.method!=="GET"&&this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):{}}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await zr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw n.fromError(r,"Could not sign the L2-authenticated request")}}};function Cs(t={}){return new Q({environment:t.environment??me,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate}).extend(Hr)}var jn=o(k,h,g$1,n,i,j,c,b$1,a),$n=o(a);async function Nn(t){let e=Cs({environment:t.environment,apiKey:t.apiKey,onRateLimitUpdate:t.onRateLimitUpdate}),r=await Gn(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(ya(t.signer));if(s.account.walletType===WalletType.EOA||await Da(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await Yn(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function Gn(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=N(r,t.environment.walletDerivation);return await Da(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:O(r,t.environment.walletDerivation)}async function Yn(t){let e=O(t.account.signer,t.environment.walletDerivation);if(!isSameEvmAddress(t.account.wallet,e))throw new a(`Wallet ${t.account.wallet} does not match the expected Deposit Wallet ${e} for this signer, nor a deployed wallet address.`);await(await Ga(t)).wait();}
2
+ export{jn as CreateSecureClientError,$n as SetupGaslessWalletError,ne as accountActions,Hr as allActions,ae as analyticsActions,zr as buildHmacSignature,Cs as createPublicClient,Nn as createSecureClient,ce as dataActions,ue as discoveryActions,en as forkEnvironmentConfig,de as perpsActions,jc as preproduction,me as production,Ji as relayerApiKey,Yi as remoteBuilderSigning,pe as rewardsActions,Ur as rfqActions,Wr as sessionKeyActions,le as subscriptionsActions,Qr as tradingActions,Kr as walletActions};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map