@opendatalabs/vana-sdk 2.3.0 → 3.0.1

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 (623) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +150 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +129 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/envelope/openpgp.cjs +59 -0
  48. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  49. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  50. package/dist/crypto/envelope/openpgp.js +24 -0
  51. package/dist/crypto/envelope/openpgp.js.map +1 -0
  52. package/dist/crypto/keys/derive.cjs +65 -0
  53. package/dist/crypto/keys/derive.cjs.map +1 -0
  54. package/dist/crypto/keys/derive.d.ts +45 -0
  55. package/dist/crypto/keys/derive.js +38 -0
  56. package/dist/crypto/keys/derive.js.map +1 -0
  57. package/dist/errors.cjs +10 -0
  58. package/dist/errors.cjs.map +1 -1
  59. package/dist/errors.js +10 -0
  60. package/dist/errors.js.map +1 -1
  61. package/dist/generated/abi/index.cjs +2 -37
  62. package/dist/generated/abi/index.cjs.map +1 -1
  63. package/dist/generated/abi/index.d.ts +2683 -9296
  64. package/dist/generated/abi/index.js +2 -29
  65. package/dist/generated/abi/index.js.map +1 -1
  66. package/dist/generated/addresses.cjs +5 -107
  67. package/dist/generated/addresses.cjs.map +1 -1
  68. package/dist/generated/addresses.d.ts +5 -99
  69. package/dist/generated/addresses.js +5 -105
  70. package/dist/generated/addresses.js.map +1 -1
  71. package/dist/index.browser.d.ts +24 -140
  72. package/dist/index.browser.js +32258 -114
  73. package/dist/index.browser.js.map +7 -1
  74. package/dist/index.node.cjs +32980 -160
  75. package/dist/index.node.cjs.map +7 -1
  76. package/dist/index.node.d.ts +23 -210
  77. package/dist/index.node.js +32884 -133
  78. package/dist/index.node.js.map +7 -1
  79. package/dist/protocol/data-file.cjs +56 -0
  80. package/dist/protocol/data-file.cjs.map +1 -0
  81. package/dist/protocol/data-file.d.ts +20 -0
  82. package/dist/protocol/data-file.js +30 -0
  83. package/dist/protocol/data-file.js.map +1 -0
  84. package/dist/protocol/eip712.cjs +123 -0
  85. package/dist/protocol/eip712.cjs.map +1 -0
  86. package/dist/protocol/eip712.d.ts +117 -0
  87. package/dist/protocol/eip712.js +90 -0
  88. package/dist/protocol/eip712.js.map +1 -0
  89. package/dist/protocol/gateway.cjs +226 -0
  90. package/dist/protocol/gateway.cjs.map +1 -0
  91. package/dist/protocol/gateway.d.ts +120 -0
  92. package/dist/protocol/gateway.js +202 -0
  93. package/dist/protocol/gateway.js.map +1 -0
  94. package/dist/protocol/grants.cjs +146 -0
  95. package/dist/protocol/grants.cjs.map +1 -0
  96. package/dist/protocol/grants.d.ts +31 -0
  97. package/dist/protocol/grants.js +123 -0
  98. package/dist/protocol/grants.js.map +1 -0
  99. package/dist/protocol/scopes.cjs +78 -0
  100. package/dist/protocol/scopes.cjs.map +1 -0
  101. package/dist/protocol/scopes.d.ts +13 -0
  102. package/dist/protocol/scopes.js +50 -0
  103. package/dist/protocol/scopes.js.map +1 -0
  104. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  105. package/dist/storage/default.cjs.map +1 -0
  106. package/dist/storage/default.d.ts +4 -0
  107. package/dist/storage/default.js +8 -0
  108. package/dist/storage/default.js.map +1 -0
  109. package/dist/storage/index.cjs +11 -2
  110. package/dist/storage/index.cjs.map +1 -1
  111. package/dist/storage/index.d.ts +9 -0
  112. package/dist/storage/index.js +7 -1
  113. package/dist/storage/index.js.map +1 -1
  114. package/dist/storage/providers/callback-storage.cjs +1 -0
  115. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  116. package/dist/storage/providers/callback-storage.js +1 -0
  117. package/dist/storage/providers/callback-storage.js.map +1 -1
  118. package/dist/storage/providers/dropbox.cjs +1 -0
  119. package/dist/storage/providers/dropbox.cjs.map +1 -1
  120. package/dist/storage/providers/dropbox.js +1 -0
  121. package/dist/storage/providers/dropbox.js.map +1 -1
  122. package/dist/storage/providers/google-drive.cjs +1 -0
  123. package/dist/storage/providers/google-drive.cjs.map +1 -1
  124. package/dist/storage/providers/google-drive.js +1 -0
  125. package/dist/storage/providers/google-drive.js.map +1 -1
  126. package/dist/storage/providers/ipfs.cjs +1 -0
  127. package/dist/storage/providers/ipfs.cjs.map +1 -1
  128. package/dist/storage/providers/ipfs.js +1 -0
  129. package/dist/storage/providers/ipfs.js.map +1 -1
  130. package/dist/storage/providers/pinata.cjs +1 -0
  131. package/dist/storage/providers/pinata.cjs.map +1 -1
  132. package/dist/storage/providers/pinata.js +1 -0
  133. package/dist/storage/providers/pinata.js.map +1 -1
  134. package/dist/storage/providers/r2.cjs +376 -0
  135. package/dist/storage/providers/r2.cjs.map +1 -0
  136. package/dist/storage/providers/r2.d.ts +91 -0
  137. package/dist/storage/providers/r2.js +354 -0
  138. package/dist/storage/providers/r2.js.map +1 -0
  139. package/dist/storage/providers/vana-storage.cjs +251 -0
  140. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  141. package/dist/storage/providers/vana-storage.d.ts +100 -0
  142. package/dist/storage/providers/vana-storage.js +231 -0
  143. package/dist/storage/providers/vana-storage.js.map +1 -0
  144. package/dist/types/config.cjs +0 -34
  145. package/dist/types/config.cjs.map +1 -1
  146. package/dist/types/config.d.ts +1 -607
  147. package/dist/types/config.js +0 -22
  148. package/dist/types/config.js.map +1 -1
  149. package/dist/types/contracts.cjs.map +1 -1
  150. package/dist/types/contracts.d.ts +1 -1
  151. package/dist/types/index.cjs +2 -33
  152. package/dist/types/index.cjs.map +1 -1
  153. package/dist/types/index.d.ts +2 -33
  154. package/dist/types/index.js +1 -35
  155. package/dist/types/index.js.map +1 -1
  156. package/dist/types/ps-errors.cjs +91 -0
  157. package/dist/types/ps-errors.cjs.map +1 -0
  158. package/dist/types/ps-errors.d.ts +26 -0
  159. package/dist/types/ps-errors.js +66 -0
  160. package/dist/types/ps-errors.js.map +1 -0
  161. package/dist/types.cjs.map +1 -1
  162. package/dist/types.d.ts +0 -29
  163. package/dist/types.js.map +1 -1
  164. package/package.json +7 -25
  165. package/dist/client/enhancedResponse.cjs +0 -164
  166. package/dist/client/enhancedResponse.cjs.map +0 -1
  167. package/dist/client/enhancedResponse.d.ts +0 -120
  168. package/dist/client/enhancedResponse.js +0 -138
  169. package/dist/client/enhancedResponse.js.map +0 -1
  170. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  171. package/dist/controllers/base.cjs +0 -116
  172. package/dist/controllers/base.cjs.map +0 -1
  173. package/dist/controllers/base.d.ts +0 -94
  174. package/dist/controllers/base.js +0 -92
  175. package/dist/controllers/base.js.map +0 -1
  176. package/dist/controllers/data.cjs +0 -2633
  177. package/dist/controllers/data.cjs.map +0 -1
  178. package/dist/controllers/data.d.ts +0 -1067
  179. package/dist/controllers/data.js +0 -2626
  180. package/dist/controllers/data.js.map +0 -1
  181. package/dist/controllers/operations.cjs +0 -430
  182. package/dist/controllers/operations.cjs.map +0 -1
  183. package/dist/controllers/operations.d.ts +0 -229
  184. package/dist/controllers/operations.js +0 -406
  185. package/dist/controllers/operations.js.map +0 -1
  186. package/dist/controllers/permissions.cjs +0 -4368
  187. package/dist/controllers/permissions.cjs.map +0 -1
  188. package/dist/controllers/permissions.d.ts +0 -1411
  189. package/dist/controllers/permissions.js +0 -4344
  190. package/dist/controllers/permissions.js.map +0 -1
  191. package/dist/controllers/protocol.cjs +0 -183
  192. package/dist/controllers/protocol.cjs.map +0 -1
  193. package/dist/controllers/protocol.d.ts +0 -138
  194. package/dist/controllers/protocol.js +0 -163
  195. package/dist/controllers/protocol.js.map +0 -1
  196. package/dist/controllers/schemas.cjs +0 -678
  197. package/dist/controllers/schemas.cjs.map +0 -1
  198. package/dist/controllers/schemas.d.ts +0 -293
  199. package/dist/controllers/schemas.js +0 -654
  200. package/dist/controllers/schemas.js.map +0 -1
  201. package/dist/controllers/server.cjs +0 -643
  202. package/dist/controllers/server.cjs.map +0 -1
  203. package/dist/controllers/server.d.ts +0 -322
  204. package/dist/controllers/server.js +0 -624
  205. package/dist/controllers/server.js.map +0 -1
  206. package/dist/controllers/staking.cjs +0 -626
  207. package/dist/controllers/staking.cjs.map +0 -1
  208. package/dist/controllers/staking.d.ts +0 -457
  209. package/dist/controllers/staking.js +0 -602
  210. package/dist/controllers/staking.js.map +0 -1
  211. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  212. package/dist/core/apiClient.cjs +0 -378
  213. package/dist/core/apiClient.cjs.map +0 -1
  214. package/dist/core/apiClient.d.ts +0 -286
  215. package/dist/core/apiClient.js +0 -359
  216. package/dist/core/apiClient.js.map +0 -1
  217. package/dist/core/generics.cjs +0 -417
  218. package/dist/core/generics.cjs.map +0 -1
  219. package/dist/core/generics.d.ts +0 -205
  220. package/dist/core/generics.js +0 -386
  221. package/dist/core/generics.js.map +0 -1
  222. package/dist/core/health.cjs +0 -289
  223. package/dist/core/health.cjs.map +0 -1
  224. package/dist/core/health.d.ts +0 -143
  225. package/dist/core/health.js +0 -265
  226. package/dist/core/health.js.map +0 -1
  227. package/dist/core/inMemoryNonceManager.cjs +0 -138
  228. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  229. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  230. package/dist/core/inMemoryNonceManager.js +0 -114
  231. package/dist/core/inMemoryNonceManager.js.map +0 -1
  232. package/dist/core/nonceManager.cjs +0 -304
  233. package/dist/core/nonceManager.cjs.map +0 -1
  234. package/dist/core/nonceManager.d.ts +0 -116
  235. package/dist/core/nonceManager.js +0 -280
  236. package/dist/core/nonceManager.js.map +0 -1
  237. package/dist/core/pollingManager.cjs +0 -292
  238. package/dist/core/pollingManager.cjs.map +0 -1
  239. package/dist/core/pollingManager.d.ts +0 -120
  240. package/dist/core/pollingManager.js +0 -268
  241. package/dist/core/pollingManager.js.map +0 -1
  242. package/dist/core.cjs +0 -781
  243. package/dist/core.cjs.map +0 -1
  244. package/dist/core.d.ts +0 -496
  245. package/dist/core.js +0 -756
  246. package/dist/core.js.map +0 -1
  247. package/dist/diagnostics.cjs +0 -37
  248. package/dist/diagnostics.cjs.map +0 -1
  249. package/dist/diagnostics.d.ts +0 -24
  250. package/dist/diagnostics.js +0 -13
  251. package/dist/diagnostics.js.map +0 -1
  252. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  253. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  254. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  255. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  256. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  257. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  258. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  259. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  260. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  261. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  262. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  263. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  264. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  265. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  266. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  267. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  268. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  269. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  270. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  271. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  272. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  273. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  274. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  275. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  276. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  277. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  278. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  279. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  280. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  281. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  282. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  283. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  284. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  285. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  286. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  287. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  288. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  289. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  290. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  291. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  292. package/dist/generated/event-types.cjs +0 -17
  293. package/dist/generated/event-types.cjs.map +0 -1
  294. package/dist/generated/event-types.d.ts +0 -816
  295. package/dist/generated/event-types.js +0 -1
  296. package/dist/generated/event-types.js.map +0 -1
  297. package/dist/generated/eventRegistry.cjs +0 -4512
  298. package/dist/generated/eventRegistry.cjs.map +0 -1
  299. package/dist/generated/eventRegistry.d.ts +0 -14
  300. package/dist/generated/eventRegistry.js +0 -4487
  301. package/dist/generated/eventRegistry.js.map +0 -1
  302. package/dist/generated/server/server-exports.cjs +0 -45
  303. package/dist/generated/server/server-exports.cjs.map +0 -1
  304. package/dist/generated/server/server-exports.d.ts +0 -36
  305. package/dist/generated/server/server-exports.js +0 -19
  306. package/dist/generated/server/server-exports.js.map +0 -1
  307. package/dist/generated/server/server.cjs +0 -17
  308. package/dist/generated/server/server.cjs.map +0 -1
  309. package/dist/generated/server/server.d.ts +0 -907
  310. package/dist/generated/server/server.js +0 -1
  311. package/dist/generated/server/server.js.map +0 -1
  312. package/dist/generated/subgraph.cjs +0 -1440
  313. package/dist/generated/subgraph.cjs.map +0 -1
  314. package/dist/generated/subgraph.d.ts +0 -6113
  315. package/dist/generated/subgraph.js +0 -1404
  316. package/dist/generated/subgraph.js.map +0 -1
  317. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  318. package/dist/lib/redisAtomicStore.cjs +0 -201
  319. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  320. package/dist/lib/redisAtomicStore.d.ts +0 -120
  321. package/dist/lib/redisAtomicStore.js +0 -177
  322. package/dist/lib/redisAtomicStore.js.map +0 -1
  323. package/dist/server/relayerHandler.cjs +0 -452
  324. package/dist/server/relayerHandler.cjs.map +0 -1
  325. package/dist/server/relayerHandler.d.ts +0 -69
  326. package/dist/server/relayerHandler.js +0 -428
  327. package/dist/server/relayerHandler.js.map +0 -1
  328. package/dist/tests/abi.test.d.ts +0 -1
  329. package/dist/tests/chains-definitions.test.d.ts +0 -1
  330. package/dist/tests/core-encryption.test.d.ts +0 -1
  331. package/dist/tests/core-extended.test.d.ts +0 -1
  332. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  333. package/dist/tests/coverage-boost.test.d.ts +0 -1
  334. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  335. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  336. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  337. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  338. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  339. package/dist/tests/data-relayer.test.d.ts +0 -1
  340. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  341. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  342. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  343. package/dist/tests/data.test.d.ts +0 -1
  344. package/dist/tests/demo-integration.test.d.ts +0 -1
  345. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  346. package/dist/tests/download-relayer.test.d.ts +0 -1
  347. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  348. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  349. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  350. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  351. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  352. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  353. package/dist/tests/errors-coverage.test.d.ts +0 -1
  354. package/dist/tests/factories/mockFactory.d.ts +0 -316
  355. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  356. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  357. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  358. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  359. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  360. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  361. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  362. package/dist/tests/helper-methods.test.d.ts +0 -1
  363. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  364. package/dist/tests/index-browser.test.d.ts +0 -1
  365. package/dist/tests/index-node.test.d.ts +0 -1
  366. package/dist/tests/index.test.d.ts +0 -1
  367. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  368. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  369. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  370. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  371. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  372. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  373. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  374. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  375. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  376. package/dist/tests/permissions.test.d.ts +0 -1
  377. package/dist/tests/personal.test.d.ts +0 -1
  378. package/dist/tests/platform-browser.test.d.ts +0 -1
  379. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  380. package/dist/tests/platform-crypto.test.d.ts +0 -1
  381. package/dist/tests/platform-index.test.d.ts +0 -1
  382. package/dist/tests/platform-node.test.d.ts +0 -1
  383. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  384. package/dist/tests/platform-updated.test.d.ts +0 -1
  385. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  386. package/dist/tests/protocol.test.d.ts +0 -1
  387. package/dist/tests/read-only-mode.test.d.ts +0 -1
  388. package/dist/tests/relayer-integration.test.d.ts +0 -1
  389. package/dist/tests/relayer-unified.test.d.ts +0 -1
  390. package/dist/tests/schemas.test.d.ts +0 -1
  391. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  392. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  393. package/dist/tests/staking.test.d.ts +0 -1
  394. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  395. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  396. package/dist/tests/types-contracts.test.d.ts +0 -1
  397. package/dist/tests/types-data.test.d.ts +0 -1
  398. package/dist/tests/types-external-apis.test.d.ts +0 -1
  399. package/dist/tests/types-generics.test.d.ts +0 -1
  400. package/dist/tests/types-permissions.test.d.ts +0 -1
  401. package/dist/tests/types-upload-params.test.d.ts +0 -1
  402. package/dist/tests/types.test.d.ts +0 -1
  403. package/dist/tests/utils-formatters.test.d.ts +0 -1
  404. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  405. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  406. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  407. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  408. package/dist/tests/utils-grants.test.d.ts +0 -1
  409. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  410. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  411. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  412. package/dist/tests/vana.test.d.ts +0 -1
  413. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  414. package/dist/types/atomicStore.cjs.map +0 -1
  415. package/dist/types/atomicStore.d.ts +0 -236
  416. package/dist/types/atomicStore.js +0 -7
  417. package/dist/types/atomicStore.js.map +0 -1
  418. package/dist/types/blockchain.cjs +0 -17
  419. package/dist/types/blockchain.cjs.map +0 -1
  420. package/dist/types/blockchain.d.ts +0 -85
  421. package/dist/types/blockchain.js +0 -1
  422. package/dist/types/blockchain.js.map +0 -1
  423. package/dist/types/controller-context.cjs +0 -17
  424. package/dist/types/controller-context.cjs.map +0 -1
  425. package/dist/types/controller-context.d.ts +0 -68
  426. package/dist/types/controller-context.js +0 -1
  427. package/dist/types/controller-context.js.map +0 -1
  428. package/dist/types/data.cjs +0 -17
  429. package/dist/types/data.cjs.map +0 -1
  430. package/dist/types/data.d.ts +0 -763
  431. package/dist/types/data.js +0 -1
  432. package/dist/types/data.js.map +0 -1
  433. package/dist/types/external-apis.cjs +0 -61
  434. package/dist/types/external-apis.cjs.map +0 -1
  435. package/dist/types/external-apis.d.ts +0 -184
  436. package/dist/types/external-apis.js +0 -34
  437. package/dist/types/external-apis.js.map +0 -1
  438. package/dist/types/generics.cjs +0 -17
  439. package/dist/types/generics.cjs.map +0 -1
  440. package/dist/types/generics.d.ts +0 -518
  441. package/dist/types/generics.js +0 -1
  442. package/dist/types/generics.js.map +0 -1
  443. package/dist/types/operationStore.cjs +0 -17
  444. package/dist/types/operationStore.cjs.map +0 -1
  445. package/dist/types/operationStore.d.ts +0 -171
  446. package/dist/types/operationStore.js +0 -1
  447. package/dist/types/operationStore.js.map +0 -1
  448. package/dist/types/operations.cjs +0 -53
  449. package/dist/types/operations.cjs.map +0 -1
  450. package/dist/types/operations.d.ts +0 -204
  451. package/dist/types/operations.js +0 -26
  452. package/dist/types/operations.js.map +0 -1
  453. package/dist/types/options.cjs +0 -17
  454. package/dist/types/options.cjs.map +0 -1
  455. package/dist/types/options.d.ts +0 -308
  456. package/dist/types/options.js +0 -1
  457. package/dist/types/options.js.map +0 -1
  458. package/dist/types/permissions.cjs +0 -17
  459. package/dist/types/permissions.cjs.map +0 -1
  460. package/dist/types/permissions.d.ts +0 -955
  461. package/dist/types/permissions.js +0 -1
  462. package/dist/types/permissions.js.map +0 -1
  463. package/dist/types/personal.cjs +0 -17
  464. package/dist/types/personal.cjs.map +0 -1
  465. package/dist/types/personal.d.ts +0 -174
  466. package/dist/types/personal.js +0 -1
  467. package/dist/types/personal.js.map +0 -1
  468. package/dist/types/relayer.cjs +0 -17
  469. package/dist/types/relayer.cjs.map +0 -1
  470. package/dist/types/relayer.d.ts +0 -552
  471. package/dist/types/relayer.js +0 -1
  472. package/dist/types/relayer.js.map +0 -1
  473. package/dist/types/transactionResults.cjs +0 -17
  474. package/dist/types/transactionResults.cjs.map +0 -1
  475. package/dist/types/transactionResults.d.ts +0 -193
  476. package/dist/types/transactionResults.js +0 -1
  477. package/dist/types/transactionResults.js.map +0 -1
  478. package/dist/types/utils.cjs +0 -17
  479. package/dist/types/utils.cjs.map +0 -1
  480. package/dist/types/utils.d.ts +0 -771
  481. package/dist/types/utils.js +0 -1
  482. package/dist/types/utils.js.map +0 -1
  483. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  484. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  485. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  486. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  487. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  488. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  489. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  490. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  491. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  492. package/dist/utils/blockchain/registry.cjs +0 -81
  493. package/dist/utils/blockchain/registry.cjs.map +0 -1
  494. package/dist/utils/blockchain/registry.d.ts +0 -32
  495. package/dist/utils/blockchain/registry.js +0 -56
  496. package/dist/utils/blockchain/registry.js.map +0 -1
  497. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  498. package/dist/utils/chainQuery.cjs +0 -107
  499. package/dist/utils/chainQuery.cjs.map +0 -1
  500. package/dist/utils/chainQuery.d.ts +0 -31
  501. package/dist/utils/chainQuery.js +0 -82
  502. package/dist/utils/chainQuery.js.map +0 -1
  503. package/dist/utils/download.cjs +0 -69
  504. package/dist/utils/download.cjs.map +0 -1
  505. package/dist/utils/download.d.ts +0 -40
  506. package/dist/utils/download.js +0 -45
  507. package/dist/utils/download.js.map +0 -1
  508. package/dist/utils/encryption.cjs +0 -176
  509. package/dist/utils/encryption.cjs.map +0 -1
  510. package/dist/utils/encryption.d.ts +0 -271
  511. package/dist/utils/encryption.js +0 -142
  512. package/dist/utils/encryption.js.map +0 -1
  513. package/dist/utils/formatters.cjs +0 -55
  514. package/dist/utils/formatters.cjs.map +0 -1
  515. package/dist/utils/formatters.d.ts +0 -118
  516. package/dist/utils/formatters.js +0 -28
  517. package/dist/utils/formatters.js.map +0 -1
  518. package/dist/utils/grantFiles.cjs +0 -181
  519. package/dist/utils/grantFiles.cjs.map +0 -1
  520. package/dist/utils/grantFiles.d.ts +0 -172
  521. package/dist/utils/grantFiles.js +0 -143
  522. package/dist/utils/grantFiles.js.map +0 -1
  523. package/dist/utils/grantValidation.cjs +0 -243
  524. package/dist/utils/grantValidation.cjs.map +0 -1
  525. package/dist/utils/grantValidation.d.ts +0 -226
  526. package/dist/utils/grantValidation.js +0 -201
  527. package/dist/utils/grantValidation.js.map +0 -1
  528. package/dist/utils/grants.cjs +0 -108
  529. package/dist/utils/grants.cjs.map +0 -1
  530. package/dist/utils/grants.d.ts +0 -148
  531. package/dist/utils/grants.js +0 -82
  532. package/dist/utils/grants.js.map +0 -1
  533. package/dist/utils/ipfs.cjs +0 -128
  534. package/dist/utils/ipfs.cjs.map +0 -1
  535. package/dist/utils/ipfs.d.ts +0 -88
  536. package/dist/utils/ipfs.js +0 -97
  537. package/dist/utils/ipfs.js.map +0 -1
  538. package/dist/utils/multicall.cjs +0 -233
  539. package/dist/utils/multicall.cjs.map +0 -1
  540. package/dist/utils/multicall.d.ts +0 -126
  541. package/dist/utils/multicall.js +0 -208
  542. package/dist/utils/multicall.js.map +0 -1
  543. package/dist/utils/parseTransactionPojo.cjs +0 -87
  544. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  545. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  546. package/dist/utils/parseTransactionPojo.js +0 -63
  547. package/dist/utils/parseTransactionPojo.js.map +0 -1
  548. package/dist/utils/schemaValidation.cjs +0 -258
  549. package/dist/utils/schemaValidation.cjs.map +0 -1
  550. package/dist/utils/schemaValidation.d.ts +0 -168
  551. package/dist/utils/schemaValidation.js +0 -219
  552. package/dist/utils/schemaValidation.js.map +0 -1
  553. package/dist/utils/signatureCache.cjs +0 -192
  554. package/dist/utils/signatureCache.cjs.map +0 -1
  555. package/dist/utils/signatureCache.d.ts +0 -172
  556. package/dist/utils/signatureCache.js +0 -167
  557. package/dist/utils/signatureCache.js.map +0 -1
  558. package/dist/utils/signatureFormatter.cjs +0 -42
  559. package/dist/utils/signatureFormatter.cjs.map +0 -1
  560. package/dist/utils/signatureFormatter.d.ts +0 -36
  561. package/dist/utils/signatureFormatter.js +0 -18
  562. package/dist/utils/signatureFormatter.js.map +0 -1
  563. package/dist/utils/subgraphConsistency.cjs +0 -184
  564. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  565. package/dist/utils/subgraphConsistency.d.ts +0 -65
  566. package/dist/utils/subgraphConsistency.js +0 -155
  567. package/dist/utils/subgraphConsistency.js.map +0 -1
  568. package/dist/utils/subgraphMetaCache.cjs +0 -101
  569. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  570. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  571. package/dist/utils/subgraphMetaCache.js +0 -76
  572. package/dist/utils/subgraphMetaCache.js.map +0 -1
  573. package/dist/utils/subgraphPagination.cjs +0 -104
  574. package/dist/utils/subgraphPagination.cjs.map +0 -1
  575. package/dist/utils/subgraphPagination.d.ts +0 -78
  576. package/dist/utils/subgraphPagination.js +0 -78
  577. package/dist/utils/subgraphPagination.js.map +0 -1
  578. package/dist/utils/tests/multicall.test.d.ts +0 -1
  579. package/dist/utils/transactionHelpers.cjs +0 -54
  580. package/dist/utils/transactionHelpers.cjs.map +0 -1
  581. package/dist/utils/transactionHelpers.d.ts +0 -80
  582. package/dist/utils/transactionHelpers.js +0 -29
  583. package/dist/utils/transactionHelpers.js.map +0 -1
  584. package/dist/utils/typeGuards.cjs +0 -109
  585. package/dist/utils/typeGuards.cjs.map +0 -1
  586. package/dist/utils/typeGuards.d.ts +0 -138
  587. package/dist/utils/typeGuards.js +0 -74
  588. package/dist/utils/typeGuards.js.map +0 -1
  589. package/dist/utils/typedDataConverter.cjs +0 -43
  590. package/dist/utils/typedDataConverter.cjs.map +0 -1
  591. package/dist/utils/typedDataConverter.d.ts +0 -46
  592. package/dist/utils/typedDataConverter.js +0 -19
  593. package/dist/utils/typedDataConverter.js.map +0 -1
  594. package/dist/utils/urlResolver.cjs +0 -62
  595. package/dist/utils/urlResolver.cjs.map +0 -1
  596. package/dist/utils/urlResolver.d.ts +0 -56
  597. package/dist/utils/urlResolver.js +0 -37
  598. package/dist/utils/urlResolver.js.map +0 -1
  599. package/dist/utils/wallet.cjs +0 -63
  600. package/dist/utils/wallet.cjs.map +0 -1
  601. package/dist/utils/wallet.d.ts +0 -94
  602. package/dist/utils/wallet.js +0 -37
  603. package/dist/utils/wallet.js.map +0 -1
  604. package/dist/utils/withEvents.cjs +0 -44
  605. package/dist/utils/withEvents.cjs.map +0 -1
  606. package/dist/utils/withEvents.d.ts +0 -56
  607. package/dist/utils/withEvents.js +0 -18
  608. package/dist/utils/withEvents.js.map +0 -1
  609. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  610. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  611. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  612. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  613. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  614. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  615. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  616. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  617. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  618. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/grants.test.d.ts} +0 -0
  619. /package/dist/{core/core.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  620. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  621. /package/dist/{core/tests/client.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  622. /package/dist/{core/tests/generics.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  623. /package/dist/{diagnostics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendatalabs/vana-sdk",
3
- "version": "2.3.0",
3
+ "version": "3.0.1",
4
4
  "description": "A TypeScript library for interacting with Vana Network smart contracts.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -82,11 +82,12 @@
82
82
  "clean": "rimraf dist .tsbuildinfo",
83
83
  "validate:platform": "tsx scripts/validate-platform-separation.ts",
84
84
  "validate:entries": "tsx scripts/validate-entry-points.ts",
85
- "prebuild": "npm run generate:types:check && npm run validate:platform && npm run validate:entries && npm run validate:types",
85
+ "prebuild": "npm run validate:platform && npm run validate:entries && npm run validate:types",
86
86
  "build:types": "tsc -p tsconfig.build.json --listEmittedFiles",
87
87
  "build:node": "tsup --config tsup.config.ts",
88
88
  "build:browser": "tsup --config tsup-browser.config.ts",
89
- "build": "npm run clean && npm run build:types && npm run build:node && npm run build:browser",
89
+ "build:entries": "tsx scripts/bundle-entry-points.ts",
90
+ "build": "npm run clean && npm run build:types && npm run build:node && npm run build:browser && npm run build:entries",
90
91
  "dev": "npm run build -- --watch",
91
92
  "lint": "eslint .",
92
93
  "lint:fix": "eslint . --fix",
@@ -98,13 +99,7 @@
98
99
  "test:coverage:verbose": "vitest run --coverage --reporter=verbose --coverage.reporter=text",
99
100
  "discover-addresses": "tsx scripts/discover-addresses.ts",
100
101
  "fetch-abis": "tsx scripts/fetch-abis.ts",
101
- "generate:types": "tsx scripts/generate-types.ts",
102
- "generate:types:check": "tsx scripts/generate-types.ts --check",
103
- "generate": "npm run discover-addresses && npm run fetch-abis && npm run generate:types",
104
- "fetch-server-types": "tsx scripts/fetch-server-types.ts",
105
- "codegen:subgraph": "graphql-codegen --config codegen.ts",
106
- "codegen:subgraph:moksha": "VANA_CODEGEN_NETWORK=moksha graphql-codegen --config codegen.ts",
107
- "codegen:subgraph:mainnet": "VANA_CODEGEN_NETWORK=mainnet graphql-codegen --config codegen.ts"
102
+ "generate": "npm run discover-addresses && npm run fetch-abis"
108
103
  },
109
104
  "keywords": [
110
105
  "vana",
@@ -118,38 +113,25 @@
118
113
  "@noble/hashes": "^1.8.0",
119
114
  "@noble/secp256k1": "^2.3.0",
120
115
  "abitype": "^1.0.9",
121
- "ajv": "^8.17.1",
122
- "ajv-formats": "^3.0.1",
123
- "graphql": "^16.11.0",
124
116
  "openpgp": "^6.1.1",
125
- "uuid": "^13.0.0",
126
- "viem": "^2.35.1"
117
+ "viem": "^2.35.1",
118
+ "zod": "^4.1.12"
127
119
  },
128
120
  "devDependencies": {
129
- "@graphql-codegen/cli": "^5.0.7",
130
- "@graphql-codegen/typed-document-node": "^5.1.2",
131
- "@graphql-codegen/typescript": "^4.1.6",
132
- "@graphql-codegen/typescript-operations": "^4.6.1",
133
121
  "@types/node": "^24.3.0",
134
122
  "@types/secp256k1": "^4.0.6",
135
- "@types/uuid": "^10.0.0",
136
123
  "@typescript-eslint/eslint-plugin": "^8.41.0",
137
124
  "@typescript-eslint/parser": "^8.41.0",
138
125
  "@vitest/coverage-v8": "^3.2.4",
139
- "bundle-require": "^5.1.0",
140
- "consola": "^3.4.0",
141
126
  "eslint": "^9.34.0",
142
127
  "eslint-config-prettier": "^10.1.5",
143
128
  "eslint-plugin-import": "^2.32.0",
144
129
  "eslint-plugin-prettier": "^5.4.0",
145
130
  "eslint-plugin-tsdoc": "^0.4.0",
146
131
  "eslint-plugin-unused-imports": "^4.2.0",
147
- "fix-dts-default-cjs-exports": "^1.0.1",
148
132
  "globals": "^16.3.0",
149
- "openapi-typescript": "^7.8.0",
150
133
  "prettier": "^3.5.3",
151
134
  "rimraf": "^6.0.1",
152
- "tree-kill": "^1.2.2",
153
135
  "tsup": "^8.5.0",
154
136
  "tsx": "^4.20.5",
155
137
  "typescript": "^5.8.3",
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var enhancedResponse_exports = {};
20
- __export(enhancedResponse_exports, {
21
- EnhancedTransactionResponse: () => EnhancedTransactionResponse,
22
- canEnhanceResponse: () => canEnhanceResponse,
23
- enhanceResponse: () => enhanceResponse
24
- });
25
- module.exports = __toCommonJS(enhancedResponse_exports);
26
- var import_pollingManager = require("../core/pollingManager");
27
- class EnhancedTransactionResponse {
28
- /** The underlying relayer response */
29
- response;
30
- /** The hash if this is a submitted transaction */
31
- hash;
32
- /** The operation ID if this is a pending operation */
33
- operationId;
34
- /** Transaction context for event parsing */
35
- context;
36
- sdk;
37
- // Using any to avoid circular dependency
38
- constructor(response, sdk) {
39
- this.response = response;
40
- this.sdk = sdk;
41
- if (response.type === "submitted" || response.type === "signed") {
42
- this.hash = response.hash;
43
- this.context = response.context;
44
- } else if (response.type === "pending") {
45
- this.operationId = response.operationId;
46
- }
47
- }
48
- /**
49
- * Waits for the transaction or operation to complete.
50
- *
51
- * @remarks
52
- * This method provides intelligent handling based on the response type:
53
- * - For 'submitted' responses with context: Uses waitForTransactionEvents for full event parsing
54
- * - For 'submitted' responses without context: Waits for receipt only
55
- * - For 'pending' responses: Uses PollingManager to track async operations
56
- * - For 'confirmed' responses: Returns immediately with the receipt
57
- *
58
- * @param options - Optional configuration for polling behavior
59
- * @returns Promise resolving to event results or transaction receipt
60
- * @throws Error if the response type cannot be waited on
61
- *
62
- * @example
63
- * ```typescript
64
- * // With context for event parsing
65
- * const enhanced = new EnhancedTransactionResponse(response, vana);
66
- * const result = await enhanced.wait();
67
- * if (result.expectedEvents?.FileAdded) {
68
- * console.log('File ID:', result.expectedEvents.FileAdded.fileId);
69
- * }
70
- *
71
- * // For pending operations
72
- * const result = await enhanced.wait({
73
- * onStatusUpdate: (status) => console.log('Status:', status)
74
- * });
75
- * ```
76
- */
77
- async wait(options) {
78
- if (this.response.type === "confirmed") {
79
- return {
80
- hash: this.response.hash,
81
- receipt: this.response.receipt
82
- };
83
- }
84
- if ((this.response.type === "submitted" || this.response.type === "signed") && this.context) {
85
- return await this.sdk.waitForTransactionEvents({
86
- hash: this.response.hash,
87
- from: this.context.from,
88
- contract: this.context.contract,
89
- fn: this.context.fn
90
- });
91
- }
92
- if (this.response.type === "submitted" || this.response.type === "signed") {
93
- const receipt = await this.sdk.publicClient.waitForTransactionReceipt({
94
- hash: this.response.hash
95
- });
96
- return {
97
- hash: this.response.hash,
98
- receipt
99
- };
100
- }
101
- if (this.response.type === "pending") {
102
- const sdkInternal = this.sdk;
103
- const relayerCallback = sdkInternal.relayerCallback;
104
- if (typeof relayerCallback !== "function") {
105
- throw new Error("Relayer callback not configured for polling");
106
- }
107
- const pollingManager = new import_pollingManager.PollingManager(relayerCallback);
108
- return await pollingManager.startPolling(this.response.operationId, {
109
- signal: options?.signal,
110
- onStatusUpdate: options?.onStatusUpdate,
111
- timeout: options?.timeout
112
- });
113
- }
114
- throw new Error(
115
- `Cannot wait on response type: ${this.response.type}. Only 'submitted', 'signed', 'pending', and 'confirmed' responses can be waited on.`
116
- );
117
- }
118
- /**
119
- * Checks if this response can be waited on.
120
- *
121
- * @returns true if the response supports the wait() method
122
- */
123
- canWait() {
124
- return this.response.type === "submitted" || this.response.type === "signed" || this.response.type === "pending" || this.response.type === "confirmed";
125
- }
126
- /**
127
- * Gets a human-readable status description.
128
- *
129
- * @returns Status string describing the current state
130
- */
131
- getStatus() {
132
- switch (this.response.type) {
133
- case "pending":
134
- return `Operation pending (ID: ${this.operationId})`;
135
- case "submitted":
136
- case "signed":
137
- return `Transaction submitted (Hash: ${this.hash})`;
138
- case "confirmed":
139
- return `Transaction confirmed (Hash: ${this.response.hash})`;
140
- case "direct":
141
- return "Operation completed";
142
- case "error":
143
- return `Error: ${this.response.error}`;
144
- default:
145
- return "Unknown status";
146
- }
147
- }
148
- }
149
- function canEnhanceResponse(response) {
150
- return response.type === "submitted" || response.type === "signed" || response.type === "pending" || response.type === "confirmed";
151
- }
152
- function enhanceResponse(response, sdk) {
153
- if (canEnhanceResponse(response)) {
154
- return new EnhancedTransactionResponse(response, sdk);
155
- }
156
- return null;
157
- }
158
- // Annotate the CommonJS export names for ESM import in node:
159
- 0 && (module.exports = {
160
- EnhancedTransactionResponse,
161
- canEnhanceResponse,
162
- enhanceResponse
163
- });
164
- //# sourceMappingURL=enhancedResponse.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/enhancedResponse.ts"],"sourcesContent":["/**\n * Enhanced client-side response wrapper for relayer operations.\n *\n * @remarks\n * This module provides a fluent API for handling asynchronous relayer responses\n * by adding stateful behavior to the stateless response data. It enables the\n * `.wait()` pattern similar to ethers.js while maintaining clean separation\n * between server-side data transfer and client-side behavior.\n *\n * @module client/enhancedResponse\n */\n\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport type {\n UnifiedRelayerResponse,\n TransactionContext,\n} from \"../types/relayer\";\nimport { PollingManager } from \"../core/pollingManager\";\nimport type { OperationStatus } from \"../types/options\";\n\n/**\n * Enhanced transaction response that provides a fluent API for waiting.\n *\n * @remarks\n * This class wraps a UnifiedRelayerResponse and provides a `.wait()` method\n * that intelligently handles both submitted transactions (via hash) and\n * pending operations (via operationId). It encapsulates the complexity of\n * polling and event parsing, providing a clean developer experience.\n *\n * @example\n * ```typescript\n * const response = await relayerClient.handleOperation(...);\n * const enhanced = vana.enhanceRelayerResponse(response);\n * if (enhanced) {\n * const result = await enhanced.wait();\n * console.log('Transaction confirmed:', result.hash);\n * }\n * ```\n *\n * @category Client\n */\nexport class EnhancedTransactionResponse {\n /** The underlying relayer response */\n public readonly response: UnifiedRelayerResponse;\n\n /** The hash if this is a submitted transaction */\n public readonly hash?: Hash;\n\n /** The operation ID if this is a pending operation */\n public readonly operationId?: string;\n\n /** Transaction context for event parsing */\n public readonly context?: TransactionContext;\n\n private readonly sdk: any; // Using any to avoid circular dependency\n\n constructor(response: UnifiedRelayerResponse, sdk: any) {\n this.response = response;\n this.sdk = sdk;\n\n // Extract key properties based on response type\n if (response.type === \"submitted\" || response.type === \"signed\") {\n this.hash = response.hash;\n this.context = response.context;\n } else if (response.type === \"pending\") {\n this.operationId = response.operationId;\n }\n }\n\n /**\n * Waits for the transaction or operation to complete.\n *\n * @remarks\n * This method provides intelligent handling based on the response type:\n * - For 'submitted' responses with context: Uses waitForTransactionEvents for full event parsing\n * - For 'submitted' responses without context: Waits for receipt only\n * - For 'pending' responses: Uses PollingManager to track async operations\n * - For 'confirmed' responses: Returns immediately with the receipt\n *\n * @param options - Optional configuration for polling behavior\n * @returns Promise resolving to event results or transaction receipt\n * @throws Error if the response type cannot be waited on\n *\n * @example\n * ```typescript\n * // With context for event parsing\n * const enhanced = new EnhancedTransactionResponse(response, vana);\n * const result = await enhanced.wait();\n * if (result.expectedEvents?.FileAdded) {\n * console.log('File ID:', result.expectedEvents.FileAdded.fileId);\n * }\n *\n * // For pending operations\n * const result = await enhanced.wait({\n * onStatusUpdate: (status) => console.log('Status:', status)\n * });\n * ```\n */\n async wait(options?: {\n /** Callback for status updates during polling */\n onStatusUpdate?: (status: OperationStatus) => void;\n /** Abort signal for cancellation */\n signal?: AbortSignal;\n /** Timeout in milliseconds */\n timeout?: number;\n }): Promise<any> {\n // Handle 'confirmed' responses - already complete\n if (this.response.type === \"confirmed\") {\n return {\n hash: this.response.hash,\n receipt: this.response.receipt,\n };\n }\n\n // Handle 'submitted' or 'signed' responses with context - full event parsing\n if (\n (this.response.type === \"submitted\" || this.response.type === \"signed\") &&\n this.context\n ) {\n // Use the SDK's waitForTransactionEvents with the preserved context\n return await this.sdk.waitForTransactionEvents({\n hash: this.response.hash,\n from: this.context.from,\n contract: this.context.contract,\n fn: this.context.fn,\n });\n }\n\n // Handle 'submitted' or 'signed' responses without context - receipt only\n if (this.response.type === \"submitted\" || this.response.type === \"signed\") {\n // Just wait for the receipt without event parsing\n const receipt = await this.sdk.publicClient.waitForTransactionReceipt({\n hash: this.response.hash,\n });\n return {\n hash: this.response.hash,\n receipt: receipt as TransactionReceipt,\n };\n }\n\n // Handle 'pending' responses - use PollingManager\n if (this.response.type === \"pending\") {\n // Access the relayer callback from the SDK's internal config\n const sdkInternal = this.sdk as any;\n const relayerCallback = sdkInternal.relayerCallback;\n\n if (typeof relayerCallback !== \"function\") {\n throw new Error(\"Relayer callback not configured for polling\");\n }\n\n const pollingManager = new PollingManager(relayerCallback);\n return await pollingManager.startPolling(this.response.operationId, {\n signal: options?.signal,\n onStatusUpdate: options?.onStatusUpdate,\n timeout: options?.timeout,\n });\n }\n\n // Response type cannot be waited on\n throw new Error(\n `Cannot wait on response type: ${(this.response as any).type}. ` +\n `Only 'submitted', 'signed', 'pending', and 'confirmed' responses can be waited on.`,\n );\n }\n\n /**\n * Checks if this response can be waited on.\n *\n * @returns true if the response supports the wait() method\n */\n canWait(): boolean {\n return (\n this.response.type === \"submitted\" ||\n this.response.type === \"signed\" ||\n this.response.type === \"pending\" ||\n this.response.type === \"confirmed\"\n );\n }\n\n /**\n * Gets a human-readable status description.\n *\n * @returns Status string describing the current state\n */\n getStatus(): string {\n switch (this.response.type) {\n case \"pending\":\n return `Operation pending (ID: ${this.operationId})`;\n case \"submitted\":\n case \"signed\":\n return `Transaction submitted (Hash: ${this.hash})`;\n case \"confirmed\":\n return `Transaction confirmed (Hash: ${this.response.hash})`;\n case \"direct\":\n return \"Operation completed\";\n case \"error\":\n return `Error: ${this.response.error}`;\n default:\n return \"Unknown status\";\n }\n }\n}\n\n/**\n * Type guard to check if a response can be enhanced.\n *\n * @param response - The unified relayer response to check\n * @returns true if the response can be wrapped in EnhancedTransactionResponse\n */\nexport function canEnhanceResponse(response: UnifiedRelayerResponse): boolean {\n return (\n response.type === \"submitted\" ||\n response.type === \"signed\" ||\n response.type === \"pending\" ||\n response.type === \"confirmed\"\n );\n}\n\n/**\n * Factory function to create an enhanced response if applicable.\n *\n * @param response - The unified relayer response\n * @param sdk - The Vana SDK instance\n * @returns EnhancedTransactionResponse if enhanceable, null otherwise\n *\n * @example\n * ```typescript\n * const response = await handleRelayerOperation(vana, request);\n * const enhanced = enhanceResponse(response, vana);\n * if (enhanced) {\n * await enhanced.wait();\n * }\n * ```\n */\nexport function enhanceResponse(\n response: UnifiedRelayerResponse,\n sdk: any,\n): EnhancedTransactionResponse | null {\n if (canEnhanceResponse(response)) {\n return new EnhancedTransactionResponse(response, sdk);\n }\n return null;\n}\n"],"mappings":"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","names":[]}
@@ -1,120 +0,0 @@
1
- /**
2
- * Enhanced client-side response wrapper for relayer operations.
3
- *
4
- * @remarks
5
- * This module provides a fluent API for handling asynchronous relayer responses
6
- * by adding stateful behavior to the stateless response data. It enables the
7
- * `.wait()` pattern similar to ethers.js while maintaining clean separation
8
- * between server-side data transfer and client-side behavior.
9
- *
10
- * @module client/enhancedResponse
11
- */
12
- import type { Hash } from "viem";
13
- import type { UnifiedRelayerResponse, TransactionContext } from "../types/relayer";
14
- import type { OperationStatus } from "../types/options";
15
- /**
16
- * Enhanced transaction response that provides a fluent API for waiting.
17
- *
18
- * @remarks
19
- * This class wraps a UnifiedRelayerResponse and provides a `.wait()` method
20
- * that intelligently handles both submitted transactions (via hash) and
21
- * pending operations (via operationId). It encapsulates the complexity of
22
- * polling and event parsing, providing a clean developer experience.
23
- *
24
- * @example
25
- * ```typescript
26
- * const response = await relayerClient.handleOperation(...);
27
- * const enhanced = vana.enhanceRelayerResponse(response);
28
- * if (enhanced) {
29
- * const result = await enhanced.wait();
30
- * console.log('Transaction confirmed:', result.hash);
31
- * }
32
- * ```
33
- *
34
- * @category Client
35
- */
36
- export declare class EnhancedTransactionResponse {
37
- /** The underlying relayer response */
38
- readonly response: UnifiedRelayerResponse;
39
- /** The hash if this is a submitted transaction */
40
- readonly hash?: Hash;
41
- /** The operation ID if this is a pending operation */
42
- readonly operationId?: string;
43
- /** Transaction context for event parsing */
44
- readonly context?: TransactionContext;
45
- private readonly sdk;
46
- constructor(response: UnifiedRelayerResponse, sdk: any);
47
- /**
48
- * Waits for the transaction or operation to complete.
49
- *
50
- * @remarks
51
- * This method provides intelligent handling based on the response type:
52
- * - For 'submitted' responses with context: Uses waitForTransactionEvents for full event parsing
53
- * - For 'submitted' responses without context: Waits for receipt only
54
- * - For 'pending' responses: Uses PollingManager to track async operations
55
- * - For 'confirmed' responses: Returns immediately with the receipt
56
- *
57
- * @param options - Optional configuration for polling behavior
58
- * @returns Promise resolving to event results or transaction receipt
59
- * @throws Error if the response type cannot be waited on
60
- *
61
- * @example
62
- * ```typescript
63
- * // With context for event parsing
64
- * const enhanced = new EnhancedTransactionResponse(response, vana);
65
- * const result = await enhanced.wait();
66
- * if (result.expectedEvents?.FileAdded) {
67
- * console.log('File ID:', result.expectedEvents.FileAdded.fileId);
68
- * }
69
- *
70
- * // For pending operations
71
- * const result = await enhanced.wait({
72
- * onStatusUpdate: (status) => console.log('Status:', status)
73
- * });
74
- * ```
75
- */
76
- wait(options?: {
77
- /** Callback for status updates during polling */
78
- onStatusUpdate?: (status: OperationStatus) => void;
79
- /** Abort signal for cancellation */
80
- signal?: AbortSignal;
81
- /** Timeout in milliseconds */
82
- timeout?: number;
83
- }): Promise<any>;
84
- /**
85
- * Checks if this response can be waited on.
86
- *
87
- * @returns true if the response supports the wait() method
88
- */
89
- canWait(): boolean;
90
- /**
91
- * Gets a human-readable status description.
92
- *
93
- * @returns Status string describing the current state
94
- */
95
- getStatus(): string;
96
- }
97
- /**
98
- * Type guard to check if a response can be enhanced.
99
- *
100
- * @param response - The unified relayer response to check
101
- * @returns true if the response can be wrapped in EnhancedTransactionResponse
102
- */
103
- export declare function canEnhanceResponse(response: UnifiedRelayerResponse): boolean;
104
- /**
105
- * Factory function to create an enhanced response if applicable.
106
- *
107
- * @param response - The unified relayer response
108
- * @param sdk - The Vana SDK instance
109
- * @returns EnhancedTransactionResponse if enhanceable, null otherwise
110
- *
111
- * @example
112
- * ```typescript
113
- * const response = await handleRelayerOperation(vana, request);
114
- * const enhanced = enhanceResponse(response, vana);
115
- * if (enhanced) {
116
- * await enhanced.wait();
117
- * }
118
- * ```
119
- */
120
- export declare function enhanceResponse(response: UnifiedRelayerResponse, sdk: any): EnhancedTransactionResponse | null;
@@ -1,138 +0,0 @@
1
- import { PollingManager } from "../core/pollingManager";
2
- class EnhancedTransactionResponse {
3
- /** The underlying relayer response */
4
- response;
5
- /** The hash if this is a submitted transaction */
6
- hash;
7
- /** The operation ID if this is a pending operation */
8
- operationId;
9
- /** Transaction context for event parsing */
10
- context;
11
- sdk;
12
- // Using any to avoid circular dependency
13
- constructor(response, sdk) {
14
- this.response = response;
15
- this.sdk = sdk;
16
- if (response.type === "submitted" || response.type === "signed") {
17
- this.hash = response.hash;
18
- this.context = response.context;
19
- } else if (response.type === "pending") {
20
- this.operationId = response.operationId;
21
- }
22
- }
23
- /**
24
- * Waits for the transaction or operation to complete.
25
- *
26
- * @remarks
27
- * This method provides intelligent handling based on the response type:
28
- * - For 'submitted' responses with context: Uses waitForTransactionEvents for full event parsing
29
- * - For 'submitted' responses without context: Waits for receipt only
30
- * - For 'pending' responses: Uses PollingManager to track async operations
31
- * - For 'confirmed' responses: Returns immediately with the receipt
32
- *
33
- * @param options - Optional configuration for polling behavior
34
- * @returns Promise resolving to event results or transaction receipt
35
- * @throws Error if the response type cannot be waited on
36
- *
37
- * @example
38
- * ```typescript
39
- * // With context for event parsing
40
- * const enhanced = new EnhancedTransactionResponse(response, vana);
41
- * const result = await enhanced.wait();
42
- * if (result.expectedEvents?.FileAdded) {
43
- * console.log('File ID:', result.expectedEvents.FileAdded.fileId);
44
- * }
45
- *
46
- * // For pending operations
47
- * const result = await enhanced.wait({
48
- * onStatusUpdate: (status) => console.log('Status:', status)
49
- * });
50
- * ```
51
- */
52
- async wait(options) {
53
- if (this.response.type === "confirmed") {
54
- return {
55
- hash: this.response.hash,
56
- receipt: this.response.receipt
57
- };
58
- }
59
- if ((this.response.type === "submitted" || this.response.type === "signed") && this.context) {
60
- return await this.sdk.waitForTransactionEvents({
61
- hash: this.response.hash,
62
- from: this.context.from,
63
- contract: this.context.contract,
64
- fn: this.context.fn
65
- });
66
- }
67
- if (this.response.type === "submitted" || this.response.type === "signed") {
68
- const receipt = await this.sdk.publicClient.waitForTransactionReceipt({
69
- hash: this.response.hash
70
- });
71
- return {
72
- hash: this.response.hash,
73
- receipt
74
- };
75
- }
76
- if (this.response.type === "pending") {
77
- const sdkInternal = this.sdk;
78
- const relayerCallback = sdkInternal.relayerCallback;
79
- if (typeof relayerCallback !== "function") {
80
- throw new Error("Relayer callback not configured for polling");
81
- }
82
- const pollingManager = new PollingManager(relayerCallback);
83
- return await pollingManager.startPolling(this.response.operationId, {
84
- signal: options?.signal,
85
- onStatusUpdate: options?.onStatusUpdate,
86
- timeout: options?.timeout
87
- });
88
- }
89
- throw new Error(
90
- `Cannot wait on response type: ${this.response.type}. Only 'submitted', 'signed', 'pending', and 'confirmed' responses can be waited on.`
91
- );
92
- }
93
- /**
94
- * Checks if this response can be waited on.
95
- *
96
- * @returns true if the response supports the wait() method
97
- */
98
- canWait() {
99
- return this.response.type === "submitted" || this.response.type === "signed" || this.response.type === "pending" || this.response.type === "confirmed";
100
- }
101
- /**
102
- * Gets a human-readable status description.
103
- *
104
- * @returns Status string describing the current state
105
- */
106
- getStatus() {
107
- switch (this.response.type) {
108
- case "pending":
109
- return `Operation pending (ID: ${this.operationId})`;
110
- case "submitted":
111
- case "signed":
112
- return `Transaction submitted (Hash: ${this.hash})`;
113
- case "confirmed":
114
- return `Transaction confirmed (Hash: ${this.response.hash})`;
115
- case "direct":
116
- return "Operation completed";
117
- case "error":
118
- return `Error: ${this.response.error}`;
119
- default:
120
- return "Unknown status";
121
- }
122
- }
123
- }
124
- function canEnhanceResponse(response) {
125
- return response.type === "submitted" || response.type === "signed" || response.type === "pending" || response.type === "confirmed";
126
- }
127
- function enhanceResponse(response, sdk) {
128
- if (canEnhanceResponse(response)) {
129
- return new EnhancedTransactionResponse(response, sdk);
130
- }
131
- return null;
132
- }
133
- export {
134
- EnhancedTransactionResponse,
135
- canEnhanceResponse,
136
- enhanceResponse
137
- };
138
- //# sourceMappingURL=enhancedResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/enhancedResponse.ts"],"sourcesContent":["/**\n * Enhanced client-side response wrapper for relayer operations.\n *\n * @remarks\n * This module provides a fluent API for handling asynchronous relayer responses\n * by adding stateful behavior to the stateless response data. It enables the\n * `.wait()` pattern similar to ethers.js while maintaining clean separation\n * between server-side data transfer and client-side behavior.\n *\n * @module client/enhancedResponse\n */\n\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport type {\n UnifiedRelayerResponse,\n TransactionContext,\n} from \"../types/relayer\";\nimport { PollingManager } from \"../core/pollingManager\";\nimport type { OperationStatus } from \"../types/options\";\n\n/**\n * Enhanced transaction response that provides a fluent API for waiting.\n *\n * @remarks\n * This class wraps a UnifiedRelayerResponse and provides a `.wait()` method\n * that intelligently handles both submitted transactions (via hash) and\n * pending operations (via operationId). It encapsulates the complexity of\n * polling and event parsing, providing a clean developer experience.\n *\n * @example\n * ```typescript\n * const response = await relayerClient.handleOperation(...);\n * const enhanced = vana.enhanceRelayerResponse(response);\n * if (enhanced) {\n * const result = await enhanced.wait();\n * console.log('Transaction confirmed:', result.hash);\n * }\n * ```\n *\n * @category Client\n */\nexport class EnhancedTransactionResponse {\n /** The underlying relayer response */\n public readonly response: UnifiedRelayerResponse;\n\n /** The hash if this is a submitted transaction */\n public readonly hash?: Hash;\n\n /** The operation ID if this is a pending operation */\n public readonly operationId?: string;\n\n /** Transaction context for event parsing */\n public readonly context?: TransactionContext;\n\n private readonly sdk: any; // Using any to avoid circular dependency\n\n constructor(response: UnifiedRelayerResponse, sdk: any) {\n this.response = response;\n this.sdk = sdk;\n\n // Extract key properties based on response type\n if (response.type === \"submitted\" || response.type === \"signed\") {\n this.hash = response.hash;\n this.context = response.context;\n } else if (response.type === \"pending\") {\n this.operationId = response.operationId;\n }\n }\n\n /**\n * Waits for the transaction or operation to complete.\n *\n * @remarks\n * This method provides intelligent handling based on the response type:\n * - For 'submitted' responses with context: Uses waitForTransactionEvents for full event parsing\n * - For 'submitted' responses without context: Waits for receipt only\n * - For 'pending' responses: Uses PollingManager to track async operations\n * - For 'confirmed' responses: Returns immediately with the receipt\n *\n * @param options - Optional configuration for polling behavior\n * @returns Promise resolving to event results or transaction receipt\n * @throws Error if the response type cannot be waited on\n *\n * @example\n * ```typescript\n * // With context for event parsing\n * const enhanced = new EnhancedTransactionResponse(response, vana);\n * const result = await enhanced.wait();\n * if (result.expectedEvents?.FileAdded) {\n * console.log('File ID:', result.expectedEvents.FileAdded.fileId);\n * }\n *\n * // For pending operations\n * const result = await enhanced.wait({\n * onStatusUpdate: (status) => console.log('Status:', status)\n * });\n * ```\n */\n async wait(options?: {\n /** Callback for status updates during polling */\n onStatusUpdate?: (status: OperationStatus) => void;\n /** Abort signal for cancellation */\n signal?: AbortSignal;\n /** Timeout in milliseconds */\n timeout?: number;\n }): Promise<any> {\n // Handle 'confirmed' responses - already complete\n if (this.response.type === \"confirmed\") {\n return {\n hash: this.response.hash,\n receipt: this.response.receipt,\n };\n }\n\n // Handle 'submitted' or 'signed' responses with context - full event parsing\n if (\n (this.response.type === \"submitted\" || this.response.type === \"signed\") &&\n this.context\n ) {\n // Use the SDK's waitForTransactionEvents with the preserved context\n return await this.sdk.waitForTransactionEvents({\n hash: this.response.hash,\n from: this.context.from,\n contract: this.context.contract,\n fn: this.context.fn,\n });\n }\n\n // Handle 'submitted' or 'signed' responses without context - receipt only\n if (this.response.type === \"submitted\" || this.response.type === \"signed\") {\n // Just wait for the receipt without event parsing\n const receipt = await this.sdk.publicClient.waitForTransactionReceipt({\n hash: this.response.hash,\n });\n return {\n hash: this.response.hash,\n receipt: receipt as TransactionReceipt,\n };\n }\n\n // Handle 'pending' responses - use PollingManager\n if (this.response.type === \"pending\") {\n // Access the relayer callback from the SDK's internal config\n const sdkInternal = this.sdk as any;\n const relayerCallback = sdkInternal.relayerCallback;\n\n if (typeof relayerCallback !== \"function\") {\n throw new Error(\"Relayer callback not configured for polling\");\n }\n\n const pollingManager = new PollingManager(relayerCallback);\n return await pollingManager.startPolling(this.response.operationId, {\n signal: options?.signal,\n onStatusUpdate: options?.onStatusUpdate,\n timeout: options?.timeout,\n });\n }\n\n // Response type cannot be waited on\n throw new Error(\n `Cannot wait on response type: ${(this.response as any).type}. ` +\n `Only 'submitted', 'signed', 'pending', and 'confirmed' responses can be waited on.`,\n );\n }\n\n /**\n * Checks if this response can be waited on.\n *\n * @returns true if the response supports the wait() method\n */\n canWait(): boolean {\n return (\n this.response.type === \"submitted\" ||\n this.response.type === \"signed\" ||\n this.response.type === \"pending\" ||\n this.response.type === \"confirmed\"\n );\n }\n\n /**\n * Gets a human-readable status description.\n *\n * @returns Status string describing the current state\n */\n getStatus(): string {\n switch (this.response.type) {\n case \"pending\":\n return `Operation pending (ID: ${this.operationId})`;\n case \"submitted\":\n case \"signed\":\n return `Transaction submitted (Hash: ${this.hash})`;\n case \"confirmed\":\n return `Transaction confirmed (Hash: ${this.response.hash})`;\n case \"direct\":\n return \"Operation completed\";\n case \"error\":\n return `Error: ${this.response.error}`;\n default:\n return \"Unknown status\";\n }\n }\n}\n\n/**\n * Type guard to check if a response can be enhanced.\n *\n * @param response - The unified relayer response to check\n * @returns true if the response can be wrapped in EnhancedTransactionResponse\n */\nexport function canEnhanceResponse(response: UnifiedRelayerResponse): boolean {\n return (\n response.type === \"submitted\" ||\n response.type === \"signed\" ||\n response.type === \"pending\" ||\n response.type === \"confirmed\"\n );\n}\n\n/**\n * Factory function to create an enhanced response if applicable.\n *\n * @param response - The unified relayer response\n * @param sdk - The Vana SDK instance\n * @returns EnhancedTransactionResponse if enhanceable, null otherwise\n *\n * @example\n * ```typescript\n * const response = await handleRelayerOperation(vana, request);\n * const enhanced = enhanceResponse(response, vana);\n * if (enhanced) {\n * await enhanced.wait();\n * }\n * ```\n */\nexport function enhanceResponse(\n response: UnifiedRelayerResponse,\n sdk: any,\n): EnhancedTransactionResponse | null {\n if (canEnhanceResponse(response)) {\n return new EnhancedTransactionResponse(response, sdk);\n }\n return null;\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +0,0 @@
1
- /**
2
- * @file Integration tests for data consistency features
3
- *
4
- * These tests verify the consistency options work correctly
5
- * without loading the full DataController implementation
6
- */
7
- export {};