@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.
- package/dist/actions/index.d.ts +5 -4
- package/dist/actions/index.js +1 -1
- package/dist/chunk-DLZLJOGO.js +6 -0
- package/dist/chunk-DLZLJOGO.js.map +1 -0
- package/dist/chunk-ENQH6V4J.js +3 -0
- package/dist/chunk-ENQH6V4J.js.map +1 -0
- package/dist/chunk-ZH5ERGHG.js +2 -0
- package/dist/chunk-ZH5ERGHG.js.map +1 -0
- package/dist/ethers-v5.d.ts +1 -1
- package/dist/ethers-v5.js +1 -1
- package/dist/ethers-v5.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/node.js +1 -1
- package/dist/privy.js +1 -1
- package/dist/{sports-CM15YKJi.d.ts → sports-w2Iai7fW.d.ts} +1 -1
- package/dist/{types-BBaRrND2.d.ts → types-C4sR5GA8.d.ts} +867 -67
- package/dist/viem.d.ts +1 -1
- package/dist/viem.js +1 -1
- package/dist/viem.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-E5XS4GYG.js +0 -2
- package/dist/chunk-E5XS4GYG.js.map +0 -1
- package/dist/chunk-MIRUWWDK.js +0 -6
- package/dist/chunk-MIRUWWDK.js.map +0 -1
- package/dist/chunk-WDPLMZVQ.js +0 -3
- package/dist/chunk-WDPLMZVQ.js.map +0 -1
package/dist/viem.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PrivateKey } from '@polymarket/types';
|
|
2
2
|
import { Chain, Transport, WalletClient } from 'viem';
|
|
3
|
-
import { S as Signer } from './types-
|
|
3
|
+
import { S as Signer } from './types-C4sR5GA8.js';
|
|
4
4
|
import '@polymarket/bindings';
|
|
5
5
|
import '@polymarket/bindings/gamma';
|
|
6
6
|
import '@polymarket/bindings/relayer';
|
package/dist/viem.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a,
|
|
1
|
+
import {a,n,k,j,i,c as c$1}from'./chunk-DLZLJOGO.js';import {invariant,expectEvmAddress,expectEvmSignature,isPrivateKey,expectTxHash}from'@polymarket/types';import {createWalletClient,http,UserRejectedRequestError,TransactionExecutionError,WaitForTransactionReceiptTimeoutError}from'viem';import {privateKeyToAccount}from'viem/accounts';import {waitForTransactionReceipt}from'viem/actions';import {polygon}from'viem/chains';function H(t){return t.account!==void 0}function q(t){invariant(H(t),"Wallet client with account is required");let n=t.account,e=expectEvmAddress(typeof t.account=="string"?t.account:t.account.address);return {getAddress(){return Promise.resolve(e)},async signTypedData(r){return expectEvmSignature(await I(t,{account:n,...r}))},async signMessage(r){return expectEvmSignature(await R(t,{account:n,message:{raw:r}}))},async sendTransaction({chainId:r,...f}){await K(t,r);let m=await A(t,{account:n,...f});return new s(m,t)}}}function b(t,n={}){if(!isPrivateKey(t))throw new a("Expected a hex-encoded 32-byte private key.");return q(createWalletClient({account:privateKeyToAccount(t),chain:n.chain??polygon,transport:n.transport??http()}))}async function A(t,n){try{let e=await t.sendTransaction(n);return expectTxHash(e)}catch(e){c(e);}}async function K(t,n$1){try{let e=t.chain?.id??await t.getChainId();if(e!==n$1)throw new n(`Wallet client is connected to chain ${e}, expected ${n$1}`)}catch(e){throw e instanceof n?e:n.fromError(e,"Could not resolve wallet client chain ID")}}async function I(t,n){try{return await t.signTypedData(n)}catch(e){c(e);}}async function R(t,n){try{return await t.signMessage(n)}catch(e){c(e);}}function c(t){if(t instanceof UserRejectedRequestError)throw k.fromError(t);if(t instanceof TransactionExecutionError){let n=t.walk(e=>e instanceof UserRejectedRequestError);if(n)throw k.fromError(n)}throw n.fromError(t)}var s=class{transactionId=null;#t;#n;constructor(n,e){this.#t=expectTxHash(n),this.#n=e;}get transactionHash(){return this.#t}async wait(){try{let n=await waitForTransactionReceipt(this.#n,{hash:this.#t}),e=expectTxHash(n.transactionHash);if(this.#t=e,n.status==="reverted")throw new j(`Transaction ${e} reverted`);return {transactionHash:e,transactionId:null}}catch(n){throw n instanceof WaitForTransactionReceiptTimeoutError?new i(`Timed out waiting for transaction ${this.#t} to settle`,{cause:n}):c$1.fromError(n)}}};export{b as privateKey,q as signerFrom};//# sourceMappingURL=viem.js.map
|
|
2
2
|
//# sourceMappingURL=viem.js.map
|
package/dist/viem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/viem.ts"],"names":["isWalletClientWithAccount","walletClient","signerFrom","invariant","account","address","expectEvmAddress","payload","expectEvmSignature","signTypedData","message","signMessage","chainId","request","assertChainId","hash","sendTransaction","DirectTransactionHandle","privateKey","value","options","isPrivateKey","UserInputError","createWalletClient","privateKeyToAccount","polygon","http","expectTxHash","error","throwSigningWorkflowError","expectedChainId","actualChainId","SigningError","UserRejectedRequestError","CancelledSigningError","TransactionExecutionError","rejected","err","#transactionHash","#walletClient","transactionHash","receipt","waitForTransactionReceipt","TransactionFailedError","WaitForTransactionReceiptTimeoutError","TimeoutError","TransportError"],"mappings":"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","file":"viem.js","sourcesContent":["import {\n expectEvmAddress,\n expectEvmSignature,\n expectTxHash,\n invariant,\n isPrivateKey,\n type PrivateKey,\n type TxHash,\n} from '@polymarket/types';\nimport {\n type Account,\n type Chain,\n createWalletClient,\n type Hash,\n http,\n type SendTransactionParameters,\n type SendTransactionRequest,\n TransactionExecutionError,\n type Transport,\n UserRejectedRequestError,\n WaitForTransactionReceiptTimeoutError,\n type WalletClient,\n} from 'viem';\nimport { privateKeyToAccount } from 'viem/accounts';\nimport { waitForTransactionReceipt } from 'viem/actions';\nimport { polygon } from 'viem/chains';\nimport {\n CancelledSigningError,\n SigningError,\n TimeoutError,\n TransactionFailedError,\n TransportError,\n UserInputError,\n} from './errors';\nimport type { Signer, TransactionHandle } from './types';\n\nexport type PrivateKeySignerOptions = {\n /** Chain used when sending direct EOA transactions. */\n chain?: Chain;\n /** Transport used when sending direct EOA transactions. */\n transport?: Transport;\n};\n\nfunction isWalletClientWithAccount(\n walletClient: WalletClient,\n): walletClient is WalletClient<Transport, Chain, Account> {\n return walletClient.account !== undefined;\n}\n\nexport function signerFrom(walletClient: WalletClient): Signer {\n invariant(\n isWalletClientWithAccount(walletClient),\n 'Wallet client with account is required',\n );\n\n const account = walletClient.account;\n const address = expectEvmAddress(\n typeof walletClient.account === 'string'\n ? walletClient.account\n : walletClient.account.address,\n );\n\n return {\n getAddress() {\n return Promise.resolve(address);\n },\n async signTypedData(payload) {\n return expectEvmSignature(\n await signTypedData(walletClient, {\n account,\n ...payload,\n }),\n );\n },\n async signMessage(message) {\n return expectEvmSignature(\n await signMessage(walletClient, {\n account,\n message: { raw: message },\n }),\n );\n },\n async sendTransaction({ chainId, ...request }) {\n await assertChainId(walletClient, chainId);\n const hash = await sendTransaction(walletClient, {\n account,\n ...request,\n });\n return new DirectTransactionHandle(hash, walletClient);\n },\n };\n}\n\n/**\n * Creates a signer from a private key using viem local account signing.\n *\n * @example\n * ```ts\n * const secureClient = await createSecureClient({\n * signer: privateKey(process.env.PRIVATE_KEY),\n * wallet: '0x...',\n * });\n * ```\n */\nexport function privateKey(\n value: PrivateKey | string | undefined,\n options: PrivateKeySignerOptions = {},\n): Signer {\n if (!isPrivateKey(value)) {\n throw new UserInputError('Expected a hex-encoded 32-byte private key.');\n }\n\n return signerFrom(\n createWalletClient({\n account: privateKeyToAccount(value),\n chain: options.chain ?? polygon,\n transport: options.transport ?? http(),\n }),\n );\n}\n\nasync function sendTransaction<\n account extends Account,\n chain extends Chain,\n const request extends SendTransactionRequest<chain, chainOverride>,\n chainOverride extends Chain | undefined = undefined,\n>(\n walletClient: WalletClient<Transport, chain, account>,\n request: SendTransactionParameters<chain, account, chainOverride, request>,\n): Promise<TxHash> {\n try {\n const hash = await walletClient.sendTransaction(request);\n\n return expectTxHash(hash);\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function assertChainId(\n walletClient: WalletClient,\n expectedChainId: number,\n): Promise<void> {\n try {\n const actualChainId =\n walletClient.chain?.id ?? (await walletClient.getChainId());\n\n if (actualChainId !== expectedChainId) {\n throw new SigningError(\n `Wallet client is connected to chain ${actualChainId}, expected ${expectedChainId}`,\n );\n }\n } catch (error) {\n throw error instanceof SigningError\n ? error\n : SigningError.fromError(\n error,\n 'Could not resolve wallet client chain ID',\n );\n }\n}\n\nasync function signTypedData<\n account extends Account,\n chain extends Chain,\n const request extends Parameters<\n WalletClient<Transport, chain, account>['signTypedData']\n >[0],\n>(walletClient: WalletClient<Transport, chain, account>, request: request) {\n try {\n return await walletClient.signTypedData(request);\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signMessage<\n account extends Account,\n chain extends Chain,\n const request extends Parameters<\n WalletClient<Transport, chain, account>['signMessage']\n >[0],\n>(walletClient: WalletClient<Transport, chain, account>, request: request) {\n try {\n return await walletClient.signMessage(request);\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nfunction throwSigningWorkflowError(error: unknown): never {\n if (error instanceof UserRejectedRequestError) {\n throw CancelledSigningError.fromError(error);\n }\n\n if (error instanceof TransactionExecutionError) {\n const rejected = error.walk(\n (err) => err instanceof UserRejectedRequestError,\n );\n\n if (rejected) {\n throw CancelledSigningError.fromError(rejected);\n }\n }\n\n throw SigningError.fromError(error);\n}\n\nclass DirectTransactionHandle implements TransactionHandle {\n readonly transactionId = null;\n\n #transactionHash: TxHash;\n readonly #walletClient: WalletClient;\n\n constructor(transactionHash: Hash, walletClient: WalletClient) {\n this.#transactionHash = expectTxHash(transactionHash);\n this.#walletClient = walletClient;\n }\n\n get transactionHash() {\n return this.#transactionHash;\n }\n\n async wait() {\n try {\n const receipt = await waitForTransactionReceipt(this.#walletClient, {\n hash: this.#transactionHash,\n });\n\n const transactionHash = expectTxHash(receipt.transactionHash);\n\n // viem's waitForTransactionReceipt supports transaction replacement\n // so it's important to use the transaction hash from the receipt\n this.#transactionHash = transactionHash;\n\n if (receipt.status === 'reverted') {\n throw new TransactionFailedError(\n `Transaction ${transactionHash} reverted`,\n );\n }\n\n return {\n transactionHash,\n transactionId: null,\n };\n } catch (error) {\n if (error instanceof WaitForTransactionReceiptTimeoutError) {\n throw new TimeoutError(\n `Timed out waiting for transaction ${this.#transactionHash} to settle`,\n { cause: error },\n );\n }\n\n throw TransportError.fromError(error);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/viem.ts"],"names":["isWalletClientWithAccount","walletClient","signerFrom","invariant","account","address","expectEvmAddress","payload","expectEvmSignature","signTypedData","message","signMessage","chainId","request","assertChainId","hash","sendTransaction","DirectTransactionHandle","privateKey","value","options","isPrivateKey","UserInputError","createWalletClient","privateKeyToAccount","polygon","http","expectTxHash","error","throwSigningWorkflowError","expectedChainId","actualChainId","SigningError","UserRejectedRequestError","CancelledSigningError","TransactionExecutionError","rejected","err","#transactionHash","#walletClient","transactionHash","receipt","waitForTransactionReceipt","TransactionFailedError","WaitForTransactionReceiptTimeoutError","TimeoutError","TransportError"],"mappings":"waA2CA,SAASA,CAAAA,CACPC,CAAAA,CACyD,CACzD,OAAOA,CAAAA,CAAa,OAAA,GAAY,MAClC,CAEO,SAASC,EAAWD,CAAAA,CAAoC,CAC7DE,SAAAA,CACEH,CAAAA,CAA0BC,CAAY,CAAA,CACtC,wCACF,CAAA,CAEA,IAAMG,EAAUH,CAAAA,CAAa,OAAA,CACvBI,EAAUC,gBAAAA,CACd,OAAOL,CAAAA,CAAa,OAAA,EAAY,QAAA,CAC5BA,CAAAA,CAAa,QACbA,CAAAA,CAAa,OAAA,CAAQ,OAC3B,CAAA,CAEA,OAAO,CACL,YAAa,CACX,OAAO,OAAA,CAAQ,OAAA,CAAQI,CAAO,CAChC,EACA,MAAM,aAAA,CAAcE,CAAAA,CAAS,CAC3B,OAAOC,kBAAAA,CACL,MAAMC,CAAAA,CAAcR,CAAAA,CAAc,CAChC,OAAA,CAAAG,CAAAA,CACA,GAAGG,CACL,CAAC,CACH,CACF,CAAA,CACA,MAAM,WAAA,CAAYG,EAAS,CACzB,OAAOF,kBAAAA,CACL,MAAMG,CAAAA,CAAYV,CAAAA,CAAc,CAC9B,OAAA,CAAAG,CAAAA,CACA,QAAS,CAAE,GAAA,CAAKM,CAAQ,CAC1B,CAAC,CACH,CACF,CAAA,CACA,MAAM,gBAAgB,CAAE,OAAA,CAAAE,CAAAA,CAAS,GAAGC,CAAQ,CAAA,CAAG,CAC7C,MAAMC,CAAAA,CAAcb,CAAAA,CAAcW,CAAO,CAAA,CACzC,IAAMG,EAAO,MAAMC,CAAAA,CAAgBf,EAAc,CAC/C,OAAA,CAAAG,EACA,GAAGS,CACL,CAAC,CAAA,CACD,OAAO,IAAII,EAAwBF,CAAAA,CAAMd,CAAY,CACvD,CACF,CACF,CAaO,SAASiB,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CAAmC,EAAC,CAC5B,CACR,GAAI,CAACC,YAAAA,CAAaF,CAAK,CAAA,CACrB,MAAM,IAAIG,CAAAA,CAAe,6CAA6C,CAAA,CAGxE,OAAOpB,CAAAA,CACLqB,kBAAAA,CAAmB,CACjB,OAAA,CAASC,mBAAAA,CAAoBL,CAAK,CAAA,CAClC,KAAA,CAAOC,CAAAA,CAAQ,OAASK,OAAAA,CACxB,SAAA,CAAWL,CAAAA,CAAQ,SAAA,EAAaM,IAAAA,EAClC,CAAC,CACH,CACF,CAEA,eAAeV,CAAAA,CAMbf,CAAAA,CACAY,EACiB,CACjB,GAAI,CACF,IAAME,CAAAA,CAAO,MAAMd,EAAa,eAAA,CAAgBY,CAAO,CAAA,CAEvD,OAAOc,YAAAA,CAAaZ,CAAI,CAC1B,CAAA,MAASa,CAAAA,CAAO,CACdC,CAAAA,CAA0BD,CAAK,EACjC,CACF,CAEA,eAAed,EACbb,CAAAA,CACA6B,GAAAA,CACe,CACf,GAAI,CACF,IAAMC,CAAAA,CACJ9B,CAAAA,CAAa,KAAA,EAAO,IAAO,MAAMA,CAAAA,CAAa,UAAA,EAAW,CAE3D,GAAI8B,CAAAA,GAAkBD,IACpB,MAAM,IAAIE,CAAAA,CACR,CAAA,oCAAA,EAAuCD,CAAa,CAAA,WAAA,EAAcD,GAAe,CAAA,CACnF,CAEJ,OAASF,CAAAA,CAAO,CACd,MAAMA,CAAAA,YAAiBI,CAAAA,CACnBJ,CAAAA,CACAI,CAAAA,CAAa,SAAA,CACXJ,CAAAA,CACA,0CACF,CACN,CACF,CAEA,eAAenB,CAAAA,CAMbR,CAAAA,CAAuDY,EAAkB,CACzE,GAAI,CACF,OAAO,MAAMZ,CAAAA,CAAa,cAAcY,CAAO,CACjD,OAASe,CAAAA,CAAO,CACdC,EAA0BD,CAAK,EACjC,CACF,CAEA,eAAejB,CAAAA,CAMbV,EAAuDY,CAAAA,CAAkB,CACzE,GAAI,CACF,OAAO,MAAMZ,EAAa,WAAA,CAAYY,CAAO,CAC/C,CAAA,MAASe,CAAAA,CAAO,CACdC,EAA0BD,CAAK,EACjC,CACF,CAEA,SAASC,CAAAA,CAA0BD,EAAuB,CACxD,GAAIA,CAAAA,YAAiBK,wBAAAA,CACnB,MAAMC,CAAAA,CAAsB,UAAUN,CAAK,CAAA,CAG7C,GAAIA,CAAAA,YAAiBO,yBAAAA,CAA2B,CAC9C,IAAMC,CAAAA,CAAWR,CAAAA,CAAM,IAAA,CACpBS,CAAAA,EAAQA,CAAAA,YAAeJ,wBAC1B,EAEA,GAAIG,CAAAA,CACF,MAAMF,CAAAA,CAAsB,SAAA,CAAUE,CAAQ,CAElD,CAEA,MAAMJ,CAAAA,CAAa,SAAA,CAAUJ,CAAK,CACpC,CAEA,IAAMX,CAAAA,CAAN,KAA2D,CAChD,aAAA,CAAgB,KAEzBqB,EAAAA,CACSC,EAAAA,CAET,WAAA,CAAYC,CAAAA,CAAuBvC,CAAAA,CAA4B,CAC7D,KAAKqC,EAAAA,CAAmBX,YAAAA,CAAaa,CAAe,CAAA,CACpD,IAAA,CAAKD,EAAAA,CAAgBtC,EACvB,CAEA,IAAI,eAAA,EAAkB,CACpB,OAAO,IAAA,CAAKqC,EACd,CAEA,MAAM,IAAA,EAAO,CACX,GAAI,CACF,IAAMG,CAAAA,CAAU,MAAMC,yBAAAA,CAA0B,IAAA,CAAKH,EAAAA,CAAe,CAClE,KAAM,IAAA,CAAKD,EACb,CAAC,CAAA,CAEKE,CAAAA,CAAkBb,aAAac,CAAAA,CAAQ,eAAe,CAAA,CAM5D,GAFA,IAAA,CAAKH,EAAAA,CAAmBE,EAEpBC,CAAAA,CAAQ,MAAA,GAAW,UAAA,CACrB,MAAM,IAAIE,CAAAA,CACR,eAAeH,CAAe,CAAA,SAAA,CAChC,CAAA,CAGF,OAAO,CACL,eAAA,CAAAA,EACA,aAAA,CAAe,IACjB,CACF,CAAA,MAASZ,CAAAA,CAAO,CACd,MAAIA,CAAAA,YAAiBgB,qCAAAA,CACb,IAAIC,CAAAA,CACR,CAAA,kCAAA,EAAqC,IAAA,CAAKP,EAAgB,CAAA,UAAA,CAAA,CAC1D,CAAE,KAAA,CAAOV,CAAM,CACjB,CAAA,CAGIkB,IAAe,SAAA,CAAUlB,CAAK,CACtC,CACF,CACF,CAAA","file":"viem.js","sourcesContent":["import {\n expectEvmAddress,\n expectEvmSignature,\n expectTxHash,\n invariant,\n isPrivateKey,\n type PrivateKey,\n type TxHash,\n} from '@polymarket/types';\nimport {\n type Account,\n type Chain,\n createWalletClient,\n type Hash,\n http,\n type SendTransactionParameters,\n type SendTransactionRequest,\n TransactionExecutionError,\n type Transport,\n UserRejectedRequestError,\n WaitForTransactionReceiptTimeoutError,\n type WalletClient,\n} from 'viem';\nimport { privateKeyToAccount } from 'viem/accounts';\nimport { waitForTransactionReceipt } from 'viem/actions';\nimport { polygon } from 'viem/chains';\nimport {\n CancelledSigningError,\n SigningError,\n TimeoutError,\n TransactionFailedError,\n TransportError,\n UserInputError,\n} from './errors';\nimport type { Signer, TransactionHandle } from './types';\n\nexport type PrivateKeySignerOptions = {\n /** Chain used when sending direct EOA transactions. */\n chain?: Chain;\n /** Transport used when sending direct EOA transactions. */\n transport?: Transport;\n};\n\nfunction isWalletClientWithAccount(\n walletClient: WalletClient,\n): walletClient is WalletClient<Transport, Chain, Account> {\n return walletClient.account !== undefined;\n}\n\nexport function signerFrom(walletClient: WalletClient): Signer {\n invariant(\n isWalletClientWithAccount(walletClient),\n 'Wallet client with account is required',\n );\n\n const account = walletClient.account;\n const address = expectEvmAddress(\n typeof walletClient.account === 'string'\n ? walletClient.account\n : walletClient.account.address,\n );\n\n return {\n getAddress() {\n return Promise.resolve(address);\n },\n async signTypedData(payload) {\n return expectEvmSignature(\n await signTypedData(walletClient, {\n account,\n ...payload,\n }),\n );\n },\n async signMessage(message) {\n return expectEvmSignature(\n await signMessage(walletClient, {\n account,\n message: { raw: message },\n }),\n );\n },\n async sendTransaction({ chainId, ...request }) {\n await assertChainId(walletClient, chainId);\n const hash = await sendTransaction(walletClient, {\n account,\n ...request,\n });\n return new DirectTransactionHandle(hash, walletClient);\n },\n };\n}\n\n/**\n * Creates a signer from a private key using viem local account signing.\n *\n * @example\n * ```ts\n * const secureClient = await createSecureClient({\n * signer: privateKey(process.env.PRIVATE_KEY),\n * wallet: '0x...',\n * });\n * ```\n */\nexport function privateKey(\n value: PrivateKey | string | undefined,\n options: PrivateKeySignerOptions = {},\n): Signer {\n if (!isPrivateKey(value)) {\n throw new UserInputError('Expected a hex-encoded 32-byte private key.');\n }\n\n return signerFrom(\n createWalletClient({\n account: privateKeyToAccount(value),\n chain: options.chain ?? polygon,\n transport: options.transport ?? http(),\n }),\n );\n}\n\nasync function sendTransaction<\n account extends Account,\n chain extends Chain,\n const request extends SendTransactionRequest<chain, chainOverride>,\n chainOverride extends Chain | undefined = undefined,\n>(\n walletClient: WalletClient<Transport, chain, account>,\n request: SendTransactionParameters<chain, account, chainOverride, request>,\n): Promise<TxHash> {\n try {\n const hash = await walletClient.sendTransaction(request);\n\n return expectTxHash(hash);\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function assertChainId(\n walletClient: WalletClient,\n expectedChainId: number,\n): Promise<void> {\n try {\n const actualChainId =\n walletClient.chain?.id ?? (await walletClient.getChainId());\n\n if (actualChainId !== expectedChainId) {\n throw new SigningError(\n `Wallet client is connected to chain ${actualChainId}, expected ${expectedChainId}`,\n );\n }\n } catch (error) {\n throw error instanceof SigningError\n ? error\n : SigningError.fromError(\n error,\n 'Could not resolve wallet client chain ID',\n );\n }\n}\n\nasync function signTypedData<\n account extends Account,\n chain extends Chain,\n const request extends Parameters<\n WalletClient<Transport, chain, account>['signTypedData']\n >[0],\n>(walletClient: WalletClient<Transport, chain, account>, request: request) {\n try {\n return await walletClient.signTypedData(request);\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nasync function signMessage<\n account extends Account,\n chain extends Chain,\n const request extends Parameters<\n WalletClient<Transport, chain, account>['signMessage']\n >[0],\n>(walletClient: WalletClient<Transport, chain, account>, request: request) {\n try {\n return await walletClient.signMessage(request);\n } catch (error) {\n throwSigningWorkflowError(error);\n }\n}\n\nfunction throwSigningWorkflowError(error: unknown): never {\n if (error instanceof UserRejectedRequestError) {\n throw CancelledSigningError.fromError(error);\n }\n\n if (error instanceof TransactionExecutionError) {\n const rejected = error.walk(\n (err) => err instanceof UserRejectedRequestError,\n );\n\n if (rejected) {\n throw CancelledSigningError.fromError(rejected);\n }\n }\n\n throw SigningError.fromError(error);\n}\n\nclass DirectTransactionHandle implements TransactionHandle {\n readonly transactionId = null;\n\n #transactionHash: TxHash;\n readonly #walletClient: WalletClient;\n\n constructor(transactionHash: Hash, walletClient: WalletClient) {\n this.#transactionHash = expectTxHash(transactionHash);\n this.#walletClient = walletClient;\n }\n\n get transactionHash() {\n return this.#transactionHash;\n }\n\n async wait() {\n try {\n const receipt = await waitForTransactionReceipt(this.#walletClient, {\n hash: this.#transactionHash,\n });\n\n const transactionHash = expectTxHash(receipt.transactionHash);\n\n // viem's waitForTransactionReceipt supports transaction replacement\n // so it's important to use the transaction hash from the receipt\n this.#transactionHash = transactionHash;\n\n if (receipt.status === 'reverted') {\n throw new TransactionFailedError(\n `Transaction ${transactionHash} reverted`,\n );\n }\n\n return {\n transactionHash,\n transactionId: null,\n };\n } catch (error) {\n if (error instanceof WaitForTransactionReceiptTimeoutError) {\n throw new TimeoutError(\n `Timed out waiting for transaction ${this.#transactionHash} to settle`,\n { cause: error },\n );\n }\n\n throw TransportError.fromError(error);\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polymarket/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The Polymarket TypeScript client",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -93,8 +93,8 @@
|
|
|
93
93
|
"ky": "^1.14.3",
|
|
94
94
|
"ox": "^0.14.16",
|
|
95
95
|
"zod": "^4.3.6",
|
|
96
|
-
"@polymarket/bindings": "0.
|
|
97
|
-
"@polymarket/types": "0.
|
|
96
|
+
"@polymarket/bindings": "0.7.0",
|
|
97
|
+
"@polymarket/types": "0.2.0"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
|
100
100
|
"access": "public"
|
package/dist/chunk-E5XS4GYG.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {PolymarketError}from'@polymarket/types';var n=class t extends PolymarketError{name="TransportError";constructor(r,s={}){super(r,s);}static fromError(r){return new t(r instanceof Error?r.message:"Request failed",{cause:r})}};var o=class extends PolymarketError{name="TimeoutError";constructor(r,s={}){super(r,s);}},a=class extends PolymarketError{name="TransactionFailedError";constructor(r,s={}){super(r,s);}},i=class t extends PolymarketError{name="CancelledSigningError";constructor(r,s={}){super(r,s);}static fromError(r){return new t(r.message,{cause:r})}};var u=class t extends PolymarketError{name="SigningError";constructor(r,s={}){super(r,s);}static fromError(r,s){let p=s??(r instanceof Error?r.message:"Signing failed");return new t(p,{cause:r})}};export{n as a,o as b,a as c,i as d,u as e};//# sourceMappingURL=chunk-E5XS4GYG.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-E5XS4GYG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors.ts"],"names":["TransportError","_TransportError","PolymarketError","message","options","error","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","SigningError","_SigningError","msg"],"mappings":"gDAmDO,IAAMA,EAAN,MAAMC,CAAAA,SAAuBC,eAAgB,CACzC,KAAO,gBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAUC,EAAgC,CAC/C,OAAO,IAAIJ,CAAAA,CACTI,aAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,gBAAA,CACzC,CACE,KAAA,CAAOA,CACT,CACF,CACF,CACF,EA2HO,IAAMC,CAAAA,CAAN,cAA2BJ,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaG,CAAAA,CAAN,cAAqCL,eAAgB,CACjD,IAAA,CAAO,wBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CACF,CAAA,CAKaI,CAAAA,CAAN,MAAMC,CAAAA,SAA8BP,eAAgB,CAChD,IAAA,CAAO,uBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAqC,CACpD,OAAO,IAAII,EAAsBJ,CAAAA,CAAM,OAAA,CAAS,CAC9C,KAAA,CAAOA,CACT,CAAC,CACH,CACF,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-E5XS4GYG.js","sourcesContent":["import { PolymarketError } from '@polymarket/types';\nimport type { ZodError } from 'zod';\nimport {\n formatInputZodError,\n formatResponseZodError,\n type ResponseValidationContext,\n} from './validation';\n\n/**\n * Error thrown when an action input fails SDK validation before a request is\n * sent.\n */\nexport class UserInputError extends PolymarketError {\n override name = 'UserInputError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(error: ZodError): UserInputError {\n return new UserInputError(formatInputZodError(error), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when a service response does not match the action's expected\n * response shape.\n */\nexport class UnexpectedResponseError extends PolymarketError {\n override name = 'UnexpectedResponseError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(\n error: ZodError,\n context: ResponseValidationContext,\n ): UnexpectedResponseError {\n return new UnexpectedResponseError(formatResponseZodError(error, context), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when the SDK cannot complete a request because of a network or\n * runtime transport failure.\n */\nexport class TransportError extends PolymarketError {\n override name = 'TransportError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown): TransportError {\n return new TransportError(\n error instanceof Error ? error.message : 'Request failed',\n {\n cause: error,\n },\n );\n }\n}\n\n/**\n * WebSocket close codes defined by RFC 6455 and the IANA WebSocket Close Code\n * Number registry. Codes 4000-4999 are reserved for application use and are\n * intentionally not modeled here.\n */\nexport enum WebSocketKnownCloseCode {\n NormalClosure = 1000,\n GoingAway = 1001,\n ProtocolError = 1002,\n UnsupportedData = 1003,\n /** Synthesized locally when the peer closed without a status code. */\n NoStatusReceived = 1005,\n /** Synthesized locally when the connection dropped without a close frame. */\n AbnormalClosure = 1006,\n InvalidFramePayload = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n InternalError = 1011,\n ServiceRestart = 1012,\n TryAgainLater = 1013,\n}\n\n/**\n * A WebSocket close code. Codes enumerated in\n * {@link WebSocketKnownCloseCode} are defined by RFC 6455; other values, such\n * as application-defined 4000-4999 codes, flow through as plain numbers.\n */\nexport type WebSocketCloseCode = WebSocketKnownCloseCode | (number & {});\n\nexport type ConnectionLostErrorOptions = {\n /** WebSocket close code reported for the lost connection. */\n code: WebSocketCloseCode;\n /** Close reason provided by the peer. Empty when none was sent. */\n reason: string;\n};\n\n/**\n * Error thrown when a live connection ends without the SDK requesting it.\n */\nexport class ConnectionLostError extends PolymarketError {\n override name = 'ConnectionLostError' as const;\n\n readonly code: WebSocketCloseCode;\n readonly reason: string;\n\n constructor(\n message: string,\n options: ErrorOptions & ConnectionLostErrorOptions,\n ) {\n super(message, options);\n this.code = options.code;\n this.reason = options.reason;\n }\n}\n\nexport type RequestRejectedErrorOptions = {\n status: number;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when a service responds with a non-success status other than\n * rate limiting.\n */\nexport class RequestRejectedError extends PolymarketError {\n override name = 'RequestRejectedError' as const;\n\n readonly status: number;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n this.retryAfter = options.retryAfter;\n }\n}\n\nexport type RateLimitErrorOptions = {\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when the service rejects a request because the rate limit has\n * been exceeded.\n */\nexport class RateLimitError extends PolymarketError {\n override name = 'RateLimitError' as const;\n\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RateLimitErrorOptions = {},\n ) {\n super(message, options);\n this.retryAfter = options.retryAfter;\n }\n}\n\n/**\n * Error thrown when an async wait operation exceeds its allotted polling time.\n */\nexport class TimeoutError extends PolymarketError {\n override name = 'TimeoutError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when a submitted transaction reaches a terminal failure state.\n */\nexport class TransactionFailedError extends PolymarketError {\n override name = 'TransactionFailedError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the user cancels a required wallet signing action.\n */\nexport class CancelledSigningError extends PolymarketError {\n override name = 'CancelledSigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: Error): CancelledSigningError {\n return new CancelledSigningError(error.message, {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when there is not enough resting market liquidity to satisfy the\n * requested execution semantics.\n */\nexport class InsufficientLiquidityError extends PolymarketError {\n override name = 'InsufficientLiquidityError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when 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"]}
|
package/dist/chunk-MIRUWWDK.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import {PolymarketError}from'@polymarket/types';var O=/^[$A-Z_a-z][$\w]*$/;function i(e){let r=c(e.issues);return r.length===0?"It was not possible to determine a more specific reason.":["Fix the following issues:",p(r)].join(`
|
|
2
|
-
`)}function u(e,r){let s=c(e.issues);return s.length===0?["Received an incompatible API response.",`Endpoint: ${r.endpoint}`,"This usually means the API response shape changed in a breaking way or the SDK is outdated.","It was not possible to determine a more specific reason."].join(`
|
|
3
|
-
`):["Received an incompatible API response.",`Endpoint: ${r.endpoint}`,"This usually means the API response shape changed in a breaking way or the SDK is outdated.","Fix the following issues:",p(s)].join(`
|
|
4
|
-
`)}function p(e){return e.map(s=>s.path===null?`- ${s.message}`:`- ${s.path}: ${s.message}`).join(`
|
|
5
|
-
`)}function c(e){return d(e).slice(0,99)}function d(e,r=[]){let s=e.flatMap(n=>{let a=[...r,...n.path];return n.code==="invalid_union"?n.errors.flatMap(A=>d(A,a)):[{code:n.code,message:n.message,path:a.length===0?null:P(a)}]});return Z(s)}function Z(e){let r=new Set,s=[];for(let n of e){let a=`${n.code}:${n.path??""}:${n.message}`;r.has(a)||(r.add(a),s.push(n));}return s.sort(U)}function U(e,r){return e.path===null&&r.path!==null?-1:e.path!==null&&r.path===null?1:(e.path??"").localeCompare(r.path??"")}function P(e){return e.reduce((r,s)=>typeof s=="number"?`${r}[${s.toString()}]`:typeof s!="string"?r:s.includes('"')?`${r}["${s.replaceAll('"','\\"')}"]`:O.test(s)?r.length===0?s:`${r}.${s}`:`${r}["${s}"]`,"")}var m=class e extends PolymarketError{name="UserInputError";constructor(r,s={}){super(r,s);}static fromZodError(r){return new e(i(r),{cause:r})}},l=class e extends PolymarketError{name="UnexpectedResponseError";constructor(r,s={}){super(r,s);}static fromZodError(r,s){return new e(u(r,s),{cause:r})}},f=class e extends PolymarketError{name="TransportError";constructor(r,s={}){super(r,s);}static fromError(r){return new e(r instanceof Error?r.message:"Request failed",{cause:r})}},T=(t=>(t[t.NormalClosure=1e3]="NormalClosure",t[t.GoingAway=1001]="GoingAway",t[t.ProtocolError=1002]="ProtocolError",t[t.UnsupportedData=1003]="UnsupportedData",t[t.NoStatusReceived=1005]="NoStatusReceived",t[t.AbnormalClosure=1006]="AbnormalClosure",t[t.InvalidFramePayload=1007]="InvalidFramePayload",t[t.PolicyViolation=1008]="PolicyViolation",t[t.MessageTooBig=1009]="MessageTooBig",t[t.InternalError=1011]="InternalError",t[t.ServiceRestart=1012]="ServiceRestart",t[t.TryAgainLater=1013]="TryAgainLater",t))(T||{}),g=class extends PolymarketError{name="ConnectionLostError";code;reason;constructor(r,s){super(r,s),this.code=s.code,this.reason=s.reason;}},y=class extends PolymarketError{name="RequestRejectedError";status;retryAfter;constructor(r,s){super(r,s),this.status=s.status,this.retryAfter=s.retryAfter;}},E=class extends PolymarketError{name="RateLimitError";retryAfter;constructor(r,s={}){super(r,s),this.retryAfter=s.retryAfter;}},I=class extends PolymarketError{name="TimeoutError";constructor(r,s={}){super(r,s);}},x=class extends PolymarketError{name="TransactionFailedError";constructor(r,s={}){super(r,s);}},h=class e extends PolymarketError{name="CancelledSigningError";constructor(r,s={}){super(r,s);}static fromError(r){return new e(r.message,{cause:r})}},$=class extends PolymarketError{name="InsufficientLiquidityError";constructor(r,s={}){super(r,s);}},R=class extends PolymarketError{name="AutoCancelDailyLimitError";constructor(r,s={}){super(r,s);}},v=class e extends PolymarketError{name="SigningError";constructor(r,s={}){super(r,s);}static fromError(r,s){let n=s??(r instanceof Error?r.message:"Signing failed");return new e(n,{cause:r})}};function V(...e){return {isError(r){return e.some(s=>r instanceof s)}}}export{m as a,l as b,f as c,T as d,g as e,y as f,E as g,I as h,x as i,h as j,$ as k,R as l,v as m,V as n};//# sourceMappingURL=chunk-MIRUWWDK.js.map
|
|
6
|
-
//# sourceMappingURL=chunk-MIRUWWDK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/validation.ts","../src/errors.ts"],"names":["identifierRegex","formatInputZodError","error","issues","flattenIssues","formatIssues","formatResponseZodError","context","issue","flattenIssueBranches","pathPrefix","flattened","path","branch","formatPath","dedupeIssues","seen","deduped","key","compareIssues","left","right","result","segment","UserInputError","_UserInputError","PolymarketError","message","options","UnexpectedResponseError","_UnexpectedResponseError","TransportError","_TransportError","WebSocketKnownCloseCode","ConnectionLostError","RequestRejectedError","RateLimitError","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","InsufficientLiquidityError","AutoCancelDailyLimitError","SigningError","_SigningError","msg","makeErrorGuard","classes","c"],"mappings":"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","file":"chunk-MIRUWWDK.js","sourcesContent":["import type { core, ZodError } from 'zod';\n\nconst maxIssuesInMessage = 99;\nconst identifierRegex = /^[$A-Z_a-z][$\\w]*$/;\n\ntype UserInputIssue = {\n code: string;\n message: string;\n path: string | null;\n};\n\nexport type ResponseValidationContext = {\n endpoint: string;\n};\n\n/**\n * Formats a `ZodError` into an SDK-oriented input validation message.\n */\nexport function formatInputZodError(error: ZodError): string {\n const issues = flattenIssues(error.issues);\n\n if (issues.length === 0) {\n return 'It was not possible to determine a more specific reason.';\n }\n\n return ['Fix the following issues:', formatIssues(issues)].join('\\n');\n}\n\n/**\n * Formats a `ZodError` into an SDK-oriented response validation message.\n */\nexport function formatResponseZodError(\n error: ZodError,\n context: ResponseValidationContext,\n): string {\n const issues = flattenIssues(error.issues);\n\n if (issues.length === 0) {\n return [\n 'Received an incompatible API response.',\n `Endpoint: ${context.endpoint}`,\n 'This usually means the API response shape changed in a breaking way or the SDK is outdated.',\n 'It was not possible to determine a more specific reason.',\n ].join('\\n');\n }\n\n return [\n 'Received an incompatible API response.',\n `Endpoint: ${context.endpoint}`,\n 'This usually means the API response shape changed in a breaking way or the SDK is outdated.',\n 'Fix the following issues:',\n formatIssues(issues),\n ].join('\\n');\n}\n\nfunction formatIssues(issues: readonly UserInputIssue[]): string {\n const lines = issues.map((issue) => {\n if (issue.path === null) {\n return `- ${issue.message}`;\n }\n\n return `- ${issue.path}: ${issue.message}`;\n });\n\n return lines.join('\\n');\n}\n\nfunction flattenIssues(issues: readonly core.$ZodIssue[]): UserInputIssue[] {\n return flattenIssueBranches(issues).slice(0, maxIssuesInMessage);\n}\n\nfunction flattenIssueBranches(\n issues: readonly core.$ZodIssue[],\n pathPrefix: readonly PropertyKey[] = [],\n): UserInputIssue[] {\n const flattened = issues.flatMap((issue) => {\n const path = [...pathPrefix, ...issue.path];\n\n if (issue.code === 'invalid_union') {\n return issue.errors.flatMap((branch) =>\n flattenIssueBranches(branch, path),\n );\n }\n\n return [\n {\n code: issue.code,\n message: issue.message,\n path: path.length === 0 ? null : formatPath(path),\n } satisfies UserInputIssue,\n ];\n });\n\n return dedupeIssues(flattened);\n}\n\nfunction dedupeIssues(issues: readonly UserInputIssue[]): UserInputIssue[] {\n const seen = new Set<string>();\n const deduped: UserInputIssue[] = [];\n\n for (const issue of issues) {\n const key = `${issue.code}:${issue.path ?? ''}:${issue.message}`;\n\n if (seen.has(key)) {\n continue;\n }\n\n seen.add(key);\n deduped.push(issue);\n }\n\n return deduped.sort(compareIssues);\n}\n\nfunction compareIssues(left: UserInputIssue, right: UserInputIssue): number {\n if (left.path === null && right.path !== null) {\n return -1;\n }\n\n if (left.path !== null && right.path === null) {\n return 1;\n }\n\n return (left.path ?? '').localeCompare(right.path ?? '');\n}\n\nfunction formatPath(path: readonly PropertyKey[]): string {\n return path.reduce<string>((result, segment) => {\n if (typeof segment === 'number') {\n return `${result}[${segment.toString()}]`;\n }\n\n if (typeof segment !== 'string') {\n return result;\n }\n\n if (segment.includes('\"')) {\n return `${result}[\"${segment.replaceAll('\"', '\\\\\"')}\"]`;\n }\n\n if (!identifierRegex.test(segment)) {\n return `${result}[\"${segment}\"]`;\n }\n\n if (result.length === 0) {\n return segment;\n }\n\n return `${result}.${segment}`;\n }, '');\n}\n","import { PolymarketError } from '@polymarket/types';\nimport type { ZodError } from 'zod';\nimport {\n formatInputZodError,\n formatResponseZodError,\n type ResponseValidationContext,\n} from './validation';\n\n/**\n * Error thrown when an action input fails SDK validation before a request is\n * sent.\n */\nexport class UserInputError extends PolymarketError {\n override name = 'UserInputError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(error: ZodError): UserInputError {\n return new UserInputError(formatInputZodError(error), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when a service response does not match the action's expected\n * response shape.\n */\nexport class UnexpectedResponseError extends PolymarketError {\n override name = 'UnexpectedResponseError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(\n error: ZodError,\n context: ResponseValidationContext,\n ): UnexpectedResponseError {\n return new UnexpectedResponseError(formatResponseZodError(error, context), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when the SDK cannot complete a request because of a network or\n * runtime transport failure.\n */\nexport class TransportError extends PolymarketError {\n override name = 'TransportError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown): TransportError {\n return new TransportError(\n error instanceof Error ? error.message : 'Request failed',\n {\n cause: error,\n },\n );\n }\n}\n\n/**\n * WebSocket close codes defined by RFC 6455 and the IANA WebSocket Close Code\n * Number registry. Codes 4000-4999 are reserved for application use and are\n * intentionally not modeled here.\n */\nexport enum WebSocketKnownCloseCode {\n NormalClosure = 1000,\n GoingAway = 1001,\n ProtocolError = 1002,\n UnsupportedData = 1003,\n /** Synthesized locally when the peer closed without a status code. */\n NoStatusReceived = 1005,\n /** Synthesized locally when the connection dropped without a close frame. */\n AbnormalClosure = 1006,\n InvalidFramePayload = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n InternalError = 1011,\n ServiceRestart = 1012,\n TryAgainLater = 1013,\n}\n\n/**\n * A WebSocket close code. Codes enumerated in\n * {@link WebSocketKnownCloseCode} are defined by RFC 6455; other values, such\n * as application-defined 4000-4999 codes, flow through as plain numbers.\n */\nexport type WebSocketCloseCode = WebSocketKnownCloseCode | (number & {});\n\nexport type ConnectionLostErrorOptions = {\n /** WebSocket close code reported for the lost connection. */\n code: WebSocketCloseCode;\n /** Close reason provided by the peer. Empty when none was sent. */\n reason: string;\n};\n\n/**\n * Error thrown when a live connection ends without the SDK requesting it.\n */\nexport class ConnectionLostError extends PolymarketError {\n override name = 'ConnectionLostError' as const;\n\n readonly code: WebSocketCloseCode;\n readonly reason: string;\n\n constructor(\n message: string,\n options: ErrorOptions & ConnectionLostErrorOptions,\n ) {\n super(message, options);\n this.code = options.code;\n this.reason = options.reason;\n }\n}\n\nexport type RequestRejectedErrorOptions = {\n status: number;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when a service responds with a non-success status other than\n * rate limiting.\n */\nexport class RequestRejectedError extends PolymarketError {\n override name = 'RequestRejectedError' as const;\n\n readonly status: number;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n this.retryAfter = options.retryAfter;\n }\n}\n\nexport type RateLimitErrorOptions = {\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when the service rejects a request because the rate limit has\n * been exceeded.\n */\nexport class RateLimitError extends PolymarketError {\n override name = 'RateLimitError' as const;\n\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RateLimitErrorOptions = {},\n ) {\n super(message, options);\n this.retryAfter = options.retryAfter;\n }\n}\n\n/**\n * Error thrown when an async wait operation exceeds its allotted polling time.\n */\nexport class TimeoutError extends PolymarketError {\n override name = 'TimeoutError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when a submitted transaction reaches a terminal failure state.\n */\nexport class TransactionFailedError extends PolymarketError {\n override name = 'TransactionFailedError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the user cancels a required wallet signing action.\n */\nexport class CancelledSigningError extends PolymarketError {\n override name = 'CancelledSigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: Error): CancelledSigningError {\n return new CancelledSigningError(error.message, {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when there is not enough resting market liquidity to satisfy the\n * requested execution semantics.\n */\nexport class InsufficientLiquidityError extends PolymarketError {\n override name = 'InsufficientLiquidityError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when 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"]}
|
package/dist/chunk-WDPLMZVQ.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import {n,g as g$1,f,m,c,b,a,h,i,j,k,l as l$1,e}from'./chunk-MIRUWWDK.js';import {PaginationCursorSchema,ComboConditionIdSchema,TransactionIdSchema,EvmAddressSchema,BuilderCodeSchema,TokenIdSchema,CtfConditionIdSchema,OrderSideSchema,CommentParentEntityTypeSchema,EventIdSchema,CommentIdSchema,IsoDateTimeStringSchema,IsoCalendarDateStringSchema,PositionIdSchema,OrderType,PositiveDecimalNumberSchema,OrderSide,TxHashSchema,MarketIdSchema,TradeStatus,toPaginationCursor,toDecimalString,toComboConditionId,toPositionId}from'@polymarket/bindings';import {AssetTypeSchema,PriceHistoryIntervalSchema,SignatureType,AssetType,ClosedOnlyModeSchema,OpenOrdersPageSchema,END_CURSOR,OpenOrderSchema,ClobTradesPageSchema,NotificationsResponseSchema,BalanceAllowanceResponseSchema,OrderScoringResponseSchema,OrdersScoringResponseSchema,UserEarningsPageSchema,TotalUserEarningsResponseSchema,UserRewardsEarningsPageSchema,RewardsPercentagesSchema,ApiKeyCredsSchema,ApiKeysResponseSchema,BuilderApiKeyCredsSchema,BuilderApiKeysResponseSchema,PaginatedBuilderTradesSchema,MidpointSchema,MidpointsSchema,FetchTickSizeResponseSchema,FetchNegRiskResponseSchema,ResolveConditionByTokenResponseSchema,FetchMarketInfoResponseSchema,FetchBuilderFeeRatesResponseSchema,PriceSchema,PricesSchema,FetchOrderBookResponseSchema,OrderBooksSchema,SpreadSchema,SpreadsSchema,LastTradePriceSchema,LastTradePricesSchema,PriceHistorySchema,PaginatedCurrentRewardsSchema,PaginatedMarketRewardsSchema,CancelOrdersResponseSchema,OrderResponseSchema,OrderResponsesSchema}from'@polymarket/bindings/clob';import {isHexString,expectNonEmptyArray,isPrivateKey,expectEvmAddress,PolymarketError,expectHexString,isSameEvmAddress,never,unwrap,invariant,delay,expectEvmSignature,ZERO_ADDRESS,expectErc1271Signature,ResultAsync,setNonBlockingInterval,setNonBlockingTimeout,expectPrivateKey,isPresent,ok,err,expectPresent}from'@polymarket/types';import {z}from'zod';import {WalletType,SeriesIdSchema,MarketClarificationState,ListCommentsResponseSchema,ListEventsKeysetResponseSchema,EventSchema,FetchEventTagsResponseSchema,ListMarketClarificationsResponseSchema,ListMarketsKeysetResponseSchema,FetchMarketTagsResponseSchema,MarketSchema,PublicProfileSchema,PublicSearchResponseSchema,ListSeriesResponseSchema,SeriesSchema,ListSportsMetadataResponseSchema,SportsMarketTypesResponseSchema,ListTagsResponseSchema,TagSchema,ListRelatedTagsResponseSchema,ListRelatedTagResourcesResponseSchema,ListTeamsResponseSchema}from'@polymarket/bindings/gamma';import {AbiFunction,Hash,Bytes,AbiParameters,ContractAddress,TypedData,Secp256k1,Address,Signature}from'ox';import To from'ky';import {SideSchema,ActivityTypeSchema,TimePeriodSchema,LeaderboardOrderBySchema,LeaderboardCategorySchema,ComboPositionStatusSchema,ListTradesResponseSchema,ListActivityResponseSchema,ListComboActivityResponseSchema,FetchEventLiveVolumeResponseSchema,ListBuilderLeaderboardResponseSchema,ListBuilderVolumeResponseSchema,ListTraderLeaderboardResponseSchema,ListMarketHoldersResponseSchema,ListOpenInterestResponseSchema,ListMarketPositionsResponseSchema,ListPositionsResponseSchema,ListClosedPositionsResponseSchema,ListComboPositionsResponseSchema,FetchPortfolioValueResponseSchema,TradedSchema}from'@polymarket/bindings/data';export{ComboPositionOutcome as Ae,ComboPositionStatus as Be,ComboActivityType as sa}from'@polymarket/bindings/data';import {RelayerTransactionType,RelayerExecuteRequestSchema,RelayerTransactionState,RelayerExecuteParamsSchema,RelayerDeployedResponseSchema,GaslessTransactionSchema,RelayerExecuteResponseSchema}from'@polymarket/bindings/relayer';import {CollateralReturnPlanSchema,CollateralReturnPlanResponseSchema,ListComboMarketsResponseSchema}from'@polymarket/bindings/combos';export{CollateralReturnKnownOperationKind as fc,RfqConfirmationDecision as qf,RfqDirection as rf,RfqExecutionStatus as sf,RfqKnownErrorCode as tf,RfqRequestedSizeUnit as uf,RfqSide as vf}from'@polymarket/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsPostOrderAckSchema,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelOrderResultSchema,PerpsCancelAllOrdersResponseSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAutoCancelStatusResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,PerpsAutoCancelResponseSchema,FetchPerpsInstrumentsResponseSchema,FetchPerpsTickersResponseSchema,FetchPerpsStatisticsResponseSchema,PerpsBookSchema,FetchPerpsCandlesResponseSchema,FetchPerpsFundingHistoryResponseSchema,FetchPerpsTradesResponseSchema,FetchPerpsFeesResponseSchema,PerpsDeleteProxyResponseSchema,PerpsWithdrawResponseSchema,PerpsCreateProxyResponseSchema,PerpsCredentialsResponseSchema}from'@polymarket/bindings/perps';import {encode}from'@msgpack/msgpack';import {PerpsNotificationsResyncFrameSchema,PerpsSessionUpdateEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import Bg from'it-merge';function l(e,r){let t=r.safeParse(e);if(t.success)return t.data;throw a.fromZodError(t.error)}var w=z.number().int().positive(),Eo=z.object({offset:z.number().int().min(0),pageSize:w});function x(e,r,t=[]){function o(){return {async firstPage(){return {items:t,hasMore:false}},from(){return o()},async*[Symbol.asyncIterator](){}}}function n(s=r){return {firstPage(){return unwrap(e(s))},from(a){return a===void 0?o():n(a)},async*[Symbol.asyncIterator](){let a=s;for(;;){let f=await unwrap(e(a));if(yield f,!f.hasMore)return;a=f.nextCursor;}}}}return n()}function B(e){return toPaginationCursor(btoa(JSON.stringify(Eo.parse(e))))}function D(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return Eo.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid pagination cursor",{cause:t})}}function y(e){return function(t){return ResultAsync.fromPromise(t.json(),()=>new b(`Received non-JSON response from ${t.url}`)).andThen(o=>Bi(t.url,e,o))}}function So(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function Bi(e,r,t){let o=r.safeParse(t);return o.success?ok(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var xo=class{#e;constructor({url:r}){this.#e=r;}async ethCall(r){let t=await this.#o({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:r.to,data:r.data},"latest"]});if("error"in t)throw new f(`JSON-RPC eth_call failed: ${t.error.message}`,{cause:t.error,status:200});if(typeof t.result!="string")throw new b("Expected JSON-RPC eth_call result to be a hex string");if(!Ao(t.result))throw new b("Expected JSON-RPC eth_call result to be a hex string");return t.result}async ethCallBatch(r){return r.length===0?[]:this.#r(r)}async ethEstimateGas(r){let t={to:r.to};r.data!==void 0&&(t.data=r.data),r.from!==void 0&&(t.from=r.from),r.gasPrice!==void 0&&(t.gasPrice=bo(r.gasPrice)),r.value!==void 0&&(t.value=bo(r.value));let o=await this.#o({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[t]});if("error"in o)throw new f(`JSON-RPC eth_estimateGas failed: ${o.error.message}`,{cause:o.error,status:200});return BigInt(ko(o.result,"eth_estimateGas"))}async#r(r){if(r.length===1)return [await this.ethCall(r[0])];try{return await this.#t(r)}catch(t){if(!(t instanceof f)||t.status<500)throw t;let o=Math.ceil(r.length/2),[n,s]=await Promise.all([this.#r(r.slice(0,o)),this.#r(r.slice(o))]);return [...n,...s]}}async#t(r){let t=await this.#n(r.map((n,s)=>({jsonrpc:"2.0",id:s+1,method:"eth_call",params:[{to:n.to,data:n.data},"latest"]}))),o=new Map;for(let n of t){if("error"in n&&n.id===null)throw new f(`JSON-RPC eth_call failed: ${n.error.message}`,{cause:n.error,status:200});n.id!==null&&o.set(n.id,n);}return r.map((n,s)=>{let a=s+1,f$1=o.get(a);if(f$1===void 0)throw new b("Expected JSON-RPC batch response for every request");if("error"in f$1)throw new f(`JSON-RPC eth_call failed: ${f$1.error.message}`,{cause:f$1.error,status:200});return ko(f$1.result)})}async#o(r){let t;try{t=await To.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new f(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!Co(o))throw new b("Unexpected JSON-RPC response shape");return o}async#n(r){let t;try{t=await To.post(this.#e,{json:r,throwHttpErrors:!1});}catch(n){throw c.fromError(n)}if(!t.ok)throw new f(`JSON-RPC request to ${this.#e} failed with status ${t.status}`,{status:t.status});let o;try{o=await t.json();}catch(n){throw new b("Expected JSON-RPC response body to be JSON",{cause:n})}if(!Array.isArray(o)||!o.every(n=>Co(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function Io(e){if(!(e instanceof f)||!vo(e.cause))return false;let r=[e.cause.message,Ui(e.cause.data)].join(" ").toLowerCase();return (e.cause.code===3||e.cause.code===-32e3||e.cause.code===-32003||e.cause.code===-32015||e.cause.code===-32603)&&(r.includes("execution reverted")||r.includes("revert")||r.includes("invalid opcode"))}function Co(e){return !qo(e)||e.jsonrpc!=="2.0"?false:"error"in e?vo(e.error):"result"in e}function vo(e){return qo(e)&&typeof e.code=="number"&&typeof e.message=="string"}function qo(e){return typeof e=="object"&&e!==null}function Ao(e){return /^0x[a-fA-F0-9]*$/.test(e)}function ko(e,r="eth_call"){if(typeof e!="string"||!Ao(e))throw new b(`Expected JSON-RPC ${r} result to be a hex string`);return e}function bo(e){return `0x${e.toString(16)}`}function Ui(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}function ER(e,r,t){return {signer:r,wallet:t,walletType:tp(e,r,t)}}function le(e){switch(e){case WalletType.EOA:return SignatureType.EOA;case WalletType.POLY_PROXY:return SignatureType.POLY_PROXY;case WalletType.GNOSIS_SAFE:return SignatureType.POLY_GNOSIS_SAFE;case WalletType.DEPOSIT_WALLET:return SignatureType.POLY_1271}}function Oo(e){let r=le(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}var zi="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function Wi(e){let r=zi.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function ji(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Wi(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function Hi(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var _i="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Ni="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",Gi=0x61003d3d8160233d3973n;function wo(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),o=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Ji(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var Ki="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",$i="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",Vi="0x60195155f3363d3d373d3d363d602036600436635c60da",Zi=0x6100523d8160233d3973n,Yi="0x49493a4d";function Lo(e,r){let t=expectHexString(`0x${e.slice(2).padStart(64,"0")}`),o=AbiParameters.encode([{type:"address"},{type:"bytes32"}],[r.depositWalletFactory,t]);return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Qi(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function Ji(e,r){let t=BigInt((r.length-2)/2),o=Gi+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Ni),Bytes.fromHex(_i),Bytes.fromHex(r)),{as:"Hex"}))}function Qi(e,r){let t=BigInt((r.length-2)/2),o=Zi+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(Vi),Bytes.fromHex($i),Bytes.fromHex(Ki),Bytes.fromHex(r)),{as:"Hex"}))}async function Xi(e,r){try{let t=await e.ethCall({to:r,data:Yi});return rp(t)}catch(t){if(Io(t))return ZERO_ADDRESS;throw t}}async function ep(e,r){let t=await Xi(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function Mo(e,r,t){return await ep(e,t.depositWalletFactory)?Lo(r,t):wo(r,t)}function rp(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function tp(e,r,t){if(isSameEvmAddress(t,r))return WalletType.EOA;let o=e.walletDerivation;if(isSameEvmAddress(t,Lo(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,wo(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,Hi(r,o)))return WalletType.GNOSIS_SAFE;if(isSameEvmAddress(t,ji(r,o)))return WalletType.POLY_PROXY;never(`Wallet ${t} does not match the signer ${r} or any supported deterministic wallet address.`);}function g(e,r){if(op(r))return np(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(Fo(s)){for(let a of s)t.append(n,De(a));continue}t.append(n,De(s));}}return t}function E(e={}){return {format:"snake_case",exceptions:e}}function N(e){let r=new URLSearchParams;for(let[t,o]of Object.entries(e))if(o!==void 0){if(Array.isArray(o)){r.append(t,o.map(De).join(","));continue}r.append(t,De(o));}return r}function op(e){return "format"in e}function np(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??sp(o);if(Fo(n)){for(let a of n)t.append(s,De(a));continue}t.append(s,De(n));}return t}function Fo(e){return Array.isArray(e)}function sp(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function De(e){return String(e)}var wR=n(g$1,f,m,c,b);async function LR(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var Rp=z.object({tokenId:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional()}).default({}),MR=n(g$1,f,m,c,b,a);function FR(e,r){let{cursor:t,...o}=l(r,Rp);return x(n=>e.secureClob.get("/data/orders",{params:g({...o,nextCursor:n},E({tokenId:"asset_id"}))}).andThen(y(OpenOrdersPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var Ep=z.object({orderId:z.string()}),BR=n(g$1,f,m,c,b,a);async function UR(e,r){let t=l(r,Ep);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var hp={after:z.string().optional(),tokenId:z.string().optional(),before:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),makerAddress:z.string().optional(),market:z.string().optional()},Sp=z.object(hp).default({}),DR=n(g$1,f,m,c,b,a);function Uo(e,r){let{cursor:t,...o}=l(r,Sp);return x(n=>e.secureClob.get("/data/trades",{params:g({...o,nextCursor:n},E({tokenId:"asset_id"}))}).andThen(y(ClobTradesPageSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var zR=n(g$1,f,m,c,b),Tp=z.object({ids:z.array(z.string()).min(1)});async function WR(e){let r=le(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:g({signatureType:r},E())}).andThen(y(NotificationsResponseSchema)))}var jR=n(g$1,f,m,c,b,a);async function HR(e,r){let t=l(r,Tp),o=le(e.account.walletType),n=g({ids:t.ids.join(","),signatureType:o},E());await unwrap(e.secureClob.del("/notifications",{params:n}));}var xp=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),_R=n(g$1,f,m,c,b,a);async function Xr(e,r){let t=l(r,xp),o=le(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:g({...t,signatureType:o},E())}).andThen(y(BalanceAllowanceResponseSchema)))}var Cp=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),NR=n(g$1,f,m,c,b,a);async function Do(e,r){let t=l(r,Cp),o=le(e.account.walletType),n=g({...t,signatureType:o},E());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),Xr(e,t)}var kp=z.object({orderId:z.string()}),GR=n(g$1,f,m,c,b,a);async function KR(e,r){let t=l(r,kp);return (await unwrap(e.secureClob.get("/order-scoring",{params:g(t,E())}).andThen(y(OrderScoringResponseSchema)))).scoring}var bp=z.object({orderIds:z.array(z.string())}),$R=n(g$1,f,m,c,b,a);async function VR(e,r){let o=l(r,bp).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(y(OrdersScoringResponseSchema)))}var zo=z.object({cursor:PaginationCursorSchema.optional(),date:z.string()}),ZR=n(g$1,f,m,c,b,a);function YR(e,r){let{cursor:t,...o}=l(r,zo),n=le(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user",{params:g({...o,nextCursor:s,signatureType:n},E())}).andThen(y(UserEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var JR=n(g$1,f,m,c,b,a);async function QR(e,r){let t=l(r,zo),o=le(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:g({...t,signatureType:o},E())}).andThen(y(TotalUserEarningsResponseSchema)))}var Ip=z.object({cursor:PaginationCursorSchema.optional(),date:z.string(),noCompetition:z.boolean().optional(),orderBy:z.string().optional(),pageSize:w.max(500).default(100),position:z.string().optional()}),XR=n(g$1,f,m,c,b,a);function eE(e,r){let{cursor:t,...o}=l(r,Ip),n=le(e.account.walletType);return x(s=>e.secureClob.get("/rewards/user/markets",{params:g({...o,nextCursor:s,signatureType:n},E())}).andThen(y(UserRewardsEarningsPageSchema)).map(a=>({items:a.data,hasMore:a.nextCursor!==END_CURSOR,nextCursor:a.nextCursor===END_CURSOR?void 0:toPaginationCursor(a.nextCursor)})),t)}var rE=n(g$1,f,m,c,b);async function tE(e){let r=le(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:g({signatureType:r},E())}).andThen(y(RewardsPercentagesSchema)))}var wp=z.enum(["CASH","TOKENS"]),Lp=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e4).default(20),takerOnly:z.boolean().optional(),filterType:wp.optional(),filterAmount:z.number().optional(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),user:z.string().optional(),side:SideSchema.optional(),start:z.number().int().min(0).optional(),end:z.number().int().min(0).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}).refine(e=>e.filterType===void 0==(e.filterAmount===void 0),{message:"Provide filterType and filterAmount together",path:["filterAmount"]}),lE=n(g$1,f,c,b,a);function mE(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Lp);return x(s=>{let a=D(s,o);return e.data.get("/trades",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListTradesResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Mp=z.enum(["TIMESTAMP","TOKENS","CASH"]),Fp=z.enum(["ASC","DESC"]),Bp=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(500).default(20),user:z.string(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),type:z.array(ActivityTypeSchema).optional(),start:z.number().int().min(0).optional(),end:z.number().int().min(0).optional(),sortBy:Mp.optional(),sortDirection:Fp.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),fE=n(g$1,f,c,b,a);function yE(e,r){let{cursor:t,pageSize:o,...n}=l(r,Bp);return x(s=>{let a=D(s,o);return e.data.get("/activity",{params:N({...n,excludeDepositsWithdrawals:false,limit:a.pageSize,offset:a.offset})}).andThen(y(ListActivityResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Up=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),Dp=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.default(50),user:z.string(),conditionId:Up.optional()}),PE=n(g$1,f,c,b,a);function gE(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=l(r,Dp);return x(a=>{let f=g({...s,limit:o,cursor:a},E());return zp(f,n),e.data.get("/v1/activity/combos",{params:f}).andThen(y(ListComboActivityResponseSchema)).map(P=>{let A=P.pagination.nextCursor??void 0;return {items:P.activity,hasMore:A!==void 0,nextCursor:A}})},t)}function zp(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var jp=64,Hp=/^0x[0-9a-fA-F]{62}$/,_p=/^0x[0-9a-fA-F]{64}$/,rt="0x0000000000000000000000000000000000000000000000000000000000000000",Np=AbiFunction.from("function approve(address spender, uint256 amount)"),_o=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),Gp=AbiFunction.from("function transfer(address recipient, uint256 amount)"),Kp=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),$p=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),No=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),Go=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),Ko=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),Vp=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Zp=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Yp=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),Jp=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),Qp=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Xp=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),ec=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),rc=AbiFunction.from("function multiSend(bytes)"),tc=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),$o=[1n,2n],oc=[1n,2n],ee=(1n<<256n)-1n,CE=n(a);function Rr(e,r,t){if(t<0n)throw new a("Approval amount must be non-negative");if(t>ee)throw new a("Approval amount exceeds uint256 range");return {data:nc(r,t),to:e}}function Vo(e,r,t){return {data:AbiFunction.encodeData(_o,[r,t]),to:e}}function Zo(e){return AbiFunction.decodeResult(_o,e)}function Er(e,r,t){return {data:sc(r,t),to:e}}function Yo(e,r,t){return {data:AbiFunction.encodeData(No,[r,t]),to:e}}function Jo(e){return AbiFunction.decodeResult(No,e)}function Qo(e,r,t){return {data:AbiFunction.encodeData(Go,[r,Re(BigInt(t),"Position ID")]),to:e}}function Xo(e){return AbiFunction.decodeResult(Go,e)}function tt(e,r,t){return {data:AbiFunction.encodeData(Ko,[t.map(()=>r),t.map(o=>Re(BigInt(o),"id"))]),to:e}}function ot(e){return AbiFunction.decodeResult(Ko,e)}var kE=n(a);function nt(e,r,t){if(t<0n)throw new a("Transfer amount must be non-negative");if(t>ee)throw new a("Transfer amount exceeds uint256 range");return {data:ac(r,t),to:e}}var bE=n(a);function en(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(Kp,[r,Re(t,"Perps deposit amount"),o]),to:e}}var IE=n(a),vE=n(a);function rn(e,r,t,o){return {data:ic(r,t,o),to:e}}var qE=n(a);function tn(e,r,t,o){return {data:pc(r,t,o),to:e}}function on(e,r,t){return {data:cc(r,t),to:e}}var AE=n(a);function nn(e,r,t){return {data:AbiFunction.encodeData(Jp,[at(r),Re(t,"Split amount")]),to:e}}var OE=n(a);function sn(e,r,t){return {data:AbiFunction.encodeData(Qp,[at(r),Re(t,"Merge amount")]),to:e}}var wE=n(a);function an(e,r,t,o){return {data:AbiFunction.encodeData(Xp,[at(r),BigInt(dc(t)),Re(o,"Redeem amount")]),to:e}}var LE=n(a);function st(e,r){return {data:AbiFunction.encodeData(ec,[r.map(t=>Re(t,"Leg position ID"))]),to:e}}function nc(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(Np,[e,r])}function sc(e,r){return AbiFunction.encodeData($p,[e,r])}function ac(e,r){return AbiFunction.encodeData(Gp,[e,r])}function ic(e,r,t){return AbiFunction.encodeData(Vp,[e,rt,r,$o,Re(t,"Split amount")])}function pc(e,r,t){return AbiFunction.encodeData(Zp,[e,rt,r,$o,Re(t,"Merge amount")])}function cc(e,r){return AbiFunction.encodeData(Yp,[e,rt,r,oc])}function Re(e,r){if(e<0n)throw new a(`${r} must be non-negative`);if(e>ee)throw new a(`${r} exceeds uint256 range`);return e}function at(e){if(Hp.test(e))return e.toLowerCase();if(_p.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,jp)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function dc(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function pn(e){return AbiFunction.encodeData(tc,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function cn(e){let r=e.map(t=>uc(t));return AbiFunction.encodeData(rc,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function uc(e){let r=e.value??0n;return AbiParameters.encodePacked(["uint8","address","uint256","uint256","bytes"],[0,e.to,r,BigInt((e.data.length-2)/2),e.data])}var UE=n(g$1,f,h,i,c,b,a);function G(e,r="Expected a TransactionHandle"){return invariant(typeof e=="object"&&e!==null&&"transactionHash"in e&&"transactionId"in e&&"wait"in e&&typeof e.wait=="function",r),e}n(j,m);n(j,m);function HE(e){return async function(t){let o=await t.next();for(;!o.done;)try{switch(o.value.kind){case "requestAddress":o=await t.next(await e.getAddress());break;case "signAuthMessage":o=await t.next(await e.signTypedData(o.value.payload));break}}catch(n){o=await t.throw(n);}return o.value}}function H(e){return async function(t){let o=await t.next();for(;!o.done;)try{switch(o.value.kind){case "requestAddress":o=await t.next(await e.getAddress());break;case "signGaslessTypedData":case "signOrder":o=await t.next(await e.signTypedData(o.value.payload));break;case "signGaslessMessage":o=await t.next(await e.signMessage(o.value.payload));break;case "sendErc20ApprovalTransaction":case "sendErc1155ApprovalForAllTransaction":case "sendErc20TransferTransaction":case "sendPerpsDepositTransaction":case "sendMergePositionsTransaction":case "sendRedeemPositionsTransaction":case "sendSplitPositionTransaction":o=await t.next(await e.sendTransaction(o.value.request));break}}catch(n){o=await t.throw(n);}return o.value}}function dn(){return {kind:"requestAddress"}}function K(e,r){return {chainId:e,...r}}var Cc=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],kc=[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"nonce",type:"uint256"}],bc="DepositWallet",Ic="1",vc=600,qc=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],Ac=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],Oc=z.object({address:z.string(),type:z.enum(RelayerTransactionType)}),oh=n(g$1,f,c,b,a);async function ct(e,r){let t=l(r,Oc);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:g(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var wc=z.object({transactionId:TransactionIdSchema}),Lc=z.object({wallet:EvmAddressSchema,type:z.enum(WalletType)}),nh=n(g$1,f,c,b,a);async function sh(e,r){let t=await Mc(e,r);return t.type===WalletType.EOA?false:unwrap(e.relayer.get("/deployed",{params:g({address:t.wallet,type:t.type===WalletType.DEPOSIT_WALLET?RelayerTransactionType.WALLET:void 0},{address:"address",type:"type"})}).andThen(y(RelayerDeployedResponseSchema)).map(({deployed:o})=>o))}async function Mc(e,r){if(r!==void 0)return l(r,Lc);if(!e.isSecureClient())throw new a("Gasless readiness inference requires a secure client. Pass a wallet and type when using a public client.");return e.account.walletType!==WalletType.EOA?{wallet:e.account.wallet,type:e.account.walletType}:{wallet:await Mo(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var $=z.string().max(500),un=10,ah=n(g$1,f,c,b,a);async function ih(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),er(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function Fc(e,r){let t=l(r,wc);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var Bc=z.object({data:z.custom(isHexString),to:EvmAddressSchema,value:z.bigint().optional()}),Uc=z.object({calls:z.array(Bc).min(1).transform(e=>expectNonEmptyArray(e)),metadata:$}),ph=n(g$1,f,c,b,a);async function Q(e,r){let t=l(r,Uc);return invariant(e.supportsGasless,"Gasless transactions require a Relayer API Key or Builder API Key in the client configuration."),invariant(e.account.walletType===WalletType.GNOSIS_SAFE||e.account.walletType===WalletType.POLY_PROXY||e.account.walletType===WalletType.DEPOSIT_WALLET,"Gasless transaction preparation supports Deposit Wallet, Safe-backed, and proxy-backed accounts"),async function*(){let o=expectEvmAddress(yield dn());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=un;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*Dc(e,t);case WalletType.DEPOSIT_WALLET:return yield*zc(e,t);case WalletType.GNOSIS_SAFE:return yield*Wc(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!yt(s)||n===un)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*Dc(e,r){let t=yield*dt(e,r.calls,r.metadata);return er(e,t)}async function*dt(e,r,t){let o=await ct(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),n=e.environment.walletDerivation.proxyFactory,s=pn(r),a="0",f="0",P=(await e.rpc.ethEstimateGas({data:s,from:e.account.signer,to:n})).toString(),A=e.environment.contracts.relayHub,v=o.address,j=Nc(e.account.signer,n,s,a,f,P,o.nonce,A,v),U=expectEvmSignature(yield Pn(j));return {data:s,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:U,signatureParams:{gasLimit:P,gasPrice:f,relay:v,relayHub:A,relayerFee:a},to:n,type:RelayerTransactionType.PROXY}}function ut(e){return !(e instanceof f)||e.status!==400?void 0:/batch nonce\s+\d+\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message)?.[1]}async function*zc(e,r){let t=yield*lt(e,r.calls,r.metadata);try{return await er(e,t)}catch(o){let n=ut(o);if(n===void 0)throw o;let s=yield*mt(e,t,r.calls,n);return er(e,s)}}async function*lt(e,r,t){let o=await ct(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),n=r.map(fn),s=`${Math.floor(Date.now()/1e3)+vc}`,a=expectEvmSignature(yield gn(yn({calls:n,chainId:e.environment.chainId,deadline:s,nonce:o.nonce,wallet:e.account.wallet})));return {depositWalletParams:{calls:n,deadline:s,depositWallet:e.account.wallet},from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,signature:a,to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET}}async function*mt(e,r,t,o){let n=expectEvmSignature(yield gn(yn({calls:t.map(fn),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:o,wallet:e.account.wallet})));return {...r,nonce:o,signature:n}}async function*Wc(e,r){let t=yield*ft(e,r.calls,r.metadata);return er(e,t)}async function*ft(e,r,t){let o=await ct(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),n=jc(r,e.environment.contracts.safeMultisend),s=_c({chainId:e.environment.chainId,data:n.data,nonce:o.nonce,operation:n.operation,safeAddress:e.account.wallet,to:n.to,value:n.value}),a=expectEvmSignature(yield Pn(expectHexString(TypedData.getSignPayload(s))));return {data:n.data,from:e.account.signer,...t!==void 0&&{metadata:t},nonce:o.nonce,proxyWallet:e.account.wallet,signature:Gc(a),signatureParams:Hc(n.operation),to:n.to,type:RelayerTransactionType.SAFE,value:n.value>0n?`${n.value}`:void 0}}async function er(e,r){let t=l(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new rr(e,o)}function yt(e){if(e instanceof g$1)return true;if(!(e instanceof f)||e.status!==400)return false;if(/wallet busy/i.test(e.message)&&/active action/i.test(e.message)||/wallet has in-flight action/i.test(e.message))return true;let r=/batch nonce\s+(\d+)\s+does not match on-chain nonce\s+(\d+)/i.exec(e.message);if(r===null)return false;let t=r[1],o=r[2];return t===void 0||o===void 0?false:BigInt(t)<BigInt(o)}function fn(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function yn(e){return {domain:{chainId:e.chainId,name:bc,verifyingContract:e.wallet,version:Ic},message:{calls:e.calls.map(r=>({data:r.data,target:r.target,value:BigInt(r.value)})),deadline:BigInt(e.deadline),nonce:BigInt(e.nonce),wallet:e.wallet},primaryType:"Batch",types:{Batch:Ac,Call:qc}}}function jc(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:cn(e),operation:1,to:r,value:0n}}function Hc(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function _c(e){return {domain:{chainId:e.chainId,verifyingContract:e.safeAddress},message:{baseGas:0n,data:e.data,gasPrice:0n,gasToken:ZERO_ADDRESS,nonce:BigInt(e.nonce),operation:e.operation,refundReceiver:ZERO_ADDRESS,safeTxGas:0n,to:e.to,value:e.value},primaryType:"SafeTx",types:{EIP712Domain:Cc,SafeTx:kc}}}function Pn(e){return {kind:"signGaslessMessage",payload:e}}function gn(e){return {kind:"signGaslessTypedData",payload:e}}function Nc(e,r,t,o,n,s,a,f,P){return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromString("rlx:"),Bytes.fromHex(e),Bytes.fromHex(r),Bytes.fromHex(t),Bytes.fromNumber(BigInt(o),{size:32}),Bytes.fromNumber(BigInt(n),{size:32}),Bytes.fromNumber(BigInt(s),{size:32}),Bytes.fromNumber(BigInt(a),{size:32}),Bytes.fromHex(f),Bytes.fromHex(P)),{as:"Hex"}))}function Gc(e){let r=e.slice(2),t=Number.parseInt(r.slice(128,130),16),o=t===0||t===1?t+31:t===27||t===28?t+4:t;return expectHexString(`0x${r.slice(0,128)}${o.toString(16).padStart(2,"0")}`)}var ch=n(g$1,f,c,b,a,h,i),rr=class{#e;transactionHash;transactionId;constructor(r,t){this.#e=r,this.transactionHash=t.transactionHash,this.transactionId=t.transactionId;}async wait(){let r=0;for(;r<this.#e.environment.relayerMaxPolls;){let t=await Fc(this.#e,{transactionId:this.transactionId});if(t.state===RelayerTransactionState.STATE_CONFIRMED){let o=t.transactionHash??this.transactionHash;if(o===null)throw new b("Expected submitted transaction to have a transaction hash once settled");return {transactionHash:o,transactionId:t.transactionId}}if(t.state===RelayerTransactionState.STATE_FAILED||t.state===RelayerTransactionState.STATE_INVALID)throw new i(t.errorMsg??`Transaction ${t.transactionId} reached terminal state ${t.state}`);r+=1,await delay(this.#e.environment.relayerPollFrequencyMs);}throw new h(`Timed out waiting for transaction ${this.transactionId} to settle`)}};var Kc=z.object({amount:z.union([z.bigint(),z.literal("max")]),metadata:$.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),hh=n(a);async function $c(e,r){let t=l(r,Kc),o=t.amount==="max"?ee:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?G(yield hn(K(e.environment.chainId,Rr(t.tokenAddress,t.spenderAddress,o)))):yield*await Q(e,{calls:[Rr(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var Sh=n(j,g$1,f,m,c,b,a);function Rn(e,r){return $c(e,r).then(H(e.signer))}var Vc=z.object({approved:z.boolean().default(true),metadata:$.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),Th=n(a);async function Zc(e,r){let t=l(r,Vc);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Sn(K(e.environment.chainId,Er(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await Q(e,{calls:[Er(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var xh=n(j,g$1,f,m,c,b,a);function En(e,r){return Zc(e,r).then(H(e.signer))}var Ch=n(f,c,b,a);async function Yc(e){let r=await Jc(e),t=r.erc20.map(n=>Rr(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>Er(n.tokenAddress,n.operatorAddress,true));return async function*(){if(t.length===0&&o.length===0)return;if(e.account.walletType===WalletType.EOA){for(let s of t)await G(yield hn(K(e.environment.chainId,s))).wait();for(let s of o)await G(yield Sn(K(e.environment.chainId,s))).wait();return}await(yield*await Q(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var kh=n(j,g$1,f,m,h,i,c,b,a);function bh(e){return Yc(e).then(H(e.signer)).then(()=>{})}async function Jc(e){let r=Qc(e),t=[...r.erc20.map(a=>Vo(a.tokenAddress,e.account.wallet,a.spenderAddress)),...r.erc1155.map(a=>Yo(a.tokenAddress,e.account.wallet,a.operatorAddress))],o=await e.rpc.ethCallBatch(t),n=o.slice(0,r.erc20.length),s=o.slice(r.erc20.length);return {erc20:r.erc20.filter((a,f)=>Zo(n[f])<a.amount),erc1155:r.erc1155.filter((a,f)=>!Jo(s[f]))}}function Qc(e){let{contracts:r}=e.environment;return {erc20:[{amount:ee,spenderAddress:r.standardExchange,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.negRiskExchange,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.collateralAdapter,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.negRiskCollateralAdapter,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.protocolV2Router,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.exchangeV3,tokenAddress:r.collateralToken},{amount:ee,spenderAddress:r.perpsDepositContract,tokenAddress:r.collateralToken}],erc1155:[{operatorAddress:r.standardExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskExchange,tokenAddress:r.conditionalTokens},{operatorAddress:r.collateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.negRiskCollateralAdapter,tokenAddress:r.conditionalTokens},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.conditionalTokens},{operatorAddress:r.protocolV2Router,tokenAddress:r.positionManager},{operatorAddress:r.exchangeV3,tokenAddress:r.positionManager},{operatorAddress:r.autoRedeemOperator,tokenAddress:r.positionManager}]}}function hn(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function Sn(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var Lh=n(g$1,f,c,b);async function td(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:Cn(r)}).andThen(y(ApiKeyCredsSchema)))}var Mh=n(g$1,f,c,b);async function od(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:Cn(r)}).andThen(y(ApiKeyCredsSchema)))}var Fh=n(g$1,f,c,b);async function Bh(e,r){try{return await td(e,r)}catch(t){if(!(t instanceof f)||t.status!==400)throw t}return od(e,r)}var Uh=n(g$1,f,m,c,b);async function Dh(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var zh=n(g$1,f,m,c,b);async function Wh(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z.literal("OK"))));}var jh=n(g$1,f,m,c,b);async function Hh(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var _h=n(g$1,f,m,c,b);async function Nh(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var Gh=n(g$1,f,m,c,b);async function Kh(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z.literal("OK"))));}function Cn(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var pd=z.object({after:z.string().optional(),before:z.string().optional(),builderCode:BuilderCodeSchema,cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional(),tokenId:z.string().optional()}),tS=n(g$1,f,c,b,a);function oS(e,r){let{cursor:t,...o}=l(r,pd);return x(n=>e.clob.get("/builder/trades",{params:g({...o,nextCursor:n},E({builderCode:"builder_code",tokenId:"asset_id"}))}).andThen(y(PaginatedBuilderTradesSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var Ad=z.object({tokenId:z.string()}),fS=n(g$1,f,c,b,a);async function yS(e,r){let t=l(r,Ad);return (await unwrap(e.clob.get("/midpoint",{params:g(t,E())}).andThen(y(MidpointSchema)))).mid}var Od=z.array(z.object({tokenId:z.string()})).min(1),PS=n(g$1,f,c,b,a);async function gS(e,r){let t=l(r,Od);return unwrap(e.clob.post("midpoints",{json:br(t)}).andThen(y(MidpointsSchema)))}var wd=z.object({tokenId:z.string()}),RS=n(g$1,f,c,b,a);async function ES(e,r){let t=l(r,wd);return (await unwrap(e.clob.get("/tick-size",{params:g(t,E())}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var Ld=z.object({tokenId:z.string()}),hS=n(g$1,f,c,b,a);async function SS(e,r){let t=l(r,Ld);return (await unwrap(e.clob.get("/neg-risk",{params:g(t,E())}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var Md=z.object({tokenId:TokenIdSchema}),TS=n(g$1,f,c,b,a);async function An(e,r){let t=l(r,Md);return unwrap(e.clob.get(`/markets-by-token/${t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var Fd=z.object({conditionId:CtfConditionIdSchema}),xS=n(g$1,f,c,b,a);async function On(e,r){let t=l(r,Fd);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var Bd=z.object({builderCode:BuilderCodeSchema}),CS=n(g$1,f,c,b,a);async function wn(e,r){let t=l(r,Bd);return unwrap(e.clob.get(`/fees/builder-fees/${t.builderCode}`).andThen(y(FetchBuilderFeeRatesResponseSchema)).mapErr(o=>o instanceof f&&o.status===404?new a(`Unknown builder code: ${t.builderCode}`,{cause:o}):o))}var Ud=z.object({tokenId:z.string(),side:OrderSideSchema}),kS=n(g$1,f,c,b,a);async function bS(e,r){let t=l(r,Ud);return (await unwrap(e.clob.get("/price",{params:g(t,E())}).andThen(y(PriceSchema)))).price}var Dd=z.array(z.object({tokenId:z.string(),side:OrderSideSchema})).min(1),IS=n(g$1,f,c,b,a);async function vS(e,r){let t=l(r,Dd);return unwrap(e.clob.post("prices",{json:Vd(t)}).andThen(y(PricesSchema)))}var zd=z.object({tokenId:z.string()}),qS=n(g$1,f,c,b,a);async function kr(e,r){let t=l(r,zd);return unwrap(e.clob.get("/book",{params:g(t,E())}).andThen(y(FetchOrderBookResponseSchema)))}var Wd=z.array(z.object({tokenId:z.string()})).min(1),AS=n(g$1,f,c,b,a);async function OS(e,r){let t=l(r,Wd);return unwrap(e.clob.post("books",{json:br(t)}).andThen(y(OrderBooksSchema)))}var jd=z.object({tokenId:z.string()}),wS=n(g$1,f,c,b,a);async function LS(e,r){let t=l(r,jd);return (await unwrap(e.clob.get("/spread",{params:g(t,E())}).andThen(y(SpreadSchema)))).spread}var Hd=z.array(z.object({tokenId:z.string()})).min(1),MS=n(g$1,f,c,b,a);async function FS(e,r){let t=l(r,Hd);return unwrap(e.clob.post("spreads",{json:br(t)}).andThen(y(SpreadsSchema)))}var _d=z.object({tokenId:z.string()}),BS=n(g$1,f,c,b,a);async function US(e,r){let t=l(r,_d);return unwrap(e.clob.get("/last-trade-price",{params:g(t,E())}).andThen(y(LastTradePriceSchema)))}var Nd=z.array(z.object({tokenId:z.string()})).min(1),DS=n(g$1,f,c,b,a);async function zS(e,r){let t=l(r,Nd);return unwrap(e.clob.post("last-trades-prices",{json:br(t)}).andThen(y(LastTradePricesSchema)))}var Gd=z.object({tokenId:z.string(),startTs:z.number().int().optional(),endTs:z.number().int().optional(),fidelity:z.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),WS=n(g$1,f,c,b,a);async function jS(e,r){let t=l(r,Gd);return (await unwrap(e.clob.get("/prices-history",{params:g(t,{tokenId:"market",startTs:"startTs",endTs:"endTs",fidelity:"fidelity",interval:"interval"})}).andThen(y(PriceHistorySchema)))).history}var Kd=z.object({cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}).default({}),HS=n(g$1,f,c,b,a);function _S(e,r={}){let{cursor:t,...o}=l(r,Kd);return x(n=>e.clob.get("/rewards/markets/current",{params:g({...o,nextCursor:n},E())}).andThen(y(PaginatedCurrentRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}var $d=z.object({conditionId:CtfConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}),NS=n(g$1,f,c,b,a);function GS(e,r){let{cursor:t,...o}=l(r,$d);return x(n=>e.clob.get(`rewards/markets/${o.conditionId}`,{params:g({nextCursor:n,sponsored:o.sponsored},E())}).andThen(y(PaginatedMarketRewardsSchema)).map(s=>({items:s.data,hasMore:s.nextCursor!==END_CURSOR,nextCursor:s.nextCursor===END_CURSOR?void 0:toPaginationCursor(s.nextCursor)})),t)}function br(e){return e.map(({tokenId:r})=>({token_id:r}))}function Vd(e){return e.map(({tokenId:r,side:t})=>({token_id:r,side:t}))}var Bn=2*6e4,oT=n(g$1,f,c,b);async function nT(e){return Un(e),unwrap(e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:Bn}).andThen(y(CollateralReturnPlanResponseSchema)))}var tu=z.object({plan:CollateralReturnPlanSchema}),Ln=10,gt="Collateral return",sT=n(f,c,b,a);async function ou(e,r){let{plan:t}=l(r,tu);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),Un(e),!isSameEvmAddress(t.wallet,e.account.wallet))throw new a("The collateral return plan was created for a different wallet than the authenticated account.");if(t.chainId!==e.environment.chainId)throw new a(`The collateral return plan was created for chain ${t.chainId}, but the client is configured for chain ${e.environment.chainId}.`);return async function*(){let o=[{data:t.routerCall.data,to:t.routerCall.to,value:0n}];for(let n=0;n<=Ln;n+=1)try{let s=yield*nu(e,o);try{return await Mn(e,t.planHash,s)}catch(a){let f=ut(a);if(f===void 0||s.type!==RelayerTransactionType.WALLET)throw a;let P=yield*mt(e,s,o,f);return await Mn(e,t.planHash,P)}}catch(s){if(!yt(s)||n===Ln)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var aT=n(j,g$1,f,m,c,b,a);function iT(e,r){return ou(e,r).then(H(e.signer))}function Un(e){invariant(e.account.walletType===WalletType.DEPOSIT_WALLET||e.account.walletType===WalletType.GNOSIS_SAFE||e.account.walletType===WalletType.POLY_PROXY,"Collateral return supports Deposit Wallet, Safe Wallet, and Proxy Wallet accounts");}function nu(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return ft(e,r,gt);case WalletType.POLY_PROXY:return dt(e,r,gt);default:return lt(e,r,gt)}}async function Mn(e,r,t){let o=await unwrap(e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:Bn}).andThen(y(RelayerExecuteResponseSchema)));return new rr(e,o)}var du=z.object({ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).default(20),getPositions:z.boolean().optional(),holdersOnly:z.boolean().optional(),order:z.string().optional(),parentEntityId:z.union([EventIdSchema,SeriesIdSchema]),parentEntityType:CommentParentEntityTypeSchema}),uu=z.object({getPositions:z.boolean().optional(),id:CommentIdSchema}),lu=z.object({address:z.string(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z.string().optional(),pageSize:w.max(100).default(20)}),hT=n(g$1,f,c,b,a);function ST(e,r){let{cursor:t,pageSize:o,...n}=l(r,du);return x(s=>{let a=D(s,o);return e.gamma.get("/comments",{params:g({ascending:n.ascending,getPositions:n.getPositions,holdersOnly:n.holdersOnly,limit:a.pageSize,offset:a.offset,order:n.order,parentEntityId:n.parentEntityId,parentEntityType:n.parentEntityType},E())}).andThen(y(ListCommentsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var TT=n(g$1,f,c,b,a);async function xT(e,r){let t=l(r,uu);return unwrap(e.gamma.get(`comments/${t.id}`,{params:g({getPositions:t.getPositions},E())}).andThen(y(ListCommentsResponseSchema)))}var CT=n(g$1,f,c,b,a);function kT(e,r){let{address:t,cursor:o,pageSize:n,...s}=l(r,lu);return x(a=>{let f=D(a,n);return e.gamma.get(`comments/user_address/${t}`,{params:g({ascending:s.ascending,limit:f.pageSize,offset:f.offset,order:s.order},E())}).andThen(y(ListCommentsResponseSchema)).map(P=>{let A=P.length>=f.pageSize;return {items:P,hasMore:A,nextCursor:A?B({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}function Ir(e,r){let t;try{t=new URL(e);}catch(f){throw new a("Expected a valid Polymarket URL.",{cause:f})}if(t.protocol!=="https:"||t.hostname!=="polymarket.com"&&t.hostname!=="www.polymarket.com")throw new a("Expected a valid Polymarket URL.");let[o,n,...s]=t.pathname.split("/").filter(Boolean),a$1=s[0];if(r==="market"&&o==="event"&&n!==void 0&&s.length<=1)return a$1??n;if(o!==r||n===void 0||s.length>0)throw new a(`Expected a Polymarket ${r} URL.`);return n}var Ru=z.object({ascending:z.boolean().optional(),closed:z.boolean().default(false),cursor:PaginationCursorSchema.optional(),pageSize:w.optional(),cyom:z.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),ended:z.boolean().optional(),eventDate:IsoCalendarDateStringSchema.optional(),eventWeek:z.number().int().optional(),excludeTagIds:z.array(z.number().int()).optional(),featured:z.boolean().optional(),featuredOrder:z.boolean().optional(),gameIds:z.array(z.number().int()).optional(),ids:z.array(z.number().int()).optional(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeChildren:z.boolean().optional(),includeTemplate:z.boolean().optional(),liquidityMax:z.number().optional(),liquidityMin:z.number().optional(),live:z.boolean().optional(),locale:z.string().optional(),order:z.string().optional(),parentEventId:z.number().int().optional(),partnerSlug:z.string().optional(),recurrence:z.enum(["daily","weekly","monthly"]).optional(),relatedTags:z.boolean().optional(),seriesIds:z.array(z.number().int()).optional(),slug:z.array(z.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),startTimeMax:IsoDateTimeStringSchema.optional(),startTimeMin:IsoDateTimeStringSchema.optional(),tagIds:z.array(z.number().int()).optional(),tagMatch:z.enum(["any","all"]).optional(),tagSlug:z.string().optional(),titleSearch:z.string().optional(),volumeMax:z.number().optional(),volumeMin:z.number().optional()}),Eu=z.union([z.object({id:z.string(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({url:z.string(),includeBestLines:z.boolean().optional(),includeChat:z.boolean().optional(),includeTemplate:z.boolean().optional(),locale:z.string().optional()})]),hu=z.object({id:z.string()}),Su=z.object({id:z.string()}),WT=n(g$1,f,c,b,a);function jT(e,r={}){let t=l(r,Ru);return x(o=>e.gamma.get("/events/keyset",{params:Tu({...t,cursor:o??t.cursor})}).andThen(y(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var HT=n(g$1,f,c,b,a);async function _T(e,r){let t=l(r,Eu);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:xu(t)}).andThen(y(EventSchema)));let o="url"in t?Ir(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:Cu(t)}).andThen(y(EventSchema)))}var NT=n(g$1,f,c,b,a);async function GT(e,r){let t=l(r,hu);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var KT=n(g$1,f,c,b,a);async function $T(e,r){let t=l(r,Su);return unwrap(e.data.get("/live-volume",{params:N(t)}).andThen(y(FetchEventLiveVolumeResponseSchema)))}function Tu(e){return g(e,E({cursor:"after_cursor",excludeTagIds:"exclude_tag_id",gameIds:"game_id",ids:"id",pageSize:"limit",seriesIds:"series_id",tagIds:"tag_id"}))}function xu(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}function Cu(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}var Ou=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(50).default(20),timePeriod:TimePeriodSchema.optional()}),wu=z.object({timePeriod:TimePeriodSchema.optional()}),Lu=z.object({category:LeaderboardCategorySchema.optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(50).default(20),timePeriod:TimePeriodSchema.optional(),orderBy:LeaderboardOrderBySchema.optional(),user:z.string().optional(),userName:z.string().optional()}),nx=n(g$1,f,c,b,a);function sx(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Ou);return x(s=>{let a=D(s,o);return e.data.get("/v1/builders/leaderboard",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListBuilderLeaderboardResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var ax=n(g$1,f,c,b,a);async function ix(e,r={}){let t=l(r,wu);return unwrap(e.data.get("/v1/builders/volume",{params:N(t)}).andThen(y(ListBuilderVolumeResponseSchema)))}var px=n(g$1,f,c,b,a);function cx(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Lu);return x(s=>{let a=D(s,o);return e.data.get("/v1/leaderboard",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListTraderLeaderboardResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Bu=z.object({marketId:z.union([z.string(),z.array(z.string())]).optional(),eventId:z.union([z.string(),z.array(z.string())]).optional(),questionId:z.union([z.string(),z.array(z.string())]).optional(),state:z.union([z.enum(MarketClarificationState),z.array(z.enum(MarketClarificationState))]).optional(),showInFrontend:z.boolean().optional(),txHash:z.string().optional(),order:z.string().optional(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).default(20)}),Ex=n(g$1,f,c,b,a);function hx(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Bu);return x(s=>{let a=D(s,o);return e.gamma.get("/market-clarifications",{params:g({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(y(ListMarketClarificationsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Nu=z.object({ascending:z.boolean().optional(),closed:z.boolean().optional(),clobTokenIds:z.array(z.string()).optional(),cursor:PaginationCursorSchema.optional(),pageSize:w.optional(),conditionIds:z.array(CtfConditionIdSchema).optional(),cyom:z.boolean().optional(),decimalized:z.boolean().optional(),endDateMax:IsoDateTimeStringSchema.optional(),endDateMin:IsoDateTimeStringSchema.optional(),gameId:z.string().optional(),ids:z.array(z.number().int()).optional(),includeTag:z.boolean().optional(),liquidityNumMax:z.number().optional(),liquidityNumMin:z.number().optional(),locale:z.string().optional(),marketMakerAddresses:z.array(z.string()).optional(),order:z.string().optional(),positionIds:z.array(PositionIdSchema).optional(),questionIds:z.array(z.string()).optional(),relatedTags:z.boolean().optional(),rfqEnabled:z.boolean().optional(),rewardsMinSize:z.number().optional(),slug:z.array(z.string()).optional(),sportsMarketTypes:z.array(z.string()).optional(),startDateMax:IsoDateTimeStringSchema.optional(),startDateMin:IsoDateTimeStringSchema.optional(),tagId:z.number().int().optional(),tagMatch:z.enum(["any","all"]).optional(),umaResolutionStatus:z.string().optional(),volumeNumMax:z.number().optional(),volumeNumMin:z.number().optional()}),Gu=z.object({id:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Ku=z.object({slug:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),$u=z.object({url:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Vu=z.union([Gu,Ku,$u]),Zu=z.object({id:z.string()}),Yu=z.object({limit:z.number().int().optional(),market:z.array(z.string()),minBalance:z.number().int().optional()}),Ju=z.object({market:z.array(z.string()).optional()}),Qu=z.enum(["OPEN","CLOSED","ALL"]),Xu=z.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),el=z.enum(["ASC","DESC"]),rl=z.object({cursor:PaginationCursorSchema.optional(),market:z.string(),pageSize:w.max(500).default(20),user:z.string().optional(),status:Qu.optional(),sortBy:Xu.optional(),sortDirection:el.optional()}),Mx=n(g$1,f,c,b,a);function Gn(e,r={}){let t=l(r,Nu);return x(o=>e.gamma.get("/markets/keyset",{params:ol({...t,cursor:o??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var tl=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).optional(),exclude:z.array(CtfConditionIdSchema).optional()}),Fx=n(g$1,f,c,b,a);function Bx(e,r={}){let t=l(r,tl);return x(o=>e.rfq.get("/v1/rfq/combo-markets",{params:nl({...t,cursor:o??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Ux=n(g$1,f,c,b,a);async function Dx(e,r){let t=l(r,Vu);return "id"in t?sl(e,t):"url"in t?Hn(e,{includeTag:t.includeTag,locale:t.locale,slug:Ir(t.url,"market")}):Hn(e,t)}var zx=n(g$1,f,c,b,a);async function Wx(e,r){let t=l(r,Zu);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var jx=n(g$1,f,c,b,a);async function Hx(e,r){let t=l(r,Yu);return unwrap(e.data.get("/holders",{params:N(t)}).andThen(y(ListMarketHoldersResponseSchema)))}var _x=n(g$1,f,c,b,a);async function Nx(e,r={}){let t=l(r,Ju);return unwrap(e.data.get("/oi",{params:N(t)}).andThen(y(ListOpenInterestResponseSchema)))}var Gx=n(g$1,f,c,b,a);function Kx(e,r){let{cursor:t,pageSize:o,...n}=l(r,rl);return x(s=>{let a=D(s,o);return e.data.get("/v1/market-positions",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListMarketPositionsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}function ol(e){return g(e,E({cursor:"after_cursor",ids:"id",marketMakerAddresses:"market_maker_address",pageSize:"limit"}))}function nl(e){return g({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function Hn(e,r){return unwrap(e.gamma.get(`markets/slug/${r.slug}`,{params:g({includeTag:r.includeTag,locale:r.locale},E())}).andThen(y(MarketSchema)))}async function sl(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:g({includeTag:r.includeTag,locale:r.locale},E())}).andThen(y(MarketSchema)))}var pl=z.object({orderId:z.string()}),cl=z.object({orderIds:z.array(z.string()).min(1).max(3e3)}),dl=z.object({tokenId:z.string().optional(),market:z.string().optional()}).refine(e=>e.market!==void 0||e.tokenId!==void 0,{message:"At least one of market or tokenId is required.",path:["market"]}),eC=n(f,g$1,m,c,b,a);async function rC(e,r){let t=l(r,pl);return Ar(e,"/order",{orderID:t.orderId})}var tC=n(f,g$1,m,c,b,a);async function oC(e,r){let t=l(r,cl);return Ar(e,"/orders",t.orderIds)}var nC=n(f,g$1,m,c,b);async function sC(e){return Ar(e,"/cancel-all")}var aC=n(f,g$1,m,c,b,a);async function iC(e,r){let t=l(r,dl);return Ar(e,"/cancel-market-orders",{asset_id:t.tokenId,market:t.market})}async function Ar(e,r,t){return unwrap(e.secureClob.del(r,{json:t}).andThen(y(CancelOrdersResponseSchema)))}var $n=z.object({tokenId:z.string(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FOK)}),ll=z.discriminatedUnion("side",[$n.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),$n.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema})]),yC=n(k,g$1,f,c,b,a);async function PC(e,r){let t=l(r,ll),o=t.side===OrderSide.BUY?t.amount:t.shares;return ml(e,{amount:o,orderType:t.orderType,side:t.side,tokenId:t.tokenId})}async function ml(e,r){let t=await kr(e,{tokenId:r.tokenId});return Tt({amount:r.amount,orderBook:t,orderType:r.orderType,side:r.side})}function Tt(e){let{orderBook:r}=e,t=e.side===OrderSide.BUY?yl(r.asks,e.amount,e.orderType):Pl(r.bids,e.amount,e.orderType);return invariant(fl(t,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),t}function fl(e,r){return e>=r&&e<=1-r}function yl(e,r,t){if(e.length===0)throw new k("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size)*Number.parseFloat(a.price),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new k("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}function Pl(e,r,t){if(e.length===0)throw new k("No resting liquidity.");let o=0;for(let s=e.length-1;s>=0;s-=1){let a=e[s];if(a!==void 0&&(o+=Number.parseFloat(a.size),o>=r))return Number.parseFloat(a.price)}if(t===OrderType.FOK)throw new k("Insufficient liquidity for full fill.");let n=e[0];return Number.parseFloat(n.price)}var hl=z.array(z.custom()).min(1).max(15),kC=n(g$1,f,m,c,b),bC=n(g$1,f,m,c,b,a);function wr(e){return async function(t){let o=Jn(e,t);return unwrap(e.secureClob.post("/order",{json:o}).andThen(y(OrderResponseSchema)))}}function IC(e){return async function(t){let n=l(t,hl).map(s=>Jn(e,s));return unwrap(e.secureClob.post("/orders",{json:n}).andThen(y(OrderResponsesSchema)))}}function Jn(e,r){return invariant(r.postOnly!==true||r.orderType===OrderType.GTC||r.orderType===OrderType.GTD,"Post-only orders are only supported for GTC and GTD order types."),{deferExec:false,order:{builder:r.builder,expiration:`${r.expiration}`,maker:r.maker,makerAmount:r.makerAmount,metadata:r.metadata,salt:Number.parseInt(r.salt,10),side:r.side,signature:r.signature,signatureType:r.signatureType,signer:r.signer,takerAmount:r.takerAmount,timestamp:r.timestamp,tokenId:r.tokenId},orderType:r.orderType,owner:e.credentials.key,...r.postOnly===true?{postOnly:true}:{}}}var xt=600*1e3,Ct=Number.POSITIVE_INFINITY,kt=class{#e;#r=new Map;#t=new Map;#o=new Map;constructor(r){this.#e=r;}async resolveMarket(r){let t=await this.#n(r);return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize}}async resolveBuilderTakerFeeRate(r){return r===void 0?0:Lr(this.#r,r,xt,()=>this.#e.fetchBuilderTakerFeeRate(r))}async fetchCurrentMarket(r){let t=await Lr(this.#t,r,Ct,()=>this.#e.resolveCondition(r)),o=await this.#s(t);return this.#a(r,t,o),this.#o.set(t,Qn(o,xt)),{feeInfo:o.feeInfo,negRisk:o.negRisk,tickSize:o.tickSize}}async#n(r){let t=await Lr(this.#t,r,Ct,()=>this.#e.resolveCondition(r)),o=await Lr(this.#o,t,xt,()=>this.#s(t));return this.#a(r,t,o),o}#a(r,t,o){if(!o.tokenIds.has(r))throw this.#t.delete(r),this.#o.delete(t),new b(`Market ${t} does not include token ${r}.`)}async#s(r){let t=await this.#e.fetchMarket(r),o=new Set(t.tokens.map(({tokenId:n})=>n));for(let n of o)this.#t.set(n,Qn(r));return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize,tokenIds:o}}};function Lr(e,r,t,o){let n=e.get(r);if(n!==void 0&&(n.expiresAt===void 0||n.expiresAt>Date.now()))return n.promise;let s={promise:o()};return s.promise.then(()=>{s.expiresAt=Date.now()+t;},()=>{e.get(r)===s&&e.delete(r);}),e.set(r,s),s.promise}function Qn(e,r=Ct){return {expiresAt:Date.now()+r,promise:Promise.resolve(e)}}var Xn=new WeakMap;function Oe(e,r){return bt(e).resolveMarket(r)}function ar(e,r){return bt(e).fetchCurrentMarket(r)}function es(e,r){return bt(e).resolveBuilderTakerFeeRate(r)}function bt(e){let r=Xn.get(e);if(r!==void 0)return r;let t=new kt({fetchBuilderTakerFeeRate:async o=>(await wn(e,{builderCode:o})).taker,fetchMarket:o=>On(e,{conditionId:o}),resolveCondition:o=>An(e,{tokenId:o})});return Xn.set(e,t),t}function fe(e){return BigInt(Math.round(e*10**6))}function ye(e,r){return V(e)<=r?e:Math.floor(e*10**r)/10**r}function be(e,r){return V(e)<=r?e:Math.ceil(e*10**r)/10**r}function rs(e,r){return V(e)<=r?e:Math.round(e*10**r)/10**r}function ts(e,r){let t=V(r);if(V(e)>t)return false;let o=10**t;return Math.round(e*o)%Math.round(r*o)===0}function V(e){if(typeof e=="number"&&Number.isInteger(e))return 0;let[r="",t]=e.toString().toLowerCase().split("e"),[,o=""]=r.split("."),n=o.length;if(t===void 0)return n;let s=Number.parseInt(t,10);return Math.max(0,n-s)}function Mr(e){switch(e){case .1:return {amount:3,price:1,size:2};case .01:return {amount:4,price:2,size:2};case .005:return {amount:5,price:3,size:2};case .0025:return {amount:6,price:4,size:2};case .001:return {amount:5,price:3,size:2};case 1e-4:return {amount:6,price:4,size:2}}invariant(false,`Unsupported tick size: ${e}`);}function Fr(e,r){let t=V(r);if(e<r||e>1-r)throw new a(`must be between ${r} and ${1-r} for tick size ${r}.`);if(V(e)>t)throw new a(`must conform to tick size ${r} with at most ${t} decimal places.`);if(!ts(e,r))throw new a(`${e} must be a multiple of tick size ${r}.`);return e}function Ie(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}var bl=180,as=z.strictObject({tokenId:TokenIdSchema,price:PositiveDecimalNumberSchema,size:PositiveDecimalNumberSchema,side:OrderSideSchema,builderCode:BuilderCodeSchema.optional(),postOnly:z.boolean().default(false),expiration:z.number().int().nonnegative().optional()}).superRefine((e,r)=>{if(e.expiration!==void 0){let t=Math.floor(Date.now()/1e3)+bl;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}});async function is(e,r){let t=await Il(e,{price:r.price,tokenId:r.tokenId}),o=ql({price:t.price,side:r.side,size:r.size,tickSize:t.tickSize});return {builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:r.expiration??0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.expiration===void 0?OrderType.GTC:OrderType.GTD,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount,tokenId:r.tokenId}}async function Il(e,r){let t=await Oe(e,r.tokenId);try{return ss(e,r,t)}catch(o){if(!(o instanceof a))throw o;let n=await ar(e,r.tokenId);return ss(e,r,n)}}function ss(e,r,t){let o=vl(r.price,t.tickSize);return {exchangeAddress:Ie(e,t.negRisk),funderAddress:e.account.wallet,price:o,signerAddress:e.account.signer,tickSize:t.tickSize}}function vl(e,r){try{return Fr(e,r)}catch(t){throw t instanceof a?new a(`Price ${t.message}`,{cause:t}):t}}function ql(e){let r=Mr(e.tickSize),t=rs(e.price,r.price);if(e.side===OrderSide.BUY){let s=ye(e.size,r.size),a=s*t;return V(a)>r.amount&&(a=be(a,r.amount+4),V(a)>r.amount&&(a=ye(a,r.amount))),{offeredAmount:fe(a),requestedAmount:fe(s)}}let o=ye(e.size,r.size),n=o*t;return V(n)>r.amount&&(n=be(n,r.amount+4),V(n)>r.amount&&(n=ye(n,r.amount))),{offeredAmount:fe(o),requestedAmount:fe(n)}}var cs=z.object({tokenId:TokenIdSchema,builderCode:BuilderCodeSchema.optional(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FAK)}),ms=z.discriminatedUnion("side",[cs.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),cs.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()})]);async function fs(e,r){let t=await wl(e,r),o=Bl({amount:t.resolvedAmount,price:t.price,protectPrice:Ps(r),side:r.side,tickSize:t.tickSize});return {builderCode:r.builderCode,chainId:e.environment.chainId,exchangeAddress:t.exchangeAddress,expiration:0,funderAddress:t.funderAddress,offeredAmount:o.offeredAmount,orderType:r.orderType,side:r.side,signer:t.signerAddress,requestedAmount:o.requestedAmount,tokenId:r.tokenId}}async function wl(e,r){return Ps(r)?Ll(e,r):Ml(e,r)}async function Ll(e,r){let t=r.side===OrderSide.BUY?r.amount:r.shares;if(r.side===OrderSide.BUY&&r.maxSpend!==void 0){let{builderTakerFeeRate:n,market:s}=await gs(e,r.tokenId,r.builderCode);try{return ds(e,r,t,n,r.maxSpend,s)}catch(a$1){if(!(a$1 instanceof a))throw a$1;let f=await ar(e,r.tokenId);return ds(e,r,t,n,r.maxSpend,f)}}let o=await Oe(e,r.tokenId);try{return us(e,r,t,o)}catch(n){if(!(n instanceof a))throw n;let s=await ar(e,r.tokenId);return us(e,r,t,s)}}function ds(e,r,t,o,n,s){let a=ys(r,s.tickSize);return {exchangeAddress:Ie(e,s.negRisk),funderAddress:e.account.wallet,price:a,resolvedAmount:Rs({amount:t,builderTakerFeeRate:o,maxSpend:n,platformFeeExponent:s.feeInfo.exponent,platformFeeRate:s.feeInfo.rate,price:a}),signerAddress:e.account.signer,tickSize:s.tickSize}}function us(e,r,t,o){let n=ys(r,o.tickSize);return {exchangeAddress:Ie(e,o.negRisk),funderAddress:e.account.wallet,price:n,resolvedAmount:t,signerAddress:e.account.signer,tickSize:o.tickSize}}async function Ml(e,r){let t=r.side===OrderSide.BUY?r.amount:r.shares,o=r.side===OrderSide.BUY&&r.maxSpend!==void 0?gs(e,r.tokenId,r.builderCode):void 0,[n,s]=await Promise.all([kr(e,{tokenId:r.tokenId}),o]);if(n.tokenId!==r.tokenId)throw new b(`Order book returned token ${n.tokenId} for requested token ${r.tokenId}.`);let a=Tt({amount:t,orderBook:n,orderType:r.orderType,side:r.side});return {exchangeAddress:Ie(e,n.negRisk),funderAddress:e.account.wallet,price:a,resolvedAmount:Fl(r,t,a,s),signerAddress:e.account.signer,tickSize:n.tickSize}}function Fl(e,r,t,o){return e.side!==OrderSide.BUY||e.maxSpend===void 0||o===void 0?r:Rs({amount:r,builderTakerFeeRate:o.builderTakerFeeRate,maxSpend:e.maxSpend,platformFeeExponent:o.market.feeInfo.exponent,platformFeeRate:o.market.feeInfo.rate,price:t})}function ys(e,r){return e.side===OrderSide.BUY?(invariant(e.maxPrice!==void 0,"Protected BUY market order requires maxPrice."),ls("maxPrice",e.maxPrice,r)):(invariant(e.minPrice!==void 0,"Protected SELL market order requires minPrice."),ls("minPrice",e.minPrice,r))}function ls(e,r,t){try{return Fr(r,t)}catch(o){throw o instanceof a?new a(`${e} ${o.message}`,{cause:o}):o}}function Ps(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}function Bl(e){let r=Mr(e.tickSize),t=ye(e.price,r.price),o=ye(e.amount,r.size);if(e.side===OrderSide.BUY){let s=o/t;return V(s)>r.amount&&(s=be(s,r.amount+4),V(s)>r.amount&&(s=e.protectPrice?be(s,r.amount):ye(s,r.amount))),{offeredAmount:fe(o),requestedAmount:fe(s)}}let n=o*t;return V(n)>r.amount&&(n=be(n,r.amount+4),V(n)>r.amount&&(n=e.protectPrice?be(n,r.amount):ye(n,r.amount))),{offeredAmount:fe(o),requestedAmount:fe(n)}}async function gs(e,r,t){let[o,n]=await Promise.all([Oe(e,r),es(e,t)]);return {builderTakerFeeRate:n,market:o}}function Rs(e){let r=e.platformFeeRate*(e.price*(1-e.price))**e.platformFeeExponent,t=e.amount/e.price*r,o=e.amount+t+e.amount*e.builderTakerFeeRate;return e.maxSpend<=o?e.maxSpend/(1+r/e.price+e.builderTakerFeeRate):e.amount}var Es="0x0000000000000000000000000000000000000000000000000000000000000000";function qt(e,r){let t=Oo(r);return {builder:e.builderCode??Es,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:Es,orderType:e.orderType,salt:Ul().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.tokenId}}function At(e,r){let{chainId:t,exchangeAddress:o,...n}=e;return {...n,signature:r}}function Ul(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}`)&(1n<<53n)-1n}var Ts="Polymarket CTF Exchange",zl="DepositWallet",Wl="1",Ot="0x0000000000000000000000000000000000000000000000000000000000000000",wt="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",jl=Hash.keccak256(Bytes.fromString(wt),{as:"Hex"}),Hl=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),_l=Hash.keccak256(Bytes.fromString(Ts),{as:"Hex"}),Nl=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],xs=[{name:"salt",type:"uint256"},{name:"maker",type:"address"},{name:"signer",type:"address"},{name:"tokenId",type:"uint256"},{name:"makerAmount",type:"uint256"},{name:"takerAmount",type:"uint256"},{name:"side",type:"uint8"},{name:"signatureType",type:"uint8"},{name:"timestamp",type:"uint256"},{name:"metadata",type:"bytes32"},{name:"builder",type:"bytes32"}],Gl=[{name:"contents",type:"Order"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"}];function Cs(e){let r=Kl(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:Is(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:zl,salt:Ot,verifyingContract:e.order.signer,version:Wl},primaryType:"TypedDataSign",types:{Order:xs,TypedDataSign:Gl}}}function ks(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(wt)),t=wt.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${$l(e.domain).slice(2)}${Vl(e.order).slice(2)}${r.slice(2)}${t}`)}function ak(e){return {chainId:e.chainId,exchange:e.exchange,protocolVersion:"3"}}function ik(e,r,t){return e===OrderSide.SELL?t.toString():((r*t+999999n)/1000000n).toString()}function pk(e,r,t){return e===OrderSide.SELL?(r*t/1000000n).toString():t.toString()}function ck(){let e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),BigInt(`0x${Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}`)}function bs(e){return {builder:e.builder??Ot,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??Ot,salt:BigInt(e.salt),side:Yl(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function Kl(e,r){return {domain:Is(e),message:bs(r),primaryType:"Order",types:{EIP712Domain:Nl,Order:xs}}}function Is(e){return {chainId:e.chainId,name:Ts,verifyingContract:e.exchange,version:e.protocolVersion}}function $l(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[Hl,_l,Zl(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function Vl(e){let r=bs(e);return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"uint256"},{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint8"},{type:"uint8"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[jl,r.salt,r.maker,r.signer,r.tokenId,r.makerAmount,r.takerAmount,r.side,r.signatureType,r.timestamp,r.metadata,r.builder]),{as:"Hex"}))}function Zl(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function Yl(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}function Ft(e){return Cs({domain:vs(e),order:e})}function Bt(e,r){return ks({domain:vs(e),order:e,signature:r})}function vs(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:"2"}}function Ut(e){return {kind:"signOrder",payload:e}}var Jl=n(k,g$1,f,m,c,b,a);async function Dt(e,r){let t=l(r,ms);return async function*(){let o=await fs(e,t),n=qt(o,e.account),s=expectEvmSignature(yield Ut(Ft(n)));return At(n,Bt(n,s))}.call(null)}var Ql=n(g$1,f,m,c,b,a);async function zt(e,r){let t=l(r,as);return async function*(){let o=await is(e,t),n=qt(o,e.account),s=expectEvmSignature(yield Ut(Ft(n))),a=At(n,Bt(n,s));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var Ck=Jl;async function kk(e,r){return As(e,Dt(e,r))}var bk=Ql;async function Ik(e,r){return As(e,zt(e,r))}async function As(e,r){let t=await r;return async function*(){let o=yield*t;return wr(e)(o)}.call(null)}var rm=250,tm=3e4,om={timeoutMs:z.number().int().positive().optional()},nm=z.object(om).default({}),Fk=n(g$1,f,m,h,i,c,b,a);function sm(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function Os(e){return e.status===TradeStatus.Failed}async function Bk(e,r,t){let{timeoutMs:o=tm}=l(t,nm),n=[...new Set(r.tradeIds)];if(n.length===0)return [...r.transactionsHashes];let s=new Map,a=Date.now()+o;for(;s.size<n.length;){let P=n.filter(v=>!s.has(v)),A=await Promise.all(P.map(v=>Uo(e,{id:v}).firstPage()));for(let v of A)for(let j of v.items)n.includes(j.id)&&sm(j)&&s.set(j.id,j);if(s.size===n.length)break;if(Date.now()>=a){let v=n.filter(j=>!s.has(j));throw new h(`Timed out waiting for trades to settle: ${v.join(", ")}`)}await delay(rm);}let f=[...s.values()];if(f.every(Os))throw new i(`Every fill of order ${r.orderId} failed execution: ${n.join(", ")}`);return [...new Set(f.filter(P=>!Os(P)).map(P=>P.transactionHash))].map(P=>TxHashSchema.parse(P))}async function Fs(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await Xr(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,tokenId:r.tokenId});return im(o,r.spenderAddress)}function im(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var eb=n(j,k,g$1,f,m,c,b,a);function pm(e,r){return Dt(e,r).then(H(e.signer))}var rb=n(j,k,g$1,f,m,h,i,c,b,a);function tb(e,r){return pm(e,r).then(t=>Us(e,t))}var ob=n(j,g$1,f,m,c,b,a);function cm(e,r){return zt(e,r).then(H(e.signer))}var nb=n(j,g$1,f,m,h,i,c,b,a);function sb(e,r){return cm(e,r).then(t=>Us(e,t))}async function Us(e,r){let t=wr(e);try{return await t(r)}catch(o){if(!um(o))throw o;let n=await dm(e,r,t);if(n===void 0)throw o;return n}}async function dm(e,r,t){return await lm(e,r)?t(r):void 0}function um(e){return e instanceof f&&e.status===400&&e.message.includes("allowance is not enough")}async function lm(e,r){let t=await Oe(e,r.tokenId),o=Ie(e,t.negRisk),n=BigInt(r.makerAmount);return await Fs(e,{spenderAddress:o,side:r.side,tokenId:r.tokenId})>=n?false:(await(r.side===OrderSide.BUY?await Rn(e,{amount:"max",spenderAddress:o,tokenAddress:e.environment.contracts.collateralToken}):await En(e,{operatorAddress:o,tokenAddress:e.environment.contracts.conditionalTokens})).wait(),await Do(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?r.tokenId:void 0}),true)}function Ds(e){let r=TypedData.getSignPayload(Ht(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function Ht(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode(zs(e.op)),{as:"Hex"}),salt:BigInt(e.salt),ts:BigInt(e.timestamp)},primaryType:"Op",types:{Op:[{name:"data",type:"bytes32"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function zs(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(zs):e}var Br=class{#e;#r;#t;constructor({root:r,headers:t,resolveHeaders:o}){this.#e=To.create({prefixUrl:r,throwHttpErrors:false}),this.#r=t,this.#t=o;}get(r,t={}){return this.#n("GET",r,t)}post(r,t={}){return this.#n("POST",r,t)}patch(r,t={}){return this.#n("PATCH",r,t)}del(r,t={}){return this.#n("DELETE",r,t)}#o(r){return r.startsWith("/")?r.slice(1):r}#n(r,t,o){return this.#c(this.#a(r,t,o))}async#a(r,t,o){let n=this.#s(r,t,o),s=await this.#t?.(n),a=this.#p(this.#r,n.headers,s);return n.body!==void 0&&!a.has("content-type")&&a.set("content-type","application/json"),this.#e(this.#o(t),{body:n.body,headers:a,method:r,searchParams:n.params,...o.timeout!==void 0&&{timeout:o.timeout}})}#s(r,t,o){return {body:"json"in o?this.#i(o.json):void 0,headers:o.headers,json:"json"in o?o.json:void 0,method:r,params:"params"in o?o.params:void 0,path:t}}#i(r){if(r!==void 0)return JSON.stringify(r)}#p(...r){let t=new Headers;for(let o of r)if(o!==void 0)for(let[n,s]of new Headers(o).entries())t.set(n,s);return t}#c(r){return ResultAsync.fromPromise(r.then(async t=>{if(t.ok)return t;let o=this.#d(t);if(t.status===429)throw new g$1(`Request to ${t.url} was rate limited`,{retryAfter:o});let n=await this.#l(t);throw new f(n,{retryAfter:o,status:t.status})}),t=>t instanceof g$1||t instanceof f?t:c.fromError(t))}#d(r){let t=r.headers.get("retry-after");if(!(t===null||!/^\d+$/.test(t)))return Number(t)}async#l(r){let t=r.headers.get("content-type")?.toLowerCase();if(t?.includes("application/json")){let{error:n}=await r.clone().json().catch(()=>({}));if(n)return `${String(n)} (${r.url})`}if(t?.includes("text/plain")){let n=await r.clone().text().then(s=>s.trim(),()=>"");if(n)return `${n} (${r.url})`}return r.headers.get("server")?.toLowerCase()?.includes("cloudflare")?`Request to ${r.url} was blocked by Cloudflare with status ${r.status}`:t?.includes("text/html")||t?.includes("application/xhtml+xml")?`Request to ${r.url} failed with status ${r.status} and an unexpected HTML response body`:`Request to ${r.url} failed with status ${r.status} and unreadable response body`}};var Sm=1e4,Tm=3e4,xm=5e3,Cm=10*6e4,km=3e4,bm=25e3,Im=65e3,Ws=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},Sm);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>Tm}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},js=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},xm);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Cm}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Hs=class{#e=0;#r;start(r){this.#e=Date.now(),this.#r=r;}stop(){this.#r=void 0;}handleMessage(r){return r!=="ping"?false:(this.#e=Date.now(),this.#r?.("pong"),true)}isStale(r){return r-this.#e>km}},Ur=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r(JSON.stringify({id:0,req:"post",op:{type:"ping"}}));},bm);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Im}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var Am=5e3,Om=250,wm=3e4,Dr=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=Mm(this.#r,{baseMs:Om,maxMs:wm});this.#r+=1,this.#e=setNonBlockingTimeout(()=>{this.#e=void 0,this.#t(r);},t);}stop(){this.#e!==void 0&&(clearTimeout(this.#e),this.#e=void 0);}resetBackoff(){this.#r=0,this.stop();}async#t(r){if(r.shouldReconnect())try{await r.reconnect();}catch{this.schedule(r);}}},zr=class{#e;#r;#t;#o;constructor(r={}){this.#e=r.heartbeat;}connect(r){if(this.#r?.readyState===WebSocket.OPEN)return Promise.resolve({reusedOpenSocket:true});if(this.#i(),this.#t!==void 0)return this.#t;let o=this.#a(r).then(()=>({reusedOpenSocket:false})).catch(n=>{throw this.#t===o&&(this.#t=void 0),n});return this.#t=o,o}send(r){return this.#n(JSON.stringify(r))}#n(r){return this.#r?.readyState!==WebSocket.OPEN?false:(this.#r.send(r),true)}async close(){let r=await this.#d();this.#c(),!(r===void 0||r.readyState===WebSocket.CLOSED)&&await new Promise(t=>{r.addEventListener("close",()=>t(),{once:true}),r.readyState!==WebSocket.CLOSING&&r.close();});}async#a(r){let t=await r.prepare?.();return new Promise((o,n)=>{let s=Lm(r.url,r.headers),a=()=>{s.removeEventListener("error",f),this.#s(s),this.#p(),r.onOpen(t),o(s);},f=P=>{s.removeEventListener("open",a),n(new c(`WebSocket connection failed: ${r.url}`,{cause:P}));};s.addEventListener("open",a,{once:true}),s.addEventListener("error",f,{once:true}),s.addEventListener("message",P=>{if(this.#r!==s)return;let A=String(P.data);if(this.#e?.handleMessage(A))return;let v;try{v=JSON.parse(A);}catch{return}r.onMessage(v);}),s.addEventListener("close",P=>{this.#r===s&&(this.#i(),r.onConnectionLost({code:P.code||1005,reason:P.reason??""}));}),s.addEventListener("error",()=>r.onError());})}#s(r){this.#r=r,this.#t=void 0;}#i(){this.#c(),this.#r=void 0;}#p(){this.#c();let r=this.#e;r!==void 0&&(r.start(t=>this.#n(t)),this.#o=setNonBlockingInterval(()=>{if(!r.isStale(Date.now()))return;let t=this.#r;t?.readyState===WebSocket.OPEN&&t.close();},Am));}#c(){this.#o!==void 0&&(clearInterval(this.#o),this.#o=void 0),this.#e?.stop();}async#d(){let r=this.#r,t=this.#t;return this.#r=void 0,this.#t=void 0,r!==void 0?r:t?.then(()=>this.#r,()=>{})}};function Lm(e,r){if(r===void 0)return new WebSocket(e);try{let t=Reflect.construct(WebSocket,[e,{headers:r}]);if(t instanceof WebSocket)return t}catch(t){throw new c("WebSocket headers require a header-capable WebSocket implementation.",{cause:t})}throw new c("WebSocket headers require a header-capable WebSocket implementation.")}function Mm(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var Wr=1440*60*1e3,$s=90*Wr,ne=z.number().int().nonnegative(),Gt=z.object({start:ne.optional(),end:ne.optional()}),Vs=z.object({interval:PerpsPnlIntervalSchema,start:ne,end:ne.optional()}),ef=z.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),rf=z.enum(["perpsEquityHistory","perpsPnlHistory"]),Kt=z.object({kind:ef,startTimestamp:ne,endTimestamp:ne,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z.array(z.string())}),Zs=z.object({kind:rf,startTimestamp:ne,endTimestamp:ne,interval:PerpsPnlIntervalSchema});async function Ys(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function Js(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}async function Qs(e){return await unwrap(e.get("/v1/account/stats").andThen(y(FetchPerpsAccountStatsResponseSchema)))}async function Xs(e){return await unwrap(e.get("/v1/account/auto-cancel").andThen(y(FetchPerpsAutoCancelStatusResponseSchema)))}var tf=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function ea(e,r){let t=l(r,tf);return await unwrap(e.get("/v1/account/config",{params:de(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var of=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function ra(e,r){let t=l(r,of);return await unwrap(e.get("/v1/account/open-orders",{params:de(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var nf=z.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ne.optional(),end:ne.optional()}).default({}),sf=nf.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function ta(e,r){let t=l(r,sf);return await unwrap(e.get("/v1/account/orders",{params:de(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var af=z.object({start:ne.optional(),end:ne.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function oa(e,r={}){let t=l(r,af);return x(o=>e.get("/v1/account/fills",{params:de({startTimestamp:t.start,endTimestamp:t.end,sort:t.sort,cursor:o??t.cursor})}).andThen(y(ListPerpsFillsResponseSchema)).map(n=>{let s=n.data.at(-1);return !n.more||s===void 0?{items:n.data,hasMore:false}:{items:n.data,hasMore:true,nextCursor:toPaginationCursor(String(s.tradeId))}}),t.cursor)}var pf=Gt.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),cf=z.object({cursor:PaginationCursorSchema}),df=z.union([pf.transform(({cursor:e,...r})=>({cursor:e,params:$t(r,Wr)})),cf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function na(e,r={}){let{cursor:t,params:o}=l(r,df);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=Ge(n,Kt);let{kind:a,seenKeys:f,...P}=s,A=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:de(P)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(v=>{let j=v.data.filter(U=>!A.has(`${U.instrumentId}:${U.timestamp}:${U.funding}`));return Vt({getKey:U=>`${U.instrumentId}:${U.timestamp}:${U.funding}`,getTimestamp:U=>U.timestamp,items:j,responseData:v.data,responseMore:v.more,state:s})})},t)}var uf=Gt.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),lf=z.object({cursor:PaginationCursorSchema}),mf=z.union([uf.transform(({cursor:e,...r})=>({cursor:e,params:$t(r,$s)})),lf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function sa(e,r={}){let{cursor:t,params:o}=l(r,mf);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps deposit params."),s={kind:"perpsDeposits",seenKeys:[],...o}):s=Ge(n,Kt);let{kind:a,seenKeys:f,...P}=s,A=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:de(P)}).andThen(y(ListPerpsDepositsResponseSchema)).map(v=>{let j=v.data.filter(U=>!A.has(U.hash));return Vt({getKey:U=>U.hash,getTimestamp:Of,items:j,responseData:v.data,responseMore:v.more,state:s})})},t)}var ff=Gt.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),yf=z.object({cursor:PaginationCursorSchema}),Pf=z.union([ff.transform(({cursor:e,...r})=>({cursor:e,params:$t(r,$s)})),yf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function aa(e,r={}){let{cursor:t,params:o}=l(r,Pf);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps withdrawal params."),s={kind:"perpsWithdrawals",seenKeys:[],...o}):s=Ge(n,Kt);let{kind:a,seenKeys:f,...P}=s,A=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:de(P)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(v=>{let j=v.data.filter(U=>!A.has(String(U.withdrawalId)));return Vt({getKey:U=>String(U.withdrawalId),getTimestamp:wf,items:j,responseData:v.data,responseMore:v.more,state:s})})},t)}var gf=Vs.extend({cursor:PaginationCursorSchema.optional()}),Rf=z.object({cursor:PaginationCursorSchema}),Ef=z.union([gf.transform(({cursor:e,...r})=>({cursor:e,params:la(r)})),Rf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ia(e,r){let{cursor:t,params:o}=l(r,Ef);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps equity history params."),s={kind:"perpsEquityHistory",...o}):s=Ge(n,Zs);let{kind:a,...f}=s;return e.get("/v1/account/equity",{params:de(f)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(P=>{let A=P.data.at(-1),v=P.more&&A!==void 0&&A.timestamp<s.endTimestamp;return {items:P.data,hasMore:v,nextCursor:v?jr({...s,startTimestamp:A.timestamp+ma(s.interval)}):void 0}})},t)}var hf=Vs.extend({cursor:PaginationCursorSchema.optional()}),Sf=z.object({cursor:PaginationCursorSchema}),Tf=z.union([hf.transform(({cursor:e,...r})=>({cursor:e,params:la(r)})),Sf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function pa(e,r){let{cursor:t,params:o}=l(r,Tf);return x(n=>{let s;n===void 0?(invariant(o!==void 0,"Expected initial Perps PnL history params."),s={kind:"perpsPnlHistory",...o}):s=Ge(n,Zs);let{kind:a,...f}=s;return e.get("/v1/account/pnl",{params:de(f)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(P=>{let A=P.data.at(-1),v=P.more&&A!==void 0&&A.timestamp<s.endTimestamp;return {items:P.data,hasMore:v,nextCursor:v?jr({...s,startTimestamp:A.timestamp+ma(s.interval)}):void 0}})},t)}var xf=z.object({kind:z.literal("perpsNotifications"),cursor:z.string().min(1),sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional()}),Cf=z.object({sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),kf=z.object({cursor:PaginationCursorSchema}),bf=z.union([Cf.transform(({cursor:e,...r})=>({cursor:e,params:r})),kf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ca(e,r={}){let{cursor:t,params:o}=l(r,bf);return x(n=>{let s;n===void 0?invariant(o!==void 0,"Expected initial Perps notifications params."):s=Ge(n,xf);let a=s===void 0?o?.sinceSeq:s.sinceSeq,f=s===void 0?o?.limit:s.limit;return e.get("/v1/account/notifications",{params:de({cursor:s?.cursor,limit:f,sinceSeq:a})}).andThen(y(ListPerpsNotificationsResponseSchema)).map(P=>{let A=P.has_more&&P.next_cursor!==null;return {items:P.items,hasMore:A,nextCursor:A&&P.next_cursor!==null?jr({kind:"perpsNotifications",cursor:P.next_cursor,limit:f,sinceSeq:a}):void 0}})},t)}async function da(e){return (await unwrap(e.get("/v1/account/notifications",{params:de({limit:1})}).andThen(y(FetchPerpsUnreadNotificationsCountResponseSchema)))).unread}var If=z.object({ids:z.array(z.string().min(1)).min(1)}),vf=z.object({upTo:z.object({id:z.string().min(1),timestamp:z.number().int().nonnegative()})}),qf=z.union([If.transform(({ids:e})=>({ids:e})),vf.transform(({upTo:e})=>({before:Af(e)}))]);async function ua(e,r){let t=l(r,qf),o=await unwrap(e.post("/v1/account/notifications/read",{json:t}).andThen(y(MarkPerpsNotificationsReadResponseSchema)));if(o.status==="err")throw new f(o.error??"Perps notifications read request was rejected.",{status:200})}function Af(e){return btoa(JSON.stringify({ts:e.timestamp,id:e.id})).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function $t(e,r){let t=Date.now(),{end:o,start:n,...s}=e;return {...s,endTimestamp:o??t,startTimestamp:n??t-r}}function la(e){return {endTimestamp:e.end??Date.now(),interval:e.interval,startTimestamp:e.start}}function Ge(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps account pagination cursor",{cause:t})}}function jr(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function de(e){return g(e,E())}function Of(e){return e.confirmedTimestamp??e.createdTimestamp}function wf(e){return e.confirmedTimestamp??e.createdTimestamp}function Vt(e){let r=e.responseData.at(-1),t=e.items.at(-1),o=(t===void 0?void 0:e.getTimestamp(t))??(r===void 0?void 0:e.getTimestamp(r)),n=e.responseMore&&o!==void 0&&o>e.state.startTimestamp;if(!n)return {items:e.items,hasMore:n};let s=t===void 0?o-1:o,a=new Set(e.state.endTimestamp===s?e.state.seenKeys:[]);for(let f of e.items)e.getTimestamp(f)===s&&a.add(e.getKey(f));return {items:e.items,hasMore:n,nextCursor:jr({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function ma(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return Wr;case "1w":return 7*Wr}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var Jt=z.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional()}),Df=Jt.extend({price:PerpsDecimalInputSchema,timeInForce:z.literal(PerpsTimeInForce.GTC),postOnly:z.boolean().default(false)}),zf=Jt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.IOC),postOnly:z.never().optional()}),Wf=Jt.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.FOK),postOnly:z.never().optional()}),Qt=z.discriminatedUnion("timeInForce",[Df,zf,Wf]),Hr=z.object({triggerPrice:PerpsDecimalInputSchema,limitPrice:PerpsDecimalInputSchema.optional()}),_r=z.object({triggerPrice:PerpsDecimalInputSchema}),jf=z.union([z.object({takeProfit:Hr,stopLoss:Hr.optional()}),z.object({takeProfit:Hr.optional(),stopLoss:Hr})]),Hf=z.object({orders:z.array(Qt).min(1),expiresAt:z.number().int().positive().optional()});async function ha(e,r){let t=l(r,Hf);return await e.executeCommand({op:["createOrders",t.orders.map(Xt)],expiresAt:t.expiresAt},z.array(PerpsPostOrderAckSchema))}var _f=z.intersection(Qt,z.intersection(jf,z.object({clientOrderId:PerpsClientOrderIdSchema.default(La),expiresAt:z.number().int().positive().optional()}))),Nf=z.intersection(Qt,z.object({clientOrderId:PerpsClientOrderIdSchema.default(La),expiresAt:z.number().int().positive().optional(),takeProfit:z.never().optional(),stopLoss:z.never().optional()})),Sa=z.array(PerpsPostOrderAckSchema).min(1).refine(e=>e.every(r=>r.status==="ok"),"Expected successful Perps order acknowledgements.");function Gf(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Ta(e,r){if(Gf(r))return await Kf(e,r);let t=l(r,Nf),[,o]=await e.executeCommandWithEvent({op:["createOrders",[Xt(t)]],expiresAt:t.expiresAt},Sa,Ma(t.clientOrderId));return {order:o.payload}}async function Kf(e,r){let t=l(r,_f),o=[Xt(t)],n=t.side===OrderSide.SELL;t.takeProfit!==void 0&&o.push($r({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push($r({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),trigger:t.stopLoss}));let[s,a]=await e.executeCommandWithEvent({op:["createOrders",o,PerpsTpSlScope.Order],expiresAt:t.expiresAt},Sa,Ma(t.clientOrderId)),f=1,P={};return t.takeProfit!==void 0&&(P.takeProfit=Kr(expectPresent(s[f++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(P.stopLoss=Kr(expectPresent(s[f],"Expected Perps stop-loss acknowledgement."))),{order:a.payload,tpSl:P}}var $f=z.union([z.object({takeProfit:_r,stopLoss:_r.optional()}),z.object({takeProfit:_r.optional(),stopLoss:_r})]),Vf=z.intersection($f,z.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z.number().int().positive().optional()}));async function xa(e,r){let t=l(r,Vf),o=ny(await e.fetchPortfolio(),t.instrumentId),n=[];t.takeProfit!==void 0&&n.push($r({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:"0",trigger:t.takeProfit})),t.stopLoss!==void 0&&n.push($r({buy:o,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:"0",trigger:t.stopLoss}));let s=await e.executeCommand({op:["createOrders",n,PerpsTpSlScope.Position],expiresAt:t.expiresAt},z.array(PerpsPostOrderAckSchema));for(let P of s)if(P.status==="err")throw new f(P.error,{status:200});let a=0,f$1={};return t.takeProfit!==void 0&&(f$1.takeProfit=Kr(expectPresent(s[a++],"Expected Perps take-profit acknowledgement."))),t.stopLoss!==void 0&&(f$1.stopLoss=Kr(expectPresent(s[a],"Expected Perps stop-loss acknowledgement."))),{tpSl:f$1}}var Zf=z.union([z.object({orderId:PerpsOrderIdSchema,clientOrderId:z.undefined().optional(),expiresAt:z.number().int().positive().optional()}),z.object({clientOrderId:PerpsClientOrderIdSchema,orderId:z.undefined().optional(),expiresAt:z.number().int().positive().optional()})]);async function Ca(e,r){let t=l(r,Zf),[o]=t.orderId!==void 0?await Gr(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await Gr(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var Yf=z.union([z.object({orderIds:z.array(PerpsOrderIdSchema).min(1),clientOrderIds:z.undefined().optional(),expiresAt:z.number().int().positive().optional()}),z.object({clientOrderIds:z.array(PerpsClientOrderIdSchema).min(1),orderIds:z.undefined().optional(),expiresAt:z.number().int().positive().optional()})]);async function Gr(e,r){let t=l(r,Yf);return t.orderIds!==void 0?await e.executeCommand({op:["cancelOrders",t.orderIds],expiresAt:t.expiresAt},z.array(PerpsCancelOrderResultSchema)):await e.executeCommand({op:["cancelOrdersCOID",t.clientOrderIds],expiresAt:t.expiresAt},z.array(PerpsCancelOrderResultSchema))}var Jf=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z.number().int().positive().optional()}).default({});async function ka(e,r){let t=l(r,Jf),o=["cancelAll",t.instrumentId===void 0?[]:[t.instrumentId]];await e.executeDeleteCommand({path:"/v1/trade/orders/all",op:o,responseSchema:PerpsCancelAllOrdersResponseSchema,expiresAt:t.expiresAt});}var Qf=5e3,Xf=z.object({cancelAt:z.number().int().positive(),expiresAt:z.number().int().positive().optional()}).superRefine((e,r)=>{let t=Date.now()+Qf;e.cancelAt<t&&r.addIssue({code:"custom",message:"cancelAt must be at least 5 seconds in the future.",path:["cancelAt"]});}),ba=n(l$1,g$1,f,m,c,b,a),ey="auto_cancel_daily_limit_reached";async function Ia(e,r,t){let o=l(t,Xf),n=["autoCancel",[o.cancelAt]],s=r(n,o.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...s,op:ur(n)}}).andThen(y(PerpsAutoCancelResponseSchema)).mapErr(a=>a instanceof f&&a.message.startsWith(`${ey} (`)?new l$1("Auto-cancel daily trigger limit reached.",{cause:a}):a));}var ry=z.object({expiresAt:z.number().int().positive().optional()}).default({});async function va(e,r,t){let o=l(t,ry),n=["autoCancel",[0]],s=r(n,o.expiresAt);await unwrap(e.patch("/v1/trade/auto-cancel",{json:{...s,op:ur(n)}}).andThen(y(PerpsAutoCancelResponseSchema)));}var ty=z.object({instrumentId:PerpsInstrumentIdSchema,leverage:z.number().int().positive(),crossMargin:z.boolean()}),qa=n(f,m,c,a);async function Aa(e,r){let t=l(r,ty);return await e.executeCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]]},PerpsUpdateLeverageResultSchema)}var oy=z.object({instrumentId:PerpsInstrumentIdSchema,amount:PerpsDecimalInputSchema}),Oa=n(f,m,c,a);async function wa(e,r){let t=l(r,oy),o=toDecimalString(t.amount),n=await e.executeCommand({op:["updateMargin",[t.instrumentId,o]]},PerpsCommandAckSchema);if(n.status==="err")throw new f(n.error,{status:200})}function La(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return PerpsClientOrderIdSchema.parse(Array.from(e,r=>r.toString(16).padStart(2,"0")).join(""))}function Ma(e){return r=>r.type==="order"&&r.payload.clientOrderId===e}function Kr(e){if(e.status==="err")throw new f(e.error,{status:200});return {orderId:e.orderId}}function ny(e,r){let t=e.positions.find(n=>n.instrumentId===r),o=t===void 0?0:sy(t.size);if(o===0)throw new a(`No open Perps position for instrument ${r}.`);return o<0}function sy(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function Xt(e){return [e.instrumentId,e.side===OrderSide.BUY,e.price===void 0?void 0:toDecimalString(e.price),toDecimalString(e.quantity),e.timeInForce,e.postOnly??false,e.reduceOnly===true?true:void 0,e.clientOrderId,void 0]}function $r(e){return [e.instrumentId,e.buy,e.trigger.limitPrice===void 0?void 0:toDecimalString(e.trigger.limitPrice),e.quantity,void 0,false,true,void 0,[e.trigger.limitPrice===void 0?true:void 0,toDecimalString(e.trigger.triggerPrice),e.kind]]}function ur(e){let[r,t,o]=e;switch(r){case "createOrders":return py({args:t.map(ay),type:r},o);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};case "autoCancel":{let[n]=t;return {type:r,args:{time:n}}}case "cancelAll":{let[n]=t;return {type:r,args:n===void 0?{}:{iid:n}}}case "updateLeverage":{let[n,s,a]=t;return {type:r,args:{cross:a,iid:n,lev:s}}}case "updateMargin":{let[n,s]=t;return {type:r,args:{amt:s,iid:n}}}default:invariant(false,`Unsupported Perps command: ${String(r)}`);}}function ay(e){let r={iid:e[0],buy:e[1],po:e[5],qty:e[3]};return e[4]!==void 0&&(r.tif=e[4]),e[6]&&(r.ro=e[6]),e[2]!==void 0&&(r.p=e[2]),e[7]!==void 0&&(r.c=e[7]),e[8]!==void 0&&(r.tr=iy(e[8])),r}function iy(e){let r={tpsl:e[2],trp:e[1]};return e[0]!==void 0&&(r.market=e[0]),r}function py(e,r){return r!==void 0&&(e.grp=r),e}var fy=3e4,Ua=3e4,yy=2e3,Py=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],gy=new Set(["notifications"]),Ry=z.object({id:z.number().int().positive().optional(),data:z.unknown().optional()}).passthrough(),Da=z.union([PerpsCommandAckSchema,z.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),za=class{credentials;#e;#r;#t;#o;#n;#a=new zr({heartbeat:new Ur});#s=pushable({objectMode:true});#i=new Map;#p=new Set;#c=new Dr;#d=new Map;#l=1;#u;constructor(r){this.#e=new Br({headers:r.headers,resolveHeaders:async()=>this.#T(),root:r.restUrl}),this.#r=r.chainId,this.credentials=r.credentials,this.#t=r.headers,this.#o=r.onClose,this.#n=r.wsUrl;}get closed(){return this.#u!==void 0}async connect(){await this.#P(false);}async close(){this.#u===void 0&&(this.#u=this.#x()),await this.#u;}[Symbol.asyncIterator](){return this.#s[Symbol.asyncIterator]()}async fetchBalances(){return await Ys(this.#e)}async fetchPortfolio(){return await Js(this.#e)}async fetchStats(){return await Qs(this.#e)}async fetchAccountConfig(r){return await ea(this.#e,r)}async fetchAutoCancelStatus(){return await Xs(this.#e)}async fetchOpenOrders(r){return await ra(this.#e,r)}async fetchOrders(r){return await ta(this.#e,r)}listFills(r={}){return oa(this.#e,r)}listFundingPayments(r={}){return na(this.#e,r)}listDeposits(r={}){return sa(this.#e,r)}listWithdrawals(r={}){return aa(this.#e,r)}listEquityHistory(r){return ia(this.#e,r)}listPnlHistory(r){return pa(this.#e,r)}listNotifications(r={}){return ca(this.#e,r)}async fetchUnreadNotificationsCount(){return await da(this.#e)}async markNotificationsRead(r){await ua(this.#e,r);}async placeOrder(r){return await Ta(this,r)}async postOrders(r){return await ha(this,r)}async placePositionTpSl(r){return await xa(this,r)}async cancelOrder(r){return await Ca(this,r)}async cancelOrders(r){return await Gr(this,r)}async cancelAllOrders(r){await ka(this,r);}async armAutoCancel(r){await Ia(this.#e,(t,o)=>this.#m(t,o),r);}async disarmAutoCancel(r){await va(this.#e,(t,o)=>this.#m(t,o),r);}async updateLeverage(r){return await Aa(this,r)}async updateMargin(r){await wa(this,r);}async#P(r){await this.#a.connect({onConnectionLost:()=>this.#b(),onError:()=>{},onMessage:t=>this.#C(t),onOpen:()=>{},headers:this.#t,url:this.#n}),await this.#h(),await this.#S(),this.#c.resetBackoff(),r&&(this.#d.clear(),this.#s.push({reason:"reconnect",type:"resync"}));}async#h(){await this.#y({id:this.#l++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},Da,fy,"Perps session authentication timed out.");}async#S(){await this.#y({id:this.#l++,req:"sub",chs:Py},Da,Ua,"Perps session subscription timed out.");}#T(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}async executeCommand(r,t){let o=ur(r.op),n=this.#m(r.op,r.expiresAt);return await this.#y({...n,id:this.#l++,op:o,req:"post"},t,Ua,"Perps command response timed out.")}async executeCommandWithEvent(r,t,o){let n=this.#v(o),s=this.executeCommand(r,t);s.then(()=>this.#q(n,yy),()=>{});try{let[a,f]=await Promise.all([s,n.promise]);return [a,f]}finally{this.#f(n);}}async executeDeleteCommand(r){let t=this.#m(r.op,r.expiresAt);return await unwrap(this.#e.del(r.path,{json:{...t,op:ur(r.op)}}).andThen(y(r.responseSchema)))}#m(r,t){let o=Sy(),n=Date.now(),s;try{s=Ds({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n});}catch(f){throw m.fromError(f,"Could not sign the Perps session command")}let a={salt:o,sig:s,ts:n};return t!==void 0&&(a.exp=t),a}async#y(r,t,o,n){let s=Ey(t);this.#i.set(r.id,s);let a=setNonBlockingTimeout(()=>{s.reject(new c(n));},o);try{if(!this.#a.send(r))throw new c("Perps session transport is not open.");return await s.promise}finally{clearTimeout(a),this.#i.delete(r.id);}}async#x(){this.#c.stop(),this.#g(new c("Perps session closed.")),this.#E(new c("Perps session closed.")),this.#s.end(),await this.#a.close(),this.#o(this);}#C(r){if(this.#k(r)||PerpsNotificationsResyncFrameSchema.safeParse(r).success)return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#I(o),this.#R(o);}#k(r){let t=Ry.safeParse(r);if(!t.success||t.data.id===void 0)return false;let o=this.#i.get(t.data.id);if(o===void 0)return true;let n=o.schema.safeParse(t.data.data);if(!n.success){let s=eo(t.data.data??t.data);return s!==void 0?o.reject(new f(s.error,{status:200})):o.reject(new c("Perps session unexpected response.")),true}return hy(n.data)?o.reject(new f(n.data.error,{status:200})):o.resolve(n.data),true}#b(){this.#g(new c("Perps session connection closed.")),this.#E(new c("Perps session connection closed.")),this.#u===void 0&&this.#c.schedule({reconnect:()=>this.#P(true),shouldReconnect:()=>this.#u===void 0});}#g(r){for(let t of this.#i.values())t.reject(r);this.#i.clear();}#I(r){if(gy.has(r.channel))return;let t=this.#d.get(r.channel);this.#d.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#R({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#R(r){this.#A(r),this.#s.push(r);}#v(r){let t,o,s={promise:new Promise((a,f)=>{t=a,o=f;}),predicate:r,reject:o,resolve:t};return this.#p.add(s),s}#q(r,t){this.#p.has(r)&&(r.timeout=setNonBlockingTimeout(()=>{this.#f(r),r.reject(new h("Perps event wait timed out."));},t));}#A(r){for(let t of Array.from(this.#p))t.predicate(r)&&(this.#f(t),t.resolve(r));}#f(r){this.#p.delete(r)&&r.timeout!==void 0&&clearTimeout(r.timeout);}#E(r){for(let t of Array.from(this.#p))this.#f(t),t.reject(r);}};function Ey(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function hy(e){return Array.isArray(e)?false:eo(e)!==void 0}function eo(e){if(Array.isArray(e)){for(let t of e){let o=eo(t);if(o!==void 0)return o}return}if(typeof e!="object"||e===null)return;let r=e;if(r.status==="err")return {error:typeof r.error=="string"?r.error:"Perps command failed."}}function Sy(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Fe=n(g$1,f,c,b,a),Pe=z.number().int().nonnegative(),Ha=1440*60*1e3,jy=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),PI=Fe;async function gI(e,r){let t=l(r,jy);return unwrap(e.perps.get("/v1/info/instruments",{params:g(t,E())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var Hy=z.object({instrumentId:PerpsInstrumentIdSchema}),RI=Fe;async function EI(e,r){let t=l(r,Hy),[o]=await Ny(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var _y=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),hI=Fe;async function Ny(e,r){let t=l(r,_y),o=g(t,E()),[n,s]=await Promise.all([unwrap(e.perps.get("/v1/info/tickers",{params:o}).andThen(y(FetchPerpsTickersResponseSchema))),unwrap(e.perps.get("/v1/info/statistics",{params:o}).andThen(y(FetchPerpsStatisticsResponseSchema)))]),a=new Map(s.map(f=>[f.instrumentId,f]));return n.map(f=>{let P=a.get(f.instrumentId);return {...f,openPrice:P?.openPrice,volume24h:P?.volume}})}var Gy=z.union([z.literal(10),z.literal(100),z.literal(500),z.literal(1e3)]),Ky=z.object({instrumentId:PerpsInstrumentIdSchema,depth:Gy.default(100)}),SI=Fe;async function TI(e,r){let t=l(r,Ky);return unwrap(e.perps.get("/v1/info/book",{params:g(t,E())}).andThen(y(PerpsBookSchema)))}var $y=z.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:Pe.optional(),end:Pe.optional(),cursor:PaginationCursorSchema.optional()}),Vy=z.object({cursor:PaginationCursorSchema}),Zy=z.union([$y.transform(({cursor:e,...r})=>({cursor:e,params:sP(r)})),Vy.transform(({cursor:e})=>({cursor:e,params:void 0}))]),xI=Fe;function CI(e,r){let{cursor:t,params:o}=l(r,Zy);return x(n=>{let s=n===void 0?aP(o):cP(n);return e.perps.get("/v1/info/klines",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,interval:s.interval,startTimestamp:s.startTimestamp},E())}).andThen(y(FetchPerpsCandlesResponseSchema)).map(a=>{let f=a.data.at(-1),P=a.more&&f!==void 0;return {items:a.data,hasMore:P,nextCursor:P?no({...s,startTimestamp:f.timestamp+lP(s.interval)}):void 0}})},t)}var _a=z.object({instrumentId:PerpsInstrumentIdSchema,start:Pe.optional(),end:Pe.optional()}),Yy=_a.extend({cursor:PaginationCursorSchema.optional()}),Jy=z.object({cursor:PaginationCursorSchema}),Qy=z.union([Yy.transform(({cursor:e,...r})=>({cursor:e,params:Na(r)})),Jy.transform(({cursor:e})=>({cursor:e,params:void 0}))]),Xy=_a.extend({cursor:PaginationCursorSchema.optional()}),eP=z.object({cursor:PaginationCursorSchema}),kI=Fe;function bI(e,r){let{cursor:t,params:o}=l(r,Qy);return x(n=>{let s=n===void 0?iP(o):dP(n);return e.perps.get("/v1/info/funding",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},E())}).andThen(y(FetchPerpsFundingHistoryResponseSchema)).map(a=>{let f=a.data.at(-1),P=a.more&&f!==void 0&&f.timestamp>s.startTimestamp;return {items:a.data,hasMore:P,nextCursor:P?no({...s,endTimestamp:f.timestamp-1}):void 0}})},t)}var rP=z.union([Xy.transform(({cursor:e,...r})=>({cursor:e,params:Na(r)})),eP.transform(({cursor:e})=>({cursor:e,params:void 0}))]),II=Fe;function vI(e,r){let{cursor:t,params:o}=l(r,rP);return x(n=>{let s=n===void 0?pP(o):uP(n),a=new Set(s.seenTradeIds);return e.perps.get("/v1/info/trades",{params:g({endTimestamp:s.endTimestamp,instrumentId:s.instrumentId,startTimestamp:s.startTimestamp},E())}).andThen(y(FetchPerpsTradesResponseSchema)).map(f=>{let P=f.data.filter(wi=>!a.has(wi.tradeId)),A=f.data.at(-1),v=P.at(-1),j=v?.timestamp??A?.timestamp,U=f.more&&j!==void 0&&j>s.startTimestamp;return {items:P,hasMore:U,nextCursor:U?no({...s,endTimestamp:v===void 0?j-1:j,seenTradeIds:v===void 0?[]:mP(s,P,v)}):void 0}})},t)}var qI=n(g$1,f,c,b);async function AI(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var tP=z.object({kind:z.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:Pe,endTimestamp:Pe}),oP=z.object({kind:z.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe}),nP=z.object({kind:z.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe,seenTradeIds:z.array(PerpsTradeIdSchema)});function sP(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Ha}}function Na(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Ha}}function aP(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function iP(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function pP(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function cP(e){return oo(e,tP)}function dP(e){return oo(e,oP)}function uP(e){return oo(e,nP)}function oo(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function no(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function lP(e){switch(e){case "1s":return 1e3;case "1m":return 60*1e3;case "5m":return 300*1e3;case "15m":return 900*1e3;case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return 1440*60*1e3;case "1w":return 10080*60*1e3}invariant(false,`Unsupported Perps kline interval: ${String(e)}`);}function mP(e,r,t){let o=new Set(e.endTimestamp===t.timestamp?e.seenTradeIds:[]);for(let n of r)n.timestamp===t.timestamp&&o.add(n.tradeId);return Array.from(o)}var fP=z.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),yP=z.object({proxy:z.string().transform(e=>expectEvmAddress(e)),privateKey:fP,secret:z.string().min(1),expiresAt:z.number().int().positive()}),PP=10080*60*1e3,gP=z.strictObject({expiresIn:z.number().int().positive().default(PP),label:z.string().min(1).optional()}),RP=z.strictObject({credentials:yP}),EP=z.union([gP,RP]),hP=z.object({proxy:z.string()}),SP=hP.transform(e=>({proxy:expectEvmAddress(e.proxy)})),Ga=z.bigint().positive().max(ee),TP=z.object({amount:Ga,metadata:$.optional()}),xP=z.object({amount:Ga}),OI=n(g$1,f,m,c,b,a),wI=n(g$1,f,m,c,b,a),LI=n(a),MI=n(j,g$1,f,m,c,b,a),FI=n(g$1,f,m,c,b,a);async function BI(e,r={}){let t=l(r,EP),o="credentials"in t?await bP(e,t.credentials):await kP(e,t);return e.webSockets.perpsSession.connect(o)}async function UI(e,r){let t=l(r,SP),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=so(),a=Date.now(),f$1=await vP(e,{salt:s,signedOp:n,timestamp:a}),P=await unwrap(e.perps.del("/v1/account/proxy",{json:{op:o,salt:s,sig:f$1,ts:a}}).andThen(y(PerpsDeleteProxyResponseSchema)));if(P.status==="err")throw new f(P.error??"Perps credentials revocation was rejected.",{status:200})}async function CP(e,r){let t=l(r,TP),{contracts:o}=e.environment,n=en(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?G(yield FP(K(e.environment.chainId,n))):yield*await Q(e,{calls:[n],metadata:t.metadata??`Deposit ${t.amount} of ${o.collateralToken} to Perps`})}.call(null)}function DI(e,r){return CP(e,r).then(H(e.signer))}async function zI(e,r){let t=l(r,xP),o=Math.floor(Date.now()/1e3),n=so(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await qP(e,{amount:t.amount,salt:n,timestamp:o}),f$1=await unwrap(e.perps.post("/v1/account/withdraw",{json:{op:s,salt:n,sig:a,ts:o}}).andThen(y(PerpsWithdrawResponseSchema)));if(f$1.status==="err")throw new f(f$1.error??"Perps withdrawal was rejected.",{status:200});if(f$1.withdrawalId===void 0)throw new b("Perps withdrawal response did not include a withdrawal ID.");return f$1.withdrawalId}async function kP(e,r){let t=wP(),o=$a(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),f=so(),P={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},A=await IP(e,{expiresAt:s,proxy:o,salt:f,timestamp:a}),v={op:P,salt:f,sig:A,ts:a};r.label!==void 0&&(v.label=r.label);let j=await unwrap(e.perps.post("/v1/account/proxy",{json:v}).andThen(y(PerpsCreateProxyResponseSchema))),U={expiresAt:s,privateKey:t,proxy:o,secret:j.secret};return Ka(e,U)}async function bP(e,r){return LP(r),Ka(e,r)}async function Ka(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:MP(r)}).andThen(y(PerpsCredentialsResponseSchema)));if(!isSameEvmAddress(t.address,e.account.signer))throw new b("Perps credentials belong to a different signer account.");let o=t.keys.find(n=>isSameEvmAddress(n.proxy,r.proxy));if(o===void 0)throw new b("Perps credentials were not returned by the API.");if(o.expiresAt<=Date.now())throw new b("Perps credentials are expired.");return {...r,expiresAt:o.expiresAt}}async function IP(e,r){try{return await e.signer.signTypedData(OP({chainId:e.environment.chainId,...r}))}catch(t){throw m.fromError(t,"Could not sign the Perps proxy credentials request")}}async function vP(e,r){try{return await e.signer.signTypedData(Ht({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw m.fromError(t,"Could not sign the Perps operation request")}}async function qP(e,r){try{return await e.signer.signTypedData(AP({account:e.account.signer,chainId:e.environment.chainId,contract:e.environment.contracts.perpsDepositContract,token:e.environment.contracts.collateralToken,to:e.account.wallet,...r}))}catch(t){throw m.fromError(t,"Could not sign the Perps withdrawal request")}}function AP(e){return {domain:{chainId:e.chainId,name:"Polymarket",verifyingContract:e.contract,version:"1"},message:{account:e.account,amount:e.amount,fee:0n,salt:e.salt,token:e.token,to:e.to,ts:e.timestamp},primaryType:"Withdraw",types:{Withdraw:[{name:"account",type:"address"},{name:"token",type:"address"},{name:"amount",type:"uint256"},{name:"fee",type:"uint256"},{name:"to",type:"address"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function OP(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{addr:e.proxy,exp:e.expiresAt,salt:e.salt,ts:e.timestamp},primaryType:"CreateProxy",types:{CreateProxy:[{name:"addr",type:"address"},{name:"exp",type:"uint64"},{name:"salt",type:"uint64"},{name:"ts",type:"uint64"}]}}}function wP(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function $a(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function LP(e){let r=$a(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function MP(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function FP(e){return {kind:"sendPerpsDepositTransaction",request:e}}function so(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Za=(s=>(s.CurrentValueDesc="current_value_desc",s.FirstEntryDesc="first_entry_desc",s.EntryCostDesc="entry_cost_desc",s.ResolvedAtDesc="resolved_at_desc",s.UpdatedAsc="updated_asc",s))(Za||{}),HP=z.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),Ya=z.enum(["ASC","DESC"]),_P=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),market:z.array(z.string()).optional(),eventId:z.array(z.number().int()).optional(),sizeThreshold:z.number().optional(),redeemable:z.boolean().optional(),mergeable:z.boolean().optional(),pageSize:w.max(500).default(20),sortBy:HP.optional(),sortDirection:Ya.optional(),title:z.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),JI=n(g$1,f,c,b,a);function QI(e,r){let{cursor:t,pageSize:o,...n}=l(r,_P);return x(s=>{let a=D(s,o);return e.data.get("/positions",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListPositionsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var NP=z.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),GP=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),market:z.array(z.string()).optional(),title:z.string().max(100).optional(),eventId:z.array(z.number().int()).optional(),pageSize:w.max(50).default(20),sortBy:NP.optional(),sortDirection:Ya.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),XI=n(g$1,f,c,b,a);function ev(e,r){let{cursor:t,pageSize:o,...n}=l(r,GP);return x(s=>{let a=D(s,o);return e.data.get("/closed-positions",{params:N({...n,limit:a.pageSize,offset:a.offset})}).andThen(y(ListClosedPositionsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var KP=z.enum(Za),$P=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),VP=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),pageSize:w.default(20),status:ComboPositionStatusSchema.optional(),sort:KP.optional(),conditionId:$P.optional(),updatedAfter:z.number().int().min(0).optional(),updatedBefore:z.number().int().min(0).optional()}),rv=n(g$1,f,c,b,a);function tv(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=l(r,VP);return x(a=>{let f=g({...s,limit:o,cursor:a},E({updatedAfter:"updatedAfter",updatedBefore:"updatedBefore"}));return ZP(f,n),e.data.get("/v1/positions/combos",{params:f}).andThen(y(ListComboPositionsResponseSchema)).map(P=>{let A=P.pagination.nextCursor??void 0;return {items:P.combos,hasMore:A!==void 0,nextCursor:A}})},t)}function ZP(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var YP=z.object({user:z.string(),market:z.array(z.string()).optional()}),ov=n(g$1,f,c,b,a);async function nv(e,r){let t=l(r,YP);return unwrap(e.data.get("/value",{params:N(t)}).andThen(y(FetchPortfolioValueResponseSchema)))}var JP=z.object({user:z.string()}),sv=n(g$1,f,c,b,a);async function av(e,r){let t=l(r,JP);return unwrap(e.data.get("/traded",{params:N(t)}).andThen(y(TradedSchema)))}var QP=z.object({user:z.string()}),iv=n(g$1,f,c,b,a);async function pv(e,r){let t=l(r,QP);return unwrap(e.data.get("/v1/accounting/snapshot",{params:N(t)}).andThen(So))}var ri=32,ti=3n,Xa=50,eg=(1n<<256n)-1n;function po(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[ti,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function oi(e){if(e.length===0||e.length>Xa)throw new a(`Combo legs must include 1 to ${Xa} position IDs`);let r=e.map(t=>{let o=si(t),n=o.toString(16).padStart(ri*2,"0"),s=Number.parseInt(n.slice(0,2),16),a$1=Number.parseInt(n.slice(-2),16);if(s!==1&&s!==2||a$1>1)throw new a("Combo legs must be binary or neg-risk YES/NO position IDs");return {value:o,conditionId:n.slice(0,-2)}});r.sort((t,o)=>t.value<o.value?-1:t.value>o.value?1:0);for(let t=1;t<r.length;t+=1){let o=r[t-1],n=r[t];if(o===void 0||n===void 0)throw new a("Invalid combo leg set");if(o.value===n.value)throw new a("Combo legs must not contain duplicate position IDs");if(o.conditionId===n.conditionId)throw new a("Combo legs must not contain both outcomes for the same condition")}return r.map(t=>t.value)}function ni(e){let t=si(e).toString(16).padStart(ri*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==ti)throw new a("Combo position ID must use the combinatorial module");if(n!==0&&n!==1)throw new a("Combo position ID must be a YES/NO position ID");return {conditionId:toComboConditionId(`0x${t.slice(0,-2)}`),outcomeIndex:n}}function si(e){let r=e.trim(),t;if(r.length===0)throw new a("Position ID must be a uint256 value");try{t=BigInt(r);}catch{throw new a("Position ID must be a uint256 value")}if(t<0n||t>eg)throw new a("Position ID must be a uint256 value");return t}var ii=z.object({amount:z.bigint().min(0n),conditionId:CtfConditionIdSchema,metadata:$.optional()}),tg=z.object({amount:z.bigint().positive(),legs:z.array(PositionIdSchema).min(1).max(50),metadata:$.optional()}),pi=z.array(PositionIdSchema).min(1).max(50).transform(oi),og=z.object({amount:z.bigint().positive(),legs:pi,metadata:$.optional()}),ng=z.union([ii.extend({legs:z.never().optional()}),tg.extend({conditionId:z.never().optional()})]),ci=n(g$1,f,c,b,a),qv=ci,Av=ci,di=n(g$1,f,c,b,a),Ov=di,wv=di,ui=n(g$1,f,c,b,a),Lv=ui,Mv=ui;async function li(e,r){let t=l(r,ii),o=await mo(e,{conditionId:t.conditionId}),n=rn(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?G(yield co(K(e.environment.chainId,n))):yield*await Q(e,{calls:[n],metadata:t.metadata??`Split ${t.amount} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function mi(e,r){let t=l(r,og),o=st(e.environment.contracts.combinatorialModule,t.legs),n=po(t.legs),s=nn(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await G(yield co(K(e.environment.chainId,o))).wait(),G(yield co(K(e.environment.chainId,s)))):yield*await Q(e,{calls:[o,s],metadata:t.metadata??`Split ${t.amount} combo positions for condition ${n.conditionId}`})}.call(null)}async function sg(e,r){let t=l(r,ng);return t.legs!==void 0?mi(e,t):li(e,t)}var fi=n(j,g$1,f,m,h,i,c,b,a),Fv=fi,Bv=fi;function Uv(e,r){return li(e,r).then(H(e.signer))}function Dv(e,r){return mi(e,r).then(H(e.signer))}function zv(e,r){return sg(e,r).then(H(e.signer))}var yi=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),conditionId:CtfConditionIdSchema,metadata:$.optional()}),ag=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:z.array(PositionIdSchema).min(1).max(50),metadata:$.optional()}),ig=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:pi,metadata:$.optional()}),pg=z.union([yi.extend({legs:z.never().optional()}),ag.extend({conditionId:z.never().optional()})]);async function Pi(e,r){let t=l(r,yi),o=await mo(e,{conditionId:t.conditionId}),n=ot(await e.rpc.ethCall(tt(o.positionErc1155Address,e.account.wallet,o.tokenIds))),s=xi(o.conditionId,n,t.amount),a=tn(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?G(yield uo(K(e.environment.chainId,a))):yield*await Q(e,{calls:[a],metadata:t.metadata??`Merge ${s} positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function gi(e,r){let t=l(r,ig),o=st(e.environment.contracts.combinatorialModule,t.legs),n=po(t.legs),s=ot(await e.rpc.ethCall(tt(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),a=xi(n.conditionId,s,t.amount),f=sn(e.environment.contracts.protocolV2Router,n.conditionId,a);return async function*(){return e.account.walletType===WalletType.EOA?(await G(yield uo(K(e.environment.chainId,o))).wait(),G(yield uo(K(e.environment.chainId,f)))):yield*await Q(e,{calls:[o,f],metadata:t.metadata??`Merge ${a} combo positions for condition ${n.conditionId}`})}.call(null)}async function cg(e,r){let t=l(r,pg);return t.legs!==void 0?gi(e,t):Pi(e,t)}var Ri=n(j,g$1,f,m,h,i,c,b,a),Wv=Ri,jv=Ri;function Hv(e,r){return Pi(e,r).then(H(e.signer))}function _v(e,r){return gi(e,r).then(H(e.signer))}function Nv(e,r){return cg(e,r).then(H(e.signer))}var Ei=z.object({conditionId:CtfConditionIdSchema,marketId:z.never().optional(),amount:z.never().optional(),positionId:z.never().optional(),metadata:$.optional()}),hi=z.object({conditionId:z.never().optional(),marketId:MarketIdSchema,amount:z.never().optional(),positionId:z.never().optional(),metadata:$.optional()}),dg=z.union([Ei,hi]),Si=z.object({positionId:PositionIdSchema,conditionId:z.never().optional(),marketId:z.never().optional(),metadata:$.optional()}),ug=z.union([Ei,hi,Si]);async function lg(e,r){let t=l(r,dg),o=await mo(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),n=on(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Ti(K(e.environment.chainId,n))):yield*await Q(e,{calls:[n],metadata:t.metadata??`Redeem positions for market ${o.marketId} (condition ${o.conditionId})`})}.call(null)}async function mg(e,r){let t=l(r,Si),o=ni(t.positionId),n=Xo(await e.rpc.ethCall(Qo(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Combo position has no balance to redeem");let s=an(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Ti(K(e.environment.chainId,s))):yield*await Q(e,{calls:[s],metadata:t.metadata??`Redeem combo position ${t.positionId}`})}.call(null)}async function fg(e,r){let t=l(r,ug);return t.positionId!==void 0?mg(e,t):lg(e,t)}var Gv=n(j,g$1,f,m,c,b,a);function Kv(e,r){return fg(e,r).then(H(e.signer))}function co(e){return {kind:"sendSplitPositionTransaction",request:e}}function uo(e){return {kind:"sendMergePositionsTransaction",request:e}}function Ti(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function mo(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await Gn(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[yg(r.marketId)],closed:r.closed,pageSize:1}).firstPage(),[n]=o.items;if(n===void 0)throw new a(`No market found for ${t}`);let s=Pg(n,t);return {...s,adapterAddress:s.negRisk?e.environment.contracts.negRiskCollateralAdapter:e.environment.contracts.collateralAdapter,positionErc1155Address:s.negRisk?e.environment.contracts.negRiskAdapter:e.environment.contracts.conditionalTokens}}function yg(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function Pg(e,r){if(!isPresent(e.conditionId))throw new b(`Missing condition ID for ${r}`);if(!isPresent(e.state.negRisk))throw new b(`Missing negative-risk flag for ${r}`);let t=e.outcomes.yes.tokenId,o=e.outcomes.no.tokenId;if(!isPresent(t)||!isPresent(o))throw new b(`Missing market token IDs for ${r}`);return {marketId:e.id,conditionId:e.conditionId,negRisk:e.state.negRisk,tokenIds:[t,o]}}function xi(e,r,t){let o=gg(r);if(o===0n)throw new a(`You have no complementary positions to merge for condition ${e}`);if(t==="max")return o;if(t>o)throw new a(`Requested merge amount ${t} exceeds the maximum mergeable amount ${o} for condition ${e}`);return t}function gg(e){if(e.length!==2)throw new b("Expected two position balances");let[r,t]=e;return invariant(r!==void 0,"Expected YES position balance"),invariant(t!==void 0,"Expected NO position balance"),r<t?r:t}var Tg=z.object({address:z.string()}),rq=n(g$1,f,c,b,a);async function tq(e,r){let t=l(r,Tg);return unwrap(e.gamma.get("/public-profile",{params:g(t,E())}).andThen(y(PublicProfileSchema)).orElse(o=>o instanceof f&&o.status===404?ok(null):err(o)))}var fo=class extends PolymarketError{name="RfqQuoteRejectedError";code;errorId;rfqId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId;}},aq=n(e,fo,m,h,c,a),yo=class extends PolymarketError{name="RfqCancelQuoteRejectedError";code;errorId;rfqId;quoteId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId,this.quoteId=t.quoteId;}},iq=n(e,yo,h,c),Po=class extends PolymarketError{name="RfqConfirmationRejectedError";code;errorId;rfqId;quoteId;constructor(r,t){super(r,t),this.code=t.code,this.errorId=t.errorId,this.rfqId=t.rfqId,this.quoteId=t.quoteId;}},pq=n(e,Po,h,c),cq=n(e,c);async function dq(e){return e.webSockets.rfqQuoter.connect()}var ki=(f=>(f.Volume="volume",f.Volume24Hr="volume_24hr",f.Liquidity="liquidity",f.Competitive="competitive",f.ClosedTime="closed_time",f.StartDate="start_date",f.EndDate="end_date",f))(ki||{}),kg=z.object({q:z.string().trim().min(1),ascending:z.boolean().optional(),cache:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),eventsStatus:z.string().min(1).optional(),eventsTag:z.array(z.string()).optional(),excludeTagIds:z.array(z.number().int()).optional(),keepClosedMarkets:z.number().int().optional(),optimized:z.boolean().optional(),pageSize:w.default(10),presets:z.array(z.string()).optional(),recurrence:z.enum(["daily","weekly","monthly"]).optional(),searchProfiles:z.boolean().optional(),searchTags:z.boolean().optional(),sort:z.enum(ki).optional()}),Iq=n(g$1,f,c,b,a);function vq(e,r){let{cursor:t,pageSize:o,...n}=l(r,kg);return x(s=>{let a=D(s,o);return e.gamma.get("/public-search",{params:g({...n,limitPerType:a.pageSize,page:a.offset},E({excludeTagIds:"exclude_tag_id"}))}).andThen(y(PublicSearchResponseSchema)).map(f=>({items:bg(f),hasMore:f.pagination?.hasMore??false,totalCount:f.pagination?.totalResults??void 0,nextCursor:f.pagination?.hasMore?B({offset:a.offset+1,pageSize:a.pageSize}):void 0}))},t??B({offset:1,pageSize:o}),{events:[],profiles:[],tags:[]})}function bg(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var Og=z.object({ascending:z.boolean().optional(),closed:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),excludeEvents:z.boolean().optional(),locale:z.string().optional(),order:z.string().optional(),pageSize:w.max(50).default(20),recurrence:z.enum(["daily","weekly","monthly"]).optional(),slug:z.array(z.string()).optional()}),wg=z.object({id:z.string(),locale:z.string().optional()}),zq=n(g$1,f,c,b,a);function Wq(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Og);return x(s=>{let a=D(s,o);return e.gamma.get("/series",{params:g({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(y(ListSeriesResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var jq=n(g$1,f,c,b,a);async function Hq(e,r){let t=l(r,wg);return unwrap(e.gamma.get(`series/${t.id}`,{params:g({locale:t.locale},E())}).andThen(y(SeriesSchema)))}var Vq=n(g$1,f,c,b);async function Zq(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var Yq=n(g$1,f,c,b);async function Jq(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}var nA=n(c,a),Ug=z.object({topic:z.literal("prices.crypto.chainlink.twap"),windowSeconds:z.union([z.literal(30),z.literal(60)]),symbols:z.array(z.string()).optional()});async function sA(e,r){for(let o of r)o.topic==="prices.crypto.chainlink.twap"&&l(o,Ug);let t=await Promise.all(r.map(o=>Dg(e,o)));return zg(t)}function Dg(e,r){switch(r.topic){case "market":return e.webSockets.clobMarket.subscribe(r);case "sports":return e.webSockets.sports.subscribe(r);case "comments":case "prices.crypto.binance":case "prices.crypto.chainlink":case "prices.crypto.chainlink.twap":case "prices.equity.pyth":return e.webSockets.rtds.subscribe(r);case "perps.trades":case "perps.bbo":case "perps.book":case "perps.candles":case "perps.tickers":case "perps.statistics":return e.webSockets.perpsSubscriptions.subscribe(r);case "user":return invariant(e.isSecureClient(),"A 'user' subscription requires a secure client instance."),e.webSockets.clobUser.subscribe(r)}}function zg(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=Bg(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var Hg=z.object({ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),includeTemplate:z.boolean().optional(),isCarousel:z.boolean().optional(),locale:z.string().optional(),order:z.string().optional(),pageSize:w.max(100).default(20)}),_g=z.union([z.object({id:z.string(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),locale:z.string().optional()})]),Ng=z.object({id:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Gg=z.object({slug:z.string()}),Kg=z.object({id:z.string(),locale:z.string().optional(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),$g=z.object({locale:z.string().optional(),slug:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),PA=n(g$1,f,c,b,a);function gA(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Hg);return x(s=>{let a=D(s,o);return e.gamma.get("/tags",{params:g({...n,limit:a.pageSize,offset:a.offset},E())}).andThen(y(ListTagsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var RA=n(g$1,f,c,b,a);async function EA(e,r){let t=l(r,_g);return "id"in t?unwrap(e.gamma.get(`tags/${t.id}`,{params:g({includeTemplate:t.includeTemplate,locale:t.locale},E())}).andThen(y(TagSchema))):unwrap(e.gamma.get(`tags/slug/${t.slug}`,{params:g({locale:t.locale},E())}).andThen(y(TagSchema)))}var hA=n(g$1,f,c,b,a);async function SA(e,r){if("id"in r){let o=l(r,Ng);return unwrap(e.gamma.get(`tags/${o.id}/related-tags`,{params:g({omitEmpty:o.omitEmpty,status:o.status},E())}).andThen(y(ListRelatedTagsResponseSchema)))}let t=l(r,Gg);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var TA=n(g$1,f,c,b,a);async function xA(e,r){if("id"in r){let o=l(r,Kg);return unwrap(e.gamma.get(`tags/${o.id}/related-tags/tags`,{params:g({locale:o.locale,omitEmpty:o.omitEmpty,status:o.status},E())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}let t=l(r,$g);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags/tags`,{params:g({locale:t.locale,omitEmpty:t.omitEmpty,status:t.status},E())}).andThen(y(ListRelatedTagResourcesResponseSchema)))}var Yg=z.object({abbreviation:z.array(z.string()).optional(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),league:z.array(z.string()).optional(),name:z.array(z.string()).optional(),order:z.string().optional(),pageSize:w.max(100).default(20),providerId:z.array(z.number().int()).optional()}),LA=n(g$1,f,c,b,a);function MA(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Yg);return x(s=>{let a=D(s,o);return e.gamma.get("/teams",{params:g({...n,limit:a.pageSize,offset:a.offset},E({providerId:"provider_id"}))}).andThen(y(ListTeamsResponseSchema)).map(f=>{let P=f.length>=a.pageSize;return {items:f,hasMore:P,nextCursor:P?B({offset:a.offset+a.pageSize,pageSize:a.pageSize}):void 0}})},t)}var Qg=z.object({amount:z.bigint(),metadata:$.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),GA=n(a);async function Xg(e,r){let t=l(r,Qg);return async function*(){return e.account.walletType===WalletType.EOA?G(yield eR(K(e.environment.chainId,nt(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await Q(e,{calls:[nt(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var KA=n(j,g$1,f,m,c,b,a);function $A(e,r){return Xg(e,r).then(H(e.signer))}function eR(e){return {kind:"sendErc20TransferTransaction",request:e}}
|
|
2
|
-
export{Do as $,Lh as $a,oT as $b,Tt as $c,II as $d,_v as $e,wE as A,sh as Aa,An as Ab,Ex as Ac,ob as Ad,Wq as Af,an as B,$ as Ba,xS as Bb,hx as Bc,cm as Bd,jq as Bf,LE as C,ah as Ca,On as Cb,Mx as Cc,nb as Cd,ci as Ce,Hq as Cf,st as D,ih as Da,CS as Db,Gn as Dc,sb as Dd,qv as De,Vq as Df,pn as E,Fc as Ea,wn as Eb,Fx as Ec,Br as Ed,Av as Ee,Zq as Ef,cn as F,ph as Fa,kS as Fb,Bx as Fc,Ws as Fd,di as Fe,Yq as Ff,l as G,Q as Ga,bS as Gb,Ux as Gc,js as Gd,Ov as Ge,Jq as Gf,xo as H,dt as Ha,IS as Hb,Dx as Hc,Hs as Hd,wv as He,nA as Hf,ER as I,ut as Ia,vS as Ib,zx as Ic,Ur as Id,ui as Ie,sA as If,Oo as J,lt as Ja,qS as Jb,Wx as Jc,Dr as Jd,Lv as Je,PA as Jf,wo as K,mt as Ka,kr as Kb,jx as Kc,zr as Kd,Mv as Ke,gA as Kf,Lo as L,ft as La,AS as Lb,Hx as Lc,ba as Ld,li as Le,RA as Lf,wR as M,yt as Ma,OS as Mb,_x as Mc,qa as Md,mi as Me,EA as Mf,LR as N,ch as Na,wS as Nb,Nx as Nc,Oa as Nd,sg as Ne,hA as Nf,MR as O,rr as Oa,LS as Ob,Gx as Oc,za as Od,fi as Oe,SA as Of,FR as P,hh as Pa,MS as Pb,Kx as Pc,PI as Pd,Fv as Pe,TA as Pf,BR as Q,$c as Qa,FS as Qb,eC as Qc,gI as Qd,Bv as Qe,xA as Qf,UR as R,Sh as Ra,BS as Rb,rC as Rc,RI as Rd,Uv as Re,LA as Rf,DR as S,Rn as Sa,US as Sb,tC as Sc,EI as Sd,Dv as Se,MA as Sf,Uo as T,Th as Ta,DS as Tb,oC as Tc,hI as Td,zv as Te,GA as Tf,zR as U,Zc as Ua,zS as Ub,nC as Uc,Ny as Ud,Pi as Ue,Xg as Uf,WR as V,xh as Va,WS as Vb,sC as Vc,SI as Vd,gi as Ve,KA as Vf,jR as W,En as Wa,jS as Wb,aC as Wc,TI as Wd,cg as We,$A as Wf,HR as X,Ch as Xa,HS as Xb,iC as Xc,xI as Xd,Ri as Xe,_R as Y,Yc as Ya,_S as Yb,yC as Yc,CI as Yd,Wv as Ye,Xr as Z,kh as Za,NS as Zb,PC as Zc,kI as Zd,jv as Ze,NR as _,bh as _a,GS as _b,ml as _c,bI as _d,Hv as _e,ee as a,GR as aa,td as ab,nT as ac,kC as ad,vI as ae,Nv as af,CE as b,KR as ba,Mh as bb,sT as bc,bC as bd,qI as be,lg as bf,Rr as c,$R as ca,od as cb,ou as cc,wr as cd,AI as ce,mg as cf,Vo as d,VR as da,Fh as db,aT as dc,IC as dd,OI as de,fg as df,Zo as e,ZR as ea,Bh as eb,iT as ec,Cs as ed,wI as ee,Gv as ef,Er as f,YR as fa,Uh as fb,ks as fd,LI as fe,Kv as ff,Yo as g,JR as ga,Dh as gb,hT as gc,ak as gd,MI as ge,rq as gf,Jo as h,QR as ha,zh as hb,ST as hc,ik as hd,FI as he,tq as hf,Qo as i,XR as ia,Wh as ib,TT as ic,pk as id,BI as ie,fo as if,Xo as j,eE as ja,jh as jb,xT as jc,ck as jd,UI as je,aq as jf,tt as k,rE as ka,Hh as kb,CT as kc,Yl as kd,CP as ke,yo as kf,ot as l,tE as la,_h as lb,kT as lc,Ut as ld,DI as le,iq as lf,kE as m,lE as ma,Nh as mb,WT as mc,Jl as md,zI as me,Po as mf,nt as n,mE as na,Gh as nb,jT as nc,Dt as nd,Za as ne,pq as nf,bE as o,fE as oa,Kh as ob,HT as oc,Ql as od,JI as oe,cq as of,en as p,yE as pa,tS as pb,_T as pc,zt as pd,QI as pe,dq as pf,IE as q,PE as qa,oS as qb,NT as qc,Ck as qd,XI as qe,vE as r,gE as ra,fS as rb,GT as rc,kk as rd,ev as re,rn as s,yS as sb,KT as sc,bk as sd,rv as se,qE as t,UE as ta,PS as tb,$T as tc,Ik as td,tv as te,tn as u,G as ua,gS as ub,nx as uc,Fk as ud,ov as ue,on as v,HE as va,RS as vb,sx as vc,Bk as vd,nv as ve,AE as w,dn as wa,ES as wb,ax as wc,eb as wd,sv as we,ki as wf,nn as x,oh as xa,hS as xb,ix as xc,pm as xd,av as xe,Iq as xf,OE as y,ct as ya,SS as yb,px as yc,rb as yd,iv as ye,vq as yf,sn as z,nh as za,TS as zb,cx as zc,tb as zd,pv as ze,zq as zf};//# sourceMappingURL=chunk-WDPLMZVQ.js.map
|
|
3
|
-
//# sourceMappingURL=chunk-WDPLMZVQ.js.map
|