@polymarket/client 0.4.0 → 0.6.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 -5
- package/dist/actions/index.js +1 -1
- package/dist/chunk-DB2YMGIT.js +3 -0
- package/dist/chunk-DB2YMGIT.js.map +1 -0
- package/dist/{chunk-4LDMO37Q.js → chunk-MCGT5BAF.js} +3 -3
- package/dist/chunk-MCGT5BAF.js.map +1 -0
- package/dist/chunk-O4EZ2N7U.js +2 -0
- package/dist/chunk-O4EZ2N7U.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 +9 -9
- 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-CT3xKd9T.d.ts → sports-BPp6UXlR.d.ts} +1 -1
- package/dist/{types-DcsPnLma.d.ts → types-RGx7fNNl.d.ts} +616 -65
- package/dist/viem.d.ts +1 -1
- package/dist/viem.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-4LDMO37Q.js.map +0 -1
- package/dist/chunk-HFDKKOAD.js +0 -3
- package/dist/chunk-HFDKKOAD.js.map +0 -1
- package/dist/chunk-KZISI26J.js +0 -2
- package/dist/chunk-KZISI26J.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-RGx7fNNl.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,m,j,i,h,c as c$1}from'./chunk-MCGT5BAF.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){try{let e=t.chain?.id??await t.getChainId();if(e!==n)throw new m(`Wallet client is connected to chain ${e}, expected ${n}`)}catch(e){throw e instanceof m?e:m.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 j.fromError(t);if(t instanceof TransactionExecutionError){let n=t.walk(e=>e instanceof UserRejectedRequestError);if(n)throw j.fromError(n)}throw m.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 i(`Transaction ${e} reverted`);return {transactionHash:e,transactionId:null}}catch(n){throw n instanceof WaitForTransactionReceiptTimeoutError?new h(`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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polymarket/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "The Polymarket TypeScript client",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"ky": "^1.14.3",
|
|
94
94
|
"ox": "^0.14.16",
|
|
95
95
|
"zod": "^4.3.6",
|
|
96
|
-
"@polymarket/bindings": "0.
|
|
96
|
+
"@polymarket/bindings": "0.6.0",
|
|
97
97
|
"@polymarket/types": "0.1.0"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
|
@@ -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","SigningError","_SigningError","msg","makeErrorGuard","classes","c"],"mappings":"gDAGA,IAAMA,CAAAA,CAAkB,oBAAA,CAejB,SAASC,CAAAA,CAAoBC,CAAAA,CAAyB,CAC3D,IAAMC,CAAAA,CAASC,CAAAA,CAAcF,CAAAA,CAAM,MAAM,CAAA,CAEzC,OAAIC,CAAAA,CAAO,MAAA,GAAW,CAAA,CACb,0DAAA,CAGF,CAAC,2BAAA,CAA6BE,CAAAA,CAAaF,CAAM,CAAC,CAAA,CAAE,IAAA,CAAK;AAAA,CAAI,CACtE,CAKO,SAASG,CAAAA,CACdJ,CAAAA,CACAK,CAAAA,CACQ,CACR,IAAMJ,CAAAA,CAASC,CAAAA,CAAcF,CAAAA,CAAM,MAAM,CAAA,CAEzC,OAAIC,CAAAA,CAAO,MAAA,GAAW,CAAA,CACb,CACL,wCAAA,CACA,CAAA,UAAA,EAAaI,CAAAA,CAAQ,QAAQ,CAAA,CAAA,CAC7B,6FAAA,CACA,0DACF,CAAA,CAAE,IAAA,CAAK;AAAA,CAAI,CAAA,CAGN,CACL,wCAAA,CACA,CAAA,UAAA,EAAaA,CAAAA,CAAQ,QAAQ,CAAA,CAAA,CAC7B,6FAAA,CACA,2BAAA,CACAF,CAAAA,CAAaF,CAAM,CACrB,EAAE,IAAA,CAAK;AAAA,CAAI,CACb,CAEA,SAASE,CAAAA,CAAaF,CAAAA,CAA2C,CAS/D,OARcA,CAAAA,CAAO,GAAA,CAAKK,CAAAA,EACpBA,CAAAA,CAAM,IAAA,GAAS,KACV,CAAA,EAAA,EAAKA,CAAAA,CAAM,OAAO,CAAA,CAAA,CAGpB,CAAA,EAAA,EAAKA,CAAAA,CAAM,IAAI,CAAA,EAAA,EAAKA,CAAAA,CAAM,OAAO,CAAA,CACzC,CAAA,CAEY,IAAA,CAAK;AAAA,CAAI,CACxB,CAEA,SAASJ,CAAAA,CAAcD,EAAqD,CAC1E,OAAOM,CAAAA,CAAqBN,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA,CAAG,EAAkB,CACjE,CAEA,SAASM,CAAAA,CACPN,CAAAA,CACAO,CAAAA,CAAqC,EAAC,CACpB,CAClB,IAAMC,CAAAA,CAAYR,CAAAA,CAAO,OAAA,CAASK,CAAAA,EAAU,CAC1C,IAAMI,CAAAA,CAAO,CAAC,GAAGF,EAAY,GAAGF,CAAAA,CAAM,IAAI,CAAA,CAE1C,OAAIA,CAAAA,CAAM,IAAA,GAAS,eAAA,CACVA,EAAM,MAAA,CAAO,OAAA,CAASK,CAAAA,EAC3BJ,CAAAA,CAAqBI,CAAAA,CAAQD,CAAI,CACnC,CAAA,CAGK,CACL,CACE,IAAA,CAAMJ,CAAAA,CAAM,IAAA,CACZ,OAAA,CAASA,CAAAA,CAAM,OAAA,CACf,IAAA,CAAMI,EAAK,MAAA,GAAW,CAAA,CAAI,IAAA,CAAOE,CAAAA,CAAWF,CAAI,CAClD,CACF,CACF,CAAC,EAED,OAAOG,CAAAA,CAAaJ,CAAS,CAC/B,CAEA,SAASI,CAAAA,CAAaZ,CAAAA,CAAqD,CACzE,IAAMa,CAAAA,CAAO,IAAI,GAAA,CACXC,CAAAA,CAA4B,EAAC,CAEnC,IAAA,IAAWT,KAASL,CAAAA,CAAQ,CAC1B,IAAMe,CAAAA,CAAM,CAAA,EAAGV,CAAAA,CAAM,IAAI,CAAA,CAAA,EAAIA,EAAM,IAAA,EAAQ,EAAE,CAAA,CAAA,EAAIA,CAAAA,CAAM,OAAO,CAAA,CAAA,CAE1DQ,CAAAA,CAAK,GAAA,CAAIE,CAAG,IAIhBF,CAAAA,CAAK,GAAA,CAAIE,CAAG,CAAA,CACZD,CAAAA,CAAQ,IAAA,CAAKT,CAAK,CAAA,EACpB,CAEA,OAAOS,CAAAA,CAAQ,IAAA,CAAKE,CAAa,CACnC,CAEA,SAASA,CAAAA,CAAcC,CAAAA,CAAsBC,EAA+B,CAC1E,OAAID,CAAAA,CAAK,IAAA,GAAS,IAAA,EAAQC,CAAAA,CAAM,IAAA,GAAS,IAAA,CAChC,GAGLD,CAAAA,CAAK,IAAA,GAAS,IAAA,EAAQC,CAAAA,CAAM,OAAS,IAAA,CAChC,CAAA,CAAA,CAGDD,CAAAA,CAAK,IAAA,EAAQ,IAAI,aAAA,CAAcC,CAAAA,CAAM,IAAA,EAAQ,EAAE,CACzD,CAEA,SAASP,CAAAA,CAAWF,EAAsC,CACxD,OAAOA,CAAAA,CAAK,MAAA,CAAe,CAACU,CAAAA,CAAQC,CAAAA,GAC9B,OAAOA,GAAY,QAAA,CACd,CAAA,EAAGD,CAAM,CAAA,CAAA,EAAIC,CAAAA,CAAQ,QAAA,EAAU,CAAA,CAAA,CAAA,CAGpC,OAAOA,CAAAA,EAAY,QAAA,CACdD,CAAAA,CAGLC,CAAAA,CAAQ,SAAS,GAAG,CAAA,CACf,CAAA,EAAGD,CAAM,KAAKC,CAAAA,CAAQ,UAAA,CAAW,GAAA,CAAK,KAAK,CAAC,CAAA,EAAA,CAAA,CAGhDvB,CAAAA,CAAgB,IAAA,CAAKuB,CAAO,CAAA,CAI7BD,CAAAA,CAAO,MAAA,GAAW,CAAA,CACbC,CAAAA,CAGF,CAAA,EAAGD,CAAM,CAAA,CAAA,EAAIC,CAAO,CAAA,CAAA,CAPlB,CAAA,EAAGD,CAAM,CAAA,EAAA,EAAKC,CAAO,CAAA,EAAA,CAAA,CAQ7B,EAAE,CACP,CC1IO,IAAMC,CAAAA,CAAN,MAAMC,CAAAA,SAAuBC,eAAgB,CACzC,IAAA,CAAO,gBAAA,CAEhB,WAAA,CAAYC,EAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,YAAA,CAAa1B,CAAAA,CAAiC,CACnD,OAAO,IAAIuB,CAAAA,CAAexB,CAAAA,CAAoBC,CAAK,CAAA,CAAG,CACpD,KAAA,CAAOA,CACT,CAAC,CACH,CACF,CAAA,CAMa2B,EAAN,MAAMC,CAAAA,SAAgCJ,eAAgB,CAClD,KAAO,yBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,aACL1B,CAAAA,CACAK,CAAAA,CACyB,CACzB,OAAO,IAAIuB,CAAAA,CAAwBxB,CAAAA,CAAuBJ,CAAAA,CAAOK,CAAO,EAAG,CACzE,KAAA,CAAOL,CACT,CAAC,CACH,CACF,CAAA,CAMa6B,CAAAA,CAAN,MAAMC,CAAAA,SAAuBN,eAAgB,CACzC,IAAA,CAAO,iBAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,GAAI,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAU1B,EAAgC,CAC/C,OAAO,IAAI8B,CAAAA,CACT9B,CAAAA,YAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,iBACzC,CACE,KAAA,CAAOA,CACT,CACF,CACF,CACF,CAAA,CAOY+B,CAAAA,CAAAA,CAAAA,CAAAA,GACVA,IAAA,aAAA,CAAgB,GAAA,CAAA,CAAhB,eAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,UAAY,IAAA,CAAA,CAAZ,WAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,MAAhB,eAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,eAAA,CAAkB,IAAA,CAAA,CAAlB,iBAAA,CAEAA,CAAAA,CAAAA,CAAAA,CAAA,gBAAA,CAAmB,IAAA,CAAA,CAAnB,mBAEAA,CAAAA,CAAAA,CAAAA,CAAA,eAAA,CAAkB,IAAA,CAAA,CAAlB,iBAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,mBAAA,CAAsB,IAAA,CAAA,CAAtB,qBAAA,CACAA,IAAA,eAAA,CAAkB,IAAA,CAAA,CAAlB,iBAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,IAAA,CAAA,CAAhB,eAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,cAAgB,IAAA,CAAA,CAAhB,eAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,cAAA,CAAiB,MAAjB,gBAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,IAAA,CAAA,CAAhB,gBAdUA,CAAAA,CAAAA,EAAAA,CAAAA,EAAA,EAAA,CAAA,CAkCCC,CAAAA,CAAN,cAAkCR,eAAgB,CAC9C,IAAA,CAAO,qBAAA,CAEP,KACA,MAAA,CAET,WAAA,CACEC,CAAAA,CACAC,CAAAA,CACA,CACA,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACtB,IAAA,CAAK,IAAA,CAAOA,CAAAA,CAAQ,IAAA,CACpB,IAAA,CAAK,MAAA,CAASA,CAAAA,CAAQ,OACxB,CACF,CAAA,CAeaO,CAAAA,CAAN,cAAmCT,eAAgB,CAC/C,IAAA,CAAO,sBAAA,CAEP,MAAA,CAKA,UAAA,CAET,YACEC,CAAAA,CACAC,CAAAA,CACA,CACA,KAAA,CAAMD,CAAAA,CAASC,CAAO,CAAA,CACtB,IAAA,CAAK,OAASA,CAAAA,CAAQ,MAAA,CACtB,IAAA,CAAK,UAAA,CAAaA,EAAQ,WAC5B,CACF,CAAA,CAcaQ,CAAAA,CAAN,cAA6BV,eAAgB,CACzC,IAAA,CAAO,gBAAA,CAMP,UAAA,CAET,WAAA,CACEC,CAAAA,CACAC,CAAAA,CAAgD,EAAC,CACjD,CACA,KAAA,CAAMD,CAAAA,CAASC,CAAO,CAAA,CACtB,IAAA,CAAK,UAAA,CAAaA,CAAAA,CAAQ,WAC5B,CACF,CAAA,CAKaS,CAAAA,CAAN,cAA2BX,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaU,CAAAA,CAAN,cAAqCZ,eAAgB,CACjD,IAAA,CAAO,wBAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaW,CAAAA,CAAN,MAAMC,CAAAA,SAA8Bd,eAAgB,CAChD,IAAA,CAAO,uBAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAU1B,CAAAA,CAAqC,CACpD,OAAO,IAAIsC,CAAAA,CAAsBtC,EAAM,OAAA,CAAS,CAC9C,KAAA,CAAOA,CACT,CAAC,CACH,CACF,CAAA,CAMauC,CAAAA,CAAN,cAAyCf,eAAgB,CACrD,IAAA,CAAO,4BAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,GAAI,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAMac,CAAAA,CAAN,MAAMC,CAAAA,SAAqBjB,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAU1B,EAAgByB,CAAAA,CAAgC,CAC/D,IAAMiB,CAAAA,CACJjB,CAAAA,GAAYzB,CAAAA,YAAiB,KAAA,CAAQA,CAAAA,CAAM,QAAU,gBAAA,CAAA,CACvD,OAAO,IAAIyC,CAAAA,CAAaC,EAAK,CAAE,KAAA,CAAO1C,CAAM,CAAC,CAC/C,CACF,EAEO,SAAS2C,CAAAA,CAAAA,GAIXC,CAAAA,CACmE,CACtE,OAAO,CACL,QAAQ5C,CAAAA,CAAyD,CAC/D,OAAO4C,CAAAA,CAAQ,KAAMC,CAAAA,EAAM7C,CAAAA,YAAiB6C,CAAC,CAC/C,CACF,CACF","file":"chunk-4LDMO37Q.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 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-HFDKKOAD.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import {m,g as g$1,f,l as l$1,c,b,a,h,i,j,k,e}from'./chunk-4LDMO37Q.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,expectPresent,expectPrivateKey,isPresent,ok,err}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 Ro 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{ComboActivityType as sa,ComboPositionOutcome as ue,ComboPositionStatus as ve}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 kf,RfqDirection as lf,RfqExecutionStatus as mf,RfqKnownErrorCode as nf,RfqRequestedSizeUnit as of,RfqSide as pf}from'@polymarket/bindings/combos';import {PerpsPnlIntervalSchema,PerpsWithdrawalStatusSchema,PerpsDepositStatusSchema,PerpsInstrumentIdSchema,PerpsClientOrderIdSchema,PerpsOrderIdSchema,PerpsSortDirectionSchema,PerpsDecimalInputSchema,PerpsTimeInForce,PerpsCommandAckSchema,PerpsInstrumentCategorySchema,PerpsKlineIntervalSchema,PerpsTradeIdSchema,PerpsPostOrderAckSchema,PerpsTpSlKind,PerpsTpSlScope,PerpsCancelOrderResultSchema,PerpsUpdateLeverageResultSchema,FetchPerpsBalancesResponseSchema,FetchPerpsPortfolioResponseSchema,FetchPerpsAccountStatsResponseSchema,FetchPerpsAccountConfigResponseSchema,FetchPerpsOpenOrdersResponseSchema,FetchPerpsOrdersResponseSchema,ListPerpsFillsResponseSchema,ListPerpsFundingPaymentsResponseSchema,ListPerpsDepositsResponseSchema,ListPerpsWithdrawalsResponseSchema,ListPerpsEquityHistoryResponseSchema,ListPerpsPnlHistoryResponseSchema,ListPerpsNotificationsResponseSchema,FetchPerpsUnreadNotificationsCountResponseSchema,MarkPerpsNotificationsReadResponseSchema,PerpsCancelAllOrdersResponseSchema,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 Tg 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(),yo=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(yo.parse(e))))}function D(e,r){if(e===void 0)return {offset:0,pageSize:r};try{return yo.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=>qi(t.url,e,o))}}function go(e){return ResultAsync.fromPromise(e.blob(),()=>new b(`Received unreadable binary response from ${e.url}`))}function qi(e,r,t){let o=r.safeParse(t);return o.success?ok(o.data):err(b.fromZodError(o.error,{endpoint:e}))}var Eo=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(!bo(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=To(r.gasPrice)),r.value!==void 0&&(t.value=To(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(So(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 So(f$1.result)})}async#o(r){let t;try{t=await Ro.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(!ho(o))throw new b("Unexpected JSON-RPC response shape");return o}async#n(r){let t;try{t=await Ro.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=>ho(n)))throw new b("Unexpected JSON-RPC response shape");return o}};function xo(e){if(!(e instanceof f)||!Co(e.cause))return false;let r=[e.cause.message,Oi(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 ho(e){return !ko(e)||e.jsonrpc!=="2.0"?false:"error"in e?Co(e.error):"result"in e}function Co(e){return ko(e)&&typeof e.code=="number"&&typeof e.message=="string"}function ko(e){return typeof e=="object"&&e!==null}function bo(e){return /^0x[a-fA-F0-9]*$/.test(e)}function So(e,r="eth_call"){if(typeof e!="string"||!bo(e))throw new b(`Expected JSON-RPC ${r} result to be a hex string`);return e}function To(e){return `0x${e.toString(16)}`}function Oi(e){if(e===void 0)return "";if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return ""}}function sR(e,r,t){return {signer:r,wallet:t,walletType:Yi(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 Io(e){let r=le(e.walletType);return {maker:e.wallet,signatureType:r,signer:r===SignatureType.POLY_1271?e.wallet:e.signer}}var wi="3d3d606380380380913d393d73%s5af4602a57600080fd5b602d8060366000396000f3363d3d373d3d3d363d73%s5af43d82803e903d91602b57fd5bf352e831dd00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";function Li(e){let r=wi.replace("%s",e.proxyFactory.slice(2).toLowerCase()).replace("%s",e.proxyImplementation.slice(2).toLowerCase());return expectHexString(Hash.keccak256(`0x${r}`))}function Mi(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:Li(r),from:r.proxyFactory,salt:Hash.keccak256(AbiParameters.encodePacked(["address"],[e]))}))}function Fi(e,r){return expectEvmAddress(ContractAddress.fromCreate2({bytecodeHash:r.safeInitCodeHash,from:r.safeFactory,salt:Hash.keccak256(AbiParameters.encode([{name:"address",type:"address"}],[e]))}))}var Bi="0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",Ui="0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076",Di=0x61003d3d8160233d3973n;function vo(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:Ni(r.depositWalletImplementation,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}var zi="0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",Wi="0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c",ji="0x60195155f3363d3d373d3d363d602036600436635c60da",Hi=0x6100523d8160233d3973n,_i="0x49493a4d";function qo(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:Gi(r.depositWalletBeacon,o),from:r.depositWalletFactory,salt:Hash.keccak256(o)}))}function Ni(e,r){let t=BigInt((r.length-2)/2),o=Di+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex("0x6009"),Bytes.fromHex(Ui),Bytes.fromHex(Bi),Bytes.fromHex(r)),{as:"Hex"}))}function Gi(e,r){let t=BigInt((r.length-2)/2),o=Hi+(t<<56n);return expectHexString(Hash.keccak256(Bytes.concat(Bytes.fromNumber(o,{size:10}),Bytes.fromHex(e),Bytes.fromHex(ji),Bytes.fromHex(Wi),Bytes.fromHex(zi),Bytes.fromHex(r)),{as:"Hex"}))}async function Ki(e,r){try{let t=await e.ethCall({to:r,data:_i});return Vi(t)}catch(t){if(xo(t))return ZERO_ADDRESS;throw t}}async function $i(e,r){let t=await Ki(e,r);return !isSameEvmAddress(t,ZERO_ADDRESS)}async function Oo(e,r,t){return await $i(e,t.depositWalletFactory)?qo(r,t):vo(r,t)}function Vi(e){return e.length<66?ZERO_ADDRESS:expectEvmAddress(`0x${e.slice(-40)}`)}function Yi(e,r,t){if(isSameEvmAddress(t,r))return WalletType.EOA;let o=e.walletDerivation;if(isSameEvmAddress(t,qo(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,vo(r,o)))return WalletType.DEPOSIT_WALLET;if(isSameEvmAddress(t,Fi(r,o)))return WalletType.GNOSIS_SAFE;if(isSameEvmAddress(t,Mi(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(Zi(r))return Ji(e,r.exceptions);let t=new URLSearchParams;for(let[o,n]of Object.entries(r)){let s=e[o];if(s!==void 0){if(Ao(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 Zi(e){return "format"in e}function Ji(e,r){let t=new URLSearchParams;for(let[o,n]of Object.entries(e)){if(n===void 0)continue;let s=r[o]??Qi(o);if(Ao(n)){for(let a of n)t.append(s,De(a));continue}t.append(s,De(n));}return t}function Ao(e){return Array.isArray(e)}function Qi(e){return e.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`)}function De(e){return String(e)}var RR=m(g$1,f,l$1,c,b);async function ER(e){return (await unwrap(e.secureClob.get("/auth/ban-status/closed-only").andThen(y(ClosedOnlyModeSchema)))).closedOnly}var up=z.object({tokenId:z.string().optional(),cursor:PaginationCursorSchema.optional(),id:z.string().optional(),market:z.string().optional()}).default({}),hR=m(g$1,f,l$1,c,b,a);function SR(e,r){let{cursor:t,...o}=l(r,up);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 lp=z.object({orderId:z.string()}),TR=m(g$1,f,l$1,c,b,a);async function xR(e,r){let t=l(r,lp);return unwrap(e.secureClob.get(`/data/order/${t.orderId}`).andThen(y(OpenOrderSchema)))}var mp={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()},fp=z.object(mp).default({}),CR=m(g$1,f,l$1,c,b,a);function Lo(e,r){let{cursor:t,...o}=l(r,fp);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 kR=m(g$1,f,l$1,c,b),yp=z.object({ids:z.array(z.string()).min(1)});async function bR(e){let r=le(e.account.walletType);return unwrap(e.secureClob.get("/notifications",{params:g({signatureType:r},E())}).andThen(y(NotificationsResponseSchema)))}var IR=m(g$1,f,l$1,c,b,a);async function vR(e,r){let t=l(r,yp),o=le(e.account.walletType),n=g({ids:t.ids.join(","),signatureType:o},E());await unwrap(e.secureClob.del("/notifications",{params:n}));}var Pp=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),qR=m(g$1,f,l$1,c,b,a);async function Zr(e,r){let t=l(r,Pp),o=le(e.account.walletType);return unwrap(e.secureClob.get("/balance-allowance",{params:g({...t,signatureType:o},E())}).andThen(y(BalanceAllowanceResponseSchema)))}var gp=z.object({assetType:AssetTypeSchema,tokenId:z.string().optional()}),OR=m(g$1,f,l$1,c,b,a);async function Mo(e,r){let t=l(r,gp),o=le(e.account.walletType),n=g({...t,signatureType:o},E());return await unwrap(e.secureClob.get("/balance-allowance/update",{params:n})),Zr(e,t)}var Rp=z.object({orderId:z.string()}),AR=m(g$1,f,l$1,c,b,a);async function wR(e,r){let t=l(r,Rp);return (await unwrap(e.secureClob.get("/order-scoring",{params:g(t,E())}).andThen(y(OrderScoringResponseSchema)))).scoring}var Ep=z.object({orderIds:z.array(z.string())}),LR=m(g$1,f,l$1,c,b,a);async function MR(e,r){let o=l(r,Ep).orderIds;return unwrap(e.secureClob.post("/orders-scoring",{json:o}).andThen(y(OrdersScoringResponseSchema)))}var Fo=z.object({cursor:PaginationCursorSchema.optional(),date:z.string()}),FR=m(g$1,f,l$1,c,b,a);function BR(e,r){let{cursor:t,...o}=l(r,Fo),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 UR=m(g$1,f,l$1,c,b,a);async function DR(e,r){let t=l(r,Fo),o=le(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/total",{params:g({...t,signatureType:o},E())}).andThen(y(TotalUserEarningsResponseSchema)))}var hp=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()}),zR=m(g$1,f,l$1,c,b,a);function WR(e,r){let{cursor:t,...o}=l(r,hp),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 jR=m(g$1,f,l$1,c,b);async function HR(e){let r=le(e.account.walletType);return unwrap(e.secureClob.get("/rewards/user/percentages",{params:g({signatureType:r},E())}).andThen(y(RewardsPercentagesSchema)))}var kp=z.enum(["CASH","TOKENS"]),bp=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(1e4).default(20),takerOnly:z.boolean().optional(),filterType:kp.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"]}),QR=m(g$1,f,c,b,a);function XR(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,bp);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 Ip=z.enum(["TIMESTAMP","TOKENS","CASH"]),vp=z.enum(["ASC","DESC"]),qp=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:Ip.optional(),sortDirection:vp.optional(),side:SideSchema.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),eE=m(g$1,f,c,b,a);function rE(e,r){let{cursor:t,pageSize:o,...n}=l(r,qp);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 Op=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),Ap=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.default(50),user:z.string(),conditionId:Op.optional()}),tE=m(g$1,f,c,b,a);function oE(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=l(r,Ap);return x(a=>{let f=g({...s,limit:o,cursor:a},E());return wp(f,n),e.data.get("/v1/activity/combos",{params:f}).andThen(y(ListComboActivityResponseSchema)).map(P=>{let O=P.pagination.nextCursor??void 0;return {items:P.activity,hasMore:O!==void 0,nextCursor:O}})},t)}function wp(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var Mp=64,Fp=/^0x[0-9a-fA-F]{62}$/,Bp=/^0x[0-9a-fA-F]{64}$/,Qr="0x0000000000000000000000000000000000000000000000000000000000000000",Up=AbiFunction.from("function approve(address spender, uint256 amount)"),zo=AbiFunction.from("function allowance(address owner, address spender) view returns (uint256)"),Dp=AbiFunction.from("function transfer(address recipient, uint256 amount)"),zp=AbiFunction.from("function deposit(address token, uint256 amount, address to)"),Wp=AbiFunction.from("function setApprovalForAll(address operator, bool approved)"),Wo=AbiFunction.from("function isApprovedForAll(address account, address operator) view returns (bool)"),jo=AbiFunction.from("function balanceOf(address account, uint256 id) view returns (uint256)"),Ho=AbiFunction.from("function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])"),jp=AbiFunction.from("function splitPosition(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),Hp=AbiFunction.from("function mergePositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] partition, uint256 amount)"),_p=AbiFunction.from("function redeemPositions(address collateralToken, bytes32 parentCollectionId, bytes32 conditionId, uint256[] indexSets)"),Np=AbiFunction.from("function split(bytes31 conditionId, uint256 amount)"),Gp=AbiFunction.from("function merge(bytes31 conditionId, uint256 amount)"),Kp=AbiFunction.from("function redeem(bytes31 conditionId, uint256 outcomeIndex, uint256 amount)"),$p=AbiFunction.from("function prepareCondition(uint256[] legs) returns (bytes31)"),Vp=AbiFunction.from("function multiSend(bytes)"),Yp=AbiFunction.from("function proxy((uint8 typeCode, address to, uint256 value, bytes data)[] calls) returns (bytes[])"),_o=[1n,2n],Zp=[1n,2n],ee=(1n<<256n)-1n,dE=m(a);function Pr(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:Jp(r,t),to:e}}function No(e,r,t){return {data:AbiFunction.encodeData(zo,[r,t]),to:e}}function Go(e){return AbiFunction.decodeResult(zo,e)}function gr(e,r,t){return {data:Qp(r,t),to:e}}function Ko(e,r,t){return {data:AbiFunction.encodeData(Wo,[r,t]),to:e}}function $o(e){return AbiFunction.decodeResult(Wo,e)}function Vo(e,r,t){return {data:AbiFunction.encodeData(jo,[r,Re(BigInt(t),"Position ID")]),to:e}}function Yo(e){return AbiFunction.decodeResult(jo,e)}function Xr(e,r,t){return {data:AbiFunction.encodeData(Ho,[t.map(()=>r),t.map(o=>Re(BigInt(o),"id"))]),to:e}}function et(e){return AbiFunction.decodeResult(Ho,e)}var uE=m(a);function rt(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:Xp(r,t),to:e}}var lE=m(a);function Zo(e,r,t,o){if(t<=0n)throw new a("Perps deposit amount must be positive");return {data:AbiFunction.encodeData(zp,[r,Re(t,"Perps deposit amount"),o]),to:e}}var mE=m(a),fE=m(a);function Jo(e,r,t,o){return {data:ec(r,t,o),to:e}}var yE=m(a);function Qo(e,r,t,o){return {data:rc(r,t,o),to:e}}function Xo(e,r,t){return {data:tc(r,t),to:e}}var PE=m(a);function en(e,r,t){return {data:AbiFunction.encodeData(Np,[ot(r),Re(t,"Split amount")]),to:e}}var gE=m(a);function rn(e,r,t){return {data:AbiFunction.encodeData(Gp,[ot(r),Re(t,"Merge amount")]),to:e}}var RE=m(a);function tn(e,r,t,o){return {data:AbiFunction.encodeData(Kp,[ot(r),BigInt(oc(t)),Re(o,"Redeem amount")]),to:e}}var EE=m(a);function tt(e,r){return {data:AbiFunction.encodeData($p,[r.map(t=>Re(t,"Leg position ID"))]),to:e}}function Jp(e,r){return invariant(r>=0n,"Approval amount must be non-negative"),AbiFunction.encodeData(Up,[e,r])}function Qp(e,r){return AbiFunction.encodeData(Wp,[e,r])}function Xp(e,r){return AbiFunction.encodeData(Dp,[e,r])}function ec(e,r,t){return AbiFunction.encodeData(jp,[e,Qr,r,_o,Re(t,"Split amount")])}function rc(e,r,t){return AbiFunction.encodeData(Hp,[e,Qr,r,_o,Re(t,"Merge amount")])}function tc(e,r){return AbiFunction.encodeData(_p,[e,Qr,r,Zp])}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 ot(e){if(Fp.test(e))return e.toLowerCase();if(Bp.test(e)){let r=e.toLowerCase();if(r.endsWith("00")||r.endsWith("01"))return r.slice(0,Mp)}throw new a("Protocol v2 condition ID must be bytes31, or bytes32 with a binary outcome byte")}function oc(e){if(e!==0&&e!==1)throw new a("Protocol v2 outcome index must be 0 or 1");return e}function on(e){return AbiFunction.encodeData(Yp,[e.map(r=>({typeCode:1,to:r.to,value:r.value??0n,data:r.data}))])}function nn(e){let r=e.map(t=>nc(t));return AbiFunction.encodeData(Vp,[r.length===0?"0x":AbiParameters.encodePacked(Array.from({length:r.length},()=>"bytes"),r)])}function nc(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 xE=m(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}m(j,l$1);m(j,l$1);function vE(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 sn(){return {kind:"requestAddress"}}function K(e,r){return {chainId:e,...r}}var gc=[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Rc=[{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"}],Ec="DepositWallet",hc="1",Sc=600,Tc=[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],xc=[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],Cc=z.object({address:z.string(),type:z.enum(RelayerTransactionType)}),_E=m(g$1,f,c,b,a);async function at(e,r){let t=l(r,Cc);return unwrap(e.relayer.get("/v1/account/transactions/params",{params:g(t,{address:"address",type:"type"})}).andThen(y(RelayerExecuteParamsSchema)))}var kc=z.object({transactionId:TransactionIdSchema}),bc=z.object({wallet:EvmAddressSchema,type:z.enum(WalletType)}),NE=m(g$1,f,c,b,a);async function GE(e,r){let t=await Ic(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 Ic(e,r){if(r!==void 0)return l(r,bc);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 Oo(e.rpc,e.account.signer,e.environment.walletDerivation),type:WalletType.DEPOSIT_WALLET}}var $=z.string().max(500),an=10,KE=m(g$1,f,c,b,a);async function $E(e){return invariant(e.supportsGasless,"Deposit Wallet deployment requires a Relayer API Key or Builder API Key in the client configuration."),Xe(e,{from:e.account.signer,metadata:"Deploy Deposit Wallet",to:e.environment.walletDerivation.depositWalletFactory,type:RelayerTransactionType.WALLET_CREATE})}async function vc(e,r){let t=l(r,kc);return unwrap(e.relayer.get(`/v1/account/transactions/${t.transactionId}`).andThen(y(GaslessTransactionSchema)))}var qc=z.object({data:z.custom(isHexString),to:EvmAddressSchema,value:z.bigint().optional()}),Oc=z.object({calls:z.array(qc).min(1).transform(e=>expectNonEmptyArray(e)),metadata:$}),VE=m(g$1,f,c,b,a);async function Q(e,r){let t=l(r,Oc);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 sn());invariant(o===e.account.signer,"Wallet client address does not match the authenticated signer");for(let n=0;n<=an;n+=1)try{switch(e.account.walletType){case WalletType.POLY_PROXY:return yield*Ac(e,t);case WalletType.DEPOSIT_WALLET:return yield*wc(e,t);case WalletType.GNOSIS_SAFE:return yield*Lc(e,t)}invariant(!1,"Unsupported wallet type for gasless transaction");}catch(s){if(!lt(s)||n===an)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected gasless transaction retry loop to return");}.call(null)}async function*Ac(e,r){let t=yield*it(e,r.calls,r.metadata);return Xe(e,t)}async function*it(e,r,t){let o=await at(e,{address:e.account.signer,type:RelayerTransactionType.PROXY}),n=e.environment.walletDerivation.proxyFactory,s=on(r),a="0",f="0",P=(await e.rpc.ethEstimateGas({data:s,from:e.account.signer,to:n})).toString(),O=e.environment.contracts.relayHub,v=o.address,j=Uc(e.account.signer,n,s,a,f,P,o.nonce,O,v),U=expectEvmSignature(yield ln(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:O,relayerFee:a},to:n,type:RelayerTransactionType.PROXY}}function pt(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*wc(e,r){let t=yield*ct(e,r.calls,r.metadata);try{return await Xe(e,t)}catch(o){let n=pt(o);if(n===void 0)throw o;let s=yield*dt(e,t,r.calls,n);return Xe(e,s)}}async function*ct(e,r,t){let o=await at(e,{address:e.account.signer,type:RelayerTransactionType.WALLET}),n=r.map(dn),s=`${Math.floor(Date.now()/1e3)+Sc}`,a=expectEvmSignature(yield mn(un({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*dt(e,r,t,o){let n=expectEvmSignature(yield mn(un({calls:t.map(dn),chainId:e.environment.chainId,deadline:r.depositWalletParams.deadline,nonce:o,wallet:e.account.wallet})));return {...r,nonce:o,signature:n}}async function*Lc(e,r){let t=yield*ut(e,r.calls,r.metadata);return Xe(e,t)}async function*ut(e,r,t){let o=await at(e,{address:e.account.signer,type:RelayerTransactionType.SAFE}),n=Mc(r,e.environment.contracts.safeMultisend),s=Bc({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 ln(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:Dc(a),signatureParams:Fc(n.operation),to:n.to,type:RelayerTransactionType.SAFE,value:n.value>0n?`${n.value}`:void 0}}async function Xe(e,r){let t=l(r,RelayerExecuteRequestSchema),o=await unwrap(e.relayer.post("/submit",{json:t}).andThen(y(RelayerExecuteResponseSchema)));return new er(e,o)}function lt(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 dn(e){return {data:e.data,target:e.to,value:`${e.value??0n}`}}function un(e){return {domain:{chainId:e.chainId,name:Ec,verifyingContract:e.wallet,version:hc},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:xc,Call:Tc}}}function Mc(e,r){if(e.length===1){let[t]=e;return {data:t.data,operation:0,to:t.to,value:t.value??0n}}return {data:nn(e),operation:1,to:r,value:0n}}function Fc(e){return {baseGas:"0",gasPrice:"0",gasToken:ZERO_ADDRESS,operation:`${e}`,refundReceiver:ZERO_ADDRESS,safeTxnGas:"0"}}function Bc(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:gc,SafeTx:Rc}}}function ln(e){return {kind:"signGaslessMessage",payload:e}}function mn(e){return {kind:"signGaslessTypedData",payload:e}}function Uc(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 Dc(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 YE=m(g$1,f,c,b,a,h,i),er=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 vc(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 zc=z.object({amount:z.union([z.bigint(),z.literal("max")]),metadata:$.optional(),spenderAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),ah=m(a);async function Wc(e,r){let t=l(r,zc),o=t.amount==="max"?ee:t.amount;return async function*(){return e.account.walletType===WalletType.EOA?G(yield Pn(K(e.environment.chainId,Pr(t.tokenAddress,t.spenderAddress,o)))):yield*await Q(e,{calls:[Pr(t.tokenAddress,t.spenderAddress,o)],metadata:t.metadata??`Approve ${t.amount} of ${t.tokenAddress} to ${t.spenderAddress}`})}.call(null)}var ih=m(j,g$1,f,l$1,c,b,a);function fn(e,r){return Wc(e,r).then(H(e.signer))}var jc=z.object({approved:z.boolean().default(true),metadata:$.optional(),operatorAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),ph=m(a);async function Hc(e,r){let t=l(r,jc);return async function*(){return e.account.walletType===WalletType.EOA?G(yield gn(K(e.environment.chainId,gr(t.tokenAddress,t.operatorAddress,t.approved)))):yield*await Q(e,{calls:[gr(t.tokenAddress,t.operatorAddress,t.approved)],metadata:t.metadata??`${t.approved?"Approve":"Revoke"} ${t.operatorAddress} on ${t.tokenAddress}`})}.call(null)}var ch=m(j,g$1,f,l$1,c,b,a);function yn(e,r){return Hc(e,r).then(H(e.signer))}var dh=m(f,c,b,a);async function _c(e){let r=await Nc(e),t=r.erc20.map(n=>Pr(n.tokenAddress,n.spenderAddress,n.amount)),o=r.erc1155.map(n=>gr(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 Pn(K(e.environment.chainId,s))).wait();for(let s of o)await G(yield gn(K(e.environment.chainId,s))).wait();return}await(yield*await Q(e,{calls:[...t,...o],metadata:"Trading setup approvals"})).wait();}.call(null)}var uh=m(j,g$1,f,l$1,h,i,c,b,a);function lh(e){return _c(e).then(H(e.signer)).then(()=>{})}async function Nc(e){let r=Gc(e),t=[...r.erc20.map(a=>No(a.tokenAddress,e.account.wallet,a.spenderAddress)),...r.erc1155.map(a=>Ko(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)=>Go(n[f])<a.amount),erc1155:r.erc1155.filter((a,f)=>!$o(s[f]))}}function Gc(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 Pn(e){return {kind:"sendErc20ApprovalTransaction",request:e}}function gn(e){return {kind:"sendErc1155ApprovalForAllTransaction",request:e}}var Eh=m(g$1,f,c,b);async function Yc(e,r){return unwrap(e.clob.post("/auth/api-key",{headers:hn(r)}).andThen(y(ApiKeyCredsSchema)))}var hh=m(g$1,f,c,b);async function Zc(e,r){return unwrap(e.clob.get("/auth/derive-api-key",{headers:hn(r)}).andThen(y(ApiKeyCredsSchema)))}var Sh=m(g$1,f,c,b);async function Th(e,r){try{return await Yc(e,r)}catch(t){if(!(t instanceof f)||t.status!==400)throw t}return Zc(e,r)}var xh=m(g$1,f,l$1,c,b);async function Ch(e){return (await unwrap(e.secureClob.get("/auth/api-keys").andThen(y(ApiKeysResponseSchema)))).apiKeys}var kh=m(g$1,f,l$1,c,b);async function bh(e){await unwrap(e.secureClob.del("/auth/api-key").andThen(y(z.literal("OK"))));}var Ih=m(g$1,f,l$1,c,b);async function vh(e){return unwrap(e.secureClob.post("/auth/builder-api-key").andThen(y(BuilderApiKeyCredsSchema)))}var qh=m(g$1,f,l$1,c,b);async function Oh(e){return unwrap(e.secureClob.get("/auth/builder-api-key").andThen(y(BuilderApiKeysResponseSchema)))}var Ah=m(g$1,f,l$1,c,b);async function wh(e){await unwrap(e.clob.del("/auth/builder-api-key").andThen(y(z.literal("OK"))));}function hn(e){return {POLY_ADDRESS:e.address,POLY_NONCE:`${e.nonce}`,POLY_SIGNATURE:e.signature,POLY_TIMESTAMP:`${e.timestamp}`}}var rd=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()}),Hh=m(g$1,f,c,b,a);function _h(e,r){let{cursor:t,...o}=l(r,rd);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 xd=z.object({tokenId:z.string()}),eS=m(g$1,f,c,b,a);async function rS(e,r){let t=l(r,xd);return (await unwrap(e.clob.get("/midpoint",{params:g(t,E())}).andThen(y(MidpointSchema)))).mid}var Cd=z.array(z.object({tokenId:z.string()})).min(1),tS=m(g$1,f,c,b,a);async function oS(e,r){let t=l(r,Cd);return unwrap(e.clob.post("midpoints",{json:Cr(t)}).andThen(y(MidpointsSchema)))}var kd=z.object({tokenId:z.string()}),nS=m(g$1,f,c,b,a);async function sS(e,r){let t=l(r,kd);return (await unwrap(e.clob.get("/tick-size",{params:g(t,E())}).andThen(y(FetchTickSizeResponseSchema)))).minimumTickSize}var bd=z.object({tokenId:z.string()}),aS=m(g$1,f,c,b,a);async function iS(e,r){let t=l(r,bd);return (await unwrap(e.clob.get("/neg-risk",{params:g(t,E())}).andThen(y(FetchNegRiskResponseSchema)))).negRisk}var Id=z.object({tokenId:TokenIdSchema}),pS=m(g$1,f,c,b,a);async function bn(e,r){let t=l(r,Id);return unwrap(e.clob.get(`/markets-by-token/${t.tokenId}`).andThen(y(ResolveConditionByTokenResponseSchema)))}var vd=z.object({conditionId:CtfConditionIdSchema}),cS=m(g$1,f,c,b,a);async function In(e,r){let t=l(r,vd);return unwrap(e.clob.get(`/clob-markets/${t.conditionId}`).andThen(y(FetchMarketInfoResponseSchema)))}var qd=z.object({builderCode:BuilderCodeSchema}),dS=m(g$1,f,c,b,a);async function vn(e,r){let t=l(r,qd);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 Od=z.object({tokenId:z.string(),side:OrderSideSchema}),uS=m(g$1,f,c,b,a);async function lS(e,r){let t=l(r,Od);return (await unwrap(e.clob.get("/price",{params:g(t,E())}).andThen(y(PriceSchema)))).price}var Ad=z.array(z.object({tokenId:z.string(),side:OrderSideSchema})).min(1),mS=m(g$1,f,c,b,a);async function fS(e,r){let t=l(r,Ad);return unwrap(e.clob.post("prices",{json:jd(t)}).andThen(y(PricesSchema)))}var wd=z.object({tokenId:z.string()}),yS=m(g$1,f,c,b,a);async function xr(e,r){let t=l(r,wd);return unwrap(e.clob.get("/book",{params:g(t,E())}).andThen(y(FetchOrderBookResponseSchema)))}var Ld=z.array(z.object({tokenId:z.string()})).min(1),PS=m(g$1,f,c,b,a);async function gS(e,r){let t=l(r,Ld);return unwrap(e.clob.post("books",{json:Cr(t)}).andThen(y(OrderBooksSchema)))}var Md=z.object({tokenId:z.string()}),RS=m(g$1,f,c,b,a);async function ES(e,r){let t=l(r,Md);return (await unwrap(e.clob.get("/spread",{params:g(t,E())}).andThen(y(SpreadSchema)))).spread}var Fd=z.array(z.object({tokenId:z.string()})).min(1),hS=m(g$1,f,c,b,a);async function SS(e,r){let t=l(r,Fd);return unwrap(e.clob.post("spreads",{json:Cr(t)}).andThen(y(SpreadsSchema)))}var Bd=z.object({tokenId:z.string()}),TS=m(g$1,f,c,b,a);async function xS(e,r){let t=l(r,Bd);return unwrap(e.clob.get("/last-trade-price",{params:g(t,E())}).andThen(y(LastTradePriceSchema)))}var Ud=z.array(z.object({tokenId:z.string()})).min(1),CS=m(g$1,f,c,b,a);async function kS(e,r){let t=l(r,Ud);return unwrap(e.clob.post("last-trades-prices",{json:Cr(t)}).andThen(y(LastTradePricesSchema)))}var Dd=z.object({tokenId:z.string(),startTs:z.number().int().optional(),endTs:z.number().int().optional(),fidelity:z.number().int().positive().optional(),interval:PriceHistoryIntervalSchema.optional()}),bS=m(g$1,f,c,b,a);async function IS(e,r){let t=l(r,Dd);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 zd=z.object({cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}).default({}),vS=m(g$1,f,c,b,a);function qS(e,r={}){let{cursor:t,...o}=l(r,zd);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 Wd=z.object({conditionId:CtfConditionIdSchema,cursor:PaginationCursorSchema.optional(),sponsored:z.boolean().optional()}),OS=m(g$1,f,c,b,a);function AS(e,r){let{cursor:t,...o}=l(r,Wd);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 Cr(e){return e.map(({tokenId:r})=>({token_id:r}))}function jd(e){return e.map(({tokenId:r,side:t})=>({token_id:r,side:t}))}var wn=2*6e4,_S=m(g$1,f,c,b);async function NS(e){return Ln(e),unwrap(e.combos.post("/v1/collateral-return/plan",{json:{wallet:e.account.wallet},timeout:wn}).andThen(y(CollateralReturnPlanResponseSchema)))}var Yd=z.object({plan:CollateralReturnPlanSchema}),qn=10,ft="Collateral return",GS=m(f,c,b,a);async function Zd(e,r){let{plan:t}=l(r,Yd);if(invariant(e.supportsGasless,"Collateral return execution requires a Relayer API Key or Builder API Key in the client configuration."),Ln(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<=qn;n+=1)try{let s=yield*Jd(e,o);try{return await On(e,t.planHash,s)}catch(a){let f=pt(a);if(f===void 0||s.type!==RelayerTransactionType.WALLET)throw a;let P=yield*dt(e,s,o,f);return await On(e,t.planHash,P)}}catch(s){if(!lt(s)||n===qn)throw s;await delay(e.environment.relayerPollFrequencyMs);}invariant(false,"Expected collateral return submit retry loop to return");}.call(null)}var KS=m(j,g$1,f,l$1,c,b,a);function $S(e,r){return Zd(e,r).then(H(e.signer))}function Ln(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 Jd(e,r){switch(e.account.walletType){case WalletType.GNOSIS_SAFE:return ut(e,r,ft);case WalletType.POLY_PROXY:return it(e,r,ft);default:return ct(e,r,ft)}}async function On(e,r,t){let o=await unwrap(e.combos.post("/v1/collateral-return/submit",{json:{envelope:t,plan_hash:r},timeout:wn}).andThen(y(RelayerExecuteResponseSchema)));return new er(e,o)}var ou=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}),nu=z.object({getPositions:z.boolean().optional(),id:CommentIdSchema}),su=z.object({address:z.string(),ascending:z.boolean().optional(),cursor:PaginationCursorSchema.optional(),order:z.string().optional(),pageSize:w.max(100).default(20)}),aT=m(g$1,f,c,b,a);function iT(e,r){let{cursor:t,pageSize:o,...n}=l(r,ou);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 pT=m(g$1,f,c,b,a);async function cT(e,r){let t=l(r,nu);return unwrap(e.gamma.get(`comments/${t.id}`,{params:g({getPositions:t.getPositions},E())}).andThen(y(ListCommentsResponseSchema)))}var dT=m(g$1,f,c,b,a);function uT(e,r){let{address:t,cursor:o,pageSize:n,...s}=l(r,su);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 O=P.length>=f.pageSize;return {items:P,hasMore:O,nextCursor:O?B({offset:f.offset+f.pageSize,pageSize:f.pageSize}):void 0}})},o)}function kr(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 uu=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()}),lu=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()})]),mu=z.object({id:z.string()}),fu=z.object({id:z.string()}),bT=m(g$1,f,c,b,a);function IT(e,r={}){let t=l(r,uu);return x(o=>e.gamma.get("/events/keyset",{params:yu({...t,cursor:o??t.cursor})}).andThen(y(ListEventsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var vT=m(g$1,f,c,b,a);async function qT(e,r){let t=l(r,lu);if("id"in t)return unwrap(e.gamma.get(`events/${t.id}`,{params:Pu(t)}).andThen(y(EventSchema)));let o="url"in t?kr(t.url,"event"):t.slug;return unwrap(e.gamma.get(`events/slug/${o}`,{params:gu(t)}).andThen(y(EventSchema)))}var OT=m(g$1,f,c,b,a);async function AT(e,r){let t=l(r,mu);return unwrap(e.gamma.get(`events/${t.id}/tags`).andThen(y(FetchEventTagsResponseSchema)))}var wT=m(g$1,f,c,b,a);async function LT(e,r){let t=l(r,fu);return unwrap(e.data.get("/live-volume",{params:N(t)}).andThen(y(FetchEventLiveVolumeResponseSchema)))}function yu(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 Pu(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}function gu(e){return g({includeBestLines:e.includeBestLines,includeChat:e.includeChat,includeTemplate:e.includeTemplate,locale:e.locale},E())}var Cu=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(50).default(20),timePeriod:TimePeriodSchema.optional()}),ku=z.object({timePeriod:TimePeriodSchema.optional()}),bu=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()}),NT=m(g$1,f,c,b,a);function GT(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Cu);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 KT=m(g$1,f,c,b,a);async function $T(e,r={}){let t=l(r,ku);return unwrap(e.data.get("/v1/builders/volume",{params:N(t)}).andThen(y(ListBuilderVolumeResponseSchema)))}var VT=m(g$1,f,c,b,a);function YT(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,bu);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 qu=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)}),sx=m(g$1,f,c,b,a);function ax(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,qu);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 Uu=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()}),Du=z.object({id:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),zu=z.object({slug:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),Wu=z.object({url:z.string(),includeTag:z.boolean().optional(),locale:z.string().optional()}),ju=z.union([Du,zu,Wu]),Hu=z.object({id:z.string()}),_u=z.object({limit:z.number().int().optional(),market:z.array(z.string()),minBalance:z.number().int().optional()}),Nu=z.object({market:z.array(z.string()).optional()}),Gu=z.enum(["OPEN","CLOSED","ALL"]),Ku=z.enum(["TOKENS","CASH_PNL","REALIZED_PNL","TOTAL_PNL"]),$u=z.enum(["ASC","DESC"]),Vu=z.object({cursor:PaginationCursorSchema.optional(),market:z.string(),pageSize:w.max(500).default(20),user:z.string().optional(),status:Gu.optional(),sortBy:Ku.optional(),sortDirection:$u.optional()}),hx=m(g$1,f,c,b,a);function jn(e,r={}){let t=l(r,Uu);return x(o=>e.gamma.get("/markets/keyset",{params:Zu({...t,cursor:o??t.cursor})}).andThen(y(ListMarketsKeysetResponseSchema)).map(n=>({items:n.items,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var Yu=z.object({cursor:PaginationCursorSchema.optional(),pageSize:w.max(100).optional(),exclude:z.array(CtfConditionIdSchema).optional()}),Sx=m(g$1,f,c,b,a);function Tx(e,r={}){let t=l(r,Yu);return x(o=>e.rfq.get("/v1/rfq/combo-markets",{params:Ju({...t,cursor:o??t.cursor})}).andThen(y(ListComboMarketsResponseSchema)).map(n=>({items:n.markets,hasMore:n.nextCursor!==void 0,nextCursor:n.nextCursor})),t.cursor)}var xx=m(g$1,f,c,b,a);async function Cx(e,r){let t=l(r,ju);return "id"in t?Qu(e,t):"url"in t?Dn(e,{includeTag:t.includeTag,locale:t.locale,slug:kr(t.url,"market")}):Dn(e,t)}var kx=m(g$1,f,c,b,a);async function bx(e,r){let t=l(r,Hu);return unwrap(e.gamma.get(`markets/${t.id}/tags`).andThen(y(FetchMarketTagsResponseSchema)))}var Ix=m(g$1,f,c,b,a);async function vx(e,r){let t=l(r,_u);return unwrap(e.data.get("/holders",{params:N(t)}).andThen(y(ListMarketHoldersResponseSchema)))}var qx=m(g$1,f,c,b,a);async function Ox(e,r={}){let t=l(r,Nu);return unwrap(e.data.get("/oi",{params:N(t)}).andThen(y(ListOpenInterestResponseSchema)))}var Ax=m(g$1,f,c,b,a);function wx(e,r){let{cursor:t,pageSize:o,...n}=l(r,Vu);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 Zu(e){return g(e,E({cursor:"after_cursor",ids:"id",marketMakerAddresses:"market_maker_address",pageSize:"limit"}))}function Ju(e){return g({cursor:e.cursor,exclude:e.exclude?.join(","),pageSize:e.pageSize},{cursor:"cursor",exclude:"exclude",pageSize:"limit"})}async function Dn(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 Qu(e,r){return unwrap(e.gamma.get(`markets/${r.id}`,{params:g({includeTag:r.includeTag,locale:r.locale},E())}).andThen(y(MarketSchema)))}var rl=z.object({orderId:z.string()}),tl=z.object({orderIds:z.array(z.string()).min(1).max(3e3)}),ol=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"]}),Wx=m(f,g$1,l$1,c,b,a);async function jx(e,r){let t=l(r,rl);return vr(e,"/order",{orderID:t.orderId})}var Hx=m(f,g$1,l$1,c,b,a);async function _x(e,r){let t=l(r,tl);return vr(e,"/orders",t.orderIds)}var Nx=m(f,g$1,l$1,c,b);async function Gx(e){return vr(e,"/cancel-all")}var Kx=m(f,g$1,l$1,c,b,a);async function $x(e,r){let t=l(r,ol);return vr(e,"/cancel-market-orders",{asset_id:t.tokenId,market:t.market})}async function vr(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)}),sl=z.discriminatedUnion("side",[_n.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema}),_n.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema})]),rC=m(k,g$1,f,c,b,a);async function tC(e,r){let t=l(r,sl),o=t.side===OrderSide.BUY?t.amount:t.shares;return al(e,{amount:o,orderType:t.orderType,side:t.side,tokenId:t.tokenId})}async function al(e,r){let t=await xr(e,{tokenId:r.tokenId});return Et({amount:r.amount,orderBook:t,orderType:r.orderType,side:r.side})}function Et(e){let{orderBook:r}=e,t=e.side===OrderSide.BUY?pl(r.asks,e.amount,e.orderType):cl(r.bids,e.amount,e.orderType);return invariant(il(t,r.tickSize),`Resolved market price fell outside the valid range for tick size ${r.tickSize}.`),t}function il(e,r){return e>=r&&e<=1-r}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)*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 cl(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 ml=z.array(z.custom()).min(1).max(15),uC=m(g$1,f,l$1,c,b),lC=m(g$1,f,l$1,c,b,a);function Or(e){return async function(t){let o=$n(e,t);return unwrap(e.secureClob.post("/order",{json:o}).andThen(y(OrderResponseSchema)))}}function mC(e){return async function(t){let n=l(t,ml).map(s=>$n(e,s));return unwrap(e.secureClob.post("/orders",{json:n}).andThen(y(OrderResponsesSchema)))}}function $n(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 ht=600*1e3,St=Number.POSITIVE_INFINITY,Tt=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:Ar(this.#r,r,ht,()=>this.#e.fetchBuilderTakerFeeRate(r))}async fetchCurrentMarket(r){let t=await Ar(this.#t,r,St,()=>this.#e.resolveCondition(r)),o=await this.#s(t);return this.#a(r,t,o),this.#o.set(t,Vn(o,ht)),{feeInfo:o.feeInfo,negRisk:o.negRisk,tickSize:o.tickSize}}async#n(r){let t=await Ar(this.#t,r,St,()=>this.#e.resolveCondition(r)),o=await Ar(this.#o,t,ht,()=>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,Vn(r));return {feeInfo:t.feeInfo,negRisk:t.negRisk,tickSize:t.tickSize,tokenIds:o}}};function Ar(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 Vn(e,r=St){return {expiresAt:Date.now()+r,promise:Promise.resolve(e)}}var Yn=new WeakMap;function Ae(e,r){return xt(e).resolveMarket(r)}function sr(e,r){return xt(e).fetchCurrentMarket(r)}function Zn(e,r){return xt(e).resolveBuilderTakerFeeRate(r)}function xt(e){let r=Yn.get(e);if(r!==void 0)return r;let t=new Tt({fetchBuilderTakerFeeRate:async o=>(await vn(e,{builderCode:o})).taker,fetchMarket:o=>In(e,{conditionId:o}),resolveCondition:o=>bn(e,{tokenId:o})});return Yn.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 ke(e,r){return V(e)<=r?e:Math.ceil(e*10**r)/10**r}function Jn(e,r){return V(e)<=r?e:Math.round(e*10**r)/10**r}function Qn(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 wr(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 Lr(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(!Qn(e,r))throw new a(`${e} must be a multiple of tick size ${r}.`);return e}function be(e,r){return r?e.environment.contracts.negRiskExchange:e.environment.contracts.standardExchange}var El=180,ts=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)+El;e.expiration<t&&r.addIssue({code:"custom",message:"Expiration must be at least 3 minutes in the future.",path:["expiration"]});}});async function os(e,r){let t=await hl(e,{price:r.price,tokenId:r.tokenId}),o=Tl({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 hl(e,r){let t=await Ae(e,r.tokenId);try{return rs(e,r,t)}catch(o){if(!(o instanceof a))throw o;let n=await sr(e,r.tokenId);return rs(e,r,n)}}function rs(e,r,t){let o=Sl(r.price,t.tickSize);return {exchangeAddress:be(e,t.negRisk),funderAddress:e.account.wallet,price:o,signerAddress:e.account.signer,tickSize:t.tickSize}}function Sl(e,r){try{return Lr(e,r)}catch(t){throw t instanceof a?new a(`Price ${t.message}`,{cause:t}):t}}function Tl(e){let r=wr(e.tickSize),t=Jn(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=ke(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=ke(n,r.amount+4),V(n)>r.amount&&(n=ye(n,r.amount))),{offeredAmount:fe(o),requestedAmount:fe(n)}}var ss=z.object({tokenId:TokenIdSchema,builderCode:BuilderCodeSchema.optional(),orderType:z.union([z.literal(OrderType.FAK),z.literal(OrderType.FOK)]).default(OrderType.FAK)}),cs=z.discriminatedUnion("side",[ss.extend({side:z.literal(OrderSide.BUY),amount:PositiveDecimalNumberSchema,maxSpend:PositiveDecimalNumberSchema.optional(),maxPrice:PositiveDecimalNumberSchema.optional()}),ss.extend({side:z.literal(OrderSide.SELL),shares:PositiveDecimalNumberSchema,minPrice:PositiveDecimalNumberSchema.optional()})]);async function ds(e,r){let t=await kl(e,r),o=ql({amount:t.resolvedAmount,price:t.price,protectPrice:ls(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 kl(e,r){return ls(r)?bl(e,r):Il(e,r)}async function bl(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 ms(e,r.tokenId,r.builderCode);try{return as(e,r,t,n,r.maxSpend,s)}catch(a$1){if(!(a$1 instanceof a))throw a$1;let f=await sr(e,r.tokenId);return as(e,r,t,n,r.maxSpend,f)}}let o=await Ae(e,r.tokenId);try{return is(e,r,t,o)}catch(n){if(!(n instanceof a))throw n;let s=await sr(e,r.tokenId);return is(e,r,t,s)}}function as(e,r,t,o,n,s){let a=us(r,s.tickSize);return {exchangeAddress:be(e,s.negRisk),funderAddress:e.account.wallet,price:a,resolvedAmount:fs({amount:t,builderTakerFeeRate:o,maxSpend:n,platformFeeExponent:s.feeInfo.exponent,platformFeeRate:s.feeInfo.rate,price:a}),signerAddress:e.account.signer,tickSize:s.tickSize}}function is(e,r,t,o){let n=us(r,o.tickSize);return {exchangeAddress:be(e,o.negRisk),funderAddress:e.account.wallet,price:n,resolvedAmount:t,signerAddress:e.account.signer,tickSize:o.tickSize}}async function Il(e,r){let t=r.side===OrderSide.BUY?r.amount:r.shares,o=r.side===OrderSide.BUY&&r.maxSpend!==void 0?ms(e,r.tokenId,r.builderCode):void 0,[n,s]=await Promise.all([xr(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=Et({amount:t,orderBook:n,orderType:r.orderType,side:r.side});return {exchangeAddress:be(e,n.negRisk),funderAddress:e.account.wallet,price:a,resolvedAmount:vl(r,t,a,s),signerAddress:e.account.signer,tickSize:n.tickSize}}function vl(e,r,t,o){return e.side!==OrderSide.BUY||e.maxSpend===void 0||o===void 0?r:fs({amount:r,builderTakerFeeRate:o.builderTakerFeeRate,maxSpend:e.maxSpend,platformFeeExponent:o.market.feeInfo.exponent,platformFeeRate:o.market.feeInfo.rate,price:t})}function us(e,r){return e.side===OrderSide.BUY?(invariant(e.maxPrice!==void 0,"Protected BUY market order requires maxPrice."),ps("maxPrice",e.maxPrice,r)):(invariant(e.minPrice!==void 0,"Protected SELL market order requires minPrice."),ps("minPrice",e.minPrice,r))}function ps(e,r,t){try{return Lr(r,t)}catch(o){throw o instanceof a?new a(`${e} ${o.message}`,{cause:o}):o}}function ls(e){return e.side===OrderSide.BUY&&e.maxPrice!==void 0||e.side===OrderSide.SELL&&e.minPrice!==void 0}function ql(e){let r=wr(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=ke(s,r.amount+4),V(s)>r.amount&&(s=e.protectPrice?ke(s,r.amount):ye(s,r.amount))),{offeredAmount:fe(o),requestedAmount:fe(s)}}let n=o*t;return V(n)>r.amount&&(n=ke(n,r.amount+4),V(n)>r.amount&&(n=e.protectPrice?ke(n,r.amount):ye(n,r.amount))),{offeredAmount:fe(o),requestedAmount:fe(n)}}async function ms(e,r,t){let[o,n]=await Promise.all([Ae(e,r),Zn(e,t)]);return {builderTakerFeeRate:n,market:o}}function fs(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 ys="0x0000000000000000000000000000000000000000000000000000000000000000";function bt(e,r){let t=Io(r);return {builder:e.builderCode??ys,chainId:e.chainId,exchangeAddress:e.exchangeAddress,expiration:e.expiration,maker:t.maker,makerAmount:e.offeredAmount.toString(),metadata:ys,orderType:e.orderType,salt:Ol().toString(),side:e.side,signatureType:t.signatureType,signer:t.signer,takerAmount:e.requestedAmount.toString(),timestamp:Date.now().toString(),tokenId:e.tokenId}}function It(e,r){let{chainId:t,exchangeAddress:o,...n}=e;return {...n,signature:r}}function Ol(){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 Rs="Polymarket CTF Exchange",Ll="DepositWallet",Ml="1",vt="0x0000000000000000000000000000000000000000000000000000000000000000",qt="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",Fl=Hash.keccak256(Bytes.fromString(qt),{as:"Hex"}),Bl=Hash.keccak256(Bytes.fromString("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),{as:"Hex"}),Ul=Hash.keccak256(Bytes.fromString(Rs),{as:"Hex"}),Dl=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Es=[{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"}],zl=[{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 hs(e){let r=Wl(e.domain,e.order);return e.order.signatureType!==SignatureType.POLY_1271?r:{domain:xs(e.domain),message:{chainId:e.domain.chainId,contents:r.message,name:Ll,salt:vt,verifyingContract:e.order.signer,version:Ml},primaryType:"TypedDataSign",types:{Order:Es,TypedDataSign:zl}}}function Ss(e){if(e.order.signatureType!==SignatureType.POLY_1271)return e.signature;let r=Bytes.toHex(Bytes.fromString(qt)),t=qt.length.toString(16).padStart(4,"0");return expectErc1271Signature(`0x${e.signature.slice(2)}${jl(e.domain).slice(2)}${Hl(e.order).slice(2)}${r.slice(2)}${t}`)}function Ts(e){return {builder:e.builder??vt,maker:e.maker,makerAmount:BigInt(e.makerAmount),metadata:e.metadata??vt,salt:BigInt(e.salt),side:Nl(e.side),signatureType:e.signatureType,signer:e.signer,takerAmount:BigInt(e.takerAmount),timestamp:BigInt(e.timestamp),tokenId:BigInt(e.tokenId)}}function Wl(e,r){return {domain:xs(e),message:Ts(r),primaryType:"Order",types:{EIP712Domain:Dl,Order:Es}}}function xs(e){return {chainId:e.chainId,name:Rs,verifyingContract:e.exchange,version:e.protocolVersion}}function jl(e){return expectHexString(Hash.keccak256(AbiParameters.encode([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[Bl,Ul,_l(e.protocolVersion),BigInt(e.chainId),e.exchange]),{as:"Hex"}))}function Hl(e){let r=Ts(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"}],[Fl,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 _l(e){return expectHexString(Hash.keccak256(Bytes.fromString(e),{as:"Hex"}))}function Nl(e){return e===0||e===1?e:e===OrderSide.BUY?0:1}function At(e){return hs({domain:Cs(e),order:e})}function wt(e,r){return Ss({domain:Cs(e),order:e,signature:r})}function Cs(e){return {chainId:e.chainId,exchange:e.exchangeAddress,protocolVersion:"2"}}function Lt(e){return {kind:"signOrder",payload:e}}var Gl=m(k,g$1,f,l$1,c,b,a);async function Mt(e,r){let t=l(r,cs);return async function*(){let o=await ds(e,t),n=bt(o,e.account),s=expectEvmSignature(yield Lt(At(n)));return It(n,wt(n,s))}.call(null)}var Kl=m(g$1,f,l$1,c,b,a);async function Ft(e,r){let t=l(r,ts);return async function*(){let o=await os(e,t),n=bt(o,e.account),s=expectEvmSignature(yield Lt(At(n))),a=It(n,wt(n,s));return t.postOnly===true?{...a,postOnly:true}:a}.call(null)}var ak=Gl;async function ik(e,r){return bs(e,Mt(e,r))}var pk=Kl;async function ck(e,r){return bs(e,Ft(e,r))}async function bs(e,r){let t=await r;return async function*(){let o=yield*t;return Or(e)(o)}.call(null)}var Yl=250,Zl=3e4,Jl={timeoutMs:z.number().int().positive().optional()},Ql=z.object(Jl).default({}),gk=m(g$1,f,l$1,h,i,c,b,a);function Xl(e){return e.status===TradeStatus.Confirmed||e.status===TradeStatus.Failed}function Is(e){return e.status===TradeStatus.Failed}async function Rk(e,r,t){let{timeoutMs:o=Zl}=l(t,Ql),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)),O=await Promise.all(P.map(v=>Lo(e,{id:v}).firstPage()));for(let v of O)for(let j of v.items)n.includes(j.id)&&Xl(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(Yl);}let f=[...s.values()];if(f.every(Is))throw new i(`Every fill of order ${r.orderId} failed execution: ${n.join(", ")}`);return [...new Set(f.filter(P=>!Is(P)).map(P=>P.transactionHash))].map(P=>TxHashSchema.parse(P))}async function As(e,r){let t=r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,{allowances:o}=await Zr(e,r.side===OrderSide.BUY?{assetType:t}:{assetType:t,tokenId:r.tokenId});return rm(o,r.spenderAddress)}function rm(e,r){return Object.entries(e).find(([o])=>isSameEvmAddress(o,r))?.[1]??0n}var Bk=m(j,k,g$1,f,l$1,c,b,a);function tm(e,r){return Mt(e,r).then(H(e.signer))}var Uk=m(j,k,g$1,f,l$1,h,i,c,b,a);function Dk(e,r){return tm(e,r).then(t=>Ls(e,t))}var zk=m(j,g$1,f,l$1,c,b,a);function om(e,r){return Ft(e,r).then(H(e.signer))}var Wk=m(j,g$1,f,l$1,h,i,c,b,a);function jk(e,r){return om(e,r).then(t=>Ls(e,t))}async function Ls(e,r){let t=Or(e);try{return await t(r)}catch(o){if(!sm(o))throw o;let n=await nm(e,r,t);if(n===void 0)throw o;return n}}async function nm(e,r,t){return await am(e,r)?t(r):void 0}function sm(e){return e instanceof f&&e.status===400&&e.message.includes("allowance is not enough")}async function am(e,r){let t=await Ae(e,r.tokenId),o=be(e,t.negRisk),n=BigInt(r.makerAmount);return await As(e,{spenderAddress:o,side:r.side,tokenId:r.tokenId})>=n?false:(await(r.side===OrderSide.BUY?await fn(e,{amount:"max",spenderAddress:o,tokenAddress:e.environment.contracts.collateralToken}):await yn(e,{operatorAddress:o,tokenAddress:e.environment.contracts.conditionalTokens})).wait(),await Mo(e,{assetType:r.side===OrderSide.BUY?AssetType.COLLATERAL:AssetType.CONDITIONAL,tokenId:r.side===OrderSide.SELL?r.tokenId:void 0}),true)}function Ms(e){let r=TypedData.getSignPayload(Dt(e));return expectEvmSignature(Signature.toHex(Secp256k1.sign({payload:r,privateKey:e.privateKey})))}function Dt(e){return {domain:{chainId:e.chainId,name:"Polymarket",version:"1"},message:{data:Hash.keccak256(encode(Fs(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 Fs(e){return Array.isArray(e)?e.filter(r=>r!==void 0).map(Fs):e}var Mr=class{#e;#r;#t;constructor({root:r,headers:t,resolveHeaders:o}){this.#e=Ro.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.#p(this.#a(r,t,o))}async#a(r,t,o){let n=this.#s(r,t,o),s=await this.#t?.(n),a=this.#c(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)}#c(...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}#p(r){return ResultAsync.fromPromise(r.then(async t=>{if(t.ok)return t;let o=this.#u(t);if(t.status===429)throw new g$1(`Request to ${t.url} was rate limited`,{retryAfter:o});let n=await this.#m(t);throw new f(n,{retryAfter:o,status:t.status})}),t=>t instanceof g$1||t instanceof f?t:c.fromError(t))}#u(r){let t=r.headers.get("retry-after");if(!(t===null||!/^\d+$/.test(t)))return Number(t)}async#m(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 ym=1e4,Pm=3e4,gm=5e3,Rm=10*6e4,Em=3e4,hm=25e3,Sm=65e3,Bs=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},ym);}handleMessage(r){return r!=="PONG"?false:(this.#e=Date.now(),true)}isStale(r){return r-this.#e>Pm}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Us=class{#e=0;#r;start(r){this.stop(),this.#e=Date.now(),this.#r=setNonBlockingInterval(()=>{r("PING");},gm);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Rm}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}},Ds=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>Em}},Fr=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"}}));},hm);}handleMessage(){return this.#e=Date.now(),false}isStale(r){return r-this.#e>Sm}stop(){this.#r!==void 0&&(clearInterval(this.#r),this.#r=void 0);}};var Cm=5e3,km=250,bm=3e4,Br=class{#e;#r=0;schedule(r){if(this.#e!==void 0||!r.shouldReconnect())return;let t=vm(this.#r,{baseMs:km,maxMs:bm});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);}}},Ur=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.#u();this.#p(),!(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=Im(r.url,r.headers),a=()=>{s.removeEventListener("error",f),this.#s(s),this.#c(),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 O=String(P.data);if(this.#e?.handleMessage(O))return;let v;try{v=JSON.parse(O);}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.#p(),this.#r=void 0;}#c(){this.#p();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();},Cm));}#p(){this.#o!==void 0&&(clearInterval(this.#o),this.#o=void 0),this.#e?.stop();}async#u(){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 Im(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 vm(e,r){let t=Math.min(r.baseMs*2**e,r.maxMs);return Math.random()*t}var Dr=1440*60*1e3,_s=90*Dr,ne=z.number().int().nonnegative(),jt=z.object({start:ne.optional(),end:ne.optional()}),Ns=z.object({interval:PerpsPnlIntervalSchema,start:ne,end:ne.optional()}),$m=z.enum(["perpsFundingPayments","perpsDeposits","perpsWithdrawals"]),Vm=z.enum(["perpsEquityHistory","perpsPnlHistory"]),Ht=z.object({kind:$m,startTimestamp:ne,endTimestamp:ne,instrumentId:PerpsInstrumentIdSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional(),seenKeys:z.array(z.string())}),Gs=z.object({kind:Vm,startTimestamp:ne,endTimestamp:ne,interval:PerpsPnlIntervalSchema});async function Ks(e){return await unwrap(e.get("/v1/account/balances").andThen(y(FetchPerpsBalancesResponseSchema)))}async function $s(e){return await unwrap(e.get("/v1/account/portfolio").andThen(y(FetchPerpsPortfolioResponseSchema)))}async function Vs(e){return await unwrap(e.get("/v1/account/stats").andThen(y(FetchPerpsAccountStatsResponseSchema)))}var Ym=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Ys(e,r){let t=l(r,Ym);return await unwrap(e.get("/v1/account/config",{params:de(t)}).andThen(y(FetchPerpsAccountConfigResponseSchema)))}var Zm=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({});async function Zs(e,r){let t=l(r,Zm);return await unwrap(e.get("/v1/account/open-orders",{params:de(t)}).andThen(y(FetchPerpsOpenOrdersResponseSchema)))}var Jm=z.object({orderId:PerpsOrderIdSchema.optional(),clientOrderId:PerpsClientOrderIdSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional(),start:ne.optional(),end:ne.optional()}).default({}),Qm=Jm.transform(({end:e,start:r,...t})=>({...t,endTimestamp:e,startTimestamp:r}));async function Js(e,r){let t=l(r,Qm);return await unwrap(e.get("/v1/account/orders",{params:de(t)}).andThen(y(FetchPerpsOrdersResponseSchema)))}var Xm=z.object({start:ne.optional(),end:ne.optional(),sort:PerpsSortDirectionSchema.optional(),cursor:PaginationCursorSchema.optional()});function Qs(e,r={}){let t=l(r,Xm);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 ef=jt.extend({cursor:PaginationCursorSchema.optional(),instrumentId:PerpsInstrumentIdSchema.optional()}),rf=z.object({cursor:PaginationCursorSchema}),tf=z.union([ef.transform(({cursor:e,...r})=>({cursor:e,params:_t(r,Dr)})),rf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function Xs(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 funding payment params."),s={kind:"perpsFundingPayments",seenKeys:[],...o}):s=Ge(n,Ht);let{kind:a,seenKeys:f,...P}=s,O=new Set(s.seenKeys);return e.get("/v1/account/funding",{params:de(P)}).andThen(y(ListPerpsFundingPaymentsResponseSchema)).map(v=>{let j=v.data.filter(U=>!O.has(`${U.instrumentId}:${U.timestamp}:${U.funding}`));return Nt({getKey:U=>`${U.instrumentId}:${U.timestamp}:${U.funding}`,getTimestamp:U=>U.timestamp,items:j,responseData:v.data,responseMore:v.more,state:s})})},t)}var of=jt.extend({cursor:PaginationCursorSchema.optional(),depositStatus:PerpsDepositStatusSchema.optional(),hash:TxHashSchema.optional()}),nf=z.object({cursor:PaginationCursorSchema}),sf=z.union([of.transform(({cursor:e,...r})=>({cursor:e,params:_t(r,_s)})),nf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ea(e,r={}){let{cursor:t,params:o}=l(r,sf);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,Ht);let{kind:a,seenKeys:f,...P}=s,O=new Set(s.seenKeys);return e.get("/v1/account/deposits",{params:de(P)}).andThen(y(ListPerpsDepositsResponseSchema)).map(v=>{let j=v.data.filter(U=>!O.has(U.hash));return Nt({getKey:U=>U.hash,getTimestamp:Cf,items:j,responseData:v.data,responseMore:v.more,state:s})})},t)}var af=jt.extend({cursor:PaginationCursorSchema.optional(),withdrawalStatus:PerpsWithdrawalStatusSchema.optional(),hash:TxHashSchema.optional()}),pf=z.object({cursor:PaginationCursorSchema}),cf=z.union([af.transform(({cursor:e,...r})=>({cursor:e,params:_t(r,_s)})),pf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ra(e,r={}){let{cursor:t,params:o}=l(r,cf);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,Ht);let{kind:a,seenKeys:f,...P}=s,O=new Set(s.seenKeys);return e.get("/v1/account/withdrawals",{params:de(P)}).andThen(y(ListPerpsWithdrawalsResponseSchema)).map(v=>{let j=v.data.filter(U=>!O.has(String(U.withdrawalId)));return Nt({getKey:U=>String(U.withdrawalId),getTimestamp:kf,items:j,responseData:v.data,responseMore:v.more,state:s})})},t)}var df=Ns.extend({cursor:PaginationCursorSchema.optional()}),uf=z.object({cursor:PaginationCursorSchema}),lf=z.union([df.transform(({cursor:e,...r})=>({cursor:e,params:ia(r)})),uf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function ta(e,r){let{cursor:t,params:o}=l(r,lf);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,Gs);let{kind:a,...f}=s;return e.get("/v1/account/equity",{params:de(f)}).andThen(y(ListPerpsEquityHistoryResponseSchema)).map(P=>{let O=P.data.at(-1),v=P.more&&O!==void 0&&O.timestamp<s.endTimestamp;return {items:P.data,hasMore:v,nextCursor:v?zr({...s,startTimestamp:O.timestamp+pa(s.interval)}):void 0}})},t)}var mf=Ns.extend({cursor:PaginationCursorSchema.optional()}),ff=z.object({cursor:PaginationCursorSchema}),yf=z.union([mf.transform(({cursor:e,...r})=>({cursor:e,params:ia(r)})),ff.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function oa(e,r){let{cursor:t,params:o}=l(r,yf);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,Gs);let{kind:a,...f}=s;return e.get("/v1/account/pnl",{params:de(f)}).andThen(y(ListPerpsPnlHistoryResponseSchema)).map(P=>{let O=P.data.at(-1),v=P.more&&O!==void 0&&O.timestamp<s.endTimestamp;return {items:P.data,hasMore:v,nextCursor:v?zr({...s,startTimestamp:O.timestamp+pa(s.interval)}):void 0}})},t)}var Pf=z.object({kind:z.literal("perpsNotifications"),cursor:z.string().min(1),sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional()}),gf=z.object({sinceSeq:z.number().int().nonnegative().optional(),limit:z.number().int().positive().optional(),cursor:PaginationCursorSchema.optional()}),Rf=z.object({cursor:PaginationCursorSchema}),Ef=z.union([gf.transform(({cursor:e,...r})=>({cursor:e,params:r})),Rf.transform(({cursor:e})=>({cursor:e,params:void 0}))]);function na(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 notifications params."):s=Ge(n,Pf);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 O=P.has_more&&P.next_cursor!==null;return {items:P.items,hasMore:O,nextCursor:O&&P.next_cursor!==null?zr({kind:"perpsNotifications",cursor:P.next_cursor,limit:f,sinceSeq:a}):void 0}})},t)}async function sa(e){return (await unwrap(e.get("/v1/account/notifications",{params:de({limit:1})}).andThen(y(FetchPerpsUnreadNotificationsCountResponseSchema)))).unread}var hf=z.object({ids:z.array(z.string().min(1)).min(1)}),Sf=z.object({upTo:z.object({id:z.string().min(1),timestamp:z.number().int().nonnegative()})}),Tf=z.union([hf.transform(({ids:e})=>({ids:e})),Sf.transform(({upTo:e})=>({before:xf(e)}))]);async function aa(e,r){let t=l(r,Tf),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 xf(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 ia(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 zr(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function de(e){return g(e,E())}function Cf(e){return e.confirmedTimestamp??e.createdTimestamp}function kf(e){return e.confirmedTimestamp??e.createdTimestamp}function Nt(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:zr({...e.state,endTimestamp:s,seenKeys:Array.from(a)})}}function pa(e){switch(e){case "1h":return 3600*1e3;case "4h":return 14400*1e3;case "1d":return Dr;case "1w":return 7*Dr}invariant(false,`Unsupported Perps account history interval: ${String(e)}`);}var $t=z.object({instrumentId:PerpsInstrumentIdSchema,side:OrderSideSchema,quantity:PerpsDecimalInputSchema,reduceOnly:z.boolean().default(false),clientOrderId:PerpsClientOrderIdSchema.optional()}),Lf=$t.extend({price:PerpsDecimalInputSchema,timeInForce:z.literal(PerpsTimeInForce.GTC),postOnly:z.boolean().default(false)}),Mf=$t.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.IOC),postOnly:z.never().optional()}),Ff=$t.extend({price:PerpsDecimalInputSchema.optional(),timeInForce:z.literal(PerpsTimeInForce.FOK),postOnly:z.never().optional()}),fa=z.discriminatedUnion("timeInForce",[Lf,Mf,Ff]),Wr=z.object({triggerPrice:PerpsDecimalInputSchema,limitPrice:PerpsDecimalInputSchema.optional()}),jr=z.object({triggerPrice:PerpsDecimalInputSchema}),Bf=z.union([z.object({takeProfit:Wr,stopLoss:Wr.optional()}),z.object({takeProfit:Wr.optional(),stopLoss:Wr})]),Uf=z.object({orders:z.array(fa).min(1),expiresAt:z.number().int().positive().optional()});async function Vt(e,r){let t=l(r,Uf);return await e.sendSignedWsCommand({op:["createOrders",t.orders.map(Ca)],responseSchema:z.array(PerpsPostOrderAckSchema),timeoutMessage:"Perps post order acknowledgement timed out.",expiresAt:t.expiresAt})}var Df=z.intersection(fa,z.intersection(Bf,z.object({expiresAt:z.number().int().positive().optional()})));function ya(e){return e.takeProfit!==void 0||e.stopLoss!==void 0}async function Pa(e,r){let t=l(r,Df),o=[Ca(t)],n=t.side===OrderSide.SELL;return t.takeProfit!==void 0&&o.push(Nr({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:toDecimalString(t.quantity),trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Nr({buy:n,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:toDecimalString(t.quantity),trigger:t.stopLoss})),await ka(e,{expiresAt:t.expiresAt,group:PerpsTpSlScope.Order,orders:o})}var zf=z.union([z.object({takeProfit:jr,stopLoss:jr.optional()}),z.object({takeProfit:jr.optional(),stopLoss:jr})]),Wf=z.intersection(zf,z.object({instrumentId:PerpsInstrumentIdSchema,expiresAt:z.number().int().positive().optional()})),jf=z.intersection(Wf,z.object({buy:z.boolean()}));async function ga(e,r){let t=l(r,jf),o=[];return t.takeProfit!==void 0&&o.push(Nr({buy:t.buy,instrumentId:t.instrumentId,kind:PerpsTpSlKind.TakeProfit,quantity:"0",trigger:t.takeProfit})),t.stopLoss!==void 0&&o.push(Nr({buy:t.buy,instrumentId:t.instrumentId,kind:PerpsTpSlKind.StopLoss,quantity:"0",trigger:t.stopLoss})),await ka(e,{expiresAt:t.expiresAt,group:PerpsTpSlScope.Position,orders:o})}var Hf=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 Ra(e,r){let t=l(r,Hf),[o]=t.orderId!==void 0?await _r(e,{orderIds:[t.orderId],expiresAt:t.expiresAt}):await _r(e,{clientOrderIds:[t.clientOrderId],expiresAt:t.expiresAt});return expectPresent(o,"Expected Perps cancel order result.")}var _f=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 _r(e,r){let t=l(r,_f);return t.orderIds!==void 0?await e.sendSignedWsCommand({op:["cancelOrders",t.orderIds],responseSchema:z.array(PerpsCancelOrderResultSchema),timeoutMessage:"Perps cancel order response timed out.",expiresAt:t.expiresAt}):await e.sendSignedWsCommand({op:["cancelOrdersCOID",t.clientOrderIds],responseSchema:z.array(PerpsCancelOrderResultSchema),timeoutMessage:"Perps cancel order response timed out.",expiresAt:t.expiresAt})}var Nf=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),expiresAt:z.number().int().positive().optional()}).default({});async function Ea(e,r,t){let o=l(t,Nf),n=["cancelAll",o.instrumentId===void 0?[]:[o.instrumentId]],s=r(n,o.expiresAt);await unwrap(e.del("/v1/trade/orders/all",{json:{...s,op:Yt(n)}}).andThen(y(PerpsCancelAllOrdersResponseSchema)));}var Gf=z.object({instrumentId:PerpsInstrumentIdSchema,leverage:z.number().int().positive(),crossMargin:z.boolean()}),ha=m(f,l$1,c,a);async function Sa(e,r){let t=l(r,Gf);return await e.sendSignedWsCommand({op:["updateLeverage",[t.instrumentId,t.leverage,t.crossMargin]],responseSchema:PerpsUpdateLeverageResultSchema,timeoutMessage:"Perps update leverage response timed out."})}var Kf=z.object({instrumentId:PerpsInstrumentIdSchema,amount:PerpsDecimalInputSchema}),Ta=m(f,l$1,c,a);async function xa(e,r){let t=l(r,Kf),o=toDecimalString(t.amount),n=await e.sendSignedWsCommand({op:["updateMargin",[t.instrumentId,o]],responseSchema:PerpsCommandAckSchema,timeoutMessage:"Perps update margin acknowledgement timed out."});if(n.status==="err")throw new f(n.error,{status:200})}function Ca(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 Nr(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]]}async function ka(e,r){return await e.sendSignedWsCommand({op:["createOrders",r.orders,r.group],responseSchema:z.array(PerpsPostOrderAckSchema),timeoutMessage:"Perps place TP/SL order acknowledgement timed out.",expiresAt:r.expiresAt})}function Yt(e){let[r,t,o]=e;switch(r){case "createOrders":return Yf({args:t.map($f),type:r},o);case "cancelOrders":case "cancelOrdersCOID":return {type:r,args:t};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 $f(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=Vf(e[8])),r}function Vf(e){let r={tpsl:e[2],trp:e[1]};return e[0]!==void 0&&(r.market=e[0]),r}function Yf(e,r){return r!==void 0&&(e.grp=r),e}var ey=3e4,va=3e4,qa=2e3,ry=["balances","portfolio","orders","fills","funding","deposits","withdrawals","notifications","tpsl"],ty=new Set(["notifications"]),oy=z.object({id:z.number().int().positive().optional(),data:z.unknown().optional()}).passthrough(),Oa=z.union([PerpsCommandAckSchema,z.array(PerpsCommandAckSchema)]).transform(e=>Array.isArray(e)?e.find(r=>r.status==="err")??e[0]:e),Aa=class{credentials;#e;#r;#t;#o;#n;#a=new Ur({heartbeat:new Fr});#s=pushable({objectMode:true});#i=new Map;#c=new Set;#p=new Br;#u=new Map;#m=1;#l;constructor(r){this.#e=new Mr({headers:r.headers,resolveHeaders:async()=>this.#b(),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.#l!==void 0}async connect(){await this.#P(false);}async close(){this.#l===void 0&&(this.#l=this.#v()),await this.#l;}[Symbol.asyncIterator](){return this.#s[Symbol.asyncIterator]()}async fetchBalances(){return await Ks(this.#e)}async fetchPortfolio(){return await $s(this.#e)}async fetchStats(){return await Vs(this.#e)}async fetchAccountConfig(r){return await Ys(this.#e,r)}async fetchOpenOrders(r){return await Zs(this.#e,r)}async fetchOrders(r){return await Js(this.#e,r)}listFills(r={}){return Qs(this.#e,r)}listFundingPayments(r={}){return Xs(this.#e,r)}listDeposits(r={}){return ea(this.#e,r)}listWithdrawals(r={}){return ra(this.#e,r)}listEquityHistory(r){return ta(this.#e,r)}listPnlHistory(r){return oa(this.#e,r)}listNotifications(r={}){return na(this.#e,r)}async fetchUnreadNotificationsCount(){return await sa(this.#e)}async markNotificationsRead(r){await aa(this.#e,r);}async placeOrder(r){if(ya(r))return await this.#T(r);let[t]=await Vt(this.#d(),{orders:[r],expiresAt:r.expiresAt}).then(expectNonEmptyArray);if(t.status==="err")throw new f(t.error,{status:200});return {order:(await this.#h(n=>n.type==="order"&&n.payload.id===t.orderId,qa)).payload}}async postOrders(r){return await Vt(this.#d(),r)}async#T(r){let t=await Pa(this.#d(),r).then(expectNonEmptyArray);for(let P of t)if(P.status==="err")throw new f(P.error,{status:200});let[o]=t,n=cr(o),s=await this.#h(P=>P.type==="order"&&P.payload.id===n.orderId,qa),a=1,f$1={};return r.takeProfit!==void 0&&(f$1.takeProfit=cr(expectPresent(t[a++],"Expected Perps take-profit acknowledgement."))),r.stopLoss!==void 0&&(f$1.stopLoss=cr(expectPresent(t[a],"Expected Perps stop-loss acknowledgement."))),{order:s.payload,tpSl:f$1}}async placePositionTpSl(r){let t=await ga(this.#d(),{...r,buy:await this.#x(r.instrumentId)}).then(expectNonEmptyArray);for(let s of t)if(s.status==="err")throw new f(s.error,{status:200});let o=0,n={};return r.takeProfit!==void 0&&(n.takeProfit=cr(expectPresent(t[o++],"Expected Perps take-profit acknowledgement."))),r.stopLoss!==void 0&&(n.stopLoss=cr(expectPresent(t[o],"Expected Perps stop-loss acknowledgement."))),{tpSl:n}}async#x(r){let o=(await this.fetchPortfolio()).positions.find(s=>s.instrumentId===r),n=o===void 0?0:ay(o.size);if(n===0)throw new a(`No open Perps position for instrument ${r}.`);return n<0}async cancelOrder(r){return await Ra(this.#d(),r)}async cancelOrders(r){return await _r(this.#d(),r)}async cancelAllOrders(r){await Ea(this.#e,(t,o)=>this.#g(t,o),r);}async updateLeverage(r){return await Sa(this.#d(),r)}async updateMargin(r){await xa(this.#d(),r);}async#P(r){await this.#a.connect({onConnectionLost:()=>this.#A(),onError:()=>{},onMessage:t=>this.#q(t),onOpen:()=>{},headers:this.#t,url:this.#n}),await this.#C(),await this.#k(),this.#p.resetBackoff(),r&&(this.#u.clear(),this.#s.push({reason:"reconnect",type:"resync"}));}async#C(){await this.#f({id:this.#m++,op:{args:{proxy:this.credentials.proxy,secret:this.credentials.secret},type:"auth"},req:"post"},Oa,ey,"Perps session authentication timed out.");}async#k(){await this.#f({id:this.#m++,req:"sub",chs:ry},Oa,va,"Perps session subscription timed out.");}#b(){return {"POLYMARKET-PROXY":this.credentials.proxy,"POLYMARKET-SECRET":this.credentials.secret}}#d(){return {sendSignedWsCommand:r=>this.#I(r)}}async#I(r){let t=Yt(r.op),o=this.#g(r.op,r.expiresAt);return await this.#f({...o,id:this.#m++,op:t,req:"post"},r.responseSchema,va,r.timeoutMessage)}#g(r,t){let o=iy(),n=Date.now(),s;try{s=Ms({chainId:this.#r,op:r,privateKey:this.credentials.privateKey,salt:o,timestamp:n});}catch(f){throw l$1.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#f(r,t,o,n){let s=ny(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#v(){this.#p.stop(),this.#R(new c("Perps session closed.")),this.#S(new c("Perps session closed.")),this.#s.end(),await this.#a.close(),this.#o(this);}#q(r){if(this.#O(r)||PerpsNotificationsResyncFrameSchema.safeParse(r).success)return;let t=PerpsSessionUpdateEventSchema.safeParse(r);if(!t.success)return;let o=t.data;this.#w(o),this.#E(o);}#O(r){let t=oy.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=wa(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 sy(n.data)?o.reject(new f(n.data.error,{status:200})):o.resolve(n.data),true}#A(){this.#R(new c("Perps session connection closed.")),this.#S(new c("Perps session connection closed.")),this.#l===void 0&&this.#p.schedule({reconnect:()=>this.#P(true),shouldReconnect:()=>this.#l===void 0});}#R(r){for(let t of this.#i.values())t.reject(r);this.#i.clear();}#w(r){if(ty.has(r.channel))return;let t=this.#u.get(r.channel);this.#u.set(r.channel,r.sequence),!(t===void 0||r.sequence===t+1)&&this.#E({channel:r.channel,previousSequence:t,reason:"sequence_gap",sequence:r.sequence,type:"resync"});}#E(r){this.#M(r),this.#s.push(r);}#h(r,t){return this.#L(r,t).then(o=>o)}#L(r,t){let o,n=new Promise((s,a)=>{o={predicate:r,reject:a,resolve:s,timeout:setNonBlockingTimeout(()=>{this.#y(o),a(new h("Perps event wait timed out."));},t)};});return this.#c.add(o),n}#M(r){for(let t of Array.from(this.#c))t.predicate(r)&&(this.#y(t),t.resolve(r));}#y(r){this.#c.delete(r)&&clearTimeout(r.timeout);}#S(r){for(let t of Array.from(this.#c))this.#y(t),t.reject(r);}};function ny(e){let r,t;return {promise:new Promise((n,s)=>{r=n,t=s;}),reject:t,resolve:r,schema:e}}function sy(e){return wa(e)!==void 0}function wa(e){if(Array.isArray(e)||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 cr(e){if(e.status==="err")throw new f(e.error,{status:200});return {orderId:e.orderId}}function ay(e){let r=e.trim(),t=r.replace(/^[+-]/,"").replace(".","");return /^0*$/.test(t)?0:r.startsWith("-")?-1:1}function iy(){let[e]=globalThis.crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Fe=m(g$1,f,c,b,a),Pe=z.number().int().nonnegative(),Fa=1440*60*1e3,Iy=z.object({instrumentId:PerpsInstrumentIdSchema.optional(),category:PerpsInstrumentCategorySchema.optional()}).default({}),Jb=Fe;async function Qb(e,r){let t=l(r,Iy);return unwrap(e.perps.get("/v1/info/instruments",{params:g(t,E())}).andThen(y(FetchPerpsInstrumentsResponseSchema)))}var vy=z.object({instrumentId:PerpsInstrumentIdSchema}),Xb=Fe;async function eI(e,r){let t=l(r,vy),[o]=await Oy(e,t);if(o===void 0)throw new b(`Perps ticker ${t.instrumentId} was not returned by the API`);return o}var qy=z.object({instrumentId:PerpsInstrumentIdSchema.optional()}).default({}),rI=Fe;async function Oy(e,r){let t=l(r,qy),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 Ay=z.union([z.literal(10),z.literal(100),z.literal(500),z.literal(1e3)]),wy=z.object({instrumentId:PerpsInstrumentIdSchema,depth:Ay.default(100)}),tI=Fe;async function oI(e,r){let t=l(r,wy);return unwrap(e.perps.get("/v1/info/book",{params:g(t,E())}).andThen(y(PerpsBookSchema)))}var Ly=z.object({instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,start:Pe.optional(),end:Pe.optional(),cursor:PaginationCursorSchema.optional()}),My=z.object({cursor:PaginationCursorSchema}),Fy=z.union([Ly.transform(({cursor:e,...r})=>({cursor:e,params:Gy(r)})),My.transform(({cursor:e})=>({cursor:e,params:void 0}))]),nI=Fe;function sI(e,r){let{cursor:t,params:o}=l(r,Fy);return x(n=>{let s=n===void 0?Ky(o):Yy(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?eo({...s,startTimestamp:f.timestamp+Qy(s.interval)}):void 0}})},t)}var Ba=z.object({instrumentId:PerpsInstrumentIdSchema,start:Pe.optional(),end:Pe.optional()}),By=Ba.extend({cursor:PaginationCursorSchema.optional()}),Uy=z.object({cursor:PaginationCursorSchema}),Dy=z.union([By.transform(({cursor:e,...r})=>({cursor:e,params:Ua(r)})),Uy.transform(({cursor:e})=>({cursor:e,params:void 0}))]),zy=Ba.extend({cursor:PaginationCursorSchema.optional()}),Wy=z.object({cursor:PaginationCursorSchema}),aI=Fe;function iI(e,r){let{cursor:t,params:o}=l(r,Dy);return x(n=>{let s=n===void 0?$y(o):Zy(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?eo({...s,endTimestamp:f.timestamp-1}):void 0}})},t)}var jy=z.union([zy.transform(({cursor:e,...r})=>({cursor:e,params:Ua(r)})),Wy.transform(({cursor:e})=>({cursor:e,params:void 0}))]),pI=Fe;function cI(e,r){let{cursor:t,params:o}=l(r,jy);return x(n=>{let s=n===void 0?Vy(o):Jy(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(ki=>!a.has(ki.tradeId)),O=f.data.at(-1),v=P.at(-1),j=v?.timestamp??O?.timestamp,U=f.more&&j!==void 0&&j>s.startTimestamp;return {items:P,hasMore:U,nextCursor:U?eo({...s,endTimestamp:v===void 0?j-1:j,seenTradeIds:v===void 0?[]:Xy(s,P,v)}):void 0}})},t)}var dI=m(g$1,f,c,b);async function uI(e){return (await unwrap(e.perps.get("/v1/info/fees").andThen(y(FetchPerpsFeesResponseSchema)))).feeSchedule}var Hy=z.object({kind:z.literal("perpsCandles"),instrumentId:PerpsInstrumentIdSchema,interval:PerpsKlineIntervalSchema,startTimestamp:Pe,endTimestamp:Pe}),_y=z.object({kind:z.literal("perpsFundingHistory"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe}),Ny=z.object({kind:z.literal("perpsTrades"),instrumentId:PerpsInstrumentIdSchema,startTimestamp:Pe,endTimestamp:Pe,seenTradeIds:z.array(PerpsTradeIdSchema)});function Gy(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,interval:e.interval,startTimestamp:e.start??r-Fa}}function Ua(e){let r=Date.now();return {endTimestamp:e.end??r,instrumentId:e.instrumentId,startTimestamp:e.start??r-Fa}}function Ky(e){return invariant(e!==void 0,"Expected initial Perps candles params."),{kind:"perpsCandles",...e}}function $y(e){return invariant(e!==void 0,"Expected initial Perps funding params."),{kind:"perpsFundingHistory",...e}}function Vy(e){return invariant(e!==void 0,"Expected initial Perps trades params."),{kind:"perpsTrades",seenTradeIds:[],...e}}function Yy(e){return Xt(e,Hy)}function Zy(e){return Xt(e,_y)}function Jy(e){return Xt(e,Ny)}function Xt(e,r){try{return r.parse(JSON.parse(atob(e)))}catch(t){throw new a("Invalid Perps pagination cursor",{cause:t})}}function eo(e){return toPaginationCursor(btoa(JSON.stringify(e)))}function Qy(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 Xy(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 eP=z.custom(e=>isPrivateKey(e),"Expected a hex-encoded 32-byte private key."),rP=z.object({proxy:z.string().transform(e=>expectEvmAddress(e)),privateKey:eP,secret:z.string().min(1),expiresAt:z.number().int().positive()}),tP=10080*60*1e3,oP=z.strictObject({expiresIn:z.number().int().positive().default(tP),label:z.string().min(1).optional()}),nP=z.strictObject({credentials:rP}),sP=z.union([oP,nP]),aP=z.object({proxy:z.string()}),iP=aP.transform(e=>({proxy:expectEvmAddress(e.proxy)})),Da=z.bigint().positive().max(ee),pP=z.object({amount:Da,metadata:$.optional()}),cP=z.object({amount:Da}),lI=m(g$1,f,l$1,c,b,a),mI=m(g$1,f,l$1,c,b,a),fI=m(a),yI=m(j,g$1,f,l$1,c,b,a),PI=m(g$1,f,l$1,c,b,a);async function gI(e,r={}){let t=l(r,sP),o="credentials"in t?await lP(e,t.credentials):await uP(e,t);return e.webSockets.perpsSession.connect(o)}async function RI(e,r){let t=l(r,iP),o={type:"deleteProxy",args:{proxy:t.proxy}},n=["deleteProxy",[t.proxy]],s=ro(),a=Date.now(),f$1=await fP(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 dP(e,r){let t=l(r,pP),{contracts:o}=e.environment,n=Zo(o.perpsDepositContract,o.collateralToken,t.amount,e.account.signer);return async function*(){return e.account.walletType===WalletType.EOA?G(yield SP(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 EI(e,r){return dP(e,r).then(H(e.signer))}async function hI(e,r){let t=l(r,cP),o=Math.floor(Date.now()/1e3),n=ro(),s={type:"withdraw",args:{account:e.account.signer,token:e.environment.contracts.collateralToken,amount:t.amount.toString(),to:e.account.wallet}},a=await yP(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 uP(e,r){let t=RP(),o=Wa(t),n=e.account.signer,s=Date.now()+r.expiresIn,a=Date.now(),f=ro(),P={args:{expiry:s,owner:n,proxy:o},type:"createProxy"},O=await mP(e,{expiresAt:s,proxy:o,salt:f,timestamp:a}),v={op:P,salt:f,sig:O,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 za(e,U)}async function lP(e,r){return EP(r),za(e,r)}async function za(e,r){let t=await unwrap(e.perps.get("/v1/account/credentials",{headers:hP(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 mP(e,r){try{return await e.signer.signTypedData(gP({chainId:e.environment.chainId,...r}))}catch(t){throw l$1.fromError(t,"Could not sign the Perps proxy credentials request")}}async function fP(e,r){try{return await e.signer.signTypedData(Dt({chainId:e.environment.chainId,op:r.signedOp,salt:r.salt,timestamp:r.timestamp}))}catch(t){throw l$1.fromError(t,"Could not sign the Perps operation request")}}async function yP(e,r){try{return await e.signer.signTypedData(PP({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 l$1.fromError(t,"Could not sign the Perps withdrawal request")}}function PP(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 gP(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 RP(){return expectPrivateKey(Secp256k1.randomPrivateKey(),"Generated invalid Perps proxy key.")}function Wa(e){return expectEvmAddress(Address.fromPublicKey(Secp256k1.getPublicKey({privateKey:e})))}function EP(e){let r=Wa(e.privateKey);if(!isSameEvmAddress(r,e.proxy))throw new a("Perps credentials private key does not match the proxy address.")}function hP(e){return {"POLYMARKET-PROXY":e.proxy,"POLYMARKET-SECRET":e.secret}}function SP(e){return {kind:"sendPerpsDepositTransaction",request:e}}function ro(){let[e]=crypto.getRandomValues(new Uint32Array(1));return invariant(e!==void 0,"Expected crypto.getRandomValues to return a salt."),e}var Ha=(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))(Ha||{}),vP=z.enum(["CURRENT","INITIAL","TOKENS","CASHPNL","PERCENTPNL","TITLE","RESOLVING","PRICE","AVGPRICE"]),_a=z.enum(["ASC","DESC"]),qP=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:vP.optional(),sortDirection:_a.optional(),title:z.string().max(100).optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),wI=m(g$1,f,c,b,a);function LI(e,r){let{cursor:t,pageSize:o,...n}=l(r,qP);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 OP=z.enum(["REALIZEDPNL","TITLE","PRICE","AVGPRICE","TIMESTAMP"]),AP=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:OP.optional(),sortDirection:_a.optional()}).refine(e=>!(e.market&&e.eventId),{message:"Provide market or eventId, not both",path:["eventId"]}),MI=m(g$1,f,c,b,a);function FI(e,r){let{cursor:t,pageSize:o,...n}=l(r,AP);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 wP=z.enum(Ha),LP=z.union([ComboConditionIdSchema,z.array(ComboConditionIdSchema)]),MP=z.object({cursor:PaginationCursorSchema.optional(),user:z.string(),pageSize:w.default(20),status:ComboPositionStatusSchema.optional(),sort:wP.optional(),conditionId:LP.optional(),updatedAfter:z.number().int().min(0).optional(),updatedBefore:z.number().int().min(0).optional()}),BI=m(g$1,f,c,b,a);function UI(e,r){let{cursor:t,pageSize:o,conditionId:n,...s}=l(r,MP);return x(a=>{let f=g({...s,limit:o,cursor:a},E({updatedAfter:"updatedAfter",updatedBefore:"updatedBefore"}));return FP(f,n),e.data.get("/v1/positions/combos",{params:f}).andThen(y(ListComboPositionsResponseSchema)).map(P=>{let O=P.pagination.nextCursor??void 0;return {items:P.combos,hasMore:O!==void 0,nextCursor:O}})},t)}function FP(e,r){r!==void 0&&e.append("market_id",Array.isArray(r)?r.join(","):r);}var BP=z.object({user:z.string(),market:z.array(z.string()).optional()}),DI=m(g$1,f,c,b,a);async function zI(e,r){let t=l(r,BP);return unwrap(e.data.get("/value",{params:N(t)}).andThen(y(FetchPortfolioValueResponseSchema)))}var UP=z.object({user:z.string()}),WI=m(g$1,f,c,b,a);async function jI(e,r){let t=l(r,UP);return unwrap(e.data.get("/traded",{params:N(t)}).andThen(y(TradedSchema)))}var DP=z.object({user:z.string()}),HI=m(g$1,f,c,b,a);async function _I(e,r){let t=l(r,DP);return unwrap(e.data.get("/v1/accounting/snapshot",{params:N(t)}).andThen(go))}var Va=32,Ya=3n,Ka=50,WP=(1n<<256n)-1n;function no(e){let r=AbiParameters.encode([{name:"legs",type:"uint256[]"}],[e]),t=Hash.keccak256(AbiParameters.encode([{name:"moduleId",type:"uint256"},{name:"data",type:"bytes"}],[Ya,r])),o=toComboConditionId(`0x03${t.slice(34)}0000000000000000000000000000`);return {conditionId:o,positionIds:[toPositionId(BigInt(`${o}00`).toString()),toPositionId(BigInt(`${o}01`).toString())]}}function Za(e){if(e.length===0||e.length>Ka)throw new a(`Combo legs must include 1 to ${Ka} position IDs`);let r=e.map(t=>{let o=Qa(t),n=o.toString(16).padStart(Va*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 Ja(e){let t=Qa(e).toString(16).padStart(Va*2,"0"),o=BigInt(`0x${t.slice(0,2)}`),n=Number.parseInt(t.slice(-2),16);if(o!==Ya)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 Qa(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>WP)throw new a("Position ID must be a uint256 value");return t}var ei=z.object({amount:z.bigint().min(0n),conditionId:CtfConditionIdSchema,metadata:$.optional()}),HP=z.object({amount:z.bigint().positive(),legs:z.array(PositionIdSchema).min(1).max(50),metadata:$.optional()}),ri=z.array(PositionIdSchema).min(1).max(50).transform(Za),_P=z.object({amount:z.bigint().positive(),legs:ri,metadata:$.optional()}),NP=z.union([ei.extend({legs:z.never().optional()}),HP.extend({conditionId:z.never().optional()})]),ti=m(g$1,f,c,b,a),dv=ti,uv=ti,oi=m(g$1,f,c,b,a),lv=oi,mv=oi,ni=m(g$1,f,c,b,a),fv=ni,yv=ni;async function si(e,r){let t=l(r,ei),o=await po(e,{conditionId:t.conditionId}),n=Jo(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?G(yield so(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 ai(e,r){let t=l(r,_P),o=tt(e.environment.contracts.combinatorialModule,t.legs),n=no(t.legs),s=en(e.environment.contracts.protocolV2Router,n.conditionId,t.amount);return async function*(){return e.account.walletType===WalletType.EOA?(await G(yield so(K(e.environment.chainId,o))).wait(),G(yield so(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 GP(e,r){let t=l(r,NP);return t.legs!==void 0?ai(e,t):si(e,t)}var ii=m(j,g$1,f,l$1,h,i,c,b,a),Pv=ii,gv=ii;function Rv(e,r){return si(e,r).then(H(e.signer))}function Ev(e,r){return ai(e,r).then(H(e.signer))}function hv(e,r){return GP(e,r).then(H(e.signer))}var pi=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),conditionId:CtfConditionIdSchema,metadata:$.optional()}),KP=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:z.array(PositionIdSchema).min(1).max(50),metadata:$.optional()}),$P=z.object({amount:z.union([z.bigint().positive(),z.literal("max")]),legs:ri,metadata:$.optional()}),VP=z.union([pi.extend({legs:z.never().optional()}),KP.extend({conditionId:z.never().optional()})]);async function ci(e,r){let t=l(r,pi),o=await po(e,{conditionId:t.conditionId}),n=et(await e.rpc.ethCall(Xr(o.positionErc1155Address,e.account.wallet,o.tokenIds))),s=Pi(o.conditionId,n,t.amount),a=Qo(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId,s);return async function*(){return e.account.walletType===WalletType.EOA?G(yield ao(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 di(e,r){let t=l(r,$P),o=tt(e.environment.contracts.combinatorialModule,t.legs),n=no(t.legs),s=et(await e.rpc.ethCall(Xr(e.environment.contracts.positionManager,e.account.wallet,n.positionIds))),a=Pi(n.conditionId,s,t.amount),f=rn(e.environment.contracts.protocolV2Router,n.conditionId,a);return async function*(){return e.account.walletType===WalletType.EOA?(await G(yield ao(K(e.environment.chainId,o))).wait(),G(yield ao(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 YP(e,r){let t=l(r,VP);return t.legs!==void 0?di(e,t):ci(e,t)}var ui=m(j,g$1,f,l$1,h,i,c,b,a),Sv=ui,Tv=ui;function xv(e,r){return ci(e,r).then(H(e.signer))}function Cv(e,r){return di(e,r).then(H(e.signer))}function kv(e,r){return YP(e,r).then(H(e.signer))}var li=z.object({conditionId:CtfConditionIdSchema,marketId:z.never().optional(),amount:z.never().optional(),positionId:z.never().optional(),metadata:$.optional()}),mi=z.object({conditionId:z.never().optional(),marketId:MarketIdSchema,amount:z.never().optional(),positionId:z.never().optional(),metadata:$.optional()}),ZP=z.union([li,mi]),fi=z.object({positionId:PositionIdSchema,conditionId:z.never().optional(),marketId:z.never().optional(),metadata:$.optional()}),JP=z.union([li,mi,fi]);async function QP(e,r){let t=l(r,ZP),o=await po(e,t.conditionId!==void 0?{conditionId:t.conditionId,closed:true}:{marketId:t.marketId,closed:true}),n=Xo(o.adapterAddress,e.environment.contracts.collateralToken,o.conditionId);return async function*(){return e.account.walletType===WalletType.EOA?G(yield yi(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 XP(e,r){let t=l(r,fi),o=Ja(t.positionId),n=Yo(await e.rpc.ethCall(Vo(e.environment.contracts.positionManager,e.account.wallet,t.positionId)));if(n===0n)throw new a("Combo position has no balance to redeem");let s=tn(e.environment.contracts.protocolV2Router,o.conditionId,o.outcomeIndex,n);return async function*(){return e.account.walletType===WalletType.EOA?G(yield yi(K(e.environment.chainId,s))):yield*await Q(e,{calls:[s],metadata:t.metadata??`Redeem combo position ${t.positionId}`})}.call(null)}async function eg(e,r){let t=l(r,JP);return t.positionId!==void 0?XP(e,t):QP(e,t)}var bv=m(j,g$1,f,l$1,c,b,a);function Iv(e,r){return eg(e,r).then(H(e.signer))}function so(e){return {kind:"sendSplitPositionTransaction",request:e}}function ao(e){return {kind:"sendMergePositionsTransaction",request:e}}function yi(e){return {kind:"sendRedeemPositionsTransaction",request:e}}async function po(e,r){let t=r.conditionId!==void 0?`condition ${r.conditionId}`:`market ${r.marketId}`,o=await jn(e,r.conditionId!==void 0?{conditionIds:[r.conditionId],closed:r.closed,pageSize:1}:{ids:[rg(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=tg(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 rg(e){let r=Number(e);if(!Number.isInteger(r))throw new a(`Market ID must be an integer, received ${e}`);return r}function tg(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 Pi(e,r,t){let o=og(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 og(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 pg=z.object({address:z.string()}),Bv=m(g$1,f,c,b,a);async function Uv(e,r){let t=l(r,pg);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 co=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;}},jv=m(e,co,l$1,h,c,a),uo=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;}},Hv=m(e,uo,h,c),lo=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;}},_v=m(e,lo,h,c),Nv=m(e,c);async function Gv(e){return e.webSockets.rfqQuoter.connect()}var Ri=(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))(Ri||{}),ug=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(Ri).optional()}),pq=m(g$1,f,c,b,a);function cq(e,r){let{cursor:t,pageSize:o,...n}=l(r,ug);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:lg(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 lg(e){return {events:e.events??[],profiles:e.profiles??[],tags:e.tags??[]}}var gg=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()}),Rg=z.object({id:z.string(),locale:z.string().optional()}),hq=m(g$1,f,c,b,a);function Sq(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,gg);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 Tq=m(g$1,f,c,b,a);async function xq(e,r){let t=l(r,Rg);return unwrap(e.gamma.get(`series/${t.id}`,{params:g({locale:t.locale},E())}).andThen(y(SeriesSchema)))}var qq=m(g$1,f,c,b);async function Oq(e){return unwrap(e.gamma.get("/sports").andThen(y(ListSportsMetadataResponseSchema)))}var Aq=m(g$1,f,c,b);async function wq(e){return unwrap(e.gamma.get("/sports/market-types").andThen(y(SportsMarketTypesResponseSchema)))}var zq=m(c,a),xg=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 Wq(e,r){for(let o of r)o.topic==="prices.crypto.chainlink.twap"&&l(o,xg);let t=await Promise.all(r.map(o=>Cg(e,o)));return kg(t)}function Cg(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 kg(e){let r;async function t(){r===void 0&&(r=Promise.all(e.map(n=>n.close())).then(()=>{})),await r;}let o=Tg(...e);return {close:t,[Symbol.asyncIterator](){return o[Symbol.asyncIterator]()}}}var vg=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)}),qg=z.union([z.object({id:z.string(),includeTemplate:z.boolean().optional(),locale:z.string().optional()}),z.object({slug:z.string(),locale:z.string().optional()})]),Og=z.object({id:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Ag=z.object({slug:z.string()}),wg=z.object({id:z.string(),locale:z.string().optional(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Lg=z.object({locale:z.string().optional(),slug:z.string(),omitEmpty:z.boolean().optional(),status:z.enum(["active","closed","all"]).optional()}),Jq=m(g$1,f,c,b,a);function Qq(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,vg);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 Xq=m(g$1,f,c,b,a);async function eO(e,r){let t=l(r,qg);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 rO=m(g$1,f,c,b,a);async function tO(e,r){if("id"in r){let o=l(r,Og);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,Ag);return unwrap(e.gamma.get(`tags/slug/${t.slug}/related-tags`).andThen(y(ListRelatedTagsResponseSchema)))}var oO=m(g$1,f,c,b,a);async function nO(e,r){if("id"in r){let o=l(r,wg);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,Lg);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 Bg=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()}),fO=m(g$1,f,c,b,a);function yO(e,r={}){let{cursor:t,pageSize:o,...n}=l(r,Bg);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 Dg=z.object({amount:z.bigint(),metadata:$.optional(),recipientAddress:EvmAddressSchema,tokenAddress:EvmAddressSchema}),bO=m(a);async function zg(e,r){let t=l(r,Dg);return async function*(){return e.account.walletType===WalletType.EOA?G(yield Wg(K(e.environment.chainId,rt(t.tokenAddress,t.recipientAddress,t.amount)))):yield*await Q(e,{calls:[rt(t.tokenAddress,t.recipientAddress,t.amount)],metadata:t.metadata??`Transfer ${t.amount} of ${t.tokenAddress} to ${t.recipientAddress}`})}.call(null)}var IO=m(j,g$1,f,l$1,c,b,a);function vO(e,r){return zg(e,r).then(H(e.signer))}function Wg(e){return {kind:"sendErc20TransferTransaction",request:e}}
|
|
2
|
-
export{Mo as $,Eh as $a,_S as $b,Et as $c,fI as $d,Iv as $e,RE as A,GE as Aa,bn as Ab,sx as Ac,Bs as Ad,lv as Ae,wq as Af,tn as B,$ as Ba,cS as Bb,ax as Bc,Us as Bd,mv as Be,zq as Bf,EE as C,KE as Ca,In as Cb,hx as Cc,Ds as Cd,ni as Ce,Wq as Cf,tt as D,$E as Da,dS as Db,jn as Dc,Fr as Dd,fv as De,Jq as Df,on as E,vc as Ea,vn as Eb,Sx as Ec,Br as Ed,yv as Ee,Qq as Ef,nn as F,VE as Fa,uS as Fb,Tx as Fc,Ur as Fd,si as Fe,Xq as Ff,l as G,Q as Ga,lS as Gb,xx as Gc,ha as Gd,ai as Ge,eO as Gf,Eo as H,it as Ha,mS as Hb,Cx as Hc,Ta as Hd,GP as He,rO as Hf,sR as I,pt as Ia,fS as Ib,kx as Ic,Aa as Id,ii as Ie,tO as If,Io as J,ct as Ja,yS as Jb,bx as Jc,Jb as Jd,Pv as Je,oO as Jf,vo as K,dt as Ka,xr as Kb,Ix as Kc,Qb as Kd,gv as Ke,nO as Kf,qo as L,ut as La,PS as Lb,vx as Lc,Xb as Ld,Rv as Le,fO as Lf,RR as M,lt as Ma,gS as Mb,qx as Mc,eI as Md,Ev as Me,yO as Mf,ER as N,YE as Na,RS as Nb,Ox as Nc,rI as Nd,hv as Ne,bO as Nf,hR as O,er as Oa,ES as Ob,Ax as Oc,Oy as Od,ci as Oe,zg as Of,SR as P,ah as Pa,hS as Pb,wx as Pc,tI as Pd,di as Pe,IO as Pf,TR as Q,Wc as Qa,SS as Qb,Wx as Qc,oI as Qd,YP as Qe,vO as Qf,xR as R,ih as Ra,TS as Rb,jx as Rc,nI as Rd,ui as Re,CR as S,fn as Sa,xS as Sb,Hx as Sc,sI as Sd,Sv as Se,Lo as T,ph as Ta,CS as Tb,_x as Tc,aI as Td,Tv as Te,kR as U,Hc as Ua,kS as Ub,Nx as Uc,iI as Ud,xv as Ue,bR as V,ch as Va,bS as Vb,Gx as Vc,pI as Vd,Cv as Ve,IR as W,yn as Wa,IS as Wb,Kx as Wc,cI as Wd,kv as We,vR as X,dh as Xa,vS as Xb,$x as Xc,dI as Xd,QP as Xe,qR as Y,_c as Ya,qS as Yb,rC as Yc,uI as Yd,XP as Ye,Zr as Z,uh as Za,OS as Zb,tC as Zc,lI as Zd,eg as Ze,OR as _,lh as _a,AS as _b,al as _c,mI as _d,bv as _e,ee as a,AR as aa,Yc as ab,NS as ac,uC as ad,yI as ae,Bv as af,dE as b,wR as ba,hh as bb,GS as bc,lC as bd,PI as be,Uv as bf,Pr as c,LR as ca,Zc as cb,Zd as cc,Or as cd,gI as ce,co as cf,No as d,MR as da,Sh as db,KS as dc,mC as dd,RI as de,jv as df,Go as e,FR as ea,Th as eb,$S as ec,hs as ed,dP as ee,uo as ef,gr as f,BR as fa,xh as fb,Ss as fd,EI as fe,Hv as ff,Ko as g,UR as ga,Ch as gb,aT as gc,Lt as gd,hI as ge,lo as gf,$o as h,DR as ha,kh as hb,iT as hc,Gl as hd,Ha as he,_v as hf,Vo as i,zR as ia,bh as ib,pT as ic,Mt as id,wI as ie,Nv as if,Yo as j,WR as ja,Ih as jb,cT as jc,Kl as jd,LI as je,Gv as jf,Xr as k,jR as ka,vh as kb,dT as kc,Ft as kd,MI as ke,et as l,HR as la,qh as lb,uT as lc,ak as ld,FI as le,uE as m,QR as ma,Oh as mb,bT as mc,ik as md,BI as me,rt as n,XR as na,Ah as nb,IT as nc,pk as nd,UI as ne,lE as o,eE as oa,wh as ob,vT as oc,ck as od,DI as oe,Zo as p,rE as pa,Hh as pb,qT as pc,gk as pd,zI as pe,mE as q,tE as qa,_h as qb,OT as qc,Rk as qd,WI as qe,Ri as qf,fE as r,oE as ra,eS as rb,AT as rc,Bk as rd,jI as re,pq as rf,Jo as s,rS as sb,wT as sc,tm as sd,HI as se,cq as sf,yE as t,xE as ta,tS as tb,LT as tc,Uk as td,_I as te,hq as tf,Qo as u,G as ua,oS as ub,NT as uc,Dk as ud,Sq as uf,Xo as v,vE as va,nS as vb,GT as vc,zk as vd,Tq as vf,PE as w,sn as wa,sS as wb,KT as wc,om as wd,ti as we,xq as wf,en as x,_E as xa,aS as xb,$T as xc,Wk as xd,dv as xe,qq as xf,gE as y,at as ya,iS as yb,VT as yc,jk as yd,uv as ye,Oq as yf,rn as z,NE as za,pS as zb,YT as zc,Mr as zd,oi as ze,Aq as zf};//# sourceMappingURL=chunk-HFDKKOAD.js.map
|
|
3
|
-
//# sourceMappingURL=chunk-HFDKKOAD.js.map
|