@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,1330 @@
1
+ import type { Address, Hash } from "viem";
2
+ import type { GrantPermissionParams, RevokePermissionParams, PermissionGrantTypedData, GenericTypedData, OnChainPermissionGrant, GetUserPermissionsOptions, AddAndTrustServerParams, TrustServerParams, UntrustServerParams, AddAndTrustServerTypedData, TrustServerTypedData, TrustedServerInfo, PaginatedTrustedServers, TrustedServerQueryOptions, BatchServerInfoResult, ServerTrustStatus, GrantFile, Grantee, GranteeInfo, RegisterGranteeParams, RegisterGranteeTypedData, GranteeQueryOptions, PaginatedGrantees, ServerInfo, ServerFilesAndPermissionParams, ServerFilesAndPermissionTypedData } from "../types/index";
3
+ import type { PermissionGrantResult, PermissionRevokeResult, ServerTrustResult } from "../types/transactionResults";
4
+ import type { TransactionResult } from "../types/operations";
5
+ import type { PermissionInfo } from "../types/permissions";
6
+ /**
7
+ * Provides shared configuration and services for all SDK controllers.
8
+ *
9
+ * @remarks
10
+ * This interface defines the foundational blockchain and storage services that all
11
+ * controllers require for operation. The main Vana SDK class automatically creates
12
+ * this context during initialization and passes it to each controller. It includes
13
+ * wallet clients for transaction signing, storage managers for file operations,
14
+ * and platform adapters for environment-specific functionality.
15
+ * @category Configuration
16
+ */
17
+ import type { ControllerContext } from "../types/controller-context";
18
+ export type { ControllerContext };
19
+ /**
20
+ * Manages gasless data access permissions and trusted server registry operations.
21
+ *
22
+ * @remarks
23
+ * This controller enables users to grant applications access to their data without
24
+ * paying gas fees. It handles the complete EIP-712 permission flow including signature
25
+ * creation, IPFS storage of permission details, and gasless transaction submission.
26
+ * The controller also manages trusted servers that can process user data and provides
27
+ * methods for revoking permissions when access is no longer needed.
28
+ *
29
+ * **Permission Architecture:**
30
+ * Permissions use dual storage: detailed parameters stored on IPFS, references stored on blockchain.
31
+ * This enables complex permissions while maintaining minimal on-chain data.
32
+ *
33
+ * **Method Selection:**
34
+ * - `grant()` creates new permissions with automatic IPFS upload and blockchain registration
35
+ * - `prepareGrant()` allows preview before signing for interactive applications
36
+ * - `revoke()` removes permissions by ID, supporting both gasless and direct transactions
37
+ * - `getUserPermissionGrantsOnChain()` queries existing permissions efficiently
38
+ * - `trustServer()` and `untrustServer()` manage server access for data processing
39
+ *
40
+ * **Transaction Types:**
41
+ * Methods with gasless support: `grant()`, `revoke()`, `trustServer()`, `untrustServer()`
42
+ * Methods requiring direct transactions: none (all support both gasless and direct)
43
+ * @example
44
+ * ```typescript
45
+ * // Grant permission for an app to access your data
46
+ * const txHash = await vana.permissions.grant({
47
+ * grantee: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
48
+ * operation: "llm_inference",
49
+ * files: [1, 2, 3],
50
+ * parameters: { model: "gpt-4", maxTokens: 1000 },
51
+ * });
52
+ *
53
+ * // Trust a server for data processing
54
+ * await vana.permissions.trustServer({
55
+ * serverId: "0x123...",
56
+ * serverUrl: "https://personal-server.vana.org",
57
+ * });
58
+ *
59
+ * // Query current permissions
60
+ * const permissions = await vana.permissions.getUserPermissionGrantsOnChain();
61
+ * ```
62
+ * @category Permissions
63
+ * @see {@link https://docs.vana.com/developer/permissions | Vana Permissions System} for conceptual overview
64
+ */
65
+ export declare class PermissionsController {
66
+ private readonly context;
67
+ constructor(context: ControllerContext);
68
+ /**
69
+ * Grants permission for an application to access user data with gasless transactions.
70
+ *
71
+ * This method provides a complete end-to-end permission grant flow that returns
72
+ * the permission ID and other relevant data immediately after successful submission.
73
+ * For advanced users who need more control over the transaction lifecycle, use
74
+ * `submitPermissionGrant()` instead.
75
+ *
76
+ * @param params - The permission grant configuration object
77
+ * @returns Promise resolving to permission data from the PermissionAdded event
78
+ * @throws {RelayerError} When gasless transaction submission fails
79
+ * @throws {SignatureError} When user rejects the signature request
80
+ * @throws {SerializationError} When grant data cannot be serialized
81
+ * @throws {BlockchainError} When permission grant fails or event parsing fails
82
+ * @throws {NetworkError} When transaction confirmation times out
83
+ * @example
84
+ * ```typescript
85
+ * const result = await vana.permissions.grant({
86
+ * grantee: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
87
+ * operation: "llm_inference",
88
+ * parameters: {
89
+ * model: "gpt-4",
90
+ * maxTokens: 1000,
91
+ * temperature: 0.7,
92
+ * },
93
+ * });
94
+ *
95
+ * console.log(`Permission ${result.permissionId} granted to ${result.user}`);
96
+ * console.log(`Transaction: ${result.transactionHash}`);
97
+ *
98
+ * // Can immediately use the permission ID for other operations
99
+ * await vana.permissions.revoke({ permissionId: result.permissionId });
100
+ * ```
101
+ */
102
+ grant(params: GrantPermissionParams): Promise<PermissionGrantResult>;
103
+ /**
104
+ * Submits a permission grant transaction and returns a handle for flexible result access.
105
+ *
106
+ * @remarks
107
+ * This lower-level method provides maximum control over transaction timing.
108
+ * Returns a TransactionResult that can be serialized and passed across API boundaries.
109
+ * Use this when handling multiple transactions or when you need granular control.
110
+ *
111
+ * @param params - The permission grant configuration object
112
+ * @returns Promise resolving to TransactionResult with hash and event parsing capabilities
113
+ * @throws {RelayerError} When gasless transaction submission fails
114
+ * @throws {SignatureError} When user rejects the signature request
115
+ * @throws {SerializationError} When grant data cannot be serialized
116
+ * @throws {BlockchainError} When permission grant preparation fails
117
+ * @example
118
+ * ```typescript
119
+ * // Submit transaction and get immediate hash access
120
+ * const tx = await vana.permissions.submitPermissionGrant(params);
121
+ * console.log(`Transaction submitted: ${tx.hash}`);
122
+ *
123
+ * // To wait for events, use SDK's waitForTransactionEvents
124
+ * const eventData = await vana.waitForTransactionEvents(tx.hash);
125
+ * console.log(`Permission ID: ${eventData.permissionId}`);
126
+ * ```
127
+ */
128
+ submitPermissionGrant(params: GrantPermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
129
+ /**
130
+ * Prepares a permission grant with preview before signing.
131
+ *
132
+ * @remarks
133
+ * This method implements a two-phase commit workflow that allows applications
134
+ * to show users a preview of what they're authorizing before requesting a signature.
135
+ * Unlike `createAndSign()`, this method does NOT upload to IPFS or prompt for signatures
136
+ * until the returned `confirm()` function is called.
137
+ * @param params - The permission grant parameters
138
+ * @returns A promise resolving to a preview object and confirm function
139
+ * @throws {SerializationError} When grant parameters are invalid or cannot be serialized
140
+ * @throws {BlockchainError} When grant validation fails or preparation encounters an error
141
+ * @example
142
+ * ```typescript
143
+ * const { preview, confirm } = await vana.permissions.prepareGrant({
144
+ * grantee: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
145
+ * operation: "llm_inference",
146
+ * files: [1, 2, 3],
147
+ * parameters: { model: "gpt-4", prompt: "Analyze my social media data" }
148
+ * });
149
+ *
150
+ * console.log(`Granting ${preview.operation} access to ${preview.files?.length} files`);
151
+ * const transactionHash = await confirm();
152
+ * ```
153
+ */
154
+ prepareGrant(params: GrantPermissionParams): Promise<{
155
+ preview: GrantFile;
156
+ confirm: () => Promise<PermissionGrantResult>;
157
+ }>;
158
+ /**
159
+ * Completes the grant process after user confirmation.
160
+ *
161
+ * @remarks
162
+ * This internal method is called by the confirm() function returned from prepareGrant().
163
+ * It handles IPFS upload, signature creation, and transaction submission.
164
+ *
165
+ * @param params - The permission grant parameters containing user and operation details
166
+ * @param grantFile - The prepared grant file with permissions and metadata
167
+ * @returns Promise resolving to TransactionResult for flexible result access
168
+ * @throws {BlockchainError} When permission grant confirmation fails
169
+ * @throws {NetworkError} When IPFS upload fails
170
+ * @throws {SignatureError} When user rejects the signature
171
+ */
172
+ private confirmGrantInternal;
173
+ /**
174
+ * Creates typed data and signature for a permission grant without submitting.
175
+ *
176
+ * @remarks
177
+ * This method handles the first phase of permission granting: creating the grant file,
178
+ * storing it on IPFS, and generating the user's EIP-712 signature. Use this when you
179
+ * want to handle submission separately or batch multiple operations. The method validates
180
+ * the grant file against the JSON schema before creating the signature.
181
+ *
182
+ * For interactive user flows, consider using `prepareGrant()` instead,
183
+ * which allows showing a preview before signing.
184
+ * @param params - The permission grant configuration object
185
+ * @returns A promise resolving to the typed data structure and signature for gasless submission
186
+ * @throws {SignatureError} When the user rejects the signature request
187
+ * @throws {SerializationError} When grant data cannot be properly formatted
188
+ * @throws {BlockchainError} When permission grant preparation fails
189
+ * @throws {NetworkError} When storage operations fail
190
+ * @example
191
+ * ```typescript
192
+ * const { typedData, signature } = await vana.permissions.createAndSign({
193
+ * grantee: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
194
+ * operation: "data_analysis",
195
+ * parameters: { analysisType: "sentiment" },
196
+ * });
197
+ *
198
+ * const transactionHash = await vana.permissions.submitSignedGrant(typedData, signature);
199
+ * ```
200
+ */
201
+ createAndSign(params: GrantPermissionParams): Promise<{
202
+ typedData: PermissionGrantTypedData;
203
+ signature: Hash;
204
+ }>;
205
+ /**
206
+ * Submits an already-signed permission grant to the blockchain.
207
+ *
208
+ * @remarks
209
+ * This method supports both relayer-based gasless transactions and direct transactions.
210
+ * It automatically converts `bigint` values to JSON-safe strings when using relayer
211
+ * callbacks and handles transaction submission with proper error handling and retry logic.
212
+ * @param typedData - The EIP-712 typed data structure for the permission grant
213
+ * @param signature - The user's signature as a hex string
214
+ * @returns A Promise that resolves to the transaction hash
215
+ * @throws {RelayerError} When gasless transaction submission fails
216
+ * @throws {BlockchainError} When permission submission fails
217
+ * @throws {NetworkError} When network communication fails
218
+ * @example
219
+ * ```typescript
220
+ * const txHash = await vana.permissions.submitSignedGrant(
221
+ * typedData,
222
+ * "0x1234..."
223
+ * );
224
+ * ```
225
+ */
226
+ submitSignedGrant(typedData: PermissionGrantTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
227
+ /**
228
+ * Submits an already-signed trust server transaction to the blockchain.
229
+ *
230
+ * @remarks
231
+ * This method extracts the trust server input from typed data and submits it directly.
232
+ * Used internally by trust server methods after signature collection.
233
+ *
234
+ * @param typedData - The EIP-712 typed data for TrustServer
235
+ * @param signature - The user's signature obtained via `signTypedData()`
236
+ * @returns Promise resolving to TransactionResult for transaction tracking
237
+ * @throws {BlockchainError} When contract submission fails
238
+ * @throws {NetworkError} When blockchain communication fails
239
+ * @example
240
+ * ```typescript
241
+ * const txHandle = await vana.permissions.submitSignedTrustServer(
242
+ * typedData,
243
+ * "0x1234..."
244
+ * );
245
+ * const result = await txHandle.waitForEvents();
246
+ * ```
247
+ */
248
+ submitSignedTrustServer(typedData: TrustServerTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityServers", "trustServerWithSignature">>;
249
+ /**
250
+ * Submits an already-signed add and trust server transaction to the blockchain.
251
+ *
252
+ * @remarks
253
+ * This method extracts the add and trust server input from typed data and submits it directly.
254
+ * Combines server registration and trust operations in a single transaction.
255
+ *
256
+ * @param typedData - The EIP-712 typed data for AddAndTrustServer
257
+ * @param signature - The user's signature obtained via `signTypedData()`
258
+ * @returns Promise resolving to TransactionResult for transaction tracking
259
+ * @throws {BlockchainError} When contract submission fails
260
+ * @throws {NetworkError} When blockchain communication fails
261
+ * @example
262
+ * ```typescript
263
+ * const txHandle = await vana.permissions.submitSignedAddAndTrustServer(
264
+ * typedData,
265
+ * "0x1234..."
266
+ * );
267
+ * const result = await txHandle.waitForEvents();
268
+ * ```
269
+ */
270
+ submitSignedAddAndTrustServer(typedData: AddAndTrustServerTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityServers", "addAndTrustServerWithSignature">>;
271
+ /**
272
+ * Internal method to submit a signed grant and wait for events.
273
+ *
274
+ * @internal
275
+ * @param typedData - The EIP-712 typed data for the permission grant
276
+ * @param signature - The user's signature authorizing the transaction
277
+ * @returns Promise resolving to PermissionGrantResult with parsed events
278
+ */
279
+ private submitSignedGrantWithEvents;
280
+ /**
281
+ * Internal method for confirm grant with events.
282
+ *
283
+ * @internal
284
+ * @param params - The permission grant parameters
285
+ * @param grantFile - The pre-created grant file object
286
+ * @returns Promise resolving to PermissionGrantResult with parsed events
287
+ */
288
+ private confirmGrantInternalWithEvents;
289
+ /**
290
+ * Submits an already-signed permission revoke transaction to the blockchain.
291
+ *
292
+ * @remarks
293
+ * This method handles the revocation of previously granted permissions.
294
+ * Used internally by revocation methods after signature collection.
295
+ *
296
+ * @param typedData - The EIP-712 typed data for PermissionRevoke
297
+ * @param signature - The user's signature obtained via `signTypedData()`
298
+ * @returns Promise resolving to TransactionResult for transaction tracking
299
+ * @throws {BlockchainError} When contract submission fails
300
+ * @throws {NetworkError} When blockchain communication fails
301
+ * @example
302
+ * ```typescript
303
+ * const txHandle = await vana.permissions.submitSignedRevoke(
304
+ * typedData,
305
+ * "0x1234..."
306
+ * );
307
+ * const result = await txHandle.waitForEvents();
308
+ * ```
309
+ */
310
+ submitSignedRevoke(typedData: GenericTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermissionWithSignature">>;
311
+ /**
312
+ * Submits an already-signed untrust server transaction to the blockchain.
313
+ *
314
+ * @remarks
315
+ * This method handles the removal of trusted servers.
316
+ * Used internally by untrust server methods after signature collection.
317
+ *
318
+ * @param typedData - The EIP-712 typed data for UntrustServer
319
+ * @param signature - The user's signature obtained via `signTypedData()`
320
+ * @returns Promise resolving to TransactionResult for transaction tracking
321
+ * @throws {BlockchainError} When contract submission fails
322
+ * @throws {NetworkError} When blockchain communication fails
323
+ * @example
324
+ * ```typescript
325
+ * const txHandle = await vana.permissions.submitSignedUntrustServer(
326
+ * typedData,
327
+ * "0x1234..."
328
+ * );
329
+ * const result = await txHandle.waitForEvents();
330
+ * ```
331
+ */
332
+ submitSignedUntrustServer(typedData: GenericTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityServers", "untrustServerWithSignature">>;
333
+ /**
334
+ * Submits a signed transaction directly to the blockchain.
335
+ *
336
+ * @remarks
337
+ * Internal method used when relayer callbacks are not available. Formats the signature
338
+ * and submits the permission grant directly to the smart contract.
339
+ *
340
+ * @param typedData - The typed data structure for the permission grant
341
+ * @param signature - The cryptographic signature authorizing the transaction
342
+ * @returns Promise resolving to the transaction hash
343
+ * @throws {BlockchainError} When contract submission fails
344
+ */
345
+ private submitDirectTransaction;
346
+ /**
347
+ * Revokes a previously granted permission.
348
+ *
349
+ * This method provides complete revocation with automatic event parsing to confirm
350
+ * the permission was successfully revoked. For advanced users who need more control,
351
+ * use `submitPermissionRevoke()` instead.
352
+ *
353
+ * @param params - Parameters for revoking the permission
354
+ * @param params.permissionId - Permission identifier (accepts bigint, number, or string).
355
+ * Obtain from permission grants via `getUserPermissionGrantsOnChain()`.
356
+ * @returns Promise resolving to revocation data from PermissionRevoked event
357
+ * @throws {BlockchainError} When revocation fails or event parsing fails
358
+ * @throws {UserRejectedRequestError} When user rejects the transaction
359
+ * @throws {NetworkError} When transaction confirmation times out
360
+ * @example
361
+ * ```typescript
362
+ * // Revoke a permission and get confirmation
363
+ * const result = await vana.permissions.revoke({
364
+ * permissionId: 123n
365
+ * });
366
+ * console.log(`Permission ${result.permissionId} revoked in transaction ${result.transactionHash}`);
367
+ * console.log(`Revoked in block ${result.blockNumber}`);
368
+ * ```
369
+ */
370
+ revoke(params: RevokePermissionParams): Promise<PermissionRevokeResult>;
371
+ /**
372
+ * Submits a permission revocation transaction and returns the transaction hash immediately.
373
+ *
374
+ * This is the lower-level method that provides maximum control over transaction timing.
375
+ * Use this when you want to handle transaction confirmation and event parsing separately.
376
+ *
377
+ * @param params - Parameters for revoking the permission
378
+ * @returns Promise resolving to the transaction hash when successfully submitted
379
+ * @throws {BlockchainError} When revocation transaction fails
380
+ * @throws {UserRejectedRequestError} When user rejects the transaction
381
+ * @example
382
+ * ```typescript
383
+ * // Submit revocation and handle confirmation later
384
+ * const txHash = await vana.permissions.submitPermissionRevoke({
385
+ * permissionId: 123n
386
+ * });
387
+ * console.log(`Revocation submitted: ${txHash}`);
388
+ * ```
389
+ */
390
+ submitPermissionRevoke(params: RevokePermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermission">>;
391
+ /**
392
+ * Revokes a permission with a signature for gasless transactions.
393
+ *
394
+ * @remarks
395
+ * This method creates an EIP-712 signature for permission revocation and submits
396
+ * it either through relayer callbacks or directly to the blockchain. Provides
397
+ * gasless revocation when relayer is configured.
398
+ *
399
+ * @param params - Parameters for revoking the permission
400
+ * @param params.permissionId - Permission identifier to revoke (accepts bigint, number, or string)
401
+ * @returns Promise resolving to TransactionResult for transaction tracking
402
+ * @throws {BlockchainError} When chain ID is not available
403
+ * @throws {NonceError} When retrieving user nonce fails
404
+ * @throws {SignatureError} When user rejects the signature request
405
+ * @throws {RelayerError} When gasless submission fails
406
+ * @throws {PermissionError} When revocation fails for any other reason
407
+ * @example
408
+ * ```typescript
409
+ * const txHandle = await vana.permissions.submitRevokeWithSignature({
410
+ * permissionId: 123n
411
+ * });
412
+ * const result = await txHandle.waitForEvents();
413
+ * console.log(`Permission ${result.permissionId} revoked`);
414
+ * ```
415
+ */
416
+ submitRevokeWithSignature(params: RevokePermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermissionWithSignature">>;
417
+ /**
418
+ * Retrieves the user's current nonce from the DataPortabilityServers contract.
419
+ * This nonce is used for server-related operations (AddAndTrustServer, TrustServer, UntrustServer).
420
+ *
421
+ * @returns Promise resolving to the current servers nonce
422
+ * @throws {NonceError} When reading nonce from contract fails
423
+ * @private
424
+ *
425
+ * @example
426
+ * ```typescript
427
+ * const nonce = await this.getServersUserNonce();
428
+ * console.log(`Current servers nonce: ${nonce}`);
429
+ * ```
430
+ */
431
+ /**
432
+ * Retrieves the user's current nonce from the DataPortabilityServers contract.
433
+ *
434
+ * @remarks
435
+ * Used for server-related operations (trust/untrust) to prevent replay attacks.
436
+ * The nonce must be incremented with each server operation.
437
+ *
438
+ * @returns Promise resolving to the user's current nonce as a bigint
439
+ * @throws {NonceError} When retrieving the nonce fails
440
+ */
441
+ private getServersUserNonce;
442
+ /**
443
+ * Retrieves the user's current nonce from the DataPortabilityPermissions contract.
444
+ * This nonce is used for permission-related operations (addPermission, addServerFilesAndPermissions).
445
+ *
446
+ * @returns Promise resolving to the current permissions nonce
447
+ * @throws {NonceError} When reading nonce from contract fails
448
+ * @private
449
+ *
450
+ * @example
451
+ * ```typescript
452
+ * const nonce = await this.getPermissionsUserNonce();
453
+ * console.log(`Current permissions nonce: ${nonce}`);
454
+ * ```
455
+ */
456
+ /**
457
+ * Retrieves the user's current nonce from the DataPortabilityPermissions contract.
458
+ *
459
+ * @remarks
460
+ * Used for permission-related operations (grant/revoke) to prevent replay attacks.
461
+ * The nonce must be incremented with each permission operation.
462
+ *
463
+ * @returns Promise resolving to the user's current nonce as a bigint
464
+ * @throws {NonceError} When retrieving the nonce fails
465
+ */
466
+ private getPermissionsUserNonce;
467
+ /**
468
+ * Composes the EIP-712 typed data for PermissionGrant (new simplified format).
469
+ *
470
+ * @param params - The parameters for composing the permission grant message
471
+ * @param params.grantee - The recipient address for the permission grant
472
+ * @param params.operation - The type of operation being granted permission for
473
+ * @param params.files - Array of file IDs that the permission applies to
474
+ * @param params.grantUrl - URL where the grant details are stored
475
+ * @param params.serializedParameters - Serialized parameters for the operation
476
+ * @param params.nonce - Unique number to prevent replay attacks
477
+ * @returns Promise resolving to the typed data structure
478
+ */
479
+ private composePermissionGrantMessage;
480
+ /**
481
+ * Creates EIP-712 typed data structure for server files and permissions.
482
+ *
483
+ * @param params - Parameters for the server files and permissions message
484
+ * @param params.granteeId - Grantee ID
485
+ * @param params.grant - Grant URL or grant data
486
+ * @param params.fileUrls - Array of file URLs
487
+ * @param params.schemaIds - Schema IDs for each file
488
+ * @param params.serverAddress - Server address
489
+ * @param params.serverUrl - Server URL
490
+ * @param params.serverPublicKey - Server public key
491
+ * @param params.filePermissions - File permissions array
492
+ * @param params.nonce - Unique number to prevent replay attacks
493
+ * @returns Promise resolving to the typed data structure
494
+ */
495
+ private composeServerFilesAndPermissionMessage;
496
+ /**
497
+ * Gets the EIP-712 domain for PermissionGrant signatures.
498
+ *
499
+ * @returns Promise resolving to the EIP-712 domain configuration
500
+ */
501
+ private getPermissionDomain;
502
+ /**
503
+ * Signs typed data using the wallet client with signature caching.
504
+ *
505
+ * @param typedData - The EIP-712 typed data structure to sign
506
+ * @returns Promise resolving to the cryptographic signature
507
+ */
508
+ private signTypedData;
509
+ /**
510
+ * Gets the user's address from the wallet client.
511
+ *
512
+ * @returns Promise resolving to the user's wallet address
513
+ */
514
+ private getUserAddress;
515
+ /**
516
+ * Gets on-chain permission grant data without expensive off-chain resolution.
517
+ *
518
+ * @remarks
519
+ * This method provides a fast, performance-focused way to retrieve permission grants
520
+ * by querying only the subgraph without making expensive IPFS or individual contract calls.
521
+ * It eliminates the N+1 query problem of the legacy `getUserPermissions()` method.
522
+ *
523
+ * The returned data contains all on-chain information but does NOT include resolved
524
+ * operation details, parameters, or file IDs. Use `retrieveGrantFile()` separately
525
+ * for specific grants when detailed data is needed.
526
+ *
527
+ * **Performance**: Completes in ~100-500ms regardless of permission count.
528
+ * **Reliability**: Single point of failure (subgraph) with clear RPC fallback path.
529
+ *
530
+ * @param options - Options for retrieving permissions (limit, subgraph URL)
531
+ * @returns A Promise that resolves to an array of `OnChainPermissionGrant` objects
532
+ * @throws {BlockchainError} When subgraph query fails
533
+ * @throws {NetworkError} When network requests fail
534
+ * @example
535
+ * ```typescript
536
+ * // Fast: Get all on-chain permission data
537
+ * const grants = await vana.permissions.getUserPermissionGrantsOnChain({ limit: 20 });
538
+ *
539
+ * // Display in UI immediately
540
+ * grants.forEach(grant => {
541
+ * console.log(`Permission ${grant.id}: ${grant.grantUrl}`);
542
+ * });
543
+ *
544
+ * // Lazy load detailed data for specific permission when user clicks
545
+ * const grantFile = await retrieveGrantFile(grants[0].grantUrl);
546
+ * console.log(`Operation: ${grantFile.operation}`);
547
+ * console.log(`Parameters:`, grantFile.parameters);
548
+ * ```
549
+ */
550
+ getUserPermissionGrantsOnChain(options?: GetUserPermissionsOptions): Promise<OnChainPermissionGrant[]>;
551
+ /**
552
+ * Registers a new server and immediately trusts it in the DataPortabilityServers contract.
553
+ *
554
+ * This is a combined operation that both registers a new data portability server
555
+ * and adds it to the user's trusted servers list in a single transaction.
556
+ * Trusted servers can handle data export and portability requests from the user.
557
+ *
558
+ * @param params - Parameters for adding and trusting the server
559
+ * @param params.serverAddress - Ethereum address of the server
560
+ * @param params.serverUrl - HTTPS URL where the server can be reached
561
+ * @param params.publicKey - Server's public key for encryption (hex string)
562
+ * @returns Promise resolving to transaction hash
563
+ * @throws {UserRejectedRequestError} When user rejects the transaction
564
+ * @throws {BlockchainError} When chain ID is unavailable or transaction fails
565
+ * @throws {ServerAlreadyRegisteredError} When server address is already registered
566
+ * @throws {Error} When wallet account is not available
567
+ *
568
+ * @example
569
+ * ```typescript
570
+ * // Add and trust a server by providing all required details
571
+ * const txHash = await vana.permissions.addAndTrustServer({
572
+ * owner: '0x1234567890abcdef1234567890abcdef12345678',
573
+ * serverAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
574
+ * serverUrl: 'https://myserver.example.com',
575
+ * publicKey: '0x456789abcdef456789abcdef456789abcdef456789abcdef'
576
+ * });
577
+ * console.log('Server added and trusted in transaction:', txHash);
578
+ *
579
+ * // Verify the server is now trusted
580
+ * const trustedServers = await vana.permissions.getTrustedServers();
581
+ * console.log('Now trusting servers:', trustedServers);
582
+ * ```
583
+ */
584
+ addAndTrustServer(params: AddAndTrustServerParams): Promise<ServerTrustResult>;
585
+ /**
586
+ * Trusts a server for data processing (legacy method).
587
+ *
588
+ * @param params - Parameters for trusting the server
589
+ * @returns Promise resolving to transaction hash
590
+ * @deprecated Use addAndTrustServer instead
591
+ */
592
+ submitTrustServer(params: TrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "trustServer">>;
593
+ /**
594
+ * Adds and trusts a server using a signature (gasless transaction).
595
+ *
596
+ * @param params - Parameters for adding and trusting the server
597
+ * @returns Promise resolving to TransactionResult with ServerTrustResult event data
598
+ */
599
+ submitAddAndTrustServerWithSignature(params: AddAndTrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "addAndTrustServerWithSignature">>;
600
+ /**
601
+ * Trusts a server using a signature (gasless transaction - legacy method).
602
+ *
603
+ * @param params - Parameters for trusting the server
604
+ * @returns Promise resolving to transaction hash
605
+ * @deprecated Use addAndTrustServerWithSignature instead
606
+ * @throws {BlockchainError} When chain ID is not available
607
+ * @throws {NonceError} When retrieving user nonce fails
608
+ * @throws {SignatureError} When user rejects the signature request
609
+ * @throws {RelayerError} When gasless submission fails
610
+ * @throws {ServerUrlMismatchError} When server URL doesn't match existing registration
611
+ * @throws {BlockchainError} When trust operation fails for any other reason
612
+ */
613
+ submitTrustServerWithSignature(params: TrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "trustServerWithSignature">>;
614
+ /**
615
+ * Submits a direct untrust server transaction (without signature).
616
+ *
617
+ * @param params - The untrust server parameters containing server details
618
+ * @returns Promise resolving to the transaction hash
619
+ */
620
+ /**
621
+ * Submits an untrust server transaction directly to the blockchain.
622
+ *
623
+ * @remarks
624
+ * Internal method used for direct blockchain submission of untrust server operations
625
+ * when relayer callbacks are not available.
626
+ *
627
+ * @param params - The untrust server parameters
628
+ * @returns Promise resolving to TransactionResult for transaction tracking
629
+ * @throws {BlockchainError} When contract submission fails
630
+ */
631
+ private submitDirectUntrustTransaction;
632
+ /**
633
+ * Removes a server from the user's trusted servers list in the DataPortabilityServers contract.
634
+ *
635
+ * This revokes the server's authorization to handle data portability requests for the user.
636
+ * The server remains registered in the system but will no longer be trusted by this user.
637
+ *
638
+ * @param params - Parameters for untrusting the server
639
+ * @param params.serverId - The numeric ID of the server to untrust
640
+ * @returns Promise resolving to transaction hash
641
+ * @throws {Error} When wallet account is not available
642
+ * @throws {NonceError} When retrieving user nonce fails
643
+ * @throws {UserRejectedRequestError} When user rejects the transaction
644
+ * @throws {ServerNotTrustedError} When the server is not currently trusted
645
+ * @throws {BlockchainError} When untrust transaction fails
646
+ *
647
+ * @example
648
+ * ```typescript
649
+ * // Untrust a specific server
650
+ * const txHash = await vana.permissions.untrustServer({
651
+ * serverId: 1
652
+ * });
653
+ * console.log('Server untrusted in transaction:', txHash);
654
+ *
655
+ * // Verify the server is no longer trusted
656
+ * const trustedServers = await vana.permissions.getTrustedServers();
657
+ * console.log('Still trusting servers:', trustedServers);
658
+ * ```
659
+ */
660
+ submitUntrustServer(params: UntrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "untrustServer">>;
661
+ /**
662
+ * Untrusts a server using a signature (gasless transaction).
663
+ *
664
+ * @param params - Parameters for untrusting the server
665
+ * @param params.serverId - The server's Ethereum address to untrust
666
+ * @returns Promise resolving to transaction hash
667
+ * @throws {Error} When wallet account is not available
668
+ * @throws {NonceError} When retrieving user nonce fails
669
+ * @throws {SignatureError} When user rejects the signature request
670
+ * @throws {RelayerError} When gasless submission fails
671
+ * @throws {BlockchainError} When untrust transaction fails
672
+ */
673
+ submitUntrustServerWithSignature(params: UntrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "untrustServerWithSignature">>;
674
+ /**
675
+ * Retrieves all servers trusted by a user from the DataPortabilityServers contract.
676
+ *
677
+ * Returns an array of server IDs that the specified user has explicitly trusted.
678
+ * Trusted servers are those that users have authorized to handle their data portability requests.
679
+ *
680
+ * @param userAddress - Optional user address to query (defaults to current wallet user)
681
+ * @returns Promise resolving to array of trusted server IDs (numeric)
682
+ * @throws {BlockchainError} When reading from contract fails or chain is unavailable
683
+ * @throws {NetworkError} When unable to connect to the blockchain network
684
+ *
685
+ * @example
686
+ * ```typescript
687
+ * // Get trusted servers for current user
688
+ * const myServers = await vana.permissions.getTrustedServers();
689
+ * console.log(`I trust ${myServers.length} servers: ${myServers.join(', ')}`);
690
+ *
691
+ * // Get trusted servers for another user
692
+ * const userServers = await vana.permissions.getTrustedServers("0x1234...");
693
+ * console.log(`User trusts servers: ${userServers.join(', ')}`);
694
+ * ```
695
+ */
696
+ getTrustedServers(userAddress?: Address): Promise<number[]>;
697
+ /**
698
+ * Gets the total count of trusted servers for a user.
699
+ *
700
+ * @param userAddress - Optional user address (defaults to current user)
701
+ * @returns Promise resolving to the number of trusted servers
702
+ * @throws {BlockchainError} When reading from contract fails or chain is unavailable
703
+ */
704
+ getTrustedServersCount(userAddress?: Address): Promise<number>;
705
+ /**
706
+ * Gets trusted servers with pagination support.
707
+ *
708
+ * @param options - Query options including pagination parameters
709
+ * @returns Promise resolving to paginated trusted servers
710
+ * @throws {BlockchainError} When reading from contract fails or chain is unavailable
711
+ */
712
+ getTrustedServersPaginated(options?: TrustedServerQueryOptions): Promise<PaginatedTrustedServers>;
713
+ /**
714
+ * Gets trusted servers with their complete information.
715
+ *
716
+ * @param options - Query options
717
+ * @returns Promise resolving to array of trusted server info
718
+ * @throws {BlockchainError} When reading from contract fails or chain is unavailable
719
+ */
720
+ getTrustedServersWithInfo(options?: TrustedServerQueryOptions): Promise<TrustedServerInfo[]>;
721
+ /**
722
+ * Gets server information for multiple servers efficiently.
723
+ *
724
+ * @remarks
725
+ * This method uses multicall to fetch information for multiple servers in a single
726
+ * blockchain call, improving performance when querying many servers. Failed lookups
727
+ * are returned separately for error handling.
728
+ *
729
+ * @param serverIds - Array of numeric server IDs to query
730
+ * @returns Promise resolving to batch result containing successful lookups and failed IDs
731
+ * @throws {BlockchainError} When reading from contract fails or chain is unavailable
732
+ * @example
733
+ * ```typescript
734
+ * const result = await vana.permissions.getServerInfoBatch([1, 2, 3, 999]);
735
+ *
736
+ * // Process successful lookups
737
+ * result.servers.forEach((server, id) => {
738
+ * console.log(`Server ${id}: ${server.url}`);
739
+ * });
740
+ *
741
+ * // Handle failed lookups
742
+ * if (result.failed.length > 0) {
743
+ * console.log(`Failed to fetch: ${result.failed.join(', ')}`);
744
+ * }
745
+ * ```
746
+ */
747
+ getServerInfoBatch(serverIds: number[]): Promise<BatchServerInfoResult>;
748
+ /**
749
+ * Checks whether a specific server is trusted by a user.
750
+ *
751
+ * @remarks
752
+ * This method queries the user's trusted server list and checks if the specified
753
+ * server is present. Returns both the trust status and the index in the trust list
754
+ * if trusted.
755
+ *
756
+ * @param serverId - Numeric server ID to check
757
+ * @param userAddress - Optional user address (defaults to current user)
758
+ * @returns Promise resolving to server trust status with trust index if applicable
759
+ * @throws {BlockchainError} When reading from contract fails
760
+ * @example
761
+ * ```typescript
762
+ * const status = await vana.permissions.checkServerTrustStatus(1);
763
+ * if (status.isTrusted) {
764
+ * console.log(`Server is trusted at index ${status.trustIndex}`);
765
+ * } else {
766
+ * console.log('Server is not trusted');
767
+ * }
768
+ * ```
769
+ */
770
+ checkServerTrustStatus(serverId: number, userAddress?: Address): Promise<ServerTrustStatus>;
771
+ /**
772
+ * Composes EIP-712 typed data for AddAndTrustServer.
773
+ *
774
+ * @remarks
775
+ * Creates the complete typed data structure required for EIP-712 signature generation
776
+ * when adding and trusting a new server in a single transaction.
777
+ *
778
+ * @param input - The add and trust server input data containing server details
779
+ * @returns Promise resolving to the typed data structure for server add and trust
780
+ */
781
+ private composeAddAndTrustServerMessage;
782
+ /**
783
+ * Composes EIP-712 typed data for TrustServer.
784
+ *
785
+ * @param input - The trust server input data containing server details
786
+ * @returns Promise resolving to the typed data structure for server trust
787
+ */
788
+ private composeTrustServerMessage;
789
+ /**
790
+ * Composes EIP-712 typed data for UntrustServer.
791
+ *
792
+ * @param input - The untrust server input data containing server details
793
+ * @returns Promise resolving to the typed data structure for server untrust
794
+ */
795
+ private composeUntrustServerMessage;
796
+ /**
797
+ * Gets the EIP-712 domain for DataPortabilityServers signatures.
798
+ *
799
+ * @returns Promise resolving to the EIP-712 domain configuration
800
+ */
801
+ private getServersDomain;
802
+ /**
803
+ * Submits an add and trust server transaction directly to the blockchain.
804
+ *
805
+ * @param addAndTrustServerInput - The add and trust server input data containing server details
806
+ * @param signature - The cryptographic signature for the transaction
807
+ * @returns Promise resolving to the transaction hash
808
+ */
809
+ private submitAddAndTrustServerTransaction;
810
+ /**
811
+ * Submits a trust server transaction directly to the blockchain.
812
+ *
813
+ * @param trustServerInput - The trust server input data containing server details
814
+ * @param signature - The cryptographic signature for the transaction
815
+ * @returns Promise resolving to the transaction hash
816
+ */
817
+ private submitTrustServerTransaction;
818
+ /**
819
+ * Submits a revoke transaction directly to the blockchain with signature.
820
+ *
821
+ * @param typedData - The EIP-712 typed data structure for the revoke operation
822
+ * @param signature - The cryptographic signature authorizing the revoke
823
+ * @returns Promise resolving to the transaction hash
824
+ */
825
+ private submitDirectRevokeTransaction;
826
+ /**
827
+ * Submits an untrust server transaction with signature.
828
+ *
829
+ * @param typedData - The EIP-712 typed data structure for the untrust operation
830
+ * @param signature - The cryptographic signature authorizing the untrust
831
+ * @returns Promise resolving to the transaction hash
832
+ */
833
+ private submitSignedUntrustTransaction;
834
+ /**
835
+ * Registers a new grantee in the DataPortabilityGrantees contract.
836
+ *
837
+ * A grantee is an entity (like an application) that can receive data permissions
838
+ * from users. Once registered, users can grant the grantee access to their data.
839
+ *
840
+ * @param params - Parameters for registering the grantee
841
+ * @param params.owner - The Ethereum address that will own this grantee registration
842
+ * @param params.granteeAddress - The Ethereum address of the grantee (application)
843
+ * @param params.publicKey - The public key used for data encryption/decryption (hex string)
844
+ * @returns Promise resolving to the transaction hash
845
+ * @throws {BlockchainError} When the grantee registration transaction fails
846
+ * @throws {UserRejectedRequestError} When user rejects the transaction
847
+ * @throws {ContractError} When grantee is already registered
848
+ *
849
+ * @example
850
+ * ```typescript
851
+ * const txHash = await vana.permissions.registerGrantee({
852
+ * owner: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
853
+ * granteeAddress: "0xApp1234567890123456789012345678901234567890",
854
+ * publicKey: "0x1234567890abcdef..."
855
+ * });
856
+ * console.log(`Grantee registered in transaction: ${txHash}`);
857
+ * ```
858
+ */
859
+ submitRegisterGrantee(params: RegisterGranteeParams): Promise<TransactionResult<"DataPortabilityGrantees", "registerGrantee">>;
860
+ /**
861
+ * Registers a grantee with a signature (gasless transaction)
862
+ *
863
+ * @param params - Parameters for registering the grantee
864
+ * @returns Promise resolving to the transaction hash
865
+ *
866
+ * @example
867
+ * ```typescript
868
+ * const txHash = await vana.permissions.registerGranteeWithSignature({
869
+ * owner: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
870
+ * granteeAddress: "0xApp1234567890123456789012345678901234567890",
871
+ * publicKey: "0x1234567890abcdef..."
872
+ * });
873
+ * ```
874
+ */
875
+ submitRegisterGranteeWithSignature(params: RegisterGranteeParams): Promise<TransactionResult<"DataPortabilityGrantees", "registerGrantee">>;
876
+ /**
877
+ * Submits a signed register grantee transaction via relayer
878
+ *
879
+ * @param typedData - The EIP-712 typed data for register grantee
880
+ * @param signature - The cryptographic signature
881
+ * @returns Promise resolving to the transaction hash
882
+ *
883
+ * @example
884
+ * ```typescript
885
+ * const result = await vana.permissions.submitSignedRegisterGrantee(typedData, signature);
886
+ * ```
887
+ */
888
+ submitSignedRegisterGrantee(typedData: RegisterGranteeTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityGrantees", "registerGrantee">>;
889
+ /**
890
+ * Retrieves all registered grantees from the DataPortabilityGrantees contract.
891
+ *
892
+ * Returns a paginated list of all grantees (applications) that have been registered
893
+ * in the system and can receive data permissions from users.
894
+ *
895
+ * @param options - Query options for pagination and filtering
896
+ * @param options.limit - Maximum number of grantees to return (default: 50)
897
+ * @param options.offset - Number of grantees to skip for pagination (default: 0)
898
+ * @returns Promise resolving to paginated grantees with metadata
899
+ * @throws {BlockchainError} When contract read operation fails
900
+ * @throws {NetworkError} When unable to connect to the blockchain network
901
+ *
902
+ * @example
903
+ * ```typescript
904
+ * // Get first 10 grantees
905
+ * const result = await vana.permissions.getGrantees({
906
+ * limit: 10,
907
+ * offset: 0
908
+ * });
909
+ *
910
+ * console.log(`Found ${result.total} total grantees`);
911
+ * result.grantees.forEach(grantee => {
912
+ * console.log(`Grantee ${grantee.id}: ${grantee.granteeAddress}`);
913
+ * });
914
+ *
915
+ * // Check if there are more results
916
+ * if (result.hasMore) {
917
+ * console.log('More grantees available');
918
+ * }
919
+ * ```
920
+ */
921
+ getGrantees(options?: GranteeQueryOptions): Promise<PaginatedGrantees>;
922
+ /**
923
+ * Retrieves a specific grantee by their Ethereum address from the DataPortabilityGrantees contract.
924
+ *
925
+ * Looks up a registered grantee (application) using their Ethereum address
926
+ * and returns their complete registration information including permissions.
927
+ *
928
+ * @param granteeAddress - The Ethereum address of the grantee to look up
929
+ * @returns Promise resolving to the grantee information, or null if not found
930
+ * @throws {BlockchainError} When contract read operation fails
931
+ * @throws {NetworkError} When unable to connect to the blockchain network
932
+ *
933
+ * @example
934
+ * ```typescript
935
+ * const granteeAddress = "0xApp1234567890123456789012345678901234567890";
936
+ * const grantee = await vana.permissions.getGranteeByAddress(granteeAddress);
937
+ *
938
+ * if (grantee) {
939
+ * console.log(`Found grantee ${grantee.id}`);
940
+ * console.log(`Owner: ${grantee.owner}`);
941
+ * console.log(`Public Key: ${grantee.publicKey}`);
942
+ * console.log(`Permissions: ${grantee.permissionIds.join(', ')}`);
943
+ * } else {
944
+ * console.log('Grantee not found');
945
+ * }
946
+ * ```
947
+ */
948
+ getGranteeByAddress(granteeAddress: Address): Promise<Grantee | null>;
949
+ /**
950
+ * Retrieves a specific grantee by their unique ID from the DataPortabilityGrantees contract.
951
+ *
952
+ * Looks up a registered grantee (application) using their numeric ID assigned during
953
+ * registration and returns their complete information including permissions.
954
+ *
955
+ * @param granteeId - The unique numeric ID of the grantee (1-indexed)
956
+ * @returns Promise resolving to the grantee information, or null if not found
957
+ * @throws {BlockchainError} When contract read operation fails
958
+ * @throws {NetworkError} When unable to connect to the blockchain network
959
+ *
960
+ * @example
961
+ * ```typescript
962
+ * const grantee = await vana.permissions.getGranteeById(1);
963
+ *
964
+ * if (grantee) {
965
+ * console.log(`Grantee ID: ${grantee.id}`);
966
+ * console.log(`Address: ${grantee.granteeAddress}`);
967
+ * console.log(`Owner: ${grantee.owner}`);
968
+ * console.log(`Total permissions: ${grantee.permissionIds.length}`);
969
+ * } else {
970
+ * console.log('Grantee with ID 1 not found');
971
+ * }
972
+ * ```
973
+ */
974
+ getGranteeById(granteeId: number): Promise<Grantee | null>;
975
+ /**
976
+ * Builds EIP-712 typed data for grantee registration
977
+ *
978
+ * @param input - The register grantee input
979
+ * @returns Promise resolving to the typed data structure
980
+ * @private
981
+ */
982
+ private buildRegisterGranteeTypedData;
983
+ /**
984
+ * Submits a register grantee transaction with signature.
985
+ *
986
+ * @param typedData - The EIP-712 typed data structure for the registration
987
+ * @param _signature - The cryptographic signature authorizing the registration (currently unused)
988
+ * @returns Promise resolving to the transaction hash
989
+ * @private
990
+ */
991
+ private submitSignedRegisterGranteeTransaction;
992
+ /**
993
+ * Get all trusted server IDs for a user
994
+ *
995
+ * @param userAddress - User address to query (defaults to current user)
996
+ * @returns Promise resolving to array of server IDs
997
+ */
998
+ getUserServerIds(userAddress?: Address): Promise<bigint[]>;
999
+ /**
1000
+ * Get server ID at specific index for a user
1001
+ *
1002
+ * @param userAddress - User address to query
1003
+ * @param serverIndex - Index in the user's server list
1004
+ * @returns Promise resolving to server ID
1005
+ */
1006
+ getUserServerIdAt(userAddress: Address, serverIndex: bigint): Promise<bigint>;
1007
+ /**
1008
+ * Get the number of trusted servers for a user
1009
+ *
1010
+ * @param userAddress - User address to query (defaults to current user)
1011
+ * @returns Promise resolving to number of trusted servers
1012
+ */
1013
+ getUserServerCount(userAddress?: Address): Promise<bigint>;
1014
+ /**
1015
+ * Get detailed information about trusted servers for a user
1016
+ *
1017
+ * @param userAddress - User address to query (defaults to current user)
1018
+ * @returns Promise resolving to array of trusted server info
1019
+ */
1020
+ getUserTrustedServers(userAddress?: Address): Promise<TrustedServerInfo[]>;
1021
+ /**
1022
+ * Get trusted server info for a specific server ID and user
1023
+ *
1024
+ * @param userAddress - User address to query
1025
+ * @param serverId - Server ID to get info for
1026
+ * @returns Promise resolving to trusted server info
1027
+ */
1028
+ getUserTrustedServer(userAddress: Address, serverId: bigint): Promise<TrustedServerInfo>;
1029
+ /**
1030
+ * Get server information by server ID
1031
+ *
1032
+ * @param serverId - Server ID to get info for
1033
+ * @returns Promise resolving to server info
1034
+ */
1035
+ getServerInfo(serverId: bigint): Promise<ServerInfo>;
1036
+ /**
1037
+ * Get server information by server address
1038
+ *
1039
+ * @param serverAddress - Server address to get info for
1040
+ * @returns Promise resolving to server info
1041
+ */
1042
+ getServerInfoByAddress(serverAddress: Address): Promise<ServerInfo>;
1043
+ /**
1044
+ * Get all permission IDs for a user
1045
+ *
1046
+ * @param userAddress - User address to query (defaults to current user)
1047
+ * @returns Promise resolving to array of permission IDs
1048
+ */
1049
+ getUserPermissionIds(userAddress?: Address): Promise<bigint[]>;
1050
+ /**
1051
+ * Get permission ID at specific index for a user
1052
+ *
1053
+ * @param userAddress - User address to query
1054
+ * @param permissionIndex - Index in the user's permission list
1055
+ * @returns Promise resolving to permission ID
1056
+ */
1057
+ getUserPermissionIdAt(userAddress: Address, permissionIndex: bigint): Promise<bigint>;
1058
+ /**
1059
+ * Get the number of permissions for a user
1060
+ *
1061
+ * @param userAddress - User address to query (defaults to current user)
1062
+ * @returns Promise resolving to number of permissions
1063
+ */
1064
+ getUserPermissionCount(userAddress?: Address): Promise<bigint>;
1065
+ /**
1066
+ * Get detailed permission information by permission ID
1067
+ *
1068
+ * @param permissionId - Permission ID to get info for
1069
+ * @returns Promise resolving to permission info
1070
+ */
1071
+ getPermissionInfo(permissionId: bigint): Promise<PermissionInfo>;
1072
+ /**
1073
+ * Get all permission IDs for a specific file
1074
+ *
1075
+ * @param fileId - File ID to get permissions for
1076
+ * @returns Promise resolving to array of permission IDs
1077
+ */
1078
+ getFilePermissionIds(fileId: bigint): Promise<bigint[]>;
1079
+ /**
1080
+ * Get all file IDs for a specific permission
1081
+ *
1082
+ * @param permissionId - Permission ID to get files for
1083
+ * @returns Promise resolving to array of file IDs
1084
+ */
1085
+ getPermissionFileIds(permissionId: bigint): Promise<bigint[]>;
1086
+ /**
1087
+ * Get all permissions for a specific file (alias for getFilePermissionIds)
1088
+ *
1089
+ * @param fileId - File ID to get permissions for
1090
+ * @returns Promise resolving to array of permission IDs
1091
+ */
1092
+ getFilePermissions(fileId: bigint): Promise<bigint[]>;
1093
+ /**
1094
+ * Get grantee information by grantee ID
1095
+ *
1096
+ * @param granteeId - Grantee ID to get info for
1097
+ * @returns Promise resolving to grantee info
1098
+ */
1099
+ getGranteeInfo(granteeId: bigint): Promise<GranteeInfo>;
1100
+ /**
1101
+ * Get grantee information by grantee address
1102
+ *
1103
+ * @param granteeAddress - Grantee address to get info for
1104
+ * @returns Promise resolving to grantee info
1105
+ */
1106
+ getGranteeInfoByAddress(granteeAddress: Address): Promise<GranteeInfo>;
1107
+ /**
1108
+ * Get all permission IDs for a specific grantee
1109
+ *
1110
+ * @param granteeId - Grantee ID to get permissions for
1111
+ * @returns Promise resolving to array of permission IDs
1112
+ */
1113
+ getGranteePermissionIds(granteeId: bigint): Promise<bigint[]>;
1114
+ /**
1115
+ * Get all permissions for a specific grantee (alias for getGranteePermissionIds)
1116
+ *
1117
+ * @param granteeId - Grantee ID to get permissions for
1118
+ * @returns Promise resolving to array of permission IDs
1119
+ */
1120
+ getGranteePermissions(granteeId: bigint): Promise<bigint[]>;
1121
+ /**
1122
+ * Get all server IDs for a user
1123
+ *
1124
+ * @param userAddress - User address to get server IDs for
1125
+ * @returns Promise resolving to array of server IDs
1126
+ */
1127
+ getUserServerIdsValues(userAddress: Address): Promise<bigint[]>;
1128
+ /**
1129
+ * Get server ID at specific index for a user
1130
+ *
1131
+ * @param userAddress - User address
1132
+ * @param serverIndex - Index of the server ID
1133
+ * @returns Promise resolving to server ID
1134
+ */
1135
+ getUserServerIdsAt(userAddress: Address, serverIndex: bigint): Promise<bigint>;
1136
+ /**
1137
+ * Get the number of servers a user has
1138
+ *
1139
+ * @param userAddress - User address
1140
+ * @returns Promise resolving to number of servers
1141
+ */
1142
+ getUserServerIdsLength(userAddress: Address): Promise<bigint>;
1143
+ /**
1144
+ * Get trusted server info for a specific user and server ID
1145
+ *
1146
+ * @param userAddress - User address
1147
+ * @param serverId - Server ID
1148
+ * @returns Promise resolving to trusted server info
1149
+ */
1150
+ getUserServers(userAddress: Address, serverId: bigint): Promise<TrustedServerInfo>;
1151
+ /**
1152
+ * Get server info by server ID
1153
+ *
1154
+ * @param serverId - Server ID
1155
+ * @returns Promise resolving to server info
1156
+ */
1157
+ getServers(serverId: bigint): Promise<ServerInfo>;
1158
+ /**
1159
+ * Get user info including nonce and trusted server IDs
1160
+ *
1161
+ * @param userAddress - User address
1162
+ * @returns Promise resolving to user info
1163
+ */
1164
+ getUsers(userAddress: Address): Promise<{
1165
+ nonce: bigint;
1166
+ trustedServerIds: bigint[];
1167
+ }>;
1168
+ /**
1169
+ * Update server URL
1170
+ *
1171
+ * @param serverId - Server ID to update
1172
+ * @param url - New URL for the server
1173
+ * @returns Promise resolving to transaction hash
1174
+ */
1175
+ submitUpdateServer(serverId: bigint, url: string): Promise<TransactionResult<"DataPortabilityServers", "updateServer">>;
1176
+ /**
1177
+ * Get all permission IDs for a user
1178
+ *
1179
+ * @param userAddress - User address to get permission IDs for
1180
+ * @returns Promise resolving to array of permission IDs
1181
+ */
1182
+ getUserPermissionIdsValues(userAddress: Address): Promise<bigint[]>;
1183
+ /**
1184
+ * Get permission ID at specific index for a user
1185
+ *
1186
+ * @param userAddress - User address
1187
+ * @param permissionIndex - Index of the permission ID
1188
+ * @returns Promise resolving to permission ID
1189
+ */
1190
+ getUserPermissionIdsAt(userAddress: Address, permissionIndex: bigint): Promise<bigint>;
1191
+ /**
1192
+ * Get the number of permissions a user has
1193
+ *
1194
+ * @param userAddress - User address
1195
+ * @returns Promise resolving to number of permissions
1196
+ */
1197
+ getUserPermissionIdsLength(userAddress: Address): Promise<bigint>;
1198
+ /**
1199
+ * Get permission info by permission ID
1200
+ *
1201
+ * @param permissionId - Permission ID
1202
+ * @returns Promise resolving to permission info
1203
+ */
1204
+ getPermissions(permissionId: bigint): Promise<PermissionInfo>;
1205
+ /**
1206
+ * Submit permission with signature to the blockchain (supports gasless transactions)
1207
+ *
1208
+ * @param params - Parameters for adding permission
1209
+ * @returns Promise resolving to transaction hash
1210
+ * @throws {RelayerError} When gasless transaction submission fails
1211
+ * @throws {SignatureError} When user rejects the signature request
1212
+ * @throws {BlockchainError} When permission addition fails
1213
+ * @throws {NetworkError} When network communication fails
1214
+ */
1215
+ submitAddPermission(params: ServerFilesAndPermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
1216
+ /**
1217
+ * Submits an already-signed add permission transaction to the blockchain.
1218
+ * This method supports both relayer-based gasless transactions and direct transactions.
1219
+ *
1220
+ * @param typedData - The EIP-712 typed data for AddPermission
1221
+ * @param signature - The user's signature
1222
+ * @returns Promise resolving to TransactionResult with PermissionGrantResult event data
1223
+ * @throws {RelayerError} When gasless transaction submission fails
1224
+ * @throws {BlockchainError} When permission addition fails
1225
+ * @throws {NetworkError} When network communication fails
1226
+ */
1227
+ submitSignedAddPermission(typedData: GenericTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
1228
+ /**
1229
+ * Submits server files and permissions with signature to the blockchain, supporting schema validation and gasless transactions.
1230
+ *
1231
+ * @remarks
1232
+ * This method validates files against their specified schemas before submission.
1233
+ * Schema validation ensures data conforms to expected formats before on-chain registration.
1234
+ * Files with schemaId = 0 bypass validation. The method supports atomic batch operations
1235
+ * where all files and permissions are registered in a single transaction.
1236
+ *
1237
+ * @param params - Parameters for adding server files and permissions
1238
+ * @param params.granteeId - The ID of the permission grantee
1239
+ * @param params.grant - Grant URL containing permission parameters (typically IPFS)
1240
+ * @param params.fileUrls - Array of file URLs to register
1241
+ * @param params.schemaIds - Schema IDs for each file. Use 0 for files without schema validation.
1242
+ * Array length must match fileUrls length.
1243
+ * @param params.serverAddress - Server wallet address for decryption permissions
1244
+ * @param params.serverUrl - Server endpoint URL
1245
+ * @param params.serverPublicKey - Server's public key for encryption.
1246
+ * Obtain via `vana.server.getIdentity(userAddress).publicKey`.
1247
+ * @param params.filePermissions - Nested array of permissions for each file
1248
+ * @returns TransactionResult with immediate hash access and optional event data
1249
+ * @throws {Error} When schemaIds array length doesn't match fileUrls array length
1250
+ * @throws {SchemaValidationError} When file data doesn't match the specified schema.
1251
+ * Verify data structure matches schema definition from `vana.schemas.get(schemaId)`.
1252
+ * @throws {RelayerError} When gasless transaction submission fails.
1253
+ * Retry without relayer configuration to submit direct transaction.
1254
+ * @throws {SignatureError} When user rejects the signature request
1255
+ * @throws {BlockchainError} When server files and permissions addition fails
1256
+ * @throws {NetworkError} When network communication fails.
1257
+ * Check network connection or configure alternative gateways.
1258
+ *
1259
+ * @example
1260
+ * ```typescript
1261
+ * const result = await vana.permissions.submitAddServerFilesAndPermissions({
1262
+ * granteeId: BigInt(1),
1263
+ * grant: "ipfs://QmXxx...",
1264
+ * fileUrls: ["https://storage.example.com/data.json"],
1265
+ * schemaIds: [123], // LinkedIn profile schema ID
1266
+ * serverAddress: "0x742d35Cc6634C0532925a3b844Bc9e7595f0b0Bb",
1267
+ * serverUrl: "https://server.example.com",
1268
+ * serverPublicKey: serverInfo.publicKey,
1269
+ * filePermissions: [[{
1270
+ * account: "0x742d35Cc6634C0532925a3b844Bc9e7595f0b0Bb",
1271
+ * key: encryptedKey
1272
+ * }]]
1273
+ * });
1274
+ * const events = await result.waitForEvents();
1275
+ * console.log(`Permission ID: ${events.permissionId}`);
1276
+ * ```
1277
+ */
1278
+ submitAddServerFilesAndPermissions(params: ServerFilesAndPermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "addServerFilesAndPermissions">>;
1279
+ /**
1280
+ * Submits an already-signed add server files and permissions transaction to the blockchain.
1281
+ *
1282
+ * @remarks
1283
+ * This method returns a TransactionResult that provides immediate access to the transaction hash.
1284
+ * The eventData field may contain parsed event details after transaction confirmation.
1285
+ *
1286
+ * @param typedData - The EIP-712 typed data for AddServerFilesAndPermissions
1287
+ * @param signature - The user's signature
1288
+ * @returns TransactionResult with immediate hash access and optional event data
1289
+ * @throws {RelayerError} When gasless transaction submission fails
1290
+ * @throws {BlockchainError} When server files and permissions addition fails
1291
+ * @throws {NetworkError} When network communication fails
1292
+ *
1293
+ * @example
1294
+ * ```typescript
1295
+ * const tx = await vana.permissions.submitSignedAddServerFilesAndPermissions(
1296
+ * typedData,
1297
+ * signature
1298
+ * );
1299
+ * console.log(`Transaction submitted: ${tx.hash}`);
1300
+ *
1301
+ * // Wait for confirmation and get the permission ID
1302
+ * const { permissionId } = await tx.waitForEvents();
1303
+ * console.log(`Permission created with ID: ${permissionId}`);
1304
+ * ```
1305
+ */
1306
+ submitSignedAddServerFilesAndPermissions(typedData: ServerFilesAndPermissionTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "addServerFilesAndPermissions">>;
1307
+ /**
1308
+ * Submit permission revocation with signature to the blockchain
1309
+ *
1310
+ * @param permissionId - Permission ID to revoke
1311
+ * @returns Promise resolving to transaction hash
1312
+ */
1313
+ submitRevokePermission(permissionId: bigint): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermission">>;
1314
+ /**
1315
+ * Submits a signed add permission transaction directly to the blockchain.
1316
+ *
1317
+ * @param typedData - The typed data structure for the permission addition
1318
+ * @param signature - The cryptographic signature authorizing the transaction
1319
+ * @returns Promise resolving to the transaction hash
1320
+ */
1321
+ private submitDirectAddPermissionTransaction;
1322
+ /**
1323
+ * Submits a signed add server files and permissions transaction directly to the blockchain.
1324
+ *
1325
+ * @param typedData - The typed data structure for the server files and permissions addition
1326
+ * @param signature - The cryptographic signature authorizing the transaction
1327
+ * @returns Promise resolving to the transaction hash
1328
+ */
1329
+ private submitDirectAddServerFilesAndPermissionsTransaction;
1330
+ }