@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,816 @@
1
+ import type { Address, Hash } from "viem";
2
+ /**
3
+ * Makes all properties in T optional except for those in K
4
+ *
5
+ * @remarks
6
+ * This utility type is useful when you want to create a variant of an interface
7
+ * where most properties are optional, but specific properties remain required.
8
+ * Commonly used for update operations where only certain fields must be provided.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * interface User {
13
+ * id: string;
14
+ * name: string;
15
+ * email: string;
16
+ * age: number;
17
+ * }
18
+ *
19
+ * // Only 'id' is required, all other properties are optional
20
+ * type UserUpdate = PartialExcept<User, 'id'>;
21
+ *
22
+ * const update: UserUpdate = {
23
+ * id: '123', // Required
24
+ * name: 'John' // Optional
25
+ * // email and age are also optional
26
+ * };
27
+ * ```
28
+ * @category Reference
29
+ */
30
+ export type PartialExcept<T, K extends keyof T> = Partial<T> & Pick<T, K>;
31
+ /**
32
+ * Makes all properties in T required except for those in K
33
+ *
34
+ * @remarks
35
+ * This utility type is useful when you want to create a variant of an interface
36
+ * where most properties are required, but specific properties remain optional.
37
+ * Commonly used for creation operations where most fields are mandatory.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * interface Config {
42
+ * apiUrl: string;
43
+ * timeout?: number;
44
+ * retries?: number;
45
+ * debug?: boolean;
46
+ * }
47
+ *
48
+ * // All properties required except 'debug'
49
+ * type StrictConfig = RequiredExcept<Config, 'debug'>;
50
+ *
51
+ * const config: StrictConfig = {
52
+ * apiUrl: 'https://api.vana.com', // Required
53
+ * timeout: 5000, // Required (was optional, now required)
54
+ * retries: 3, // Required (was optional, now required)
55
+ * // debug remains optional
56
+ * };
57
+ * ```
58
+ * @category Reference
59
+ */
60
+ export type RequiredExcept<T, K extends keyof T> = Required<T> & Partial<Pick<T, K>>;
61
+ /**
62
+ * Extracts the return type of a promise
63
+ *
64
+ * @remarks
65
+ * This utility type unwraps the type contained within a Promise.
66
+ * If the type is not a Promise, it returns the type unchanged.
67
+ * Note: TypeScript 4.5+ includes a built-in Awaited type with similar functionality.
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * type AsyncString = Promise<string>;
72
+ * type SyncString = string;
73
+ *
74
+ * // Extracts 'string' from Promise<string>
75
+ * type Result1 = Awaited<AsyncString>; // string
76
+ *
77
+ * // Returns 'string' unchanged since it's not a Promise
78
+ * type Result2 = Awaited<SyncString>; // string
79
+ *
80
+ * // Practical usage with async functions
81
+ * async function fetchUser(): Promise<{ id: string; name: string }> {
82
+ * // ...
83
+ * }
84
+ *
85
+ * type User = Awaited<ReturnType<typeof fetchUser>>; // { id: string; name: string }
86
+ * ```
87
+ * @category Reference
88
+ */
89
+ export type Awaited<T> = T extends Promise<infer U> ? U : T;
90
+ /**
91
+ * Creates a type that accepts either T or a Promise<T>
92
+ *
93
+ * @remarks
94
+ * This utility type is useful for functions that can work with both
95
+ * synchronous and asynchronous values. It allows flexible APIs that
96
+ * can accept immediate values or promises that resolve to those values.
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * // Function that accepts either a value or a promise of that value
101
+ * async function processData(data: MaybePromise<string>): Promise<string> {
102
+ * // await works on both promises and regular values
103
+ * const resolved = await data;
104
+ * return resolved.toUpperCase();
105
+ * }
106
+ *
107
+ * // Both calls are valid:
108
+ * processData('hello'); // Synchronous value
109
+ * processData(Promise.resolve('world')); // Asynchronous value
110
+ *
111
+ * // Common use case in SDK callbacks
112
+ * interface StorageProvider {
113
+ * // Provider can implement sync or async file reading
114
+ * read(path: string): MaybePromise<Buffer>;
115
+ * }
116
+ * ```
117
+ * @category Reference
118
+ */
119
+ export type MaybePromise<T> = T | Promise<T>;
120
+ /**
121
+ * Creates a type that accepts either T or an array of T
122
+ *
123
+ * @remarks
124
+ * This utility type is useful for functions that can accept either a single
125
+ * value or an array of values, providing a more flexible API. The implementation
126
+ * can normalize the input to always work with arrays internally.
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * // Function that accepts either a single ID or multiple IDs
131
+ * function deleteItems(ids: MaybeArray<string>): void {
132
+ * // Normalize to array
133
+ * const idArray = Array.isArray(ids) ? ids : [ids];
134
+ * idArray.forEach(id => console.log(`Deleting ${id}`));
135
+ * }
136
+ *
137
+ * // Both calls are valid:
138
+ * deleteItems('item-1'); // Single item
139
+ * deleteItems(['item-1', 'item-2', 'item-3']); // Multiple items
140
+ *
141
+ * // Common use case in permissions
142
+ * interface GrantPermissionsParams {
143
+ * permissions: MaybeArray<Permission>;
144
+ * }
145
+ * ```
146
+ * @category Reference
147
+ */
148
+ export type MaybeArray<T> = T | T[];
149
+ /**
150
+ * Pagination parameters for controlling result set size and navigation.
151
+ *
152
+ * Used across SDK methods that return lists of items to control how many items
153
+ * are returned and to navigate through large result sets efficiently.
154
+ *
155
+ * @category Reference
156
+ * @example
157
+ * ```typescript
158
+ * const pagination: PaginationParams = {
159
+ * limit: 20, // Return 20 items
160
+ * offset: 40, // Skip first 40 items (page 3)
161
+ * cursor: 'eyJpZCI6MTIzfQ==' // Or use cursor-based pagination
162
+ * };
163
+ *
164
+ * const files = await vana.data.getUserFiles({
165
+ * owner: userAddress,
166
+ * pagination
167
+ * });
168
+ * ```
169
+ */
170
+ export interface PaginationParams {
171
+ /** Maximum number of items to return */
172
+ limit?: number;
173
+ /** Number of items to skip */
174
+ offset?: number;
175
+ /** Cursor for cursor-based pagination */
176
+ cursor?: string;
177
+ }
178
+ /**
179
+ * Pagination result containing items and metadata for navigating large datasets.
180
+ *
181
+ * @remarks
182
+ * This interface standardizes paginated responses across the SDK, providing
183
+ * consistent metadata for implementing pagination UI components and handling
184
+ * multi-page data fetching. Supports both offset-based and cursor-based pagination.
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * // Fetching paginated user files
189
+ * async function getAllUserFiles(userAddress: string): Promise<File[]> {
190
+ * const allFiles: File[] = [];
191
+ * let cursor: string | undefined;
192
+ *
193
+ * do {
194
+ * const result: PaginationResult<File> = await vana.data.getUserFiles({
195
+ * owner: userAddress,
196
+ * pagination: { limit: 50, cursor }
197
+ * });
198
+ *
199
+ * allFiles.push(...result.items);
200
+ * cursor = result.nextCursor;
201
+ *
202
+ * console.log(`Fetched ${result.count} of ${result.total} files`);
203
+ * } while (result.hasMore);
204
+ *
205
+ * return allFiles;
206
+ * }
207
+ * ```
208
+ * @category Reference
209
+ */
210
+ export interface PaginationResult<T> {
211
+ /** Array of items */
212
+ items: T[];
213
+ /** Total number of items available */
214
+ total: number;
215
+ /** Number of items returned */
216
+ count: number;
217
+ /** Whether there are more items available */
218
+ hasMore: boolean;
219
+ /** Cursor for next page */
220
+ nextCursor?: string;
221
+ }
222
+ /**
223
+ * Block range parameters for filtering blockchain events and transactions.
224
+ *
225
+ * @remarks
226
+ * Used to specify a range of blocks when querying blockchain data.
227
+ * Both parameters are optional - omitting fromBlock starts from genesis,
228
+ * omitting toBlock goes to the latest block. Be cautious with large ranges
229
+ * as they may result in heavy RPC loads or timeouts.
230
+ *
231
+ * @example
232
+ * ```typescript
233
+ * // Get events from the last 1000 blocks
234
+ * const currentBlock = await vana.protocol.getBlockNumber();
235
+ * const events = await vana.protocol.getEvents({
236
+ * blockRange: {
237
+ * fromBlock: currentBlock - 1000n,
238
+ * toBlock: currentBlock
239
+ * }
240
+ * });
241
+ *
242
+ * // Get all historical events (use with caution)
243
+ * const allEvents = await vana.protocol.getEvents({
244
+ * blockRange: {
245
+ * fromBlock: 0n
246
+ * // toBlock omitted = up to latest
247
+ * }
248
+ * });
249
+ * ```
250
+ * @category Reference
251
+ */
252
+ export interface BlockRange {
253
+ /** Starting block number */
254
+ fromBlock?: bigint;
255
+ /** Ending block number */
256
+ toBlock?: bigint;
257
+ }
258
+ /**
259
+ * Transaction options for customizing blockchain transaction parameters.
260
+ *
261
+ * @remarks
262
+ * Provides fine-grained control over transaction execution. Supports both
263
+ * legacy (gasPrice) and EIP-1559 (maxFeePerGas) transaction types. When
264
+ * not specified, the SDK will use appropriate defaults based on network
265
+ * conditions. Use these options to optimize for speed or cost.
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * // High priority transaction with EIP-1559 pricing
270
+ * await vana.permissions.grant(params, {
271
+ * maxFeePerGas: 100n * 10n ** 9n, // 100 gwei
272
+ * maxPriorityFeePerGas: 2n * 10n ** 9n, // 2 gwei tip
273
+ * });
274
+ *
275
+ * // Legacy transaction with specific gas limit
276
+ * await vana.data.registerFile(params, {
277
+ * gasLimit: 500000n,
278
+ * gasPrice: 50n * 10n ** 9n // 50 gwei
279
+ * });
280
+ *
281
+ * // Send ETH with the transaction
282
+ * await vana.protocol.execute(params, {
283
+ * value: 10n ** 18n, // 1 ETH
284
+ * gasLimit: 21000n
285
+ * });
286
+ * ```
287
+ * @category Reference
288
+ */
289
+ export interface TransactionOptions {
290
+ /** Gas limit */
291
+ gasLimit?: bigint;
292
+ /** Gas price */
293
+ gasPrice?: bigint;
294
+ /** Max fee per gas (EIP-1559) */
295
+ maxFeePerGas?: bigint;
296
+ /** Max priority fee per gas (EIP-1559) */
297
+ maxPriorityFeePerGas?: bigint;
298
+ /** Nonce */
299
+ nonce?: number;
300
+ /** Value to send with transaction */
301
+ value?: bigint;
302
+ }
303
+ /**
304
+ * Transaction receipt with additional metadata for tracking transaction results.
305
+ *
306
+ * @remarks
307
+ * Provides comprehensive information about executed transactions including
308
+ * gas usage, success status, and emitted events. Use the logs array to
309
+ * decode events emitted by smart contracts during transaction execution.
310
+ * The receipt is available after a transaction is mined and included in a block.
311
+ *
312
+ * @example
313
+ * ```typescript
314
+ * // Execute transaction and wait for receipt
315
+ * const receipt = await vana.permissions.grant({
316
+ * grantee: '0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36',
317
+ * dataId: 123
318
+ * });
319
+ *
320
+ * // Check transaction success
321
+ * if (receipt.status === 'success') {
322
+ * console.log(`Gas used: ${receipt.gasUsed}`);
323
+ * console.log(`Block: ${receipt.blockNumber}`);
324
+ *
325
+ * // Decode events from logs
326
+ * receipt.logs.forEach(log => {
327
+ * if (log.topics[0] === PERMISSION_GRANTED_TOPIC) {
328
+ * console.log('Permission granted event detected');
329
+ * }
330
+ * });
331
+ * } else {
332
+ * console.error('Transaction reverted');
333
+ * }
334
+ * ```
335
+ * @category Reference
336
+ */
337
+ export interface TransactionReceipt {
338
+ /** Transaction hash */
339
+ transactionHash: Hash;
340
+ /** Block number */
341
+ blockNumber: bigint;
342
+ /** Block hash */
343
+ blockHash: Hash;
344
+ /** Gas used */
345
+ gasUsed: bigint;
346
+ /** Transaction status */
347
+ status: "success" | "reverted";
348
+ /** Contract address if contract deployment */
349
+ contractAddress?: Address;
350
+ /** Event logs */
351
+ logs: Array<{
352
+ address: Address;
353
+ topics: Hash[];
354
+ data: string;
355
+ }>;
356
+ }
357
+ /**
358
+ * Response wrapper for API results providing consistent error handling.
359
+ *
360
+ * @remarks
361
+ * Standardizes API responses across the SDK, making it easy to handle
362
+ * both successful and failed requests. The generic type parameter T
363
+ * represents the expected data type for successful responses. Check
364
+ * the success flag before accessing data to ensure type safety.
365
+ *
366
+ * @example
367
+ * ```typescript
368
+ * // Handling API responses
369
+ * async function fetchUserData(userId: string): Promise<User | null> {
370
+ * const response: ApiResponse<User> = await api.getUser(userId);
371
+ *
372
+ * if (response.success) {
373
+ * console.log('User fetched:', response.data.name);
374
+ * // Access metadata if available
375
+ * if (response.metadata?.cached) {
376
+ * console.log('Data was cached');
377
+ * }
378
+ * return response.data;
379
+ * } else {
380
+ * console.error('Failed to fetch user:', response.error);
381
+ * return null;
382
+ * }
383
+ * }
384
+ *
385
+ * // Type-safe error handling
386
+ * interface UserData {
387
+ * id: string;
388
+ * name: string;
389
+ * }
390
+ *
391
+ * const result: ApiResponse<UserData> = await api.call('/users/123');
392
+ * if (result.success) {
393
+ * // TypeScript knows result.data is UserData here
394
+ * console.log(result.data.name);
395
+ * }
396
+ * ```
397
+ * @category Reference
398
+ */
399
+ export interface ApiResponse<T> {
400
+ /** Response data */
401
+ data: T;
402
+ /** Success status */
403
+ success: boolean;
404
+ /** Error message if not successful */
405
+ error?: string;
406
+ /** Additional metadata */
407
+ metadata?: Record<string, unknown>;
408
+ }
409
+ /**
410
+ * Retry configuration for handling transient failures with exponential backoff.
411
+ *
412
+ * @remarks
413
+ * Configures automatic retry behavior for operations that may fail due to
414
+ * temporary issues like network problems or rate limits. Supports exponential
415
+ * backoff to avoid overwhelming services. The shouldRetry function allows
416
+ * custom logic to determine which errors warrant a retry attempt.
417
+ *
418
+ * @example
419
+ * ```typescript
420
+ * // Simple retry configuration
421
+ * const basicRetry: RetryConfig = {
422
+ * attempts: 3,
423
+ * delay: 1000 // 1 second between retries
424
+ * };
425
+ *
426
+ * // Exponential backoff configuration
427
+ * const exponentialRetry: RetryConfig = {
428
+ * attempts: 5,
429
+ * delay: 1000,
430
+ * backoffMultiplier: 2, // Double delay each time
431
+ * maxDelay: 30000, // Cap at 30 seconds
432
+ * shouldRetry: (error) => {
433
+ * // Only retry network and timeout errors
434
+ * return error.name === 'NetworkError' ||
435
+ * error.message.includes('timeout');
436
+ * }
437
+ * };
438
+ *
439
+ * // Usage with SDK
440
+ * const vana = new Vana({
441
+ * retryConfig: exponentialRetry
442
+ * });
443
+ * ```
444
+ * @category Reference
445
+ */
446
+ export interface RetryConfig {
447
+ /** Number of retry attempts */
448
+ attempts: number;
449
+ /** Delay between retries in milliseconds */
450
+ delay: number;
451
+ /** Backoff multiplier */
452
+ backoffMultiplier?: number;
453
+ /** Maximum delay in milliseconds */
454
+ maxDelay?: number;
455
+ /** Function to determine if error should be retried */
456
+ shouldRetry?: (error: Error) => boolean;
457
+ }
458
+ /**
459
+ * Cache configuration for optimizing repeated data fetches.
460
+ *
461
+ * @remarks
462
+ * Configures in-memory caching behavior to reduce redundant API calls and
463
+ * improve performance. The cache automatically evicts expired entries based
464
+ * on TTL and removes least-recently-used items when maxSize is reached.
465
+ * Use appropriate TTL values based on your data freshness requirements.
466
+ *
467
+ * @example
468
+ * ```typescript
469
+ * // Short-lived cache for frequently changing data
470
+ * const userCache: CacheConfig = {
471
+ * ttl: 60000, // 1 minute
472
+ * maxSize: 100, // Store up to 100 users
473
+ * prefix: 'user:' // Cache keys like 'user:123'
474
+ * };
475
+ *
476
+ * // Long-lived cache for stable data
477
+ * const schemaCache: CacheConfig = {
478
+ * ttl: 3600000, // 1 hour
479
+ * maxSize: 1000, // Store up to 1000 schemas
480
+ * prefix: 'schema:'
481
+ * };
482
+ *
483
+ * // Disable caching by setting TTL to 0
484
+ * const noCache: CacheConfig = {
485
+ * ttl: 0 // No caching
486
+ * };
487
+ * ```
488
+ * @category Reference
489
+ */
490
+ export interface CacheConfig {
491
+ /** Cache TTL in milliseconds */
492
+ ttl: number;
493
+ /** Maximum cache size */
494
+ maxSize?: number;
495
+ /** Cache key prefix */
496
+ prefix?: string;
497
+ }
498
+ /**
499
+ * Validation result for data integrity checks and schema validation.
500
+ *
501
+ * @remarks
502
+ * Provides detailed feedback about validation outcomes, distinguishing between
503
+ * errors (which prevent processing) and warnings (which indicate potential issues).
504
+ * Used throughout the SDK for validating permissions, file formats, schemas,
505
+ * and API parameters before operations.
506
+ *
507
+ * @example
508
+ * ```typescript
509
+ * // Validating user input
510
+ * function validateFileUpload(file: File): ValidationResult {
511
+ * const errors: string[] = [];
512
+ * const warnings: string[] = [];
513
+ *
514
+ * // Check file size
515
+ * if (file.size > 100 * 1024 * 1024) {
516
+ * errors.push('File size exceeds 100MB limit');
517
+ * } else if (file.size > 50 * 1024 * 1024) {
518
+ * warnings.push('Large file may take time to upload');
519
+ * }
520
+ *
521
+ * // Check file type
522
+ * if (!file.type.startsWith('image/')) {
523
+ * errors.push('Only image files are allowed');
524
+ * }
525
+ *
526
+ * return {
527
+ * valid: errors.length === 0,
528
+ * errors,
529
+ * warnings
530
+ * };
531
+ * }
532
+ *
533
+ * // Using validation result
534
+ * const result = validateFileUpload(file);
535
+ * if (!result.valid) {
536
+ * console.error('Validation failed:', result.errors.join(', '));
537
+ * } else {
538
+ * if (result.warnings.length > 0) {
539
+ * console.warn('Warnings:', result.warnings.join(', '));
540
+ * }
541
+ * // Proceed with upload
542
+ * }
543
+ * ```
544
+ * @category Reference
545
+ */
546
+ export interface ValidationResult {
547
+ /** Whether validation passed */
548
+ valid: boolean;
549
+ /** Validation errors */
550
+ errors: string[];
551
+ /** Validation warnings */
552
+ warnings: string[];
553
+ }
554
+ /**
555
+ * Status information for health checks and service monitoring.
556
+ *
557
+ * @remarks
558
+ * Used to report the health status of various SDK components including
559
+ * storage providers, RPC connections, and personal servers. The details
560
+ * field can contain provider-specific information for debugging.
561
+ * Timestamps use Unix epoch milliseconds.
562
+ *
563
+ * @example
564
+ * ```typescript
565
+ * // Checking storage provider health
566
+ * const status: StatusInfo = await storage.getStatus();
567
+ *
568
+ * if (!status.healthy) {
569
+ * console.error(`Storage unhealthy: ${status.message}`);
570
+ * // Check how long the issue has persisted
571
+ * const downtime = Date.now() - status.lastCheck;
572
+ * if (downtime > 300000) { // 5 minutes
573
+ * // Switch to backup provider
574
+ * }
575
+ * }
576
+ *
577
+ * // Detailed status with custom fields
578
+ * const serverStatus: StatusInfo = {
579
+ * healthy: true,
580
+ * message: 'All systems operational',
581
+ * lastCheck: Date.now(),
582
+ * details: {
583
+ * uptime: 3600000, // 1 hour
584
+ * requestsServed: 1234,
585
+ * avgResponseTime: 145, // ms
586
+ * activeConnections: 23
587
+ * }
588
+ * };
589
+ * ```
590
+ * @category Reference
591
+ */
592
+ export interface StatusInfo {
593
+ /** Whether the service is healthy */
594
+ healthy: boolean;
595
+ /** Status message */
596
+ message?: string;
597
+ /** Last check timestamp */
598
+ lastCheck: number;
599
+ /** Additional status details */
600
+ details?: Record<string, unknown>;
601
+ }
602
+ /**
603
+ * Rate limit information for API throttling and quota management.
604
+ *
605
+ * @remarks
606
+ * Provides visibility into rate limiting status to help applications
607
+ * implement appropriate backoff strategies. Rate limits protect services
608
+ * from overload and ensure fair resource usage. Use this information
609
+ * to pace requests and avoid hitting limits.
610
+ *
611
+ * @example
612
+ * ```typescript
613
+ * // Check rate limit before making requests
614
+ * const rateLimit: RateLimitInfo = await api.getRateLimit();
615
+ *
616
+ * console.log(`Requests: ${rateLimit.requests}/${rateLimit.limit}`);
617
+ * console.log(`Resets in: ${rateLimit.resetTime} seconds`);
618
+ *
619
+ * // Implement backoff if approaching limit
620
+ * if (rateLimit.requests >= rateLimit.limit * 0.9) {
621
+ * console.warn('Approaching rate limit, slowing down');
622
+ * await new Promise(resolve =>
623
+ * setTimeout(resolve, rateLimit.resetTime * 1000)
624
+ * );
625
+ * }
626
+ *
627
+ * // Calculate requests per second allowed
628
+ * const rps = rateLimit.limit / rateLimit.window;
629
+ * console.log(`Max ${rps} requests per second allowed`);
630
+ * ```
631
+ * @category Reference
632
+ */
633
+ export interface RateLimitInfo {
634
+ /** Current request count */
635
+ requests: number;
636
+ /** Maximum requests allowed */
637
+ limit: number;
638
+ /** Time window in seconds */
639
+ window: number;
640
+ /** Time until reset in seconds */
641
+ resetTime: number;
642
+ }
643
+ /**
644
+ * File upload progress tracking for user feedback and monitoring.
645
+ *
646
+ * @remarks
647
+ * Provides real-time progress information during file uploads, enabling
648
+ * applications to show progress bars and estimated completion times.
649
+ * The speed calculation is typically based on a rolling average to
650
+ * smooth out network fluctuations.
651
+ *
652
+ * @example
653
+ * ```typescript
654
+ * // Upload with progress tracking
655
+ * await vana.data.upload(file, {
656
+ * onProgress: (progress: UploadProgress) => {
657
+ * // Update progress bar
658
+ * progressBar.style.width = `${progress.percentage}%`;
659
+ *
660
+ * // Show upload speed
661
+ * const speedMBps = (progress.speed / 1024 / 1024).toFixed(2);
662
+ * speedDisplay.textContent = `${speedMBps} MB/s`;
663
+ *
664
+ * // Show time remaining
665
+ * const minutes = Math.floor(progress.estimatedTimeRemaining / 60);
666
+ * const seconds = progress.estimatedTimeRemaining % 60;
667
+ * timeDisplay.textContent = `${minutes}:${seconds.toString().padStart(2, '0')}`;
668
+ *
669
+ * // Log progress milestones
670
+ * if (progress.percentage === 25 ||
671
+ * progress.percentage === 50 ||
672
+ * progress.percentage === 75) {
673
+ * console.log(`Upload ${progress.percentage}% complete`);
674
+ * }
675
+ * }
676
+ * });
677
+ * ```
678
+ * @category Reference
679
+ */
680
+ export interface UploadProgress {
681
+ /** Bytes uploaded */
682
+ loaded: number;
683
+ /** Total bytes to upload */
684
+ total: number;
685
+ /** Upload percentage (0-100) */
686
+ percentage: number;
687
+ /** Upload speed in bytes per second */
688
+ speed: number;
689
+ /** Estimated time remaining in seconds */
690
+ estimatedTimeRemaining: number;
691
+ }
692
+ /**
693
+ * Network information for blockchain connectivity and monitoring.
694
+ *
695
+ * @remarks
696
+ * Provides comprehensive details about the connected blockchain network,
697
+ * including configuration URLs and real-time status. Use this information
698
+ * to verify network connectivity, display network details to users, and
699
+ * construct explorer links for transactions.
700
+ *
701
+ * @example
702
+ * ```typescript
703
+ * // Get current network info
704
+ * const network: NetworkInfo = await vana.protocol.getNetworkInfo();
705
+ *
706
+ * console.log(`Connected to: ${network.chainName} (ID: ${network.chainId})`);
707
+ * console.log(`Current block: ${network.currentBlock}`);
708
+ *
709
+ * // Check network health
710
+ * if (network.status !== 'healthy') {
711
+ * console.warn(`Network ${network.status}: consider switching RPC`);
712
+ * }
713
+ *
714
+ * // Generate explorer link for transaction
715
+ * function getExplorerLink(txHash: string): string {
716
+ * if (!network.explorerUrl) {
717
+ * return `Transaction: ${txHash}`;
718
+ * }
719
+ * return `${network.explorerUrl}/tx/${txHash}`;
720
+ * }
721
+ *
722
+ * // Verify expected network
723
+ * const EXPECTED_CHAIN_ID = 1337; // Vana testnet
724
+ * if (network.chainId !== EXPECTED_CHAIN_ID) {
725
+ * throw new Error(`Wrong network! Expected ${EXPECTED_CHAIN_ID}, got ${network.chainId}`);
726
+ * }
727
+ * ```
728
+ * @category Reference
729
+ */
730
+ export interface NetworkInfo {
731
+ /** Chain ID */
732
+ chainId: number;
733
+ /** Chain name */
734
+ chainName: string;
735
+ /** RPC URL */
736
+ rpcUrl: string;
737
+ /** Block explorer URL */
738
+ explorerUrl?: string;
739
+ /** Current block number */
740
+ currentBlock: bigint;
741
+ /** Network status */
742
+ status: "healthy" | "degraded" | "down";
743
+ }
744
+ /**
745
+ * Gas estimate information for transaction cost prediction.
746
+ *
747
+ * @remarks
748
+ * Provides detailed gas pricing estimates to help users understand transaction
749
+ * costs before execution. Supports both legacy (gasPrice) and EIP-1559
750
+ * (maxFeePerGas) pricing models. The estimatedCost is calculated based on
751
+ * current network conditions and may vary by the time of actual execution.
752
+ *
753
+ * @example
754
+ * ```typescript
755
+ * // Get gas estimate before transaction
756
+ * const estimate: GasEstimate = await vana.permissions.estimateGas({
757
+ * grantee: '0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36',
758
+ * dataId: 123
759
+ * });
760
+ *
761
+ * // Convert to human-readable format
762
+ * const costInEth = Number(estimate.estimatedCost) / 1e18;
763
+ * console.log(`Estimated cost: ${costInEth.toFixed(6)} ETH`);
764
+ *
765
+ * // Check if user has sufficient balance
766
+ * const balance = await vana.protocol.getBalance(userAddress);
767
+ * if (balance < estimate.estimatedCost) {
768
+ * throw new Error(`Insufficient balance. Need ${costInEth} ETH`);
769
+ * }
770
+ *
771
+ * // Use estimate for transaction with buffer
772
+ * await vana.permissions.grant(params, {
773
+ * gasLimit: estimate.gasLimit * 110n / 100n, // 10% buffer
774
+ * maxFeePerGas: estimate.maxFeePerGas,
775
+ * maxPriorityFeePerGas: estimate.maxPriorityFeePerGas
776
+ * });
777
+ * ```
778
+ * @category Reference
779
+ */
780
+ export interface GasEstimate {
781
+ /** Gas limit */
782
+ gasLimit: bigint;
783
+ /** Gas price */
784
+ gasPrice: bigint;
785
+ /** Max fee per gas */
786
+ maxFeePerGas?: bigint;
787
+ /** Max priority fee per gas */
788
+ maxPriorityFeePerGas?: bigint;
789
+ /** Estimated cost in wei */
790
+ estimatedCost: bigint;
791
+ }
792
+ /**
793
+ * Time range parameters for filtering operations by time period.
794
+ *
795
+ * Used in various SDK methods to specify date/time ranges for queries,
796
+ * analytics, and data filtering operations. Times are specified as Unix timestamps.
797
+ *
798
+ * @category Reference
799
+ * @example
800
+ * ```typescript
801
+ * const lastWeek: TimeRange = {
802
+ * from: Date.now() - (7 * 24 * 60 * 60 * 1000), // 7 days ago
803
+ * to: Date.now()
804
+ * };
805
+ *
806
+ * const permissions = await vana.permissions.getUserPermissions({
807
+ * timeRange: lastWeek
808
+ * });
809
+ * ```
810
+ */
811
+ export interface TimeRange {
812
+ /** Start time (Unix timestamp) */
813
+ from?: number;
814
+ /** End time (Unix timestamp) */
815
+ to?: number;
816
+ }