@polymarket/client 0.5.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 +4 -4
- 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-MCGT5BAF.js +6 -0
- package/dist/chunk-MCGT5BAF.js.map +1 -0
- package/dist/{chunk-E5XS4GYG.js → chunk-O4EZ2N7U.js} +2 -2
- 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/index.d.ts +8 -8
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/node.js +1 -1
- package/dist/privy.js +1 -1
- package/dist/{sports-CM15YKJi.d.ts → sports-BPp6UXlR.d.ts} +1 -1
- package/dist/{types-BBaRrND2.d.ts → types-RGx7fNNl.d.ts} +474 -23
- package/dist/viem.d.ts +1 -1
- package/dist/viem.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-E5XS4GYG.js.map +0 -1
- package/dist/chunk-MIRUWWDK.js +0 -6
- package/dist/chunk-MIRUWWDK.js.map +0 -1
- package/dist/chunk-WDPLMZVQ.js +0 -3
- package/dist/chunk-WDPLMZVQ.js.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import {PolymarketError}from'@polymarket/types';var O=/^[$A-Z_a-z][$\w]*$/;function i(s){let r=c(s.issues);return r.length===0?"It was not possible to determine a more specific reason.":["Fix the following issues:",p(r)].join(`
|
|
2
|
+
`)}function u(s,r){let e=c(s.issues);return e.length===0?["Received an incompatible API response.",`Endpoint: ${r.endpoint}`,"This usually means the API response shape changed in a breaking way or the SDK is outdated.","It was not possible to determine a more specific reason."].join(`
|
|
3
|
+
`):["Received an incompatible API response.",`Endpoint: ${r.endpoint}`,"This usually means the API response shape changed in a breaking way or the SDK is outdated.","Fix the following issues:",p(e)].join(`
|
|
4
|
+
`)}function p(s){return s.map(e=>e.path===null?`- ${e.message}`:`- ${e.path}: ${e.message}`).join(`
|
|
5
|
+
`)}function c(s){return d(s).slice(0,99)}function d(s,r=[]){let e=s.flatMap(n=>{let a=[...r,...n.path];return n.code==="invalid_union"?n.errors.flatMap(A=>d(A,a)):[{code:n.code,message:n.message,path:a.length===0?null:P(a)}]});return Z(e)}function Z(s){let r=new Set,e=[];for(let n of s){let a=`${n.code}:${n.path??""}:${n.message}`;r.has(a)||(r.add(a),e.push(n));}return e.sort(U)}function U(s,r){return s.path===null&&r.path!==null?-1:s.path!==null&&r.path===null?1:(s.path??"").localeCompare(r.path??"")}function P(s){return s.reduce((r,e)=>typeof e=="number"?`${r}[${e.toString()}]`:typeof e!="string"?r:e.includes('"')?`${r}["${e.replaceAll('"','\\"')}"]`:O.test(e)?r.length===0?e:`${r}.${e}`:`${r}["${e}"]`,"")}var l=class s extends PolymarketError{name="UserInputError";constructor(r,e={}){super(r,e);}static fromZodError(r){return new s(i(r),{cause:r})}},m=class s extends PolymarketError{name="UnexpectedResponseError";constructor(r,e={}){super(r,e);}static fromZodError(r,e){return new s(u(r,e),{cause:r})}},f=class s extends PolymarketError{name="TransportError";constructor(r,e={}){super(r,e);}static fromError(r){return new s(r instanceof Error?r.message:"Request failed",{cause:r})}},T=(t=>(t[t.NormalClosure=1e3]="NormalClosure",t[t.GoingAway=1001]="GoingAway",t[t.ProtocolError=1002]="ProtocolError",t[t.UnsupportedData=1003]="UnsupportedData",t[t.NoStatusReceived=1005]="NoStatusReceived",t[t.AbnormalClosure=1006]="AbnormalClosure",t[t.InvalidFramePayload=1007]="InvalidFramePayload",t[t.PolicyViolation=1008]="PolicyViolation",t[t.MessageTooBig=1009]="MessageTooBig",t[t.InternalError=1011]="InternalError",t[t.ServiceRestart=1012]="ServiceRestart",t[t.TryAgainLater=1013]="TryAgainLater",t))(T||{}),g=class extends PolymarketError{name="ConnectionLostError";code;reason;constructor(r,e){super(r,e),this.code=e.code,this.reason=e.reason;}},y=class extends PolymarketError{name="RequestRejectedError";status;code;retryAfter;constructor(r,e){super(r,e),this.status=e.status,this.code=e.code,this.retryAfter=e.retryAfter;}},E=class extends PolymarketError{name="RateLimitError";retryAfter;constructor(r,e={}){super(r,e),this.retryAfter=e.retryAfter;}},I=class extends PolymarketError{name="TimeoutError";constructor(r,e={}){super(r,e);}},x=class extends PolymarketError{name="TransactionFailedError";constructor(r,e={}){super(r,e);}},h=class s extends PolymarketError{name="CancelledSigningError";constructor(r,e={}){super(r,e);}static fromError(r){return new s(r.message,{cause:r})}},$=class extends PolymarketError{name="InsufficientLiquidityError";constructor(r,e={}){super(r,e);}},R=class extends PolymarketError{name="AutoCancelDailyLimitError";constructor(r,e={}){super(r,e);}},v=class s extends PolymarketError{name="SigningError";constructor(r,e={}){super(r,e);}static fromError(r,e){let n=e??(r instanceof Error?r.message:"Signing failed");return new s(n,{cause:r})}};function V(...s){return {isError(r){return s.some(e=>r instanceof e)}}}export{l as a,m as b,f as c,T as d,g as e,y as f,E as g,I as h,x as i,h as j,$ as k,R as l,v as m,V as n};//# sourceMappingURL=chunk-MCGT5BAF.js.map
|
|
6
|
+
//# sourceMappingURL=chunk-MCGT5BAF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/validation.ts","../src/errors.ts"],"names":["identifierRegex","formatInputZodError","error","issues","flattenIssues","formatIssues","formatResponseZodError","context","issue","flattenIssueBranches","pathPrefix","flattened","path","branch","formatPath","dedupeIssues","seen","deduped","key","compareIssues","left","right","result","segment","UserInputError","_UserInputError","PolymarketError","message","options","UnexpectedResponseError","_UnexpectedResponseError","TransportError","_TransportError","WebSocketKnownCloseCode","ConnectionLostError","RequestRejectedError","RateLimitError","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","InsufficientLiquidityError","AutoCancelDailyLimitError","SigningError","_SigningError","msg","makeErrorGuard","classes","c"],"mappings":"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,EAAE,KAAA,CAAM,CAAA,CAAG,EAAkB,CACjE,CAEA,SAASM,CAAAA,CACPN,CAAAA,CACAO,CAAAA,CAAqC,EAAC,CACpB,CAClB,IAAMC,EAAYR,CAAAA,CAAO,OAAA,CAASK,CAAAA,EAAU,CAC1C,IAAMI,CAAAA,CAAO,CAAC,GAAGF,CAAAA,CAAY,GAAGF,CAAAA,CAAM,IAAI,CAAA,CAE1C,OAAIA,CAAAA,CAAM,IAAA,GAAS,eAAA,CACVA,CAAAA,CAAM,OAAO,OAAA,CAASK,CAAAA,EAC3BJ,CAAAA,CAAqBI,CAAAA,CAAQD,CAAI,CACnC,CAAA,CAGK,CACL,CACE,KAAMJ,CAAAA,CAAM,IAAA,CACZ,OAAA,CAASA,CAAAA,CAAM,QACf,IAAA,CAAMI,CAAAA,CAAK,MAAA,GAAW,CAAA,CAAI,KAAOE,CAAAA,CAAWF,CAAI,CAClD,CACF,CACF,CAAC,CAAA,CAED,OAAOG,CAAAA,CAAaJ,CAAS,CAC/B,CAEA,SAASI,CAAAA,CAAaZ,CAAAA,CAAqD,CACzE,IAAMa,CAAAA,CAAO,IAAI,GAAA,CACXC,CAAAA,CAA4B,EAAC,CAEnC,QAAWT,CAAAA,IAASL,CAAAA,CAAQ,CAC1B,IAAMe,EAAM,CAAA,EAAGV,CAAAA,CAAM,IAAI,CAAA,CAAA,EAAIA,CAAAA,CAAM,IAAA,EAAQ,EAAE,CAAA,CAAA,EAAIA,EAAM,OAAO,CAAA,CAAA,CAE1DQ,CAAAA,CAAK,GAAA,CAAIE,CAAG,CAAA,GAIhBF,CAAAA,CAAK,GAAA,CAAIE,CAAG,EACZD,CAAAA,CAAQ,IAAA,CAAKT,CAAK,CAAA,EACpB,CAEA,OAAOS,CAAAA,CAAQ,IAAA,CAAKE,CAAa,CACnC,CAEA,SAASA,CAAAA,CAAcC,EAAsBC,CAAAA,CAA+B,CAC1E,OAAID,CAAAA,CAAK,OAAS,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,CAAAA,CAAsC,CACxD,OAAOA,CAAAA,CAAK,MAAA,CAAe,CAACU,CAAAA,CAAQC,CAAAA,GAC9B,OAAOA,CAAAA,EAAY,SACd,CAAA,EAAGD,CAAM,CAAA,CAAA,EAAIC,CAAAA,CAAQ,UAAU,CAAA,CAAA,CAAA,CAGpC,OAAOA,CAAAA,EAAY,QAAA,CACdD,CAAAA,CAGLC,CAAAA,CAAQ,QAAA,CAAS,GAAG,CAAA,CACf,CAAA,EAAGD,CAAM,CAAA,EAAA,EAAKC,EAAQ,UAAA,CAAW,GAAA,CAAK,KAAK,CAAC,KAGhDvB,CAAAA,CAAgB,IAAA,CAAKuB,CAAO,CAAA,CAI7BD,CAAAA,CAAO,MAAA,GAAW,CAAA,CACbC,CAAAA,CAGF,GAAGD,CAAM,CAAA,CAAA,EAAIC,CAAO,CAAA,CAAA,CAPlB,GAAGD,CAAM,CAAA,EAAA,EAAKC,CAAO,CAAA,EAAA,CAAA,CAQ7B,EAAE,CACP,CC1IO,IAAMC,CAAAA,CAAN,MAAMC,CAAAA,SAAuBC,eAAgB,CACzC,IAAA,CAAO,iBAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,GAAI,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,YAAA,CAAa1B,CAAAA,CAAiC,CACnD,OAAO,IAAIuB,CAAAA,CAAexB,EAAoBC,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,YAAA,CACL1B,EACAK,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,UAAuBN,eAAgB,CACzC,IAAA,CAAO,gBAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAU1B,CAAAA,CAAgC,CAC/C,OAAO,IAAI8B,CAAAA,CACT9B,CAAAA,YAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,gBAAA,CACzC,CACE,MAAOA,CACT,CACF,CACF,CACF,EAOY+B,CAAAA,CAAAA,CAAAA,CAAAA,GACVA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,GAAA,CAAA,CAAhB,gBACAA,CAAAA,CAAAA,CAAAA,CAAA,SAAA,CAAY,IAAA,CAAA,CAAZ,WAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,IAAA,CAAA,CAAhB,eAAA,CACAA,IAAA,eAAA,CAAkB,IAAA,CAAA,CAAlB,iBAAA,CAEAA,CAAAA,CAAAA,CAAAA,CAAA,iBAAmB,IAAA,CAAA,CAAnB,kBAAA,CAEAA,CAAAA,CAAAA,CAAAA,CAAA,eAAA,CAAkB,MAAlB,iBAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,mBAAA,CAAsB,IAAA,CAAA,CAAtB,qBAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,eAAA,CAAkB,IAAA,CAAA,CAAlB,kBACAA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,IAAA,CAAA,CAAhB,eAAA,CACAA,IAAA,aAAA,CAAgB,IAAA,CAAA,CAAhB,eAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,eAAiB,IAAA,CAAA,CAAjB,gBAAA,CACAA,CAAAA,CAAAA,CAAAA,CAAA,aAAA,CAAgB,MAAhB,eAAA,CAdUA,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,CAAA,CACtB,IAAA,CAAK,IAAA,CAAOA,CAAAA,CAAQ,IAAA,CACpB,KAAK,MAAA,CAASA,CAAAA,CAAQ,OACxB,CACF,EAoBaO,CAAAA,CAAN,cAAmCT,eAAgB,CAC/C,KAAO,sBAAA,CAEP,MAAA,CAKA,IAAA,CAKA,UAAA,CAET,YACEC,CAAAA,CACAC,CAAAA,CACA,CACA,KAAA,CAAMD,EAASC,CAAO,CAAA,CACtB,IAAA,CAAK,MAAA,CAASA,EAAQ,MAAA,CACtB,IAAA,CAAK,IAAA,CAAOA,CAAAA,CAAQ,KACpB,IAAA,CAAK,UAAA,CAAaA,CAAAA,CAAQ,WAC5B,CACF,CAAA,CAcaQ,CAAAA,CAAN,cAA6BV,eAAgB,CACzC,IAAA,CAAO,gBAAA,CAMP,UAAA,CAET,YACEC,CAAAA,CACAC,CAAAA,CAAgD,EAAC,CACjD,CACA,KAAA,CAAMD,CAAAA,CAASC,CAAO,CAAA,CACtB,KAAK,UAAA,CAAaA,CAAAA,CAAQ,WAC5B,CACF,EAKaS,CAAAA,CAAN,cAA2BX,eAAgB,CACvC,KAAO,cAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaU,EAAN,cAAqCZ,eAAgB,CACjD,IAAA,CAAO,yBAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,GAAI,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaW,CAAAA,CAAN,MAAMC,CAAAA,SAA8Bd,eAAgB,CAChD,IAAA,CAAO,wBAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,GAAI,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAU1B,EAAqC,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,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAUac,CAAAA,CAAN,cAAwChB,eAAgB,CACpD,IAAA,CAAO,2BAAA,CAEhB,WAAA,CAAYC,EAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,MAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,EAMae,CAAAA,CAAN,MAAMC,CAAAA,SAAqBlB,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAU1B,CAAAA,CAAgByB,CAAAA,CAAgC,CAC/D,IAAMkB,CAAAA,CACJlB,CAAAA,GAAYzB,CAAAA,YAAiB,KAAA,CAAQA,EAAM,OAAA,CAAU,gBAAA,CAAA,CACvD,OAAO,IAAI0C,EAAaC,CAAAA,CAAK,CAAE,KAAA,CAAO3C,CAAM,CAAC,CAC/C,CACF,EAEO,SAAS4C,KAIXC,CAAAA,CACmE,CACtE,OAAO,CACL,QAAQ7C,CAAAA,CAAyD,CAC/D,OAAO6C,CAAAA,CAAQ,KAAMC,CAAAA,EAAM9C,CAAAA,YAAiB8C,CAAC,CAC/C,CACF,CACF","file":"chunk-MCGT5BAF.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 * Machine-readable error code from the response body, when the service\n * provided one.\n */\n code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when a service responds with a non-success status other than\n * rate limiting.\n */\nexport class RequestRejectedError extends PolymarketError {\n override name = 'RequestRejectedError' as const;\n\n readonly status: number;\n /**\n * Machine-readable error code from the response body, when the service\n * provided one.\n */\n readonly code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n this.code = options.code;\n this.retryAfter = options.retryAfter;\n }\n}\n\nexport type RateLimitErrorOptions = {\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when the service rejects a request because the rate limit has\n * been exceeded.\n */\nexport class RateLimitError extends PolymarketError {\n override name = 'RateLimitError' as const;\n\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RateLimitErrorOptions = {},\n ) {\n super(message, options);\n this.retryAfter = options.retryAfter;\n }\n}\n\n/**\n * Error thrown when an async wait operation exceeds its allotted polling time.\n */\nexport class TimeoutError extends PolymarketError {\n override name = 'TimeoutError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when a submitted transaction reaches a terminal failure state.\n */\nexport class TransactionFailedError extends PolymarketError {\n override name = 'TransactionFailedError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the user cancels a required wallet signing action.\n */\nexport class CancelledSigningError extends PolymarketError {\n override name = 'CancelledSigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: Error): CancelledSigningError {\n return new CancelledSigningError(error.message, {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when there is not enough resting market liquidity to satisfy the\n * requested execution semantics.\n */\nexport class InsufficientLiquidityError extends PolymarketError {\n override name = 'InsufficientLiquidityError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when arming auto-cancel is rejected because the account has\n * reached its daily auto-cancel trigger limit. Arming is rejected until the\n * daily counter resets at the next UTC midnight; clearing an existing\n * schedule is always allowed.\n *\n * @experimental This API may change in a breaking way in any release, including patch releases.\n */\nexport class AutoCancelDailyLimitError extends PolymarketError {\n override name = 'AutoCancelDailyLimitError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the SDK cannot produce a required signature or\n * authentication payload.\n */\nexport class SigningError extends PolymarketError {\n override name = 'SigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown, message?: string): SigningError {\n const msg =\n message ?? (error instanceof Error ? error.message : 'Signing failed');\n return new SigningError(msg, { cause: error });\n }\n}\n\nexport function makeErrorGuard<\n // biome-ignore lint/suspicious/noExplicitAny: constructor rest args require any[]\n TClasses extends ReadonlyArray<new (...args: any[]) => unknown>,\n>(\n ...classes: TClasses\n): { isError(error: unknown): error is InstanceType<TClasses[number]> } {\n return {\n isError(error: unknown): error is InstanceType<TClasses[number]> {\n return classes.some((c) => error instanceof c);\n },\n };\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {PolymarketError}from'@polymarket/types';var n=class t extends PolymarketError{name="TransportError";constructor(r,s={}){super(r,s);}static fromError(r){return new t(r instanceof Error?r.message:"Request failed",{cause:r})}};var o=class extends PolymarketError{name="TimeoutError";constructor(r,s={}){super(r,s);}},a=class extends PolymarketError{name="TransactionFailedError";constructor(r,s={}){super(r,s);}},i=class t extends PolymarketError{name="CancelledSigningError";constructor(r,s={}){super(r,s);}static fromError(r){return new t(r.message,{cause:r})}};var u=class t extends PolymarketError{name="SigningError";constructor(r,s={}){super(r,s);}static fromError(r,s){let
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {PolymarketError}from'@polymarket/types';var n=class t extends PolymarketError{name="TransportError";constructor(r,s={}){super(r,s);}static fromError(r){return new t(r instanceof Error?r.message:"Request failed",{cause:r})}};var o=class extends PolymarketError{name="TimeoutError";constructor(r,s={}){super(r,s);}},a=class extends PolymarketError{name="TransactionFailedError";constructor(r,s={}){super(r,s);}},i=class t extends PolymarketError{name="CancelledSigningError";constructor(r,s={}){super(r,s);}static fromError(r){return new t(r.message,{cause:r})}};var u=class t extends PolymarketError{name="SigningError";constructor(r,s={}){super(r,s);}static fromError(r,s){let c=s??(r instanceof Error?r.message:"Signing failed");return new t(c,{cause:r})}};export{n as a,o as b,a as c,i as d,u as e};//# sourceMappingURL=chunk-O4EZ2N7U.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-O4EZ2N7U.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts"],"names":["TransportError","_TransportError","PolymarketError","message","options","error","TimeoutError","TransactionFailedError","CancelledSigningError","_CancelledSigningError","SigningError","_SigningError","msg"],"mappings":"gDAmDO,IAAMA,EAAN,MAAMC,CAAAA,SAAuBC,eAAgB,CACzC,KAAO,gBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CAEA,OAAO,SAAA,CAAUC,EAAgC,CAC/C,OAAO,IAAIJ,CAAAA,CACTI,aAAiB,KAAA,CAAQA,CAAAA,CAAM,OAAA,CAAU,gBAAA,CACzC,CACE,KAAA,CAAOA,CACT,CACF,CACF,CACF,EAsIO,IAAMC,CAAAA,CAAN,cAA2BJ,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,YAAYC,CAAAA,CAAiBC,CAAAA,CAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,CAAAA,CAASC,CAAO,EACxB,CACF,CAAA,CAKaG,CAAAA,CAAN,cAAqCL,eAAgB,CACjD,IAAA,CAAO,wBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CACF,CAAA,CAKaI,CAAAA,CAAN,MAAMC,CAAAA,SAA8BP,eAAgB,CAChD,IAAA,CAAO,uBAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAqC,CACpD,OAAO,IAAII,EAAsBJ,CAAAA,CAAM,OAAA,CAAS,CAC9C,KAAA,CAAOA,CACT,CAAC,CACH,CACF,MAkCaK,CAAAA,CAAN,MAAMC,CAAAA,SAAqBT,eAAgB,CACvC,IAAA,CAAO,cAAA,CAEhB,WAAA,CAAYC,CAAAA,CAAiBC,EAAwB,EAAC,CAAG,CACvD,KAAA,CAAMD,EAASC,CAAO,EACxB,CAEA,OAAO,UAAUC,CAAAA,CAAgBF,CAAAA,CAAgC,CAC/D,IAAMS,EACJT,CAAAA,GAAYE,CAAAA,YAAiB,KAAA,CAAQA,CAAAA,CAAM,QAAU,gBAAA,CAAA,CACvD,OAAO,IAAIM,CAAAA,CAAaC,EAAK,CAAE,KAAA,CAAOP,CAAM,CAAC,CAC/C,CACF","file":"chunk-O4EZ2N7U.js","sourcesContent":["import { PolymarketError } from '@polymarket/types';\nimport type { ZodError } from 'zod';\nimport {\n formatInputZodError,\n formatResponseZodError,\n type ResponseValidationContext,\n} from './validation';\n\n/**\n * Error thrown when an action input fails SDK validation before a request is\n * sent.\n */\nexport class UserInputError extends PolymarketError {\n override name = 'UserInputError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(error: ZodError): UserInputError {\n return new UserInputError(formatInputZodError(error), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when a service response does not match the action's expected\n * response shape.\n */\nexport class UnexpectedResponseError extends PolymarketError {\n override name = 'UnexpectedResponseError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromZodError(\n error: ZodError,\n context: ResponseValidationContext,\n ): UnexpectedResponseError {\n return new UnexpectedResponseError(formatResponseZodError(error, context), {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when the SDK cannot complete a request because of a network or\n * runtime transport failure.\n */\nexport class TransportError extends PolymarketError {\n override name = 'TransportError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown): TransportError {\n return new TransportError(\n error instanceof Error ? error.message : 'Request failed',\n {\n cause: error,\n },\n );\n }\n}\n\n/**\n * WebSocket close codes defined by RFC 6455 and the IANA WebSocket Close Code\n * Number registry. Codes 4000-4999 are reserved for application use and are\n * intentionally not modeled here.\n */\nexport enum WebSocketKnownCloseCode {\n NormalClosure = 1000,\n GoingAway = 1001,\n ProtocolError = 1002,\n UnsupportedData = 1003,\n /** Synthesized locally when the peer closed without a status code. */\n NoStatusReceived = 1005,\n /** Synthesized locally when the connection dropped without a close frame. */\n AbnormalClosure = 1006,\n InvalidFramePayload = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n InternalError = 1011,\n ServiceRestart = 1012,\n TryAgainLater = 1013,\n}\n\n/**\n * A WebSocket close code. Codes enumerated in\n * {@link WebSocketKnownCloseCode} are defined by RFC 6455; other values, such\n * as application-defined 4000-4999 codes, flow through as plain numbers.\n */\nexport type WebSocketCloseCode = WebSocketKnownCloseCode | (number & {});\n\nexport type ConnectionLostErrorOptions = {\n /** WebSocket close code reported for the lost connection. */\n code: WebSocketCloseCode;\n /** Close reason provided by the peer. Empty when none was sent. */\n reason: string;\n};\n\n/**\n * Error thrown when a live connection ends without the SDK requesting it.\n */\nexport class ConnectionLostError extends PolymarketError {\n override name = 'ConnectionLostError' as const;\n\n readonly code: WebSocketCloseCode;\n readonly reason: string;\n\n constructor(\n message: string,\n options: ErrorOptions & ConnectionLostErrorOptions,\n ) {\n super(message, options);\n this.code = options.code;\n this.reason = options.reason;\n }\n}\n\nexport type RequestRejectedErrorOptions = {\n status: number;\n /**\n * Machine-readable error code from the response body, when the service\n * provided one.\n */\n code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when a service responds with a non-success status other than\n * rate limiting.\n */\nexport class RequestRejectedError extends PolymarketError {\n override name = 'RequestRejectedError' as const;\n\n readonly status: number;\n /**\n * Machine-readable error code from the response body, when the service\n * provided one.\n */\n readonly code?: string;\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RequestRejectedErrorOptions,\n ) {\n super(message, options);\n this.status = options.status;\n this.code = options.code;\n this.retryAfter = options.retryAfter;\n }\n}\n\nexport type RateLimitErrorOptions = {\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n retryAfter?: number;\n};\n\n/**\n * Error thrown when the service rejects a request because the rate limit has\n * been exceeded.\n */\nexport class RateLimitError extends PolymarketError {\n override name = 'RateLimitError' as const;\n\n /**\n * Server-requested delay in seconds before retrying, when the response\n * provided one.\n */\n readonly retryAfter?: number;\n\n constructor(\n message: string,\n options: ErrorOptions & RateLimitErrorOptions = {},\n ) {\n super(message, options);\n this.retryAfter = options.retryAfter;\n }\n}\n\n/**\n * Error thrown when an async wait operation exceeds its allotted polling time.\n */\nexport class TimeoutError extends PolymarketError {\n override name = 'TimeoutError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when a submitted transaction reaches a terminal failure state.\n */\nexport class TransactionFailedError extends PolymarketError {\n override name = 'TransactionFailedError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the user cancels a required wallet signing action.\n */\nexport class CancelledSigningError extends PolymarketError {\n override name = 'CancelledSigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: Error): CancelledSigningError {\n return new CancelledSigningError(error.message, {\n cause: error,\n });\n }\n}\n\n/**\n * Error thrown when there is not enough resting market liquidity to satisfy the\n * requested execution semantics.\n */\nexport class InsufficientLiquidityError extends PolymarketError {\n override name = 'InsufficientLiquidityError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when arming auto-cancel is rejected because the account has\n * reached its daily auto-cancel trigger limit. Arming is rejected until the\n * daily counter resets at the next UTC midnight; clearing an existing\n * schedule is always allowed.\n *\n * @experimental This API may change in a breaking way in any release, including patch releases.\n */\nexport class AutoCancelDailyLimitError extends PolymarketError {\n override name = 'AutoCancelDailyLimitError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n}\n\n/**\n * Error thrown when the SDK cannot produce a required signature or\n * authentication payload.\n */\nexport class SigningError extends PolymarketError {\n override name = 'SigningError' as const;\n\n constructor(message: string, options: ErrorOptions = {}) {\n super(message, options);\n }\n\n static fromError(error: unknown, message?: string): SigningError {\n const msg =\n message ?? (error instanceof Error ? error.message : 'Signing failed');\n return new SigningError(msg, { cause: error });\n }\n}\n\nexport function makeErrorGuard<\n // biome-ignore lint/suspicious/noExplicitAny: constructor rest args require any[]\n TClasses extends ReadonlyArray<new (...args: any[]) => unknown>,\n>(\n ...classes: TClasses\n): { isError(error: unknown): error is InstanceType<TClasses[number]> } {\n return {\n isError(error: unknown): error is InstanceType<TClasses[number]> {\n return classes.some((c) => error instanceof c);\n },\n };\n}\n"]}
|
package/dist/ethers-v5.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers-v5';
|
|
2
|
-
import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-
|
|
2
|
+
import { T as TypedDataPayload, a as TypedData, S as Signer } from './types-RGx7fNNl.js';
|
|
3
3
|
import '@polymarket/bindings';
|
|
4
4
|
import '@polymarket/types';
|
|
5
5
|
import '@polymarket/bindings/gamma';
|
package/dist/ethers-v5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {m as m$1,j,c as c$1,i as i$1}from'./chunk-
|
|
1
|
+
import {m as m$1,j,c as c$1,i as i$1}from'./chunk-MCGT5BAF.js';import {expectEvmAddress,expectEvmSignature,expectTxHash}from'@polymarket/types';import {ethers}from'ethers-v5';function A(n){return {getAddress(){return m(n)},signTypedData(r){return w(n,r)},signMessage(r){return T(n,r)},async sendTransaction(r){return new i(await f(n,r))}}}async function m(n){try{return expectEvmAddress(await n.getAddress())}catch(r){throw m$1.fromError(r,"Could not resolve signer address")}}async function f(n,r){try{return await n.sendTransaction({chainId:r.chainId,data:r.data,to:r.to,value:r.value?.toString()})}catch(t){c(t);}}async function w(n,r){try{return expectEvmSignature(await n._signTypedData(r.domain,S(r.types),r.message))}catch(t){c(t);}}async function T(n,r){try{return expectEvmSignature(await n.signMessage(ethers.utils.arrayify(r)))}catch(t){c(t);}}function S(n){let r=Object.entries(n).filter(([t])=>t!=="EIP712Domain");return Object.fromEntries(r.map(([t,p])=>[t,p.map(y=>({...y}))]))}function c(n){throw s(n)?new j("User rejected the signing request",{cause:n}):m$1.fromError(n)}function s(n,r=new Set){if(r.has(n)||n===null||typeof n!="object")return false;r.add(n);let t=n;return t.code===4001||t.code==="ACTION_REJECTED"||s(t.error,r)||s(t.cause,r)}function v(n){return g(n,"CALL_EXCEPTION")}function D(n){return g(n,"TRANSACTION_REPLACED")}function g(n,r){return n instanceof Error&&"code"in n&&n.code===r}var i=class{transactionId=null;#r;#n;constructor(r){this.#n=r,this.#r=expectTxHash(r.hash);}get transactionHash(){return this.#r}async wait(){try{let r=await this.#n.wait(),t=expectTxHash(r.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}catch(r){if(D(r)){if(r.cancelled)throw c$1.fromError(r);let t=expectTxHash(r.receipt.transactionHash);return this.#r=t,{transactionHash:t,transactionId:null}}throw v(r)?new i$1(`Transaction ${this.#r} reverted`,{cause:r}):c$1.fromError(r)}}};export{A as signerFrom};//# sourceMappingURL=ethers-v5.js.map
|
|
2
2
|
//# sourceMappingURL=ethers-v5.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ConditionId, ComboConditionId } from '@polymarket/bindings';
|
|
2
2
|
export * from '@polymarket/bindings';
|
|
3
3
|
export { OrderSide, OrderType } from '@polymarket/bindings';
|
|
4
4
|
export * from '@polymarket/bindings/clob';
|
|
@@ -11,10 +11,10 @@ export * from '@polymarket/bindings/perps';
|
|
|
11
11
|
export { PerpsAutoCancelStatus, PerpsCancelOrderResult, PerpsDepositStatus, PerpsInstrumentCategory, PerpsInstrumentType, PerpsInternalTransferDirection, PerpsKlineInterval, PerpsKnownWithdrawalStatus, PerpsMarginType, PerpsNotificationOrderType, PerpsNotificationType, PerpsOrderStatus, PerpsPostOrderAck, PerpsSide, PerpsSortDirection, PerpsTimeInForce, PerpsUpdateLeverageResult } from '@polymarket/bindings/perps';
|
|
12
12
|
export * from '@polymarket/bindings/relayer';
|
|
13
13
|
import { EvmAddress } from '@polymarket/types';
|
|
14
|
-
import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-
|
|
15
|
-
export { c as
|
|
16
|
-
export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-
|
|
17
|
-
export { CollateralReturnKnownOperationKind, CollateralReturnOperation, CollateralReturnOperationKind, CollateralReturnPlanResponse, CollateralReturnPositionAmount, CollateralReturnPositionSummary, CollateralReturnRouterCall, RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqKnownErrorCode, RfqQuoteId, RfqQuoteRequest, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqTrade } from '@polymarket/bindings/combos';
|
|
14
|
+
import { U as UserInputError, b as TransactionCall, A as ApiKeyAuthorization } from './types-RGx7fNNl.js';
|
|
15
|
+
export { c as AcceptComboQuoteError, d as AcceptComboQuoteParams, e as AcceptComboQuoteResult, f as AccountIdentity, g as AnalyticsActions, h as ApproveErc1155ForAllError, i as ApproveErc20Error, j as ArmPerpsAutoCancelError, k as ArmPerpsAutoCancelRequest, l as AutoCancelDailyLimitError, B as BaseClient, m as BasePublicClient, n as BaseSecureClient, o as BeginAuthenticationRequest, C as CancelAllError, p as CancelAllPerpsOrdersRequest, q as CancelMarketOrdersError, r as CancelOrderError, s as CancelOrdersError, t as CancelPerpsOrderRequest, u as CancelPerpsOrdersRequest, v as CancelledSigningError, w as Client, x as ClientActions, y as ClientDecorator, z as ClobEndpoints, D as ComboPositionSort, E as ComboQuote, F as CombosEndpoints, G as ConnectionLostError, H as ConnectionLostErrorOptions, I as CreatePerpsSessionRequest, J as CreateSecureClientError, K as CryptoPricesChainlinkTwapSubscription, L as DataActions, M as DepositToPerpsError, N as DepositToPerpsRequest, O as DisarmPerpsAutoCancelRequest, P as DiscoveryActions, Q as DownloadAccountingSnapshotError, R as DropNotificationsError, V as EnvironmentConfig, W as EnvironmentConfigFork, X as EnvironmentContracts, Y as EstimateMarketPriceError, Z as ExecuteCollateralReturnPlanError, _ as ExecuteCollateralReturnPlanRequest, $ as FetchClosedOnlyModeError, a0 as FetchCommentsByIdError, a1 as FetchEventError, a2 as FetchEventLiveVolumeError, a3 as FetchEventTagsError, a4 as FetchLastTradePriceError, a5 as FetchLastTradePricesError, a6 as FetchMarketError, a7 as FetchMarketTagsError, a8 as FetchMidpointError, a9 as FetchMidpointsError, aa as FetchNotificationsError, ab as FetchOrderBookError, ac as FetchOrderBooksError, ad as FetchOrderError, ae as FetchOrderScoringError, af as FetchOrdersScoringError, ag as FetchPerpsAccountConfigRequest, ah as FetchPerpsBookError, ai as FetchPerpsBookRequest, aj as FetchPerpsFeesError, ak as FetchPerpsInstrumentsError, al as FetchPerpsInstrumentsRequest, am as FetchPerpsOpenOrdersRequest, an as FetchPerpsOrdersRequest, ao as FetchPerpsTickerError, ap as FetchPerpsTickerRequest, aq as FetchPerpsTickersError, ar as FetchPerpsTickersRequest, as as FetchPortfolioValueError, at as FetchPriceError, au as FetchPriceHistoryError, av as FetchPricesError, aw as FetchPublicProfileError, ax as FetchRelatedTagResourcesError, ay as FetchRelatedTagsError, az as FetchRewardPercentagesError, aA as FetchRfqStatusError, aB as FetchRfqStatusParams, aC as FetchSeriesError, aD as FetchSpreadError, aE as FetchSpreadsError, aF as FetchTagError, aG as FetchTotalEarningsForUserForDayError, aH as FetchTradedMarketCountError, aI as InsufficientLiquidityError, aJ as ListAccountTradesError, aK as ListActivityError, aL as ListBuilderLeaderboardError, aM as ListBuilderTradesError, aN as ListBuilderVolumeError, aO as ListClosedPositionsError, aP as ListComboActivityError, aQ as ListComboMarketsError, aR as ListComboPositionsError, aS as ListCommentsByUserAddressError, aT as ListCommentsError, aU as ListCurrentRewardsError, aV as ListEventsError, aW as ListMarketHoldersError, aX as ListMarketPositionsError, aY as ListMarketRewardsError, aZ as ListMarketsError, a_ as ListOpenInterestError, a$ as ListOpenOrdersError, b0 as ListPerpsCandlesError, b1 as ListPerpsCandlesRequest, b2 as ListPerpsDepositsRequest, b3 as ListPerpsEquityHistoryRequest, b4 as ListPerpsFillsRequest, b5 as ListPerpsFundingHistoryError, b6 as ListPerpsFundingHistoryRequest, b7 as ListPerpsFundingPaymentsRequest, b8 as ListPerpsNotificationsRequest, b9 as ListPerpsPnlHistoryRequest, ba as ListPerpsTradesError, bb as ListPerpsTradesRequest, bc as ListPerpsWithdrawalsRequest, bd as ListPositionsError, be as ListSeriesError, bf as ListTagsError, bg as ListTeamsError, bh as ListTraderLeaderboardError, bi as ListTradesError, bj as ListUserEarningsAndMarketsConfigError, bk as ListUserEarningsForDayError, bl as MarkPerpsNotificationsReadRequest, bm as MergePositionsError, bn as OpenPerpsSessionError, bo as OpenPerpsSessionRequest, bp as OpenRfqSessionError, bq as Page, br as PageSizeSchema, bs as Paginated, bt as PerpsActions, bu as PerpsBookDepth, bv as PerpsEndpoints, bw as PerpsOrderRequest, bx as PerpsPlaceFokOrderRequest, by as PerpsPlaceGtcOrderRequest, bz as PerpsPlaceIocOrderRequest, bA as PerpsPlacedTpSlOrder, bB as PerpsPlacedTpSlOrders, bC as PerpsPositionTpSlTrigger, bD as PerpsSession, bE as PerpsSessionAccountError, bF as PerpsSessionLifecycleError, bG as PerpsSessionTradingError, bH as PerpsTpSlTrigger, bI as PlacePerpsOrderRequest, bJ as PlacePerpsOrderResult, bK as PlacePerpsOrderWithTpSlRequest, bL as PlacePerpsOrderWithTpSlResult, bM as PlacePerpsPositionTpSlRequest, bN as PlacePerpsPositionTpSlResult, bO as PlanCollateralReturnError, bP as PostOrderError, bQ as PostOrdersError, bR as PostPerpsOrdersRequest, bS as PublicAccountActions, bT as PublicActions, bU as PublicClient, bV as PublicClientOptions, bW as PublicPerpsActions, bX as PublicRewardsActions, bY as PublicSubscriptionsActions, bZ as RateLimitError, b_ as RateLimitErrorOptions, b$ as RedeemPositionsError, c0 as RequestComboQuoteError, c1 as RequestComboQuoteParams, c2 as RequestComboQuoteResult, c3 as RequestRejectedError, c4 as RequestRejectedErrorOptions, c5 as RestEndpoint, c6 as ResumePerpsSessionRequest, c7 as RevokePerpsCredentialsError, c8 as RevokePerpsCredentialsRequest, c9 as RfqCancelQuoteAck, ca as RfqCancelQuoteError, cb as RfqCancelQuoteRejectedError, cc as RfqCancelQuoteRejectedErrorOptions, cd as RfqConfirmationAck, ce as RfqConfirmationError, cf as RfqConfirmationRejectedError, cg as RfqConfirmationRequestEvent, ch as RfqEvent, ci as RfqQuoteError, cj as RfqQuoteReference, ck as RfqQuoteRejectedError, cl as RfqQuoteRejectedErrorOptions, cm as RfqQuoteRequestEvent, cn as RfqQuoteResponse, co as RfqQuoteSource, cp as RfqRequestRejectedError, cq as RfqRequestRejectedErrorOptions, cr as RfqSession, cs as RfqStatusResult, ct as RfqTradeEvent, cu as SearchError, cv as SearchSort, cw as SecureAccountActions, cx as SecureActions, cy as SecureClient, cz as SecureClientOptions, cA as SecureDownloadAccountingSnapshotRequest, cB as SecureFetchPortfolioValueRequest, cC as SecureFetchTradedMarketCountRequest, cD as SecureListActivityRequest, cE as SecureListClosedPositionsRequest, cF as SecureListComboActivityRequest, cG as SecureListComboPositionsRequest, cH as SecureListPositionsRequest, cI as SecurePerpsActions, cJ as SecureRewardsActions, cK as SecureRfqActions, cL as SecureSubscriptionsActions, cM as SecureTradingActions, cN as SecureWalletActions, cO as SetupGaslessWalletError, cP as SetupTradingApprovalsError, S as Signer, cQ as SignerTransactionRequest, cR as SigningError, cS as SplitPositionError, cT as SubscribeError, cU as TimeoutError, cV as TransactionFailedError, cW as TransactionHandle, cX as TransactionOutcome, cY as TransferErc20Error, cZ as TransportError, a as TypedData, c_ as TypedDataDomain, c$ as TypedDataField, T as TypedDataPayload, d0 as UnexpectedResponseError, d1 as UpdatePerpsLeverageError, d2 as UpdatePerpsLeverageRequest, d3 as UpdatePerpsMarginError, d4 as UpdatePerpsMarginRequest, d5 as WaitForComboFillError, d6 as WaitForComboFillParams, d7 as WaitForComboFillResult, d8 as WaitForOrderFillSettlementError, d9 as WaitForTransactionError, da as WalletDerivationConfig, db as WebSocketCloseCode, dc as WebSocketEndpoint, dd as WebSocketKnownCloseCode, de as WithdrawFromPerpsError, df as WithdrawFromPerpsRequest, dg as accountActions, dh as allActions, di as analyticsActions, dj as createPublicClient, dk as createSecureClient, dl as dataActions, dm as discoveryActions, dn as forkEnvironmentConfig, dp as makeErrorGuard, dq as perpsActions, dr as production, ds as rewardsActions, dt as rfqActions, du as subscriptionsActions, dv as tradingActions, dw as walletActions } from './types-RGx7fNNl.js';
|
|
16
|
+
export { C as CreateLimitOrderError, a as CreateMarketOrderError, F as FetchSportsMarketTypesError, L as ListSportsError, P as PlaceLimitOrderError, b as PlaceMarketOrderError } from './sports-BPp6UXlR.js';
|
|
17
|
+
export { BuilderRfqError, CollateralReturnKnownOperationKind, CollateralReturnOperation, CollateralReturnOperationKind, CollateralReturnPlanResponse, CollateralReturnPositionAmount, CollateralReturnPositionSummary, CollateralReturnRouterCall, ComboAcceptFailureReason, ComboQuoteUnavailableReason, RfqConfirmationDecision, RfqConfirmationRequest, RfqDirection, RfqErrorCode, RfqExecutionStatus, RfqExecutionUpdate, RfqId, RfqKnownErrorCode, RfqQuoteId, RfqQuoteRequest, RfqRejectionCode, RfqRequestedSize, RfqRequestedSizeUnit, RfqRequestorPublicId, RfqSide, RfqStatus, RfqTrade } from '@polymarket/bindings/combos';
|
|
18
18
|
export { CryptoPricesChainlinkTwapEvent, CryptoPricesChainlinkTwapSixtyEvent, CryptoPricesChainlinkTwapThirtyEvent, CryptoPricesChainlinkTwapWindowSeconds, PerpsSessionEvent } from '@polymarket/bindings/subscriptions';
|
|
19
19
|
import 'zod';
|
|
20
20
|
import 'ox';
|
|
@@ -87,7 +87,7 @@ declare const SplitPositionCallError: {
|
|
|
87
87
|
* @throws {@link SplitPositionCallError}
|
|
88
88
|
* Thrown when the amount is invalid.
|
|
89
89
|
*/
|
|
90
|
-
declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId:
|
|
90
|
+
declare function splitPositionCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
|
|
91
91
|
type MergePositionsCallError = UserInputError;
|
|
92
92
|
declare const MergePositionsCallError: {
|
|
93
93
|
isError(error: unknown): error is UserInputError;
|
|
@@ -102,7 +102,7 @@ declare const MergePositionsCallError: {
|
|
|
102
102
|
* @throws {@link MergePositionsCallError}
|
|
103
103
|
* Thrown when the amount is invalid.
|
|
104
104
|
*/
|
|
105
|
-
declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId:
|
|
105
|
+
declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId, amount: bigint): TransactionCall;
|
|
106
106
|
/**
|
|
107
107
|
* Creates a transaction call for `redeemPositions(address,bytes32,bytes32,uint256[])`
|
|
108
108
|
* on Conditional Tokens-compatible contracts, including the collateral adapters.
|
|
@@ -113,7 +113,7 @@ declare function mergePositionsCall(targetAddress: EvmAddress, collateralTokenAd
|
|
|
113
113
|
* @throws {@link CtfRedeemPositionsCallError}
|
|
114
114
|
* Thrown when the condition is invalid.
|
|
115
115
|
*/
|
|
116
|
-
declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId:
|
|
116
|
+
declare function ctfRedeemPositionsCall(conditionalTokensAddress: EvmAddress, collateralTokenAddress: EvmAddress, conditionId: ConditionId): TransactionCall;
|
|
117
117
|
type SplitV2CallError = UserInputError;
|
|
118
118
|
declare const SplitV2CallError: {
|
|
119
119
|
isError(error: unknown): error is UserInputError;
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {N,X,V,T as T$1,ra,pa,ze,xe,ve as ve$1,te,re,pe as pe$1,zc,xc,vc,qb,na,Lc,Nc,Zc,Wb,Ub,Sb,Qb,Ob,Mb,Kb,Ib,Gb,ub,sb,tc,lc,jc,hc,hf,Sf,Gf,Ef,yf,Qf,Of,Mf,Kf,Bc,Cf,Af,Jc,Hc,Fc,Dc,rc,pc,nc,me as me$1,je,ie as ie$1,le as le$1,la,ja,ha,fa,da,ba,pf,If,R as R$1,P as P$1,Xc,Vc,Tc,Rc,vd,dd,cd,Dd,Bd,zd,xd,ec,ac,ff,af,Te,Wf,Wa,Sa,_a,va,Aa,K,L as L$1,Da,ae as ae$1,_d,Yd,Ud,Sd,Qd,ce as ce$1,Wd,Pc,_b,Yb,H,Ed,G,wa,I,gb,eb,Kd,Id,Jd,Gd,Hd,Fd,ib,Od,if as _if,kf,mf,J,gd,id,kd,jd,hd,ed,fd}from'./chunk-WDPLMZVQ.js';export{Va as ApproveErc1155ForAllError,Ra as ApproveErc20Error,Ld as ArmPerpsAutoCancelError,Uc as CancelAllError,Wc as CancelMarketOrdersError,Qc as CancelOrderError,Sc as CancelOrdersError,fc as CollateralReturnKnownOperationKind,C as CombinatorialPrepareConditionCallError,sa as ComboActivityType,Ae as ComboPositionOutcome,ne as ComboPositionSort,Be as ComboPositionStatus,Ad as CreateLimitOrderError,wd as CreateMarketOrderError,q as CtfRedeemPositionsCallError,ge as DepositToPerpsError,ye as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Yc as EstimateMarketPriceError,dc as ExecuteCollateralReturnPlanError,M as FetchClosedOnlyModeError,ic as FetchCommentsByIdError,oc as FetchEventError,sc as FetchEventLiveVolumeError,qc as FetchEventTagsError,Rb as FetchLastTradePriceError,Tb as FetchLastTradePricesError,Gc as FetchMarketError,Ic as FetchMarketTagsError,rb as FetchMidpointError,tb as FetchMidpointsError,U as FetchNotificationsError,Jb as FetchOrderBookError,Lb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,Vd as FetchPerpsBookError,be as FetchPerpsFeesError,Pd as FetchPerpsInstrumentsError,Rd as FetchPerpsTickerError,Td as FetchPerpsTickersError,ue as FetchPortfolioValueError,Fb as FetchPriceError,Vb as FetchPriceHistoryError,Hb as FetchPricesError,gf as FetchPublicProfileError,Pf as FetchRelatedTagResourcesError,Nf as FetchRelatedTagsError,ka as FetchRewardPercentagesError,Bf as FetchSeriesError,Ff as FetchSportsMarketTypesError,Nb as FetchSpreadError,Pb as FetchSpreadsError,Lf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,we as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,uc as ListBuilderLeaderboardError,pb as ListBuilderTradesError,wc as ListBuilderVolumeError,qe as ListClosedPositionsError,qa as ListComboActivityError,Ec as ListComboMarketsError,se as ListComboPositionsError,kc as ListCommentsByUserAddressError,gc as ListCommentsError,Xb as ListCurrentRewardsError,mc as ListEventsError,Kc as ListMarketHoldersError,Oc as ListMarketPositionsError,Zb as ListMarketRewardsError,Cc as ListMarketsError,Mc as ListOpenInterestError,O as ListOpenOrdersError,Xd as ListPerpsCandlesError,Zd as ListPerpsFundingHistoryError,$d as ListPerpsTradesError,oe as ListPositionsError,zf as ListSeriesError,Df as ListSportsError,Jf as ListTagsError,Rf as ListTeamsError,yc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,Xe as MergePositionsError,y as MergeV2CallError,de as OpenPerpsSessionError,of as OpenRfqSessionError,o as PerpsDepositCallError,Cd as PlaceLimitOrderError,yd as PlaceMarketOrderError,$b as PlanCollateralReturnError,ad as PostOrderError,bd as PostOrdersError,ef as RedeemPositionsError,A as RedeemV2CallError,ee as RevokePerpsCredentialsError,lf as RfqCancelQuoteError,kf as RfqCancelQuoteRejectedError,qf as RfqConfirmationDecision,nf as RfqConfirmationError,mf as RfqConfirmationRejectedError,rf as RfqDirection,sf as RfqExecutionStatus,tf as RfqKnownErrorCode,jf as RfqQuoteError,if as RfqQuoteRejectedError,uf as RfqRequestedSizeUnit,vf as RfqSide,xf as SearchError,wf as SearchSort,Za as SetupTradingApprovalsError,r as SplitPositionCallError,Oe as SplitPositionError,w as SplitV2CallError,Hf as SubscribeError,Vf as TransferErc20Error,Md as UpdatePerpsLeverageError,Nd as UpdatePerpsMarginError,ud as WaitForOrderFillSettlementError,ta as WaitForTransactionError,he as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,ua as expectTransactionHandle,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-WDPLMZVQ.js';import {a,n,j,g as g$1,f as f$1,m as m$1,h,i,c,b as b$1,e}from'./chunk-MIRUWWDK.js';export{l as AutoCancelDailyLimitError,j as CancelledSigningError,e as ConnectionLostError,k as InsufficientLiquidityError,g as RateLimitError,f as RequestRejectedError,m as SigningError,h as TimeoutError,i as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,n as makeErrorGuard}from'./chunk-MIRUWWDK.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsKnownWithdrawalStatus,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var wi=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function xi(t){return new se(t)}function Mi(t){return new ne(t)}var se=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#s(e)}catch(r){throw m$1.fromError(r,"Could not authorize the builder-authenticated request")}}async#r(){let e=this.#e.headers,r=typeof e=="function"?await e():e,s=new Headers(r);return s.set("content-type","application/json"),s}async#s(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#r(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return wi.parse(await r.json())}},ne=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function Ir(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function Ii(t){return {listPositions:pe$1.bind(null,t),listClosedPositions:re.bind(null,t),listComboPositions:te.bind(null,t),fetchPortfolioValue:ve$1.bind(null,t),fetchTradedMarketCount:xe.bind(null,t),downloadAccountingSnapshot:ze.bind(null,t),listMarketPositions:Pc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function f(t,e={}){return {...e,user:e.user??t.account.wallet}}function ie(t){let e=Ii(t);return t.isPublicClient()?e:{...e,listPositions:r=>pe$1(t,f(t,r)),listClosedPositions:r=>re(t,f(t,r)),listComboPositions:r=>te(t,f(t,r)),fetchPortfolioValue:r=>ve$1(t,f(t,r)),fetchTradedMarketCount:r=>xe(t,f(t,r)),downloadAccountingSnapshot:r=>ze(t,f(t,r)),listActivity:r=>pa(t,f(t,r)),listComboActivity:r=>ra(t,f(t,r)),listAccountTrades:T$1.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function oe(t){return {listBuilderTrades:qb.bind(null,t),listBuilderLeaderboard:vc.bind(null,t),fetchBuilderVolume:xc.bind(null,t),listTraderLeaderboard:zc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:tc.bind(null,t),fetchMidpoint:sb.bind(null,t),fetchMidpoints:ub.bind(null,t),fetchPrice:Gb.bind(null,t),fetchPrices:Ib.bind(null,t),fetchOrderBook:Kb.bind(null,t),fetchOrderBooks:Mb.bind(null,t),fetchSpread:Ob.bind(null,t),fetchSpreads:Qb.bind(null,t),fetchLastTradePrice:Sb.bind(null,t),fetchLastTradePrices:Ub.bind(null,t),fetchPriceHistory:Wb.bind(null,t),estimateMarketPrice:Zc.bind(null,t),listOpenInterest:Nc.bind(null,t),listMarketHolders:Lc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:nc.bind(null,t),fetchEvent:pc.bind(null,t),fetchEventTags:rc.bind(null,t),listMarkets:Dc.bind(null,t),listComboMarkets:Fc.bind(null,t),fetchMarket:Hc.bind(null,t),fetchMarketTags:Jc.bind(null,t),listSeries:Af.bind(null,t),fetchSeries:Cf.bind(null,t),listMarketClarifications:Bc.bind(null,t),listTags:Kf.bind(null,t),fetchTag:Mf.bind(null,t),fetchRelatedTags:Of.bind(null,t),fetchRelatedTagResources:Qf.bind(null,t),search:yf.bind(null,t),listSports:Ef.bind(null,t),fetchSportsMarketTypes:Gf.bind(null,t),listTeams:Sf.bind(null,t),fetchPublicProfile:hf.bind(null,t),listComments:hc.bind(null,t),fetchCommentsById:jc.bind(null,t),listCommentsByUserAddress:lc.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>Wd(t,r),fetchPerpsFees:()=>ce$1(t),fetchPerpsInstruments:r=>Qd(t,r),fetchPerpsTicker:r=>Sd(t,r),fetchPerpsTickers:r=>Ud(t,r),listPerpsCandles:r=>Yd(t,r),listPerpsFundingHistory:r=>_d(t,r),listPerpsTrades:r=>ae$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>le$1(t,r),openPerpsSession:r=>ie$1(t,r),revokePerpsCredentials:r=>je(t,r),withdrawFromPerps:r=>me$1(t,r)}:e}function Oi(t){return {listCurrentRewards:Yb.bind(null,t),listMarketRewards:_b.bind(null,t)}}function de(t){let e=Oi(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ba.bind(null,t),fetchOrdersScoring:da.bind(null,t),listUserEarningsForDay:fa.bind(null,t),fetchTotalEarningsForUserForDay:ha.bind(null,t),listUserEarningsAndMarketsConfig:ja.bind(null,t),fetchRewardPercentages:la.bind(null,t)}}function Or(t){return {openRfqSession(){return pf(t)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return If(t,e)}}:{subscribe(e){return If(t,e)}}}function Fr(t){return {createMarketOrder:xd.bind(null,t),placeMarketOrder:zd.bind(null,t),createLimitOrder:Bd.bind(null,t),placeLimitOrder:Dd.bind(null,t),postOrder:cd(t),postOrders:dd(t),waitForOrderFillSettlement:vd.bind(null,t),cancelOrder:Rc.bind(null,t),cancelOrders:Tc.bind(null,t),cancelAll:Vc.bind(null,t),cancelMarketOrders:Xc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Lr(t){return {setupTradingApprovals:_a.bind(null,t),approveErc20:Sa.bind(null,t),approveErc1155ForAll:Wa.bind(null,t),transferErc20:Wf.bind(null,t),splitPosition:Te.bind(null,t),mergePositions:af.bind(null,t),redeemPositions:ff.bind(null,t),planCollateralReturn:ac.bind(null,t),executeCollateralReturnPlan:ec.bind(null,t)}}function Dr(t){return t.isSecureClient()?{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...Or(t),...pe(t),...Fr(t),...Lr(t)}:{...ie(t),...oe(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t)}}var le={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},contracts:{collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),exchangeV3:expectEvmAddress("0xe3333700cA9d93003F00f0F71f8515005F6c00Aa"),protocolV2Router:expectEvmAddress("0x12121212006e4CD160D18e3f00711DA5c3372600"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function Fi(t,e=le){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...k(e.clob,t.clob),market:F(e.clob.market,t.clob?.market),user:F(e.clob.user,t.clob?.user)},relayer:k(e.relayer,t.relayer),gamma:k(e.gamma,t.gamma),data:k(e.data,t.data),combos:{...Br(e.combos,t.combos),collateralReturn:k(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:Br(e.perps,t.perps),rtds:F(e.rtds,t.rtds),sports:F(e.sports,t.sports)}}function k(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function F(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function Br(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function me(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var Sc=Fi({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function Wr(t,e,r,s,n){let i=`${e}${r}${s}`;n!==void 0&&(i+=n);let o=await globalThis.crypto.subtle.importKey("raw",Li(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",o,new TextEncoder().encode(i));return Bi(Di(A))}function Li(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let n=0;n<r.length;n+=1)s[n]=r.charCodeAt(n);return s.buffer}function Di(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function Bi(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function m(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var p=class{#e=new Set;#r;constructor(e){this.#r=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let n={subscription:e,subscriber:s};return {change:this.#s(n),entry:n}}#s(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#r(this.#e)}};function he(t,e,r){let s=L(r.assetsIds,e.assetsIds),n=L(e.assetsIds,r.assetsIds);s.length>0&&t(Ur(s,r.customFeatureEnabled));let i=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&i!==void 0&&t(Ur([i],r.customFeatureEnabled)),n.length>0&&t(Ui(n));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Hr(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Qr(r.markets));return}let s=L(r.markets,e.markets),n=L(e.markets,r.markets);s.length>0&&t(Qr(s)),n.length>0&&t(Hr(n));}function _r(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let n of s.tokenIds)e.add(n);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function Kr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Nr(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function Vr(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function Ur(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Ui(t){return {assets_ids:t,operation:"unsubscribe"}}function zr(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function Qr(t){return {markets:t,operation:"subscribe"}}function Hr(t){return {markets:t,operation:"unsubscribe"}}function jr(t){return e=>{switch(e.type){case "price_change":return e.payload.priceChanges.some(r=>t.tokenIds.includes(r.tokenId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(e.payload.tokenIds??[]).some(r=>t.tokenIds.includes(r));case "best_bid_ask":return t.customFeatureEnabled===true&&t.tokenIds.includes(e.payload.tokenId);default:return t.tokenIds.includes(e.payload.tokenId)}}}function $r(t){if(Nr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Nr(t){return (t.markets?.length??0)===0}function L(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var S=class{#e;#r;#s;#o=new Kd({heartbeat:new Fd});#i=new Jd;#t=new p({deriveServerState:_r});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:jr(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){let{before:s,after:n}=r;try{(await this.#u()).reusedOpenSocket&&he(o=>this.#o.send(o),s,n);}catch(i){throw await this.#a(e),i}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}he(n=>this.#o.send(n),r,s);}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#f();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=MarketEventSchema.safeParse(s);n.success&&this.#t.dispatch(n.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#h(){}#f(){this.#o.send(Vr(this.#t.serverState()));}#m(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var R=class{#e;#r;#s;#o;#i=new Kd({heartbeat:new Fd});#t=new Jd;#n=new p({deriveServerState:Kr});constructor(e){this.#e=e.credentials,this.#r=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:$r(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:n}=r;try{(await this.#c()).reusedOpenSocket&&fe(o=>this.#i.send(o),s,n);}catch(i){throw await this.#d(e),i}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#i.send(n),r,s);}async close(){this.#o===void 0&&(this.#o=this.#u().finally(()=>{this.#o=void 0;})),await this.#o;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#r,url:this.#s})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=UserEventSchema.safeParse(s);n.success&&this.#n.dispatch(n.data);}}#h(){this.#n.hasActiveSubscriptions()&&this.#y();}#f(){}#m(e){this.#i.send(zr(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var P=class{#e;#r;#s;#o;#i=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#r=e.headers,this.#s=e.restUrl,this.#o=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new Od({chainId:this.#e,credentials:e,headers:this.#r,onClose:n=>this.#d(n),restUrl:this.#s,wsUrl:this.#o});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#i.add(r),r}catch(n){throw await r.close(),n}finally{this.#n.delete(s),this.#t.delete(r);}})(),this.#n.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#i),r=Array.from(this.#t),s=Array.from(this.#n);this.#i.clear(),this.#t.clear(),this.#n.clear(),await Promise.allSettled([...e.map(n=>n.close()),...r.map(n=>n.close()),...s.map(n=>n.catch(()=>{}))]).then(()=>{});}#d(e){this.#i.delete(e),this.#t.delete(e);}};var b=class{#e;#r;#s;#o=1;#i=new Kd({heartbeat:new Id});#t=new Jd;#n=new p({deriveServerState:Ki});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:zi(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#m(Yr(r.before,r.after)),this.#y(Gr(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#n.remove(e);this.#m(Yr(r,s)),this.#y(Gr(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#u().finally(()=>{this.#s=void 0;})),await this.#s;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#i.close();}#c(){return this.#i.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#r})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#n.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#h(){this.#n.hasActiveSubscriptions()&&this.#b();}#f(){}#m(e){e.length!==0&&this.#i.send(this.#S("sub",e));}#y(e){e.length!==0&&this.#i.send(this.#S("unsub",e));}#S(e,r){return {id:this.#o++,req:e,chs:r}}#b(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function Ki(t){let e=new Set,r=new Set,s=new Set,n=false,i=false;for(let{subscription:o}of t)switch(o.topic){case "perps.tickers":o.instrumentId===void 0?n=true:r.add(o.instrumentId);break;case "perps.statistics":o.instrumentId===void 0?i=true:s.add(o.instrumentId);break;default:e.add(Vi(o));}if(n)e.add("tickers::all");else for(let o of r)e.add(`tickers::${o}`);if(i)e.add("statistics::all");else for(let o of s)e.add(`statistics::${o}`);return e}function Yr(t,e){return Array.from(e).filter(r=>!t.has(r))}function Gr(t,e){return Array.from(t).filter(r=>!e.has(r))}function Vi(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function zi(t){switch(t.topic){case "perps.trades":return e=>e.topic==="perps.trades"&&e.channel===`trades::${t.instrumentId}`;case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function Xr(t,e){return {...e,quote:r=>t.quote(e,r)}}function es(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function ts(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function rs(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function ss(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function ns(t,e){let r=J(t);return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},identity:{maker_address:r.maker,signature_type:r.signatureType,signer_address:r.signer},type:"auth"}}function is(t,e){return {price_e6:e.price.toString(),rfq_id:t.rfqId,signed_order:e.signedOrder,size_e6:e.size.toString(),type:"RFQ_QUOTE"}}function os(t,e,r){let s=J(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function as(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var D=class{#e=new Map;#r;constructor(e){this.#r=e;}waitFor(e,r){let s=$i(),n,i=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new h(r));},this.#r);n=s.promise.finally(()=>clearTimeout(i));let o=this.#e.get(e)??[];return o.push({...s,promise:n}),this.#e.set(e,o),n}resolve(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.resolve(r));}reject(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let n=s.filter(i=>i.promise!==r);n.length===0?this.#e.delete(e):this.#e.set(e,n);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function $i(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var us="0x0000000000000000000000000000000000000000000000000000000000000000";async function ds(t){let e=J(t.account),r=gd({chainId:t.chainId,exchange:t.exchange}),s={builder:us,maker:e.maker,makerAmount:toBaseUnits(hd(t.orderSide,t.orderPrice,t.size)),metadata:us,salt:jd().toString(),side:kd(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(id(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},n;try{n=await t.signer.signTypedData(ed({domain:r,order:s}));}catch(i){throw m$1.fromError(i,"Could not sign the RFQ quote order.")}return {...s,signature:fd({domain:r,order:s,signature:n})}}var ms=DecimalishSchema.transform(t=>ys(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),Gi=z.strictObject({price:ms.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:ms.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function hs(t){return G(t,Gi)}async function fs(t){let e=t.response.price,r=t.response.size===void 0?eo(t.request.requestedSize,e):t.response.size,s=await ds({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:Zi(t.request,t.response.source,e),orderSide:Xi(t.response.source),signer:t.signer,size:r,tokenId:Ji(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function Ji(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function Zi(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function Xi(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function eo(t,e){let r=ys(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function ys(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let n=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(n<=0n)throw new a("Value must be greater than 0.");return n}var no=3e4,io=3e4,g=class{#e;#r;#s;#o;#i;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.signer,this.#n=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Re({account:this.#e,chainId:this.#r,credentials:this.#s,exchange:this.#o,headers:this.#i,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Re=class{#e;#r;#s;#o;#i;#t;#n;#a;#d=new Kd;#u=pushable({objectMode:true});#c=new D(io);#p;#l;constructor(e){this.#e=e.account,this.#r=e.chainId,this.#s=e.credentials,this.#o=e.exchange,this.#i=e.headers,this.#t=e.onClose,this.#n=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=oo();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},no);try{await this.#d.connect({headers:this.#i,onConnectionLost:s=>this.#g(s),onError:()=>{},onMessage:s=>this.#R(s),onOpen:()=>this.#b(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#h(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#f()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#f(){let e=new c("RFQ quoter websocket closed.");this.#S(e),this.#u.end(),await this.#d.close(),this.#t();}async#m(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#S(e),this.#u.end(e),await this.#d.close(),this.#t();}#S(e){this.#l?.reject(e),this.#c.rejectAll(e);}#b(){this.#d.send(ns(this.#e,this.#s));}#R(e){if(this.#p!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#P(s);return;case "quote_request":this.#u.push(Xr(this,s));return;case "quote_ack":this.#c.resolve(B(s.rfqId),ts(s));return;case "quote_cancel_ack":this.#c.resolve(Se(s.rfqId,s.quoteId),rs(s));return;case "confirmation_request":this.#u.push(es(this,s));return;case "confirmation_ack":this.#c.resolve(be(s.rfqId,s.quoteId),ss(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#P(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#m(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(B(e.rfqId),new _if(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Se(e.rfqId,e.quoteId),new kf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new mf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=hs(r),n=await fs({account:this.#e,chainId:this.#r,exchange:this.#o,request:e,response:s,signer:this.#n}),i=this.#c.waitFor(B(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#h(is(e,n)),await i}catch(o){throw this.#c.remove(B(e.rfqId),i),o}}async cancelQuote(e){let r=Se(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#h(os(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=be(e,r),i=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#h(as(e,r,s)),await i}catch(o){throw this.#c.remove(n,i),o}}};function B(t){return `ACK_RFQ_QUOTE:${t}`}function Se(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function be(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function oo(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var q=class{#e;#r;#s;#o=new Kd({heartbeat:new Gd});#i=new Jd;#t=new p({deriveServerState:po});constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:yo(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:n,after:i}=r,o=co(n,i);this.#m(o);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=uo(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff(),this.#f();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#S();}#h(){}#f(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#o.send(lo(e));}#y(e){e.length!==0&&this.#o.send(mo(e));}#S(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function co(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function uo(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function po(t){let e=new Map;for(let{subscription:r}of t)for(let s of ho(r))e.has(s.key)||e.set(s.key,s);return e}function lo(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function mo(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function ho(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>T("comments",e));case "prices.crypto.binance":return [T("crypto_prices","update")];case "prices.crypto.chainlink":return [T("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [T(fo(t.windowSeconds),"update")];case "prices.equity.pyth":return [T("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function fo(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function T(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function yo(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var v=class{#e;#r;#s;#o=new Kd({heartbeat:new Hd});#i=new Jd;#t=new p;constructor(e){this.#e=e.headers,this.#r=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#n(r),m(r.subscriber.queue,()=>this.#a(r))}async#n(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#s===void 0&&(this.#s=this.#d().finally(()=>{this.#s=void 0;})),await this.#s;}async#d(){this.#i.stop(),this.#t.endAll(),await this.#o.close();}#u(){return this.#o.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#r})}#c(){this.#i.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#f();}#h(){}#f(){this.#i.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#r;get context(){return this.#e}get decorators(){return this.#r}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}constructor(e){this.#e=e,this.#r=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#r.push(e);}},vo=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),Ao=z.object({wallet:EvmAddressSchema,credentials:vo.optional(),nonce:z.number().int().nonnegative().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),U=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=G(e,Ao);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),i=s?.nonce??0,o=expectEvmAddress(yield wa()),A=expectEvmAddress(s.wallet),Ae=I(this.environment,o,A);if(s.credentials!==void 0){let Ce=this.#e(s.credentials,Ae,r);try{if((await gb(Ce)).includes(s.credentials.key))return Ce}catch(x){if(!(x instanceof f$1)||x.status!==401)throw x}}let bs=yield {kind:"signAuthMessage",payload:Ir({address:o,chainId:this.environment.chainId,nonce:i,timestamp:n})},Rs=await eb(this,{address:o,nonce:i,signature:expectEvmSignature(bs),timestamp:n});return this.#e(Rs,Ae,r)}.call(this))}#e(e,r,s){let n=new ve({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let i of this.decorators)n.extend(i);return n}},ve=class extends W{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,signer:e.signer,clob:new Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Ed({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),combos:new Ed({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:r=>this.resolveRelayerHeaders(r),root:e.environment.combos.collateralReturn.rest}),webSockets:{clobMarket:new S({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new R({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new g({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new q({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new b({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new P({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return this.context.signer}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close(),this.webSockets.clobUser.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:n,environment:i}=this.context;try{await ib(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let o=new U({apiKey:n,environment:i});for(let A of this.decorators)o.extend(A);return o}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await Wr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw m$1.fromError(r,"Could not sign the L2-authenticated request")}}};function Ss(t={}){return new U({environment:t.environment??le,apiKey:t.apiKey}).extend(Dr)}var Co=n(j,g$1,f$1,m$1,h,i,c,b$1,a),Eo=n(a);async function ko(t){let e=Ss({environment:t.environment,apiKey:t.apiKey}),r=await To(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(va(t.signer));if(s.account.walletType===WalletType.EOA||await Aa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await wo(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function To(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=K(r,t.environment.walletDerivation);return await Aa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:L$1(r,t.environment.walletDerivation)}async function wo(t){let e=L$1(t.account.signer,t.environment.walletDerivation);if(!isSameEvmAddress(t.account.wallet,e))throw new a(`Wallet ${t.account.wallet} does not match the expected Deposit Wallet ${e} for this signer, nor a deployed wallet address.`);await(await Da(t)).wait();}
|
|
2
|
-
export{
|
|
1
|
+
import {N,X,V,T as T$1,ra,pa,ze,xe,ve,te,re,pe as pe$1,zc,xc,vc,qb,na,Lc,Nc,Zc,Wb,Ub,Sb,Qb,Ob,Mb,Kb,Ib,Gb,ub,sb,tc,lc,jc,hc,hf,dg,Tf,Rf,Lf,bg,$f,Zf,Xf,Bc,Pf,Nf,Jc,Hc,Fc,Dc,rc,pc,nc,me as me$1,je,ie as ie$1,le as le$1,la,ja,ha,fa,da,ba,wf,uf,sf,pf,Vf,R as R$1,P as P$1,Xc,Vc,Tc,Rc,vd,dd,cd,Dd,Bd,zd,xd,ec,ac,ff,af,Te,hg,Wa,Sa,_a,va,Aa,K,L as L$1,Da,ae as ae$1,_d,Yd,Ud,Sd,Qd,ce as ce$1,Wd,Pc,_b,Yb,H,Ed,G,wa,I,gb,eb,Kd,Id,Jd,Gd,Hd,Fd,ib,Od,if as _if,kf,mf,J,gd,id,kd,jd,hd,ed,fd}from'./chunk-DB2YMGIT.js';export{tf as AcceptComboQuoteError,Va as ApproveErc1155ForAllError,Ra as ApproveErc20Error,Ld as ArmPerpsAutoCancelError,Uc as CancelAllError,Wc as CancelMarketOrdersError,Qc as CancelOrderError,Sc as CancelOrdersError,fc as CollateralReturnKnownOperationKind,C as CombinatorialPrepareConditionCallError,zf as ComboAcceptFailureReason,sa as ComboActivityType,Ae as ComboPositionOutcome,ne as ComboPositionSort,Be as ComboPositionStatus,Af as ComboQuoteUnavailableReason,Ad as CreateLimitOrderError,wd as CreateMarketOrderError,q as CtfRedeemPositionsCallError,ge as DepositToPerpsError,ye as DownloadAccountingSnapshotError,W as DropNotificationsError,b as Erc20ApprovalCallError,m as Erc20TransferCallError,Yc as EstimateMarketPriceError,dc as ExecuteCollateralReturnPlanError,M as FetchClosedOnlyModeError,ic as FetchCommentsByIdError,oc as FetchEventError,sc as FetchEventLiveVolumeError,qc as FetchEventTagsError,Rb as FetchLastTradePriceError,Tb as FetchLastTradePricesError,Gc as FetchMarketError,Ic as FetchMarketTagsError,rb as FetchMidpointError,tb as FetchMidpointsError,U as FetchNotificationsError,Jb as FetchOrderBookError,Lb as FetchOrderBooksError,Q as FetchOrderError,aa as FetchOrderScoringError,ca as FetchOrdersScoringError,Vd as FetchPerpsBookError,be as FetchPerpsFeesError,Pd as FetchPerpsInstrumentsError,Rd as FetchPerpsTickerError,Td as FetchPerpsTickersError,ue as FetchPortfolioValueError,Fb as FetchPriceError,Vb as FetchPriceHistoryError,Hb as FetchPricesError,gf as FetchPublicProfileError,ag as FetchRelatedTagResourcesError,_f as FetchRelatedTagsError,ka as FetchRewardPercentagesError,xf as FetchRfqStatusError,Of as FetchSeriesError,Sf as FetchSportsMarketTypesError,Nb as FetchSpreadError,Pb as FetchSpreadsError,Yf as FetchTagError,ga as FetchTotalEarningsForUserForDayError,we as FetchTradedMarketCountError,S as ListAccountTradesError,oa as ListActivityError,uc as ListBuilderLeaderboardError,pb as ListBuilderTradesError,wc as ListBuilderVolumeError,qe as ListClosedPositionsError,qa as ListComboActivityError,Ec as ListComboMarketsError,se as ListComboPositionsError,kc as ListCommentsByUserAddressError,gc as ListCommentsError,Xb as ListCurrentRewardsError,mc as ListEventsError,Kc as ListMarketHoldersError,Oc as ListMarketPositionsError,Zb as ListMarketRewardsError,Cc as ListMarketsError,Mc as ListOpenInterestError,O as ListOpenOrdersError,Xd as ListPerpsCandlesError,Zd as ListPerpsFundingHistoryError,$d as ListPerpsTradesError,oe as ListPositionsError,Mf as ListSeriesError,Qf as ListSportsError,Wf as ListTagsError,cg as ListTeamsError,yc as ListTraderLeaderboardError,ma as ListTradesError,ia as ListUserEarningsAndMarketsConfigError,ea as ListUserEarningsForDayError,a as MAX_UINT256,t as MergePositionsCallError,Xe as MergePositionsError,y as MergeV2CallError,de as OpenPerpsSessionError,of as OpenRfqSessionError,o as PerpsDepositCallError,Cd as PlaceLimitOrderError,yd as PlaceMarketOrderError,$b as PlanCollateralReturnError,ad as PostOrderError,bd as PostOrdersError,ef as RedeemPositionsError,A as RedeemV2CallError,rf as RequestComboQuoteError,ee as RevokePerpsCredentialsError,lf as RfqCancelQuoteError,kf as RfqCancelQuoteRejectedError,Bf as RfqConfirmationDecision,nf as RfqConfirmationError,mf as RfqConfirmationRejectedError,Cf as RfqDirection,Df as RfqExecutionStatus,Ef as RfqKnownErrorCode,jf as RfqQuoteError,if as RfqQuoteRejectedError,Ff as RfqRejectionCode,qf as RfqRequestRejectedError,Gf as RfqRequestedSizeUnit,Hf as RfqSide,If as RfqStatus,Kf as SearchError,Jf as SearchSort,Za as SetupTradingApprovalsError,r as SplitPositionCallError,Oe as SplitPositionError,w as SplitV2CallError,Uf as SubscribeError,gg as TransferErc20Error,Md as UpdatePerpsLeverageError,Nd as UpdatePerpsMarginError,vf as WaitForComboFillError,ud as WaitForOrderFillSettlementError,ta as WaitForTransactionError,he as WithdrawFromPerpsError,D as combinatorialPrepareConditionCall,v as ctfRedeemPositionsCall,l as decodeErc1155BalanceOfBatchResult,j as decodeErc1155BalanceOfResult,h as decodeErc1155IsApprovedForAllResult,e as decodeErc20AllowanceResult,E as encodeProxyCall,F as encodeSafeMultisendCall,f as erc1155ApprovalForAllCall,k as erc1155BalanceOfBatchCall,i as erc1155BalanceOfCall,g as erc1155IsApprovedForAllCall,d as erc20AllowanceCall,c as erc20ApprovalCall,n as erc20TransferCall,ua as expectTransactionHandle,u as mergePositionsCall,z as mergeV2Call,p as perpsDepositCall,B as redeemV2Call,s as splitPositionCall,x as splitV2Call}from'./chunk-DB2YMGIT.js';import {a,n,j,g as g$1,f as f$1,m as m$1,h,i,c,b as b$1,e}from'./chunk-MCGT5BAF.js';export{l as AutoCancelDailyLimitError,j as CancelledSigningError,e as ConnectionLostError,k as InsufficientLiquidityError,g as RateLimitError,f as RequestRejectedError,m as SigningError,h as TimeoutError,i as TransactionFailedError,c as TransportError,b as UnexpectedResponseError,a as UserInputError,d as WebSocketKnownCloseCode,n as makeErrorGuard}from'./chunk-MCGT5BAF.js';import {DecimalishSchema,ApiKeySchema,EvmAddressSchema,toBaseUnits,OrderSide}from'@polymarket/bindings';export{OrderSide,OrderType}from'@polymarket/bindings';export{PriceHistoryInterval,SignatureType}from'@polymarket/bindings/clob';export{ActivityType}from'@polymarket/bindings/data';import {WalletType}from'@polymarket/bindings/gamma';export{WalletType}from'@polymarket/bindings/gamma';export{PerpsDepositStatus,PerpsInstrumentCategory,PerpsInstrumentType,PerpsInternalTransferDirection,PerpsKlineInterval,PerpsKnownWithdrawalStatus,PerpsMarginType,PerpsNotificationOrderType,PerpsNotificationType,PerpsOrderStatus,PerpsSide,PerpsSortDirection,PerpsTimeInForce}from'@polymarket/bindings/perps';import {z}from'zod';import {expectEvmAddress,isSameEvmAddress,expectEvmSignature,invariant,setNonBlockingTimeout}from'@polymarket/types';import {PerpsMarketDataEventSchema,RealtimeEventSchema,SportsResultEventSchema,MarketEventSchema,UserEventSchema}from'@polymarket/bindings/subscriptions';import {pushable}from'it-pushable';import {RfqQuoterInboundMessageSchema,RfqConfirmationDecision,RfqRequestedSizeUnit,RfqDirection}from'@polymarket/bindings/combos';var _o=z.object({POLY_BUILDER_API_KEY:z.string().min(1),POLY_BUILDER_TIMESTAMP:z.string().min(1),POLY_BUILDER_PASSPHRASE:z.string().min(1),POLY_BUILDER_SIGNATURE:z.string().min(1)});function Ko(t){return new se(t)}function Vo(t){return new ne(t)}var se=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return true}get supportGasless(){return true}async authorize(e){try{return await this.#r(e)}catch(r){throw m$1.fromError(r,"Could not authorize the builder-authenticated request")}}async#s(){let e=this.#e.headers,r=typeof e=="function"?await e():e,s=new Headers(r);return s.set("content-type","application/json"),s}async#r(e){let r=await fetch(this.#e.url,{body:JSON.stringify({body:e.body,method:e.method,path:e.path}),credentials:this.#e.credentials,headers:await this.#s(),method:"POST",mode:"cors"});if(!r.ok)throw new Error(`Remote signer rejected request with status ${r.status}`);return _o.parse(await r.json())}},ne=class{#e;constructor(e){this.#e=e;}get isBuilderKey(){return false}get supportGasless(){return true}authorize(){return Promise.resolve({RELAYER_API_KEY:this.#e.key,RELAYER_API_KEY_ADDRESS:this.#e.address})}};function Lr(t){return {domain:{chainId:t.chainId,name:"ClobAuthDomain",version:"1"},message:{address:t.address,message:"This message attests that I control the given wallet",nonce:t.nonce??0,timestamp:`${t.timestamp}`},primaryType:"ClobAuth",types:{ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]}}}function jo(t){return {listPositions:pe$1.bind(null,t),listClosedPositions:re.bind(null,t),listComboPositions:te.bind(null,t),fetchPortfolioValue:ve.bind(null,t),fetchTradedMarketCount:xe.bind(null,t),downloadAccountingSnapshot:ze.bind(null,t),listMarketPositions:Pc.bind(null,t),listActivity:pa.bind(null,t),listComboActivity:ra.bind(null,t)}}function f(t,e={}){return {...e,user:e.user??t.account.wallet}}function oe(t){let e=jo(t);return t.isPublicClient()?e:{...e,listPositions:r=>pe$1(t,f(t,r)),listClosedPositions:r=>re(t,f(t,r)),listComboPositions:r=>te(t,f(t,r)),fetchPortfolioValue:r=>ve(t,f(t,r)),fetchTradedMarketCount:r=>xe(t,f(t,r)),downloadAccountingSnapshot:r=>ze(t,f(t,r)),listActivity:r=>pa(t,f(t,r)),listComboActivity:r=>ra(t,f(t,r)),listAccountTrades:T$1.bind(null,t),fetchNotifications:V.bind(null,t),dropNotifications:X.bind(null,t),fetchClosedOnlyMode:N.bind(null,t)}}function ie(t){return {listBuilderTrades:qb.bind(null,t),listBuilderLeaderboard:vc.bind(null,t),fetchBuilderVolume:xc.bind(null,t),listTraderLeaderboard:zc.bind(null,t)}}function ae(t){return {fetchEventLiveVolume:tc.bind(null,t),fetchMidpoint:sb.bind(null,t),fetchMidpoints:ub.bind(null,t),fetchPrice:Gb.bind(null,t),fetchPrices:Ib.bind(null,t),fetchOrderBook:Kb.bind(null,t),fetchOrderBooks:Mb.bind(null,t),fetchSpread:Ob.bind(null,t),fetchSpreads:Qb.bind(null,t),fetchLastTradePrice:Sb.bind(null,t),fetchLastTradePrices:Ub.bind(null,t),fetchPriceHistory:Wb.bind(null,t),estimateMarketPrice:Zc.bind(null,t),listOpenInterest:Nc.bind(null,t),listMarketHolders:Lc.bind(null,t),listTrades:na.bind(null,t)}}function ce(t){return {listEvents:nc.bind(null,t),fetchEvent:pc.bind(null,t),fetchEventTags:rc.bind(null,t),listMarkets:Dc.bind(null,t),listComboMarkets:Fc.bind(null,t),fetchMarket:Hc.bind(null,t),fetchMarketTags:Jc.bind(null,t),listSeries:Nf.bind(null,t),fetchSeries:Pf.bind(null,t),listMarketClarifications:Bc.bind(null,t),listTags:Xf.bind(null,t),fetchTag:Zf.bind(null,t),fetchRelatedTags:$f.bind(null,t),fetchRelatedTagResources:bg.bind(null,t),search:Lf.bind(null,t),listSports:Rf.bind(null,t),fetchSportsMarketTypes:Tf.bind(null,t),listTeams:dg.bind(null,t),fetchPublicProfile:hf.bind(null,t),listComments:hc.bind(null,t),fetchCommentsById:jc.bind(null,t),listCommentsByUserAddress:lc.bind(null,t)}}function ue(t){let e={fetchPerpsBook:r=>Wd(t,r),fetchPerpsFees:()=>ce$1(t),fetchPerpsInstruments:r=>Qd(t,r),fetchPerpsTicker:r=>Sd(t,r),fetchPerpsTickers:r=>Ud(t,r),listPerpsCandles:r=>Yd(t,r),listPerpsFundingHistory:r=>_d(t,r),listPerpsTrades:r=>ae$1(t,r)};return t.isSecureClient()?{...e,depositToPerps:r=>le$1(t,r),openPerpsSession:r=>ie$1(t,r),revokePerpsCredentials:r=>je(t,r),withdrawFromPerps:r=>me$1(t,r)}:e}function zo(t){return {listCurrentRewards:Yb.bind(null,t),listMarketRewards:_b.bind(null,t)}}function de(t){let e=zo(t);return t.isPublicClient()?e:{...e,fetchOrderScoring:ba.bind(null,t),fetchOrdersScoring:da.bind(null,t),listUserEarningsForDay:fa.bind(null,t),fetchTotalEarningsForUserForDay:ha.bind(null,t),listUserEarningsAndMarketsConfig:ja.bind(null,t),fetchRewardPercentages:la.bind(null,t)}}function Dr(t){return {openRfqSession(){return pf(t)},requestComboQuote(e){return sf(t,e)},acceptComboQuote(e){return uf(t,e)},waitForComboFill(e){return wf(t,e)}}}function pe(t){return t.isSecureClient()?{subscribe(e){return Vf(t,e)}}:{subscribe(e){return Vf(t,e)}}}function Br(t){return {createMarketOrder:xd.bind(null,t),placeMarketOrder:zd.bind(null,t),createLimitOrder:Bd.bind(null,t),placeLimitOrder:Dd.bind(null,t),postOrder:cd(t),postOrders:dd(t),waitForOrderFillSettlement:vd.bind(null,t),cancelOrder:Rc.bind(null,t),cancelOrders:Tc.bind(null,t),cancelAll:Vc.bind(null,t),cancelMarketOrders:Xc.bind(null,t),listOpenOrders:P$1.bind(null,t),fetchOrder:R$1.bind(null,t)}}function Wr(t){return {setupTradingApprovals:_a.bind(null,t),approveErc20:Sa.bind(null,t),approveErc1155ForAll:Wa.bind(null,t),transferErc20:hg.bind(null,t),splitPosition:Te.bind(null,t),mergePositions:af.bind(null,t),redeemPositions:ff.bind(null,t),planCollateralReturn:ac.bind(null,t),executeCollateralReturnPlan:ec.bind(null,t)}}function Qr(t){return t.isSecureClient()?{...oe(t),...ie(t),...ae(t),...ce(t),...ue(t),...de(t),...Dr(t),...pe(t),...Br(t),...Wr(t)}:{...oe(t),...ie(t),...ae(t),...ce(t),...ue(t),...de(t),...pe(t)}}var le={name:"production",chainId:137,rpc:"https://polygon.drpc.org",walletDerivation:{depositWalletFactory:expectEvmAddress("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),depositWalletBeacon:expectEvmAddress("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),depositWalletImplementation:expectEvmAddress("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),proxyFactory:expectEvmAddress("0xaB45c5A4B0c941a2F231C04C3f49182e1A254052"),proxyImplementation:expectEvmAddress("0x44e999d5c2F66Ef0861317f9A4805AC2e90aEB4f"),safeFactory:expectEvmAddress("0xaacFeEa03eb1561C4e67d661e40682Bd20E3541b"),safeInitCodeHash:"0x2bce2127ff07fb632d16c8347c4ebf501f4841168bed00d9e6ef715ddb6fcecf"},contracts:{collateralToken:expectEvmAddress("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),conditionalTokens:expectEvmAddress("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),negRiskAdapter:expectEvmAddress("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),collateralAdapter:expectEvmAddress("0xAdA100Db00Ca00073811820692005400218FcE1f"),negRiskCollateralAdapter:expectEvmAddress("0xadA2005600Dec949baf300f4C6120000bDB6eAab"),standardExchange:expectEvmAddress("0xE111180000d2663C0091e4f400237545B87B996B"),negRiskExchange:expectEvmAddress("0xe2222d279d744050d28e00520010520000310F59"),exchangeV3:expectEvmAddress("0xe3333700cA9d93003F00f0F71f8515005F6c00Aa"),protocolV2Router:expectEvmAddress("0x12121212006e4CD160D18e3f00711DA5c3372600"),combinatorialModule:expectEvmAddress("0x30000034706c7d8e12009dab006be20000c031a8"),positionManager:expectEvmAddress("0x006F54F7f9A22e0000CC2AB60031000000ae9fEF"),autoRedeemOperator:expectEvmAddress("0xa1200000d0002264C9a1698e001292D00E1b00af"),safeMultisend:expectEvmAddress("0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"),relayHub:expectEvmAddress("0xD216153c06E857cD7f72665E0aF1d7D82172F494"),perpsDepositContract:expectEvmAddress("0xDCa4af75705dbB50f62437045afF9921947917d2")},clob:{rest:"https://clob.polymarket.com",market:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/market"},user:{ws:"wss://ws-subscriptions-clob.polymarket.com/ws/user"}},relayer:{rest:"https://relayer-v2.polymarket.com"},gamma:{rest:"https://gamma-api.polymarket.com"},data:{rest:"https://data-api.polymarket.com"},combos:{rest:"https://combos-rfq-api.polymarket.com",ws:"wss://combos-rfq-gateway-quoter.polymarket.com/ws/rfq",builderGateway:{rest:"https://combos-rfq-gateway-builder.polymarket.com"},collateralReturn:{rest:"https://combos-rfq-collateral-return.polymarket.com"}},perps:{rest:"https://api.perpetuals.polymarket.com",ws:"wss://ws.perpetuals.polymarket.com/v1/ws"},rtds:{ws:"wss://ws-live-data.polymarket.com"},sports:{ws:"wss://sports-api.polymarket.com/ws"},relayerMaxPolls:100,relayerPollFrequencyMs:2e3};function $o(t,e=le){return {...e,...t,walletDerivation:{...e.walletDerivation,...t.walletDerivation},contracts:{...e.contracts,...t.contracts},clob:{...R(e.clob,t.clob),market:O(e.clob.market,t.clob?.market),user:O(e.clob.user,t.clob?.user)},relayer:R(e.relayer,t.relayer),gamma:R(e.gamma,t.gamma),data:R(e.data,t.data),combos:{...Ur(e.combos,t.combos),builderGateway:R(e.combos.builderGateway,t.combos?.builderGateway),collateralReturn:R(e.combos.collateralReturn,t.combos?.collateralReturn)},perps:Ur(e.perps,t.perps),rtds:O(e.rtds,t.rtds),sports:O(e.sports,t.sports)}}function R(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function O(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function Ur(t,e){return {...t,...e,headers:me(t.headers,e?.headers)}}function me(t,e){if(!(t===void 0&&e===void 0))return {...t,...e}}var wc=$o({name:"preproduction",clob:{rest:"https://clob-preprod-int-v2.polymarket.com"},data:{rest:"https://data-api-preprod-int.polymarket.com"},gamma:{rest:"https://gamma-api-preprod-int.polymarket.com"},relayer:{rest:"https://relayer-v2-preprod-int.polymarket.com"}});async function Hr(t,e,r,s,n){let o=`${e}${r}${s}`;n!==void 0&&(o+=n);let i=await globalThis.crypto.subtle.importKey("raw",No(t),{name:"HMAC",hash:"SHA-256"},false,["sign"]),A=await globalThis.crypto.subtle.sign("HMAC",i,new TextEncoder().encode(o));return Yo(Go(A))}function No(t){let e=t.replace(/-/g,"+").replace(/_/g,"/").replace(/[^A-Za-z0-9+/=]/g,""),r=atob(e),s=new Uint8Array(r.length);for(let n=0;n<r.length;n+=1)s[n]=r.charCodeAt(n);return s.buffer}function Go(t){let e=new Uint8Array(t),r="";for(let s of e)r+=String.fromCharCode(s);return btoa(r)}function Yo(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}function m(t,e){let r;return {close:()=>(r===void 0&&(r=Promise.resolve(t.return()).then(()=>e())),r),[Symbol.asyncIterator](){return t[Symbol.asyncIterator]()}}}var p=class{#e=new Set;#s;constructor(e){this.#s=e?.deriveServerState??(()=>{});}add(e,r={}){let s={queue:pushable({objectMode:true})};r.matches!==void 0&&(s.matches=r.matches);let n={subscription:e,subscriber:s};return {change:this.#r(n),entry:n}}#r(e){let r=this.serverState();return this.#e.add(e),{before:r,after:this.serverState()}}remove(e){let r=this.serverState();return this.#e.delete(e),e.subscriber.queue.end(),{before:r,after:this.serverState()}}dispatch(e){for(let{subscriber:r}of this.#e)(r.matches===void 0||r.matches(e))&&r.queue.push(e);}hasActiveSubscriptions(){return this.#e.size>0}endAll(e){for(let{subscriber:r}of this.#e)r.queue.end(e);this.#e.clear();}serverState(){return this.#s(this.#e)}};function he(t,e,r){let s=L(r.assetsIds,e.assetsIds),n=L(e.assetsIds,r.assetsIds);s.length>0&&t(_r(s,r.customFeatureEnabled));let o=r.assetsIds[0];s.length===0&&e.customFeatureEnabled!==r.customFeatureEnabled&&o!==void 0&&t(_r([o],r.customFeatureEnabled)),n.length>0&&t(Zo(n));}function fe(t,e,r){if(r.includeAllMarkets){!e.includeAllMarkets&&e.markets.length>0&&t(Vr(e.markets));return}if(e.includeAllMarkets){r.markets.length>0&&t(Kr(r.markets));return}let s=L(r.markets,e.markets),n=L(e.markets,r.markets);s.length>0&&t(Kr(s)),n.length>0&&t(Vr(n));}function jr(t){let e=new Set,r=false;for(let{subscription:s}of t){for(let n of s.tokenIds)e.add(n);r||=s.customFeatureEnabled===true;}return {assetsIds:Array.from(e),customFeatureEnabled:r}}function zr(t){let e=false,r=new Set;for(let{subscription:s}of t){if(Jr(s)){e=true;continue}for(let n of s.markets??[])r.add(n);}return {includeAllMarkets:e,markets:e?[]:Array.from(r)}}function $r(t){return {assets_ids:t.assetsIds,custom_feature_enabled:t.customFeatureEnabled,type:"market"}}function _r(t,e){return {assets_ids:t,custom_feature_enabled:e,operation:"subscribe"}}function Zo(t){return {assets_ids:t,operation:"unsubscribe"}}function Nr(t,e){let r={auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},type:"user"};return t.includeAllMarkets||(r.markets=t.markets),r}function Kr(t){return {markets:t,operation:"subscribe"}}function Vr(t){return {markets:t,operation:"unsubscribe"}}function Gr(t){return e=>{switch(e.type){case "price_change":return e.payload.priceChanges.some(r=>t.tokenIds.includes(r.tokenId));case "new_market":return t.customFeatureEnabled===true;case "market_resolved":return t.customFeatureEnabled===true&&(e.payload.tokenIds??[]).some(r=>t.tokenIds.includes(r));case "best_bid_ask":return t.customFeatureEnabled===true&&t.tokenIds.includes(e.payload.tokenId);default:return t.tokenIds.includes(e.payload.tokenId)}}}function Yr(t){if(Jr(t))return ()=>true;let e=new Set((t.markets??[]).map(r=>r.toLowerCase()));return r=>e.has(r.payload.market.toLowerCase())}function Jr(t){return (t.markets?.length??0)===0}function L(t,e){let r=new Set(e);return t.filter(s=>!r.has(s))}var b=class{#e;#s;#r;#i=new Kd({heartbeat:new Fd});#o=new Jd;#t=new p({deriveServerState:jr});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Gr(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){let{before:s,after:n}=r;try{(await this.#u()).reusedOpenSocket&&he(i=>this.#i.send(i),s,n);}catch(o){throw await this.#a(e),o}}async#a(e){let{before:r,after:s}=this.#t.remove(e);if(!this.#t.hasActiveSubscriptions()){await this.close();return}he(n=>this.#i.send(n),r,s);}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#i.close();}#u(){return this.#i.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff(),this.#f();}#p(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=MarketEventSchema.safeParse(s);n.success&&this.#t.dispatch(n.data);}}#l(){this.#t.hasActiveSubscriptions()&&this.#m();}#h(){}#f(){this.#i.send($r(this.#t.serverState()));}#m(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var P=class{#e;#s;#r;#i;#o=new Kd({heartbeat:new Fd});#t=new Jd;#n=new p({deriveServerState:zr});constructor(e){this.#e=e.credentials,this.#s=e.headers,this.#r=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:Yr(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){let{before:s,after:n}=r;try{(await this.#c()).reusedOpenSocket&&fe(i=>this.#o.send(i),s,n);}catch(o){throw await this.#d(e),o}}async#d(e){let{before:r,after:s}=this.#n.remove(e);if(!this.#n.hasActiveSubscriptions()){await this.close();return}fe(n=>this.#o.send(n),r,s);}async close(){this.#i===void 0&&(this.#i=this.#u().finally(()=>{this.#i=void 0;})),await this.#i;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#o.close();}#c(){return this.#o.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:e=>this.#p(e),prepare:()=>this.#e,headers:this.#s,url:this.#r})}#p(e){this.#t.resetBackoff(),this.#m(e);}#l(e){let r=Array.isArray(e)?e:[e];for(let s of r){let n=UserEventSchema.safeParse(s);n.success&&this.#n.dispatch(n.data);}}#h(){this.#n.hasActiveSubscriptions()&&this.#y();}#f(){}#m(e){this.#o.send(Nr(this.#n.serverState(),e));}#y(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};var g=class{#e;#s;#r;#i;#o=new Set;#t=new Set;#n=new Set;#a=false;constructor(e){this.#e=e.chainId,this.#s=e.headers,this.#r=e.restUrl,this.#i=e.wsUrl;}connect(e){if(this.#a)return Promise.reject(new c("Perps session manager has been shut down."));let r=new Od({chainId:this.#e,credentials:e,headers:this.#s,onClose:n=>this.#d(n),restUrl:this.#r,wsUrl:this.#i});this.#t.add(r);let s;return s=(async()=>{try{if(await r.connect(),this.#a)throw await r.close(),new c("Perps session manager has been shut down.");return this.#o.add(r),r}catch(n){throw await r.close(),n}finally{this.#n.delete(s),this.#t.delete(r);}})(),this.#n.add(s),s}async shutdown(){this.#a=true;let e=Array.from(this.#o),r=Array.from(this.#t),s=Array.from(this.#n);this.#o.clear(),this.#t.clear(),this.#n.clear(),await Promise.allSettled([...e.map(n=>n.close()),...r.map(n=>n.close()),...s.map(n=>n.catch(()=>{}))]).then(()=>{});}#d(e){this.#o.delete(e),this.#t.delete(e);}};var S=class{#e;#s;#r;#i=1;#o=new Kd({heartbeat:new Id});#t=new Jd;#n=new p({deriveServerState:ri});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#n.add(e,{matches:ni(e)});return await this.#a(s,r),m(s.subscriber.queue,()=>this.#d(s))}async#a(e,r){try{(await this.#c()).reusedOpenSocket&&(this.#m(Zr(r.before,r.after)),this.#y(Xr(r.before,r.after)));}catch(s){throw await this.#d(e),s}}async#d(e){let{before:r,after:s}=this.#n.remove(e);this.#m(Zr(r,s)),this.#y(Xr(r,s)),this.#n.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#u().finally(()=>{this.#r=void 0;})),await this.#r;}async#u(){this.#t.stop(),this.#n.endAll(),await this.#o.close();}#c(){return this.#o.connect({onConnectionLost:()=>this.#h(),onError:()=>this.#f(),onMessage:e=>this.#l(e),onOpen:()=>this.#p(),headers:this.#e,url:this.#s})}#p(){this.#t.resetBackoff(),this.#m(Array.from(this.#n.serverState()));}#l(e){let r=PerpsMarketDataEventSchema.safeParse(e);r.success&&this.#n.dispatch(r.data);}#h(){this.#n.hasActiveSubscriptions()&&this.#S();}#f(){}#m(e){e.length!==0&&this.#o.send(this.#b("sub",e));}#y(e){e.length!==0&&this.#o.send(this.#b("unsub",e));}#b(e,r){return {id:this.#i++,req:e,chs:r}}#S(){this.#t.schedule({reconnect:()=>this.#c(),shouldReconnect:()=>this.#n.hasActiveSubscriptions()});}};function ri(t){let e=new Set,r=new Set,s=new Set,n=false,o=false;for(let{subscription:i}of t)switch(i.topic){case "perps.tickers":i.instrumentId===void 0?n=true:r.add(i.instrumentId);break;case "perps.statistics":i.instrumentId===void 0?o=true:s.add(i.instrumentId);break;default:e.add(si(i));}if(n)e.add("tickers::all");else for(let i of r)e.add(`tickers::${i}`);if(o)e.add("statistics::all");else for(let i of s)e.add(`statistics::${i}`);return e}function Zr(t,e){return Array.from(e).filter(r=>!t.has(r))}function Xr(t,e){return Array.from(t).filter(r=>!e.has(r))}function si(t){switch(t.topic){case "perps.trades":return `trades::${t.instrumentId}`;case "perps.bbo":return `bbo::${t.instrumentId}`;case "perps.book":return `book::${t.instrumentId}`;case "perps.candles":return `klines::${t.instrumentId}::${t.interval}`;case "perps.tickers":return t.instrumentId===void 0?"tickers::all":`tickers::${t.instrumentId}`;case "perps.statistics":return t.instrumentId===void 0?"statistics::all":`statistics::${t.instrumentId}`;default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function ni(t){switch(t.topic){case "perps.trades":return e=>e.topic==="perps.trades"&&e.channel===`trades::${t.instrumentId}`;case "perps.bbo":case "perps.book":return e=>e.topic===t.topic&&e.payload.instrumentId===t.instrumentId;case "perps.candles":return e=>e.topic==="perps.candles"&&e.payload.instrumentId===t.instrumentId&&e.payload.interval===t.interval;case "perps.tickers":case "perps.statistics":return e=>e.topic===t.topic&&(t.instrumentId===void 0||e.payload.instrumentId===t.instrumentId);default:invariant(false,`Unknown Perps topic: ${String(t)}`);}}function rs(t,e){return {...e,quote:r=>t.quote(e,r)}}function ss(t,e){let r=e.rfqId,s=e.quoteId;return {...e,confirm:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Confirm),decline:()=>t.respondToConfirmation(r,s,RfqConfirmationDecision.Decline)}}function ns(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function os(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function is(t){return {quoteId:t.quoteId,rfqId:t.rfqId}}function as(t,e){let r=J(t);return {auth:{apiKey:e.key,passphrase:e.passphrase,secret:e.secret},identity:{maker_address:r.maker,signature_type:r.signatureType,signer_address:r.signer},type:"auth"}}function cs(t,e){return {price_e6:e.price.toString(),rfq_id:t.rfqId,signed_order:e.signedOrder,size_e6:e.size.toString(),type:"RFQ_QUOTE"}}function us(t,e,r){let s=J(t);return {maker_address:s.maker,quote_id:r,rfq_id:e,signer_address:s.signer,type:"RFQ_QUOTE_CANCEL"}}function ds(t,e,r){return {decision:r,quote_id:e,rfq_id:t,type:"RFQ_CONFIRMATION_RESPONSE"}}var D=class{#e=new Map;#s;constructor(e){this.#s=e;}waitFor(e,r){let s=ii(),n,o=setNonBlockingTimeout(()=>{this.remove(e,n),s.reject(new h(r));},this.#s);n=s.promise.finally(()=>clearTimeout(o));let i=this.#e.get(e)??[];return i.push({...s,promise:n}),this.#e.set(e,i),n}resolve(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.resolve(r));}reject(e,r){let s=this.#e.get(e),n=s?.shift();n!==void 0&&(s!==void 0&&s.length===0&&this.#e.delete(e),n.reject(r));}remove(e,r){let s=this.#e.get(e);if(s===void 0)return;let n=s.filter(o=>o.promise!==r);n.length===0?this.#e.delete(e):this.#e.set(e,n);}rejectAll(e){for(let r of this.#e.values())for(let s of r)s.reject(e);this.#e.clear();}};function ii(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var ls="0x0000000000000000000000000000000000000000000000000000000000000000";async function ms(t){let e=J(t.account),r=gd({chainId:t.chainId,exchange:t.exchange}),s={builder:ls,maker:e.maker,makerAmount:toBaseUnits(hd(t.orderSide,t.orderPrice,t.size)),metadata:ls,salt:jd().toString(),side:kd(t.orderSide),signatureType:e.signatureType,signer:e.signer,takerAmount:toBaseUnits(id(t.orderSide,t.orderPrice,t.size)),timestamp:Math.floor(Date.now()/1e3).toString(),tokenId:t.tokenId},n;try{n=await t.signer.signTypedData(ed({domain:r,order:s}));}catch(o){throw m$1.fromError(o,"Could not sign the RFQ quote order.")}return {...s,signature:fd({domain:r,order:s,signature:n})}}var ys=DecimalishSchema.transform(t=>Rs(t)).refine(t=>t<=BigInt(Number.MAX_SAFE_INTEGER),{message:"Value exceeds the temporary numeric wire limit."}),ui=z.strictObject({price:ys.refine(t=>t<1000000n,{message:"Price must be less than 1."}),size:ys.optional(),source:z.enum(["collateral","inventory"]).default("collateral")});function bs(t){return G(t,ui)}async function Ss(t){let e=t.response.price,r=t.response.size===void 0?mi(t.request.requestedSize,e):t.response.size,s=await ms({account:t.account,chainId:t.chainId,exchange:t.exchange,orderPrice:pi(t.request,t.response.source,e),orderSide:li(t.response.source),signer:t.signer,size:r,tokenId:di(t.request,t.response.source)});return {price:e,signedOrder:s,size:r}}function di(t,e){return t.direction===RfqDirection.Buy?e==="collateral"?t.noPositionId:t.yesPositionId:e==="collateral"?t.yesPositionId:t.noPositionId}function pi(t,e,r){return t.direction===RfqDirection.Buy&&e==="collateral"||t.direction===RfqDirection.Sell&&e==="inventory"?1000000n-r:r}function li(t){return t==="collateral"?OrderSide.BUY:OrderSide.SELL}function mi(t,e){let r=Rs(t.value);return t.unit===RfqRequestedSizeUnit.Shares?r:r*1000000n/e}function Rs(t){let e=/^(\d+)(?:\.(\d*))?$/.exec(t);if(e===null)throw new a("Value must be a valid decimal.");let[,r="",s=""]=e;if(s.length>6)throw new a("Value must have at most 6 decimal places.");let n=BigInt(r)*1000000n+BigInt(s.padEnd(6,"0"));if(n<=0n)throw new a("Value must be greater than 0.");return n}var bi=3e4,Si=3e4,q=class{#e;#s;#r;#i;#o;#t;#n;#a;#d;#u;#c=false;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#i=e.exchange,this.#o=e.headers,this.#t=e.signer,this.#n=e.url;}async connect(){if(this.#c)throw new c("RFQ quoter manager has been shut down.");if(this.#a!==void 0){if(!this.#a.closed)return this.#a;this.#a=void 0;}if(this.#u!==void 0)return this.#u;let e=new Re({account:this.#e,chainId:this.#s,credentials:this.#r,exchange:this.#i,headers:this.#o,onClose:()=>this.#p(e),signer:this.#t,url:this.#n});this.#d=e;let r;return r=(async()=>{try{if(await e.connect(),this.#c)throw await e.close(),new c("RFQ quoter manager has been shut down.");return this.#a=e,e}catch(s){throw await e.close(),s}finally{this.#u===r&&(this.#u=void 0),this.#d===e&&(this.#d=void 0);}})(),this.#u=r,r}async shutdown(){this.#c=true;let e=this.#a,r=this.#d,s=this.#u;this.#a=void 0,this.#d=void 0,this.#u=void 0,await Promise.allSettled([e?.close(),r?.close(),s?.catch(()=>{})]).then(()=>{});}#p(e){this.#a===e&&(this.#a=void 0),this.#d===e&&(this.#d=void 0);}},Re=class{#e;#s;#r;#i;#o;#t;#n;#a;#d=new Kd;#u=pushable({objectMode:true});#c=new D(Si);#p;#l;constructor(e){this.#e=e.account,this.#s=e.chainId,this.#r=e.credentials,this.#i=e.exchange,this.#o=e.headers,this.#t=e.onClose,this.#n=e.signer,this.#a=e.url;}get closed(){return this.#p!==void 0}async connect(){let e=Ri();this.#l=e;let r=setNonBlockingTimeout(()=>{e.reject(new c("RFQ quoter authentication timed out."));},bi);try{await this.#d.connect({headers:this.#o,onConnectionLost:s=>this.#g(s),onError:()=>{},onMessage:s=>this.#R(s),onOpen:()=>this.#S(),url:this.#a}),await e.promise;}finally{clearTimeout(r),this.#l=void 0;}}async#h(e){if(!this.#d.send(e))throw new c("RFQ quoter websocket is not open.")}async close(){this.#p===void 0&&(this.#p=this.#f()),await this.#p;}[Symbol.asyncIterator](){return this.#u[Symbol.asyncIterator]()}async#f(){let e=new c("RFQ quoter websocket closed.");this.#b(e),this.#u.end(),await this.#d.close(),this.#t();}async#m(e){this.#p===void 0&&(this.#p=this.#y(e)),await this.#p;}async#y(e){this.#b(e),this.#u.end(e),await this.#d.close(),this.#t();}#b(e){this.#l?.reject(e),this.#c.rejectAll(e);}#S(){this.#d.send(as(this.#e,this.#r));}#R(e){if(this.#p!==void 0)return;let r=RfqQuoterInboundMessageSchema.safeParse(e);if(!r.success)return;let s=r.data;switch(s.type){case "auth":this.#P(s);return;case "quote_request":this.#u.push(rs(this,s));return;case "quote_ack":this.#c.resolve(B(s.rfqId),ns(s));return;case "quote_cancel_ack":this.#c.resolve(be(s.rfqId,s.quoteId),os(s));return;case "confirmation_request":this.#u.push(ss(this,s));return;case "confirmation_ack":this.#c.resolve(Se(s.rfqId,s.quoteId),is(s));return;case "execution_update":this.#u.push(s);return;case "trade":this.#u.push(s);return;case "rfq_error":this.#q(s);return}}#P(e){if(e.success===true){this.#l?.resolve(void 0);return}this.#l?.reject(new c(`RFQ quoter authentication failed: ${e.error}`));}#g(e$1){this.#m(new e("RFQ quoter connection lost.",e$1));}#q(e){if(e.requestType==="RFQ_QUOTE"){if(e.rfqId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(B(e.rfqId),new _if(e.message,{code:e.code,errorId:e.errorId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_QUOTE_CANCEL"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(be(e.rfqId,e.quoteId),new kf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));return}if(e.requestType==="RFQ_CONFIRMATION_RESPONSE"){if(e.rfqId===void 0||e.quoteId===void 0){this.#m(new c("Uncorrelated RFQ quoter error."));return}this.#c.reject(Se(e.rfqId,e.quoteId),new mf(e.message,{code:e.code,errorId:e.errorId,quoteId:e.quoteId,rfqId:e.rfqId}));}}async quote(e,r){let s=bs(r),n=await Ss({account:this.#e,chainId:this.#s,exchange:this.#i,request:e,response:s,signer:this.#n}),o=this.#c.waitFor(B(e.rfqId),`Timed out waiting for RFQ quote acknowledgement for ${e.rfqId}.`);try{return await this.#h(cs(e,n)),await o}catch(i){throw this.#c.remove(B(e.rfqId),o),i}}async cancelQuote(e){let r=be(e.rfqId,e.quoteId),s=this.#c.waitFor(r,`Timed out waiting for RFQ quote cancellation acknowledgement for ${e.rfqId}.`);try{return await this.#h(us(this.#e,e.rfqId,e.quoteId)),await s}catch(n){throw this.#c.remove(r,s),n}}async respondToConfirmation(e,r,s){let n=Se(e,r),o=this.#c.waitFor(n,`Timed out waiting for RFQ confirmation acknowledgement for ${e}.`);try{return await this.#h(ds(e,r,s)),await o}catch(i){throw this.#c.remove(n,o),i}}};function B(t){return `ACK_RFQ_QUOTE:${t}`}function be(t,e){return `ACK_RFQ_QUOTE_CANCEL:${t}:${e}`}function Se(t,e){return `ACK_RFQ_CONFIRMATION_RESPONSE:${t}:${e}`}function Ri(){let t,e;return {promise:new Promise((s,n)=>{t=s,e=n;}),reject:e,resolve:t}}var C=class{#e;#s;#r;#i=new Kd({heartbeat:new Gd});#o=new Jd;#t=new p({deriveServerState:Ci});constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{change:r,entry:s}=this.#t.add(e,{matches:Ti(e)});return await this.#n(s,r),m(s.subscriber.queue,()=>this.#a(s))}async#n(e,r){try{if((await this.#u()).reusedOpenSocket){let{before:n,after:o}=r,i=gi(n,o);this.#m(i);}}catch(s){throw await this.#a(e),s}}async#a(e){let{before:r,after:s}=this.#t.remove(e),n=qi(r,s);this.#y(n),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#i.close();}#u(){return this.#i.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff(),this.#f();}#p(e){let r=RealtimeEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#b();}#h(){}#f(){this.#m(Array.from(this.#t.serverState().values()));}#m(e){e.length!==0&&this.#i.send(vi(e));}#y(e){e.length!==0&&this.#i.send(Ai(e));}#b(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};function gi(t,e){return Array.from(e).flatMap(([r,s])=>t.has(r)?[]:[s])}function qi(t,e){return Array.from(t).flatMap(([r,s])=>e.has(r)?[]:[s])}function Ci(t){let e=new Map;for(let{subscription:r}of t)for(let s of Ei(r))e.has(s.key)||e.set(s.key,s);return e}function vi(t){return {action:"subscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ai(t){return {action:"unsubscribe",subscriptions:t.map(({topic:e,type:r})=>({topic:e,type:r}))}}function Ei(t){switch(t.topic){case "comments":return (t.types??["comment_created"]).map(e=>T("comments",e));case "prices.crypto.binance":return [T("crypto_prices","update")];case "prices.crypto.chainlink":return [T("crypto_prices_chainlink","update")];case "prices.crypto.chainlink.twap":return [T(ki(t.windowSeconds),"update")];case "prices.equity.pyth":return [T("equity_prices","update")];default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}function ki(t){switch(t){case 30:return "crypto_prices_twap_thirty";case 60:return "crypto_prices_twap_sixty";default:invariant(false,`Unknown TWAP window: ${String(t)}`);}}function T(t,e){return {key:`${t}:${e}`,topic:t,type:e}}function Ti(t){switch(t.topic){case "comments":return e=>!(e.topic!=="comments"||t.types!==void 0&&t.types.length>0&&!t.types.includes(e.type)||(t.parentEntityId!==void 0||t.parentEntityType!==void 0)&&(!(e.type==="comment_created"||e.type==="comment_removed")||t.parentEntityId!==void 0&&e.payload.parentEntityID!==t.parentEntityId||t.parentEntityType!==void 0&&e.payload.parentEntityType!==t.parentEntityType));case "prices.crypto.binance":return e=>e.topic==="prices.crypto.binance"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink":return e=>e.topic==="prices.crypto.chainlink"&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.crypto.chainlink.twap":return e=>e.topic==="prices.crypto.chainlink.twap"&&e.payload.windowSeconds===t.windowSeconds&&(t.symbols===void 0||t.symbols.length===0||t.symbols.includes(e.payload.symbol));case "prices.equity.pyth":return e=>e.topic==="prices.equity.pyth"&&e.payload.symbol.toLowerCase()===t.symbol.toLowerCase()&&(t.types===void 0||t.types.length===0||t.types.includes(e.type));default:invariant(false,`Unknown RTDS topic: ${String(t)}`);}}var v=class{#e;#s;#r;#i=new Kd({heartbeat:new Hd});#o=new Jd;#t=new p;constructor(e){this.#e=e.headers,this.#s=e.url;}async subscribe(e){let{entry:r}=this.#t.add(e);return await this.#n(r),m(r.subscriber.queue,()=>this.#a(r))}async#n(e){try{await this.#u();}catch(r){throw await this.#a(e),r}}async#a(e){this.#t.remove(e),this.#t.hasActiveSubscriptions()||await this.close();}async close(){this.#r===void 0&&(this.#r=this.#d().finally(()=>{this.#r=void 0;})),await this.#r;}async#d(){this.#o.stop(),this.#t.endAll(),await this.#i.close();}#u(){return this.#i.connect({onConnectionLost:()=>this.#l(),onError:()=>this.#h(),onMessage:e=>this.#p(e),onOpen:()=>this.#c(),headers:this.#e,url:this.#s})}#c(){this.#o.resetBackoff();}#p(e){let r=SportsResultEventSchema.safeParse(e);r.success&&this.#t.dispatch(r.data);}#l(){this.#t.hasActiveSubscriptions()&&this.#f();}#h(){}#f(){this.#o.schedule({reconnect:()=>this.#u(),shouldReconnect:()=>this.#t.hasActiveSubscriptions()});}};var W=class{#e;#s;get context(){return this.#e}get decorators(){return this.#s}get environment(){return this.context.environment}get clob(){return this.context.clob}get relayer(){return this.context.relayer}get rpc(){return this.context.rpc}get gamma(){return this.context.gamma}get data(){return this.context.data}get rfq(){return this.context.rfq}get perps(){return this.context.perps}get webSockets(){return this.context.webSockets}get supportsGasless(){return this.context.apiKey?.supportGasless??false}get hasBuilderApiKey(){return this.context.apiKey?.isBuilderKey??false}constructor(e){this.#e=e,this.#s=[];}async resolveClobHeaders(e){return this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):Promise.resolve({})}async resolveRelayerHeaders(e){return this.context.apiKey?.supportGasless?this.context.apiKey.authorize(e):Promise.resolve({})}rememberDecorator(e){this.#s.push(e);}},Li=z.object({key:ApiKeySchema,passphrase:z.string(),secret:z.string()}),Di=z.object({wallet:EvmAddressSchema,credentials:Li.optional(),nonce:z.number().int().nonnegative().optional()}).superRefine((t,e)=>{t.credentials!==void 0&&t.nonce!==void 0&&e.addIssue({code:"custom",message:"`credentials` and `nonce` are mutually exclusive.",path:["nonce"]});}).transform(t=>t.credentials!==void 0?{wallet:t.wallet,credentials:t.credentials}:t.nonce!==void 0?{wallet:t.wallet,nonce:t.nonce}:{wallet:t.wallet}),Q=class extends W{constructor(e){super({apiKey:e.apiKey,environment:e.environment,data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),clob:new Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),rpc:new H({url:e.environment.rpc}),webSockets:{clobMarket:new b({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new C({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new S({headers:e.environment.perps.headers,url:e.environment.perps.ws})}});}isSecureClient(){return false}isPublicClient(){return true}async closeSubscriptions(){await Promise.all([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close()]).then(()=>{});}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}beginAuthentication(e,r){let s=G(e,Di);return Promise.resolve(async function*(){let n=Math.floor(Date.now()/1e3),o=s?.nonce??0,i=expectEvmAddress(yield wa()),A=expectEvmAddress(s.wallet),ve=I(this.environment,i,A);if(s.credentials!==void 0){let Ae=this.#e(s.credentials,ve,r);try{if((await gb(Ae)).includes(s.credentials.key))return Ae}catch(x){if(!(x instanceof f$1)||x.status!==401)throw x}}let gs=yield {kind:"signAuthMessage",payload:Lr({address:i,chainId:this.environment.chainId,nonce:o,timestamp:n})},qs=await eb(this,{address:i,nonce:o,signature:expectEvmSignature(gs),timestamp:n});return this.#e(qs,ve,r)}.call(this))}#e(e,r,s){let n=new Ce({account:r,apiKey:this.context.apiKey,credentials:e,environment:this.environment,signer:s});for(let o of this.decorators)n.extend(o);return n}},Ce=class extends W{#e=false;get context(){return invariant(!this.#e,"This client has ended authentication and can no longer be used."),super.context}endAuthenticationLifecycle(){this.#e=true;}constructor(e){super({account:e.account,credentials:e.credentials,apiKey:e.apiKey,environment:e.environment,signer:e.signer,clob:new Ed({headers:e.environment.clob.headers,root:e.environment.clob.rest,resolveHeaders:r=>this.resolveClobHeaders(r)}),relayer:new Ed({headers:e.environment.relayer.headers,root:e.environment.relayer.rest,resolveHeaders:r=>this.resolveRelayerHeaders(r)}),rpc:new H({url:e.environment.rpc}),gamma:new Ed({headers:e.environment.gamma.headers,root:e.environment.gamma.rest}),data:new Ed({headers:e.environment.data.headers,root:e.environment.data.rest}),rfq:new Ed({headers:e.environment.combos.headers,root:e.environment.combos.rest}),perps:new Ed({headers:e.environment.perps.headers,root:e.environment.perps.rest}),secureClob:new Ed({headers:e.environment.clob.headers,resolveHeaders:async r=>({...await this.resolveClobHeaders(r),...await this.#r(r)}),root:e.environment.clob.rest}),combos:new Ed({headers:e.environment.combos.collateralReturn.headers,resolveHeaders:r=>this.resolveRelayerHeaders(r),root:e.environment.combos.collateralReturn.rest}),builderGateway:new Ed({headers:e.environment.combos.builderGateway.headers,resolveHeaders:async r=>({...await this.#s(r),...await this.#r(r)}),root:e.environment.combos.builderGateway.rest}),webSockets:{clobMarket:new b({headers:e.environment.clob.market.headers,url:e.environment.clob.market.ws}),clobUser:new P({credentials:e.credentials,headers:e.environment.clob.user.headers,url:e.environment.clob.user.ws}),rfqQuoter:new q({account:e.account,chainId:e.environment.chainId,credentials:e.credentials,exchange:e.environment.contracts.exchangeV3,headers:e.environment.combos.headers,signer:e.signer,url:e.environment.combos.ws}),sports:new v({headers:e.environment.sports.headers,url:e.environment.sports.ws}),rtds:new C({headers:e.environment.rtds.headers,url:e.environment.rtds.ws}),perpsSubscriptions:new S({headers:e.environment.perps.headers,url:e.environment.perps.ws}),perpsSession:new g({chainId:e.environment.chainId,headers:e.environment.perps.headers,restUrl:e.environment.perps.rest,wsUrl:e.environment.perps.ws})}});}get credentials(){return this.context.credentials}get account(){return this.context.account}get signer(){return this.context.signer}get secureClob(){return this.context.secureClob}get combos(){return this.context.combos}get builderGateway(){return this.context.builderGateway}get webSockets(){return this.context.webSockets}async closeSubscriptions(){await Promise.allSettled([this.webSockets.clobMarket.close(),this.webSockets.rtds.close(),this.webSockets.sports.close(),this.webSockets.perpsSubscriptions.close(),this.webSockets.clobUser.close()]).then(()=>{});}isSecureClient(){return true}isPublicClient(){return false}extend(e){return this.rememberDecorator(e),Object.assign(this,e(this)),this}async endAuthentication(){let e=this.closeSubscriptions(),r=this.webSockets.perpsSession.shutdown(),s=this.webSockets.rfqQuoter.shutdown(),{apiKey:n,environment:o}=this.context;try{await ib(this);}finally{this.endAuthenticationLifecycle(),await Promise.allSettled([e,r,s]).then(()=>{});}let i=new Q({apiKey:n,environment:o});for(let A of this.decorators)i.extend(A);return i}async#s(e){return e.method!=="GET"&&this.context.apiKey?.isBuilderKey?this.context.apiKey.authorize(e):{}}async#r(e){try{let r=Math.floor(Date.now()/1e3);return {POLY_ADDRESS:this.account.signer,POLY_API_KEY:this.credentials.key,POLY_PASSPHRASE:this.credentials.passphrase,POLY_SIGNATURE:await Hr(this.credentials.secret,r,e.method,e.path,e.body),POLY_TIMESTAMP:`${r}`}}catch(r){throw m$1.fromError(r,"Could not sign the L2-authenticated request")}}};function Ps(t={}){return new Q({environment:t.environment??le,apiKey:t.apiKey}).extend(Qr)}var Bi=n(j,g$1,f$1,m$1,h,i,c,b$1,a),Wi=n(a);async function Qi(t){let e=Ps({environment:t.environment,apiKey:t.apiKey}),r=await Ui(e,t),s=await e.beginAuthentication({wallet:r,credentials:t.credentials,nonce:t.nonce},t.signer).then(va(t.signer));if(s.account.walletType===WalletType.EOA||await Aa(s,{wallet:s.account.wallet,type:s.account.walletType}))return s;if(s.account.walletType===WalletType.DEPOSIT_WALLET)return await Hi(s),s;throw new a(`Wallet ${s.account.wallet} does not exist. Provide an existing wallet address, or omit wallet to use the default Deposit Wallet flow.`)}async function Ui(t,e){if(e.wallet!==void 0)return e.wallet;let r=expectEvmAddress(await e.signer.getAddress()),s=K(r,t.environment.walletDerivation);return await Aa(t,{wallet:s,type:WalletType.DEPOSIT_WALLET})?s:L$1(r,t.environment.walletDerivation)}async function Hi(t){let e=L$1(t.account.signer,t.environment.walletDerivation);if(!isSameEvmAddress(t.account.wallet,e))throw new a(`Wallet ${t.account.wallet} does not match the expected Deposit Wallet ${e} for this signer, nor a deployed wallet address.`);await(await Da(t)).wait();}
|
|
2
|
+
export{Bi as CreateSecureClientError,Wi as SetupGaslessWalletError,oe as accountActions,Qr as allActions,ie as analyticsActions,Hr as buildHmacSignature,Ps as createPublicClient,Qi as createSecureClient,ae as dataActions,ce as discoveryActions,$o as forkEnvironmentConfig,ue as perpsActions,wc as preproduction,le as production,Vo as relayerApiKey,Ko as remoteBuilderSigning,de as rewardsActions,Dr as rfqActions,pe as subscriptionsActions,Br as tradingActions,Wr as walletActions};//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|