@opendatalabs/vana-sdk 0.1.0-alpha.d7fc764 → 0.1.0-alpha.dba79a3

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 (778) hide show
  1. package/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
  2. package/dist/browser.cjs.map +1 -1
  3. package/dist/browser.d.ts +36 -2
  4. package/dist/browser.js.map +1 -1
  5. package/dist/chains/definitions.cjs +9 -6
  6. package/dist/chains/definitions.cjs.map +1 -1
  7. package/dist/chains/definitions.d.ts +9 -11
  8. package/dist/chains/definitions.js +9 -6
  9. package/dist/chains/definitions.js.map +1 -1
  10. package/dist/chains/index.cjs.map +1 -1
  11. package/dist/chains/index.d.ts +34 -2
  12. package/dist/chains/index.js.map +1 -1
  13. package/dist/chains.browser.d.ts +8 -2
  14. package/dist/chains.d.ts +8 -2
  15. package/dist/chains.node.d.ts +8 -2
  16. package/dist/config/addresses.d.ts +8 -24
  17. package/dist/config/chains.cjs.map +1 -1
  18. package/dist/config/chains.d.ts +108 -13
  19. package/dist/config/chains.js.map +1 -1
  20. package/dist/config/default-services.cjs +60 -0
  21. package/dist/config/default-services.cjs.map +1 -0
  22. package/dist/config/default-services.d.ts +46 -0
  23. package/dist/config/default-services.js +33 -0
  24. package/dist/config/default-services.js.map +1 -0
  25. package/dist/config/default-services.test.d.ts +1 -0
  26. package/dist/config/features.d.ts +1 -3
  27. package/dist/config/tests/addresses.test.d.ts +1 -0
  28. package/dist/contracts/contractController.cjs +3 -3
  29. package/dist/contracts/contractController.cjs.map +1 -1
  30. package/dist/contracts/contractController.d.ts +77 -38
  31. package/dist/contracts/contractController.js +4 -7
  32. package/dist/contracts/contractController.js.map +1 -1
  33. package/dist/contracts/tests/contractController.test.d.ts +1 -0
  34. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +7 -0
  35. package/dist/controllers/__tests__/operations.processQueue.test.d.ts +1 -0
  36. package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
  37. package/dist/controllers/base.cjs +116 -0
  38. package/dist/controllers/base.cjs.map +1 -0
  39. package/dist/controllers/base.d.ts +94 -0
  40. package/dist/controllers/base.js +92 -0
  41. package/dist/controllers/base.js.map +1 -0
  42. package/dist/controllers/data-error-handling.test.d.ts +1 -0
  43. package/dist/controllers/data.cjs +827 -439
  44. package/dist/controllers/data.cjs.map +1 -1
  45. package/dist/controllers/data.d.ts +373 -254
  46. package/dist/controllers/data.js +840 -442
  47. package/dist/controllers/data.js.map +1 -1
  48. package/dist/controllers/operations.cjs +430 -0
  49. package/dist/controllers/operations.cjs.map +1 -0
  50. package/dist/controllers/operations.d.ts +229 -0
  51. package/dist/controllers/operations.js +406 -0
  52. package/dist/controllers/operations.js.map +1 -0
  53. package/dist/controllers/permissions.cjs +929 -483
  54. package/dist/controllers/permissions.cjs.map +1 -1
  55. package/dist/controllers/permissions.d.ts +1318 -25
  56. package/dist/controllers/permissions.js +929 -483
  57. package/dist/controllers/permissions.js.map +1 -1
  58. package/dist/controllers/protocol.cjs +15 -11
  59. package/dist/controllers/protocol.cjs.map +1 -1
  60. package/dist/controllers/protocol.d.ts +34 -63
  61. package/dist/controllers/protocol.js +15 -14
  62. package/dist/controllers/protocol.js.map +1 -1
  63. package/dist/controllers/schemas.cjs +100 -75
  64. package/dist/controllers/schemas.cjs.map +1 -1
  65. package/dist/controllers/schemas.d.ts +56 -74
  66. package/dist/controllers/schemas.js +100 -75
  67. package/dist/controllers/schemas.js.map +1 -1
  68. package/dist/controllers/server-additional.test.d.ts +1 -0
  69. package/dist/controllers/server.cjs +32 -25
  70. package/dist/controllers/server.cjs.map +1 -1
  71. package/dist/controllers/server.d.ts +53 -71
  72. package/dist/controllers/server.js +32 -25
  73. package/dist/controllers/server.js.map +1 -1
  74. package/dist/core/__tests__/health.test.d.ts +1 -0
  75. package/dist/core/__tests__/inMemoryNonceManager.test.d.ts +1 -0
  76. package/dist/core/__tests__/nonceManager.test.d.ts +1 -0
  77. package/dist/core/__tests__/pollingManager.test.d.ts +4 -0
  78. package/dist/core/apiClient.cjs +68 -15
  79. package/dist/core/apiClient.cjs.map +1 -1
  80. package/dist/core/apiClient.d.ts +137 -16
  81. package/dist/core/apiClient.js +72 -22
  82. package/dist/core/apiClient.js.map +1 -1
  83. package/dist/core/client.cjs +7 -7
  84. package/dist/core/client.cjs.map +1 -1
  85. package/dist/core/client.d.ts +6 -9
  86. package/dist/core/client.js +7 -7
  87. package/dist/core/client.js.map +1 -1
  88. package/dist/core/core.test.d.ts +1 -0
  89. package/dist/core/generics.cjs +41 -12
  90. package/dist/core/generics.cjs.map +1 -1
  91. package/dist/core/generics.d.ts +104 -19
  92. package/dist/core/generics.js +52 -32
  93. package/dist/core/generics.js.map +1 -1
  94. package/dist/core/health.cjs +289 -0
  95. package/dist/core/health.cjs.map +1 -0
  96. package/dist/core/health.d.ts +143 -0
  97. package/dist/core/health.js +265 -0
  98. package/dist/core/health.js.map +1 -0
  99. package/dist/core/inMemoryNonceManager.cjs +138 -0
  100. package/dist/core/inMemoryNonceManager.cjs.map +1 -0
  101. package/dist/core/inMemoryNonceManager.d.ts +69 -0
  102. package/dist/core/inMemoryNonceManager.js +114 -0
  103. package/dist/core/inMemoryNonceManager.js.map +1 -0
  104. package/dist/core/nonceManager.cjs +304 -0
  105. package/dist/core/nonceManager.cjs.map +1 -0
  106. package/dist/core/nonceManager.d.ts +116 -0
  107. package/dist/core/nonceManager.js +280 -0
  108. package/dist/core/nonceManager.js.map +1 -0
  109. package/dist/core/pollingManager.cjs +292 -0
  110. package/dist/core/pollingManager.cjs.map +1 -0
  111. package/dist/core/pollingManager.d.ts +120 -0
  112. package/dist/core/pollingManager.js +268 -0
  113. package/dist/core/pollingManager.js.map +1 -0
  114. package/dist/core/tests/apiClient.test.d.ts +1 -0
  115. package/dist/core/tests/client.test.d.ts +1 -0
  116. package/dist/core/tests/generics.test.d.ts +1 -0
  117. package/dist/core.cjs +152 -61
  118. package/dist/core.cjs.map +1 -1
  119. package/dist/core.d.ts +50 -67
  120. package/dist/core.js +164 -86
  121. package/dist/core.js.map +1 -1
  122. package/dist/crypto/ecies/__tests__/base.test.d.ts +4 -0
  123. package/dist/crypto/ecies/__tests__/compatibility.test.d.ts +8 -0
  124. package/dist/crypto/ecies/__tests__/constants.test.d.ts +4 -0
  125. package/dist/crypto/ecies/__tests__/native-parity.test.d.ts +7 -0
  126. package/dist/crypto/ecies/__tests__/normalization.test.d.ts +1 -0
  127. package/dist/crypto/ecies/__tests__/test-vectors.d.ts +2 -4
  128. package/dist/crypto/ecies/base.cjs +20 -6
  129. package/dist/crypto/ecies/base.cjs.map +1 -1
  130. package/dist/crypto/ecies/base.d.ts +2 -5
  131. package/dist/crypto/ecies/base.js +28 -18
  132. package/dist/crypto/ecies/base.js.map +1 -1
  133. package/dist/crypto/ecies/browser.cjs +2 -1
  134. package/dist/crypto/ecies/browser.cjs.map +1 -1
  135. package/dist/crypto/ecies/browser.d.ts +2 -7
  136. package/dist/crypto/ecies/browser.js +2 -1
  137. package/dist/crypto/ecies/browser.js.map +1 -1
  138. package/dist/crypto/ecies/constants.d.ts +7 -9
  139. package/dist/crypto/ecies/index.d.ts +8 -1
  140. package/dist/crypto/ecies/interface.cjs +4 -5
  141. package/dist/crypto/ecies/interface.cjs.map +1 -1
  142. package/dist/crypto/ecies/interface.d.ts +9 -11
  143. package/dist/crypto/ecies/interface.js +4 -5
  144. package/dist/crypto/ecies/interface.js.map +1 -1
  145. package/dist/crypto/ecies/node.cjs +3 -2
  146. package/dist/crypto/ecies/node.cjs.map +1 -1
  147. package/dist/crypto/ecies/node.d.ts +2 -7
  148. package/dist/crypto/ecies/node.js +11 -16
  149. package/dist/crypto/ecies/node.js.map +1 -1
  150. package/dist/crypto/ecies/test-vectors/eccrypto-vectors.json +72 -0
  151. package/dist/crypto/ecies/utils.cjs +2 -41
  152. package/dist/crypto/ecies/utils.cjs.map +1 -1
  153. package/dist/crypto/ecies/utils.d.ts +3 -40
  154. package/dist/crypto/ecies/utils.js +1 -35
  155. package/dist/crypto/ecies/utils.js.map +1 -1
  156. package/dist/crypto/services/WalletKeyEncryptionService.cjs +2 -2
  157. package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -1
  158. package/dist/crypto/services/WalletKeyEncryptionService.d.ts +3 -7
  159. package/dist/crypto/services/WalletKeyEncryptionService.js +5 -9
  160. package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -1
  161. package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
  162. package/dist/diagnostics.d.ts +1 -3
  163. package/dist/diagnostics.test.d.ts +1 -0
  164. package/dist/errors.cjs +45 -0
  165. package/dist/errors.cjs.map +1 -1
  166. package/dist/errors.d.ts +117 -15
  167. package/dist/errors.js +46 -6
  168. package/dist/errors.js.map +1 -1
  169. package/dist/generated/abi/ComputeEngineImplementation.d.ts +2 -3
  170. package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +2 -3
  171. package/dist/generated/abi/DATFactoryImplementation.d.ts +2 -3
  172. package/dist/generated/abi/DATImplementation.d.ts +2 -3
  173. package/dist/generated/abi/DATPausableImplementation.d.ts +2 -3
  174. package/dist/generated/abi/DATVotesImplementation.d.ts +2 -3
  175. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +2 -3
  176. package/dist/generated/abi/DLPRegistryImplementation.d.ts +2 -3
  177. package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +2 -3
  178. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +2 -3
  179. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +2 -3
  180. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +2 -3
  181. package/dist/generated/abi/DLPRootImplementation.d.ts +1 -3
  182. package/dist/generated/abi/DLPTreasuryImplementation.d.ts +2 -3
  183. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +1 -3
  184. package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +2 -3
  185. package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +2 -3
  186. package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +2 -3
  187. package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +2 -3
  188. package/dist/generated/abi/DataRegistryImplementation.cjs +13 -0
  189. package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -1
  190. package/dist/generated/abi/DataRegistryImplementation.d.ts +12 -3
  191. package/dist/generated/abi/DataRegistryImplementation.js +13 -0
  192. package/dist/generated/abi/DataRegistryImplementation.js.map +1 -1
  193. package/dist/generated/abi/QueryEngineImplementation.d.ts +2 -3
  194. package/dist/generated/abi/SwapHelperImplementation.d.ts +2 -3
  195. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +2 -3
  196. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +2 -3
  197. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +2 -3
  198. package/dist/generated/abi/TeePoolImplementation.d.ts +2 -3
  199. package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +2 -3
  200. package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +2 -3
  201. package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +2 -3
  202. package/dist/generated/abi/VanaEpochImplementation.d.ts +2 -3
  203. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +2 -3
  204. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +2 -3
  205. package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +2 -3
  206. package/dist/generated/abi/index.cjs +42 -0
  207. package/dist/generated/abi/index.cjs.map +1 -1
  208. package/dist/generated/abi/index.d.ts +47 -18
  209. package/dist/generated/abi/index.js +21 -0
  210. package/dist/generated/abi/index.js.map +1 -1
  211. package/dist/generated/event-types.cjs +17 -0
  212. package/dist/generated/event-types.cjs.map +1 -0
  213. package/dist/generated/event-types.d.ts +854 -0
  214. package/dist/generated/event-types.js +1 -0
  215. package/dist/generated/event-types.js.map +1 -0
  216. package/dist/generated/eventRegistry.cjs +3351 -0
  217. package/dist/generated/eventRegistry.cjs.map +1 -0
  218. package/dist/generated/eventRegistry.d.ts +14 -0
  219. package/dist/generated/eventRegistry.js +3326 -0
  220. package/dist/generated/eventRegistry.js.map +1 -0
  221. package/dist/generated/server/server-exports.d.ts +19 -21
  222. package/dist/generated/server/server.cjs.map +1 -1
  223. package/dist/generated/server/server.d.ts +113 -87
  224. package/dist/generated/subgraph.cjs +797 -32
  225. package/dist/generated/subgraph.cjs.map +1 -1
  226. package/dist/generated/subgraph.d.ts +464 -332
  227. package/dist/generated/subgraph.js +792 -32
  228. package/dist/generated/subgraph.js.map +1 -1
  229. package/dist/index.browser.d.ts +49 -73
  230. package/dist/index.browser.js +14 -0
  231. package/dist/index.browser.js.map +1 -1
  232. package/dist/index.cjs +3 -1
  233. package/dist/index.cjs.map +1 -1
  234. package/dist/index.d.ts +0 -2
  235. package/dist/index.js +3 -1
  236. package/dist/index.js.map +1 -1
  237. package/dist/index.node.cjs +31 -3
  238. package/dist/index.node.cjs.map +1 -1
  239. package/dist/index.node.d.ts +223 -64
  240. package/dist/index.node.js +28 -2
  241. package/dist/index.node.js.map +1 -1
  242. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +1 -0
  243. package/dist/lib/redisAtomicStore.cjs +201 -0
  244. package/dist/lib/redisAtomicStore.cjs.map +1 -0
  245. package/dist/lib/redisAtomicStore.d.ts +120 -0
  246. package/dist/lib/redisAtomicStore.js +177 -0
  247. package/dist/lib/redisAtomicStore.js.map +1 -0
  248. package/dist/node.cjs.map +1 -1
  249. package/dist/node.d.ts +42 -2
  250. package/dist/node.js.map +1 -1
  251. package/dist/platform/browser-only.d.ts +5 -8
  252. package/dist/platform/browser-only.test.d.ts +1 -0
  253. package/dist/platform/browser-safe.d.ts +6 -9
  254. package/dist/platform/browser-safe.test.d.ts +1 -0
  255. package/dist/platform/browser.cjs +167 -8
  256. package/dist/platform/browser.cjs.map +1 -1
  257. package/dist/platform/browser.d.ts +235 -18
  258. package/dist/platform/browser.js +179 -29
  259. package/dist/platform/browser.js.map +1 -1
  260. package/dist/platform/browser.test.d.ts +1 -0
  261. package/dist/platform/index.d.ts +11 -5
  262. package/dist/platform/interface.cjs.map +1 -1
  263. package/dist/platform/interface.d.ts +289 -98
  264. package/dist/platform/node.cjs +163 -2
  265. package/dist/platform/node.cjs.map +1 -1
  266. package/dist/platform/node.d.ts +72 -13
  267. package/dist/platform/node.js +175 -21
  268. package/dist/platform/node.js.map +1 -1
  269. package/dist/platform/ports/openpgp-port.cjs +74 -0
  270. package/dist/platform/ports/openpgp-port.cjs.map +1 -0
  271. package/dist/platform/ports/openpgp-port.d.ts +13 -0
  272. package/dist/platform/ports/openpgp-port.js +59 -0
  273. package/dist/platform/ports/openpgp-port.js.map +1 -0
  274. package/dist/platform/ports/pgp-port.cjs +17 -0
  275. package/dist/platform/ports/pgp-port.cjs.map +1 -0
  276. package/dist/platform/ports/pgp-port.d.ts +35 -0
  277. package/dist/platform/ports/pgp-port.js +1 -0
  278. package/dist/platform/ports/pgp-port.js.map +1 -0
  279. package/dist/platform/shared/error-utils.d.ts +2 -4
  280. package/dist/platform/shared/pgp-utils.cjs +2 -2
  281. package/dist/platform/shared/pgp-utils.cjs.map +1 -1
  282. package/dist/platform/shared/pgp-utils.d.ts +3 -5
  283. package/dist/platform/shared/pgp-utils.js +2 -2
  284. package/dist/platform/shared/pgp-utils.js.map +1 -1
  285. package/dist/platform/shared/stream-utils.d.ts +1 -3
  286. package/dist/platform/utils.d.ts +6 -10
  287. package/dist/platform/utils.test.d.ts +1 -0
  288. package/dist/platform.browser.d.ts +9 -4
  289. package/dist/platform.d.ts +11 -5
  290. package/dist/platform.node.d.ts +10 -5
  291. package/dist/schemas/dataSchema.schema.json +53 -0
  292. package/dist/schemas/grantFile.schema.json +43 -0
  293. package/dist/server/relayerHandler.cjs +420 -0
  294. package/dist/server/relayerHandler.cjs.map +1 -0
  295. package/dist/server/relayerHandler.d.ts +69 -0
  296. package/dist/server/relayerHandler.js +396 -0
  297. package/dist/server/relayerHandler.js.map +1 -0
  298. package/dist/storage/index.d.ts +56 -10
  299. package/dist/storage/manager.cjs +114 -31
  300. package/dist/storage/manager.cjs.map +1 -1
  301. package/dist/storage/manager.d.ts +121 -30
  302. package/dist/storage/manager.js +113 -37
  303. package/dist/storage/manager.js.map +1 -1
  304. package/dist/storage/providers/callback-storage.cjs +89 -18
  305. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  306. package/dist/storage/providers/callback-storage.d.ts +111 -28
  307. package/dist/storage/providers/callback-storage.js +89 -18
  308. package/dist/storage/providers/callback-storage.js.map +1 -1
  309. package/dist/storage/providers/google-drive.cjs +2 -2
  310. package/dist/storage/providers/google-drive.cjs.map +1 -1
  311. package/dist/storage/providers/google-drive.d.ts +3 -7
  312. package/dist/storage/providers/google-drive.js +4 -7
  313. package/dist/storage/providers/google-drive.js.map +1 -1
  314. package/dist/storage/providers/google-drive.test.d.ts +1 -0
  315. package/dist/storage/providers/ipfs.cjs +5 -5
  316. package/dist/storage/providers/ipfs.cjs.map +1 -1
  317. package/dist/storage/providers/ipfs.d.ts +3 -6
  318. package/dist/storage/providers/ipfs.js +7 -10
  319. package/dist/storage/providers/ipfs.js.map +1 -1
  320. package/dist/storage/providers/pinata.cjs +6 -6
  321. package/dist/storage/providers/pinata.cjs.map +1 -1
  322. package/dist/storage/providers/pinata.d.ts +17 -22
  323. package/dist/storage/providers/pinata.js +8 -11
  324. package/dist/storage/providers/pinata.js.map +1 -1
  325. package/dist/storage/tests/callbackStorage.test.d.ts +1 -0
  326. package/dist/storage/tests/googleDriveStorage.test.d.ts +1 -0
  327. package/dist/storage/tests/ipfsStorage.test.d.ts +1 -0
  328. package/dist/storage/tests/pinataStorage.test.d.ts +1 -0
  329. package/dist/storage/tests/storageManager.test.d.ts +1 -0
  330. package/dist/tests/abi.test.d.ts +1 -0
  331. package/dist/tests/chains-definitions.test.d.ts +1 -0
  332. package/dist/tests/core-encryption.test.d.ts +1 -0
  333. package/dist/tests/core-extended.test.d.ts +1 -0
  334. package/dist/tests/core-generics-coverage.test.d.ts +1 -0
  335. package/dist/tests/coverage-boost.test.d.ts +1 -0
  336. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +1 -0
  337. package/dist/tests/data-addfile-permissions-schema.test.d.ts +1 -0
  338. package/dist/tests/data-additional-methods.test.d.ts +1 -0
  339. package/dist/tests/data-controller-edge-cases.test.d.ts +1 -0
  340. package/dist/tests/data-ipfs-gateways.test.d.ts +1 -0
  341. package/dist/tests/data-relayer.test.d.ts +1 -0
  342. package/dist/tests/data-schema-validation.test.d.ts +1 -0
  343. package/dist/tests/data-simple-methods.test.d.ts +1 -0
  344. package/dist/tests/data.test.d.ts +1 -0
  345. package/dist/tests/demo-integration.test.d.ts +1 -0
  346. package/dist/tests/demo-trusted-server-integration.test.d.ts +1 -0
  347. package/dist/tests/download-relayer.test.d.ts +1 -0
  348. package/dist/tests/dual-mode-permissions.test.d.ts +1 -0
  349. package/dist/tests/dual-mode-trusted-servers.test.d.ts +1 -0
  350. package/dist/tests/encryption-correct-implementation.test.d.ts +1 -0
  351. package/dist/tests/encryption-coverage.test.d.ts +1 -0
  352. package/dist/tests/encryption-edge-cases.test.d.ts +1 -0
  353. package/dist/tests/encryption-utils-updated.test.d.ts +1 -0
  354. package/dist/tests/errors-coverage.test.d.ts +1 -0
  355. package/dist/tests/errors.test.d.ts +1 -0
  356. package/dist/tests/factories/mockFactory.d.ts +316 -0
  357. package/dist/tests/fakes/FakeStorageManager.d.ts +200 -0
  358. package/dist/tests/fakes/FakeStorageManager.test.d.ts +1 -0
  359. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +170 -0
  360. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +1 -0
  361. package/dist/tests/fakes/fake-pgp-port.d.ts +13 -0
  362. package/dist/tests/grantValidation-edge-cases.test.d.ts +1 -0
  363. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +1 -0
  364. package/dist/tests/helper-methods.test.d.ts +1 -0
  365. package/dist/tests/helpers/platformTestHelpers.d.ts +106 -0
  366. package/dist/tests/helpers/typedMocks.d.ts +64 -0
  367. package/dist/tests/index-browser.test.d.ts +1 -0
  368. package/dist/tests/index-node.test.d.ts +1 -0
  369. package/dist/tests/index.test.d.ts +1 -0
  370. package/dist/tests/mocks/platformAdapter.d.ts +12 -0
  371. package/dist/tests/new-permissions-methods.test.d.ts +1 -0
  372. package/dist/tests/no-buffer-browser.test.d.ts +1 -0
  373. package/dist/tests/permissions-grantee.test.d.ts +1 -0
  374. package/dist/tests/permissions-revoke-relayer.test.d.ts +1 -0
  375. package/dist/tests/permissions-schema-validation.test.d.ts +1 -0
  376. package/dist/tests/permissions-server-files.test.d.ts +1 -0
  377. package/dist/tests/permissions-transaction-options.test.d.ts +1 -0
  378. package/dist/tests/permissions-trust-servers.test.d.ts +1 -0
  379. package/dist/tests/permissions.test.d.ts +1 -0
  380. package/dist/tests/personal.test.d.ts +1 -0
  381. package/dist/tests/platform-browser.test.d.ts +1 -0
  382. package/dist/tests/platform-crypto-expanded.test.d.ts +1 -0
  383. package/dist/tests/platform-crypto.test.d.ts +1 -0
  384. package/dist/tests/platform-index.test.d.ts +1 -0
  385. package/dist/tests/platform-node.test.d.ts +1 -0
  386. package/dist/tests/platform-shared-utils.test.d.ts +1 -0
  387. package/dist/tests/platform-updated.test.d.ts +1 -0
  388. package/dist/tests/protocol-additional-methods.test.d.ts +1 -0
  389. package/dist/tests/protocol.test.d.ts +1 -0
  390. package/dist/tests/read-only-mode.test.d.ts +1 -0
  391. package/dist/tests/relayer-integration.test.d.ts +1 -0
  392. package/dist/tests/relayer-unified.test.d.ts +1 -0
  393. package/dist/tests/schemas.test.d.ts +1 -0
  394. package/dist/tests/server-relayer-handler.test.d.ts +1 -0
  395. package/dist/tests/setup.d.ts +7 -0
  396. package/dist/tests/signatureFormatter.test.d.ts +1 -0
  397. package/dist/tests/trusted-server-queries.test.d.ts +1 -0
  398. package/dist/tests/typedDataConverter.test.d.ts +1 -0
  399. package/dist/tests/types-contracts.test.d.ts +1 -0
  400. package/dist/tests/types-data.test.d.ts +1 -0
  401. package/dist/tests/types-external-apis.test.d.ts +1 -0
  402. package/dist/tests/types-generics.test.d.ts +1 -0
  403. package/dist/tests/types-permissions.test.d.ts +1 -0
  404. package/dist/tests/types-upload-params.test.d.ts +1 -0
  405. package/dist/tests/types.test.d.ts +1 -0
  406. package/dist/tests/utils-formatters.test.d.ts +1 -0
  407. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +1 -0
  408. package/dist/tests/utils-grantFiles-validation.test.d.ts +1 -0
  409. package/dist/tests/utils-grantFiles.test.d.ts +1 -0
  410. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +1 -0
  411. package/dist/tests/utils-grants.test.d.ts +1 -0
  412. package/dist/tests/utils-ipfs-additional.test.d.ts +1 -0
  413. package/dist/tests/utils-ipfs.test.d.ts +4 -0
  414. package/dist/tests/utils-schemaValidation.test.d.ts +1 -0
  415. package/dist/tests/vana.test.d.ts +1 -0
  416. package/dist/tests/wallet-crypto-compatibility.test.d.ts +1 -0
  417. package/dist/{chains.browser.cjs → types/atomicStore.cjs} +9 -15
  418. package/dist/types/atomicStore.cjs.map +1 -0
  419. package/dist/types/atomicStore.d.ts +236 -0
  420. package/dist/types/atomicStore.js +7 -0
  421. package/dist/types/atomicStore.js.map +1 -0
  422. package/dist/types/blockchain.cjs +17 -0
  423. package/dist/types/blockchain.cjs.map +1 -0
  424. package/dist/types/blockchain.d.ts +85 -0
  425. package/dist/types/blockchain.js +1 -0
  426. package/dist/types/blockchain.js.map +1 -0
  427. package/dist/types/chains-additional.test.d.ts +1 -0
  428. package/dist/types/chains.cjs.map +1 -1
  429. package/dist/types/chains.d.ts +80 -16
  430. package/dist/types/chains.js.map +1 -1
  431. package/dist/types/config.cjs +10 -0
  432. package/dist/types/config.cjs.map +1 -1
  433. package/dist/types/config.d.ts +236 -242
  434. package/dist/types/config.js +8 -0
  435. package/dist/types/config.js.map +1 -1
  436. package/dist/types/contracts.cjs.map +1 -1
  437. package/dist/types/contracts.d.ts +79 -18
  438. package/dist/types/controller-context.cjs +17 -0
  439. package/dist/types/controller-context.cjs.map +1 -0
  440. package/dist/types/controller-context.d.ts +68 -0
  441. package/dist/types/controller-context.js +1 -0
  442. package/dist/types/controller-context.js.map +1 -0
  443. package/dist/types/data.cjs.map +1 -1
  444. package/dist/types/data.d.ts +118 -49
  445. package/dist/types/external-apis.d.ts +10 -12
  446. package/dist/types/generics.cjs.map +1 -1
  447. package/dist/types/generics.d.ts +116 -48
  448. package/dist/types/index.cjs +5 -4
  449. package/dist/types/index.cjs.map +1 -1
  450. package/dist/types/index.d.ts +48 -34
  451. package/dist/types/index.js +9 -2
  452. package/dist/types/index.js.map +1 -1
  453. package/dist/types/operationStore.cjs +17 -0
  454. package/dist/types/operationStore.cjs.map +1 -0
  455. package/dist/types/operationStore.d.ts +171 -0
  456. package/dist/types/operationStore.js +1 -0
  457. package/dist/types/operationStore.js.map +1 -0
  458. package/dist/types/operations.cjs +2 -2
  459. package/dist/types/operations.cjs.map +1 -1
  460. package/dist/types/operations.d.ts +164 -42
  461. package/dist/types/operations.js +2 -2
  462. package/dist/types/operations.js.map +1 -1
  463. package/dist/types/options.cjs +17 -0
  464. package/dist/types/options.cjs.map +1 -0
  465. package/dist/types/options.d.ts +308 -0
  466. package/dist/types/options.js +1 -0
  467. package/dist/types/options.js.map +1 -0
  468. package/dist/types/permissions.cjs.map +1 -1
  469. package/dist/types/permissions.d.ts +72 -78
  470. package/dist/types/personal.cjs.map +1 -1
  471. package/dist/types/personal.d.ts +137 -22
  472. package/dist/types/relayer.cjs.map +1 -1
  473. package/dist/types/relayer.d.ts +293 -50
  474. package/dist/types/storage.cjs.map +1 -1
  475. package/dist/types/storage.d.ts +15 -29
  476. package/dist/types/storage.js +2 -5
  477. package/dist/types/storage.js.map +1 -1
  478. package/dist/types/transactionResults.cjs.map +1 -1
  479. package/dist/types/transactionResults.d.ts +193 -25
  480. package/dist/types/utils.cjs.map +1 -1
  481. package/dist/types/utils.d.ts +20 -68
  482. package/dist/types.d.ts +4 -40
  483. package/dist/utils/__tests__/parseTransaction.test.d.ts +1 -0
  484. package/dist/utils/__tests__/pojo-serialization.test.d.ts +1 -0
  485. package/dist/utils/__tests__/signatureCache.test.d.ts +1 -0
  486. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +4 -0
  487. package/dist/utils/__tests__/subgraphPagination.test.d.ts +4 -0
  488. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +1 -0
  489. package/dist/utils/__tests__/transactionHelpers.test.d.ts +1 -0
  490. package/dist/utils/__tests__/urlResolver.test.d.ts +4 -0
  491. package/dist/utils/blockchain/registry.cjs +2 -2
  492. package/dist/utils/blockchain/registry.cjs.map +1 -1
  493. package/dist/utils/blockchain/registry.d.ts +6 -8
  494. package/dist/utils/blockchain/registry.js +2 -2
  495. package/dist/utils/blockchain/registry.js.map +1 -1
  496. package/dist/utils/blockchain/registry.test.d.ts +1 -0
  497. package/dist/utils/chainQuery.cjs +107 -0
  498. package/dist/utils/chainQuery.cjs.map +1 -0
  499. package/dist/utils/chainQuery.d.ts +31 -0
  500. package/dist/utils/chainQuery.js +82 -0
  501. package/dist/utils/chainQuery.js.map +1 -0
  502. package/dist/utils/crypto-utils.cjs +0 -12
  503. package/dist/utils/crypto-utils.cjs.map +1 -1
  504. package/dist/utils/crypto-utils.d.ts +9 -27
  505. package/dist/utils/crypto-utils.js +0 -11
  506. package/dist/utils/crypto-utils.js.map +1 -1
  507. package/dist/utils/crypto-utils.test.d.ts +1 -0
  508. package/dist/utils/download.cjs +3 -3
  509. package/dist/utils/download.cjs.map +1 -1
  510. package/dist/utils/download.d.ts +13 -14
  511. package/dist/utils/download.js +2 -2
  512. package/dist/utils/download.js.map +1 -1
  513. package/dist/utils/encoding.cjs +1 -1
  514. package/dist/utils/encoding.cjs.map +1 -1
  515. package/dist/utils/encoding.d.ts +4 -6
  516. package/dist/utils/encoding.js +1 -1
  517. package/dist/utils/encoding.js.map +1 -1
  518. package/dist/utils/encoding.test.d.ts +1 -0
  519. package/dist/utils/encryption.cjs +16 -10
  520. package/dist/utils/encryption.cjs.map +1 -1
  521. package/dist/utils/encryption.d.ts +13 -17
  522. package/dist/utils/encryption.js +16 -10
  523. package/dist/utils/encryption.js.map +1 -1
  524. package/dist/utils/formatters.cjs +4 -2
  525. package/dist/utils/formatters.cjs.map +1 -1
  526. package/dist/utils/formatters.d.ts +4 -6
  527. package/dist/utils/formatters.js +4 -2
  528. package/dist/utils/formatters.js.map +1 -1
  529. package/dist/utils/grantFiles.cjs +7 -4
  530. package/dist/utils/grantFiles.cjs.map +1 -1
  531. package/dist/utils/grantFiles.d.ts +16 -30
  532. package/dist/utils/grantFiles.js +7 -4
  533. package/dist/utils/grantFiles.js.map +1 -1
  534. package/dist/utils/grantValidation.cjs +1 -1
  535. package/dist/utils/grantValidation.cjs.map +1 -1
  536. package/dist/utils/grantValidation.d.ts +109 -33
  537. package/dist/utils/grantValidation.js +1 -1
  538. package/dist/utils/grantValidation.js.map +1 -1
  539. package/dist/utils/grants.cjs +1 -1
  540. package/dist/utils/grants.cjs.map +1 -1
  541. package/dist/utils/grants.d.ts +101 -23
  542. package/dist/utils/grants.js +1 -1
  543. package/dist/utils/grants.js.map +1 -1
  544. package/dist/utils/ipfs.cjs +2 -4
  545. package/dist/utils/ipfs.cjs.map +1 -1
  546. package/dist/utils/ipfs.d.ts +8 -10
  547. package/dist/utils/ipfs.js +2 -4
  548. package/dist/utils/ipfs.js.map +1 -1
  549. package/dist/utils/lazy-import.cjs +4 -6
  550. package/dist/utils/lazy-import.cjs.map +1 -1
  551. package/dist/utils/lazy-import.d.ts +33 -10
  552. package/dist/utils/lazy-import.js +4 -6
  553. package/dist/utils/lazy-import.js.map +1 -1
  554. package/dist/utils/multicall.cjs +4 -2
  555. package/dist/utils/multicall.cjs.map +1 -1
  556. package/dist/utils/multicall.d.ts +5 -8
  557. package/dist/utils/multicall.js +4 -2
  558. package/dist/utils/multicall.js.map +1 -1
  559. package/dist/utils/parseTransactionPojo.cjs +87 -0
  560. package/dist/utils/parseTransactionPojo.cjs.map +1 -0
  561. package/dist/utils/parseTransactionPojo.d.ts +31 -0
  562. package/dist/utils/parseTransactionPojo.js +63 -0
  563. package/dist/utils/parseTransactionPojo.js.map +1 -0
  564. package/dist/utils/schemaValidation.cjs +5 -5
  565. package/dist/utils/schemaValidation.cjs.map +1 -1
  566. package/dist/utils/schemaValidation.d.ts +8 -12
  567. package/dist/utils/schemaValidation.js +7 -10
  568. package/dist/utils/schemaValidation.js.map +1 -1
  569. package/dist/utils/signatureCache.cjs +9 -4
  570. package/dist/utils/signatureCache.cjs.map +1 -1
  571. package/dist/utils/signatureCache.d.ts +53 -15
  572. package/dist/utils/signatureCache.js +12 -10
  573. package/dist/utils/signatureCache.js.map +1 -1
  574. package/dist/utils/signatureFormatter.cjs +6 -9
  575. package/dist/utils/signatureFormatter.cjs.map +1 -1
  576. package/dist/utils/signatureFormatter.d.ts +2 -5
  577. package/dist/utils/signatureFormatter.js +6 -9
  578. package/dist/utils/signatureFormatter.js.map +1 -1
  579. package/dist/utils/subgraphConsistency.cjs +184 -0
  580. package/dist/utils/subgraphConsistency.cjs.map +1 -0
  581. package/dist/utils/subgraphConsistency.d.ts +65 -0
  582. package/dist/utils/subgraphConsistency.js +155 -0
  583. package/dist/utils/subgraphConsistency.js.map +1 -0
  584. package/dist/utils/subgraphMetaCache.cjs +101 -0
  585. package/dist/utils/subgraphMetaCache.cjs.map +1 -0
  586. package/dist/utils/subgraphMetaCache.d.ts +56 -0
  587. package/dist/utils/subgraphMetaCache.js +76 -0
  588. package/dist/utils/subgraphMetaCache.js.map +1 -0
  589. package/dist/utils/subgraphPagination.cjs +104 -0
  590. package/dist/utils/subgraphPagination.cjs.map +1 -0
  591. package/dist/utils/subgraphPagination.d.ts +78 -0
  592. package/dist/utils/subgraphPagination.js +78 -0
  593. package/dist/utils/subgraphPagination.js.map +1 -0
  594. package/dist/utils/tests/multicall.test.d.ts +1 -0
  595. package/dist/utils/transactionHelpers.cjs +54 -0
  596. package/dist/utils/transactionHelpers.cjs.map +1 -0
  597. package/dist/utils/transactionHelpers.d.ts +80 -0
  598. package/dist/utils/transactionHelpers.js +29 -0
  599. package/dist/utils/transactionHelpers.js.map +1 -0
  600. package/dist/utils/typeGuards.cjs +109 -0
  601. package/dist/utils/typeGuards.cjs.map +1 -0
  602. package/dist/utils/typeGuards.d.ts +138 -0
  603. package/dist/utils/typeGuards.js +74 -0
  604. package/dist/utils/typeGuards.js.map +1 -0
  605. package/dist/utils/typedDataConverter.cjs.map +1 -1
  606. package/dist/utils/typedDataConverter.d.ts +42 -9
  607. package/dist/utils/typedDataConverter.js.map +1 -1
  608. package/dist/utils/urlResolver.cjs +8 -1
  609. package/dist/utils/urlResolver.cjs.map +1 -1
  610. package/dist/utils/urlResolver.d.ts +24 -8
  611. package/dist/utils/urlResolver.js +9 -2
  612. package/dist/utils/urlResolver.js.map +1 -1
  613. package/dist/utils/wallet.cjs +63 -0
  614. package/dist/utils/wallet.cjs.map +1 -0
  615. package/dist/utils/wallet.d.ts +94 -0
  616. package/dist/utils/wallet.js +37 -0
  617. package/dist/utils/wallet.js.map +1 -0
  618. package/dist/utils/withEvents.cjs +44 -0
  619. package/dist/utils/withEvents.cjs.map +1 -0
  620. package/dist/utils/withEvents.d.ts +56 -0
  621. package/dist/utils/withEvents.js +18 -0
  622. package/dist/utils/withEvents.js.map +1 -0
  623. package/package.json +25 -13
  624. package/dist/browser.d.cts +0 -2
  625. package/dist/chains/definitions.d.cts +0 -53
  626. package/dist/chains/index.d.cts +0 -2
  627. package/dist/chains.browser.cjs.map +0 -1
  628. package/dist/chains.browser.d.cts +0 -2
  629. package/dist/chains.d.cts +0 -2
  630. package/dist/chains.node.d.cts +0 -2
  631. package/dist/config/addresses.d.cts +0 -380
  632. package/dist/config/chains.d.cts +0 -85
  633. package/dist/config/eventMappings.cjs +0 -114
  634. package/dist/config/eventMappings.cjs.map +0 -1
  635. package/dist/config/eventMappings.d.cts +0 -108
  636. package/dist/config/eventMappings.d.ts +0 -108
  637. package/dist/config/eventMappings.js +0 -90
  638. package/dist/config/eventMappings.js.map +0 -1
  639. package/dist/config/features.d.cts +0 -64
  640. package/dist/contracts/contractController.d.cts +0 -96
  641. package/dist/controllers/data.d.cts +0 -941
  642. package/dist/controllers/permissions.d.cts +0 -25
  643. package/dist/controllers/protocol.d.cts +0 -167
  644. package/dist/controllers/schemas.d.cts +0 -272
  645. package/dist/controllers/server.d.cts +0 -243
  646. package/dist/core/apiClient.d.cts +0 -165
  647. package/dist/core/client.d.cts +0 -92
  648. package/dist/core/generics.d.cts +0 -120
  649. package/dist/core.d.cts +0 -466
  650. package/dist/crypto/ecies/__tests__/test-vectors.d.cts +0 -40
  651. package/dist/crypto/ecies/base.d.cts +0 -143
  652. package/dist/crypto/ecies/browser.d.cts +0 -48
  653. package/dist/crypto/ecies/constants.d.cts +0 -122
  654. package/dist/crypto/ecies/index.d.cts +0 -1
  655. package/dist/crypto/ecies/interface.d.cts +0 -176
  656. package/dist/crypto/ecies/node.d.cts +0 -50
  657. package/dist/crypto/ecies/utils.d.cts +0 -67
  658. package/dist/crypto/services/WalletKeyEncryptionService.d.cts +0 -92
  659. package/dist/diagnostics.d.cts +0 -26
  660. package/dist/errors.d.cts +0 -350
  661. package/dist/generated/abi/ComputeEngineImplementation.d.cts +0 -996
  662. package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.cts +0 -545
  663. package/dist/generated/abi/DATFactoryImplementation.d.cts +0 -661
  664. package/dist/generated/abi/DATImplementation.d.cts +0 -693
  665. package/dist/generated/abi/DATPausableImplementation.d.cts +0 -1145
  666. package/dist/generated/abi/DATVotesImplementation.d.cts +0 -1095
  667. package/dist/generated/abi/DLPPerformanceImplementation.d.cts +0 -883
  668. package/dist/generated/abi/DLPRegistryImplementation.d.cts +0 -1123
  669. package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.cts +0 -452
  670. package/dist/generated/abi/DLPRewardDeployerImplementation.d.cts +0 -714
  671. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.cts +0 -452
  672. package/dist/generated/abi/DLPRewardSwapImplementation.d.cts +0 -706
  673. package/dist/generated/abi/DLPRootImplementation.d.cts +0 -1248
  674. package/dist/generated/abi/DLPTreasuryImplementation.d.cts +0 -452
  675. package/dist/generated/abi/DataLiquidityPoolImplementation.d.cts +0 -737
  676. package/dist/generated/abi/DataPortabilityGranteesImplementation.d.cts +0 -661
  677. package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.cts +0 -989
  678. package/dist/generated/abi/DataPortabilityServersImplementation.d.cts +0 -1086
  679. package/dist/generated/abi/DataRefinerRegistryImplementation.d.cts +0 -737
  680. package/dist/generated/abi/DataRegistryImplementation.d.cts +0 -1004
  681. package/dist/generated/abi/QueryEngineImplementation.d.cts +0 -1001
  682. package/dist/generated/abi/SwapHelperImplementation.d.cts +0 -764
  683. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.cts +0 -701
  684. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.cts +0 -701
  685. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.cts +0 -701
  686. package/dist/generated/abi/TeePoolImplementation.d.cts +0 -993
  687. package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.cts +0 -701
  688. package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.cts +0 -701
  689. package/dist/generated/abi/TeePoolPhalaImplementation.d.cts +0 -993
  690. package/dist/generated/abi/VanaEpochImplementation.d.cts +0 -900
  691. package/dist/generated/abi/VanaPoolEntityImplementation.d.cts +0 -934
  692. package/dist/generated/abi/VanaPoolStakingImplementation.d.cts +0 -693
  693. package/dist/generated/abi/VanaPoolTreasuryImplementation.d.cts +0 -394
  694. package/dist/generated/abi/index.d.cts +0 -26516
  695. package/dist/generated/server/server-exports.d.cts +0 -21
  696. package/dist/generated/server/server.d.cts +0 -512
  697. package/dist/generated/subgraph.d.cts +0 -5981
  698. package/dist/index.browser.cjs +0 -151
  699. package/dist/index.browser.cjs.map +0 -1
  700. package/dist/index.browser.d.cts +0 -177
  701. package/dist/index.d.cts +0 -2
  702. package/dist/index.node.d.cts +0 -64
  703. package/dist/node.d.cts +0 -2
  704. package/dist/permissions-DNKPu_G0.d.cts +0 -1666
  705. package/dist/permissions-eo8YeLGf.d.ts +0 -1666
  706. package/dist/platform/browser-only.d.cts +0 -25
  707. package/dist/platform/browser-safe.d.cts +0 -32
  708. package/dist/platform/browser.d.cts +0 -74
  709. package/dist/platform/index.d.cts +0 -5
  710. package/dist/platform/interface.d.cts +0 -218
  711. package/dist/platform/node.d.cts +0 -27
  712. package/dist/platform/shared/error-utils.d.cts +0 -25
  713. package/dist/platform/shared/pgp-utils.d.cts +0 -61
  714. package/dist/platform/shared/stream-utils.d.cts +0 -16
  715. package/dist/platform/utils.d.cts +0 -53
  716. package/dist/platform.browser.cjs +0 -41
  717. package/dist/platform.browser.cjs.map +0 -1
  718. package/dist/platform.browser.d.cts +0 -4
  719. package/dist/platform.d.cts +0 -5
  720. package/dist/platform.node.d.cts +0 -5
  721. package/dist/server/handler.cjs +0 -101
  722. package/dist/server/handler.cjs.map +0 -1
  723. package/dist/server/handler.d.cts +0 -282
  724. package/dist/server/handler.d.ts +0 -282
  725. package/dist/server/handler.js +0 -77
  726. package/dist/server/handler.js.map +0 -1
  727. package/dist/storage/index.d.cts +0 -10
  728. package/dist/storage/manager.d.cts +0 -150
  729. package/dist/storage/providers/callback-storage.d.cts +0 -100
  730. package/dist/storage/providers/google-drive.d.cts +0 -156
  731. package/dist/storage/providers/ipfs.d.cts +0 -163
  732. package/dist/storage/providers/pinata.d.cts +0 -173
  733. package/dist/types/chains.d.cts +0 -34
  734. package/dist/types/config.d.cts +0 -726
  735. package/dist/types/contracts.d.cts +0 -68
  736. package/dist/types/data.d.cts +0 -694
  737. package/dist/types/eccrypto-js.d.d.cts +0 -13
  738. package/dist/types/eccrypto-js.d.d.ts +0 -13
  739. package/dist/types/external-apis.d.cts +0 -186
  740. package/dist/types/generics.d.cts +0 -450
  741. package/dist/types/index.d.cts +0 -34
  742. package/dist/types/operations.d.cts +0 -108
  743. package/dist/types/permissions.d.cts +0 -957
  744. package/dist/types/personal.d.cts +0 -40
  745. package/dist/types/relayer.d.cts +0 -284
  746. package/dist/types/storage.d.cts +0 -131
  747. package/dist/types/transactionResults.d.cts +0 -25
  748. package/dist/types/utils.d.cts +0 -819
  749. package/dist/types.d.cts +0 -66
  750. package/dist/utils/blockchain/registry.d.cts +0 -34
  751. package/dist/utils/crypto-utils.d.cts +0 -118
  752. package/dist/utils/download.d.cts +0 -41
  753. package/dist/utils/encoding.d.cts +0 -54
  754. package/dist/utils/encryption.d.cts +0 -275
  755. package/dist/utils/eventParsing.cjs +0 -111
  756. package/dist/utils/eventParsing.cjs.map +0 -1
  757. package/dist/utils/eventParsing.d.cts +0 -60
  758. package/dist/utils/eventParsing.d.ts +0 -60
  759. package/dist/utils/eventParsing.js +0 -86
  760. package/dist/utils/eventParsing.js.map +0 -1
  761. package/dist/utils/formatters.d.cts +0 -120
  762. package/dist/utils/grantFiles.d.cts +0 -186
  763. package/dist/utils/grantValidation.d.cts +0 -150
  764. package/dist/utils/grants.d.cts +0 -70
  765. package/dist/utils/ipfs.d.cts +0 -90
  766. package/dist/utils/lazy-import.d.cts +0 -20
  767. package/dist/utils/multicall.d.cts +0 -129
  768. package/dist/utils/schemaValidation.d.cts +0 -172
  769. package/dist/utils/signatureCache.d.cts +0 -134
  770. package/dist/utils/signatureFormatter.d.cts +0 -39
  771. package/dist/utils/transactionParsing.cjs +0 -84
  772. package/dist/utils/transactionParsing.cjs.map +0 -1
  773. package/dist/utils/transactionParsing.d.cts +0 -25
  774. package/dist/utils/transactionParsing.d.ts +0 -25
  775. package/dist/utils/transactionParsing.js +0 -62
  776. package/dist/utils/transactionParsing.js.map +0 -1
  777. package/dist/utils/typedDataConverter.d.cts +0 -13
  778. package/dist/utils/urlResolver.d.cts +0 -40
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var operationStore_exports = {};
16
+ module.exports = __toCommonJS(operationStore_exports);
17
+ //# sourceMappingURL=operationStore.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/operationStore.ts"],"sourcesContent":["/**\n * Operation storage interfaces for queuing and managing asynchronous operations.\n *\n * @module\n */\n\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport type { UnifiedRelayerRequest } from \"./relayer\";\n\n/**\n * The state of an asynchronous, relayed operation.\n *\n * @remarks\n * This is the data the application backend is responsible for persisting.\n * It serves as a complete recovery log for a given operation.\n *\n * @category Operations\n */\nexport interface OperationState {\n status: \"pending\" | \"confirmed\" | \"failed\";\n transactionHash: Hash;\n originalRequest: UnifiedRelayerRequest;\n nonce?: number;\n retryCount: number;\n lastAttemptedGas: { maxFeePerGas?: string; maxPriorityFeePerGas?: string };\n submittedAt: number; // Unix timestamp (ms)\n finalReceipt?: TransactionReceipt;\n error?: string;\n}\n\n/**\n * Simple storage interface for operation state tracking.\n *\n * @remarks\n * This interface is used by the relayer handler to track operation state\n * in a stateful mode. Implementations can use any backend storage system.\n *\n * @category Operations\n */\nexport interface IRelayerStateStore {\n /**\n * Gets the state of an operation.\n *\n * @param operationId - The operation ID\n * @returns The operation state or null if not found\n */\n get(operationId: string): Promise<OperationState | null>;\n\n /**\n * Sets the state of an operation.\n *\n * @param operationId - The operation ID\n * @param state - The operation state to store\n */\n set(operationId: string, state: OperationState): Promise<void>;\n}\n\n/**\n * Represents a stored operation in the queue.\n */\nexport interface StoredOperation {\n /** Unique identifier for the operation */\n id: string;\n /** Current status of the operation */\n status: \"queued\" | \"processing\" | \"submitted\" | \"completed\" | \"failed\";\n /** Serialized transaction or operation data */\n data: string;\n /** Number of retry attempts */\n retryCount?: number;\n /** Timestamp when the operation was created */\n createdAt?: number;\n /** Additional metadata */\n metadata?: any;\n}\n\n/**\n * Interface for operation storage backends.\n *\n * @remarks\n * Implementations of this interface provide persistent storage for queued\n * operations in a distributed relayer system. This allows operations to\n * be processed asynchronously and recovered after failures.\n *\n * Common implementations include:\n * - PostgreSQL for production environments\n * - MongoDB for document-based storage\n * - DynamoDB for serverless deployments\n * - In-memory storage for testing\n *\n * @example\n * ```typescript\n * class PostgresOperationStore implements IOperationStore {\n * async storeOperation(operation) {\n * await this.db.query(\n * 'INSERT INTO operations (id, status, data) VALUES ($1, $2, $3)',\n * [operation.id, 'queued', operation.data]\n * );\n * }\n *\n * async getQueuedOperations(options) {\n * const result = await this.db.query(\n * 'SELECT * FROM operations WHERE status = $1 LIMIT $2',\n * ['queued', options.limit || 100]\n * );\n * return result.rows;\n * }\n * }\n * ```\n *\n * @category Storage\n */\nexport interface IOperationStore {\n /**\n * Stores a new operation in the queue.\n *\n * @param operation - The operation to store\n * @returns Promise that resolves when the operation is stored\n */\n storeOperation(operation: {\n id: string;\n data: any;\n metadata?: any;\n }): Promise<void>;\n\n /**\n * Retrieves queued operations for processing.\n *\n * @param options - Query options\n * @returns Promise resolving to an array of queued operations\n */\n getQueuedOperations(options?: { limit?: number }): Promise<StoredOperation[]>;\n\n /**\n * Updates the status of an operation.\n *\n * @param operationId - The ID of the operation to update\n * @param status - The new status\n * @param metadata - Optional metadata to store with the update\n * @returns Promise that resolves when the status is updated\n */\n updateStatus(\n operationId: string,\n status: string,\n metadata?: any,\n ): Promise<void>;\n\n /**\n * Gets operations currently being processed.\n *\n * @param options - Query options\n * @returns Promise resolving to an array of processing operations\n */\n getProcessingOperations?(options?: {\n limit?: number;\n }): Promise<StoredOperation[]>;\n\n /**\n * Gets failed operations.\n *\n * @param options - Query options\n * @returns Promise resolving to an array of failed operations\n */\n getFailedOperations?(options?: {\n limit?: number;\n }): Promise<StoredOperation[]>;\n\n /**\n * Gets the status of a specific operation.\n *\n * @param operationId - The ID of the operation to check\n * @returns Promise resolving to the operation or null if not found\n */\n getOperation?(operationId: string): Promise<StoredOperation | null>;\n\n /**\n * Deletes an operation from storage.\n *\n * @param operationId - The ID of the operation to delete\n * @returns Promise that resolves when the operation is deleted\n */\n deleteOperation?(operationId: string): Promise<void>;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Operation storage interfaces for queuing and managing asynchronous operations.
3
+ *
4
+ * @module
5
+ */
6
+ import type { Hash, TransactionReceipt } from "viem";
7
+ import type { UnifiedRelayerRequest } from "./relayer";
8
+ /**
9
+ * The state of an asynchronous, relayed operation.
10
+ *
11
+ * @remarks
12
+ * This is the data the application backend is responsible for persisting.
13
+ * It serves as a complete recovery log for a given operation.
14
+ *
15
+ * @category Operations
16
+ */
17
+ export interface OperationState {
18
+ status: "pending" | "confirmed" | "failed";
19
+ transactionHash: Hash;
20
+ originalRequest: UnifiedRelayerRequest;
21
+ nonce?: number;
22
+ retryCount: number;
23
+ lastAttemptedGas: {
24
+ maxFeePerGas?: string;
25
+ maxPriorityFeePerGas?: string;
26
+ };
27
+ submittedAt: number;
28
+ finalReceipt?: TransactionReceipt;
29
+ error?: string;
30
+ }
31
+ /**
32
+ * Simple storage interface for operation state tracking.
33
+ *
34
+ * @remarks
35
+ * This interface is used by the relayer handler to track operation state
36
+ * in a stateful mode. Implementations can use any backend storage system.
37
+ *
38
+ * @category Operations
39
+ */
40
+ export interface IRelayerStateStore {
41
+ /**
42
+ * Gets the state of an operation.
43
+ *
44
+ * @param operationId - The operation ID
45
+ * @returns The operation state or null if not found
46
+ */
47
+ get(operationId: string): Promise<OperationState | null>;
48
+ /**
49
+ * Sets the state of an operation.
50
+ *
51
+ * @param operationId - The operation ID
52
+ * @param state - The operation state to store
53
+ */
54
+ set(operationId: string, state: OperationState): Promise<void>;
55
+ }
56
+ /**
57
+ * Represents a stored operation in the queue.
58
+ */
59
+ export interface StoredOperation {
60
+ /** Unique identifier for the operation */
61
+ id: string;
62
+ /** Current status of the operation */
63
+ status: "queued" | "processing" | "submitted" | "completed" | "failed";
64
+ /** Serialized transaction or operation data */
65
+ data: string;
66
+ /** Number of retry attempts */
67
+ retryCount?: number;
68
+ /** Timestamp when the operation was created */
69
+ createdAt?: number;
70
+ /** Additional metadata */
71
+ metadata?: any;
72
+ }
73
+ /**
74
+ * Interface for operation storage backends.
75
+ *
76
+ * @remarks
77
+ * Implementations of this interface provide persistent storage for queued
78
+ * operations in a distributed relayer system. This allows operations to
79
+ * be processed asynchronously and recovered after failures.
80
+ *
81
+ * Common implementations include:
82
+ * - PostgreSQL for production environments
83
+ * - MongoDB for document-based storage
84
+ * - DynamoDB for serverless deployments
85
+ * - In-memory storage for testing
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * class PostgresOperationStore implements IOperationStore {
90
+ * async storeOperation(operation) {
91
+ * await this.db.query(
92
+ * 'INSERT INTO operations (id, status, data) VALUES ($1, $2, $3)',
93
+ * [operation.id, 'queued', operation.data]
94
+ * );
95
+ * }
96
+ *
97
+ * async getQueuedOperations(options) {
98
+ * const result = await this.db.query(
99
+ * 'SELECT * FROM operations WHERE status = $1 LIMIT $2',
100
+ * ['queued', options.limit || 100]
101
+ * );
102
+ * return result.rows;
103
+ * }
104
+ * }
105
+ * ```
106
+ *
107
+ * @category Storage
108
+ */
109
+ export interface IOperationStore {
110
+ /**
111
+ * Stores a new operation in the queue.
112
+ *
113
+ * @param operation - The operation to store
114
+ * @returns Promise that resolves when the operation is stored
115
+ */
116
+ storeOperation(operation: {
117
+ id: string;
118
+ data: any;
119
+ metadata?: any;
120
+ }): Promise<void>;
121
+ /**
122
+ * Retrieves queued operations for processing.
123
+ *
124
+ * @param options - Query options
125
+ * @returns Promise resolving to an array of queued operations
126
+ */
127
+ getQueuedOperations(options?: {
128
+ limit?: number;
129
+ }): Promise<StoredOperation[]>;
130
+ /**
131
+ * Updates the status of an operation.
132
+ *
133
+ * @param operationId - The ID of the operation to update
134
+ * @param status - The new status
135
+ * @param metadata - Optional metadata to store with the update
136
+ * @returns Promise that resolves when the status is updated
137
+ */
138
+ updateStatus(operationId: string, status: string, metadata?: any): Promise<void>;
139
+ /**
140
+ * Gets operations currently being processed.
141
+ *
142
+ * @param options - Query options
143
+ * @returns Promise resolving to an array of processing operations
144
+ */
145
+ getProcessingOperations?(options?: {
146
+ limit?: number;
147
+ }): Promise<StoredOperation[]>;
148
+ /**
149
+ * Gets failed operations.
150
+ *
151
+ * @param options - Query options
152
+ * @returns Promise resolving to an array of failed operations
153
+ */
154
+ getFailedOperations?(options?: {
155
+ limit?: number;
156
+ }): Promise<StoredOperation[]>;
157
+ /**
158
+ * Gets the status of a specific operation.
159
+ *
160
+ * @param operationId - The ID of the operation to check
161
+ * @returns Promise resolving to the operation or null if not found
162
+ */
163
+ getOperation?(operationId: string): Promise<StoredOperation | null>;
164
+ /**
165
+ * Deletes an operation from storage.
166
+ *
167
+ * @param operationId - The ID of the operation to delete
168
+ * @returns Promise that resolves when the operation is deleted
169
+ */
170
+ deleteOperation?(operationId: string): Promise<void>;
171
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=operationStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -32,7 +32,7 @@ function isTransactionResult(obj) {
32
32
  if (typeof obj !== "object" || obj === null || !("hash" in obj)) {
33
33
  return false;
34
34
  }
35
- const hash = obj.hash;
35
+ const { hash } = obj;
36
36
  return typeof hash === "string" && hash.startsWith("0x");
37
37
  }
38
38
  function toOperation(response) {
@@ -42,7 +42,7 @@ function toOperation(response) {
42
42
  createdAt: Date.now(),
43
43
  // Server doesn't provide this, so we use current time
44
44
  result: response.status === "succeeded" ? response.result : void 0,
45
- error: response.status === "failed" ? response.result || void 0 : void 0
45
+ error: response.status === "failed" ? response.result ?? void 0 : void 0
46
46
  };
47
47
  }
48
48
  function getOperationId(opOrId) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/operations.ts"],"sourcesContent":["import type { Hash, TransactionReceipt as ViemReceipt, Address } from \"viem\";\nimport type { GetOperationResponse } from \"../generated/server/server-exports\";\n\n/**\n * Server operation result as a plain object.\n * Fully serializable for API responses and cross-process communication.\n */\nexport interface Operation<T = unknown> {\n /** Unique operation identifier */\n id: string;\n /** Current operation status */\n status: \"starting\" | \"running\" | \"succeeded\" | \"failed\" | \"canceled\";\n /** Unix timestamp when operation was created */\n createdAt: number;\n /** Unix timestamp when operation was last updated */\n updatedAt?: number;\n /** Operation result when status is 'succeeded' */\n result?: T;\n /** Error message when status is 'failed' */\n error?: string;\n /** Additional operation metadata */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Transaction submission result as a plain object.\n * Contains immediate transaction details without waiting for confirmation.\n */\nexport interface TransactionResult {\n /** Transaction hash */\n hash: Hash;\n /** Sender address */\n from?: Address;\n /** Recipient address */\n to?: Address;\n /** Transaction nonce */\n nonce?: number;\n /** Transaction value in wei */\n value?: bigint;\n /** Chain ID where transaction was submitted */\n chainId?: number;\n}\n\n/**\n * Extended transaction receipt with Vana-specific fields\n */\nexport interface TransactionReceipt extends ViemReceipt {\n /** Parsed event data if available */\n events?: unknown;\n}\n\n/**\n * Options for polling operations\n */\nexport interface PollingOptions {\n /** Polling interval in milliseconds (default: 500) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Options for waiting for transaction confirmation\n */\nexport interface TransactionWaitOptions {\n /** Number of confirmations to wait for (default: 1) */\n confirmations?: number;\n /** Polling interval in milliseconds (default: 1000) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Validates whether an object conforms to the Operation interface.\n *\n * @param obj - The object to validate as an Operation.\n * @returns `true` if the object has required Operation properties, `false` otherwise.\n */\nexport function isOperation(obj: unknown): obj is Operation {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n \"id\" in obj &&\n \"status\" in obj &&\n typeof (obj as Record<string, unknown>).id === \"string\" &&\n typeof (obj as Record<string, unknown>).status === \"string\"\n );\n}\n\n/**\n * Validates whether an object conforms to the TransactionResult interface.\n *\n * @param obj - The object to validate as a TransactionResult.\n * @returns `true` if the object has a valid transaction hash, `false` otherwise.\n */\nexport function isTransactionResult(obj: unknown): obj is TransactionResult {\n if (typeof obj !== \"object\" || obj === null || !(\"hash\" in obj)) {\n return false;\n }\n const hash = (obj as Record<string, unknown>).hash;\n return typeof hash === \"string\" && hash.startsWith(\"0x\");\n}\n\n/**\n * Converts a server response to an Operation POJO.\n *\n * @param response - The raw server response containing operation status data.\n * @returns An Operation object with normalized fields for client consumption.\n */\nexport function toOperation<T>(response: GetOperationResponse): Operation<T> {\n return {\n id: response.id,\n status: response.status as Operation[\"status\"],\n createdAt: Date.now(), // Server doesn't provide this, so we use current time\n result:\n response.status === \"succeeded\" ? (response.result as T) : undefined,\n error:\n response.status === \"failed\" ? response.result || undefined : undefined,\n };\n}\n\n/**\n * Extracts the operation ID from flexible input types.\n *\n * @param opOrId - An Operation object containing an `id` field or a raw operation ID string.\n * @returns The operation ID string for use in API calls.\n */\nexport function getOperationId(opOrId: Operation | string): string {\n return typeof opOrId === \"string\" ? opOrId : opOrId.id;\n}\n\n/**\n * Extracts the transaction hash from flexible input types.\n *\n * @param txOrHash - A TransactionResult object, any object with a `hash` field, or a raw hash string.\n * @returns The transaction hash as a `0x`-prefixed string.\n */\nexport function getTransactionHash(\n txOrHash: TransactionResult | { hash: Hash } | Hash,\n): Hash {\n if (typeof txOrHash === \"string\") {\n return txOrHash;\n }\n return txOrHash.hash;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+EO,SAAS,YAAY,KAAgC;AAC1D,SACE,OAAO,QAAQ,YACf,QAAQ,QACR,QAAQ,OACR,YAAY,OACZ,OAAQ,IAAgC,OAAO,YAC/C,OAAQ,IAAgC,WAAW;AAEvD;AAQO,SAAS,oBAAoB,KAAwC;AAC1E,MAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ,EAAE,UAAU,MAAM;AAC/D,WAAO;AAAA,EACT;AACA,QAAM,OAAQ,IAAgC;AAC9C,SAAO,OAAO,SAAS,YAAY,KAAK,WAAW,IAAI;AACzD;AAQO,SAAS,YAAe,UAA8C;AAC3E,SAAO;AAAA,IACL,IAAI,SAAS;AAAA,IACb,QAAQ,SAAS;AAAA,IACjB,WAAW,KAAK,IAAI;AAAA;AAAA,IACpB,QACE,SAAS,WAAW,cAAe,SAAS,SAAe;AAAA,IAC7D,OACE,SAAS,WAAW,WAAW,SAAS,UAAU,SAAY;AAAA,EAClE;AACF;AAQO,SAAS,eAAe,QAAoC;AACjE,SAAO,OAAO,WAAW,WAAW,SAAS,OAAO;AACtD;AAQO,SAAS,mBACd,UACM;AACN,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO;AAAA,EACT;AACA,SAAO,SAAS;AAClB;","names":[]}
1
+ {"version":3,"sources":["../../src/types/operations.ts"],"sourcesContent":["import type { Hash, TransactionReceipt as ViemReceipt, Address } from \"viem\";\nimport type { GetOperationResponse } from \"../generated/server/server-exports\";\nimport type { Contract, Fn } from \"../generated/event-types\";\n\n// Re-export TransactionOptions from the new options module\nexport type { TransactionOptions } from \"./options\";\n\n/**\n * Represents a server-side operation status and result.\n *\n * @remarks\n * Operations track asynchronous server processes like data refinement or ML inference.\n * Poll operation status using `vana.server.waitForOperation()` until completion.\n * Fully serializable for API responses and cross-process communication.\n *\n * @category Operations\n * @see {@link https://docs.vana.org/docs/operations | Operations Guide}\n */\nexport interface Operation<T = unknown> {\n /** Unique operation identifier */\n id: string;\n /** Current operation status */\n status: \"starting\" | \"running\" | \"succeeded\" | \"failed\" | \"canceled\";\n /** Unix timestamp when operation was created */\n createdAt: number;\n /** Unix timestamp when operation was last updated */\n updatedAt?: number;\n /** Operation result when status is 'succeeded' */\n result?: T;\n /** Error message when status is 'failed' */\n error?: string;\n /** Additional operation metadata */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Represents a submitted blockchain transaction as a self-describing POJO.\n *\n * @remarks\n * Transaction results MUST include contract and function for proper event parsing.\n * This strongly-typed design enables automatic event extraction without heuristics.\n * Use `vana.waitForTransactionEvents()` to retrieve typed events from the receipt.\n *\n * **Architecture:**\n * POJOs (Plain Old JavaScript Objects) ensure serialization safety and framework\n * independence. Contract and function fields enable deterministic event parsing.\n *\n * @category Operations\n * @example\n * ```typescript\n * const result: TransactionResult = {\n * hash: '0x123...',\n * from: '0x456...',\n * contract: 'DataRegistry',\n * fn: 'addFile',\n * chainId: 14800\n * };\n *\n * // Wait for events\n * const events = await vana.waitForTransactionEvents(result);\n * ```\n */\nexport interface TransactionResult<\n C extends Contract = Contract,\n F extends Fn<C> = Fn<C>,\n> {\n /** Transaction hash for tracking and confirmation */\n hash: Hash;\n /** Sender's wallet address */\n from: Address;\n /** Contract that was called (required for event parsing) */\n contract: C;\n /** Function that was called (required for event parsing) */\n fn: F;\n /** Network chain ID where transaction was submitted */\n chainId?: number;\n /** Transaction value in wei (for payable functions) */\n value?: bigint;\n /** Transaction sequence number for the sender */\n nonce?: number;\n /** Contract address (if different from standard deployment) */\n to?: Address;\n}\n\n/**\n * Extends viem's TransactionReceipt with Vana-specific event data.\n *\n * @remarks\n * Includes parsed event data when available after transaction confirmation.\n * Use this for detailed transaction analysis and event processing.\n *\n * @category Operations\n */\nexport interface TransactionReceipt extends ViemReceipt {\n /** Parsed event data if available */\n events?: unknown;\n}\n\n/**\n * Configures polling behavior for asynchronous operations.\n *\n * @remarks\n * Controls how frequently and how long to poll for operation completion.\n * Lower intervals provide faster updates but increase server load.\n *\n * @category Operations\n */\nexport interface PollingOptions {\n /** Polling interval in milliseconds (default: 500) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Configures transaction confirmation waiting behavior.\n *\n * @remarks\n * Controls confirmation depth and timeout for transaction finality.\n * Higher confirmations provide more security against chain reorganizations.\n *\n * @category Operations\n */\nexport interface TransactionWaitOptions {\n /** Number of confirmations to wait for (default: 1) */\n confirmations?: number;\n /** Polling interval in milliseconds (default: 1000) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Validates whether an object conforms to the Operation interface.\n *\n * @remarks\n * Type guard for runtime validation of operation objects from external sources.\n * Use when deserializing operations from API responses or storage.\n *\n * @param obj - The object to validate as an Operation\n * @returns `true` if the object has required Operation properties, `false` otherwise\n *\n * @example\n * ```typescript\n * const response = await fetch('/api/operation/123');\n * const data = await response.json();\n *\n * if (isOperation(data)) {\n * console.log(`Operation ${data.id}: ${data.status}`);\n * }\n * ```\n *\n * @category Operations\n */\nexport function isOperation(obj: unknown): obj is Operation {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n \"id\" in obj &&\n \"status\" in obj &&\n typeof (obj as Record<string, unknown>).id === \"string\" &&\n typeof (obj as Record<string, unknown>).status === \"string\"\n );\n}\n\n/**\n * Validates whether an object conforms to the TransactionResult interface.\n *\n * @remarks\n * Type guard for runtime validation of transaction results.\n * Checks for required hash field with proper `0x` prefix.\n *\n * @param obj - The object to validate as a TransactionResult\n * @returns `true` if the object has a valid transaction hash, `false` otherwise\n *\n * @example\n * ```typescript\n * if (isTransactionResult(result)) {\n * await vana.waitForTransactionEvents(result);\n * }\n * ```\n *\n * @category Operations\n */\nexport function isTransactionResult(obj: unknown): obj is TransactionResult {\n if (typeof obj !== \"object\" || obj === null || !(\"hash\" in obj)) {\n return false;\n }\n const { hash } = obj as Record<string, unknown>;\n return typeof hash === \"string\" && hash.startsWith(\"0x\");\n}\n\n/**\n * Converts a server response to an Operation POJO.\n *\n * @remarks\n * Normalizes server responses into consistent Operation format.\n * Separates success results from error messages based on status.\n *\n * @param response - The raw server response containing operation status data\n * @returns An Operation object with normalized fields for client consumption\n *\n * @example\n * ```typescript\n * const serverResponse = await api.getOperation('op-123');\n * const operation = toOperation<MLResult>(serverResponse);\n *\n * if (operation.status === 'succeeded') {\n * console.log('Result:', operation.result);\n * }\n * ```\n *\n * @category Operations\n */\nexport function toOperation<T>(response: GetOperationResponse): Operation<T> {\n return {\n id: response.id,\n status: response.status as Operation[\"status\"],\n createdAt: Date.now(), // Server doesn't provide this, so we use current time\n result:\n response.status === \"succeeded\" ? (response.result as T) : undefined,\n error:\n response.status === \"failed\" ? (response.result ?? undefined) : undefined,\n };\n}\n\n/**\n * Extracts the operation ID from flexible input types.\n *\n * @remarks\n * Utility for handling both Operation objects and raw ID strings.\n * Enables flexible API design accepting either format.\n *\n * @param opOrId - An Operation object containing an `id` field or a raw operation ID string\n * @returns The operation ID string for use in API calls\n *\n * @example\n * ```typescript\n * // Works with both formats\n * await vana.server.getOperation(operation); // Operation object\n * await vana.server.getOperation('op-123'); // ID string\n * ```\n *\n * @category Operations\n */\nexport function getOperationId(opOrId: Operation | string): string {\n return typeof opOrId === \"string\" ? opOrId : opOrId.id;\n}\n\n/**\n * Extracts the transaction hash from flexible input types.\n *\n * @remarks\n * Utility for handling TransactionResult objects, hash objects, or raw hash strings.\n * Enables consistent hash extraction across different transaction representations.\n *\n * @param txOrHash - A TransactionResult object, any object with a `hash` field, or a raw hash string\n * @returns The transaction hash as a `0x`-prefixed string\n *\n * @example\n * ```typescript\n * // All these work\n * const hash1 = getTransactionHash(transactionResult);\n * const hash2 = getTransactionHash({ hash: '0x123...' });\n * const hash3 = getTransactionHash('0x123...');\n * ```\n *\n * @category Operations\n */\nexport function getTransactionHash(\n txOrHash: TransactionResult | { hash: Hash } | Hash,\n): Hash {\n if (typeof txOrHash === \"string\") {\n return txOrHash;\n }\n return txOrHash.hash;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0JO,SAAS,YAAY,KAAgC;AAC1D,SACE,OAAO,QAAQ,YACf,QAAQ,QACR,QAAQ,OACR,YAAY,OACZ,OAAQ,IAAgC,OAAO,YAC/C,OAAQ,IAAgC,WAAW;AAEvD;AAqBO,SAAS,oBAAoB,KAAwC;AAC1E,MAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ,EAAE,UAAU,MAAM;AAC/D,WAAO;AAAA,EACT;AACA,QAAM,EAAE,KAAK,IAAI;AACjB,SAAO,OAAO,SAAS,YAAY,KAAK,WAAW,IAAI;AACzD;AAwBO,SAAS,YAAe,UAA8C;AAC3E,SAAO;AAAA,IACL,IAAI,SAAS;AAAA,IACb,QAAQ,SAAS;AAAA,IACjB,WAAW,KAAK,IAAI;AAAA;AAAA,IACpB,QACE,SAAS,WAAW,cAAe,SAAS,SAAe;AAAA,IAC7D,OACE,SAAS,WAAW,WAAY,SAAS,UAAU,SAAa;AAAA,EACpE;AACF;AAqBO,SAAS,eAAe,QAAoC;AACjE,SAAO,OAAO,WAAW,WAAW,SAAS,OAAO;AACtD;AAsBO,SAAS,mBACd,UACM;AACN,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO;AAAA,EACT;AACA,SAAO,SAAS;AAClB;","names":[]}
@@ -1,12 +1,19 @@
1
- import { Hash, Address, TransactionReceipt as TransactionReceipt$1 } from 'viem';
2
- import { GetOperationResponse } from '../generated/server/server-exports.js';
3
- import '../generated/server/server.js';
4
-
1
+ import type { Hash, TransactionReceipt as ViemReceipt, Address } from "viem";
2
+ import type { GetOperationResponse } from "../generated/server/server-exports";
3
+ import type { Contract, Fn } from "../generated/event-types";
4
+ export type { TransactionOptions } from "./options";
5
5
  /**
6
- * Server operation result as a plain object.
6
+ * Represents a server-side operation status and result.
7
+ *
8
+ * @remarks
9
+ * Operations track asynchronous server processes like data refinement or ML inference.
10
+ * Poll operation status using `vana.server.waitForOperation()` until completion.
7
11
  * Fully serializable for API responses and cross-process communication.
12
+ *
13
+ * @category Operations
14
+ * @see {@link https://docs.vana.org/docs/operations | Operations Guide}
8
15
  */
9
- interface Operation<T = unknown> {
16
+ export interface Operation<T = unknown> {
10
17
  /** Unique operation identifier */
11
18
  id: string;
12
19
  /** Current operation status */
@@ -23,43 +30,88 @@ interface Operation<T = unknown> {
23
30
  metadata?: Record<string, unknown>;
24
31
  }
25
32
  /**
26
- * Transaction submission result as a plain object.
27
- * Contains immediate transaction details without waiting for confirmation.
33
+ * Represents a submitted blockchain transaction as a self-describing POJO.
34
+ *
35
+ * @remarks
36
+ * Transaction results MUST include contract and function for proper event parsing.
37
+ * This strongly-typed design enables automatic event extraction without heuristics.
38
+ * Use `vana.waitForTransactionEvents()` to retrieve typed events from the receipt.
39
+ *
40
+ * **Architecture:**
41
+ * POJOs (Plain Old JavaScript Objects) ensure serialization safety and framework
42
+ * independence. Contract and function fields enable deterministic event parsing.
43
+ *
44
+ * @category Operations
45
+ * @example
46
+ * ```typescript
47
+ * const result: TransactionResult = {
48
+ * hash: '0x123...',
49
+ * from: '0x456...',
50
+ * contract: 'DataRegistry',
51
+ * fn: 'addFile',
52
+ * chainId: 14800
53
+ * };
54
+ *
55
+ * // Wait for events
56
+ * const events = await vana.waitForTransactionEvents(result);
57
+ * ```
28
58
  */
29
- interface TransactionResult {
30
- /** Transaction hash */
59
+ export interface TransactionResult<C extends Contract = Contract, F extends Fn<C> = Fn<C>> {
60
+ /** Transaction hash for tracking and confirmation */
31
61
  hash: Hash;
32
- /** Sender address */
33
- from?: Address;
34
- /** Recipient address */
35
- to?: Address;
36
- /** Transaction nonce */
37
- nonce?: number;
38
- /** Transaction value in wei */
39
- value?: bigint;
40
- /** Chain ID where transaction was submitted */
62
+ /** Sender's wallet address */
63
+ from: Address;
64
+ /** Contract that was called (required for event parsing) */
65
+ contract: C;
66
+ /** Function that was called (required for event parsing) */
67
+ fn: F;
68
+ /** Network chain ID where transaction was submitted */
41
69
  chainId?: number;
70
+ /** Transaction value in wei (for payable functions) */
71
+ value?: bigint;
72
+ /** Transaction sequence number for the sender */
73
+ nonce?: number;
74
+ /** Contract address (if different from standard deployment) */
75
+ to?: Address;
42
76
  }
43
77
  /**
44
- * Extended transaction receipt with Vana-specific fields
78
+ * Extends viem's TransactionReceipt with Vana-specific event data.
79
+ *
80
+ * @remarks
81
+ * Includes parsed event data when available after transaction confirmation.
82
+ * Use this for detailed transaction analysis and event processing.
83
+ *
84
+ * @category Operations
45
85
  */
46
- interface TransactionReceipt extends TransactionReceipt$1 {
86
+ export interface TransactionReceipt extends ViemReceipt {
47
87
  /** Parsed event data if available */
48
88
  events?: unknown;
49
89
  }
50
90
  /**
51
- * Options for polling operations
91
+ * Configures polling behavior for asynchronous operations.
92
+ *
93
+ * @remarks
94
+ * Controls how frequently and how long to poll for operation completion.
95
+ * Lower intervals provide faster updates but increase server load.
96
+ *
97
+ * @category Operations
52
98
  */
53
- interface PollingOptions {
99
+ export interface PollingOptions {
54
100
  /** Polling interval in milliseconds (default: 500) */
55
101
  pollingInterval?: number;
56
102
  /** Maximum time to wait in milliseconds (default: 30000) */
57
103
  timeout?: number;
58
104
  }
59
105
  /**
60
- * Options for waiting for transaction confirmation
106
+ * Configures transaction confirmation waiting behavior.
107
+ *
108
+ * @remarks
109
+ * Controls confirmation depth and timeout for transaction finality.
110
+ * Higher confirmations provide more security against chain reorganizations.
111
+ *
112
+ * @category Operations
61
113
  */
62
- interface TransactionWaitOptions {
114
+ export interface TransactionWaitOptions {
63
115
  /** Number of confirmations to wait for (default: 1) */
64
116
  confirmations?: number;
65
117
  /** Polling interval in milliseconds (default: 1000) */
@@ -70,39 +122,109 @@ interface TransactionWaitOptions {
70
122
  /**
71
123
  * Validates whether an object conforms to the Operation interface.
72
124
  *
73
- * @param obj - The object to validate as an Operation.
74
- * @returns `true` if the object has required Operation properties, `false` otherwise.
125
+ * @remarks
126
+ * Type guard for runtime validation of operation objects from external sources.
127
+ * Use when deserializing operations from API responses or storage.
128
+ *
129
+ * @param obj - The object to validate as an Operation
130
+ * @returns `true` if the object has required Operation properties, `false` otherwise
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const response = await fetch('/api/operation/123');
135
+ * const data = await response.json();
136
+ *
137
+ * if (isOperation(data)) {
138
+ * console.log(`Operation ${data.id}: ${data.status}`);
139
+ * }
140
+ * ```
141
+ *
142
+ * @category Operations
75
143
  */
76
- declare function isOperation(obj: unknown): obj is Operation;
144
+ export declare function isOperation(obj: unknown): obj is Operation;
77
145
  /**
78
146
  * Validates whether an object conforms to the TransactionResult interface.
79
147
  *
80
- * @param obj - The object to validate as a TransactionResult.
81
- * @returns `true` if the object has a valid transaction hash, `false` otherwise.
148
+ * @remarks
149
+ * Type guard for runtime validation of transaction results.
150
+ * Checks for required hash field with proper `0x` prefix.
151
+ *
152
+ * @param obj - The object to validate as a TransactionResult
153
+ * @returns `true` if the object has a valid transaction hash, `false` otherwise
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * if (isTransactionResult(result)) {
158
+ * await vana.waitForTransactionEvents(result);
159
+ * }
160
+ * ```
161
+ *
162
+ * @category Operations
82
163
  */
83
- declare function isTransactionResult(obj: unknown): obj is TransactionResult;
164
+ export declare function isTransactionResult(obj: unknown): obj is TransactionResult;
84
165
  /**
85
166
  * Converts a server response to an Operation POJO.
86
167
  *
87
- * @param response - The raw server response containing operation status data.
88
- * @returns An Operation object with normalized fields for client consumption.
168
+ * @remarks
169
+ * Normalizes server responses into consistent Operation format.
170
+ * Separates success results from error messages based on status.
171
+ *
172
+ * @param response - The raw server response containing operation status data
173
+ * @returns An Operation object with normalized fields for client consumption
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const serverResponse = await api.getOperation('op-123');
178
+ * const operation = toOperation<MLResult>(serverResponse);
179
+ *
180
+ * if (operation.status === 'succeeded') {
181
+ * console.log('Result:', operation.result);
182
+ * }
183
+ * ```
184
+ *
185
+ * @category Operations
89
186
  */
90
- declare function toOperation<T>(response: GetOperationResponse): Operation<T>;
187
+ export declare function toOperation<T>(response: GetOperationResponse): Operation<T>;
91
188
  /**
92
189
  * Extracts the operation ID from flexible input types.
93
190
  *
94
- * @param opOrId - An Operation object containing an `id` field or a raw operation ID string.
95
- * @returns The operation ID string for use in API calls.
191
+ * @remarks
192
+ * Utility for handling both Operation objects and raw ID strings.
193
+ * Enables flexible API design accepting either format.
194
+ *
195
+ * @param opOrId - An Operation object containing an `id` field or a raw operation ID string
196
+ * @returns The operation ID string for use in API calls
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * // Works with both formats
201
+ * await vana.server.getOperation(operation); // Operation object
202
+ * await vana.server.getOperation('op-123'); // ID string
203
+ * ```
204
+ *
205
+ * @category Operations
96
206
  */
97
- declare function getOperationId(opOrId: Operation | string): string;
207
+ export declare function getOperationId(opOrId: Operation | string): string;
98
208
  /**
99
209
  * Extracts the transaction hash from flexible input types.
100
210
  *
101
- * @param txOrHash - A TransactionResult object, any object with a `hash` field, or a raw hash string.
102
- * @returns The transaction hash as a `0x`-prefixed string.
211
+ * @remarks
212
+ * Utility for handling TransactionResult objects, hash objects, or raw hash strings.
213
+ * Enables consistent hash extraction across different transaction representations.
214
+ *
215
+ * @param txOrHash - A TransactionResult object, any object with a `hash` field, or a raw hash string
216
+ * @returns The transaction hash as a `0x`-prefixed string
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * // All these work
221
+ * const hash1 = getTransactionHash(transactionResult);
222
+ * const hash2 = getTransactionHash({ hash: '0x123...' });
223
+ * const hash3 = getTransactionHash('0x123...');
224
+ * ```
225
+ *
226
+ * @category Operations
103
227
  */
104
- declare function getTransactionHash(txOrHash: TransactionResult | {
228
+ export declare function getTransactionHash(txOrHash: TransactionResult | {
105
229
  hash: Hash;
106
230
  } | Hash): Hash;
107
-
108
- export { type Operation, type PollingOptions, type TransactionReceipt, type TransactionResult, type TransactionWaitOptions, getOperationId, getTransactionHash, isOperation, isTransactionResult, toOperation };
@@ -5,7 +5,7 @@ function isTransactionResult(obj) {
5
5
  if (typeof obj !== "object" || obj === null || !("hash" in obj)) {
6
6
  return false;
7
7
  }
8
- const hash = obj.hash;
8
+ const { hash } = obj;
9
9
  return typeof hash === "string" && hash.startsWith("0x");
10
10
  }
11
11
  function toOperation(response) {
@@ -15,7 +15,7 @@ function toOperation(response) {
15
15
  createdAt: Date.now(),
16
16
  // Server doesn't provide this, so we use current time
17
17
  result: response.status === "succeeded" ? response.result : void 0,
18
- error: response.status === "failed" ? response.result || void 0 : void 0
18
+ error: response.status === "failed" ? response.result ?? void 0 : void 0
19
19
  };
20
20
  }
21
21
  function getOperationId(opOrId) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/operations.ts"],"sourcesContent":["import type { Hash, TransactionReceipt as ViemReceipt, Address } from \"viem\";\nimport type { GetOperationResponse } from \"../generated/server/server-exports\";\n\n/**\n * Server operation result as a plain object.\n * Fully serializable for API responses and cross-process communication.\n */\nexport interface Operation<T = unknown> {\n /** Unique operation identifier */\n id: string;\n /** Current operation status */\n status: \"starting\" | \"running\" | \"succeeded\" | \"failed\" | \"canceled\";\n /** Unix timestamp when operation was created */\n createdAt: number;\n /** Unix timestamp when operation was last updated */\n updatedAt?: number;\n /** Operation result when status is 'succeeded' */\n result?: T;\n /** Error message when status is 'failed' */\n error?: string;\n /** Additional operation metadata */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Transaction submission result as a plain object.\n * Contains immediate transaction details without waiting for confirmation.\n */\nexport interface TransactionResult {\n /** Transaction hash */\n hash: Hash;\n /** Sender address */\n from?: Address;\n /** Recipient address */\n to?: Address;\n /** Transaction nonce */\n nonce?: number;\n /** Transaction value in wei */\n value?: bigint;\n /** Chain ID where transaction was submitted */\n chainId?: number;\n}\n\n/**\n * Extended transaction receipt with Vana-specific fields\n */\nexport interface TransactionReceipt extends ViemReceipt {\n /** Parsed event data if available */\n events?: unknown;\n}\n\n/**\n * Options for polling operations\n */\nexport interface PollingOptions {\n /** Polling interval in milliseconds (default: 500) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Options for waiting for transaction confirmation\n */\nexport interface TransactionWaitOptions {\n /** Number of confirmations to wait for (default: 1) */\n confirmations?: number;\n /** Polling interval in milliseconds (default: 1000) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Validates whether an object conforms to the Operation interface.\n *\n * @param obj - The object to validate as an Operation.\n * @returns `true` if the object has required Operation properties, `false` otherwise.\n */\nexport function isOperation(obj: unknown): obj is Operation {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n \"id\" in obj &&\n \"status\" in obj &&\n typeof (obj as Record<string, unknown>).id === \"string\" &&\n typeof (obj as Record<string, unknown>).status === \"string\"\n );\n}\n\n/**\n * Validates whether an object conforms to the TransactionResult interface.\n *\n * @param obj - The object to validate as a TransactionResult.\n * @returns `true` if the object has a valid transaction hash, `false` otherwise.\n */\nexport function isTransactionResult(obj: unknown): obj is TransactionResult {\n if (typeof obj !== \"object\" || obj === null || !(\"hash\" in obj)) {\n return false;\n }\n const hash = (obj as Record<string, unknown>).hash;\n return typeof hash === \"string\" && hash.startsWith(\"0x\");\n}\n\n/**\n * Converts a server response to an Operation POJO.\n *\n * @param response - The raw server response containing operation status data.\n * @returns An Operation object with normalized fields for client consumption.\n */\nexport function toOperation<T>(response: GetOperationResponse): Operation<T> {\n return {\n id: response.id,\n status: response.status as Operation[\"status\"],\n createdAt: Date.now(), // Server doesn't provide this, so we use current time\n result:\n response.status === \"succeeded\" ? (response.result as T) : undefined,\n error:\n response.status === \"failed\" ? response.result || undefined : undefined,\n };\n}\n\n/**\n * Extracts the operation ID from flexible input types.\n *\n * @param opOrId - An Operation object containing an `id` field or a raw operation ID string.\n * @returns The operation ID string for use in API calls.\n */\nexport function getOperationId(opOrId: Operation | string): string {\n return typeof opOrId === \"string\" ? opOrId : opOrId.id;\n}\n\n/**\n * Extracts the transaction hash from flexible input types.\n *\n * @param txOrHash - A TransactionResult object, any object with a `hash` field, or a raw hash string.\n * @returns The transaction hash as a `0x`-prefixed string.\n */\nexport function getTransactionHash(\n txOrHash: TransactionResult | { hash: Hash } | Hash,\n): Hash {\n if (typeof txOrHash === \"string\") {\n return txOrHash;\n }\n return txOrHash.hash;\n}\n"],"mappings":"AA+EO,SAAS,YAAY,KAAgC;AAC1D,SACE,OAAO,QAAQ,YACf,QAAQ,QACR,QAAQ,OACR,YAAY,OACZ,OAAQ,IAAgC,OAAO,YAC/C,OAAQ,IAAgC,WAAW;AAEvD;AAQO,SAAS,oBAAoB,KAAwC;AAC1E,MAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ,EAAE,UAAU,MAAM;AAC/D,WAAO;AAAA,EACT;AACA,QAAM,OAAQ,IAAgC;AAC9C,SAAO,OAAO,SAAS,YAAY,KAAK,WAAW,IAAI;AACzD;AAQO,SAAS,YAAe,UAA8C;AAC3E,SAAO;AAAA,IACL,IAAI,SAAS;AAAA,IACb,QAAQ,SAAS;AAAA,IACjB,WAAW,KAAK,IAAI;AAAA;AAAA,IACpB,QACE,SAAS,WAAW,cAAe,SAAS,SAAe;AAAA,IAC7D,OACE,SAAS,WAAW,WAAW,SAAS,UAAU,SAAY;AAAA,EAClE;AACF;AAQO,SAAS,eAAe,QAAoC;AACjE,SAAO,OAAO,WAAW,WAAW,SAAS,OAAO;AACtD;AAQO,SAAS,mBACd,UACM;AACN,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO;AAAA,EACT;AACA,SAAO,SAAS;AAClB;","names":[]}
1
+ {"version":3,"sources":["../../src/types/operations.ts"],"sourcesContent":["import type { Hash, TransactionReceipt as ViemReceipt, Address } from \"viem\";\nimport type { GetOperationResponse } from \"../generated/server/server-exports\";\nimport type { Contract, Fn } from \"../generated/event-types\";\n\n// Re-export TransactionOptions from the new options module\nexport type { TransactionOptions } from \"./options\";\n\n/**\n * Represents a server-side operation status and result.\n *\n * @remarks\n * Operations track asynchronous server processes like data refinement or ML inference.\n * Poll operation status using `vana.server.waitForOperation()` until completion.\n * Fully serializable for API responses and cross-process communication.\n *\n * @category Operations\n * @see {@link https://docs.vana.org/docs/operations | Operations Guide}\n */\nexport interface Operation<T = unknown> {\n /** Unique operation identifier */\n id: string;\n /** Current operation status */\n status: \"starting\" | \"running\" | \"succeeded\" | \"failed\" | \"canceled\";\n /** Unix timestamp when operation was created */\n createdAt: number;\n /** Unix timestamp when operation was last updated */\n updatedAt?: number;\n /** Operation result when status is 'succeeded' */\n result?: T;\n /** Error message when status is 'failed' */\n error?: string;\n /** Additional operation metadata */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Represents a submitted blockchain transaction as a self-describing POJO.\n *\n * @remarks\n * Transaction results MUST include contract and function for proper event parsing.\n * This strongly-typed design enables automatic event extraction without heuristics.\n * Use `vana.waitForTransactionEvents()` to retrieve typed events from the receipt.\n *\n * **Architecture:**\n * POJOs (Plain Old JavaScript Objects) ensure serialization safety and framework\n * independence. Contract and function fields enable deterministic event parsing.\n *\n * @category Operations\n * @example\n * ```typescript\n * const result: TransactionResult = {\n * hash: '0x123...',\n * from: '0x456...',\n * contract: 'DataRegistry',\n * fn: 'addFile',\n * chainId: 14800\n * };\n *\n * // Wait for events\n * const events = await vana.waitForTransactionEvents(result);\n * ```\n */\nexport interface TransactionResult<\n C extends Contract = Contract,\n F extends Fn<C> = Fn<C>,\n> {\n /** Transaction hash for tracking and confirmation */\n hash: Hash;\n /** Sender's wallet address */\n from: Address;\n /** Contract that was called (required for event parsing) */\n contract: C;\n /** Function that was called (required for event parsing) */\n fn: F;\n /** Network chain ID where transaction was submitted */\n chainId?: number;\n /** Transaction value in wei (for payable functions) */\n value?: bigint;\n /** Transaction sequence number for the sender */\n nonce?: number;\n /** Contract address (if different from standard deployment) */\n to?: Address;\n}\n\n/**\n * Extends viem's TransactionReceipt with Vana-specific event data.\n *\n * @remarks\n * Includes parsed event data when available after transaction confirmation.\n * Use this for detailed transaction analysis and event processing.\n *\n * @category Operations\n */\nexport interface TransactionReceipt extends ViemReceipt {\n /** Parsed event data if available */\n events?: unknown;\n}\n\n/**\n * Configures polling behavior for asynchronous operations.\n *\n * @remarks\n * Controls how frequently and how long to poll for operation completion.\n * Lower intervals provide faster updates but increase server load.\n *\n * @category Operations\n */\nexport interface PollingOptions {\n /** Polling interval in milliseconds (default: 500) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Configures transaction confirmation waiting behavior.\n *\n * @remarks\n * Controls confirmation depth and timeout for transaction finality.\n * Higher confirmations provide more security against chain reorganizations.\n *\n * @category Operations\n */\nexport interface TransactionWaitOptions {\n /** Number of confirmations to wait for (default: 1) */\n confirmations?: number;\n /** Polling interval in milliseconds (default: 1000) */\n pollingInterval?: number;\n /** Maximum time to wait in milliseconds (default: 30000) */\n timeout?: number;\n}\n\n/**\n * Validates whether an object conforms to the Operation interface.\n *\n * @remarks\n * Type guard for runtime validation of operation objects from external sources.\n * Use when deserializing operations from API responses or storage.\n *\n * @param obj - The object to validate as an Operation\n * @returns `true` if the object has required Operation properties, `false` otherwise\n *\n * @example\n * ```typescript\n * const response = await fetch('/api/operation/123');\n * const data = await response.json();\n *\n * if (isOperation(data)) {\n * console.log(`Operation ${data.id}: ${data.status}`);\n * }\n * ```\n *\n * @category Operations\n */\nexport function isOperation(obj: unknown): obj is Operation {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n \"id\" in obj &&\n \"status\" in obj &&\n typeof (obj as Record<string, unknown>).id === \"string\" &&\n typeof (obj as Record<string, unknown>).status === \"string\"\n );\n}\n\n/**\n * Validates whether an object conforms to the TransactionResult interface.\n *\n * @remarks\n * Type guard for runtime validation of transaction results.\n * Checks for required hash field with proper `0x` prefix.\n *\n * @param obj - The object to validate as a TransactionResult\n * @returns `true` if the object has a valid transaction hash, `false` otherwise\n *\n * @example\n * ```typescript\n * if (isTransactionResult(result)) {\n * await vana.waitForTransactionEvents(result);\n * }\n * ```\n *\n * @category Operations\n */\nexport function isTransactionResult(obj: unknown): obj is TransactionResult {\n if (typeof obj !== \"object\" || obj === null || !(\"hash\" in obj)) {\n return false;\n }\n const { hash } = obj as Record<string, unknown>;\n return typeof hash === \"string\" && hash.startsWith(\"0x\");\n}\n\n/**\n * Converts a server response to an Operation POJO.\n *\n * @remarks\n * Normalizes server responses into consistent Operation format.\n * Separates success results from error messages based on status.\n *\n * @param response - The raw server response containing operation status data\n * @returns An Operation object with normalized fields for client consumption\n *\n * @example\n * ```typescript\n * const serverResponse = await api.getOperation('op-123');\n * const operation = toOperation<MLResult>(serverResponse);\n *\n * if (operation.status === 'succeeded') {\n * console.log('Result:', operation.result);\n * }\n * ```\n *\n * @category Operations\n */\nexport function toOperation<T>(response: GetOperationResponse): Operation<T> {\n return {\n id: response.id,\n status: response.status as Operation[\"status\"],\n createdAt: Date.now(), // Server doesn't provide this, so we use current time\n result:\n response.status === \"succeeded\" ? (response.result as T) : undefined,\n error:\n response.status === \"failed\" ? (response.result ?? undefined) : undefined,\n };\n}\n\n/**\n * Extracts the operation ID from flexible input types.\n *\n * @remarks\n * Utility for handling both Operation objects and raw ID strings.\n * Enables flexible API design accepting either format.\n *\n * @param opOrId - An Operation object containing an `id` field or a raw operation ID string\n * @returns The operation ID string for use in API calls\n *\n * @example\n * ```typescript\n * // Works with both formats\n * await vana.server.getOperation(operation); // Operation object\n * await vana.server.getOperation('op-123'); // ID string\n * ```\n *\n * @category Operations\n */\nexport function getOperationId(opOrId: Operation | string): string {\n return typeof opOrId === \"string\" ? opOrId : opOrId.id;\n}\n\n/**\n * Extracts the transaction hash from flexible input types.\n *\n * @remarks\n * Utility for handling TransactionResult objects, hash objects, or raw hash strings.\n * Enables consistent hash extraction across different transaction representations.\n *\n * @param txOrHash - A TransactionResult object, any object with a `hash` field, or a raw hash string\n * @returns The transaction hash as a `0x`-prefixed string\n *\n * @example\n * ```typescript\n * // All these work\n * const hash1 = getTransactionHash(transactionResult);\n * const hash2 = getTransactionHash({ hash: '0x123...' });\n * const hash3 = getTransactionHash('0x123...');\n * ```\n *\n * @category Operations\n */\nexport function getTransactionHash(\n txOrHash: TransactionResult | { hash: Hash } | Hash,\n): Hash {\n if (typeof txOrHash === \"string\") {\n return txOrHash;\n }\n return txOrHash.hash;\n}\n"],"mappings":"AA0JO,SAAS,YAAY,KAAgC;AAC1D,SACE,OAAO,QAAQ,YACf,QAAQ,QACR,QAAQ,OACR,YAAY,OACZ,OAAQ,IAAgC,OAAO,YAC/C,OAAQ,IAAgC,WAAW;AAEvD;AAqBO,SAAS,oBAAoB,KAAwC;AAC1E,MAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ,EAAE,UAAU,MAAM;AAC/D,WAAO;AAAA,EACT;AACA,QAAM,EAAE,KAAK,IAAI;AACjB,SAAO,OAAO,SAAS,YAAY,KAAK,WAAW,IAAI;AACzD;AAwBO,SAAS,YAAe,UAA8C;AAC3E,SAAO;AAAA,IACL,IAAI,SAAS;AAAA,IACb,QAAQ,SAAS;AAAA,IACjB,WAAW,KAAK,IAAI;AAAA;AAAA,IACpB,QACE,SAAS,WAAW,cAAe,SAAS,SAAe;AAAA,IAC7D,OACE,SAAS,WAAW,WAAY,SAAS,UAAU,SAAa;AAAA,EACpE;AACF;AAqBO,SAAS,eAAe,QAAoC;AACjE,SAAO,OAAO,WAAW,WAAW,SAAS,OAAO;AACtD;AAsBO,SAAS,mBACd,UACM;AACN,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO;AAAA,EACT;AACA,SAAO,SAAS;AAClB;","names":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var options_exports = {};
16
+ module.exports = __toCommonJS(options_exports);
17
+ //# sourceMappingURL=options.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/options.ts"],"sourcesContent":["/**\n * @file Standard option types for Vana SDK methods\n * @module vana-sdk/types/options\n */\n\n/**\n * Transaction options for blockchain write operations.\n *\n * @remarks\n * Aligned with viem's transaction parameters for consistency.\n * These options control gas pricing, limits, polling behavior, and other transaction-specific settings.\n *\n * @example\n * ```typescript\n * // Basic usage with gas options\n * await vana.data.upload(params, {\n * gas: 1000000n,\n * maxFeePerGas: 20000000000n\n * });\n *\n * // With status updates for long-running operations\n * await vana.permissions.grant({ grantee: '0x...' }, {\n * onStatusUpdate: (status) => {\n * if (status.type === 'queued') {\n * console.log(`Position in queue: ${status.position}`);\n * }\n * }\n * });\n *\n * // With cancellation support\n * const controller = new AbortController();\n * const promise = vana.permissions.grant({ grantee: '0x...' }, {\n * signal: controller.signal\n * });\n * // Cancel after 30 seconds\n * setTimeout(() => controller.abort(), 30000);\n * ```\n *\n * @category Options\n */\nexport interface TransactionOptions {\n /** Gas limit for the transaction */\n gas?: bigint;\n\n /** Gas price in wei (for legacy transactions) */\n gasPrice?: bigint;\n\n /** Maximum fee per gas in wei (EIP-1559) */\n maxFeePerGas?: bigint;\n\n /** Maximum priority fee per gas in wei (EIP-1559) */\n maxPriorityFeePerGas?: bigint;\n\n /** Transaction nonce override */\n nonce?: number;\n\n /** ETH value to send with transaction */\n value?: bigint;\n\n /**\n * AbortSignal for cancelling long-running operations.\n *\n * @remarks\n * Useful for cancelling pending transactions or polling operations.\n * When aborted, the operation will throw an error immediately.\n */\n signal?: AbortSignal;\n\n /**\n * Callback for receiving status updates during long-running operations.\n *\n * @remarks\n * Called whenever the operation status changes (e.g., from pending to queued).\n * Useful for showing progress in UI during multi-minute operations.\n *\n * @param status - The current operation status\n */\n onStatusUpdate?: (status: OperationStatus) => void;\n\n /**\n * Custom polling options for long-running operations.\n *\n * @remarks\n * Overrides default polling behavior for operations that use the relayer.\n * Generally not needed unless you have specific timing requirements.\n */\n pollingOptions?: {\n /** Total timeout in milliseconds (default: 300000 = 5 min) */\n timeout?: number;\n /** Initial polling interval in milliseconds (default: 1000) */\n initialInterval?: number;\n /** Maximum polling interval in milliseconds (default: 10000) */\n maxInterval?: number;\n };\n}\n\n/**\n * Represents the current status of a blockchain operation.\n *\n * @remarks\n * Used for status updates during long-running operations via the onStatusUpdate callback.\n * Provides detailed information about the operation's progress through its lifecycle.\n *\n * @category Options\n */\nexport type OperationStatus =\n | {\n /** Operation is pending, not yet processed */\n type: \"pending\";\n /** The operation ID for tracking */\n operationId: string;\n }\n | {\n /** Operation is queued for processing */\n type: \"queued\";\n /** Position in the processing queue */\n position?: number;\n /** Estimated wait time in seconds */\n estimatedWait?: number;\n }\n | {\n /** Operation is actively being processed */\n type: \"processing\";\n }\n | {\n /** Transaction has been submitted to blockchain */\n type: \"submitted\";\n /** The transaction hash */\n hash: `0x${string}`;\n }\n | {\n /** Transaction has been confirmed on-chain */\n type: \"confirmed\";\n /** The transaction hash */\n hash: `0x${string}`;\n /** The transaction receipt if available */\n receipt?: unknown;\n }\n | {\n /** Operation failed with an error */\n type: \"failed\";\n /** Error message describing the failure */\n error: string;\n /** Operation ID if available for recovery */\n operationId?: string;\n };\n\n/**\n * Source selection for data queries.\n *\n * @remarks\n * - `chain`: Query directly from blockchain (immediate consistency)\n * - `subgraph`: Query from indexed subgraph (may lag 15-60s)\n * - `auto`: SDK chooses optimal source (default)\n *\n * @category Options\n */\nexport type DataSource = \"chain\" | \"subgraph\" | \"auto\";\n\n/**\n * Consistency options for read operations.\n *\n * @remarks\n * Controls data freshness requirements and source selection.\n * Essential for read-after-write consistency when data must reflect recent transactions.\n *\n * @example\n * ```typescript\n * // Ensure data includes a recent transaction\n * const files = await vana.data.getUserFiles({ owner }, {\n * minBlock: receipt.blockNumber,\n * waitForSync: 30000 // Wait up to 30s\n * });\n * ```\n *\n * @category Options\n */\nexport interface ConsistencyOptions {\n /**\n * Minimum block number the data source must have indexed.\n *\n * @remarks\n * Operation will fail or wait (if waitForSync set) until source reaches this block.\n * Critical for ensuring recently created data is visible.\n */\n minBlock?: number;\n\n /**\n * Maximum milliseconds to wait for data source to sync to minBlock.\n *\n * @remarks\n * If not set, operation fails immediately when source is behind.\n * Useful for critical operations where waiting is preferable to failure.\n *\n * @default undefined (no waiting)\n */\n waitForSync?: number;\n\n /**\n * Explicitly select data source.\n *\n * @remarks\n * Useful for debugging or when specific consistency guarantees are needed.\n * Not all methods support all sources - unsupported selections will error.\n *\n * @default 'auto'\n */\n source?: DataSource;\n\n /**\n * AbortSignal for cancelling long-running operations.\n *\n * @remarks\n * Particularly useful with waitForSync to cancel polling operations.\n * Properly cleans up timers and pending requests when aborted.\n *\n * @example\n * ```typescript\n * const controller = new AbortController();\n * const promise = vana.data.getUserFiles(\n * { owner },\n * { waitForSync: 30000, signal: controller.signal }\n * );\n *\n * // Cancel after 5 seconds\n * setTimeout(() => controller.abort(), 5000);\n * ```\n */\n signal?: AbortSignal;\n}\n\n/**\n * Pagination options for list operations.\n *\n * @remarks\n * Controls result set size, ordering, and pagination.\n * By default returns first 100 items to prevent accidental large fetches.\n *\n * @example\n * ```typescript\n * // Get all files (explicit opt-in)\n * const allFiles = await vana.data.getUserFiles({ owner }, {\n * fetchAll: true\n * });\n *\n * // Get 10 most recent files\n * const recentFiles = await vana.data.getUserFiles({ owner }, {\n * limit: 10,\n * orderBy: 'addedAtBlock',\n * orderDirection: 'desc'\n * });\n * ```\n *\n * @category Options\n */\nexport interface PaginationOptions {\n /**\n * Maximum number of items to return.\n *\n * @remarks\n * Prevents accidental large fetches. Use fetchAll: true for unlimited.\n *\n * @default 100\n */\n limit?: number;\n\n /**\n * Number of items to skip (for manual pagination).\n *\n * @default 0\n */\n offset?: number;\n\n /**\n * Field to order results by.\n *\n * @remarks\n * Field names depend on the entity type.\n * Common: 'id', 'addedAtBlock', 'addedAtTimestamp'\n */\n orderBy?: string;\n\n /**\n * Sort direction for orderBy field.\n *\n * @default 'desc' for timestamp/block fields, 'asc' for others\n */\n orderDirection?: \"asc\" | \"desc\";\n\n /**\n * Explicitly fetch all available items.\n *\n * @remarks\n * Override safety limit. SDK will paginate internally to fetch all results.\n * Use with caution - can result in many API calls and large memory usage.\n *\n * @default false\n */\n fetchAll?: boolean;\n}\n\n/**\n * Combined options for read operations that return lists.\n *\n * @remarks\n * Convenience type combining consistency and pagination controls.\n *\n * @category Options\n */\nexport type ListOptions = ConsistencyOptions & PaginationOptions;\n\n/**\n * Combined options for write operations that may read data.\n *\n * @remarks\n * Some write operations need to read data (e.g., schema validation).\n * This type combines transaction and consistency options.\n *\n * @category Options\n */\nexport type WriteOptions = TransactionOptions & ConsistencyOptions;\n\n/**\n * Legacy transaction options type for backwards compatibility.\n *\n * @deprecated Use TransactionOptions instead. Will be removed in next major version.\n * @category Options\n */\nexport interface LegacyTransactionOptions {\n /** @deprecated Use `gas` instead */\n gasLimit?: bigint;\n gasPrice?: bigint;\n maxFeePerGas?: bigint;\n maxPriorityFeePerGas?: bigint;\n nonce?: number;\n value?: bigint;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}