zo-sdk 0.0.51 → 0.1.1

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 (201) hide show
  1. package/README.md +272 -20
  2. package/dist/abstract/BaseAPI.cjs +117 -0
  3. package/dist/abstract/BaseAPI.cjs.map +1 -0
  4. package/dist/abstract/BaseAPI.d.cts +131 -0
  5. package/dist/abstract/BaseAPI.d.cts.map +1 -0
  6. package/dist/abstract/BaseAPI.d.mts +131 -0
  7. package/dist/abstract/BaseAPI.d.mts.map +1 -0
  8. package/dist/abstract/BaseAPI.mjs +113 -0
  9. package/dist/abstract/BaseAPI.mjs.map +1 -0
  10. package/dist/abstract/BaseDataAPI.cjs +139 -0
  11. package/dist/abstract/BaseDataAPI.cjs.map +1 -0
  12. package/dist/abstract/BaseDataAPI.d.cts +89 -0
  13. package/dist/abstract/BaseDataAPI.d.cts.map +1 -0
  14. package/dist/abstract/BaseDataAPI.d.mts +89 -0
  15. package/dist/abstract/BaseDataAPI.d.mts.map +1 -0
  16. package/dist/abstract/BaseDataAPI.mjs +135 -0
  17. package/dist/abstract/BaseDataAPI.mjs.map +1 -0
  18. package/dist/abstract/index.cjs +12 -0
  19. package/dist/abstract/index.cjs.map +1 -0
  20. package/dist/abstract/index.d.cts +7 -0
  21. package/dist/abstract/index.d.cts.map +1 -0
  22. package/dist/abstract/index.d.mts +7 -0
  23. package/dist/abstract/index.d.mts.map +1 -0
  24. package/dist/abstract/index.mjs +7 -0
  25. package/dist/abstract/index.mjs.map +1 -0
  26. package/dist/bcs.cjs +42 -0
  27. package/dist/bcs.cjs.map +1 -0
  28. package/dist/bcs.d.cts +91 -0
  29. package/dist/bcs.d.cts.map +1 -0
  30. package/dist/bcs.d.mts +91 -0
  31. package/dist/bcs.d.mts.map +1 -0
  32. package/dist/bcs.mjs +39 -0
  33. package/dist/bcs.mjs.map +1 -0
  34. package/dist/consts/deployments-slp-mainnet.json +710 -0
  35. package/dist/consts/deployments-slp-testnet.json +109 -0
  36. package/dist/consts/deployments-usdz-mainnet.json +180 -0
  37. package/dist/consts/deployments-usdz-testnet.json +98 -0
  38. package/dist/consts/{deployments-mainnet.json → deployments-zlp-mainnet.json} +278 -42
  39. package/dist/consts/index.cjs +49 -13
  40. package/dist/consts/index.cjs.map +1 -1
  41. package/dist/consts/index.d.cts +81 -11
  42. package/dist/consts/index.d.cts.map +1 -1
  43. package/dist/consts/index.d.mts +81 -11
  44. package/dist/consts/index.d.mts.map +1 -1
  45. package/dist/consts/index.mjs +48 -12
  46. package/dist/consts/index.mjs.map +1 -1
  47. package/dist/consts/price_id_to_object_id.mainnet.json +9 -1
  48. package/dist/factory/SDKFactory.cjs +185 -0
  49. package/dist/factory/SDKFactory.cjs.map +1 -0
  50. package/dist/factory/SDKFactory.d.cts +74 -0
  51. package/dist/factory/SDKFactory.d.cts.map +1 -0
  52. package/dist/factory/SDKFactory.d.mts +74 -0
  53. package/dist/factory/SDKFactory.d.mts.map +1 -0
  54. package/dist/factory/SDKFactory.mjs +179 -0
  55. package/dist/factory/SDKFactory.mjs.map +1 -0
  56. package/dist/implementations/SLPAPI.cjs +829 -0
  57. package/dist/implementations/SLPAPI.cjs.map +1 -0
  58. package/dist/implementations/SLPAPI.d.cts +120 -0
  59. package/dist/implementations/SLPAPI.d.cts.map +1 -0
  60. package/dist/implementations/SLPAPI.d.mts +120 -0
  61. package/dist/implementations/SLPAPI.d.mts.map +1 -0
  62. package/dist/implementations/SLPAPI.mjs +825 -0
  63. package/dist/implementations/SLPAPI.mjs.map +1 -0
  64. package/dist/implementations/SLPDataAPI.cjs +916 -0
  65. package/dist/implementations/SLPDataAPI.cjs.map +1 -0
  66. package/dist/implementations/SLPDataAPI.d.cts +102 -0
  67. package/dist/implementations/SLPDataAPI.d.cts.map +1 -0
  68. package/dist/implementations/SLPDataAPI.d.mts +102 -0
  69. package/dist/implementations/SLPDataAPI.d.mts.map +1 -0
  70. package/dist/implementations/SLPDataAPI.mjs +912 -0
  71. package/dist/implementations/SLPDataAPI.mjs.map +1 -0
  72. package/dist/implementations/USDZAPI.cjs +522 -0
  73. package/dist/implementations/USDZAPI.cjs.map +1 -0
  74. package/dist/implementations/USDZAPI.d.cts +118 -0
  75. package/dist/implementations/USDZAPI.d.cts.map +1 -0
  76. package/dist/implementations/USDZAPI.d.mts +118 -0
  77. package/dist/implementations/USDZAPI.d.mts.map +1 -0
  78. package/dist/implementations/USDZAPI.mjs +518 -0
  79. package/dist/implementations/USDZAPI.mjs.map +1 -0
  80. package/dist/implementations/USDZDataAPI.cjs +697 -0
  81. package/dist/implementations/USDZDataAPI.cjs.map +1 -0
  82. package/dist/implementations/USDZDataAPI.d.cts +86 -0
  83. package/dist/implementations/USDZDataAPI.d.cts.map +1 -0
  84. package/dist/implementations/USDZDataAPI.d.mts +86 -0
  85. package/dist/implementations/USDZDataAPI.d.mts.map +1 -0
  86. package/dist/implementations/USDZDataAPI.mjs +693 -0
  87. package/dist/implementations/USDZDataAPI.mjs.map +1 -0
  88. package/dist/implementations/ZLPAPI.cjs +809 -0
  89. package/dist/implementations/ZLPAPI.cjs.map +1 -0
  90. package/dist/implementations/ZLPAPI.d.cts +121 -0
  91. package/dist/implementations/ZLPAPI.d.cts.map +1 -0
  92. package/dist/implementations/ZLPAPI.d.mts +121 -0
  93. package/dist/implementations/ZLPAPI.d.mts.map +1 -0
  94. package/dist/implementations/ZLPAPI.mjs +805 -0
  95. package/dist/implementations/ZLPAPI.mjs.map +1 -0
  96. package/dist/implementations/ZLPDataAPI.cjs +724 -0
  97. package/dist/implementations/ZLPDataAPI.cjs.map +1 -0
  98. package/dist/implementations/ZLPDataAPI.d.cts +83 -0
  99. package/dist/implementations/ZLPDataAPI.d.cts.map +1 -0
  100. package/dist/implementations/ZLPDataAPI.d.mts +83 -0
  101. package/dist/implementations/ZLPDataAPI.d.mts.map +1 -0
  102. package/dist/implementations/ZLPDataAPI.mjs +720 -0
  103. package/dist/implementations/ZLPDataAPI.mjs.map +1 -0
  104. package/dist/implementations/index.cjs +22 -0
  105. package/dist/implementations/index.cjs.map +1 -0
  106. package/dist/implementations/index.d.cts +11 -0
  107. package/dist/implementations/index.d.cts.map +1 -0
  108. package/dist/implementations/index.d.mts +11 -0
  109. package/dist/implementations/index.d.mts.map +1 -0
  110. package/dist/implementations/index.mjs +13 -0
  111. package/dist/implementations/index.mjs.map +1 -0
  112. package/dist/index.cjs +47 -0
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.cts +45 -0
  115. package/dist/index.d.cts.map +1 -1
  116. package/dist/index.d.mts +45 -0
  117. package/dist/index.d.mts.map +1 -1
  118. package/dist/index.mjs +45 -0
  119. package/dist/index.mjs.map +1 -1
  120. package/dist/interfaces/base.cjs +8 -0
  121. package/dist/interfaces/base.cjs.map +1 -0
  122. package/dist/interfaces/base.d.cts +293 -0
  123. package/dist/interfaces/base.d.cts.map +1 -0
  124. package/dist/interfaces/base.d.mts +293 -0
  125. package/dist/interfaces/base.d.mts.map +1 -0
  126. package/dist/interfaces/base.mjs +6 -0
  127. package/dist/interfaces/base.mjs.map +1 -0
  128. package/dist/interfaces/index.cjs +29 -0
  129. package/dist/interfaces/index.cjs.map +1 -0
  130. package/dist/interfaces/index.d.cts +13 -0
  131. package/dist/interfaces/index.d.cts.map +1 -0
  132. package/dist/interfaces/index.d.mts +13 -0
  133. package/dist/interfaces/index.d.mts.map +1 -0
  134. package/dist/interfaces/index.mjs +13 -0
  135. package/dist/interfaces/index.mjs.map +1 -0
  136. package/dist/interfaces/slp.cjs +9 -0
  137. package/dist/interfaces/slp.cjs.map +1 -0
  138. package/dist/interfaces/slp.d.cts +115 -0
  139. package/dist/interfaces/slp.d.cts.map +1 -0
  140. package/dist/interfaces/slp.d.mts +115 -0
  141. package/dist/interfaces/slp.d.mts.map +1 -0
  142. package/dist/interfaces/slp.mjs +7 -0
  143. package/dist/interfaces/slp.mjs.map +1 -0
  144. package/dist/interfaces/usdz.cjs +7 -0
  145. package/dist/interfaces/usdz.cjs.map +1 -0
  146. package/dist/interfaces/usdz.d.cts +40 -0
  147. package/dist/interfaces/usdz.d.cts.map +1 -0
  148. package/dist/interfaces/usdz.d.mts +40 -0
  149. package/dist/interfaces/usdz.d.mts.map +1 -0
  150. package/dist/interfaces/usdz.mjs +6 -0
  151. package/dist/interfaces/usdz.mjs.map +1 -0
  152. package/dist/interfaces/zlp.cjs +7 -0
  153. package/dist/interfaces/zlp.cjs.map +1 -0
  154. package/dist/interfaces/zlp.d.cts +45 -0
  155. package/dist/interfaces/zlp.d.cts.map +1 -0
  156. package/dist/interfaces/zlp.d.mts +45 -0
  157. package/dist/interfaces/zlp.d.mts.map +1 -0
  158. package/dist/interfaces/zlp.mjs +6 -0
  159. package/dist/interfaces/zlp.mjs.map +1 -0
  160. package/dist/oracle.cjs +7 -35
  161. package/dist/oracle.cjs.map +1 -1
  162. package/dist/oracle.d.cts +3 -4
  163. package/dist/oracle.d.cts.map +1 -1
  164. package/dist/oracle.d.mts +3 -4
  165. package/dist/oracle.d.mts.map +1 -1
  166. package/dist/oracle.mjs +8 -32
  167. package/dist/oracle.mjs.map +1 -1
  168. package/package.json +1 -1
  169. package/src/abstract/BaseAPI.ts +429 -0
  170. package/src/abstract/BaseDataAPI.ts +204 -0
  171. package/src/abstract/index.ts +7 -0
  172. package/src/bcs.ts +45 -0
  173. package/src/consts/deployments-slp-mainnet.json +710 -0
  174. package/src/consts/deployments-slp-testnet.json +109 -0
  175. package/src/consts/deployments-usdz-mainnet.json +180 -0
  176. package/src/consts/deployments-usdz-testnet.json +98 -0
  177. package/src/consts/{deployments-mainnet.json → deployments-zlp-mainnet.json} +279 -43
  178. package/src/consts/index.ts +143 -41
  179. package/src/consts/price_id_to_object_id.mainnet.json +10 -2
  180. package/src/factory/SDKFactory.ts +282 -0
  181. package/src/implementations/SLPAPI.ts +1207 -0
  182. package/src/implementations/SLPDataAPI.ts +1188 -0
  183. package/src/implementations/USDZAPI.ts +715 -0
  184. package/src/implementations/USDZDataAPI.ts +826 -0
  185. package/src/implementations/ZLPAPI.ts +1130 -0
  186. package/src/implementations/ZLPDataAPI.ts +856 -0
  187. package/src/implementations/index.ts +14 -0
  188. package/src/index.ts +53 -0
  189. package/src/interfaces/base.ts +556 -0
  190. package/src/interfaces/index.ts +45 -0
  191. package/src/interfaces/slp.ts +156 -0
  192. package/src/interfaces/usdz.ts +71 -0
  193. package/src/interfaces/zlp.ts +96 -0
  194. package/src/oracle.ts +12 -42
  195. package/tsconfig.json +4 -2
  196. package/dist/consts/staking/deployments-mainnet.json +0 -12
  197. package/dist/consts/staking/deployments-testnet.json +0 -11
  198. package/src/consts/staking/deployments-mainnet.json +0 -12
  199. package/src/consts/staking/deployments-testnet.json +0 -11
  200. /package/dist/consts/{deployments-testnet.json → deployments-zlp-testnet.json} +0 -0
  201. /package/src/consts/{deployments-testnet.json → deployments-zlp-testnet.json} +0 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * SDK Factory for creating appropriate SDK instances based on LP token type
3
+ * This is the main entry point for the re-architected SDK system
4
+ */
5
+ import type { SuiClient } from "@mysten/sui/client";
6
+ import type { Network, LPToken } from "../consts/index.cjs";
7
+ import type { IBaseDataAPI, IBaseAPI, ISDKFactory, IZLPDataAPI, IZLPAPI, ISLPDataAPI, ISLPAPI, IUSDZDataAPI, IUSDZAPI } from "../interfaces/index.cjs";
8
+ export declare class SDKFactory implements ISDKFactory {
9
+ private static instance;
10
+ private zlpDataAPIInstance;
11
+ private slpDataAPIInstance;
12
+ private usdzDataAPIInstance;
13
+ private zlpAPIInstance;
14
+ private slpAPIInstance;
15
+ private usdzAPIInstance;
16
+ private constructor();
17
+ /**
18
+ * Gets the singleton instance of the SDK factory
19
+ */
20
+ static getInstance(): SDKFactory;
21
+ /**
22
+ * Creates a DataAPI instance based on the LP token type (returns singleton)
23
+ */
24
+ createDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseDataAPI;
25
+ /**
26
+ * Creates an API instance based on the LP token type (returns singleton)
27
+ */
28
+ createAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseAPI;
29
+ /**
30
+ * Creates a typed DataAPI instance for ZLP (returns singleton)
31
+ */
32
+ createZLPDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IZLPDataAPI;
33
+ /**
34
+ * Creates a typed API instance for ZLP (returns singleton)
35
+ */
36
+ createZLPAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IZLPAPI;
37
+ /**
38
+ * Creates a typed DataAPI instance for SLP (returns singleton)
39
+ */
40
+ createSLPDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): ISLPDataAPI;
41
+ /**
42
+ * Creates a typed API instance for SLP (returns singleton)
43
+ */
44
+ createSLPAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): ISLPAPI;
45
+ /**
46
+ * Creates a typed DataAPI instance for USDZ (returns singleton)
47
+ */
48
+ createUSDZDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IUSDZDataAPI;
49
+ /**
50
+ * Creates a typed API instance for USDZ (returns singleton)
51
+ */
52
+ createUSDZAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IUSDZAPI;
53
+ /**
54
+ * Validates if a given LP token is supported
55
+ */
56
+ isLPTokenSupported(lpToken: string): lpToken is LPToken;
57
+ /**
58
+ * Gets all supported LP token types
59
+ */
60
+ getSupportedLPTokens(): LPToken[];
61
+ /**
62
+ * Clears all singleton instances (useful for testing or configuration changes)
63
+ */
64
+ clearInstances(): void;
65
+ /**
66
+ * Creates the appropriate SDK instance based on string LP token type
67
+ * Useful for dynamic SDK creation from configuration
68
+ */
69
+ createSDKFromString(lpTokenString: string, network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, includeTrading?: boolean): IBaseDataAPI | IBaseAPI;
70
+ }
71
+ export declare function createDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseDataAPI;
72
+ export declare function createAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseAPI;
73
+ export declare const sdkFactory: SDKFactory;
74
+ //# sourceMappingURL=SDKFactory.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKFactory.d.cts","sourceRoot":"","sources":["../../src/factory/SDKFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,4BAAiB;AAEjD,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,EACP,WAAW,EACX,OAAO,EACP,YAAY,EACZ,QAAQ,EACT,gCAAqB;AAYtB,qBAAa,UAAW,YAAW,WAAW;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IAGnC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,mBAAmB,CAA4B;IAGvD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAwB;IAE/C,OAAO;IAEP;;OAEG;WACW,WAAW,IAAI,UAAU;IAOvC;;OAEG;IACI,aAAa,CAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,YAAY;IAsBf;;OAEG;IACI,SAAS,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,QAAQ;IAsBX;;OAEG;IACI,gBAAgB,CACrB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,WAAW;IAOd;;OAEG;IACI,YAAY,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO;IAOV;;OAEG;IACI,gBAAgB,CACrB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,WAAW;IAOd;;OAEG;IACI,YAAY,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO;IAOV;;OAEG;IACI,iBAAiB,CACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,YAAY;IAOf;;OAEG;IACI,aAAa,CAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,QAAQ;IAOX;;OAEG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,OAAO;IAI9D;;OAEG;IACI,oBAAoB,IAAI,OAAO,EAAE;IAIxC;;OAEG;IACI,cAAc,IAAI,IAAI;IAS7B;;;OAGG;IACI,mBAAmB,CACxB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,cAAc,UAAO,GACpB,YAAY,GAAG,QAAQ;CAa3B;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,YAAY,CAEd;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,QAAQ,CAEV;AAGD,eAAO,MAAM,UAAU,YAA2B,CAAA"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * SDK Factory for creating appropriate SDK instances based on LP token type
3
+ * This is the main entry point for the re-architected SDK system
4
+ */
5
+ import type { SuiClient } from "@mysten/sui/client";
6
+ import type { Network, LPToken } from "../consts/index.mjs";
7
+ import type { IBaseDataAPI, IBaseAPI, ISDKFactory, IZLPDataAPI, IZLPAPI, ISLPDataAPI, ISLPAPI, IUSDZDataAPI, IUSDZAPI } from "../interfaces/index.mjs";
8
+ export declare class SDKFactory implements ISDKFactory {
9
+ private static instance;
10
+ private zlpDataAPIInstance;
11
+ private slpDataAPIInstance;
12
+ private usdzDataAPIInstance;
13
+ private zlpAPIInstance;
14
+ private slpAPIInstance;
15
+ private usdzAPIInstance;
16
+ private constructor();
17
+ /**
18
+ * Gets the singleton instance of the SDK factory
19
+ */
20
+ static getInstance(): SDKFactory;
21
+ /**
22
+ * Creates a DataAPI instance based on the LP token type (returns singleton)
23
+ */
24
+ createDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseDataAPI;
25
+ /**
26
+ * Creates an API instance based on the LP token type (returns singleton)
27
+ */
28
+ createAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseAPI;
29
+ /**
30
+ * Creates a typed DataAPI instance for ZLP (returns singleton)
31
+ */
32
+ createZLPDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IZLPDataAPI;
33
+ /**
34
+ * Creates a typed API instance for ZLP (returns singleton)
35
+ */
36
+ createZLPAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IZLPAPI;
37
+ /**
38
+ * Creates a typed DataAPI instance for SLP (returns singleton)
39
+ */
40
+ createSLPDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): ISLPDataAPI;
41
+ /**
42
+ * Creates a typed API instance for SLP (returns singleton)
43
+ */
44
+ createSLPAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): ISLPAPI;
45
+ /**
46
+ * Creates a typed DataAPI instance for USDZ (returns singleton)
47
+ */
48
+ createUSDZDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IUSDZDataAPI;
49
+ /**
50
+ * Creates a typed API instance for USDZ (returns singleton)
51
+ */
52
+ createUSDZAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string): IUSDZAPI;
53
+ /**
54
+ * Validates if a given LP token is supported
55
+ */
56
+ isLPTokenSupported(lpToken: string): lpToken is LPToken;
57
+ /**
58
+ * Gets all supported LP token types
59
+ */
60
+ getSupportedLPTokens(): LPToken[];
61
+ /**
62
+ * Clears all singleton instances (useful for testing or configuration changes)
63
+ */
64
+ clearInstances(): void;
65
+ /**
66
+ * Creates the appropriate SDK instance based on string LP token type
67
+ * Useful for dynamic SDK creation from configuration
68
+ */
69
+ createSDKFromString(lpTokenString: string, network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, includeTrading?: boolean): IBaseDataAPI | IBaseAPI;
70
+ }
71
+ export declare function createDataAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseDataAPI;
72
+ export declare function createAPI(network: Network, provider: SuiClient, apiEndpoint: string, connectionURL: string, lpToken: LPToken): IBaseAPI;
73
+ export declare const sdkFactory: SDKFactory;
74
+ //# sourceMappingURL=SDKFactory.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKFactory.d.mts","sourceRoot":"","sources":["../../src/factory/SDKFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * SDK Factory for creating appropriate SDK instances based on LP token type
3
+ * This is the main entry point for the re-architected SDK system
4
+ */
5
+ import { LPToken as LPTokenEnum } from "../consts/index.mjs";
6
+ // Import concrete implementations
7
+ import { ZLPDataAPI, ZLPAPI, SLPDataAPI, SLPAPI, USDZDataAPI, USDZAPI } from "../implementations/index.mjs";
8
+ export class SDKFactory {
9
+ constructor() {
10
+ // Singleton instances for DataAPI
11
+ this.zlpDataAPIInstance = null;
12
+ this.slpDataAPIInstance = null;
13
+ this.usdzDataAPIInstance = null;
14
+ // Singleton instances for API
15
+ this.zlpAPIInstance = null;
16
+ this.slpAPIInstance = null;
17
+ this.usdzAPIInstance = null;
18
+ }
19
+ /**
20
+ * Gets the singleton instance of the SDK factory
21
+ */
22
+ static getInstance() {
23
+ if (!SDKFactory.instance) {
24
+ SDKFactory.instance = new SDKFactory();
25
+ }
26
+ return SDKFactory.instance;
27
+ }
28
+ /**
29
+ * Creates a DataAPI instance based on the LP token type (returns singleton)
30
+ */
31
+ createDataAPI(network, provider, apiEndpoint, connectionURL, lpToken) {
32
+ switch (lpToken) {
33
+ case LPTokenEnum.ZLP:
34
+ if (!this.zlpDataAPIInstance) {
35
+ this.zlpDataAPIInstance = new ZLPDataAPI(network, provider, apiEndpoint, connectionURL);
36
+ }
37
+ return this.zlpDataAPIInstance;
38
+ case LPTokenEnum.SLP:
39
+ if (!this.slpDataAPIInstance) {
40
+ this.slpDataAPIInstance = new SLPDataAPI(network, provider, apiEndpoint, connectionURL);
41
+ }
42
+ return this.slpDataAPIInstance;
43
+ case LPTokenEnum.USDZ:
44
+ if (!this.usdzDataAPIInstance) {
45
+ this.usdzDataAPIInstance = new USDZDataAPI(network, provider, apiEndpoint, connectionURL);
46
+ }
47
+ return this.usdzDataAPIInstance;
48
+ default:
49
+ throw new Error(`Unsupported LP token type: ${lpToken}`);
50
+ }
51
+ }
52
+ /**
53
+ * Creates an API instance based on the LP token type (returns singleton)
54
+ */
55
+ createAPI(network, provider, apiEndpoint, connectionURL, lpToken) {
56
+ switch (lpToken) {
57
+ case LPTokenEnum.ZLP:
58
+ if (!this.zlpAPIInstance) {
59
+ this.zlpAPIInstance = new ZLPAPI(network, provider, apiEndpoint, connectionURL);
60
+ }
61
+ return this.zlpAPIInstance;
62
+ case LPTokenEnum.SLP:
63
+ if (!this.slpAPIInstance) {
64
+ this.slpAPIInstance = new SLPAPI(network, provider, apiEndpoint, connectionURL);
65
+ }
66
+ return this.slpAPIInstance;
67
+ case LPTokenEnum.USDZ:
68
+ if (!this.usdzAPIInstance) {
69
+ this.usdzAPIInstance = new USDZAPI(network, provider, apiEndpoint, connectionURL);
70
+ }
71
+ return this.usdzAPIInstance;
72
+ default:
73
+ throw new Error(`Unsupported LP token type: ${lpToken}`);
74
+ }
75
+ }
76
+ /**
77
+ * Creates a typed DataAPI instance for ZLP (returns singleton)
78
+ */
79
+ createZLPDataAPI(network, provider, apiEndpoint, connectionURL) {
80
+ if (!this.zlpDataAPIInstance) {
81
+ this.zlpDataAPIInstance = new ZLPDataAPI(network, provider, apiEndpoint, connectionURL);
82
+ }
83
+ return this.zlpDataAPIInstance;
84
+ }
85
+ /**
86
+ * Creates a typed API instance for ZLP (returns singleton)
87
+ */
88
+ createZLPAPI(network, provider, apiEndpoint, connectionURL) {
89
+ if (!this.zlpAPIInstance) {
90
+ this.zlpAPIInstance = new ZLPAPI(network, provider, apiEndpoint, connectionURL);
91
+ }
92
+ return this.zlpAPIInstance;
93
+ }
94
+ /**
95
+ * Creates a typed DataAPI instance for SLP (returns singleton)
96
+ */
97
+ createSLPDataAPI(network, provider, apiEndpoint, connectionURL) {
98
+ if (!this.slpDataAPIInstance) {
99
+ this.slpDataAPIInstance = new SLPDataAPI(network, provider, apiEndpoint, connectionURL);
100
+ }
101
+ return this.slpDataAPIInstance;
102
+ }
103
+ /**
104
+ * Creates a typed API instance for SLP (returns singleton)
105
+ */
106
+ createSLPAPI(network, provider, apiEndpoint, connectionURL) {
107
+ if (!this.slpAPIInstance) {
108
+ this.slpAPIInstance = new SLPAPI(network, provider, apiEndpoint, connectionURL);
109
+ }
110
+ return this.slpAPIInstance;
111
+ }
112
+ /**
113
+ * Creates a typed DataAPI instance for USDZ (returns singleton)
114
+ */
115
+ createUSDZDataAPI(network, provider, apiEndpoint, connectionURL) {
116
+ if (!this.usdzDataAPIInstance) {
117
+ this.usdzDataAPIInstance = new USDZDataAPI(network, provider, apiEndpoint, connectionURL);
118
+ }
119
+ return this.usdzDataAPIInstance;
120
+ }
121
+ /**
122
+ * Creates a typed API instance for USDZ (returns singleton)
123
+ */
124
+ createUSDZAPI(network, provider, apiEndpoint, connectionURL) {
125
+ if (!this.usdzAPIInstance) {
126
+ this.usdzAPIInstance = new USDZAPI(network, provider, apiEndpoint, connectionURL);
127
+ }
128
+ return this.usdzAPIInstance;
129
+ }
130
+ /**
131
+ * Validates if a given LP token is supported
132
+ */
133
+ isLPTokenSupported(lpToken) {
134
+ return Object.values(LPTokenEnum).includes(lpToken);
135
+ }
136
+ /**
137
+ * Gets all supported LP token types
138
+ */
139
+ getSupportedLPTokens() {
140
+ return Object.values(LPTokenEnum);
141
+ }
142
+ /**
143
+ * Clears all singleton instances (useful for testing or configuration changes)
144
+ */
145
+ clearInstances() {
146
+ this.zlpDataAPIInstance = null;
147
+ this.slpDataAPIInstance = null;
148
+ this.usdzDataAPIInstance = null;
149
+ this.zlpAPIInstance = null;
150
+ this.slpAPIInstance = null;
151
+ this.usdzAPIInstance = null;
152
+ }
153
+ /**
154
+ * Creates the appropriate SDK instance based on string LP token type
155
+ * Useful for dynamic SDK creation from configuration
156
+ */
157
+ createSDKFromString(lpTokenString, network, provider, apiEndpoint, connectionURL, includeTrading = true) {
158
+ if (!this.isLPTokenSupported(lpTokenString)) {
159
+ throw new Error(`Unsupported LP token: ${lpTokenString}`);
160
+ }
161
+ const lpToken = lpTokenString;
162
+ if (includeTrading) {
163
+ return this.createAPI(network, provider, apiEndpoint, connectionURL, lpToken);
164
+ }
165
+ else {
166
+ return this.createDataAPI(network, provider, apiEndpoint, connectionURL, lpToken);
167
+ }
168
+ }
169
+ }
170
+ // Export convenience functions for backward compatibility
171
+ export function createDataAPI(network, provider, apiEndpoint, connectionURL, lpToken) {
172
+ return SDKFactory.getInstance().createDataAPI(network, provider, apiEndpoint, connectionURL, lpToken);
173
+ }
174
+ export function createAPI(network, provider, apiEndpoint, connectionURL, lpToken) {
175
+ return SDKFactory.getInstance().createAPI(network, provider, apiEndpoint, connectionURL, lpToken);
176
+ }
177
+ // Export the singleton instance for direct use
178
+ export const sdkFactory = SDKFactory.getInstance();
179
+ //# sourceMappingURL=SDKFactory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKFactory.mjs","sourceRoot":"","sources":["../../src/factory/SDKFactory.ts"],"names":[],"mappings":"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"}