@opendatalabs/vana-sdk 2.2.3 → 3.0.0

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 (622) 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 +125 -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 +104 -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/VanaPoolEntityImplementation.cjs +65 -0
  62. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
  63. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +51 -0
  64. package/dist/generated/abi/VanaPoolEntityImplementation.js +65 -0
  65. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
  66. package/dist/generated/abi/VanaPoolStakingImplementation.cjs +187 -19
  67. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
  68. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +144 -14
  69. package/dist/generated/abi/VanaPoolStakingImplementation.js +187 -19
  70. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
  71. package/dist/generated/abi/index.cjs +2 -37
  72. package/dist/generated/abi/index.cjs.map +1 -1
  73. package/dist/generated/abi/index.d.ts +2687 -9119
  74. package/dist/generated/abi/index.js +2 -29
  75. package/dist/generated/abi/index.js.map +1 -1
  76. package/dist/generated/addresses.cjs +5 -107
  77. package/dist/generated/addresses.cjs.map +1 -1
  78. package/dist/generated/addresses.d.ts +5 -99
  79. package/dist/generated/addresses.js +5 -105
  80. package/dist/generated/addresses.js.map +1 -1
  81. package/dist/index.browser.d.ts +23 -138
  82. package/dist/index.browser.js +32090 -112
  83. package/dist/index.browser.js.map +7 -1
  84. package/dist/index.node.cjs +32809 -157
  85. package/dist/index.node.cjs.map +7 -1
  86. package/dist/index.node.d.ts +22 -208
  87. package/dist/index.node.js +32716 -131
  88. package/dist/index.node.js.map +7 -1
  89. package/dist/protocol/data-file.cjs +56 -0
  90. package/dist/protocol/data-file.cjs.map +1 -0
  91. package/dist/protocol/data-file.d.ts +20 -0
  92. package/dist/protocol/data-file.js +30 -0
  93. package/dist/protocol/data-file.js.map +1 -0
  94. package/dist/protocol/eip712.cjs +123 -0
  95. package/dist/protocol/eip712.cjs.map +1 -0
  96. package/dist/protocol/eip712.d.ts +117 -0
  97. package/dist/protocol/eip712.js +90 -0
  98. package/dist/protocol/eip712.js.map +1 -0
  99. package/dist/protocol/gateway.cjs +226 -0
  100. package/dist/protocol/gateway.cjs.map +1 -0
  101. package/dist/protocol/gateway.d.ts +120 -0
  102. package/dist/protocol/gateway.js +202 -0
  103. package/dist/protocol/gateway.js.map +1 -0
  104. package/dist/protocol/scopes.cjs +78 -0
  105. package/dist/protocol/scopes.cjs.map +1 -0
  106. package/dist/protocol/scopes.d.ts +13 -0
  107. package/dist/protocol/scopes.js +50 -0
  108. package/dist/protocol/scopes.js.map +1 -0
  109. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  110. package/dist/storage/default.cjs.map +1 -0
  111. package/dist/storage/default.d.ts +4 -0
  112. package/dist/storage/default.js +8 -0
  113. package/dist/storage/default.js.map +1 -0
  114. package/dist/storage/index.cjs +11 -2
  115. package/dist/storage/index.cjs.map +1 -1
  116. package/dist/storage/index.d.ts +9 -0
  117. package/dist/storage/index.js +7 -1
  118. package/dist/storage/index.js.map +1 -1
  119. package/dist/storage/providers/callback-storage.cjs +1 -0
  120. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  121. package/dist/storage/providers/callback-storage.js +1 -0
  122. package/dist/storage/providers/callback-storage.js.map +1 -1
  123. package/dist/storage/providers/dropbox.cjs +1 -0
  124. package/dist/storage/providers/dropbox.cjs.map +1 -1
  125. package/dist/storage/providers/dropbox.js +1 -0
  126. package/dist/storage/providers/dropbox.js.map +1 -1
  127. package/dist/storage/providers/google-drive.cjs +1 -0
  128. package/dist/storage/providers/google-drive.cjs.map +1 -1
  129. package/dist/storage/providers/google-drive.js +1 -0
  130. package/dist/storage/providers/google-drive.js.map +1 -1
  131. package/dist/storage/providers/ipfs.cjs +1 -0
  132. package/dist/storage/providers/ipfs.cjs.map +1 -1
  133. package/dist/storage/providers/ipfs.js +1 -0
  134. package/dist/storage/providers/ipfs.js.map +1 -1
  135. package/dist/storage/providers/pinata.cjs +1 -0
  136. package/dist/storage/providers/pinata.cjs.map +1 -1
  137. package/dist/storage/providers/pinata.js +1 -0
  138. package/dist/storage/providers/pinata.js.map +1 -1
  139. package/dist/storage/providers/r2.cjs +376 -0
  140. package/dist/storage/providers/r2.cjs.map +1 -0
  141. package/dist/storage/providers/r2.d.ts +91 -0
  142. package/dist/storage/providers/r2.js +354 -0
  143. package/dist/storage/providers/r2.js.map +1 -0
  144. package/dist/storage/providers/vana-storage.cjs +251 -0
  145. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  146. package/dist/storage/providers/vana-storage.d.ts +100 -0
  147. package/dist/storage/providers/vana-storage.js +231 -0
  148. package/dist/storage/providers/vana-storage.js.map +1 -0
  149. package/dist/types/config.cjs +0 -34
  150. package/dist/types/config.cjs.map +1 -1
  151. package/dist/types/config.d.ts +1 -607
  152. package/dist/types/config.js +0 -22
  153. package/dist/types/config.js.map +1 -1
  154. package/dist/types/contracts.cjs.map +1 -1
  155. package/dist/types/contracts.d.ts +1 -1
  156. package/dist/types/index.cjs +2 -33
  157. package/dist/types/index.cjs.map +1 -1
  158. package/dist/types/index.d.ts +2 -33
  159. package/dist/types/index.js +1 -35
  160. package/dist/types/index.js.map +1 -1
  161. package/dist/types/ps-errors.cjs +66 -0
  162. package/dist/types/ps-errors.cjs.map +1 -0
  163. package/dist/types/ps-errors.d.ts +25 -0
  164. package/dist/types/ps-errors.js +41 -0
  165. package/dist/types/ps-errors.js.map +1 -0
  166. package/dist/types.cjs.map +1 -1
  167. package/dist/types.d.ts +0 -29
  168. package/dist/types.js.map +1 -1
  169. package/package.json +7 -25
  170. package/dist/client/enhancedResponse.cjs +0 -164
  171. package/dist/client/enhancedResponse.cjs.map +0 -1
  172. package/dist/client/enhancedResponse.d.ts +0 -120
  173. package/dist/client/enhancedResponse.js +0 -138
  174. package/dist/client/enhancedResponse.js.map +0 -1
  175. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  176. package/dist/controllers/base.cjs +0 -116
  177. package/dist/controllers/base.cjs.map +0 -1
  178. package/dist/controllers/base.d.ts +0 -94
  179. package/dist/controllers/base.js +0 -92
  180. package/dist/controllers/base.js.map +0 -1
  181. package/dist/controllers/data.cjs +0 -2633
  182. package/dist/controllers/data.cjs.map +0 -1
  183. package/dist/controllers/data.d.ts +0 -1067
  184. package/dist/controllers/data.js +0 -2626
  185. package/dist/controllers/data.js.map +0 -1
  186. package/dist/controllers/operations.cjs +0 -430
  187. package/dist/controllers/operations.cjs.map +0 -1
  188. package/dist/controllers/operations.d.ts +0 -229
  189. package/dist/controllers/operations.js +0 -406
  190. package/dist/controllers/operations.js.map +0 -1
  191. package/dist/controllers/permissions.cjs +0 -4368
  192. package/dist/controllers/permissions.cjs.map +0 -1
  193. package/dist/controllers/permissions.d.ts +0 -1411
  194. package/dist/controllers/permissions.js +0 -4344
  195. package/dist/controllers/permissions.js.map +0 -1
  196. package/dist/controllers/protocol.cjs +0 -183
  197. package/dist/controllers/protocol.cjs.map +0 -1
  198. package/dist/controllers/protocol.d.ts +0 -138
  199. package/dist/controllers/protocol.js +0 -163
  200. package/dist/controllers/protocol.js.map +0 -1
  201. package/dist/controllers/schemas.cjs +0 -678
  202. package/dist/controllers/schemas.cjs.map +0 -1
  203. package/dist/controllers/schemas.d.ts +0 -293
  204. package/dist/controllers/schemas.js +0 -654
  205. package/dist/controllers/schemas.js.map +0 -1
  206. package/dist/controllers/server.cjs +0 -643
  207. package/dist/controllers/server.cjs.map +0 -1
  208. package/dist/controllers/server.d.ts +0 -322
  209. package/dist/controllers/server.js +0 -624
  210. package/dist/controllers/server.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 -777
  243. package/dist/core.cjs.map +0 -1
  244. package/dist/core.d.ts +0 -493
  245. package/dist/core.js +0 -752
  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/diagnostics.test.d.ts +0 -1
  253. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  254. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  255. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  256. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  257. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  258. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  259. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  260. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  261. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  262. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  263. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  264. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  265. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  266. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  267. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  268. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  269. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  270. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  271. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  272. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  273. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  274. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  275. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  276. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  277. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  278. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  279. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  280. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  281. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  282. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  283. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  284. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  285. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  286. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  287. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  288. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  289. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  290. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  291. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  292. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  293. package/dist/generated/event-types.cjs +0 -17
  294. package/dist/generated/event-types.cjs.map +0 -1
  295. package/dist/generated/event-types.d.ts +0 -809
  296. package/dist/generated/event-types.js +0 -1
  297. package/dist/generated/event-types.js.map +0 -1
  298. package/dist/generated/eventRegistry.cjs +0 -4470
  299. package/dist/generated/eventRegistry.cjs.map +0 -1
  300. package/dist/generated/eventRegistry.d.ts +0 -14
  301. package/dist/generated/eventRegistry.js +0 -4445
  302. package/dist/generated/eventRegistry.js.map +0 -1
  303. package/dist/generated/server/server-exports.cjs +0 -45
  304. package/dist/generated/server/server-exports.cjs.map +0 -1
  305. package/dist/generated/server/server-exports.d.ts +0 -36
  306. package/dist/generated/server/server-exports.js +0 -19
  307. package/dist/generated/server/server-exports.js.map +0 -1
  308. package/dist/generated/server/server.cjs +0 -17
  309. package/dist/generated/server/server.cjs.map +0 -1
  310. package/dist/generated/server/server.d.ts +0 -907
  311. package/dist/generated/server/server.js +0 -1
  312. package/dist/generated/server/server.js.map +0 -1
  313. package/dist/generated/subgraph.cjs +0 -1440
  314. package/dist/generated/subgraph.cjs.map +0 -1
  315. package/dist/generated/subgraph.d.ts +0 -6113
  316. package/dist/generated/subgraph.js +0 -1404
  317. package/dist/generated/subgraph.js.map +0 -1
  318. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  319. package/dist/lib/redisAtomicStore.cjs +0 -201
  320. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  321. package/dist/lib/redisAtomicStore.d.ts +0 -120
  322. package/dist/lib/redisAtomicStore.js +0 -177
  323. package/dist/lib/redisAtomicStore.js.map +0 -1
  324. package/dist/server/relayerHandler.cjs +0 -452
  325. package/dist/server/relayerHandler.cjs.map +0 -1
  326. package/dist/server/relayerHandler.d.ts +0 -69
  327. package/dist/server/relayerHandler.js +0 -428
  328. package/dist/server/relayerHandler.js.map +0 -1
  329. package/dist/tests/abi.test.d.ts +0 -1
  330. package/dist/tests/chains-definitions.test.d.ts +0 -1
  331. package/dist/tests/core-encryption.test.d.ts +0 -1
  332. package/dist/tests/core-extended.test.d.ts +0 -1
  333. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  334. package/dist/tests/coverage-boost.test.d.ts +0 -1
  335. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  336. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  337. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  338. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  339. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  340. package/dist/tests/data-relayer.test.d.ts +0 -1
  341. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  342. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  343. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  344. package/dist/tests/data.test.d.ts +0 -1
  345. package/dist/tests/demo-integration.test.d.ts +0 -1
  346. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  347. package/dist/tests/download-relayer.test.d.ts +0 -1
  348. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  349. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  350. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  351. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  352. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  353. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  354. package/dist/tests/errors-coverage.test.d.ts +0 -1
  355. package/dist/tests/factories/mockFactory.d.ts +0 -316
  356. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  357. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  358. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  359. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  360. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  361. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  362. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  363. package/dist/tests/helper-methods.test.d.ts +0 -1
  364. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  365. package/dist/tests/index-browser.test.d.ts +0 -1
  366. package/dist/tests/index-node.test.d.ts +0 -1
  367. package/dist/tests/index.test.d.ts +0 -1
  368. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  369. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  370. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  371. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  372. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  373. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  374. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  375. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  376. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  377. package/dist/tests/permissions.test.d.ts +0 -1
  378. package/dist/tests/personal.test.d.ts +0 -1
  379. package/dist/tests/platform-browser.test.d.ts +0 -1
  380. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  381. package/dist/tests/platform-crypto.test.d.ts +0 -1
  382. package/dist/tests/platform-index.test.d.ts +0 -1
  383. package/dist/tests/platform-node.test.d.ts +0 -1
  384. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  385. package/dist/tests/platform-updated.test.d.ts +0 -1
  386. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  387. package/dist/tests/protocol.test.d.ts +0 -1
  388. package/dist/tests/read-only-mode.test.d.ts +0 -1
  389. package/dist/tests/relayer-integration.test.d.ts +0 -1
  390. package/dist/tests/relayer-unified.test.d.ts +0 -1
  391. package/dist/tests/schemas.test.d.ts +0 -1
  392. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  393. package/dist/tests/signatureFormatter.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/scopes.test.d.ts} +0 -0
  619. /package/dist/{core/core.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  620. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  621. /package/dist/{core/tests/client.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  622. /package/dist/{core/tests/generics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
@@ -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 {};
@@ -1,116 +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 base_exports = {};
20
- __export(base_exports, {
21
- BaseController: () => BaseController
22
- });
23
- module.exports = __toCommonJS(base_exports);
24
- var import_errors = require("../errors");
25
- class BaseController {
26
- /**
27
- * Creates a new controller instance with the provided context.
28
- *
29
- * @param context - The controller context containing clients and configuration
30
- */
31
- constructor(context) {
32
- this.context = context;
33
- }
34
- /**
35
- * Asserts that a wallet client with an account is available for operations requiring signing.
36
- *
37
- * @remarks
38
- * This method uses TypeScript assertion signatures to narrow the type of
39
- * `this.context` to guarantee that `walletClient` with an account is available
40
- * after the call succeeds. This provides compile-time safety for wallet operations
41
- * while enabling clear error messages for read-only scenarios.
42
- *
43
- * The assertion signature ensures that after calling this method,
44
- * TypeScript knows that `this.context.walletClient` is definitely available
45
- * with a configured account.
46
- *
47
- * @throws {ReadOnlyError} When no wallet client is configured
48
- * @throws {Error} When wallet client exists but no account is configured
49
- *
50
- * @example
51
- * ```typescript
52
- * async performWalletOperation() {
53
- * this.assertWallet(); // Type assertion + runtime check
54
- *
55
- * // TypeScript now knows walletClient and account are available
56
- * const account = this.context.walletClient.account;
57
- * const address = typeof account === 'string' ? account : account.address;
58
- * }
59
- * ```
60
- */
61
- assertWallet() {
62
- if (!this.context.walletClient) {
63
- const stack = new Error().stack;
64
- const callingMethod = stack?.split("\n")[2]?.match(/at \w+\.(\w+)/)?.[1] ?? "this operation";
65
- throw new import_errors.ReadOnlyError(
66
- callingMethod,
67
- "Initialize the SDK with a walletClient to perform this operation"
68
- );
69
- }
70
- if (!this.context.walletClient.account) {
71
- const stack = new Error().stack;
72
- const callingMethod = stack?.split("\n")[2]?.match(/at \w+\.(\w+)/)?.[1] ?? "this operation";
73
- throw new Error(
74
- `No wallet account connected. Cannot perform ${callingMethod} without an account.`
75
- );
76
- }
77
- }
78
- /**
79
- * Helper to safely spread transaction options for viem compatibility.
80
- * Handles EIP-1559 vs legacy gas pricing correctly.
81
- *
82
- * @param options - Transaction options to spread
83
- * @returns Properly formatted options for viem
84
- * @internal
85
- */
86
- spreadTransactionOptions(options) {
87
- if (!options) return {};
88
- const baseOptions = {
89
- ...options.nonce !== void 0 && { nonce: options.nonce },
90
- ...options.gas !== void 0 && { gas: options.gas }
91
- };
92
- if (options.maxFeePerGas !== void 0 || options.maxPriorityFeePerGas !== void 0) {
93
- return {
94
- ...baseOptions,
95
- ...options.maxFeePerGas !== void 0 && {
96
- maxFeePerGas: options.maxFeePerGas
97
- },
98
- ...options.maxPriorityFeePerGas !== void 0 && {
99
- maxPriorityFeePerGas: options.maxPriorityFeePerGas
100
- }
101
- };
102
- }
103
- if (options.gasPrice !== void 0) {
104
- return {
105
- ...baseOptions,
106
- gasPrice: options.gasPrice
107
- };
108
- }
109
- return baseOptions;
110
- }
111
- }
112
- // Annotate the CommonJS export names for ESM import in node:
113
- 0 && (module.exports = {
114
- BaseController
115
- });
116
- //# sourceMappingURL=base.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/controllers/base.ts"],"sourcesContent":["/**\n * Base controller class providing common functionality for all controllers.\n *\n * @remarks\n * This abstract class establishes the foundation for all Vana SDK controllers,\n * providing shared utilities like wallet validation and context management.\n * All controllers should extend this base class to ensure consistency and\n * shared behavior across the SDK.\n *\n * The class follows the Single Responsibility Principle by handling only\n * the core controller concerns while leaving specific functionality to\n * implementing classes.\n *\n * @category Controllers\n */\n\nimport type { WalletClient } from \"viem\";\nimport type { ControllerContext } from \"../types/controller-context\";\nimport type { TransactionOptions } from \"../types/operations\";\nimport { ReadOnlyError } from \"../errors\";\n\n/**\n * Abstract base controller that all Vana SDK controllers extend.\n *\n * @remarks\n * Provides common functionality and patterns used across all controllers,\n * including wallet validation and context management. This ensures\n * consistency and reduces code duplication throughout the SDK.\n *\n * Key features:\n * - Wallet client validation with TypeScript assertion signatures\n * - Consistent error handling for read-only scenarios\n * - Shared context management patterns\n * - Type-safe wallet operations\n *\n * @example\n * ```typescript\n * class MyController extends BaseController {\n * async performWalletOperation() {\n * this.assertWallet(); // Ensures wallet is available\n * // Now this.context.walletClient is guaranteed to be available\n * const address = await this.context.walletClient.getAddresses();\n * return address[0];\n * }\n * }\n * ```\n */\nexport abstract class BaseController {\n /**\n * Creates a new controller instance with the provided context.\n *\n * @param context - The controller context containing clients and configuration\n */\n constructor(protected readonly context: ControllerContext) {}\n\n /**\n * Asserts that a wallet client with an account is available for operations requiring signing.\n *\n * @remarks\n * This method uses TypeScript assertion signatures to narrow the type of\n * `this.context` to guarantee that `walletClient` with an account is available\n * after the call succeeds. This provides compile-time safety for wallet operations\n * while enabling clear error messages for read-only scenarios.\n *\n * The assertion signature ensures that after calling this method,\n * TypeScript knows that `this.context.walletClient` is definitely available\n * with a configured account.\n *\n * @throws {ReadOnlyError} When no wallet client is configured\n * @throws {Error} When wallet client exists but no account is configured\n *\n * @example\n * ```typescript\n * async performWalletOperation() {\n * this.assertWallet(); // Type assertion + runtime check\n *\n * // TypeScript now knows walletClient and account are available\n * const account = this.context.walletClient.account;\n * const address = typeof account === 'string' ? account : account.address;\n * }\n * ```\n */\n protected assertWallet(): asserts this is {\n context: ControllerContext & { walletClient: WalletClient };\n } {\n if (!this.context.walletClient) {\n // Get the calling method name from the stack trace for better error messages\n const stack = new Error().stack;\n const callingMethod =\n stack?.split(\"\\n\")[2]?.match(/at \\w+\\.(\\w+)/)?.[1] ?? \"this operation\";\n\n throw new ReadOnlyError(\n callingMethod,\n \"Initialize the SDK with a walletClient to perform this operation\",\n );\n }\n\n if (!this.context.walletClient.account) {\n // Get the calling method name from the stack trace for better error messages\n const stack = new Error().stack;\n const callingMethod =\n stack?.split(\"\\n\")[2]?.match(/at \\w+\\.(\\w+)/)?.[1] ?? \"this operation\";\n\n throw new Error(\n `No wallet account connected. Cannot perform ${callingMethod} without an account.`,\n );\n }\n }\n\n /**\n * Helper to safely spread transaction options for viem compatibility.\n * Handles EIP-1559 vs legacy gas pricing correctly.\n *\n * @param options - Transaction options to spread\n * @returns Properly formatted options for viem\n * @internal\n */\n protected spreadTransactionOptions(options?: TransactionOptions) {\n if (!options) return {};\n\n const baseOptions: any = {\n ...(options.nonce !== undefined && { nonce: options.nonce }),\n ...(options.gas !== undefined && { gas: options.gas }),\n };\n\n // EIP-1559 and legacy gasPrice are mutually exclusive in viem\n // If EIP-1559 params are provided, use them and exclude gasPrice\n if (\n options.maxFeePerGas !== undefined ||\n options.maxPriorityFeePerGas !== undefined\n ) {\n return {\n ...baseOptions,\n ...(options.maxFeePerGas !== undefined && {\n maxFeePerGas: options.maxFeePerGas,\n }),\n ...(options.maxPriorityFeePerGas !== undefined && {\n maxPriorityFeePerGas: options.maxPriorityFeePerGas,\n }),\n };\n }\n\n // Otherwise, use legacy gasPrice if provided\n if (options.gasPrice !== undefined) {\n return {\n ...baseOptions,\n gasPrice: options.gasPrice,\n };\n }\n\n return baseOptions;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBA,oBAA8B;AA4BvB,MAAe,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,YAA+B,SAA4B;AAA5B;AAAA,EAA6B;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,EA6BlD,eAER;AACA,QAAI,CAAC,KAAK,QAAQ,cAAc;AAE9B,YAAM,QAAQ,IAAI,MAAM,EAAE;AAC1B,YAAM,gBACJ,OAAO,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,eAAe,IAAI,CAAC,KAAK;AAExD,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,QAAI,CAAC,KAAK,QAAQ,aAAa,SAAS;AAEtC,YAAM,QAAQ,IAAI,MAAM,EAAE;AAC1B,YAAM,gBACJ,OAAO,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,eAAe,IAAI,CAAC,KAAK;AAExD,YAAM,IAAI;AAAA,QACR,+CAA+C,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUU,yBAAyB,SAA8B;AAC/D,QAAI,CAAC,QAAS,QAAO,CAAC;AAEtB,UAAM,cAAmB;AAAA,MACvB,GAAI,QAAQ,UAAU,UAAa,EAAE,OAAO,QAAQ,MAAM;AAAA,MAC1D,GAAI,QAAQ,QAAQ,UAAa,EAAE,KAAK,QAAQ,IAAI;AAAA,IACtD;AAIA,QACE,QAAQ,iBAAiB,UACzB,QAAQ,yBAAyB,QACjC;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAI,QAAQ,iBAAiB,UAAa;AAAA,UACxC,cAAc,QAAQ;AAAA,QACxB;AAAA,QACA,GAAI,QAAQ,yBAAyB,UAAa;AAAA,UAChD,sBAAsB,QAAQ;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AAGA,QAAI,QAAQ,aAAa,QAAW;AAClC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,UAAU,QAAQ;AAAA,MACpB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}