@opendatalabs/vana-sdk 2.3.0 → 3.0.1-canary.b068ac6

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 (631) 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/ecies/node.cjs +6 -6
  48. package/dist/crypto/ecies/node.cjs.map +1 -1
  49. package/dist/crypto/ecies/node.js +1 -1
  50. package/dist/crypto/ecies/node.js.map +1 -1
  51. package/dist/crypto/envelope/openpgp.cjs +59 -0
  52. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  53. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  54. package/dist/crypto/envelope/openpgp.js +24 -0
  55. package/dist/crypto/envelope/openpgp.js.map +1 -0
  56. package/dist/crypto/keys/derive.cjs +65 -0
  57. package/dist/crypto/keys/derive.cjs.map +1 -0
  58. package/dist/crypto/keys/derive.d.ts +45 -0
  59. package/dist/crypto/keys/derive.js +38 -0
  60. package/dist/crypto/keys/derive.js.map +1 -0
  61. package/dist/errors.cjs +10 -0
  62. package/dist/errors.cjs.map +1 -1
  63. package/dist/errors.js +10 -0
  64. package/dist/errors.js.map +1 -1
  65. package/dist/generated/abi/index.cjs +2 -37
  66. package/dist/generated/abi/index.cjs.map +1 -1
  67. package/dist/generated/abi/index.d.ts +2683 -9296
  68. package/dist/generated/abi/index.js +2 -29
  69. package/dist/generated/abi/index.js.map +1 -1
  70. package/dist/generated/addresses.cjs +5 -107
  71. package/dist/generated/addresses.cjs.map +1 -1
  72. package/dist/generated/addresses.d.ts +5 -99
  73. package/dist/generated/addresses.js +5 -105
  74. package/dist/generated/addresses.js.map +1 -1
  75. package/dist/index.browser.d.ts +24 -140
  76. package/dist/index.browser.js +32258 -114
  77. package/dist/index.browser.js.map +7 -1
  78. package/dist/index.node.cjs +32980 -160
  79. package/dist/index.node.cjs.map +7 -1
  80. package/dist/index.node.d.ts +23 -210
  81. package/dist/index.node.js +32884 -133
  82. package/dist/index.node.js.map +7 -1
  83. package/dist/platform/node.cjs +2 -2
  84. package/dist/platform/node.cjs.map +1 -1
  85. package/dist/platform/node.js +1 -1
  86. package/dist/platform/node.js.map +1 -1
  87. package/dist/protocol/data-file.cjs +56 -0
  88. package/dist/protocol/data-file.cjs.map +1 -0
  89. package/dist/protocol/data-file.d.ts +20 -0
  90. package/dist/protocol/data-file.js +30 -0
  91. package/dist/protocol/data-file.js.map +1 -0
  92. package/dist/protocol/eip712.cjs +123 -0
  93. package/dist/protocol/eip712.cjs.map +1 -0
  94. package/dist/protocol/eip712.d.ts +117 -0
  95. package/dist/protocol/eip712.js +90 -0
  96. package/dist/protocol/eip712.js.map +1 -0
  97. package/dist/protocol/gateway.cjs +226 -0
  98. package/dist/protocol/gateway.cjs.map +1 -0
  99. package/dist/protocol/gateway.d.ts +120 -0
  100. package/dist/protocol/gateway.js +202 -0
  101. package/dist/protocol/gateway.js.map +1 -0
  102. package/dist/protocol/grants.cjs +146 -0
  103. package/dist/protocol/grants.cjs.map +1 -0
  104. package/dist/protocol/grants.d.ts +31 -0
  105. package/dist/protocol/grants.js +123 -0
  106. package/dist/protocol/grants.js.map +1 -0
  107. package/dist/protocol/scopes.cjs +78 -0
  108. package/dist/protocol/scopes.cjs.map +1 -0
  109. package/dist/protocol/scopes.d.ts +13 -0
  110. package/dist/protocol/scopes.js +50 -0
  111. package/dist/protocol/scopes.js.map +1 -0
  112. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  113. package/dist/storage/default.cjs.map +1 -0
  114. package/dist/storage/default.d.ts +4 -0
  115. package/dist/storage/default.js +8 -0
  116. package/dist/storage/default.js.map +1 -0
  117. package/dist/storage/index.cjs +11 -2
  118. package/dist/storage/index.cjs.map +1 -1
  119. package/dist/storage/index.d.ts +9 -0
  120. package/dist/storage/index.js +7 -1
  121. package/dist/storage/index.js.map +1 -1
  122. package/dist/storage/providers/callback-storage.cjs +1 -0
  123. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  124. package/dist/storage/providers/callback-storage.js +1 -0
  125. package/dist/storage/providers/callback-storage.js.map +1 -1
  126. package/dist/storage/providers/dropbox.cjs +1 -0
  127. package/dist/storage/providers/dropbox.cjs.map +1 -1
  128. package/dist/storage/providers/dropbox.js +1 -0
  129. package/dist/storage/providers/dropbox.js.map +1 -1
  130. package/dist/storage/providers/google-drive.cjs +1 -0
  131. package/dist/storage/providers/google-drive.cjs.map +1 -1
  132. package/dist/storage/providers/google-drive.js +1 -0
  133. package/dist/storage/providers/google-drive.js.map +1 -1
  134. package/dist/storage/providers/ipfs.cjs +1 -0
  135. package/dist/storage/providers/ipfs.cjs.map +1 -1
  136. package/dist/storage/providers/ipfs.js +1 -0
  137. package/dist/storage/providers/ipfs.js.map +1 -1
  138. package/dist/storage/providers/pinata.cjs +1 -0
  139. package/dist/storage/providers/pinata.cjs.map +1 -1
  140. package/dist/storage/providers/pinata.js +1 -0
  141. package/dist/storage/providers/pinata.js.map +1 -1
  142. package/dist/storage/providers/r2.cjs +376 -0
  143. package/dist/storage/providers/r2.cjs.map +1 -0
  144. package/dist/storage/providers/r2.d.ts +91 -0
  145. package/dist/storage/providers/r2.js +354 -0
  146. package/dist/storage/providers/r2.js.map +1 -0
  147. package/dist/storage/providers/vana-storage.cjs +251 -0
  148. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  149. package/dist/storage/providers/vana-storage.d.ts +100 -0
  150. package/dist/storage/providers/vana-storage.js +231 -0
  151. package/dist/storage/providers/vana-storage.js.map +1 -0
  152. package/dist/types/config.cjs +0 -34
  153. package/dist/types/config.cjs.map +1 -1
  154. package/dist/types/config.d.ts +1 -607
  155. package/dist/types/config.js +0 -22
  156. package/dist/types/config.js.map +1 -1
  157. package/dist/types/contracts.cjs.map +1 -1
  158. package/dist/types/contracts.d.ts +1 -1
  159. package/dist/types/index.cjs +2 -33
  160. package/dist/types/index.cjs.map +1 -1
  161. package/dist/types/index.d.ts +2 -33
  162. package/dist/types/index.js +1 -35
  163. package/dist/types/index.js.map +1 -1
  164. package/dist/types/ps-errors.cjs +91 -0
  165. package/dist/types/ps-errors.cjs.map +1 -0
  166. package/dist/types/ps-errors.d.ts +26 -0
  167. package/dist/types/ps-errors.js +66 -0
  168. package/dist/types/ps-errors.js.map +1 -0
  169. package/dist/types.cjs.map +1 -1
  170. package/dist/types.d.ts +0 -29
  171. package/dist/types.js.map +1 -1
  172. package/package.json +8 -25
  173. package/dist/client/enhancedResponse.cjs +0 -164
  174. package/dist/client/enhancedResponse.cjs.map +0 -1
  175. package/dist/client/enhancedResponse.d.ts +0 -120
  176. package/dist/client/enhancedResponse.js +0 -138
  177. package/dist/client/enhancedResponse.js.map +0 -1
  178. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  179. package/dist/controllers/base.cjs +0 -116
  180. package/dist/controllers/base.cjs.map +0 -1
  181. package/dist/controllers/base.d.ts +0 -94
  182. package/dist/controllers/base.js +0 -92
  183. package/dist/controllers/base.js.map +0 -1
  184. package/dist/controllers/data.cjs +0 -2633
  185. package/dist/controllers/data.cjs.map +0 -1
  186. package/dist/controllers/data.d.ts +0 -1067
  187. package/dist/controllers/data.js +0 -2626
  188. package/dist/controllers/data.js.map +0 -1
  189. package/dist/controllers/operations.cjs +0 -430
  190. package/dist/controllers/operations.cjs.map +0 -1
  191. package/dist/controllers/operations.d.ts +0 -229
  192. package/dist/controllers/operations.js +0 -406
  193. package/dist/controllers/operations.js.map +0 -1
  194. package/dist/controllers/permissions.cjs +0 -4368
  195. package/dist/controllers/permissions.cjs.map +0 -1
  196. package/dist/controllers/permissions.d.ts +0 -1411
  197. package/dist/controllers/permissions.js +0 -4344
  198. package/dist/controllers/permissions.js.map +0 -1
  199. package/dist/controllers/protocol.cjs +0 -183
  200. package/dist/controllers/protocol.cjs.map +0 -1
  201. package/dist/controllers/protocol.d.ts +0 -138
  202. package/dist/controllers/protocol.js +0 -163
  203. package/dist/controllers/protocol.js.map +0 -1
  204. package/dist/controllers/schemas.cjs +0 -678
  205. package/dist/controllers/schemas.cjs.map +0 -1
  206. package/dist/controllers/schemas.d.ts +0 -293
  207. package/dist/controllers/schemas.js +0 -654
  208. package/dist/controllers/schemas.js.map +0 -1
  209. package/dist/controllers/server.cjs +0 -643
  210. package/dist/controllers/server.cjs.map +0 -1
  211. package/dist/controllers/server.d.ts +0 -322
  212. package/dist/controllers/server.js +0 -624
  213. package/dist/controllers/server.js.map +0 -1
  214. package/dist/controllers/staking.cjs +0 -626
  215. package/dist/controllers/staking.cjs.map +0 -1
  216. package/dist/controllers/staking.d.ts +0 -457
  217. package/dist/controllers/staking.js +0 -602
  218. package/dist/controllers/staking.js.map +0 -1
  219. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  220. package/dist/core/apiClient.cjs +0 -378
  221. package/dist/core/apiClient.cjs.map +0 -1
  222. package/dist/core/apiClient.d.ts +0 -286
  223. package/dist/core/apiClient.js +0 -359
  224. package/dist/core/apiClient.js.map +0 -1
  225. package/dist/core/generics.cjs +0 -417
  226. package/dist/core/generics.cjs.map +0 -1
  227. package/dist/core/generics.d.ts +0 -205
  228. package/dist/core/generics.js +0 -386
  229. package/dist/core/generics.js.map +0 -1
  230. package/dist/core/health.cjs +0 -289
  231. package/dist/core/health.cjs.map +0 -1
  232. package/dist/core/health.d.ts +0 -143
  233. package/dist/core/health.js +0 -265
  234. package/dist/core/health.js.map +0 -1
  235. package/dist/core/inMemoryNonceManager.cjs +0 -138
  236. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  237. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  238. package/dist/core/inMemoryNonceManager.js +0 -114
  239. package/dist/core/inMemoryNonceManager.js.map +0 -1
  240. package/dist/core/nonceManager.cjs +0 -304
  241. package/dist/core/nonceManager.cjs.map +0 -1
  242. package/dist/core/nonceManager.d.ts +0 -116
  243. package/dist/core/nonceManager.js +0 -280
  244. package/dist/core/nonceManager.js.map +0 -1
  245. package/dist/core/pollingManager.cjs +0 -292
  246. package/dist/core/pollingManager.cjs.map +0 -1
  247. package/dist/core/pollingManager.d.ts +0 -120
  248. package/dist/core/pollingManager.js +0 -268
  249. package/dist/core/pollingManager.js.map +0 -1
  250. package/dist/core.cjs +0 -781
  251. package/dist/core.cjs.map +0 -1
  252. package/dist/core.d.ts +0 -496
  253. package/dist/core.js +0 -756
  254. package/dist/core.js.map +0 -1
  255. package/dist/diagnostics.cjs +0 -37
  256. package/dist/diagnostics.cjs.map +0 -1
  257. package/dist/diagnostics.d.ts +0 -24
  258. package/dist/diagnostics.js +0 -13
  259. package/dist/diagnostics.js.map +0 -1
  260. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  261. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  262. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  263. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  264. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  265. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  266. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  267. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  268. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  269. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  270. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  271. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  272. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  273. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  274. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  275. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  276. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  277. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  278. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  279. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  280. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  281. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  282. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  283. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  284. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  285. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  286. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  287. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  288. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  289. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  290. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  291. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  292. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  293. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  294. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  295. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  296. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  297. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  298. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  299. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  300. package/dist/generated/event-types.cjs +0 -17
  301. package/dist/generated/event-types.cjs.map +0 -1
  302. package/dist/generated/event-types.d.ts +0 -816
  303. package/dist/generated/event-types.js +0 -1
  304. package/dist/generated/event-types.js.map +0 -1
  305. package/dist/generated/eventRegistry.cjs +0 -4512
  306. package/dist/generated/eventRegistry.cjs.map +0 -1
  307. package/dist/generated/eventRegistry.d.ts +0 -14
  308. package/dist/generated/eventRegistry.js +0 -4487
  309. package/dist/generated/eventRegistry.js.map +0 -1
  310. package/dist/generated/server/server-exports.cjs +0 -45
  311. package/dist/generated/server/server-exports.cjs.map +0 -1
  312. package/dist/generated/server/server-exports.d.ts +0 -36
  313. package/dist/generated/server/server-exports.js +0 -19
  314. package/dist/generated/server/server-exports.js.map +0 -1
  315. package/dist/generated/server/server.cjs +0 -17
  316. package/dist/generated/server/server.cjs.map +0 -1
  317. package/dist/generated/server/server.d.ts +0 -907
  318. package/dist/generated/server/server.js +0 -1
  319. package/dist/generated/server/server.js.map +0 -1
  320. package/dist/generated/subgraph.cjs +0 -1440
  321. package/dist/generated/subgraph.cjs.map +0 -1
  322. package/dist/generated/subgraph.d.ts +0 -6113
  323. package/dist/generated/subgraph.js +0 -1404
  324. package/dist/generated/subgraph.js.map +0 -1
  325. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  326. package/dist/lib/redisAtomicStore.cjs +0 -201
  327. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  328. package/dist/lib/redisAtomicStore.d.ts +0 -120
  329. package/dist/lib/redisAtomicStore.js +0 -177
  330. package/dist/lib/redisAtomicStore.js.map +0 -1
  331. package/dist/server/relayerHandler.cjs +0 -452
  332. package/dist/server/relayerHandler.cjs.map +0 -1
  333. package/dist/server/relayerHandler.d.ts +0 -69
  334. package/dist/server/relayerHandler.js +0 -428
  335. package/dist/server/relayerHandler.js.map +0 -1
  336. package/dist/tests/abi.test.d.ts +0 -1
  337. package/dist/tests/chains-definitions.test.d.ts +0 -1
  338. package/dist/tests/core-encryption.test.d.ts +0 -1
  339. package/dist/tests/core-extended.test.d.ts +0 -1
  340. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  341. package/dist/tests/coverage-boost.test.d.ts +0 -1
  342. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  343. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  344. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  345. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  346. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  347. package/dist/tests/data-relayer.test.d.ts +0 -1
  348. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  349. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  350. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  351. package/dist/tests/data.test.d.ts +0 -1
  352. package/dist/tests/demo-integration.test.d.ts +0 -1
  353. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  354. package/dist/tests/download-relayer.test.d.ts +0 -1
  355. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  356. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  357. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  358. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  359. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  360. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  361. package/dist/tests/errors-coverage.test.d.ts +0 -1
  362. package/dist/tests/factories/mockFactory.d.ts +0 -316
  363. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  364. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  365. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  366. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  367. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  368. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  369. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  370. package/dist/tests/helper-methods.test.d.ts +0 -1
  371. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  372. package/dist/tests/index-browser.test.d.ts +0 -1
  373. package/dist/tests/index-node.test.d.ts +0 -1
  374. package/dist/tests/index.test.d.ts +0 -1
  375. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  376. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  377. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  378. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  379. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  380. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  381. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  382. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  383. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  384. package/dist/tests/permissions.test.d.ts +0 -1
  385. package/dist/tests/personal.test.d.ts +0 -1
  386. package/dist/tests/platform-browser.test.d.ts +0 -1
  387. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  388. package/dist/tests/platform-crypto.test.d.ts +0 -1
  389. package/dist/tests/platform-index.test.d.ts +0 -1
  390. package/dist/tests/platform-node.test.d.ts +0 -1
  391. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  392. package/dist/tests/platform-updated.test.d.ts +0 -1
  393. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  394. package/dist/tests/protocol.test.d.ts +0 -1
  395. package/dist/tests/read-only-mode.test.d.ts +0 -1
  396. package/dist/tests/relayer-integration.test.d.ts +0 -1
  397. package/dist/tests/relayer-unified.test.d.ts +0 -1
  398. package/dist/tests/schemas.test.d.ts +0 -1
  399. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  400. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  401. package/dist/tests/staking.test.d.ts +0 -1
  402. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  403. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  404. package/dist/tests/types-contracts.test.d.ts +0 -1
  405. package/dist/tests/types-data.test.d.ts +0 -1
  406. package/dist/tests/types-external-apis.test.d.ts +0 -1
  407. package/dist/tests/types-generics.test.d.ts +0 -1
  408. package/dist/tests/types-permissions.test.d.ts +0 -1
  409. package/dist/tests/types-upload-params.test.d.ts +0 -1
  410. package/dist/tests/types.test.d.ts +0 -1
  411. package/dist/tests/utils-formatters.test.d.ts +0 -1
  412. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  413. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  414. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  415. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  416. package/dist/tests/utils-grants.test.d.ts +0 -1
  417. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  418. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  419. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  420. package/dist/tests/vana.test.d.ts +0 -1
  421. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  422. package/dist/types/atomicStore.cjs.map +0 -1
  423. package/dist/types/atomicStore.d.ts +0 -236
  424. package/dist/types/atomicStore.js +0 -7
  425. package/dist/types/atomicStore.js.map +0 -1
  426. package/dist/types/blockchain.cjs +0 -17
  427. package/dist/types/blockchain.cjs.map +0 -1
  428. package/dist/types/blockchain.d.ts +0 -85
  429. package/dist/types/blockchain.js +0 -1
  430. package/dist/types/blockchain.js.map +0 -1
  431. package/dist/types/controller-context.cjs +0 -17
  432. package/dist/types/controller-context.cjs.map +0 -1
  433. package/dist/types/controller-context.d.ts +0 -68
  434. package/dist/types/controller-context.js +0 -1
  435. package/dist/types/controller-context.js.map +0 -1
  436. package/dist/types/data.cjs +0 -17
  437. package/dist/types/data.cjs.map +0 -1
  438. package/dist/types/data.d.ts +0 -763
  439. package/dist/types/data.js +0 -1
  440. package/dist/types/data.js.map +0 -1
  441. package/dist/types/external-apis.cjs +0 -61
  442. package/dist/types/external-apis.cjs.map +0 -1
  443. package/dist/types/external-apis.d.ts +0 -184
  444. package/dist/types/external-apis.js +0 -34
  445. package/dist/types/external-apis.js.map +0 -1
  446. package/dist/types/generics.cjs +0 -17
  447. package/dist/types/generics.cjs.map +0 -1
  448. package/dist/types/generics.d.ts +0 -518
  449. package/dist/types/generics.js +0 -1
  450. package/dist/types/generics.js.map +0 -1
  451. package/dist/types/operationStore.cjs +0 -17
  452. package/dist/types/operationStore.cjs.map +0 -1
  453. package/dist/types/operationStore.d.ts +0 -171
  454. package/dist/types/operationStore.js +0 -1
  455. package/dist/types/operationStore.js.map +0 -1
  456. package/dist/types/operations.cjs +0 -53
  457. package/dist/types/operations.cjs.map +0 -1
  458. package/dist/types/operations.d.ts +0 -204
  459. package/dist/types/operations.js +0 -26
  460. package/dist/types/operations.js.map +0 -1
  461. package/dist/types/options.cjs +0 -17
  462. package/dist/types/options.cjs.map +0 -1
  463. package/dist/types/options.d.ts +0 -308
  464. package/dist/types/options.js +0 -1
  465. package/dist/types/options.js.map +0 -1
  466. package/dist/types/permissions.cjs +0 -17
  467. package/dist/types/permissions.cjs.map +0 -1
  468. package/dist/types/permissions.d.ts +0 -955
  469. package/dist/types/permissions.js +0 -1
  470. package/dist/types/permissions.js.map +0 -1
  471. package/dist/types/personal.cjs +0 -17
  472. package/dist/types/personal.cjs.map +0 -1
  473. package/dist/types/personal.d.ts +0 -174
  474. package/dist/types/personal.js +0 -1
  475. package/dist/types/personal.js.map +0 -1
  476. package/dist/types/relayer.cjs +0 -17
  477. package/dist/types/relayer.cjs.map +0 -1
  478. package/dist/types/relayer.d.ts +0 -552
  479. package/dist/types/relayer.js +0 -1
  480. package/dist/types/relayer.js.map +0 -1
  481. package/dist/types/transactionResults.cjs +0 -17
  482. package/dist/types/transactionResults.cjs.map +0 -1
  483. package/dist/types/transactionResults.d.ts +0 -193
  484. package/dist/types/transactionResults.js +0 -1
  485. package/dist/types/transactionResults.js.map +0 -1
  486. package/dist/types/utils.cjs +0 -17
  487. package/dist/types/utils.cjs.map +0 -1
  488. package/dist/types/utils.d.ts +0 -771
  489. package/dist/types/utils.js +0 -1
  490. package/dist/types/utils.js.map +0 -1
  491. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  492. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  493. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  494. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  495. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  496. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  497. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  498. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  499. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  500. package/dist/utils/blockchain/registry.cjs +0 -81
  501. package/dist/utils/blockchain/registry.cjs.map +0 -1
  502. package/dist/utils/blockchain/registry.d.ts +0 -32
  503. package/dist/utils/blockchain/registry.js +0 -56
  504. package/dist/utils/blockchain/registry.js.map +0 -1
  505. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  506. package/dist/utils/chainQuery.cjs +0 -107
  507. package/dist/utils/chainQuery.cjs.map +0 -1
  508. package/dist/utils/chainQuery.d.ts +0 -31
  509. package/dist/utils/chainQuery.js +0 -82
  510. package/dist/utils/chainQuery.js.map +0 -1
  511. package/dist/utils/download.cjs +0 -69
  512. package/dist/utils/download.cjs.map +0 -1
  513. package/dist/utils/download.d.ts +0 -40
  514. package/dist/utils/download.js +0 -45
  515. package/dist/utils/download.js.map +0 -1
  516. package/dist/utils/encryption.cjs +0 -176
  517. package/dist/utils/encryption.cjs.map +0 -1
  518. package/dist/utils/encryption.d.ts +0 -271
  519. package/dist/utils/encryption.js +0 -142
  520. package/dist/utils/encryption.js.map +0 -1
  521. package/dist/utils/formatters.cjs +0 -55
  522. package/dist/utils/formatters.cjs.map +0 -1
  523. package/dist/utils/formatters.d.ts +0 -118
  524. package/dist/utils/formatters.js +0 -28
  525. package/dist/utils/formatters.js.map +0 -1
  526. package/dist/utils/grantFiles.cjs +0 -181
  527. package/dist/utils/grantFiles.cjs.map +0 -1
  528. package/dist/utils/grantFiles.d.ts +0 -172
  529. package/dist/utils/grantFiles.js +0 -143
  530. package/dist/utils/grantFiles.js.map +0 -1
  531. package/dist/utils/grantValidation.cjs +0 -243
  532. package/dist/utils/grantValidation.cjs.map +0 -1
  533. package/dist/utils/grantValidation.d.ts +0 -226
  534. package/dist/utils/grantValidation.js +0 -201
  535. package/dist/utils/grantValidation.js.map +0 -1
  536. package/dist/utils/grants.cjs +0 -108
  537. package/dist/utils/grants.cjs.map +0 -1
  538. package/dist/utils/grants.d.ts +0 -148
  539. package/dist/utils/grants.js +0 -82
  540. package/dist/utils/grants.js.map +0 -1
  541. package/dist/utils/ipfs.cjs +0 -128
  542. package/dist/utils/ipfs.cjs.map +0 -1
  543. package/dist/utils/ipfs.d.ts +0 -88
  544. package/dist/utils/ipfs.js +0 -97
  545. package/dist/utils/ipfs.js.map +0 -1
  546. package/dist/utils/multicall.cjs +0 -233
  547. package/dist/utils/multicall.cjs.map +0 -1
  548. package/dist/utils/multicall.d.ts +0 -126
  549. package/dist/utils/multicall.js +0 -208
  550. package/dist/utils/multicall.js.map +0 -1
  551. package/dist/utils/parseTransactionPojo.cjs +0 -87
  552. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  553. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  554. package/dist/utils/parseTransactionPojo.js +0 -63
  555. package/dist/utils/parseTransactionPojo.js.map +0 -1
  556. package/dist/utils/schemaValidation.cjs +0 -258
  557. package/dist/utils/schemaValidation.cjs.map +0 -1
  558. package/dist/utils/schemaValidation.d.ts +0 -168
  559. package/dist/utils/schemaValidation.js +0 -219
  560. package/dist/utils/schemaValidation.js.map +0 -1
  561. package/dist/utils/signatureCache.cjs +0 -192
  562. package/dist/utils/signatureCache.cjs.map +0 -1
  563. package/dist/utils/signatureCache.d.ts +0 -172
  564. package/dist/utils/signatureCache.js +0 -167
  565. package/dist/utils/signatureCache.js.map +0 -1
  566. package/dist/utils/signatureFormatter.cjs +0 -42
  567. package/dist/utils/signatureFormatter.cjs.map +0 -1
  568. package/dist/utils/signatureFormatter.d.ts +0 -36
  569. package/dist/utils/signatureFormatter.js +0 -18
  570. package/dist/utils/signatureFormatter.js.map +0 -1
  571. package/dist/utils/subgraphConsistency.cjs +0 -184
  572. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  573. package/dist/utils/subgraphConsistency.d.ts +0 -65
  574. package/dist/utils/subgraphConsistency.js +0 -155
  575. package/dist/utils/subgraphConsistency.js.map +0 -1
  576. package/dist/utils/subgraphMetaCache.cjs +0 -101
  577. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  578. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  579. package/dist/utils/subgraphMetaCache.js +0 -76
  580. package/dist/utils/subgraphMetaCache.js.map +0 -1
  581. package/dist/utils/subgraphPagination.cjs +0 -104
  582. package/dist/utils/subgraphPagination.cjs.map +0 -1
  583. package/dist/utils/subgraphPagination.d.ts +0 -78
  584. package/dist/utils/subgraphPagination.js +0 -78
  585. package/dist/utils/subgraphPagination.js.map +0 -1
  586. package/dist/utils/tests/multicall.test.d.ts +0 -1
  587. package/dist/utils/transactionHelpers.cjs +0 -54
  588. package/dist/utils/transactionHelpers.cjs.map +0 -1
  589. package/dist/utils/transactionHelpers.d.ts +0 -80
  590. package/dist/utils/transactionHelpers.js +0 -29
  591. package/dist/utils/transactionHelpers.js.map +0 -1
  592. package/dist/utils/typeGuards.cjs +0 -109
  593. package/dist/utils/typeGuards.cjs.map +0 -1
  594. package/dist/utils/typeGuards.d.ts +0 -138
  595. package/dist/utils/typeGuards.js +0 -74
  596. package/dist/utils/typeGuards.js.map +0 -1
  597. package/dist/utils/typedDataConverter.cjs +0 -43
  598. package/dist/utils/typedDataConverter.cjs.map +0 -1
  599. package/dist/utils/typedDataConverter.d.ts +0 -46
  600. package/dist/utils/typedDataConverter.js +0 -19
  601. package/dist/utils/typedDataConverter.js.map +0 -1
  602. package/dist/utils/urlResolver.cjs +0 -62
  603. package/dist/utils/urlResolver.cjs.map +0 -1
  604. package/dist/utils/urlResolver.d.ts +0 -56
  605. package/dist/utils/urlResolver.js +0 -37
  606. package/dist/utils/urlResolver.js.map +0 -1
  607. package/dist/utils/wallet.cjs +0 -63
  608. package/dist/utils/wallet.cjs.map +0 -1
  609. package/dist/utils/wallet.d.ts +0 -94
  610. package/dist/utils/wallet.js +0 -37
  611. package/dist/utils/wallet.js.map +0 -1
  612. package/dist/utils/withEvents.cjs +0 -44
  613. package/dist/utils/withEvents.cjs.map +0 -1
  614. package/dist/utils/withEvents.d.ts +0 -56
  615. package/dist/utils/withEvents.js +0 -18
  616. package/dist/utils/withEvents.js.map +0 -1
  617. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  618. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  619. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  620. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  621. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  622. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  623. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  624. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  625. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  626. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/grants.test.d.ts} +0 -0
  627. /package/dist/{core/core.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  628. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  629. /package/dist/{core/tests/client.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  630. /package/dist/{core/tests/generics.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  631. /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-canary.b068ac6",
4
4
  "description": "A TypeScript library for interacting with Vana Network smart contracts.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -82,11 +82,13 @@
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
+ "validate:node-builtins-output": "tsx scripts/validate-node-builtins-output.ts",
86
+ "prebuild": "npm run validate:platform && npm run validate:entries && npm run validate:types",
86
87
  "build:types": "tsc -p tsconfig.build.json --listEmittedFiles",
87
88
  "build:node": "tsup --config tsup.config.ts",
88
89
  "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",
90
+ "build:entries": "tsx scripts/bundle-entry-points.ts",
91
+ "build": "npm run clean && npm run build:types && npm run build:node && npm run build:browser && npm run build:entries && npm run validate:node-builtins-output",
90
92
  "dev": "npm run build -- --watch",
91
93
  "lint": "eslint .",
92
94
  "lint:fix": "eslint . --fix",
@@ -98,13 +100,7 @@
98
100
  "test:coverage:verbose": "vitest run --coverage --reporter=verbose --coverage.reporter=text",
99
101
  "discover-addresses": "tsx scripts/discover-addresses.ts",
100
102
  "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"
103
+ "generate": "npm run discover-addresses && npm run fetch-abis"
108
104
  },
109
105
  "keywords": [
110
106
  "vana",
@@ -118,38 +114,25 @@
118
114
  "@noble/hashes": "^1.8.0",
119
115
  "@noble/secp256k1": "^2.3.0",
120
116
  "abitype": "^1.0.9",
121
- "ajv": "^8.17.1",
122
- "ajv-formats": "^3.0.1",
123
- "graphql": "^16.11.0",
124
117
  "openpgp": "^6.1.1",
125
- "uuid": "^13.0.0",
126
- "viem": "^2.35.1"
118
+ "viem": "^2.35.1",
119
+ "zod": "^4.1.12"
127
120
  },
128
121
  "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
122
  "@types/node": "^24.3.0",
134
123
  "@types/secp256k1": "^4.0.6",
135
- "@types/uuid": "^10.0.0",
136
124
  "@typescript-eslint/eslint-plugin": "^8.41.0",
137
125
  "@typescript-eslint/parser": "^8.41.0",
138
126
  "@vitest/coverage-v8": "^3.2.4",
139
- "bundle-require": "^5.1.0",
140
- "consola": "^3.4.0",
141
127
  "eslint": "^9.34.0",
142
128
  "eslint-config-prettier": "^10.1.5",
143
129
  "eslint-plugin-import": "^2.32.0",
144
130
  "eslint-plugin-prettier": "^5.4.0",
145
131
  "eslint-plugin-tsdoc": "^0.4.0",
146
132
  "eslint-plugin-unused-imports": "^4.2.0",
147
- "fix-dts-default-cjs-exports": "^1.0.1",
148
133
  "globals": "^16.3.0",
149
- "openapi-typescript": "^7.8.0",
150
134
  "prettier": "^3.5.3",
151
135
  "rimraf": "^6.0.1",
152
- "tree-kill": "^1.2.2",
153
136
  "tsup": "^8.5.0",
154
137
  "tsx": "^4.20.5",
155
138
  "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":"AAiBA,SAAS,sBAAsB;AAwBxB,MAAM,4BAA4B;AAAA;AAAA,EAEvB;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EAEC;AAAA;AAAA,EAEjB,YAAY,UAAkC,KAAU;AACtD,SAAK,WAAW;AAChB,SAAK,MAAM;AAGX,QAAI,SAAS,SAAS,eAAe,SAAS,SAAS,UAAU;AAC/D,WAAK,OAAO,SAAS;AACrB,WAAK,UAAU,SAAS;AAAA,IAC1B,WAAW,SAAS,SAAS,WAAW;AACtC,WAAK,cAAc,SAAS;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BA,MAAM,KAAK,SAOM;AAEf,QAAI,KAAK,SAAS,SAAS,aAAa;AACtC,aAAO;AAAA,QACL,MAAM,KAAK,SAAS;AAAA,QACpB,SAAS,KAAK,SAAS;AAAA,MACzB;AAAA,IACF;AAGA,SACG,KAAK,SAAS,SAAS,eAAe,KAAK,SAAS,SAAS,aAC9D,KAAK,SACL;AAEA,aAAO,MAAM,KAAK,IAAI,yBAAyB;AAAA,QAC7C,MAAM,KAAK,SAAS;AAAA,QACpB,MAAM,KAAK,QAAQ;AAAA,QACnB,UAAU,KAAK,QAAQ;AAAA,QACvB,IAAI,KAAK,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAGA,QAAI,KAAK,SAAS,SAAS,eAAe,KAAK,SAAS,SAAS,UAAU;AAEzE,YAAM,UAAU,MAAM,KAAK,IAAI,aAAa,0BAA0B;AAAA,QACpE,MAAM,KAAK,SAAS;AAAA,MACtB,CAAC;AACD,aAAO;AAAA,QACL,MAAM,KAAK,SAAS;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AAGA,QAAI,KAAK,SAAS,SAAS,WAAW;AAEpC,YAAM,cAAc,KAAK;AACzB,YAAM,kBAAkB,YAAY;AAEpC,UAAI,OAAO,oBAAoB,YAAY;AACzC,cAAM,IAAI,MAAM,6CAA6C;AAAA,MAC/D;AAEA,YAAM,iBAAiB,IAAI,eAAe,eAAe;AACzD,aAAO,MAAM,eAAe,aAAa,KAAK,SAAS,aAAa;AAAA,QAClE,QAAQ,SAAS;AAAA,QACjB,gBAAgB,SAAS;AAAA,QACzB,SAAS,SAAS;AAAA,MACpB,CAAC;AAAA,IACH;AAGA,UAAM,IAAI;AAAA,MACR,iCAAkC,KAAK,SAAiB,IAAI;AAAA,IAE9D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAmB;AACjB,WACE,KAAK,SAAS,SAAS,eACvB,KAAK,SAAS,SAAS,YACvB,KAAK,SAAS,SAAS,aACvB,KAAK,SAAS,SAAS;AAAA,EAE3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAoB;AAClB,YAAQ,KAAK,SAAS,MAAM;AAAA,MAC1B,KAAK;AACH,eAAO,0BAA0B,KAAK,WAAW;AAAA,MACnD,KAAK;AAAA,MACL,KAAK;AACH,eAAO,gCAAgC,KAAK,IAAI;AAAA,MAClD,KAAK;AACH,eAAO,gCAAgC,KAAK,SAAS,IAAI;AAAA,MAC3D,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO,UAAU,KAAK,SAAS,KAAK;AAAA,MACtC;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;AAQO,SAAS,mBAAmB,UAA2C;AAC5E,SACE,SAAS,SAAS,eAClB,SAAS,SAAS,YAClB,SAAS,SAAS,aAClB,SAAS,SAAS;AAEtB;AAkBO,SAAS,gBACd,UACA,KACoC;AACpC,MAAI,mBAAmB,QAAQ,GAAG;AAChC,WAAO,IAAI,4BAA4B,UAAU,GAAG;AAAA,EACtD;AACA,SAAO;AACT;","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 {};