@opendatalabs/vana-sdk 0.1.0-alpha.ee24d86 → 0.1.0-alpha.eebb656

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 (793) hide show
  1. package/README.md +55 -4
  2. package/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
  3. package/dist/browser.cjs +29 -0
  4. package/dist/browser.cjs.map +1 -0
  5. package/dist/browser.d.ts +4 -0
  6. package/dist/browser.js +5 -0
  7. package/dist/browser.js.map +1 -0
  8. package/dist/{chains.browser.cjs → chains/definitions.cjs} +9 -13
  9. package/dist/chains/definitions.cjs.map +1 -0
  10. package/dist/{chains.browser.d.cts → chains/definitions.d.ts} +7 -11
  11. package/dist/chains/definitions.js +64 -0
  12. package/dist/chains/definitions.js.map +1 -0
  13. package/dist/chains/index.cjs +37 -0
  14. package/dist/chains/index.cjs.map +1 -0
  15. package/dist/chains/index.d.ts +5 -0
  16. package/dist/chains/index.js +15 -0
  17. package/dist/chains/index.js.map +1 -0
  18. package/dist/chains.browser.d.ts +5 -50
  19. package/dist/chains.browser.js +7 -57
  20. package/dist/chains.browser.js.map +1 -1
  21. package/dist/chains.cjs +6 -65
  22. package/dist/chains.cjs.map +1 -1
  23. package/dist/chains.d.ts +8 -2
  24. package/dist/chains.js +7 -57
  25. package/dist/chains.js.map +1 -1
  26. package/dist/chains.node.cjs +6 -65
  27. package/dist/chains.node.cjs.map +1 -1
  28. package/dist/chains.node.d.ts +8 -2
  29. package/dist/chains.node.js +7 -57
  30. package/dist/chains.node.js.map +1 -1
  31. package/dist/config/addresses.cjs +325 -0
  32. package/dist/config/addresses.cjs.map +1 -0
  33. package/dist/config/addresses.d.ts +364 -0
  34. package/dist/config/addresses.js +295 -0
  35. package/dist/config/addresses.js.map +1 -0
  36. package/dist/config/chains.cjs +93 -0
  37. package/dist/config/chains.cjs.map +1 -0
  38. package/dist/config/chains.d.ts +81 -0
  39. package/dist/config/chains.js +67 -0
  40. package/dist/config/chains.js.map +1 -0
  41. package/dist/config/features.cjs +52 -0
  42. package/dist/config/features.cjs.map +1 -0
  43. package/dist/config/features.d.ts +62 -0
  44. package/dist/config/features.js +28 -0
  45. package/dist/config/features.js.map +1 -0
  46. package/dist/config/tests/addresses.test.d.ts +1 -0
  47. package/dist/contracts/contractController.cjs +126 -0
  48. package/dist/contracts/contractController.cjs.map +1 -0
  49. package/dist/contracts/contractController.d.ts +79 -0
  50. package/dist/contracts/contractController.js +100 -0
  51. package/dist/contracts/contractController.js.map +1 -0
  52. package/dist/contracts/tests/contractController.test.d.ts +1 -0
  53. package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
  54. package/dist/controllers/data-error-handling.test.d.ts +1 -0
  55. package/dist/controllers/data.cjs +2351 -0
  56. package/dist/controllers/data.cjs.map +1 -0
  57. package/dist/controllers/data.d.ts +932 -0
  58. package/dist/controllers/data.js +2334 -0
  59. package/dist/controllers/data.js.map +1 -0
  60. package/dist/controllers/permissions.cjs +3863 -0
  61. package/dist/controllers/permissions.cjs.map +1 -0
  62. package/dist/controllers/permissions.d.ts +1330 -0
  63. package/dist/controllers/permissions.js +3839 -0
  64. package/dist/controllers/permissions.js.map +1 -0
  65. package/dist/controllers/protocol.cjs +179 -0
  66. package/dist/controllers/protocol.cjs.map +1 -0
  67. package/dist/controllers/protocol.d.ts +139 -0
  68. package/dist/controllers/protocol.js +159 -0
  69. package/dist/controllers/protocol.js.map +1 -0
  70. package/dist/controllers/schemas.cjs +608 -0
  71. package/dist/controllers/schemas.cjs.map +1 -0
  72. package/dist/controllers/schemas.d.ts +246 -0
  73. package/dist/controllers/schemas.js +584 -0
  74. package/dist/controllers/schemas.js.map +1 -0
  75. package/dist/controllers/server-additional.test.d.ts +1 -0
  76. package/dist/controllers/server.cjs +427 -0
  77. package/dist/controllers/server.cjs.map +1 -0
  78. package/dist/controllers/server.d.ts +217 -0
  79. package/dist/controllers/server.js +408 -0
  80. package/dist/controllers/server.js.map +1 -0
  81. package/dist/core/apiClient.cjs +328 -0
  82. package/dist/core/apiClient.cjs.map +1 -0
  83. package/dist/core/apiClient.d.ts +161 -0
  84. package/dist/core/apiClient.js +309 -0
  85. package/dist/core/apiClient.js.map +1 -0
  86. package/dist/core/client.cjs +70 -0
  87. package/dist/core/client.cjs.map +1 -0
  88. package/dist/core/client.d.ts +89 -0
  89. package/dist/core/client.js +47 -0
  90. package/dist/core/client.js.map +1 -0
  91. package/dist/core/core.test.d.ts +1 -0
  92. package/dist/core/generics.cjs +390 -0
  93. package/dist/core/generics.cjs.map +1 -0
  94. package/dist/core/generics.d.ts +116 -0
  95. package/dist/core/generics.js +359 -0
  96. package/dist/core/generics.js.map +1 -0
  97. package/dist/core/tests/apiClient.test.d.ts +1 -0
  98. package/dist/core/tests/client.test.d.ts +1 -0
  99. package/dist/core/tests/generics.test.d.ts +1 -0
  100. package/dist/core.cjs +657 -0
  101. package/dist/core.cjs.map +1 -0
  102. package/dist/core.d.ts +440 -0
  103. package/dist/core.js +630 -0
  104. package/dist/core.js.map +1 -0
  105. package/dist/crypto/ecies/__tests__/base.test.d.ts +4 -0
  106. package/dist/crypto/ecies/__tests__/compatibility.test.d.ts +8 -0
  107. package/dist/crypto/ecies/__tests__/constants.test.d.ts +4 -0
  108. package/dist/crypto/ecies/__tests__/native-parity.test.d.ts +7 -0
  109. package/dist/crypto/ecies/__tests__/normalization.test.d.ts +1 -0
  110. package/dist/crypto/ecies/__tests__/test-vectors.cjs +102 -0
  111. package/dist/crypto/ecies/__tests__/test-vectors.cjs.map +1 -0
  112. package/dist/crypto/ecies/__tests__/test-vectors.d.ts +38 -0
  113. package/dist/crypto/ecies/__tests__/test-vectors.js +77 -0
  114. package/dist/crypto/ecies/__tests__/test-vectors.js.map +1 -0
  115. package/dist/crypto/ecies/base.cjs +232 -0
  116. package/dist/crypto/ecies/base.cjs.map +1 -0
  117. package/dist/crypto/ecies/base.d.ts +140 -0
  118. package/dist/crypto/ecies/base.js +208 -0
  119. package/dist/crypto/ecies/base.js.map +1 -0
  120. package/dist/crypto/ecies/browser.cjs +165 -0
  121. package/dist/crypto/ecies/browser.cjs.map +1 -0
  122. package/dist/crypto/ecies/browser.d.ts +43 -0
  123. package/dist/crypto/ecies/browser.js +131 -0
  124. package/dist/crypto/ecies/browser.js.map +1 -0
  125. package/dist/crypto/ecies/constants.cjs +131 -0
  126. package/dist/crypto/ecies/constants.cjs.map +1 -0
  127. package/dist/crypto/ecies/constants.d.ts +120 -0
  128. package/dist/crypto/ecies/constants.js +101 -0
  129. package/dist/crypto/ecies/constants.js.map +1 -0
  130. package/dist/crypto/ecies/index.cjs +35 -0
  131. package/dist/crypto/ecies/index.cjs.map +1 -0
  132. package/dist/crypto/ecies/index.d.ts +8 -0
  133. package/dist/crypto/ecies/index.js +13 -0
  134. package/dist/crypto/ecies/index.js.map +1 -0
  135. package/dist/crypto/ecies/interface.cjs +87 -0
  136. package/dist/crypto/ecies/interface.cjs.map +1 -0
  137. package/dist/crypto/ecies/interface.d.ts +174 -0
  138. package/dist/crypto/ecies/interface.js +60 -0
  139. package/dist/crypto/ecies/interface.js.map +1 -0
  140. package/dist/crypto/ecies/node.cjs +167 -0
  141. package/dist/crypto/ecies/node.cjs.map +1 -0
  142. package/dist/crypto/ecies/node.d.ts +45 -0
  143. package/dist/crypto/ecies/node.js +139 -0
  144. package/dist/crypto/ecies/node.js.map +1 -0
  145. package/dist/crypto/ecies/test-vectors/eccrypto-vectors.json +72 -0
  146. package/dist/crypto/ecies/utils.cjs +52 -0
  147. package/dist/crypto/ecies/utils.cjs.map +1 -0
  148. package/dist/crypto/ecies/utils.d.ts +30 -0
  149. package/dist/crypto/ecies/utils.js +26 -0
  150. package/dist/crypto/ecies/utils.js.map +1 -0
  151. package/dist/crypto/services/WalletKeyEncryptionService.cjs +128 -0
  152. package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -0
  153. package/dist/crypto/services/WalletKeyEncryptionService.d.ts +88 -0
  154. package/dist/crypto/services/WalletKeyEncryptionService.js +108 -0
  155. package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -0
  156. package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
  157. package/dist/diagnostics.cjs +37 -0
  158. package/dist/diagnostics.cjs.map +1 -0
  159. package/dist/diagnostics.d.ts +24 -0
  160. package/dist/diagnostics.js +13 -0
  161. package/dist/diagnostics.js.map +1 -0
  162. package/dist/diagnostics.test.d.ts +1 -0
  163. package/dist/errors.cjs +141 -0
  164. package/dist/errors.cjs.map +1 -0
  165. package/dist/errors.d.ts +348 -0
  166. package/dist/errors.js +105 -0
  167. package/dist/errors.js.map +1 -0
  168. package/dist/generated/abi/ComputeEngineImplementation.cjs +1313 -0
  169. package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -0
  170. package/dist/generated/abi/ComputeEngineImplementation.d.ts +995 -0
  171. package/dist/generated/abi/ComputeEngineImplementation.js +1289 -0
  172. package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -0
  173. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs +734 -0
  174. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -0
  175. package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +544 -0
  176. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js +710 -0
  177. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -0
  178. package/dist/generated/abi/DATFactoryImplementation.cjs +882 -0
  179. package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -0
  180. package/dist/generated/abi/DATFactoryImplementation.d.ts +660 -0
  181. package/dist/generated/abi/DATFactoryImplementation.js +858 -0
  182. package/dist/generated/abi/DATFactoryImplementation.js.map +1 -0
  183. package/dist/generated/abi/DATImplementation.cjs +934 -0
  184. package/dist/generated/abi/DATImplementation.cjs.map +1 -0
  185. package/dist/generated/abi/DATImplementation.d.ts +692 -0
  186. package/dist/generated/abi/DATImplementation.js +910 -0
  187. package/dist/generated/abi/DATImplementation.js.map +1 -0
  188. package/dist/generated/abi/DATPausableImplementation.cjs +1523 -0
  189. package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -0
  190. package/dist/generated/abi/DATPausableImplementation.d.ts +1144 -0
  191. package/dist/generated/abi/DATPausableImplementation.js +1499 -0
  192. package/dist/generated/abi/DATPausableImplementation.js.map +1 -0
  193. package/dist/generated/abi/DATVotesImplementation.cjs +1460 -0
  194. package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -0
  195. package/dist/generated/abi/DATVotesImplementation.d.ts +1094 -0
  196. package/dist/generated/abi/DATVotesImplementation.js +1436 -0
  197. package/dist/generated/abi/DATVotesImplementation.js.map +1 -0
  198. package/dist/generated/abi/DLPPerformanceImplementation.cjs +1160 -0
  199. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -0
  200. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +882 -0
  201. package/dist/generated/abi/DLPPerformanceImplementation.js +1136 -0
  202. package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -0
  203. package/dist/generated/abi/DLPRegistryImplementation.cjs +1469 -0
  204. package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -0
  205. package/dist/generated/abi/DLPRegistryImplementation.d.ts +1122 -0
  206. package/dist/generated/abi/DLPRegistryImplementation.js +1445 -0
  207. package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -0
  208. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs +612 -0
  209. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -0
  210. package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +451 -0
  211. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js +588 -0
  212. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -0
  213. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +948 -0
  214. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -0
  215. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +713 -0
  216. package/dist/generated/abi/DLPRewardDeployerImplementation.js +924 -0
  217. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -0
  218. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +612 -0
  219. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +1 -0
  220. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +451 -0
  221. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +588 -0
  222. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +1 -0
  223. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +939 -0
  224. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -0
  225. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +705 -0
  226. package/dist/generated/abi/DLPRewardSwapImplementation.js +915 -0
  227. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -0
  228. package/dist/generated/abi/DLPRootImplementation.cjs +1644 -0
  229. package/dist/generated/abi/DLPRootImplementation.cjs.map +1 -0
  230. package/dist/generated/abi/DLPRootImplementation.d.ts +1246 -0
  231. package/dist/generated/abi/DLPRootImplementation.js +1620 -0
  232. package/dist/generated/abi/DLPRootImplementation.js.map +1 -0
  233. package/dist/generated/abi/DLPTreasuryImplementation.cjs +612 -0
  234. package/dist/generated/abi/DLPTreasuryImplementation.cjs.map +1 -0
  235. package/dist/generated/abi/DLPTreasuryImplementation.d.ts +451 -0
  236. package/dist/generated/abi/DLPTreasuryImplementation.js +588 -0
  237. package/dist/generated/abi/DLPTreasuryImplementation.js.map +1 -0
  238. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +985 -0
  239. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +1 -0
  240. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +735 -0
  241. package/dist/generated/abi/DataLiquidityPoolImplementation.js +961 -0
  242. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +1 -0
  243. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +888 -0
  244. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -0
  245. package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +660 -0
  246. package/dist/generated/abi/DataPortabilityGranteesImplementation.js +864 -0
  247. package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -0
  248. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +1317 -0
  249. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -0
  250. package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +988 -0
  251. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +1293 -0
  252. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -0
  253. package/dist/generated/abi/DataPortabilityServersImplementation.cjs +1438 -0
  254. package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -0
  255. package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +1085 -0
  256. package/dist/generated/abi/DataPortabilityServersImplementation.js +1414 -0
  257. package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -0
  258. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs +984 -0
  259. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -0
  260. package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +736 -0
  261. package/dist/generated/abi/DataRefinerRegistryImplementation.js +960 -0
  262. package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -0
  263. package/dist/generated/abi/DataRegistryImplementation.cjs +1341 -0
  264. package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -0
  265. package/dist/generated/abi/DataRegistryImplementation.d.ts +1013 -0
  266. package/dist/generated/abi/DataRegistryImplementation.js +1317 -0
  267. package/dist/generated/abi/DataRegistryImplementation.js.map +1 -0
  268. package/dist/generated/abi/QueryEngineImplementation.cjs +1319 -0
  269. package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -0
  270. package/dist/generated/abi/QueryEngineImplementation.d.ts +1000 -0
  271. package/dist/generated/abi/QueryEngineImplementation.js +1295 -0
  272. package/dist/generated/abi/QueryEngineImplementation.js.map +1 -0
  273. package/dist/generated/abi/SwapHelperImplementation.cjs +1019 -0
  274. package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -0
  275. package/dist/generated/abi/SwapHelperImplementation.d.ts +763 -0
  276. package/dist/generated/abi/SwapHelperImplementation.js +995 -0
  277. package/dist/generated/abi/SwapHelperImplementation.js.map +1 -0
  278. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs +936 -0
  279. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -0
  280. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +700 -0
  281. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js +912 -0
  282. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -0
  283. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs +936 -0
  284. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -0
  285. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +700 -0
  286. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js +912 -0
  287. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -0
  288. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs +936 -0
  289. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -0
  290. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +700 -0
  291. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js +912 -0
  292. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -0
  293. package/dist/generated/abi/TeePoolImplementation.cjs +1313 -0
  294. package/dist/generated/abi/TeePoolImplementation.cjs.map +1 -0
  295. package/dist/generated/abi/TeePoolImplementation.d.ts +992 -0
  296. package/dist/generated/abi/TeePoolImplementation.js +1289 -0
  297. package/dist/generated/abi/TeePoolImplementation.js.map +1 -0
  298. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs +936 -0
  299. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -0
  300. package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +700 -0
  301. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js +912 -0
  302. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -0
  303. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs +936 -0
  304. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -0
  305. package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +700 -0
  306. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js +912 -0
  307. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -0
  308. package/dist/generated/abi/TeePoolPhalaImplementation.cjs +1313 -0
  309. package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -0
  310. package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +992 -0
  311. package/dist/generated/abi/TeePoolPhalaImplementation.js +1289 -0
  312. package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -0
  313. package/dist/generated/abi/VanaEpochImplementation.cjs +1188 -0
  314. package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -0
  315. package/dist/generated/abi/VanaEpochImplementation.d.ts +899 -0
  316. package/dist/generated/abi/VanaEpochImplementation.js +1164 -0
  317. package/dist/generated/abi/VanaEpochImplementation.js.map +1 -0
  318. package/dist/generated/abi/VanaPoolEntityImplementation.cjs +1234 -0
  319. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -0
  320. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +933 -0
  321. package/dist/generated/abi/VanaPoolEntityImplementation.js +1210 -0
  322. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -0
  323. package/dist/generated/abi/VanaPoolStakingImplementation.cjs +921 -0
  324. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -0
  325. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +692 -0
  326. package/dist/generated/abi/VanaPoolStakingImplementation.js +897 -0
  327. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -0
  328. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs +538 -0
  329. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -0
  330. package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +393 -0
  331. package/dist/generated/abi/VanaPoolTreasuryImplementation.js +514 -0
  332. package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -0
  333. package/dist/generated/abi/index.cjs +177 -0
  334. package/dist/generated/abi/index.cjs.map +1 -0
  335. package/dist/{index.node.d.cts → generated/abi/index.d.ts} +26541 -37188
  336. package/dist/generated/abi/index.js +120 -0
  337. package/dist/generated/abi/index.js.map +1 -0
  338. package/dist/generated/event-types.cjs +17 -0
  339. package/dist/generated/event-types.cjs.map +1 -0
  340. package/dist/generated/event-types.d.ts +854 -0
  341. package/dist/generated/event-types.js +1 -0
  342. package/dist/generated/event-types.js.map +1 -0
  343. package/dist/generated/eventRegistry.cjs +3351 -0
  344. package/dist/generated/eventRegistry.cjs.map +1 -0
  345. package/dist/generated/eventRegistry.d.ts +14 -0
  346. package/dist/generated/eventRegistry.js +3326 -0
  347. package/dist/generated/eventRegistry.js.map +1 -0
  348. package/dist/generated/server/server-exports.cjs +23 -0
  349. package/dist/generated/server/server-exports.cjs.map +1 -0
  350. package/dist/generated/server/server-exports.d.ts +19 -0
  351. package/dist/generated/server/server-exports.js +2 -0
  352. package/dist/generated/server/server-exports.js.map +1 -0
  353. package/dist/generated/server/server.cjs +17 -0
  354. package/dist/generated/server/server.cjs.map +1 -0
  355. package/dist/generated/server/server.d.ts +538 -0
  356. package/dist/generated/server/server.js +1 -0
  357. package/dist/generated/server/server.js.map +1 -0
  358. package/dist/generated/subgraph.cjs +675 -0
  359. package/dist/generated/subgraph.cjs.map +1 -0
  360. package/dist/generated/subgraph.d.ts +5978 -0
  361. package/dist/generated/subgraph.js +644 -0
  362. package/dist/generated/subgraph.js.map +1 -0
  363. package/dist/index.browser.d.ts +45 -36952
  364. package/dist/index.browser.js +66 -44141
  365. package/dist/index.browser.js.map +1 -1
  366. package/dist/index.cjs +5 -0
  367. package/dist/index.cjs.map +1 -0
  368. package/dist/index.d.ts +0 -0
  369. package/dist/index.js +4 -0
  370. package/dist/index.js.map +1 -0
  371. package/dist/index.node.cjs +87 -44622
  372. package/dist/index.node.cjs.map +1 -1
  373. package/dist/index.node.d.ts +47 -37059
  374. package/dist/index.node.js +68 -44510
  375. package/dist/index.node.js.map +1 -1
  376. package/dist/node.cjs +29 -0
  377. package/dist/node.cjs.map +1 -0
  378. package/dist/node.d.ts +4 -0
  379. package/dist/node.js +5 -0
  380. package/dist/node.js.map +1 -0
  381. package/dist/platform/browser-only.cjs +37 -0
  382. package/dist/platform/browser-only.cjs.map +1 -0
  383. package/dist/platform/browser-only.d.ts +22 -0
  384. package/dist/platform/browser-only.js +12 -0
  385. package/dist/platform/browser-only.js.map +1 -0
  386. package/dist/platform/browser-only.test.d.ts +1 -0
  387. package/dist/platform/browser-safe.cjs +57 -0
  388. package/dist/platform/browser-safe.cjs.map +1 -0
  389. package/dist/platform/browser-safe.d.ts +29 -0
  390. package/dist/platform/browser-safe.js +31 -0
  391. package/dist/platform/browser-safe.js.map +1 -0
  392. package/dist/platform/browser-safe.test.d.ts +1 -0
  393. package/dist/platform/browser.cjs +330 -0
  394. package/dist/platform/browser.cjs.map +1 -0
  395. package/dist/platform/browser.d.ts +71 -0
  396. package/dist/platform/browser.js +296 -0
  397. package/dist/platform/browser.js.map +1 -0
  398. package/dist/platform/browser.test.d.ts +1 -0
  399. package/dist/platform/index.cjs +50 -0
  400. package/dist/platform/index.cjs.map +1 -0
  401. package/dist/platform/index.d.ts +11 -0
  402. package/dist/platform/index.js +27 -0
  403. package/dist/platform/index.js.map +1 -0
  404. package/dist/platform/interface.cjs +17 -0
  405. package/dist/platform/interface.cjs.map +1 -0
  406. package/dist/{platform.node.d.cts → platform/interface.d.ts} +6 -124
  407. package/dist/platform/interface.js +1 -0
  408. package/dist/platform/interface.js.map +1 -0
  409. package/dist/platform/node.cjs +351 -0
  410. package/dist/platform/node.cjs.map +1 -0
  411. package/dist/platform/node.d.ts +23 -0
  412. package/dist/platform/node.js +320 -0
  413. package/dist/platform/node.js.map +1 -0
  414. package/dist/platform/ports/openpgp-port.cjs +74 -0
  415. package/dist/platform/ports/openpgp-port.cjs.map +1 -0
  416. package/dist/platform/ports/openpgp-port.d.ts +13 -0
  417. package/dist/platform/ports/openpgp-port.js +59 -0
  418. package/dist/platform/ports/openpgp-port.js.map +1 -0
  419. package/dist/platform/ports/pgp-port.cjs +17 -0
  420. package/dist/platform/ports/pgp-port.cjs.map +1 -0
  421. package/dist/platform/ports/pgp-port.d.ts +35 -0
  422. package/dist/platform/ports/pgp-port.js +1 -0
  423. package/dist/platform/ports/pgp-port.js.map +1 -0
  424. package/dist/platform/shared/error-utils.cjs +43 -0
  425. package/dist/platform/shared/error-utils.cjs.map +1 -0
  426. package/dist/platform/shared/error-utils.d.ts +23 -0
  427. package/dist/platform/shared/error-utils.js +18 -0
  428. package/dist/platform/shared/error-utils.js.map +1 -0
  429. package/dist/platform/shared/pgp-utils.cjs +55 -0
  430. package/dist/platform/shared/pgp-utils.cjs.map +1 -0
  431. package/dist/platform/shared/pgp-utils.d.ts +59 -0
  432. package/dist/platform/shared/pgp-utils.js +29 -0
  433. package/dist/platform/shared/pgp-utils.js.map +1 -0
  434. package/dist/platform/shared/stream-utils.cjs +49 -0
  435. package/dist/platform/shared/stream-utils.cjs.map +1 -0
  436. package/dist/platform/shared/stream-utils.d.ts +14 -0
  437. package/dist/platform/shared/stream-utils.js +25 -0
  438. package/dist/platform/shared/stream-utils.js.map +1 -0
  439. package/dist/platform/utils.cjs +114 -0
  440. package/dist/platform/utils.cjs.map +1 -0
  441. package/dist/platform/utils.d.ts +49 -0
  442. package/dist/platform/utils.js +76 -0
  443. package/dist/platform/utils.js.map +1 -0
  444. package/dist/platform/utils.test.d.ts +1 -0
  445. package/dist/platform.browser.d.ts +6 -290
  446. package/dist/platform.browser.js +10 -356
  447. package/dist/platform.browser.js.map +1 -1
  448. package/dist/platform.cjs +14 -698
  449. package/dist/platform.cjs.map +1 -1
  450. package/dist/platform.d.ts +11 -1
  451. package/dist/platform.js +14 -684
  452. package/dist/platform.js.map +1 -1
  453. package/dist/platform.node.cjs +14 -698
  454. package/dist/platform.node.cjs.map +1 -1
  455. package/dist/platform.node.d.ts +7 -331
  456. package/dist/platform.node.js +14 -684
  457. package/dist/platform.node.js.map +1 -1
  458. package/dist/schemas/dataSchema.schema.json +53 -0
  459. package/dist/schemas/grantFile.schema.json +43 -0
  460. package/dist/server/handler.cjs +101 -0
  461. package/dist/server/handler.cjs.map +1 -0
  462. package/dist/server/handler.d.ts +87 -0
  463. package/dist/server/handler.js +77 -0
  464. package/dist/server/handler.js.map +1 -0
  465. package/dist/storage/index.cjs +44 -0
  466. package/dist/storage/index.cjs.map +1 -0
  467. package/dist/storage/index.d.ts +56 -0
  468. package/dist/storage/index.js +15 -0
  469. package/dist/storage/index.js.map +1 -0
  470. package/dist/storage/manager.cjs +189 -0
  471. package/dist/storage/manager.cjs.map +1 -0
  472. package/dist/storage/manager.d.ts +147 -0
  473. package/dist/storage/manager.js +165 -0
  474. package/dist/storage/manager.js.map +1 -0
  475. package/dist/storage/providers/callback-storage.cjs +177 -0
  476. package/dist/storage/providers/callback-storage.cjs.map +1 -0
  477. package/dist/storage/providers/callback-storage.d.ts +94 -0
  478. package/dist/storage/providers/callback-storage.js +155 -0
  479. package/dist/storage/providers/callback-storage.js.map +1 -0
  480. package/dist/storage/providers/google-drive.cjs +516 -0
  481. package/dist/storage/providers/google-drive.cjs.map +1 -0
  482. package/dist/storage/providers/google-drive.d.ts +152 -0
  483. package/dist/storage/providers/google-drive.js +494 -0
  484. package/dist/storage/providers/google-drive.js.map +1 -0
  485. package/dist/storage/providers/google-drive.test.d.ts +1 -0
  486. package/dist/storage/providers/ipfs.cjs +283 -0
  487. package/dist/storage/providers/ipfs.cjs.map +1 -0
  488. package/dist/storage/providers/ipfs.d.ts +160 -0
  489. package/dist/storage/providers/ipfs.js +261 -0
  490. package/dist/storage/providers/ipfs.js.map +1 -0
  491. package/dist/storage/providers/pinata.cjs +339 -0
  492. package/dist/storage/providers/pinata.cjs.map +1 -0
  493. package/dist/storage/providers/pinata.d.ts +170 -0
  494. package/dist/storage/providers/pinata.js +317 -0
  495. package/dist/storage/providers/pinata.js.map +1 -0
  496. package/dist/storage/tests/callbackStorage.test.d.ts +1 -0
  497. package/dist/storage/tests/googleDriveStorage.test.d.ts +1 -0
  498. package/dist/storage/tests/ipfsStorage.test.d.ts +1 -0
  499. package/dist/storage/tests/pinataStorage.test.d.ts +1 -0
  500. package/dist/storage/tests/storageManager.test.d.ts +1 -0
  501. package/dist/tests/abi.test.d.ts +1 -0
  502. package/dist/tests/chains-definitions.test.d.ts +1 -0
  503. package/dist/tests/core-encryption.test.d.ts +1 -0
  504. package/dist/tests/core-extended.test.d.ts +1 -0
  505. package/dist/tests/core-generics-coverage.test.d.ts +1 -0
  506. package/dist/tests/coverage-boost.test.d.ts +1 -0
  507. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +1 -0
  508. package/dist/tests/data-addfile-permissions-schema.test.d.ts +1 -0
  509. package/dist/tests/data-additional-methods.test.d.ts +1 -0
  510. package/dist/tests/data-controller-edge-cases.test.d.ts +1 -0
  511. package/dist/tests/data-ipfs-gateways.test.d.ts +1 -0
  512. package/dist/tests/data-relayer.test.d.ts +1 -0
  513. package/dist/tests/data-schema-validation.test.d.ts +1 -0
  514. package/dist/tests/data-simple-methods.test.d.ts +1 -0
  515. package/dist/tests/data.test.d.ts +1 -0
  516. package/dist/tests/demo-integration.test.d.ts +1 -0
  517. package/dist/tests/demo-trusted-server-integration.test.d.ts +1 -0
  518. package/dist/tests/download-relayer.test.d.ts +1 -0
  519. package/dist/tests/dual-mode-permissions.test.d.ts +1 -0
  520. package/dist/tests/dual-mode-trusted-servers.test.d.ts +1 -0
  521. package/dist/tests/encryption-correct-implementation.test.d.ts +1 -0
  522. package/dist/tests/encryption-coverage.test.d.ts +1 -0
  523. package/dist/tests/encryption-edge-cases.test.d.ts +1 -0
  524. package/dist/tests/encryption-utils-updated.test.d.ts +1 -0
  525. package/dist/tests/errors-coverage.test.d.ts +1 -0
  526. package/dist/tests/errors.test.d.ts +1 -0
  527. package/dist/tests/factories/mockFactory.d.ts +316 -0
  528. package/dist/tests/fakes/FakeStorageManager.d.ts +200 -0
  529. package/dist/tests/fakes/FakeStorageManager.test.d.ts +1 -0
  530. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +170 -0
  531. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +1 -0
  532. package/dist/tests/fakes/fake-pgp-port.d.ts +13 -0
  533. package/dist/tests/grantValidation-edge-cases.test.d.ts +1 -0
  534. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +1 -0
  535. package/dist/tests/helper-methods.test.d.ts +1 -0
  536. package/dist/tests/helpers/platformTestHelpers.d.ts +106 -0
  537. package/dist/tests/helpers/typedMocks.d.ts +64 -0
  538. package/dist/tests/index-browser.test.d.ts +1 -0
  539. package/dist/tests/index-node.test.d.ts +1 -0
  540. package/dist/tests/index.test.d.ts +1 -0
  541. package/dist/tests/mocks/platformAdapter.d.ts +12 -0
  542. package/dist/tests/new-permissions-methods.test.d.ts +1 -0
  543. package/dist/tests/no-buffer-browser.test.d.ts +1 -0
  544. package/dist/tests/permissions-grantee.test.d.ts +1 -0
  545. package/dist/tests/permissions-schema-validation.test.d.ts +1 -0
  546. package/dist/tests/permissions-server-files.test.d.ts +1 -0
  547. package/dist/tests/permissions-trust-servers.test.d.ts +1 -0
  548. package/dist/tests/permissions.test.d.ts +1 -0
  549. package/dist/tests/personal.test.d.ts +1 -0
  550. package/dist/tests/platform-browser.test.d.ts +1 -0
  551. package/dist/tests/platform-crypto-expanded.test.d.ts +1 -0
  552. package/dist/tests/platform-crypto.test.d.ts +1 -0
  553. package/dist/tests/platform-index.test.d.ts +1 -0
  554. package/dist/tests/platform-node.test.d.ts +1 -0
  555. package/dist/tests/platform-shared-utils.test.d.ts +1 -0
  556. package/dist/tests/platform-updated.test.d.ts +1 -0
  557. package/dist/tests/protocol-additional-methods.test.d.ts +1 -0
  558. package/dist/tests/protocol.test.d.ts +1 -0
  559. package/dist/tests/schemas.test.d.ts +1 -0
  560. package/dist/tests/server-handler.test.d.ts +1 -0
  561. package/dist/tests/setup.d.ts +7 -0
  562. package/dist/tests/signatureFormatter.test.d.ts +1 -0
  563. package/dist/tests/trusted-server-queries.test.d.ts +1 -0
  564. package/dist/tests/typedDataConverter.test.d.ts +1 -0
  565. package/dist/tests/types-contracts.test.d.ts +1 -0
  566. package/dist/tests/types-data.test.d.ts +1 -0
  567. package/dist/tests/types-external-apis.test.d.ts +1 -0
  568. package/dist/tests/types-generics.test.d.ts +1 -0
  569. package/dist/tests/types-permissions.test.d.ts +1 -0
  570. package/dist/tests/types-upload-params.test.d.ts +1 -0
  571. package/dist/tests/types.test.d.ts +1 -0
  572. package/dist/tests/utils-formatters.test.d.ts +1 -0
  573. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +1 -0
  574. package/dist/tests/utils-grantFiles-validation.test.d.ts +1 -0
  575. package/dist/tests/utils-grantFiles.test.d.ts +1 -0
  576. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +1 -0
  577. package/dist/tests/utils-grants.test.d.ts +1 -0
  578. package/dist/tests/utils-ipfs-additional.test.d.ts +1 -0
  579. package/dist/tests/utils-ipfs.test.d.ts +4 -0
  580. package/dist/tests/utils-schemaValidation.test.d.ts +1 -0
  581. package/dist/tests/vana.test.d.ts +1 -0
  582. package/dist/tests/wallet-crypto-compatibility.test.d.ts +1 -0
  583. package/dist/types/blockchain.cjs +17 -0
  584. package/dist/types/blockchain.cjs.map +1 -0
  585. package/dist/types/blockchain.d.ts +57 -0
  586. package/dist/types/blockchain.js +1 -0
  587. package/dist/types/blockchain.js.map +1 -0
  588. package/dist/types/chains-additional.test.d.ts +1 -0
  589. package/dist/types/chains.cjs +36 -0
  590. package/dist/types/chains.cjs.map +1 -0
  591. package/dist/types/chains.d.ts +31 -0
  592. package/dist/types/chains.js +11 -0
  593. package/dist/types/chains.js.map +1 -0
  594. package/dist/types/config.cjs +41 -0
  595. package/dist/types/config.cjs.map +1 -0
  596. package/dist/types/config.d.ts +723 -0
  597. package/dist/types/config.js +15 -0
  598. package/dist/types/config.js.map +1 -0
  599. package/dist/types/contracts.cjs +17 -0
  600. package/dist/types/contracts.cjs.map +1 -0
  601. package/dist/types/contracts.d.ts +65 -0
  602. package/dist/types/contracts.js +1 -0
  603. package/dist/types/contracts.js.map +1 -0
  604. package/dist/types/controller-context.cjs +17 -0
  605. package/dist/types/controller-context.cjs.map +1 -0
  606. package/dist/types/controller-context.d.ts +62 -0
  607. package/dist/types/controller-context.js +1 -0
  608. package/dist/types/controller-context.js.map +1 -0
  609. package/dist/types/data.cjs +17 -0
  610. package/dist/types/data.cjs.map +1 -0
  611. package/dist/types/data.d.ts +691 -0
  612. package/dist/types/data.js +1 -0
  613. package/dist/types/data.js.map +1 -0
  614. package/dist/types/eccrypto-js.d.cjs +2 -0
  615. package/dist/types/eccrypto-js.d.cjs.map +1 -0
  616. package/dist/types/eccrypto-js.d.js +1 -0
  617. package/dist/types/eccrypto-js.d.js.map +1 -0
  618. package/dist/types/external-apis.cjs +61 -0
  619. package/dist/types/external-apis.cjs.map +1 -0
  620. package/dist/types/external-apis.d.ts +184 -0
  621. package/dist/types/external-apis.js +34 -0
  622. package/dist/types/external-apis.js.map +1 -0
  623. package/dist/types/generics.cjs +17 -0
  624. package/dist/types/generics.cjs.map +1 -0
  625. package/dist/types/generics.d.ts +447 -0
  626. package/dist/types/generics.js +1 -0
  627. package/dist/types/generics.js.map +1 -0
  628. package/dist/types/index.cjs +61 -0
  629. package/dist/types/index.cjs.map +1 -0
  630. package/dist/types/index.d.ts +20 -0
  631. package/dist/types/index.js +34 -0
  632. package/dist/types/index.js.map +1 -0
  633. package/dist/types/operations.cjs +65 -0
  634. package/dist/types/operations.cjs.map +1 -0
  635. package/dist/types/operations.d.ts +112 -0
  636. package/dist/types/operations.js +37 -0
  637. package/dist/types/operations.js.map +1 -0
  638. package/dist/types/permissions.cjs +17 -0
  639. package/dist/types/permissions.cjs.map +1 -0
  640. package/dist/types/permissions.d.ts +954 -0
  641. package/dist/types/permissions.js +1 -0
  642. package/dist/types/permissions.js.map +1 -0
  643. package/dist/types/personal.cjs +17 -0
  644. package/dist/types/personal.cjs.map +1 -0
  645. package/dist/types/personal.d.ts +38 -0
  646. package/dist/types/personal.js +1 -0
  647. package/dist/types/personal.js.map +1 -0
  648. package/dist/types/relayer.cjs +17 -0
  649. package/dist/types/relayer.cjs.map +1 -0
  650. package/dist/types/relayer.d.ts +281 -0
  651. package/dist/types/relayer.js +1 -0
  652. package/dist/types/relayer.js.map +1 -0
  653. package/dist/types/storage.cjs +39 -0
  654. package/dist/types/storage.cjs.map +1 -0
  655. package/dist/types/storage.d.ts +129 -0
  656. package/dist/types/storage.js +15 -0
  657. package/dist/types/storage.js.map +1 -0
  658. package/dist/types/transactionResults.cjs +17 -0
  659. package/dist/types/transactionResults.cjs.map +1 -0
  660. package/dist/types/transactionResults.d.ts +193 -0
  661. package/dist/types/transactionResults.js +1 -0
  662. package/dist/types/transactionResults.js.map +1 -0
  663. package/dist/types/utils.cjs +17 -0
  664. package/dist/types/utils.cjs.map +1 -0
  665. package/dist/types/utils.d.ts +816 -0
  666. package/dist/types/utils.js +1 -0
  667. package/dist/types/utils.js.map +1 -0
  668. package/dist/types.cjs +23 -0
  669. package/dist/types.cjs.map +1 -0
  670. package/dist/types.d.ts +30 -0
  671. package/dist/types.js +2 -0
  672. package/dist/types.js.map +1 -0
  673. package/dist/utils/__tests__/parseTransaction.test.d.ts +1 -0
  674. package/dist/utils/__tests__/pojo-serialization.test.d.ts +1 -0
  675. package/dist/utils/__tests__/signatureCache.test.d.ts +1 -0
  676. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +1 -0
  677. package/dist/utils/__tests__/transactionHelpers.test.d.ts +1 -0
  678. package/dist/utils/__tests__/urlResolver.test.d.ts +4 -0
  679. package/dist/utils/blockchain/registry.cjs +81 -0
  680. package/dist/utils/blockchain/registry.cjs.map +1 -0
  681. package/dist/utils/blockchain/registry.d.ts +32 -0
  682. package/dist/utils/blockchain/registry.js +56 -0
  683. package/dist/utils/blockchain/registry.js.map +1 -0
  684. package/dist/utils/blockchain/registry.test.d.ts +1 -0
  685. package/dist/utils/crypto-utils.cjs +108 -0
  686. package/dist/utils/crypto-utils.cjs.map +1 -0
  687. package/dist/utils/crypto-utils.d.ts +100 -0
  688. package/dist/utils/crypto-utils.js +76 -0
  689. package/dist/utils/crypto-utils.js.map +1 -0
  690. package/dist/utils/crypto-utils.test.d.ts +1 -0
  691. package/dist/utils/download.cjs +69 -0
  692. package/dist/utils/download.cjs.map +1 -0
  693. package/dist/utils/download.d.ts +40 -0
  694. package/dist/utils/download.js +45 -0
  695. package/dist/utils/download.js.map +1 -0
  696. package/dist/utils/encoding.cjs +66 -0
  697. package/dist/utils/encoding.cjs.map +1 -0
  698. package/dist/utils/encoding.d.ts +52 -0
  699. package/dist/utils/encoding.js +39 -0
  700. package/dist/utils/encoding.js.map +1 -0
  701. package/dist/utils/encoding.test.d.ts +1 -0
  702. package/dist/utils/encryption.cjs +176 -0
  703. package/dist/utils/encryption.cjs.map +1 -0
  704. package/dist/utils/encryption.d.ts +271 -0
  705. package/dist/utils/encryption.js +142 -0
  706. package/dist/utils/encryption.js.map +1 -0
  707. package/dist/utils/formatters.cjs +55 -0
  708. package/dist/utils/formatters.cjs.map +1 -0
  709. package/dist/utils/formatters.d.ts +118 -0
  710. package/dist/utils/formatters.js +28 -0
  711. package/dist/utils/formatters.js.map +1 -0
  712. package/dist/utils/grantFiles.cjs +178 -0
  713. package/dist/utils/grantFiles.cjs.map +1 -0
  714. package/dist/utils/grantFiles.d.ts +182 -0
  715. package/dist/utils/grantFiles.js +140 -0
  716. package/dist/utils/grantFiles.js.map +1 -0
  717. package/dist/utils/grantValidation.cjs +243 -0
  718. package/dist/utils/grantValidation.cjs.map +1 -0
  719. package/dist/utils/grantValidation.d.ts +147 -0
  720. package/dist/utils/grantValidation.js +201 -0
  721. package/dist/utils/grantValidation.js.map +1 -0
  722. package/dist/utils/grants.cjs +108 -0
  723. package/dist/utils/grants.cjs.map +1 -0
  724. package/dist/utils/grants.d.ts +67 -0
  725. package/dist/utils/grants.js +82 -0
  726. package/dist/utils/grants.js.map +1 -0
  727. package/dist/utils/ipfs.cjs +130 -0
  728. package/dist/utils/ipfs.cjs.map +1 -0
  729. package/dist/utils/ipfs.d.ts +88 -0
  730. package/dist/utils/ipfs.js +99 -0
  731. package/dist/utils/ipfs.js.map +1 -0
  732. package/dist/utils/lazy-import.cjs +38 -0
  733. package/dist/utils/lazy-import.cjs.map +1 -0
  734. package/dist/utils/lazy-import.d.ts +18 -0
  735. package/dist/utils/lazy-import.js +14 -0
  736. package/dist/utils/lazy-import.js.map +1 -0
  737. package/dist/utils/multicall.cjs +233 -0
  738. package/dist/utils/multicall.cjs.map +1 -0
  739. package/dist/utils/multicall.d.ts +126 -0
  740. package/dist/utils/multicall.js +208 -0
  741. package/dist/utils/multicall.js.map +1 -0
  742. package/dist/utils/parseTransactionPojo.cjs +87 -0
  743. package/dist/utils/parseTransactionPojo.cjs.map +1 -0
  744. package/dist/utils/parseTransactionPojo.d.ts +31 -0
  745. package/dist/utils/parseTransactionPojo.js +63 -0
  746. package/dist/utils/parseTransactionPojo.js.map +1 -0
  747. package/dist/utils/schemaValidation.cjs +258 -0
  748. package/dist/utils/schemaValidation.cjs.map +1 -0
  749. package/dist/utils/schemaValidation.d.ts +168 -0
  750. package/dist/utils/schemaValidation.js +219 -0
  751. package/dist/utils/schemaValidation.js.map +1 -0
  752. package/dist/utils/signatureCache.cjs +186 -0
  753. package/dist/utils/signatureCache.cjs.map +1 -0
  754. package/dist/utils/signatureCache.d.ts +131 -0
  755. package/dist/utils/signatureCache.js +161 -0
  756. package/dist/utils/signatureCache.js.map +1 -0
  757. package/dist/utils/signatureFormatter.cjs +42 -0
  758. package/dist/utils/signatureFormatter.cjs.map +1 -0
  759. package/dist/utils/signatureFormatter.d.ts +36 -0
  760. package/dist/utils/signatureFormatter.js +18 -0
  761. package/dist/utils/signatureFormatter.js.map +1 -0
  762. package/dist/utils/tests/multicall.test.d.ts +1 -0
  763. package/dist/utils/transactionHelpers.cjs +54 -0
  764. package/dist/utils/transactionHelpers.cjs.map +1 -0
  765. package/dist/utils/transactionHelpers.d.ts +80 -0
  766. package/dist/utils/transactionHelpers.js +29 -0
  767. package/dist/utils/transactionHelpers.js.map +1 -0
  768. package/dist/utils/typeGuards.cjs +109 -0
  769. package/dist/utils/typeGuards.cjs.map +1 -0
  770. package/dist/utils/typeGuards.d.ts +138 -0
  771. package/dist/utils/typeGuards.js +74 -0
  772. package/dist/utils/typeGuards.js.map +1 -0
  773. package/dist/utils/typedDataConverter.cjs +43 -0
  774. package/dist/utils/typedDataConverter.cjs.map +1 -0
  775. package/dist/utils/typedDataConverter.d.ts +10 -0
  776. package/dist/utils/typedDataConverter.js +19 -0
  777. package/dist/utils/typedDataConverter.js.map +1 -0
  778. package/dist/utils/urlResolver.cjs +55 -0
  779. package/dist/utils/urlResolver.cjs.map +1 -0
  780. package/dist/utils/urlResolver.d.ts +38 -0
  781. package/dist/utils/urlResolver.js +30 -0
  782. package/dist/utils/urlResolver.js.map +1 -0
  783. package/dist/utils/withEvents.cjs +44 -0
  784. package/dist/utils/withEvents.cjs.map +1 -0
  785. package/dist/utils/withEvents.d.ts +56 -0
  786. package/dist/utils/withEvents.js +18 -0
  787. package/dist/utils/withEvents.js.map +1 -0
  788. package/package.json +74 -37
  789. package/dist/chains.browser.cjs.map +0 -1
  790. package/dist/chains.d.cts +0 -2
  791. package/dist/chains.node.d.cts +0 -2
  792. package/dist/index.d.cts +0 -2
  793. package/dist/platform.d.cts +0 -1
@@ -0,0 +1,309 @@
1
+ import {
2
+ RetryUtility,
3
+ RateLimiter,
4
+ MiddlewarePipeline,
5
+ CircuitBreaker
6
+ } from "./generics";
7
+ class ApiClient {
8
+ config;
9
+ middleware;
10
+ rateLimiter;
11
+ circuitBreaker;
12
+ constructor(config = {}) {
13
+ this.config = {
14
+ baseUrl: config.baseUrl ?? "",
15
+ headers: config.headers ?? {},
16
+ timeout: config.timeout ?? 3e4,
17
+ retry: config.retry ?? {
18
+ maxAttempts: 3,
19
+ baseDelay: 1e3,
20
+ backoffMultiplier: 2,
21
+ shouldRetry: (error) => error.message.includes("network")
22
+ },
23
+ rateLimit: config.rateLimit ?? {
24
+ requestsPerWindow: 100,
25
+ windowMs: 6e4
26
+ },
27
+ circuitBreaker: config.circuitBreaker ?? {
28
+ failureThreshold: 5,
29
+ recoveryTimeout: 6e4,
30
+ halfOpenMaxAttempts: 3
31
+ }
32
+ };
33
+ this.middleware = new MiddlewarePipeline();
34
+ this.rateLimiter = new RateLimiter(this.config.rateLimit);
35
+ this.circuitBreaker = new CircuitBreaker(this.config.circuitBreaker);
36
+ }
37
+ /**
38
+ * Add middleware to the request pipeline
39
+ *
40
+ * @param middleware - The middleware function to add to the pipeline
41
+ */
42
+ use(middleware) {
43
+ this.middleware.use(middleware);
44
+ }
45
+ /**
46
+ * Make a generic HTTP request
47
+ *
48
+ * @param url - The URL to make the request to
49
+ * @param options - Request options including method, headers, body, etc.
50
+ * @returns Promise resolving to the response data
51
+ */
52
+ async request(url, options = {}) {
53
+ const fullUrl = this.buildUrl(url);
54
+ const requestOptions = this.buildRequestOptions(options);
55
+ const request = {
56
+ params: {
57
+ url: fullUrl,
58
+ options: requestOptions
59
+ },
60
+ options: requestOptions
61
+ };
62
+ if (!options.skipRateLimit && this.rateLimiter) {
63
+ await this.rateLimiter.waitForSlot();
64
+ }
65
+ if (this.circuitBreaker) {
66
+ return this.circuitBreaker.execute(
67
+ () => this.executeRequest(request)
68
+ );
69
+ }
70
+ return this.executeRequest(request);
71
+ }
72
+ /**
73
+ * Make a GET request
74
+ *
75
+ * @param url - The URL to make the GET request to
76
+ * @param options - Request options (excluding method)
77
+ * @returns Promise resolving to the response data
78
+ */
79
+ async get(url, options = {}) {
80
+ return this.request(url, { ...options, method: "GET" });
81
+ }
82
+ /**
83
+ * Make a POST request
84
+ *
85
+ * @param url - The URL to make the POST request to
86
+ * @param data - The data to send in the request body
87
+ * @param options - Request options (excluding method)
88
+ * @returns Promise resolving to the response data
89
+ */
90
+ async post(url, data, options = {}) {
91
+ return this.request(url, {
92
+ ...options,
93
+ method: "POST",
94
+ headers: {
95
+ "Content-Type": "application/json",
96
+ ...options.headers
97
+ },
98
+ params: data
99
+ });
100
+ }
101
+ /**
102
+ * Make a PUT request
103
+ *
104
+ * @param url - The URL to make the PUT request to
105
+ * @param data - The data to send in the request body
106
+ * @param options - Request options (excluding method)
107
+ * @returns Promise resolving to the response data
108
+ */
109
+ async put(url, data, options = {}) {
110
+ return this.request(url, {
111
+ ...options,
112
+ method: "PUT",
113
+ headers: {
114
+ "Content-Type": "application/json",
115
+ ...options.headers
116
+ },
117
+ params: data
118
+ });
119
+ }
120
+ /**
121
+ * Make a DELETE request
122
+ *
123
+ * @param url - The URL to make the DELETE request to
124
+ * @param options - Request options (excluding method)
125
+ * @returns Promise resolving to the response data
126
+ */
127
+ async delete(url, options = {}) {
128
+ return this.request(url, { ...options, method: "DELETE" });
129
+ }
130
+ /**
131
+ * Make a PATCH request
132
+ *
133
+ * @param url - The URL to make the PATCH request to
134
+ * @param data - The data to send in the request body
135
+ * @param options - Request options (excluding method)
136
+ * @returns Promise resolving to the response data
137
+ */
138
+ async patch(url, data, options = {}) {
139
+ return this.request(url, {
140
+ ...options,
141
+ method: "PATCH",
142
+ headers: {
143
+ "Content-Type": "application/json",
144
+ ...options.headers
145
+ },
146
+ params: data
147
+ });
148
+ }
149
+ /**
150
+ * Execute the actual HTTP request with middleware and retry
151
+ *
152
+ * @param request - The generic request object containing URL and options
153
+ * @returns Promise resolving to the generic response with data
154
+ */
155
+ async executeRequest(request) {
156
+ const executeWithRetry = async () => {
157
+ try {
158
+ const processedRequest = await this.middleware.processRequest(request);
159
+ const response = await this.makeHttpRequest(
160
+ processedRequest.params.url,
161
+ processedRequest.params.options
162
+ );
163
+ const processedResponse = await this.middleware.processResponse(response);
164
+ return processedResponse;
165
+ } catch (error) {
166
+ const handledResponse = await this.middleware.handleError(error, request);
167
+ if (handledResponse) {
168
+ return handledResponse;
169
+ }
170
+ throw error;
171
+ }
172
+ };
173
+ if (!request.params.options.skipRetry) {
174
+ return RetryUtility.withRetry(executeWithRetry, this.config.retry);
175
+ }
176
+ return executeWithRetry();
177
+ }
178
+ /**
179
+ * Make the actual HTTP request using fetch API
180
+ *
181
+ * @param url - The URL to make the request to
182
+ * @param options - The request options including method, headers, body, etc.
183
+ * @returns Promise resolving to the generic response with data
184
+ */
185
+ async makeHttpRequest(url, options) {
186
+ const controller = new AbortController();
187
+ const timeoutId = setTimeout(() => {
188
+ controller.abort();
189
+ }, options.timeout ?? this.config.timeout);
190
+ try {
191
+ const response = await fetch(url, {
192
+ method: options.method ?? "GET",
193
+ headers: {
194
+ ...this.config.headers,
195
+ ...options.headers
196
+ },
197
+ signal: controller.signal,
198
+ // Add body for POST/PUT/PATCH requests
199
+ ...options.method && ["POST", "PUT", "PATCH"].includes(options.method) && {
200
+ body: JSON.stringify(options.params)
201
+ }
202
+ });
203
+ clearTimeout(timeoutId);
204
+ const responseData = await response.json();
205
+ const data = responseData;
206
+ if (!response.ok) {
207
+ return {
208
+ data: null,
209
+ success: false,
210
+ error: {
211
+ code: response.status.toString(),
212
+ message: data.message ?? response.statusText,
213
+ details: data
214
+ }
215
+ };
216
+ }
217
+ return {
218
+ data: responseData,
219
+ success: true,
220
+ meta: {
221
+ status: response.status,
222
+ statusText: response.statusText,
223
+ headers: Object.fromEntries(response.headers.entries())
224
+ }
225
+ };
226
+ } catch (error) {
227
+ clearTimeout(timeoutId);
228
+ if (error instanceof Error && error.name === "AbortError") {
229
+ return {
230
+ data: null,
231
+ success: false,
232
+ error: {
233
+ code: "TIMEOUT",
234
+ message: "Request timeout",
235
+ details: error
236
+ }
237
+ };
238
+ }
239
+ return {
240
+ data: null,
241
+ success: false,
242
+ error: {
243
+ code: "NETWORK_ERROR",
244
+ message: error instanceof Error ? error.message : "Unknown error",
245
+ details: error
246
+ }
247
+ };
248
+ }
249
+ }
250
+ /**
251
+ * Build the full URL
252
+ *
253
+ * @param url - The URL or path to build the full URL from
254
+ * @returns The complete URL string
255
+ */
256
+ buildUrl(url) {
257
+ if (url.startsWith("http")) {
258
+ return url;
259
+ }
260
+ const baseUrl = this.config.baseUrl.endsWith("/") ? this.config.baseUrl.slice(0, -1) : this.config.baseUrl;
261
+ const path = url.startsWith("/") ? url : `/${url}`;
262
+ return `${baseUrl}${path}`;
263
+ }
264
+ /**
265
+ * Build request options with defaults
266
+ *
267
+ * @param options - The request options to merge with defaults
268
+ * @returns The merged request options with defaults applied
269
+ */
270
+ buildRequestOptions(options) {
271
+ return {
272
+ method: "GET",
273
+ headers: {},
274
+ timeout: this.config.timeout,
275
+ ...options
276
+ };
277
+ }
278
+ /**
279
+ * Get client statistics
280
+ *
281
+ * @returns Object containing client statistics and performance metrics
282
+ */
283
+ getStats() {
284
+ return {
285
+ rateLimiter: this.rateLimiter ? {
286
+ remaining: this.rateLimiter.getRemainingRequests(),
287
+ resetTime: this.rateLimiter.getResetTime()
288
+ } : null,
289
+ circuitBreaker: this.circuitBreaker ? {
290
+ state: this.circuitBreaker.getState(),
291
+ failures: this.circuitBreaker.getFailures()
292
+ } : null,
293
+ middleware: {
294
+ count: this.middleware.getMiddleware().length
295
+ }
296
+ };
297
+ }
298
+ /**
299
+ * Reset client state
300
+ */
301
+ reset() {
302
+ this.circuitBreaker?.reset();
303
+ this.middleware.clear();
304
+ }
305
+ }
306
+ export {
307
+ ApiClient
308
+ };
309
+ //# sourceMappingURL=apiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/apiClient.ts"],"sourcesContent":["import type {\n GenericRequest,\n GenericResponse,\n RetryConfig,\n RateLimiterConfig,\n Middleware,\n} from \"../types/generics\";\nimport {\n RetryUtility,\n RateLimiter,\n MiddlewarePipeline,\n CircuitBreaker,\n} from \"./generics\";\n\n/**\n * Configuration for the generic API client\n */\nexport interface ApiClientConfig {\n /** Base URL for all requests */\n baseUrl?: string;\n /** Default headers */\n headers?: Record<string, string>;\n /** Request timeout in milliseconds */\n timeout?: number;\n /** Retry configuration */\n retry?: RetryConfig;\n /** Rate limiting configuration */\n rateLimit?: RateLimiterConfig;\n /** Circuit breaker configuration */\n circuitBreaker?: {\n failureThreshold: number;\n recoveryTimeout: number;\n halfOpenMaxAttempts?: number;\n };\n}\n\n/**\n * HTTP method types\n */\nexport type HttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\";\n\n/**\n * Request options for API calls\n */\nexport interface RequestOptions {\n /** HTTP method */\n method?: HttpMethod;\n /** Request headers */\n headers?: Record<string, string>;\n /** Query parameters */\n params?: Record<string, unknown>;\n /** Request timeout */\n timeout?: number;\n /** Skip retry for this request */\n skipRetry?: boolean;\n /** Skip rate limiting for this request */\n skipRateLimit?: boolean;\n}\n\n/**\n * Generic API client with middleware, retry, rate limiting, and circuit breaker support\n */\nexport class ApiClient {\n private readonly config: Required<ApiClientConfig>;\n private readonly middleware: MiddlewarePipeline;\n private readonly rateLimiter?: RateLimiter;\n private readonly circuitBreaker?: CircuitBreaker;\n\n constructor(config: ApiClientConfig = {}) {\n this.config = {\n baseUrl: config.baseUrl ?? \"\",\n headers: config.headers ?? {},\n timeout: config.timeout ?? 30000,\n retry: config.retry ?? {\n maxAttempts: 3,\n baseDelay: 1000,\n backoffMultiplier: 2,\n shouldRetry: (error) => error.message.includes(\"network\"),\n },\n rateLimit: config.rateLimit ?? {\n requestsPerWindow: 100,\n windowMs: 60000,\n },\n circuitBreaker: config.circuitBreaker ?? {\n failureThreshold: 5,\n recoveryTimeout: 60000,\n halfOpenMaxAttempts: 3,\n },\n };\n\n this.middleware = new MiddlewarePipeline();\n this.rateLimiter = new RateLimiter(this.config.rateLimit);\n this.circuitBreaker = new CircuitBreaker(this.config.circuitBreaker);\n }\n\n /**\n * Add middleware to the request pipeline\n *\n * @param middleware - The middleware function to add to the pipeline\n */\n use(middleware: Middleware): void {\n this.middleware.use(middleware);\n }\n\n /**\n * Make a generic HTTP request\n *\n * @param url - The URL to make the request to\n * @param options - Request options including method, headers, body, etc.\n * @returns Promise resolving to the response data\n */\n async request<TData = unknown>(\n url: string,\n options: RequestOptions = {},\n ): Promise<GenericResponse<TData>> {\n const fullUrl = this.buildUrl(url);\n const requestOptions = this.buildRequestOptions(options);\n\n const request: GenericRequest<{\n url: string;\n options: RequestOptions;\n }> = {\n params: {\n url: fullUrl,\n options: requestOptions,\n },\n options: requestOptions,\n };\n\n // Apply rate limiting\n if (!options.skipRateLimit && this.rateLimiter) {\n await this.rateLimiter.waitForSlot();\n }\n\n // Execute with circuit breaker\n if (this.circuitBreaker) {\n return this.circuitBreaker.execute(() =>\n this.executeRequest<TData>(request),\n );\n }\n\n return this.executeRequest<TData>(request);\n }\n\n /**\n * Make a GET request\n *\n * @param url - The URL to make the GET request to\n * @param options - Request options (excluding method)\n * @returns Promise resolving to the response data\n */\n async get<TData = unknown>(\n url: string,\n options: Omit<RequestOptions, \"method\"> = {},\n ): Promise<GenericResponse<TData>> {\n return this.request<TData>(url, { ...options, method: \"GET\" });\n }\n\n /**\n * Make a POST request\n *\n * @param url - The URL to make the POST request to\n * @param data - The data to send in the request body\n * @param options - Request options (excluding method)\n * @returns Promise resolving to the response data\n */\n async post<TData = unknown>(\n url: string,\n data?: unknown,\n options: Omit<RequestOptions, \"method\"> = {},\n ): Promise<GenericResponse<TData>> {\n return this.request<TData>(url, {\n ...options,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...options.headers,\n },\n params: data as Record<string, unknown>,\n });\n }\n\n /**\n * Make a PUT request\n *\n * @param url - The URL to make the PUT request to\n * @param data - The data to send in the request body\n * @param options - Request options (excluding method)\n * @returns Promise resolving to the response data\n */\n async put<TData = unknown>(\n url: string,\n data?: unknown,\n options: Omit<RequestOptions, \"method\"> = {},\n ): Promise<GenericResponse<TData>> {\n return this.request<TData>(url, {\n ...options,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...options.headers,\n },\n params: data as Record<string, unknown>,\n });\n }\n\n /**\n * Make a DELETE request\n *\n * @param url - The URL to make the DELETE request to\n * @param options - Request options (excluding method)\n * @returns Promise resolving to the response data\n */\n async delete<TData = unknown>(\n url: string,\n options: Omit<RequestOptions, \"method\"> = {},\n ): Promise<GenericResponse<TData>> {\n return this.request<TData>(url, { ...options, method: \"DELETE\" });\n }\n\n /**\n * Make a PATCH request\n *\n * @param url - The URL to make the PATCH request to\n * @param data - The data to send in the request body\n * @param options - Request options (excluding method)\n * @returns Promise resolving to the response data\n */\n async patch<TData = unknown>(\n url: string,\n data?: unknown,\n options: Omit<RequestOptions, \"method\"> = {},\n ): Promise<GenericResponse<TData>> {\n return this.request<TData>(url, {\n ...options,\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...options.headers,\n },\n params: data as Record<string, unknown>,\n });\n }\n\n /**\n * Execute the actual HTTP request with middleware and retry\n *\n * @param request - The generic request object containing URL and options\n * @returns Promise resolving to the generic response with data\n */\n private async executeRequest<TData>(\n request: GenericRequest<{ url: string; options: RequestOptions }>,\n ): Promise<GenericResponse<TData>> {\n const executeWithRetry = async (): Promise<GenericResponse<TData>> => {\n try {\n // Process request through middleware\n const processedRequest = await this.middleware.processRequest(request);\n\n // Make the actual HTTP request\n const response = await this.makeHttpRequest<TData>(\n (\n processedRequest as GenericRequest<{\n url: string;\n options: RequestOptions;\n }>\n ).params.url,\n (\n processedRequest as GenericRequest<{\n url: string;\n options: RequestOptions;\n }>\n ).params.options,\n );\n\n // Process response through middleware\n const processedResponse =\n await this.middleware.processResponse(response);\n\n return processedResponse;\n } catch (error) {\n // Try to handle error with middleware\n const handledResponse = await this.middleware.handleError<\n typeof request,\n GenericResponse<TData>\n >(error as Error, request);\n\n if (handledResponse) {\n return handledResponse;\n }\n\n throw error;\n }\n };\n\n // Apply retry logic if not skipped\n if (!request.params.options.skipRetry) {\n return RetryUtility.withRetry(executeWithRetry, this.config.retry);\n }\n\n return executeWithRetry();\n }\n\n /**\n * Make the actual HTTP request using fetch API\n *\n * @param url - The URL to make the request to\n * @param options - The request options including method, headers, body, etc.\n * @returns Promise resolving to the generic response with data\n */\n private async makeHttpRequest<TData>(\n url: string,\n options: RequestOptions,\n ): Promise<GenericResponse<TData>> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => {\n controller.abort();\n }, options.timeout ?? this.config.timeout);\n\n try {\n const response = await fetch(url, {\n method: options.method ?? \"GET\",\n headers: {\n ...this.config.headers,\n ...options.headers,\n },\n signal: controller.signal,\n // Add body for POST/PUT/PATCH requests\n ...(options.method &&\n [\"POST\", \"PUT\", \"PATCH\"].includes(options.method) && {\n body: JSON.stringify(options.params),\n }),\n });\n\n clearTimeout(timeoutId);\n\n const responseData: unknown = await response.json();\n const data = responseData as { message?: string; [key: string]: unknown };\n\n if (!response.ok) {\n return {\n data: null as unknown as TData,\n success: false,\n error: {\n code: response.status.toString(),\n message: data.message ?? response.statusText,\n details: data,\n },\n };\n }\n\n return {\n data: responseData as TData,\n success: true,\n meta: {\n status: response.status,\n statusText: response.statusText,\n headers: Object.fromEntries(response.headers.entries()),\n },\n };\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof Error && error.name === \"AbortError\") {\n return {\n data: null as unknown as TData,\n success: false,\n error: {\n code: \"TIMEOUT\",\n message: \"Request timeout\",\n details: error,\n },\n };\n }\n\n return {\n data: null as unknown as TData,\n success: false,\n error: {\n code: \"NETWORK_ERROR\",\n message: error instanceof Error ? error.message : \"Unknown error\",\n details: error,\n },\n };\n }\n }\n\n /**\n * Build the full URL\n *\n * @param url - The URL or path to build the full URL from\n * @returns The complete URL string\n */\n private buildUrl(url: string): string {\n if (url.startsWith(\"http\")) {\n return url;\n }\n\n const baseUrl = this.config.baseUrl.endsWith(\"/\")\n ? this.config.baseUrl.slice(0, -1)\n : this.config.baseUrl;\n const path = url.startsWith(\"/\") ? url : `/${url}`;\n\n return `${baseUrl}${path}`;\n }\n\n /**\n * Build request options with defaults\n *\n * @param options - The request options to merge with defaults\n * @returns The merged request options with defaults applied\n */\n private buildRequestOptions(options: RequestOptions): RequestOptions {\n return {\n method: \"GET\",\n headers: {},\n timeout: this.config.timeout,\n ...options,\n };\n }\n\n /**\n * Get client statistics\n *\n * @returns Object containing client statistics and performance metrics\n */\n getStats() {\n return {\n rateLimiter: this.rateLimiter\n ? {\n remaining: this.rateLimiter.getRemainingRequests(),\n resetTime: this.rateLimiter.getResetTime(),\n }\n : null,\n circuitBreaker: this.circuitBreaker\n ? {\n state: this.circuitBreaker.getState(),\n failures: this.circuitBreaker.getFailures(),\n }\n : null,\n middleware: {\n count: this.middleware.getMiddleware().length,\n },\n };\n }\n\n /**\n * Reset client state\n */\n reset(): void {\n this.circuitBreaker?.reset();\n this.middleware.clear();\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var client_exports = {};
20
+ __export(client_exports, {
21
+ createClient: () => createClient,
22
+ createWalletClient: () => createWalletClient,
23
+ defaultFromBlocks: () => defaultFromBlocks,
24
+ getDefaultFromBlock: () => getDefaultFromBlock
25
+ });
26
+ module.exports = __toCommonJS(client_exports);
27
+ var import_viem = require("viem");
28
+ var import_chains = require("../config/chains");
29
+ const defaultFromBlocks = {
30
+ 14800: 732312n,
31
+ // Moksha Testnet - earliest contract deployment
32
+ 1480: 758584n
33
+ // Vana Mainnet - earliest contract deployment
34
+ };
35
+ function getDefaultFromBlock(chainId) {
36
+ return defaultFromBlocks[chainId] || 0n;
37
+ }
38
+ let cachedClient;
39
+ const createClient = (chainId = import_chains.mokshaTestnet.id) => {
40
+ if (!cachedClient || cachedClient.chain?.id !== chainId) {
41
+ const chain = import_chains.chains[chainId];
42
+ if (!chain) {
43
+ throw new Error(`Chain ${chainId} not found`);
44
+ }
45
+ cachedClient = (0, import_viem.createPublicClient)({
46
+ chain,
47
+ transport: (0, import_viem.http)()
48
+ });
49
+ }
50
+ return cachedClient;
51
+ };
52
+ const createWalletClient = (chainId = import_chains.mokshaTestnet.id, account) => {
53
+ const chain = import_chains.chains[chainId];
54
+ if (!chain) {
55
+ throw new Error(`Chain ${chainId} not found`);
56
+ }
57
+ return (0, import_viem.createWalletClient)({
58
+ chain,
59
+ transport: (0, import_viem.http)(),
60
+ account
61
+ });
62
+ };
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ createClient,
66
+ createWalletClient,
67
+ defaultFromBlocks,
68
+ getDefaultFromBlock
69
+ });
70
+ //# sourceMappingURL=client.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/client.ts"],"sourcesContent":["import type { Chain, Account, PublicClient, WalletClient } from \"viem\";\nimport {\n createPublicClient,\n http,\n createWalletClient as viemCreateWalletClient,\n} from \"viem\";\nimport { chains, mokshaTestnet } from \"../config/chains\";\n\n/**\n * Default starting block numbers for querying blockchain events and data per chain.\n *\n * @remarks\n * These block numbers represent the earliest deployment of Vana protocol contracts\n * on each network. Using these as starting points for event queries significantly\n * improves performance by avoiding unnecessary queries of blocks before the\n * protocol existed.\n *\n * - Moksha Testnet (14800): Block 732312 - DataRegistry deployment\n * - Vana Mainnet (1480): Block 758584 - DataRegistry deployment\n *\n * @category Blockchain\n */\nexport const defaultFromBlocks: Record<number, bigint> = {\n 14800: 732312n, // Moksha Testnet - earliest contract deployment\n 1480: 758584n, // Vana Mainnet - earliest contract deployment\n};\n\n/**\n * Gets the default starting block for a specific chain.\n *\n * @param chainId - The chain ID to get the default from block for\n * @returns The default starting block for the chain, or 0n if not configured\n * @category Blockchain\n */\nexport function getDefaultFromBlock(chainId: number): bigint {\n return defaultFromBlocks[chainId] || 0n;\n}\n\n// Cache for clients\nlet cachedClient: PublicClient & { chain: Chain };\n\n/**\n * Creates or retrieves a cached public client for blockchain read operations.\n *\n * @remarks\n * This function provides an optimized way to access blockchain data by maintaining\n * a cached client instance per chain. The client is used for reading contract state,\n * querying events, and other read-only blockchain operations. It automatically\n * handles HTTP transport configuration and chain switching.\n *\n * @param chainId - The chain ID to connect to (defaults to Moksha testnet)\n * @returns A public client configured for the specified chain with caching optimization\n * @throws {Error} When the specified chain ID is not supported by the SDK\n * @example\n * ```typescript\n * // Get client for default chain (Moksha testnet)\n * const client = createClient();\n *\n * // Get client for specific chain\n * const mainnetClient = createClient(14800);\n *\n * // Use client for blockchain reads\n * const blockNumber = await client.getBlockNumber();\n * ```\n * @category Blockchain\n */\nexport const createClient = (\n chainId: keyof typeof chains = mokshaTestnet.id,\n): PublicClient & { chain: Chain } => {\n if (!cachedClient || cachedClient.chain?.id !== chainId) {\n const chain = chains[chainId];\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n cachedClient = createPublicClient({\n chain,\n transport: http(),\n });\n }\n\n return cachedClient;\n};\n\n/**\n * Creates a wallet client for blockchain transaction signing and submission.\n *\n * @remarks\n * This function creates a wallet client configured for transaction signing and\n * submission on the specified chain. Unlike the public client, wallet clients\n * are not cached and require an account for transaction signing. The client\n * handles HTTP transport configuration and provides access to wallet-specific\n * operations like signing transactions and messages.\n *\n * @param chainId - The chain ID to connect to (defaults to Moksha testnet)\n * @param account - Optional account for transaction signing (can be set later)\n * @returns A wallet client configured for the specified chain\n * @throws {Error} When the specified chain ID is not supported by the SDK\n * @example\n * ```typescript\n * import { privateKeyToAccount } from 'viem/accounts';\n *\n * // Create wallet client for default chain\n * const account = privateKeyToAccount('0x...');\n * const walletClient = createWalletClient(mokshaTestnet.id, account);\n *\n * // Use for transaction signing\n * const txHash = await walletClient.writeContract({\n * address: contractAddress,\n * abi: contractAbi,\n * functionName: 'someFunction',\n * args: []\n * });\n *\n * // Create without account (account can be set later)\n * const client = createWalletClient();\n * ```\n * @category Blockchain\n */\nexport const createWalletClient = (\n chainId: keyof typeof chains = mokshaTestnet.id,\n account?: Account,\n): WalletClient => {\n const chain = chains[chainId];\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n return viemCreateWalletClient({\n chain,\n transport: http(),\n account,\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAIO;AACP,oBAAsC;AAgB/B,MAAM,oBAA4C;AAAA,EACvD,OAAO;AAAA;AAAA,EACP,MAAM;AAAA;AACR;AASO,SAAS,oBAAoB,SAAyB;AAC3D,SAAO,kBAAkB,OAAO,KAAK;AACvC;AAGA,IAAI;AA2BG,MAAM,eAAe,CAC1B,UAA+B,4BAAc,OACT;AACpC,MAAI,CAAC,gBAAgB,aAAa,OAAO,OAAO,SAAS;AACvD,UAAM,QAAQ,qBAAO,OAAO;AAC5B,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,SAAS,OAAO,YAAY;AAAA,IAC9C;AAEA,uBAAe,gCAAmB;AAAA,MAChC;AAAA,MACA,eAAW,kBAAK;AAAA,IAClB,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAqCO,MAAM,qBAAqB,CAChC,UAA+B,4BAAc,IAC7C,YACiB;AACjB,QAAM,QAAQ,qBAAO,OAAO;AAC5B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,SAAS,OAAO,YAAY;AAAA,EAC9C;AAEA,aAAO,YAAAA,oBAAuB;AAAA,IAC5B;AAAA,IACA,eAAW,kBAAK;AAAA,IAChB;AAAA,EACF,CAAC;AACH;","names":["viemCreateWalletClient"]}
@@ -0,0 +1,89 @@
1
+ import type { Chain, Account, PublicClient, WalletClient } from "viem";
2
+ import { chains } from "../config/chains";
3
+ /**
4
+ * Default starting block numbers for querying blockchain events and data per chain.
5
+ *
6
+ * @remarks
7
+ * These block numbers represent the earliest deployment of Vana protocol contracts
8
+ * on each network. Using these as starting points for event queries significantly
9
+ * improves performance by avoiding unnecessary queries of blocks before the
10
+ * protocol existed.
11
+ *
12
+ * - Moksha Testnet (14800): Block 732312 - DataRegistry deployment
13
+ * - Vana Mainnet (1480): Block 758584 - DataRegistry deployment
14
+ *
15
+ * @category Blockchain
16
+ */
17
+ export declare const defaultFromBlocks: Record<number, bigint>;
18
+ /**
19
+ * Gets the default starting block for a specific chain.
20
+ *
21
+ * @param chainId - The chain ID to get the default from block for
22
+ * @returns The default starting block for the chain, or 0n if not configured
23
+ * @category Blockchain
24
+ */
25
+ export declare function getDefaultFromBlock(chainId: number): bigint;
26
+ /**
27
+ * Creates or retrieves a cached public client for blockchain read operations.
28
+ *
29
+ * @remarks
30
+ * This function provides an optimized way to access blockchain data by maintaining
31
+ * a cached client instance per chain. The client is used for reading contract state,
32
+ * querying events, and other read-only blockchain operations. It automatically
33
+ * handles HTTP transport configuration and chain switching.
34
+ *
35
+ * @param chainId - The chain ID to connect to (defaults to Moksha testnet)
36
+ * @returns A public client configured for the specified chain with caching optimization
37
+ * @throws {Error} When the specified chain ID is not supported by the SDK
38
+ * @example
39
+ * ```typescript
40
+ * // Get client for default chain (Moksha testnet)
41
+ * const client = createClient();
42
+ *
43
+ * // Get client for specific chain
44
+ * const mainnetClient = createClient(14800);
45
+ *
46
+ * // Use client for blockchain reads
47
+ * const blockNumber = await client.getBlockNumber();
48
+ * ```
49
+ * @category Blockchain
50
+ */
51
+ export declare const createClient: (chainId?: keyof typeof chains) => PublicClient & {
52
+ chain: Chain;
53
+ };
54
+ /**
55
+ * Creates a wallet client for blockchain transaction signing and submission.
56
+ *
57
+ * @remarks
58
+ * This function creates a wallet client configured for transaction signing and
59
+ * submission on the specified chain. Unlike the public client, wallet clients
60
+ * are not cached and require an account for transaction signing. The client
61
+ * handles HTTP transport configuration and provides access to wallet-specific
62
+ * operations like signing transactions and messages.
63
+ *
64
+ * @param chainId - The chain ID to connect to (defaults to Moksha testnet)
65
+ * @param account - Optional account for transaction signing (can be set later)
66
+ * @returns A wallet client configured for the specified chain
67
+ * @throws {Error} When the specified chain ID is not supported by the SDK
68
+ * @example
69
+ * ```typescript
70
+ * import { privateKeyToAccount } from 'viem/accounts';
71
+ *
72
+ * // Create wallet client for default chain
73
+ * const account = privateKeyToAccount('0x...');
74
+ * const walletClient = createWalletClient(mokshaTestnet.id, account);
75
+ *
76
+ * // Use for transaction signing
77
+ * const txHash = await walletClient.writeContract({
78
+ * address: contractAddress,
79
+ * abi: contractAbi,
80
+ * functionName: 'someFunction',
81
+ * args: []
82
+ * });
83
+ *
84
+ * // Create without account (account can be set later)
85
+ * const client = createWalletClient();
86
+ * ```
87
+ * @category Blockchain
88
+ */
89
+ export declare const createWalletClient: (chainId?: keyof typeof chains, account?: Account) => WalletClient;
@@ -0,0 +1,47 @@
1
+ import {
2
+ createPublicClient,
3
+ http,
4
+ createWalletClient as viemCreateWalletClient
5
+ } from "viem";
6
+ import { chains, mokshaTestnet } from "../config/chains";
7
+ const defaultFromBlocks = {
8
+ 14800: 732312n,
9
+ // Moksha Testnet - earliest contract deployment
10
+ 1480: 758584n
11
+ // Vana Mainnet - earliest contract deployment
12
+ };
13
+ function getDefaultFromBlock(chainId) {
14
+ return defaultFromBlocks[chainId] || 0n;
15
+ }
16
+ let cachedClient;
17
+ const createClient = (chainId = mokshaTestnet.id) => {
18
+ if (!cachedClient || cachedClient.chain?.id !== chainId) {
19
+ const chain = chains[chainId];
20
+ if (!chain) {
21
+ throw new Error(`Chain ${chainId} not found`);
22
+ }
23
+ cachedClient = createPublicClient({
24
+ chain,
25
+ transport: http()
26
+ });
27
+ }
28
+ return cachedClient;
29
+ };
30
+ const createWalletClient = (chainId = mokshaTestnet.id, account) => {
31
+ const chain = chains[chainId];
32
+ if (!chain) {
33
+ throw new Error(`Chain ${chainId} not found`);
34
+ }
35
+ return viemCreateWalletClient({
36
+ chain,
37
+ transport: http(),
38
+ account
39
+ });
40
+ };
41
+ export {
42
+ createClient,
43
+ createWalletClient,
44
+ defaultFromBlocks,
45
+ getDefaultFromBlock
46
+ };
47
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/client.ts"],"sourcesContent":["import type { Chain, Account, PublicClient, WalletClient } from \"viem\";\nimport {\n createPublicClient,\n http,\n createWalletClient as viemCreateWalletClient,\n} from \"viem\";\nimport { chains, mokshaTestnet } from \"../config/chains\";\n\n/**\n * Default starting block numbers for querying blockchain events and data per chain.\n *\n * @remarks\n * These block numbers represent the earliest deployment of Vana protocol contracts\n * on each network. Using these as starting points for event queries significantly\n * improves performance by avoiding unnecessary queries of blocks before the\n * protocol existed.\n *\n * - Moksha Testnet (14800): Block 732312 - DataRegistry deployment\n * - Vana Mainnet (1480): Block 758584 - DataRegistry deployment\n *\n * @category Blockchain\n */\nexport const defaultFromBlocks: Record<number, bigint> = {\n 14800: 732312n, // Moksha Testnet - earliest contract deployment\n 1480: 758584n, // Vana Mainnet - earliest contract deployment\n};\n\n/**\n * Gets the default starting block for a specific chain.\n *\n * @param chainId - The chain ID to get the default from block for\n * @returns The default starting block for the chain, or 0n if not configured\n * @category Blockchain\n */\nexport function getDefaultFromBlock(chainId: number): bigint {\n return defaultFromBlocks[chainId] || 0n;\n}\n\n// Cache for clients\nlet cachedClient: PublicClient & { chain: Chain };\n\n/**\n * Creates or retrieves a cached public client for blockchain read operations.\n *\n * @remarks\n * This function provides an optimized way to access blockchain data by maintaining\n * a cached client instance per chain. The client is used for reading contract state,\n * querying events, and other read-only blockchain operations. It automatically\n * handles HTTP transport configuration and chain switching.\n *\n * @param chainId - The chain ID to connect to (defaults to Moksha testnet)\n * @returns A public client configured for the specified chain with caching optimization\n * @throws {Error} When the specified chain ID is not supported by the SDK\n * @example\n * ```typescript\n * // Get client for default chain (Moksha testnet)\n * const client = createClient();\n *\n * // Get client for specific chain\n * const mainnetClient = createClient(14800);\n *\n * // Use client for blockchain reads\n * const blockNumber = await client.getBlockNumber();\n * ```\n * @category Blockchain\n */\nexport const createClient = (\n chainId: keyof typeof chains = mokshaTestnet.id,\n): PublicClient & { chain: Chain } => {\n if (!cachedClient || cachedClient.chain?.id !== chainId) {\n const chain = chains[chainId];\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n cachedClient = createPublicClient({\n chain,\n transport: http(),\n });\n }\n\n return cachedClient;\n};\n\n/**\n * Creates a wallet client for blockchain transaction signing and submission.\n *\n * @remarks\n * This function creates a wallet client configured for transaction signing and\n * submission on the specified chain. Unlike the public client, wallet clients\n * are not cached and require an account for transaction signing. The client\n * handles HTTP transport configuration and provides access to wallet-specific\n * operations like signing transactions and messages.\n *\n * @param chainId - The chain ID to connect to (defaults to Moksha testnet)\n * @param account - Optional account for transaction signing (can be set later)\n * @returns A wallet client configured for the specified chain\n * @throws {Error} When the specified chain ID is not supported by the SDK\n * @example\n * ```typescript\n * import { privateKeyToAccount } from 'viem/accounts';\n *\n * // Create wallet client for default chain\n * const account = privateKeyToAccount('0x...');\n * const walletClient = createWalletClient(mokshaTestnet.id, account);\n *\n * // Use for transaction signing\n * const txHash = await walletClient.writeContract({\n * address: contractAddress,\n * abi: contractAbi,\n * functionName: 'someFunction',\n * args: []\n * });\n *\n * // Create without account (account can be set later)\n * const client = createWalletClient();\n * ```\n * @category Blockchain\n */\nexport const createWalletClient = (\n chainId: keyof typeof chains = mokshaTestnet.id,\n account?: Account,\n): WalletClient => {\n const chain = chains[chainId];\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n return viemCreateWalletClient({\n chain,\n transport: http(),\n account,\n });\n};\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA,sBAAsB;AAAA,OACjB;AACP,SAAS,QAAQ,qBAAqB;AAgB/B,MAAM,oBAA4C;AAAA,EACvD,OAAO;AAAA;AAAA,EACP,MAAM;AAAA;AACR;AASO,SAAS,oBAAoB,SAAyB;AAC3D,SAAO,kBAAkB,OAAO,KAAK;AACvC;AAGA,IAAI;AA2BG,MAAM,eAAe,CAC1B,UAA+B,cAAc,OACT;AACpC,MAAI,CAAC,gBAAgB,aAAa,OAAO,OAAO,SAAS;AACvD,UAAM,QAAQ,OAAO,OAAO;AAC5B,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,SAAS,OAAO,YAAY;AAAA,IAC9C;AAEA,mBAAe,mBAAmB;AAAA,MAChC;AAAA,MACA,WAAW,KAAK;AAAA,IAClB,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAqCO,MAAM,qBAAqB,CAChC,UAA+B,cAAc,IAC7C,YACiB;AACjB,QAAM,QAAQ,OAAO,OAAO;AAC5B,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,SAAS,OAAO,YAAY;AAAA,EAC9C;AAEA,SAAO,uBAAuB;AAAA,IAC5B;AAAA,IACA,WAAW,KAAK;AAAA,IAChB;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1 @@
1
+ export {};