@opendatalabs/vana-sdk 0.1.0-alpha.470c7fa → 0.1.0-alpha.47bbd13

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