@zofai/zo-sdk 0.1.92

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.
Files changed (275) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/.gitattributes +4 -0
  3. package/.prettierrc.js +9 -0
  4. package/README.md +28 -0
  5. package/dist/abstract/BaseAPI.cjs +206 -0
  6. package/dist/abstract/BaseAPI.cjs.map +1 -0
  7. package/dist/abstract/BaseAPI.d.cts +172 -0
  8. package/dist/abstract/BaseAPI.d.cts.map +1 -0
  9. package/dist/abstract/BaseAPI.d.mts +172 -0
  10. package/dist/abstract/BaseAPI.d.mts.map +1 -0
  11. package/dist/abstract/BaseAPI.mjs +202 -0
  12. package/dist/abstract/BaseAPI.mjs.map +1 -0
  13. package/dist/abstract/BaseDataAPI.cjs +140 -0
  14. package/dist/abstract/BaseDataAPI.cjs.map +1 -0
  15. package/dist/abstract/BaseDataAPI.d.cts +89 -0
  16. package/dist/abstract/BaseDataAPI.d.cts.map +1 -0
  17. package/dist/abstract/BaseDataAPI.d.mts +89 -0
  18. package/dist/abstract/BaseDataAPI.d.mts.map +1 -0
  19. package/dist/abstract/BaseDataAPI.mjs +136 -0
  20. package/dist/abstract/BaseDataAPI.mjs.map +1 -0
  21. package/dist/abstract/index.cjs +12 -0
  22. package/dist/abstract/index.cjs.map +1 -0
  23. package/dist/abstract/index.d.cts +7 -0
  24. package/dist/abstract/index.d.cts.map +1 -0
  25. package/dist/abstract/index.d.mts +7 -0
  26. package/dist/abstract/index.d.mts.map +1 -0
  27. package/dist/abstract/index.mjs +7 -0
  28. package/dist/abstract/index.mjs.map +1 -0
  29. package/dist/api.cjs +779 -0
  30. package/dist/api.cjs.map +1 -0
  31. package/dist/api.d.cts +75 -0
  32. package/dist/api.d.cts.map +1 -0
  33. package/dist/api.d.mts +75 -0
  34. package/dist/api.d.mts.map +1 -0
  35. package/dist/api.mjs +775 -0
  36. package/dist/api.mjs.map +1 -0
  37. package/dist/bcs.cjs +42 -0
  38. package/dist/bcs.cjs.map +1 -0
  39. package/dist/bcs.d.cts +91 -0
  40. package/dist/bcs.d.cts.map +1 -0
  41. package/dist/bcs.d.mts +91 -0
  42. package/dist/bcs.d.mts.map +1 -0
  43. package/dist/bcs.mjs +39 -0
  44. package/dist/bcs.mjs.map +1 -0
  45. package/dist/consts/deployments-shared-mainnet.json +50 -0
  46. package/dist/consts/deployments-shared-testnet.json +45 -0
  47. package/dist/consts/deployments-slp-mainnet.json +600 -0
  48. package/dist/consts/deployments-slp-testnet.json +87 -0
  49. package/dist/consts/deployments-usdz-mainnet.json +494 -0
  50. package/dist/consts/deployments-usdz-testnet.json +98 -0
  51. package/dist/consts/deployments-zbtcvc-mainnet.json +180 -0
  52. package/dist/consts/deployments-zlp-mainnet.json +791 -0
  53. package/dist/consts/deployments-zlp-testnet.json +76 -0
  54. package/dist/consts/index.cjs +200 -0
  55. package/dist/consts/index.cjs.map +1 -0
  56. package/dist/consts/index.d.cts +157 -0
  57. package/dist/consts/index.d.cts.map +1 -0
  58. package/dist/consts/index.d.mts +157 -0
  59. package/dist/consts/index.d.mts.map +1 -0
  60. package/dist/consts/index.mjs +189 -0
  61. package/dist/consts/index.mjs.map +1 -0
  62. package/dist/consts/price_id_to_object_id.mainnet.json +56 -0
  63. package/dist/consts/price_id_to_object_id.testnet.json +17 -0
  64. package/dist/data.cjs +919 -0
  65. package/dist/data.cjs.map +1 -0
  66. package/dist/data.d.cts +235 -0
  67. package/dist/data.d.cts.map +1 -0
  68. package/dist/data.d.mts +235 -0
  69. package/dist/data.d.mts.map +1 -0
  70. package/dist/data.mjs +915 -0
  71. package/dist/data.mjs.map +1 -0
  72. package/dist/factory/SDKFactory.cjs +228 -0
  73. package/dist/factory/SDKFactory.cjs.map +1 -0
  74. package/dist/factory/SDKFactory.d.cts +84 -0
  75. package/dist/factory/SDKFactory.d.cts.map +1 -0
  76. package/dist/factory/SDKFactory.d.mts +84 -0
  77. package/dist/factory/SDKFactory.d.mts.map +1 -0
  78. package/dist/factory/SDKFactory.mjs +222 -0
  79. package/dist/factory/SDKFactory.mjs.map +1 -0
  80. package/dist/implementations/SLPAPI.cjs +1794 -0
  81. package/dist/implementations/SLPAPI.cjs.map +1 -0
  82. package/dist/implementations/SLPAPI.d.cts +183 -0
  83. package/dist/implementations/SLPAPI.d.cts.map +1 -0
  84. package/dist/implementations/SLPAPI.d.mts +183 -0
  85. package/dist/implementations/SLPAPI.d.mts.map +1 -0
  86. package/dist/implementations/SLPAPI.mjs +1790 -0
  87. package/dist/implementations/SLPAPI.mjs.map +1 -0
  88. package/dist/implementations/SLPDataAPI.cjs +1384 -0
  89. package/dist/implementations/SLPDataAPI.cjs.map +1 -0
  90. package/dist/implementations/SLPDataAPI.d.cts +158 -0
  91. package/dist/implementations/SLPDataAPI.d.cts.map +1 -0
  92. package/dist/implementations/SLPDataAPI.d.mts +158 -0
  93. package/dist/implementations/SLPDataAPI.d.mts.map +1 -0
  94. package/dist/implementations/SLPDataAPI.mjs +1380 -0
  95. package/dist/implementations/SLPDataAPI.mjs.map +1 -0
  96. package/dist/implementations/USDZAPI.cjs +1676 -0
  97. package/dist/implementations/USDZAPI.cjs.map +1 -0
  98. package/dist/implementations/USDZAPI.d.cts +180 -0
  99. package/dist/implementations/USDZAPI.d.cts.map +1 -0
  100. package/dist/implementations/USDZAPI.d.mts +180 -0
  101. package/dist/implementations/USDZAPI.d.mts.map +1 -0
  102. package/dist/implementations/USDZAPI.mjs +1672 -0
  103. package/dist/implementations/USDZAPI.mjs.map +1 -0
  104. package/dist/implementations/USDZDataAPI.cjs +1209 -0
  105. package/dist/implementations/USDZDataAPI.cjs.map +1 -0
  106. package/dist/implementations/USDZDataAPI.d.cts +191 -0
  107. package/dist/implementations/USDZDataAPI.d.cts.map +1 -0
  108. package/dist/implementations/USDZDataAPI.d.mts +191 -0
  109. package/dist/implementations/USDZDataAPI.d.mts.map +1 -0
  110. package/dist/implementations/USDZDataAPI.mjs +1205 -0
  111. package/dist/implementations/USDZDataAPI.mjs.map +1 -0
  112. package/dist/implementations/ZBTCVCAPI.cjs +906 -0
  113. package/dist/implementations/ZBTCVCAPI.cjs.map +1 -0
  114. package/dist/implementations/ZBTCVCAPI.d.cts +107 -0
  115. package/dist/implementations/ZBTCVCAPI.d.cts.map +1 -0
  116. package/dist/implementations/ZBTCVCAPI.d.mts +107 -0
  117. package/dist/implementations/ZBTCVCAPI.d.mts.map +1 -0
  118. package/dist/implementations/ZBTCVCAPI.mjs +902 -0
  119. package/dist/implementations/ZBTCVCAPI.mjs.map +1 -0
  120. package/dist/implementations/ZBTCVCDataAPI.cjs +829 -0
  121. package/dist/implementations/ZBTCVCDataAPI.cjs.map +1 -0
  122. package/dist/implementations/ZBTCVCDataAPI.d.cts +94 -0
  123. package/dist/implementations/ZBTCVCDataAPI.d.cts.map +1 -0
  124. package/dist/implementations/ZBTCVCDataAPI.d.mts +94 -0
  125. package/dist/implementations/ZBTCVCDataAPI.d.mts.map +1 -0
  126. package/dist/implementations/ZBTCVCDataAPI.mjs +825 -0
  127. package/dist/implementations/ZBTCVCDataAPI.mjs.map +1 -0
  128. package/dist/implementations/ZLPAPI.cjs +1948 -0
  129. package/dist/implementations/ZLPAPI.cjs.map +1 -0
  130. package/dist/implementations/ZLPAPI.d.cts +192 -0
  131. package/dist/implementations/ZLPAPI.d.cts.map +1 -0
  132. package/dist/implementations/ZLPAPI.d.mts +192 -0
  133. package/dist/implementations/ZLPAPI.d.mts.map +1 -0
  134. package/dist/implementations/ZLPAPI.mjs +1944 -0
  135. package/dist/implementations/ZLPAPI.mjs.map +1 -0
  136. package/dist/implementations/ZLPDataAPI.cjs +1267 -0
  137. package/dist/implementations/ZLPDataAPI.cjs.map +1 -0
  138. package/dist/implementations/ZLPDataAPI.d.cts +193 -0
  139. package/dist/implementations/ZLPDataAPI.d.cts.map +1 -0
  140. package/dist/implementations/ZLPDataAPI.d.mts +193 -0
  141. package/dist/implementations/ZLPDataAPI.d.mts.map +1 -0
  142. package/dist/implementations/ZLPDataAPI.mjs +1263 -0
  143. package/dist/implementations/ZLPDataAPI.mjs.map +1 -0
  144. package/dist/implementations/index.cjs +26 -0
  145. package/dist/implementations/index.cjs.map +1 -0
  146. package/dist/implementations/index.d.cts +13 -0
  147. package/dist/implementations/index.d.cts.map +1 -0
  148. package/dist/implementations/index.d.mts +13 -0
  149. package/dist/implementations/index.d.mts.map +1 -0
  150. package/dist/implementations/index.mjs +15 -0
  151. package/dist/implementations/index.mjs.map +1 -0
  152. package/dist/index.cjs +69 -0
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.cts +51 -0
  155. package/dist/index.d.cts.map +1 -0
  156. package/dist/index.d.mts +51 -0
  157. package/dist/index.d.mts.map +1 -0
  158. package/dist/index.mjs +51 -0
  159. package/dist/index.mjs.map +1 -0
  160. package/dist/interfaces/base.cjs +7 -0
  161. package/dist/interfaces/base.cjs.map +1 -0
  162. package/dist/interfaces/base.d.cts +346 -0
  163. package/dist/interfaces/base.d.cts.map +1 -0
  164. package/dist/interfaces/base.d.mts +346 -0
  165. package/dist/interfaces/base.d.mts.map +1 -0
  166. package/dist/interfaces/base.mjs +6 -0
  167. package/dist/interfaces/base.mjs.map +1 -0
  168. package/dist/interfaces/index.cjs +31 -0
  169. package/dist/interfaces/index.cjs.map +1 -0
  170. package/dist/interfaces/index.d.cts +15 -0
  171. package/dist/interfaces/index.d.cts.map +1 -0
  172. package/dist/interfaces/index.d.mts +15 -0
  173. package/dist/interfaces/index.d.mts.map +1 -0
  174. package/dist/interfaces/index.mjs +15 -0
  175. package/dist/interfaces/index.mjs.map +1 -0
  176. package/dist/interfaces/slp.cjs +7 -0
  177. package/dist/interfaces/slp.cjs.map +1 -0
  178. package/dist/interfaces/slp.d.cts +179 -0
  179. package/dist/interfaces/slp.d.cts.map +1 -0
  180. package/dist/interfaces/slp.d.mts +179 -0
  181. package/dist/interfaces/slp.d.mts.map +1 -0
  182. package/dist/interfaces/slp.mjs +6 -0
  183. package/dist/interfaces/slp.mjs.map +1 -0
  184. package/dist/interfaces/usdz.cjs +7 -0
  185. package/dist/interfaces/usdz.cjs.map +1 -0
  186. package/dist/interfaces/usdz.d.cts +104 -0
  187. package/dist/interfaces/usdz.d.cts.map +1 -0
  188. package/dist/interfaces/usdz.d.mts +104 -0
  189. package/dist/interfaces/usdz.d.mts.map +1 -0
  190. package/dist/interfaces/usdz.mjs +6 -0
  191. package/dist/interfaces/usdz.mjs.map +1 -0
  192. package/dist/interfaces/zbtcvc.cjs +7 -0
  193. package/dist/interfaces/zbtcvc.cjs.map +1 -0
  194. package/dist/interfaces/zbtcvc.d.cts +64 -0
  195. package/dist/interfaces/zbtcvc.d.cts.map +1 -0
  196. package/dist/interfaces/zbtcvc.d.mts +64 -0
  197. package/dist/interfaces/zbtcvc.d.mts.map +1 -0
  198. package/dist/interfaces/zbtcvc.mjs +6 -0
  199. package/dist/interfaces/zbtcvc.mjs.map +1 -0
  200. package/dist/interfaces/zlp.cjs +7 -0
  201. package/dist/interfaces/zlp.cjs.map +1 -0
  202. package/dist/interfaces/zlp.d.cts +114 -0
  203. package/dist/interfaces/zlp.d.cts.map +1 -0
  204. package/dist/interfaces/zlp.d.mts +114 -0
  205. package/dist/interfaces/zlp.d.mts.map +1 -0
  206. package/dist/interfaces/zlp.mjs +6 -0
  207. package/dist/interfaces/zlp.mjs.map +1 -0
  208. package/dist/oracle.cjs +118 -0
  209. package/dist/oracle.cjs.map +1 -0
  210. package/dist/oracle.d.cts +25 -0
  211. package/dist/oracle.d.cts.map +1 -0
  212. package/dist/oracle.d.mts +25 -0
  213. package/dist/oracle.d.mts.map +1 -0
  214. package/dist/oracle.mjs +114 -0
  215. package/dist/oracle.mjs.map +1 -0
  216. package/dist/utils.cjs +129 -0
  217. package/dist/utils.cjs.map +1 -0
  218. package/dist/utils.d.cts +44 -0
  219. package/dist/utils.d.cts.map +1 -0
  220. package/dist/utils.d.mts +44 -0
  221. package/dist/utils.d.mts.map +1 -0
  222. package/dist/utils.mjs +115 -0
  223. package/dist/utils.mjs.map +1 -0
  224. package/docs/SUMMARY.md +10 -0
  225. package/docs/api-reference.md +32 -0
  226. package/docs/architecture.md +14 -0
  227. package/docs/common-operations.md +52 -0
  228. package/docs/error-handling.md +17 -0
  229. package/docs/getting-started.md +60 -0
  230. package/docs/introduction.md +15 -0
  231. package/docs/lp-specific-features.md +96 -0
  232. package/docs/type-safety.md +29 -0
  233. package/eslint.config.mjs +18 -0
  234. package/package.json +42 -0
  235. package/src/abstract/BaseAPI.ts +575 -0
  236. package/src/abstract/BaseDataAPI.ts +207 -0
  237. package/src/abstract/index.ts +7 -0
  238. package/src/api.ts +1100 -0
  239. package/src/bcs.ts +45 -0
  240. package/src/consts/deployments-shared-mainnet.json +50 -0
  241. package/src/consts/deployments-shared-testnet.json +45 -0
  242. package/src/consts/deployments-slp-mainnet.json +600 -0
  243. package/src/consts/deployments-slp-testnet.json +87 -0
  244. package/src/consts/deployments-usdz-mainnet.json +494 -0
  245. package/src/consts/deployments-usdz-testnet.json +98 -0
  246. package/src/consts/deployments-zbtcvc-mainnet.json +180 -0
  247. package/src/consts/deployments-zlp-mainnet.json +791 -0
  248. package/src/consts/deployments-zlp-testnet.json +76 -0
  249. package/src/consts/index.ts +345 -0
  250. package/src/consts/price_id_to_object_id.mainnet.json +56 -0
  251. package/src/consts/price_id_to_object_id.testnet.json +17 -0
  252. package/src/data.ts +1279 -0
  253. package/src/factory/SDKFactory.ts +340 -0
  254. package/src/implementations/SLPAPI.ts +2722 -0
  255. package/src/implementations/SLPDataAPI.ts +1839 -0
  256. package/src/implementations/USDZAPI.ts +2488 -0
  257. package/src/implementations/USDZDataAPI.ts +1548 -0
  258. package/src/implementations/ZBTCVCAPI.ts +1337 -0
  259. package/src/implementations/ZBTCVCDataAPI.ts +993 -0
  260. package/src/implementations/ZLPAPI.ts +2888 -0
  261. package/src/implementations/ZLPDataAPI.ts +1603 -0
  262. package/src/implementations/index.ts +16 -0
  263. package/src/index.ts +58 -0
  264. package/src/interfaces/base.ts +838 -0
  265. package/src/interfaces/index.ts +50 -0
  266. package/src/interfaces/slp.ts +268 -0
  267. package/src/interfaces/usdz.ts +181 -0
  268. package/src/interfaces/zbtcvc.ts +116 -0
  269. package/src/interfaces/zlp.ts +244 -0
  270. package/src/oracle.ts +153 -0
  271. package/src/utils.ts +168 -0
  272. package/tests/api.test.ts +219 -0
  273. package/tests/data.test.ts +156 -0
  274. package/tests/oracle.test.ts +33 -0
  275. package/tsconfig.json +22 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAPI.d.mts","sourceRoot":"","sources":["../../src/abstract/BaseAPI.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAqB;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AACnD,OAAO,EAAE,WAAW,EAAE,iCAAgC;AAGtD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,4BAAiB;AAEjD,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACf,gCAAqB;AACtB,OAAO,EAAE,WAAW,EAAE,0BAAqB;AAE3C,8BAAsB,OAAQ,SAAQ,WAAY,YAAW,QAAQ;IACnE,mFAAmF;IACnF,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,YAAY,CAAA;gBAI5C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO;IAMX,aAAa,CAAC,EAAE,EAAE,WAAW;IAI7B,cAAc,CAAC,EAAE,EAAE,WAAW;IAI9B,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG;QAAE,eAAe,EAAE,GAAG,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAA;KAAE;IAIzE,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAIlD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3G,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3F,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC;IAIzC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAIvE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIlF,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIjD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIjF,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAItE,mBAAmB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIjI,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIhE,gBAAgB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIrH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI3H,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9C,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAIvC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAItD;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,WAAW,UAAQ;;;;;;;;IAahG,SAAS,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,GAAG;;;;;;;IAWhJ;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKtF;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK7E;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;aAU/D,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC;aAEP,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC;aAEP,IAAI,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,WAAW,CAAC;aAGP,KAAK,CACnB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,WAAW,GACf,WAAW;aAEE,OAAO,CACrB,WAAW,EAAE,eAAe,EAAE,EAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,WAAW,GACf,WAAW;aAGE,YAAY,CAC1B,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,EACtB,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC;aAEP,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,OAAO,EACxB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC;aAEP,sBAAsB,CACpC,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,OAAO,CAAA;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC;aAEP,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,OAAO,EACb,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC;aAEP,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,WAAW,CAAC,EAAE,OAAO,EACrB,2BAA2B,CAAC,EAAE,MAAM,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC;aAEP,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,GACnB,WAAW;aAEE,iBAAiB,CAC/B,MAAM,EAAE,KAAK,CAAC;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,OAAO,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,GACnB,WAAW;aAEE,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,WAAW,GACd,IAAI;aAES,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,WAAW,EACf,UAAU,CAAC,EAAE,OAAO,GACnB,IAAI;aAES,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,WAAW,EACf,UAAU,CAAC,EAAE,OAAO,GACnB,IAAI;aAGS,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,OAAO,EACtB,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC;aAEP,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,EACxB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,WAAW,CAAC;aAEP,+BAA+B,CAC7C,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,OAAO,CAAA;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC,EACF,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,WAAW,GACf,OAAO,CAAC,WAAW,CAAC;IAEvB;;OAEG;IACI,mBAAmB,CACxB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,MAAM,GACb,WAAW;aAKE,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,WAAW,GACf,WAAW;aAGE,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;aAEP,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,WAAW;aAEE,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,WAAW;aAEE,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,WAAW,GACd,IAAI;IAEP;;;OAGG;cACa,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAK/F;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE,WAAW;;;;;IAI/C;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAejE;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,GAAG,IAAI;IAoBR;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE;QACvC,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,gBAAgB,EAAE,MAAM,CAAA;QACxB,IAAI,EAAE,OAAO,CAAA;KACd,GAAG,IAAI;CAmBT"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * Abstract base class for all API implementations
3
+ * Extends BaseDataAPI with trading functionality
4
+ */
5
+ /* eslint-disable class-methods-use-this -- base class helpers used by subclasses */
6
+ import { Transaction } from "@mysten/sui/transactions";
7
+ import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
8
+ import { ALLOW_TRADE_CAN_TRADE, ALLOW_TRADE_MUST_TRADE, ALLOW_TRADE_NO_TRADE } from "../consts/index.mjs";
9
+ import { BaseDataAPI } from "./BaseDataAPI.mjs";
10
+ export class BaseAPI extends BaseDataAPI {
11
+ /* eslint-disable-next-line @typescript-eslint/no-useless-constructor -- passes params to super */
12
+ constructor(network, provider, apiEndpoint, connectionURL, lpToken) {
13
+ super(network, provider, apiEndpoint, connectionURL, lpToken);
14
+ }
15
+ // Delegate BaseDataAPI methods to this.dataAPI so subclasses don't need stub implementations
16
+ valuateVaults(tx) {
17
+ return this.dataAPI.valuateVaults(tx);
18
+ }
19
+ valuateSymbols(tx) {
20
+ return this.dataAPI.valuateSymbols(tx);
21
+ }
22
+ valuate(tx) {
23
+ return this.dataAPI.valuate(tx);
24
+ }
25
+ valuateMarket() {
26
+ return this.dataAPI.valuateMarket();
27
+ }
28
+ fundingFeeRate(indexToken, long, sender) {
29
+ return this.dataAPI.fundingFeeRate(indexToken, long, sender);
30
+ }
31
+ rebaseFeeRate(collateralToken, increase, amount, sender) {
32
+ return this.dataAPI.rebaseFeeRate(collateralToken, increase, amount, sender);
33
+ }
34
+ reservingFeeRate(collateralToken, amount, sender) {
35
+ return this.dataAPI.reservingFeeRate(collateralToken, amount, sender);
36
+ }
37
+ getMarketInfo() {
38
+ return this.dataAPI.getMarketInfo();
39
+ }
40
+ getVaultInfo(vault) {
41
+ return this.dataAPI.getVaultInfo(vault);
42
+ }
43
+ getSymbolInfo(tokenId, long) {
44
+ return this.dataAPI.getSymbolInfo(tokenId, long);
45
+ }
46
+ getPositionConfig(indexToken, long) {
47
+ return this.dataAPI.getPositionConfig(indexToken, long);
48
+ }
49
+ getRebaseFeeModel() {
50
+ return this.dataAPI.getRebaseFeeModel();
51
+ }
52
+ getOpenPositions(batchSize, symbol) {
53
+ return this.dataAPI.getOpenPositions(batchSize, symbol);
54
+ }
55
+ getPositionCapInfoList(owner) {
56
+ return this.dataAPI.getPositionCapInfoList(owner);
57
+ }
58
+ getPositionInfoList(positionCapInfoList, owner, batchSize) {
59
+ return this.dataAPI.getPositionInfoList(positionCapInfoList, owner, batchSize);
60
+ }
61
+ getOrderCapInfoList(owner) {
62
+ return this.dataAPI.getOrderCapInfoList(owner);
63
+ }
64
+ getOrderInfoList(orderCapInfoList, owner, batchSize) {
65
+ return this.dataAPI.getOrderInfoList(orderCapInfoList, owner, batchSize);
66
+ }
67
+ getHistory(trader, page, limit, orderType, symbol) {
68
+ return this.dataAPI.getHistory(trader, page, limit, orderType, symbol);
69
+ }
70
+ getStaked(owner) {
71
+ return this.dataAPI.getStaked(owner);
72
+ }
73
+ getStakePool() {
74
+ return this.dataAPI.getStakePool();
75
+ }
76
+ hasReferral(referree) {
77
+ return this.dataAPI.hasReferral(referree);
78
+ }
79
+ getReferralData(referree) {
80
+ return this.dataAPI.getReferralData(referree);
81
+ }
82
+ /**
83
+ * Processes coin objects for transactions
84
+ * Handles SUI gas coin and merges multiple coin objects if needed
85
+ */
86
+ processCoins(tx, coin, coinObjects, sponsoredTx = false) {
87
+ if (coin === 'sui' && !sponsoredTx) {
88
+ return tx.gas;
89
+ }
90
+ if (coinObjects.length > 1) {
91
+ tx.mergeCoins(tx.object(coinObjects[0]), coinObjects.slice(1).map(coinObject => tx.object(coinObject)));
92
+ }
93
+ return tx.object(coinObjects[0]);
94
+ }
95
+ processCoinSplitting(tx, token, coinObjects, amounts, sponsoredTx, suiCoinObject) {
96
+ if (sponsoredTx) {
97
+ const sourceObject = token === 'sui'
98
+ ? suiCoinObject
99
+ : this.processCoins(tx, token, coinObjects, true);
100
+ return tx.splitCoins(sourceObject, amounts);
101
+ }
102
+ const coinObject = this.processCoins(tx, token, coinObjects);
103
+ return tx.splitCoins(coinObject, amounts);
104
+ }
105
+ /**
106
+ * Processes slippage for price calculations
107
+ */
108
+ processSlippage(indexPrice, long, slippage) {
109
+ const raw = long ? indexPrice * (1 + slippage) : indexPrice * (1 - slippage);
110
+ return BigInt(Math.round(raw * 1e18));
111
+ }
112
+ /**
113
+ * Processes slippage for price calculations
114
+ */
115
+ processPriceThreshold(indexPrice, slippage) {
116
+ const raw = indexPrice * slippage;
117
+ return BigInt(Math.round(raw * 1e18));
118
+ }
119
+ /**
120
+ * Determines trade allowance based on order type
121
+ */
122
+ getTradeAllowance(isLimitOrder, isIocOrder) {
123
+ if (isLimitOrder) {
124
+ return isIocOrder ? ALLOW_TRADE_NO_TRADE : ALLOW_TRADE_CAN_TRADE;
125
+ }
126
+ return ALLOW_TRADE_MUST_TRADE;
127
+ }
128
+ /**
129
+ * Default: not supported. Override in subclasses that support S Card claim (e.g. SLP).
130
+ */
131
+ claimTokenFromSCard(_token, _coinObjects, _kioskClient, _kioskCap, _scard) {
132
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
133
+ }
134
+ /**
135
+ * Helper method to initialize oracle transaction block
136
+ * This is commonly used across all LP token implementations
137
+ */
138
+ async initOracleTransaction(tokens, tx) {
139
+ const txToUse = tx ?? new Transaction();
140
+ return await this.initOracleTxb(tokens, txToUse);
141
+ }
142
+ /**
143
+ * Helper method to add clock object to transaction
144
+ */
145
+ addClockToTransaction(tx) {
146
+ return tx.object(SUI_CLOCK_OBJECT_ID);
147
+ }
148
+ /**
149
+ * Helper method to create move call arguments array
150
+ */
151
+ createMoveCallArgs(tx, args) {
152
+ return args.map((arg) => {
153
+ if (typeof arg === 'string' && arg.startsWith('0x')) {
154
+ return tx.object(arg);
155
+ }
156
+ if (typeof arg === 'number') {
157
+ return tx.pure.u64(arg);
158
+ }
159
+ if (typeof arg === 'bigint') {
160
+ return tx.pure.u256(arg);
161
+ }
162
+ return arg;
163
+ });
164
+ }
165
+ /**
166
+ * Helper method to validate transaction parameters
167
+ */
168
+ validateTransactionParams(params) {
169
+ const { coin, coinObjects, amount, minAmountOut } = params;
170
+ if (coin && !this.consts.coins[coin]) {
171
+ throw new Error(`Unsupported coin: ${coin}`);
172
+ }
173
+ if (coinObjects && coinObjects.length === 0) {
174
+ throw new Error('At least one coin object is required');
175
+ }
176
+ if (amount !== undefined && amount <= 0) {
177
+ throw new Error('Amount must be greater than 0');
178
+ }
179
+ if (minAmountOut !== undefined && minAmountOut < 0) {
180
+ throw new Error('Minimum amount out cannot be negative');
181
+ }
182
+ }
183
+ /**
184
+ * Helper method to validate position parameters
185
+ */
186
+ validatePositionParams(params) {
187
+ const { collateralToken, indexToken, size, collateralAmount } = params;
188
+ if (!this.consts.coins[collateralToken]) {
189
+ throw new Error(`Unsupported collateral token: ${collateralToken}`);
190
+ }
191
+ if (!this.consts.coins[indexToken]) {
192
+ throw new Error(`Unsupported index token: ${indexToken}`);
193
+ }
194
+ if (size <= 0n) {
195
+ throw new Error('Position size must be greater than 0');
196
+ }
197
+ if (collateralAmount <= 0n) {
198
+ throw new Error('Collateral amount must be greater than 0');
199
+ }
200
+ }
201
+ }
202
+ //# sourceMappingURL=BaseAPI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAPI.mjs","sourceRoot":"","sources":["../../src/abstract/BaseAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /**
3
+ * Abstract base class for all DataAPI implementations
4
+ * Provides common functionality and enforces interface contracts
5
+ */
6
+ /* eslint-disable class-methods-use-this -- base class helpers used by subclasses */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BaseDataAPI = void 0;
9
+ const oracle_1 = require("../oracle.cjs");
10
+ class BaseDataAPI extends oracle_1.OracleAPI {
11
+ constructor(network, provider, apiEndpoint, connectionURL, lpToken) {
12
+ super(network, provider, connectionURL, lpToken);
13
+ // Cache management
14
+ this.vaultInfoCache = {};
15
+ this.symbolInfoCache = {};
16
+ this.marketInfoCache = null;
17
+ this.positionConfigCache = {};
18
+ this.rebaseFeeModelCache = null;
19
+ this.lastUpdate = 0;
20
+ this.CACHE_DURATION = 1000 * 60 * 3; // 3 minutes
21
+ this.provider = provider;
22
+ this.apiEndpoint = apiEndpoint;
23
+ this.connectionURL = connectionURL;
24
+ this.lpToken = lpToken;
25
+ }
26
+ /**
27
+ * Validates and clears cache if expired
28
+ */
29
+ validateCache() {
30
+ super.validateCache();
31
+ if (this.lastUpdate + this.CACHE_DURATION < Date.now()) {
32
+ this.clearCache();
33
+ }
34
+ }
35
+ /**
36
+ * Clears all cached data
37
+ */
38
+ clearCache() {
39
+ this.lastUpdate = Date.now();
40
+ this.vaultInfoCache = {};
41
+ this.symbolInfoCache = {};
42
+ this.marketInfoCache = null;
43
+ this.positionConfigCache = {};
44
+ this.rebaseFeeModelCache = null;
45
+ }
46
+ /**
47
+ * Gets cached vault info or fetches if not cached
48
+ */
49
+ async getCachedVaultInfo(vault) {
50
+ this.validateCache();
51
+ if (!this.vaultInfoCache[vault]) {
52
+ this.vaultInfoCache[vault] = await this.getVaultInfo(vault);
53
+ }
54
+ return this.vaultInfoCache[vault];
55
+ }
56
+ /**
57
+ * Gets cached symbol info or fetches if not cached
58
+ */
59
+ async getCachedSymbolInfo(tokenId, long) {
60
+ this.validateCache();
61
+ const key = `${tokenId}_${long}`;
62
+ if (!this.symbolInfoCache[key]) {
63
+ this.symbolInfoCache[key] = await this.getSymbolInfo(tokenId, long);
64
+ }
65
+ return this.symbolInfoCache[key];
66
+ }
67
+ /**
68
+ * Gets cached market info or fetches if not cached
69
+ */
70
+ async getCachedMarketInfo() {
71
+ this.validateCache();
72
+ if (!this.marketInfoCache) {
73
+ this.marketInfoCache = await this.getMarketInfo();
74
+ }
75
+ return this.marketInfoCache;
76
+ }
77
+ /**
78
+ * Gets cached position config or fetches if not cached
79
+ */
80
+ async getCachedPositionConfig(indexToken, long) {
81
+ this.validateCache();
82
+ const key = `${indexToken}_${long}`;
83
+ if (!this.positionConfigCache[key]) {
84
+ this.positionConfigCache[key] = await this.getPositionConfig(indexToken, long);
85
+ }
86
+ return this.positionConfigCache[key];
87
+ }
88
+ /**
89
+ * Gets cached rebase fee model or fetches if not cached
90
+ */
91
+ async getCachedRebaseFeeModel() {
92
+ this.validateCache();
93
+ if (!this.rebaseFeeModelCache) {
94
+ this.rebaseFeeModelCache = await this.getRebaseFeeModel();
95
+ }
96
+ return this.rebaseFeeModelCache;
97
+ }
98
+ /**
99
+ * Helper method to handle API requests with error handling
100
+ */
101
+ async makeAPIRequest(endpoint) {
102
+ try {
103
+ const response = await fetch(`${this.apiEndpoint}${endpoint}`);
104
+ if (!response.ok) {
105
+ throw new Error(`HTTP error! status: ${response.status}`);
106
+ }
107
+ return await response.json();
108
+ }
109
+ catch (error) {
110
+ console.error(`Error fetching data from ${endpoint}:`, error);
111
+ throw error;
112
+ }
113
+ }
114
+ /**
115
+ * Helper method to parse numeric values from API responses
116
+ */
117
+ parseNumericValue(value, decimals = 0) {
118
+ if (typeof value === 'string') {
119
+ return Number(value) / 10 ** decimals;
120
+ }
121
+ if (typeof value === 'bigint') {
122
+ return Number(value) / 10 ** decimals;
123
+ }
124
+ return Number(value) || 0;
125
+ }
126
+ /**
127
+ * Helper method to parse bigint values from API responses
128
+ */
129
+ parseBigIntValue(value) {
130
+ if (typeof value === 'string') {
131
+ return BigInt(value);
132
+ }
133
+ if (typeof value === 'bigint') {
134
+ return value;
135
+ }
136
+ return BigInt(Number(value) || 0);
137
+ }
138
+ }
139
+ exports.BaseDataAPI = BaseDataAPI;
140
+ //# sourceMappingURL=BaseDataAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseDataAPI.cjs","sourceRoot":"","sources":["../../src/abstract/BaseDataAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Abstract base class for all DataAPI implementations
3
+ * Provides common functionality and enforces interface contracts
4
+ */
5
+ import type { SuiClient } from "@mysten/sui/client";
6
+ import type { Transaction } from "@mysten/sui/transactions";
7
+ import type { LPToken, Network } from "../consts/index.cjs";
8
+ import type { IBaseDataAPI, IBaseHistoryResponse, IBaseMarketInfo, IBaseMarketValuationInfo, IBaseOrderCapInfo, IBaseOrderInfo, IBasePositionCapInfo, IBasePositionConfig, IBasePositionInfo, IBaseRebaseFeeModel, IBaseStaked, IBaseStakePool, IBaseSymbolInfo, IBaseVaultInfo } from "../interfaces/index.cjs";
9
+ import { OracleAPI } from "../oracle.cjs";
10
+ export declare abstract class BaseDataAPI extends OracleAPI implements IBaseDataAPI {
11
+ readonly provider: SuiClient;
12
+ readonly apiEndpoint: string;
13
+ readonly connectionURL: string;
14
+ readonly lpToken: LPToken;
15
+ protected vaultInfoCache: Record<string, IBaseVaultInfo>;
16
+ protected symbolInfoCache: Record<string, IBaseSymbolInfo>;
17
+ protected marketInfoCache: IBaseMarketInfo | null;
18
+ protected positionConfigCache: Record<string, IBasePositionConfig>;
19
+ protected rebaseFeeModelCache: IBaseRebaseFeeModel | null;
20
+ protected lastUpdate: number;
21
+ protected readonly CACHE_DURATION: number;
22
+ constructor(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken);
23
+ /**
24
+ * Validates and clears cache if expired
25
+ */
26
+ validateCache(): void;
27
+ /**
28
+ * Clears all cached data
29
+ */
30
+ protected clearCache(): void;
31
+ /**
32
+ * Gets cached vault info or fetches if not cached
33
+ */
34
+ protected getCachedVaultInfo(vault: string): Promise<IBaseVaultInfo>;
35
+ /**
36
+ * Gets cached symbol info or fetches if not cached
37
+ */
38
+ protected getCachedSymbolInfo(tokenId: string, long: boolean): Promise<IBaseSymbolInfo>;
39
+ /**
40
+ * Gets cached market info or fetches if not cached
41
+ */
42
+ protected getCachedMarketInfo(): Promise<IBaseMarketInfo>;
43
+ /**
44
+ * Gets cached position config or fetches if not cached
45
+ */
46
+ protected getCachedPositionConfig(indexToken: string, long: boolean): Promise<IBasePositionConfig>;
47
+ /**
48
+ * Gets cached rebase fee model or fetches if not cached
49
+ */
50
+ protected getCachedRebaseFeeModel(): Promise<IBaseRebaseFeeModel>;
51
+ abstract valuateVaults(tx: Transaction): any;
52
+ abstract valuateSymbols(tx: Transaction): any;
53
+ abstract valuate(tx: Transaction): {
54
+ vaultsValuation: any;
55
+ symbolsValuation: any;
56
+ };
57
+ abstract valuateMarket(): Promise<IBaseMarketValuationInfo>;
58
+ abstract fundingFeeRate(indexToken: string, long: boolean, sender?: string): Promise<number>;
59
+ abstract rebaseFeeRate(collateralToken: string, increase: boolean, amount: number, sender?: string): Promise<number>;
60
+ abstract reservingFeeRate(collateralToken: string, amount: number, sender?: string): Promise<number>;
61
+ abstract getMarketInfo(): Promise<IBaseMarketInfo>;
62
+ abstract getVaultInfo(vault: string): Promise<IBaseVaultInfo>;
63
+ abstract getSymbolInfo(tokenId: string, long: boolean): Promise<IBaseSymbolInfo>;
64
+ abstract getPositionConfig(indexToken: string, long: boolean): Promise<IBasePositionConfig>;
65
+ abstract getRebaseFeeModel(): Promise<IBaseRebaseFeeModel>;
66
+ abstract getOpenPositions(batchSize: number, symbol: string): Promise<IBasePositionInfo[]>;
67
+ abstract getPositionCapInfoList(owner: string): Promise<IBasePositionCapInfo[]>;
68
+ abstract getPositionInfoList(positionCapInfoList: IBasePositionCapInfo[], owner: string, batchSize?: number): Promise<IBasePositionInfo[]>;
69
+ abstract getOrderCapInfoList(owner: string): Promise<IBaseOrderCapInfo[]>;
70
+ abstract getOrderInfoList(orderCapInfoList: IBaseOrderCapInfo[], owner: string, batchSize?: number): Promise<IBaseOrderInfo[]>;
71
+ abstract getHistory(trader: string, page: number, limit: number, orderType?: string, symbol?: string): Promise<IBaseHistoryResponse>;
72
+ abstract getStaked(owner: string): Promise<IBaseStaked>;
73
+ abstract getStakePool(): Promise<IBaseStakePool>;
74
+ abstract hasReferral(referree: string): Promise<boolean>;
75
+ abstract getReferralData(referree: string): Promise<any>;
76
+ /**
77
+ * Helper method to handle API requests with error handling
78
+ */
79
+ protected makeAPIRequest<T>(endpoint: string): Promise<T>;
80
+ /**
81
+ * Helper method to parse numeric values from API responses
82
+ */
83
+ protected parseNumericValue(value: any, decimals?: number): number;
84
+ /**
85
+ * Helper method to parse bigint values from API responses
86
+ */
87
+ protected parseBigIntValue(value: any): bigint;
88
+ }
89
+ //# sourceMappingURL=BaseDataAPI.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseDataAPI.d.cts","sourceRoot":"","sources":["../../src/abstract/BaseDataAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Abstract base class for all DataAPI implementations
3
+ * Provides common functionality and enforces interface contracts
4
+ */
5
+ import type { SuiClient } from "@mysten/sui/client";
6
+ import type { Transaction } from "@mysten/sui/transactions";
7
+ import type { LPToken, Network } from "../consts/index.mjs";
8
+ import type { IBaseDataAPI, IBaseHistoryResponse, IBaseMarketInfo, IBaseMarketValuationInfo, IBaseOrderCapInfo, IBaseOrderInfo, IBasePositionCapInfo, IBasePositionConfig, IBasePositionInfo, IBaseRebaseFeeModel, IBaseStaked, IBaseStakePool, IBaseSymbolInfo, IBaseVaultInfo } from "../interfaces/index.mjs";
9
+ import { OracleAPI } from "../oracle.mjs";
10
+ export declare abstract class BaseDataAPI extends OracleAPI implements IBaseDataAPI {
11
+ readonly provider: SuiClient;
12
+ readonly apiEndpoint: string;
13
+ readonly connectionURL: string;
14
+ readonly lpToken: LPToken;
15
+ protected vaultInfoCache: Record<string, IBaseVaultInfo>;
16
+ protected symbolInfoCache: Record<string, IBaseSymbolInfo>;
17
+ protected marketInfoCache: IBaseMarketInfo | null;
18
+ protected positionConfigCache: Record<string, IBasePositionConfig>;
19
+ protected rebaseFeeModelCache: IBaseRebaseFeeModel | null;
20
+ protected lastUpdate: number;
21
+ protected readonly CACHE_DURATION: number;
22
+ constructor(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken);
23
+ /**
24
+ * Validates and clears cache if expired
25
+ */
26
+ validateCache(): void;
27
+ /**
28
+ * Clears all cached data
29
+ */
30
+ protected clearCache(): void;
31
+ /**
32
+ * Gets cached vault info or fetches if not cached
33
+ */
34
+ protected getCachedVaultInfo(vault: string): Promise<IBaseVaultInfo>;
35
+ /**
36
+ * Gets cached symbol info or fetches if not cached
37
+ */
38
+ protected getCachedSymbolInfo(tokenId: string, long: boolean): Promise<IBaseSymbolInfo>;
39
+ /**
40
+ * Gets cached market info or fetches if not cached
41
+ */
42
+ protected getCachedMarketInfo(): Promise<IBaseMarketInfo>;
43
+ /**
44
+ * Gets cached position config or fetches if not cached
45
+ */
46
+ protected getCachedPositionConfig(indexToken: string, long: boolean): Promise<IBasePositionConfig>;
47
+ /**
48
+ * Gets cached rebase fee model or fetches if not cached
49
+ */
50
+ protected getCachedRebaseFeeModel(): Promise<IBaseRebaseFeeModel>;
51
+ abstract valuateVaults(tx: Transaction): any;
52
+ abstract valuateSymbols(tx: Transaction): any;
53
+ abstract valuate(tx: Transaction): {
54
+ vaultsValuation: any;
55
+ symbolsValuation: any;
56
+ };
57
+ abstract valuateMarket(): Promise<IBaseMarketValuationInfo>;
58
+ abstract fundingFeeRate(indexToken: string, long: boolean, sender?: string): Promise<number>;
59
+ abstract rebaseFeeRate(collateralToken: string, increase: boolean, amount: number, sender?: string): Promise<number>;
60
+ abstract reservingFeeRate(collateralToken: string, amount: number, sender?: string): Promise<number>;
61
+ abstract getMarketInfo(): Promise<IBaseMarketInfo>;
62
+ abstract getVaultInfo(vault: string): Promise<IBaseVaultInfo>;
63
+ abstract getSymbolInfo(tokenId: string, long: boolean): Promise<IBaseSymbolInfo>;
64
+ abstract getPositionConfig(indexToken: string, long: boolean): Promise<IBasePositionConfig>;
65
+ abstract getRebaseFeeModel(): Promise<IBaseRebaseFeeModel>;
66
+ abstract getOpenPositions(batchSize: number, symbol: string): Promise<IBasePositionInfo[]>;
67
+ abstract getPositionCapInfoList(owner: string): Promise<IBasePositionCapInfo[]>;
68
+ abstract getPositionInfoList(positionCapInfoList: IBasePositionCapInfo[], owner: string, batchSize?: number): Promise<IBasePositionInfo[]>;
69
+ abstract getOrderCapInfoList(owner: string): Promise<IBaseOrderCapInfo[]>;
70
+ abstract getOrderInfoList(orderCapInfoList: IBaseOrderCapInfo[], owner: string, batchSize?: number): Promise<IBaseOrderInfo[]>;
71
+ abstract getHistory(trader: string, page: number, limit: number, orderType?: string, symbol?: string): Promise<IBaseHistoryResponse>;
72
+ abstract getStaked(owner: string): Promise<IBaseStaked>;
73
+ abstract getStakePool(): Promise<IBaseStakePool>;
74
+ abstract hasReferral(referree: string): Promise<boolean>;
75
+ abstract getReferralData(referree: string): Promise<any>;
76
+ /**
77
+ * Helper method to handle API requests with error handling
78
+ */
79
+ protected makeAPIRequest<T>(endpoint: string): Promise<T>;
80
+ /**
81
+ * Helper method to parse numeric values from API responses
82
+ */
83
+ protected parseNumericValue(value: any, decimals?: number): number;
84
+ /**
85
+ * Helper method to parse bigint values from API responses
86
+ */
87
+ protected parseBigIntValue(value: any): bigint;
88
+ }
89
+ //# sourceMappingURL=BaseDataAPI.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseDataAPI.d.mts","sourceRoot":"","sources":["../../src/abstract/BaseDataAPI.ts"],"names":[],"mappings":"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"}