@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,179 @@
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 protocol_exports = {};
20
+ __export(protocol_exports, {
21
+ ProtocolController: () => ProtocolController
22
+ });
23
+ module.exports = __toCommonJS(protocol_exports);
24
+ var import_errors = require("../errors");
25
+ var import_contractController = require("../contracts/contractController");
26
+ class ProtocolController {
27
+ constructor(context) {
28
+ this.context = context;
29
+ this.contractFactory = new import_contractController.ContractFactory(context.walletClient);
30
+ }
31
+ contractFactory;
32
+ /**
33
+ * Retrieves the address and ABI for a specific Vana protocol contract.
34
+ *
35
+ * @remarks
36
+ * This method provides direct access to contract addresses and ABIs for the current
37
+ * chain. It includes full TypeScript type inference when using const assertions,
38
+ * enabling type-safe contract interactions. The method only returns contracts that
39
+ * are actually deployed on the current network.
40
+ * @param contractName - The name of the Vana contract to retrieve (use const assertion for full typing)
41
+ * @returns An object containing the contract's address and fully typed ABI
42
+ * @throws {ContractNotFoundError} When the contract is not deployed on the current chain.
43
+ * Verify contract name spelling and check current network with `getChainId()`.
44
+ * @example
45
+ * ```typescript
46
+ * // Get contract info with full type inference
47
+ * const dataRegistry = vana.protocol.getContract("DataRegistry" as const);
48
+ *
49
+ * // Now dataRegistry.abi is fully typed for the DataRegistry contract
50
+ * console.log(dataRegistry.address); // "0x123..."
51
+ * console.log(dataRegistry.abi.length); // Full ABI array
52
+ * ```
53
+ */
54
+ getContract(contractName) {
55
+ try {
56
+ const chainId = this.context.walletClient.chain?.id;
57
+ if (!chainId) {
58
+ throw new import_errors.ContractNotFoundError(contractName, 0);
59
+ }
60
+ return (0, import_contractController.getContractInfo)(contractName, chainId);
61
+ } catch (error) {
62
+ if (error instanceof import_errors.ContractNotFoundError) {
63
+ throw error;
64
+ }
65
+ if (error instanceof Error) {
66
+ if (error.message.includes("Contract address not found")) {
67
+ let chainId = 0;
68
+ try {
69
+ chainId = this.context.walletClient.chain?.id ?? 0;
70
+ } catch {
71
+ chainId = 0;
72
+ }
73
+ throw new import_errors.ContractNotFoundError(contractName, chainId);
74
+ }
75
+ throw error;
76
+ }
77
+ throw new Error(`Failed to get contract ${contractName}: Unknown error`);
78
+ }
79
+ }
80
+ /**
81
+ * Creates a fully typed contract instance ready for blockchain interaction.
82
+ *
83
+ * @remarks
84
+ * This method creates a contract instance with complete type safety for all contract
85
+ * methods including read operations, write operations, and event handling. The instance
86
+ * is pre-configured with the correct address, ABI, and wallet client for immediate use.
87
+ * All method parameters and return types are fully typed based on the contract ABI.
88
+ * @param contractName - The name of the Vana contract (use const assertion for full typing)
89
+ * @returns A fully typed contract instance with read/write methods and event handling
90
+ * @throws {ContractNotFoundError} When the contract is not deployed on the current chain
91
+ * @example
92
+ * ```typescript
93
+ * // Create typed contract instance
94
+ * const dataRegistry = vana.protocol.createContract("DataRegistry" as const);
95
+ *
96
+ * // Full type safety for all operations
97
+ * const fileCount = await dataRegistry.read.filesCount(); // Type: bigint
98
+ * const txHash = await dataRegistry.write.addFile(["ipfs://..."]); // Typed parameters
99
+ *
100
+ * // Listen to events with full typing
101
+ * const logs = await dataRegistry.getEvents.FileAdded();
102
+ * ```
103
+ */
104
+ createContract(contractName) {
105
+ try {
106
+ return (0, import_contractController.getContractController)(contractName, this.context.walletClient);
107
+ } catch (error) {
108
+ if (error instanceof Error) {
109
+ if (error.message.includes("Contract address not found")) {
110
+ const chainId = this.context.walletClient.chain?.id ?? 0;
111
+ throw new import_errors.ContractNotFoundError(contractName, chainId);
112
+ }
113
+ throw error;
114
+ }
115
+ throw new Error(
116
+ `Failed to create contract ${contractName}: Unknown error`
117
+ );
118
+ }
119
+ }
120
+ /**
121
+ * Gets all available contract names that can be used with getContract().
122
+ * Returns only contracts that are actually deployed on the current chain.
123
+ *
124
+ * @returns Array of all available contract names for the current chain
125
+ */
126
+ getAvailableContracts() {
127
+ return this.contractFactory.getAvailableContracts();
128
+ }
129
+ /**
130
+ * Checks if a specific contract is available on the current chain.
131
+ *
132
+ * @param contractName - The contract name to check
133
+ * @returns Whether the contract is deployed on the current chain
134
+ */
135
+ isContractAvailable(contractName) {
136
+ const availableContracts = this.getAvailableContracts();
137
+ return availableContracts.includes(contractName);
138
+ }
139
+ /**
140
+ * Gets the contract factory instance for advanced usage.
141
+ * This provides access to additional contract management methods.
142
+ *
143
+ * @returns The contract factory instance
144
+ */
145
+ getContractFactory() {
146
+ return this.contractFactory;
147
+ }
148
+ /**
149
+ * Gets the current chain ID from the wallet client.
150
+ *
151
+ * @returns The chain ID
152
+ * @throws {Error} When chain ID is not available from wallet client
153
+ */
154
+ getChainId() {
155
+ const chainId = this.context.walletClient.chain?.id;
156
+ if (!chainId) {
157
+ throw new Error("Chain ID not available from wallet client");
158
+ }
159
+ return chainId;
160
+ }
161
+ /**
162
+ * Gets the current chain name from the wallet client.
163
+ *
164
+ * @returns The chain name
165
+ * @throws {Error} When chain name is not available from wallet client
166
+ */
167
+ getChainName() {
168
+ const chainName = this.context.walletClient.chain?.name;
169
+ if (!chainName) {
170
+ throw new Error("Chain name not available from wallet client");
171
+ }
172
+ return chainName;
173
+ }
174
+ }
175
+ // Annotate the CommonJS export names for ESM import in node:
176
+ 0 && (module.exports = {
177
+ ProtocolController
178
+ });
179
+ //# sourceMappingURL=protocol.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/protocol.ts"],"sourcesContent":["import type { ContractInfo, VanaChainId } from \"../types/index\";\nimport type { VanaContract, ContractAbis } from \"../generated/abi\";\nimport { ContractNotFoundError } from \"../errors\";\nimport {\n getContractController,\n getContractInfo,\n ContractFactory,\n} from \"../contracts/contractController\";\nimport type { ControllerContext } from \"./permissions\";\nimport type { GetContractReturnType } from \"viem\";\n\n/**\n * Provides direct, low-level access to all Vana protocol smart contracts.\n *\n * @remarks\n * This controller serves as the designated \"escape hatch\" for advanced developers who need\n * to interact directly with the underlying blockchain contracts. It provides access to\n * contract addresses, ABIs, and factory methods for creating typed contract instances.\n * Most developers should use the higher-level DataController and PermissionsController\n * instead of this advanced API.\n *\n * **Contract Selection:**\n * The controller automatically handles chain detection and provides only contracts that\n * are deployed on the current network. All contract instances are fully typed for\n * enhanced developer experience and type safety.\n *\n * **Method Selection:**\n * - `getContract()` retrieves contract address and ABI for manual interaction\n * - `createContract()` returns fully typed contract instance with read/write methods\n * - `getAvailableContracts()` lists all contracts deployed on current chain\n * - `isContractAvailable()` checks if specific contract exists on current chain\n * - `getChainId()` and `getChainName()` provide current network information\n *\n * **Usage Guidelines:**\n * Use this controller when high-level controllers don't provide needed functionality.\n * Most developers should use `vana.data.*` for files and `vana.permissions.*` for access control.\n *\n * **Type Safety:**\n * Use `as const` assertion with contract names for full TypeScript type inference.\n * Contract instances provide complete typing for all methods, parameters, and return values.\n *\n * @example\n * ```typescript\n * // Get contract info for direct interaction\n * const registry = vana.protocol.getContract(\"DataRegistry\" as const);\n *\n * // Access contract address and ABI with full typing\n * console.log(registry.address); // Contract address on current chain\n * console.log(registry.abi); // Fully typed contract ABI\n *\n * // Create a typed contract instance\n * const contract = vana.protocol.createContract(\"DataRegistry\" as const);\n * const fileCount = await contract.read.filesCount();\n * ```\n * @category Advanced\n * @see {@link https://docs.vana.com/developer/protocol/contracts | Vana Protocol Contracts} for contract specifications\n */\nexport class ProtocolController {\n private readonly contractFactory: ContractFactory;\n\n constructor(private readonly context: ControllerContext) {\n this.contractFactory = new ContractFactory(context.walletClient);\n }\n\n /**\n * Retrieves the address and ABI for a specific Vana protocol contract.\n *\n * @remarks\n * This method provides direct access to contract addresses and ABIs for the current\n * chain. It includes full TypeScript type inference when using const assertions,\n * enabling type-safe contract interactions. The method only returns contracts that\n * are actually deployed on the current network.\n * @param contractName - The name of the Vana contract to retrieve (use const assertion for full typing)\n * @returns An object containing the contract's address and fully typed ABI\n * @throws {ContractNotFoundError} When the contract is not deployed on the current chain.\n * Verify contract name spelling and check current network with `getChainId()`.\n * @example\n * ```typescript\n * // Get contract info with full type inference\n * const dataRegistry = vana.protocol.getContract(\"DataRegistry\" as const);\n *\n * // Now dataRegistry.abi is fully typed for the DataRegistry contract\n * console.log(dataRegistry.address); // \"0x123...\"\n * console.log(dataRegistry.abi.length); // Full ABI array\n * ```\n */\n getContract<T extends VanaContract>(\n contractName: T,\n ): ContractInfo<ContractAbis[T]> {\n try {\n const chainId = this.context.walletClient.chain?.id;\n\n if (!chainId) {\n throw new ContractNotFoundError(contractName, 0);\n }\n\n return getContractInfo(contractName, chainId as VanaChainId);\n } catch (error) {\n if (error instanceof ContractNotFoundError) {\n throw error;\n }\n if (error instanceof Error) {\n if (error.message.includes(\"Contract address not found\")) {\n let chainId = 0;\n try {\n chainId = this.context.walletClient.chain?.id ?? 0;\n } catch {\n // Use 0 as fallback if chain ID access fails\n chainId = 0;\n }\n throw new ContractNotFoundError(contractName, chainId);\n }\n throw error;\n }\n throw new Error(`Failed to get contract ${contractName}: Unknown error`);\n }\n }\n\n /**\n * Creates a fully typed contract instance ready for blockchain interaction.\n *\n * @remarks\n * This method creates a contract instance with complete type safety for all contract\n * methods including read operations, write operations, and event handling. The instance\n * is pre-configured with the correct address, ABI, and wallet client for immediate use.\n * All method parameters and return types are fully typed based on the contract ABI.\n * @param contractName - The name of the Vana contract (use const assertion for full typing)\n * @returns A fully typed contract instance with read/write methods and event handling\n * @throws {ContractNotFoundError} When the contract is not deployed on the current chain\n * @example\n * ```typescript\n * // Create typed contract instance\n * const dataRegistry = vana.protocol.createContract(\"DataRegistry\" as const);\n *\n * // Full type safety for all operations\n * const fileCount = await dataRegistry.read.filesCount(); // Type: bigint\n * const txHash = await dataRegistry.write.addFile([\"ipfs://...\"]); // Typed parameters\n *\n * // Listen to events with full typing\n * const logs = await dataRegistry.getEvents.FileAdded();\n * ```\n */\n createContract<T extends VanaContract>(\n contractName: T,\n ): GetContractReturnType<ContractAbis[T]> {\n try {\n return getContractController(contractName, this.context.walletClient);\n } catch (error) {\n if (error instanceof Error) {\n if (error.message.includes(\"Contract address not found\")) {\n const chainId = this.context.walletClient.chain?.id ?? 0;\n throw new ContractNotFoundError(contractName, chainId);\n }\n throw error;\n }\n throw new Error(\n `Failed to create contract ${contractName}: Unknown error`,\n );\n }\n }\n\n /**\n * Gets all available contract names that can be used with getContract().\n * Returns only contracts that are actually deployed on the current chain.\n *\n * @returns Array of all available contract names for the current chain\n */\n getAvailableContracts(): VanaContract[] {\n return this.contractFactory.getAvailableContracts();\n }\n\n /**\n * Checks if a specific contract is available on the current chain.\n *\n * @param contractName - The contract name to check\n * @returns Whether the contract is deployed on the current chain\n */\n isContractAvailable(contractName: VanaContract): boolean {\n const availableContracts = this.getAvailableContracts();\n return availableContracts.includes(contractName);\n }\n\n /**\n * Gets the contract factory instance for advanced usage.\n * This provides access to additional contract management methods.\n *\n * @returns The contract factory instance\n */\n getContractFactory(): ContractFactory {\n return this.contractFactory;\n }\n\n /**\n * Gets the current chain ID from the wallet client.\n *\n * @returns The chain ID\n * @throws {Error} When chain ID is not available from wallet client\n */\n getChainId(): number {\n const chainId = this.context.walletClient.chain?.id;\n if (!chainId) {\n throw new Error(\"Chain ID not available from wallet client\");\n }\n return chainId;\n }\n\n /**\n * Gets the current chain name from the wallet client.\n *\n * @returns The chain name\n * @throws {Error} When chain name is not available from wallet client\n */\n getChainName(): string {\n const chainName = this.context.walletClient.chain?.name;\n if (!chainName) {\n throw new Error(\"Chain name not available from wallet client\");\n }\n return chainName;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAsC;AACtC,gCAIO;AAkDA,MAAM,mBAAmB;AAAA,EAG9B,YAA6B,SAA4B;AAA5B;AAC3B,SAAK,kBAAkB,IAAI,0CAAgB,QAAQ,YAAY;AAAA,EACjE;AAAA,EAJiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4BjB,YACE,cAC+B;AAC/B,QAAI;AACF,YAAM,UAAU,KAAK,QAAQ,aAAa,OAAO;AAEjD,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,oCAAsB,cAAc,CAAC;AAAA,MACjD;AAEA,iBAAO,2CAAgB,cAAc,OAAsB;AAAA,IAC7D,SAAS,OAAO;AACd,UAAI,iBAAiB,qCAAuB;AAC1C,cAAM;AAAA,MACR;AACA,UAAI,iBAAiB,OAAO;AAC1B,YAAI,MAAM,QAAQ,SAAS,4BAA4B,GAAG;AACxD,cAAI,UAAU;AACd,cAAI;AACF,sBAAU,KAAK,QAAQ,aAAa,OAAO,MAAM;AAAA,UACnD,QAAQ;AAEN,sBAAU;AAAA,UACZ;AACA,gBAAM,IAAI,oCAAsB,cAAc,OAAO;AAAA,QACvD;AACA,cAAM;AAAA,MACR;AACA,YAAM,IAAI,MAAM,0BAA0B,YAAY,iBAAiB;AAAA,IACzE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BA,eACE,cACwC;AACxC,QAAI;AACF,iBAAO,iDAAsB,cAAc,KAAK,QAAQ,YAAY;AAAA,IACtE,SAAS,OAAO;AACd,UAAI,iBAAiB,OAAO;AAC1B,YAAI,MAAM,QAAQ,SAAS,4BAA4B,GAAG;AACxD,gBAAM,UAAU,KAAK,QAAQ,aAAa,OAAO,MAAM;AACvD,gBAAM,IAAI,oCAAsB,cAAc,OAAO;AAAA,QACvD;AACA,cAAM;AAAA,MACR;AACA,YAAM,IAAI;AAAA,QACR,6BAA6B,YAAY;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,wBAAwC;AACtC,WAAO,KAAK,gBAAgB,sBAAsB;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,oBAAoB,cAAqC;AACvD,UAAM,qBAAqB,KAAK,sBAAsB;AACtD,WAAO,mBAAmB,SAAS,YAAY;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,qBAAsC;AACpC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAqB;AACnB,UAAM,UAAU,KAAK,QAAQ,aAAa,OAAO;AACjD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,2CAA2C;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,eAAuB;AACrB,UAAM,YAAY,KAAK,QAAQ,aAAa,OAAO;AACnD,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,139 @@
1
+ import type { ContractInfo } from "../types/index";
2
+ import type { VanaContract, ContractAbis } from "../generated/abi";
3
+ import { ContractFactory } from "../contracts/contractController";
4
+ import type { ControllerContext } from "./permissions";
5
+ import type { GetContractReturnType } from "viem";
6
+ /**
7
+ * Provides direct, low-level access to all Vana protocol smart contracts.
8
+ *
9
+ * @remarks
10
+ * This controller serves as the designated "escape hatch" for advanced developers who need
11
+ * to interact directly with the underlying blockchain contracts. It provides access to
12
+ * contract addresses, ABIs, and factory methods for creating typed contract instances.
13
+ * Most developers should use the higher-level DataController and PermissionsController
14
+ * instead of this advanced API.
15
+ *
16
+ * **Contract Selection:**
17
+ * The controller automatically handles chain detection and provides only contracts that
18
+ * are deployed on the current network. All contract instances are fully typed for
19
+ * enhanced developer experience and type safety.
20
+ *
21
+ * **Method Selection:**
22
+ * - `getContract()` retrieves contract address and ABI for manual interaction
23
+ * - `createContract()` returns fully typed contract instance with read/write methods
24
+ * - `getAvailableContracts()` lists all contracts deployed on current chain
25
+ * - `isContractAvailable()` checks if specific contract exists on current chain
26
+ * - `getChainId()` and `getChainName()` provide current network information
27
+ *
28
+ * **Usage Guidelines:**
29
+ * Use this controller when high-level controllers don't provide needed functionality.
30
+ * Most developers should use `vana.data.*` for files and `vana.permissions.*` for access control.
31
+ *
32
+ * **Type Safety:**
33
+ * Use `as const` assertion with contract names for full TypeScript type inference.
34
+ * Contract instances provide complete typing for all methods, parameters, and return values.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Get contract info for direct interaction
39
+ * const registry = vana.protocol.getContract("DataRegistry" as const);
40
+ *
41
+ * // Access contract address and ABI with full typing
42
+ * console.log(registry.address); // Contract address on current chain
43
+ * console.log(registry.abi); // Fully typed contract ABI
44
+ *
45
+ * // Create a typed contract instance
46
+ * const contract = vana.protocol.createContract("DataRegistry" as const);
47
+ * const fileCount = await contract.read.filesCount();
48
+ * ```
49
+ * @category Advanced
50
+ * @see {@link https://docs.vana.com/developer/protocol/contracts | Vana Protocol Contracts} for contract specifications
51
+ */
52
+ export declare class ProtocolController {
53
+ private readonly context;
54
+ private readonly contractFactory;
55
+ constructor(context: ControllerContext);
56
+ /**
57
+ * Retrieves the address and ABI for a specific Vana protocol contract.
58
+ *
59
+ * @remarks
60
+ * This method provides direct access to contract addresses and ABIs for the current
61
+ * chain. It includes full TypeScript type inference when using const assertions,
62
+ * enabling type-safe contract interactions. The method only returns contracts that
63
+ * are actually deployed on the current network.
64
+ * @param contractName - The name of the Vana contract to retrieve (use const assertion for full typing)
65
+ * @returns An object containing the contract's address and fully typed ABI
66
+ * @throws {ContractNotFoundError} When the contract is not deployed on the current chain.
67
+ * Verify contract name spelling and check current network with `getChainId()`.
68
+ * @example
69
+ * ```typescript
70
+ * // Get contract info with full type inference
71
+ * const dataRegistry = vana.protocol.getContract("DataRegistry" as const);
72
+ *
73
+ * // Now dataRegistry.abi is fully typed for the DataRegistry contract
74
+ * console.log(dataRegistry.address); // "0x123..."
75
+ * console.log(dataRegistry.abi.length); // Full ABI array
76
+ * ```
77
+ */
78
+ getContract<T extends VanaContract>(contractName: T): ContractInfo<ContractAbis[T]>;
79
+ /**
80
+ * Creates a fully typed contract instance ready for blockchain interaction.
81
+ *
82
+ * @remarks
83
+ * This method creates a contract instance with complete type safety for all contract
84
+ * methods including read operations, write operations, and event handling. The instance
85
+ * is pre-configured with the correct address, ABI, and wallet client for immediate use.
86
+ * All method parameters and return types are fully typed based on the contract ABI.
87
+ * @param contractName - The name of the Vana contract (use const assertion for full typing)
88
+ * @returns A fully typed contract instance with read/write methods and event handling
89
+ * @throws {ContractNotFoundError} When the contract is not deployed on the current chain
90
+ * @example
91
+ * ```typescript
92
+ * // Create typed contract instance
93
+ * const dataRegistry = vana.protocol.createContract("DataRegistry" as const);
94
+ *
95
+ * // Full type safety for all operations
96
+ * const fileCount = await dataRegistry.read.filesCount(); // Type: bigint
97
+ * const txHash = await dataRegistry.write.addFile(["ipfs://..."]); // Typed parameters
98
+ *
99
+ * // Listen to events with full typing
100
+ * const logs = await dataRegistry.getEvents.FileAdded();
101
+ * ```
102
+ */
103
+ createContract<T extends VanaContract>(contractName: T): GetContractReturnType<ContractAbis[T]>;
104
+ /**
105
+ * Gets all available contract names that can be used with getContract().
106
+ * Returns only contracts that are actually deployed on the current chain.
107
+ *
108
+ * @returns Array of all available contract names for the current chain
109
+ */
110
+ getAvailableContracts(): VanaContract[];
111
+ /**
112
+ * Checks if a specific contract is available on the current chain.
113
+ *
114
+ * @param contractName - The contract name to check
115
+ * @returns Whether the contract is deployed on the current chain
116
+ */
117
+ isContractAvailable(contractName: VanaContract): boolean;
118
+ /**
119
+ * Gets the contract factory instance for advanced usage.
120
+ * This provides access to additional contract management methods.
121
+ *
122
+ * @returns The contract factory instance
123
+ */
124
+ getContractFactory(): ContractFactory;
125
+ /**
126
+ * Gets the current chain ID from the wallet client.
127
+ *
128
+ * @returns The chain ID
129
+ * @throws {Error} When chain ID is not available from wallet client
130
+ */
131
+ getChainId(): number;
132
+ /**
133
+ * Gets the current chain name from the wallet client.
134
+ *
135
+ * @returns The chain name
136
+ * @throws {Error} When chain name is not available from wallet client
137
+ */
138
+ getChainName(): string;
139
+ }
@@ -0,0 +1,159 @@
1
+ import { ContractNotFoundError } from "../errors";
2
+ import {
3
+ getContractController,
4
+ getContractInfo,
5
+ ContractFactory
6
+ } from "../contracts/contractController";
7
+ class ProtocolController {
8
+ constructor(context) {
9
+ this.context = context;
10
+ this.contractFactory = new ContractFactory(context.walletClient);
11
+ }
12
+ contractFactory;
13
+ /**
14
+ * Retrieves the address and ABI for a specific Vana protocol contract.
15
+ *
16
+ * @remarks
17
+ * This method provides direct access to contract addresses and ABIs for the current
18
+ * chain. It includes full TypeScript type inference when using const assertions,
19
+ * enabling type-safe contract interactions. The method only returns contracts that
20
+ * are actually deployed on the current network.
21
+ * @param contractName - The name of the Vana contract to retrieve (use const assertion for full typing)
22
+ * @returns An object containing the contract's address and fully typed ABI
23
+ * @throws {ContractNotFoundError} When the contract is not deployed on the current chain.
24
+ * Verify contract name spelling and check current network with `getChainId()`.
25
+ * @example
26
+ * ```typescript
27
+ * // Get contract info with full type inference
28
+ * const dataRegistry = vana.protocol.getContract("DataRegistry" as const);
29
+ *
30
+ * // Now dataRegistry.abi is fully typed for the DataRegistry contract
31
+ * console.log(dataRegistry.address); // "0x123..."
32
+ * console.log(dataRegistry.abi.length); // Full ABI array
33
+ * ```
34
+ */
35
+ getContract(contractName) {
36
+ try {
37
+ const chainId = this.context.walletClient.chain?.id;
38
+ if (!chainId) {
39
+ throw new ContractNotFoundError(contractName, 0);
40
+ }
41
+ return getContractInfo(contractName, chainId);
42
+ } catch (error) {
43
+ if (error instanceof ContractNotFoundError) {
44
+ throw error;
45
+ }
46
+ if (error instanceof Error) {
47
+ if (error.message.includes("Contract address not found")) {
48
+ let chainId = 0;
49
+ try {
50
+ chainId = this.context.walletClient.chain?.id ?? 0;
51
+ } catch {
52
+ chainId = 0;
53
+ }
54
+ throw new ContractNotFoundError(contractName, chainId);
55
+ }
56
+ throw error;
57
+ }
58
+ throw new Error(`Failed to get contract ${contractName}: Unknown error`);
59
+ }
60
+ }
61
+ /**
62
+ * Creates a fully typed contract instance ready for blockchain interaction.
63
+ *
64
+ * @remarks
65
+ * This method creates a contract instance with complete type safety for all contract
66
+ * methods including read operations, write operations, and event handling. The instance
67
+ * is pre-configured with the correct address, ABI, and wallet client for immediate use.
68
+ * All method parameters and return types are fully typed based on the contract ABI.
69
+ * @param contractName - The name of the Vana contract (use const assertion for full typing)
70
+ * @returns A fully typed contract instance with read/write methods and event handling
71
+ * @throws {ContractNotFoundError} When the contract is not deployed on the current chain
72
+ * @example
73
+ * ```typescript
74
+ * // Create typed contract instance
75
+ * const dataRegistry = vana.protocol.createContract("DataRegistry" as const);
76
+ *
77
+ * // Full type safety for all operations
78
+ * const fileCount = await dataRegistry.read.filesCount(); // Type: bigint
79
+ * const txHash = await dataRegistry.write.addFile(["ipfs://..."]); // Typed parameters
80
+ *
81
+ * // Listen to events with full typing
82
+ * const logs = await dataRegistry.getEvents.FileAdded();
83
+ * ```
84
+ */
85
+ createContract(contractName) {
86
+ try {
87
+ return getContractController(contractName, this.context.walletClient);
88
+ } catch (error) {
89
+ if (error instanceof Error) {
90
+ if (error.message.includes("Contract address not found")) {
91
+ const chainId = this.context.walletClient.chain?.id ?? 0;
92
+ throw new ContractNotFoundError(contractName, chainId);
93
+ }
94
+ throw error;
95
+ }
96
+ throw new Error(
97
+ `Failed to create contract ${contractName}: Unknown error`
98
+ );
99
+ }
100
+ }
101
+ /**
102
+ * Gets all available contract names that can be used with getContract().
103
+ * Returns only contracts that are actually deployed on the current chain.
104
+ *
105
+ * @returns Array of all available contract names for the current chain
106
+ */
107
+ getAvailableContracts() {
108
+ return this.contractFactory.getAvailableContracts();
109
+ }
110
+ /**
111
+ * Checks if a specific contract is available on the current chain.
112
+ *
113
+ * @param contractName - The contract name to check
114
+ * @returns Whether the contract is deployed on the current chain
115
+ */
116
+ isContractAvailable(contractName) {
117
+ const availableContracts = this.getAvailableContracts();
118
+ return availableContracts.includes(contractName);
119
+ }
120
+ /**
121
+ * Gets the contract factory instance for advanced usage.
122
+ * This provides access to additional contract management methods.
123
+ *
124
+ * @returns The contract factory instance
125
+ */
126
+ getContractFactory() {
127
+ return this.contractFactory;
128
+ }
129
+ /**
130
+ * Gets the current chain ID from the wallet client.
131
+ *
132
+ * @returns The chain ID
133
+ * @throws {Error} When chain ID is not available from wallet client
134
+ */
135
+ getChainId() {
136
+ const chainId = this.context.walletClient.chain?.id;
137
+ if (!chainId) {
138
+ throw new Error("Chain ID not available from wallet client");
139
+ }
140
+ return chainId;
141
+ }
142
+ /**
143
+ * Gets the current chain name from the wallet client.
144
+ *
145
+ * @returns The chain name
146
+ * @throws {Error} When chain name is not available from wallet client
147
+ */
148
+ getChainName() {
149
+ const chainName = this.context.walletClient.chain?.name;
150
+ if (!chainName) {
151
+ throw new Error("Chain name not available from wallet client");
152
+ }
153
+ return chainName;
154
+ }
155
+ }
156
+ export {
157
+ ProtocolController
158
+ };
159
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/protocol.ts"],"sourcesContent":["import type { ContractInfo, VanaChainId } from \"../types/index\";\nimport type { VanaContract, ContractAbis } from \"../generated/abi\";\nimport { ContractNotFoundError } from \"../errors\";\nimport {\n getContractController,\n getContractInfo,\n ContractFactory,\n} from \"../contracts/contractController\";\nimport type { ControllerContext } from \"./permissions\";\nimport type { GetContractReturnType } from \"viem\";\n\n/**\n * Provides direct, low-level access to all Vana protocol smart contracts.\n *\n * @remarks\n * This controller serves as the designated \"escape hatch\" for advanced developers who need\n * to interact directly with the underlying blockchain contracts. It provides access to\n * contract addresses, ABIs, and factory methods for creating typed contract instances.\n * Most developers should use the higher-level DataController and PermissionsController\n * instead of this advanced API.\n *\n * **Contract Selection:**\n * The controller automatically handles chain detection and provides only contracts that\n * are deployed on the current network. All contract instances are fully typed for\n * enhanced developer experience and type safety.\n *\n * **Method Selection:**\n * - `getContract()` retrieves contract address and ABI for manual interaction\n * - `createContract()` returns fully typed contract instance with read/write methods\n * - `getAvailableContracts()` lists all contracts deployed on current chain\n * - `isContractAvailable()` checks if specific contract exists on current chain\n * - `getChainId()` and `getChainName()` provide current network information\n *\n * **Usage Guidelines:**\n * Use this controller when high-level controllers don't provide needed functionality.\n * Most developers should use `vana.data.*` for files and `vana.permissions.*` for access control.\n *\n * **Type Safety:**\n * Use `as const` assertion with contract names for full TypeScript type inference.\n * Contract instances provide complete typing for all methods, parameters, and return values.\n *\n * @example\n * ```typescript\n * // Get contract info for direct interaction\n * const registry = vana.protocol.getContract(\"DataRegistry\" as const);\n *\n * // Access contract address and ABI with full typing\n * console.log(registry.address); // Contract address on current chain\n * console.log(registry.abi); // Fully typed contract ABI\n *\n * // Create a typed contract instance\n * const contract = vana.protocol.createContract(\"DataRegistry\" as const);\n * const fileCount = await contract.read.filesCount();\n * ```\n * @category Advanced\n * @see {@link https://docs.vana.com/developer/protocol/contracts | Vana Protocol Contracts} for contract specifications\n */\nexport class ProtocolController {\n private readonly contractFactory: ContractFactory;\n\n constructor(private readonly context: ControllerContext) {\n this.contractFactory = new ContractFactory(context.walletClient);\n }\n\n /**\n * Retrieves the address and ABI for a specific Vana protocol contract.\n *\n * @remarks\n * This method provides direct access to contract addresses and ABIs for the current\n * chain. It includes full TypeScript type inference when using const assertions,\n * enabling type-safe contract interactions. The method only returns contracts that\n * are actually deployed on the current network.\n * @param contractName - The name of the Vana contract to retrieve (use const assertion for full typing)\n * @returns An object containing the contract's address and fully typed ABI\n * @throws {ContractNotFoundError} When the contract is not deployed on the current chain.\n * Verify contract name spelling and check current network with `getChainId()`.\n * @example\n * ```typescript\n * // Get contract info with full type inference\n * const dataRegistry = vana.protocol.getContract(\"DataRegistry\" as const);\n *\n * // Now dataRegistry.abi is fully typed for the DataRegistry contract\n * console.log(dataRegistry.address); // \"0x123...\"\n * console.log(dataRegistry.abi.length); // Full ABI array\n * ```\n */\n getContract<T extends VanaContract>(\n contractName: T,\n ): ContractInfo<ContractAbis[T]> {\n try {\n const chainId = this.context.walletClient.chain?.id;\n\n if (!chainId) {\n throw new ContractNotFoundError(contractName, 0);\n }\n\n return getContractInfo(contractName, chainId as VanaChainId);\n } catch (error) {\n if (error instanceof ContractNotFoundError) {\n throw error;\n }\n if (error instanceof Error) {\n if (error.message.includes(\"Contract address not found\")) {\n let chainId = 0;\n try {\n chainId = this.context.walletClient.chain?.id ?? 0;\n } catch {\n // Use 0 as fallback if chain ID access fails\n chainId = 0;\n }\n throw new ContractNotFoundError(contractName, chainId);\n }\n throw error;\n }\n throw new Error(`Failed to get contract ${contractName}: Unknown error`);\n }\n }\n\n /**\n * Creates a fully typed contract instance ready for blockchain interaction.\n *\n * @remarks\n * This method creates a contract instance with complete type safety for all contract\n * methods including read operations, write operations, and event handling. The instance\n * is pre-configured with the correct address, ABI, and wallet client for immediate use.\n * All method parameters and return types are fully typed based on the contract ABI.\n * @param contractName - The name of the Vana contract (use const assertion for full typing)\n * @returns A fully typed contract instance with read/write methods and event handling\n * @throws {ContractNotFoundError} When the contract is not deployed on the current chain\n * @example\n * ```typescript\n * // Create typed contract instance\n * const dataRegistry = vana.protocol.createContract(\"DataRegistry\" as const);\n *\n * // Full type safety for all operations\n * const fileCount = await dataRegistry.read.filesCount(); // Type: bigint\n * const txHash = await dataRegistry.write.addFile([\"ipfs://...\"]); // Typed parameters\n *\n * // Listen to events with full typing\n * const logs = await dataRegistry.getEvents.FileAdded();\n * ```\n */\n createContract<T extends VanaContract>(\n contractName: T,\n ): GetContractReturnType<ContractAbis[T]> {\n try {\n return getContractController(contractName, this.context.walletClient);\n } catch (error) {\n if (error instanceof Error) {\n if (error.message.includes(\"Contract address not found\")) {\n const chainId = this.context.walletClient.chain?.id ?? 0;\n throw new ContractNotFoundError(contractName, chainId);\n }\n throw error;\n }\n throw new Error(\n `Failed to create contract ${contractName}: Unknown error`,\n );\n }\n }\n\n /**\n * Gets all available contract names that can be used with getContract().\n * Returns only contracts that are actually deployed on the current chain.\n *\n * @returns Array of all available contract names for the current chain\n */\n getAvailableContracts(): VanaContract[] {\n return this.contractFactory.getAvailableContracts();\n }\n\n /**\n * Checks if a specific contract is available on the current chain.\n *\n * @param contractName - The contract name to check\n * @returns Whether the contract is deployed on the current chain\n */\n isContractAvailable(contractName: VanaContract): boolean {\n const availableContracts = this.getAvailableContracts();\n return availableContracts.includes(contractName);\n }\n\n /**\n * Gets the contract factory instance for advanced usage.\n * This provides access to additional contract management methods.\n *\n * @returns The contract factory instance\n */\n getContractFactory(): ContractFactory {\n return this.contractFactory;\n }\n\n /**\n * Gets the current chain ID from the wallet client.\n *\n * @returns The chain ID\n * @throws {Error} When chain ID is not available from wallet client\n */\n getChainId(): number {\n const chainId = this.context.walletClient.chain?.id;\n if (!chainId) {\n throw new Error(\"Chain ID not available from wallet client\");\n }\n return chainId;\n }\n\n /**\n * Gets the current chain name from the wallet client.\n *\n * @returns The chain name\n * @throws {Error} When chain name is not available from wallet client\n */\n getChainName(): string {\n const chainName = this.context.walletClient.chain?.name;\n if (!chainName) {\n throw new Error(\"Chain name not available from wallet client\");\n }\n return chainName;\n }\n}\n"],"mappings":"AAEA,SAAS,6BAA6B;AACtC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAkDA,MAAM,mBAAmB;AAAA,EAG9B,YAA6B,SAA4B;AAA5B;AAC3B,SAAK,kBAAkB,IAAI,gBAAgB,QAAQ,YAAY;AAAA,EACjE;AAAA,EAJiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4BjB,YACE,cAC+B;AAC/B,QAAI;AACF,YAAM,UAAU,KAAK,QAAQ,aAAa,OAAO;AAEjD,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,sBAAsB,cAAc,CAAC;AAAA,MACjD;AAEA,aAAO,gBAAgB,cAAc,OAAsB;AAAA,IAC7D,SAAS,OAAO;AACd,UAAI,iBAAiB,uBAAuB;AAC1C,cAAM;AAAA,MACR;AACA,UAAI,iBAAiB,OAAO;AAC1B,YAAI,MAAM,QAAQ,SAAS,4BAA4B,GAAG;AACxD,cAAI,UAAU;AACd,cAAI;AACF,sBAAU,KAAK,QAAQ,aAAa,OAAO,MAAM;AAAA,UACnD,QAAQ;AAEN,sBAAU;AAAA,UACZ;AACA,gBAAM,IAAI,sBAAsB,cAAc,OAAO;AAAA,QACvD;AACA,cAAM;AAAA,MACR;AACA,YAAM,IAAI,MAAM,0BAA0B,YAAY,iBAAiB;AAAA,IACzE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BA,eACE,cACwC;AACxC,QAAI;AACF,aAAO,sBAAsB,cAAc,KAAK,QAAQ,YAAY;AAAA,IACtE,SAAS,OAAO;AACd,UAAI,iBAAiB,OAAO;AAC1B,YAAI,MAAM,QAAQ,SAAS,4BAA4B,GAAG;AACxD,gBAAM,UAAU,KAAK,QAAQ,aAAa,OAAO,MAAM;AACvD,gBAAM,IAAI,sBAAsB,cAAc,OAAO;AAAA,QACvD;AACA,cAAM;AAAA,MACR;AACA,YAAM,IAAI;AAAA,QACR,6BAA6B,YAAY;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,wBAAwC;AACtC,WAAO,KAAK,gBAAgB,sBAAsB;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,oBAAoB,cAAqC;AACvD,UAAM,qBAAqB,KAAK,sBAAsB;AACtD,WAAO,mBAAmB,SAAS,YAAY;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,qBAAsC;AACpC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAqB;AACnB,UAAM,UAAU,KAAK,QAAQ,aAAa,OAAO;AACjD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,2CAA2C;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,eAAuB;AACrB,UAAM,YAAY,KAAK,QAAQ,aAAa,OAAO;AACnD,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AACF;","names":[]}