@opendatalabs/vana-sdk 2.3.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +150 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +129 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/envelope/openpgp.cjs +59 -0
  48. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  49. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  50. package/dist/crypto/envelope/openpgp.js +24 -0
  51. package/dist/crypto/envelope/openpgp.js.map +1 -0
  52. package/dist/crypto/keys/derive.cjs +65 -0
  53. package/dist/crypto/keys/derive.cjs.map +1 -0
  54. package/dist/crypto/keys/derive.d.ts +45 -0
  55. package/dist/crypto/keys/derive.js +38 -0
  56. package/dist/crypto/keys/derive.js.map +1 -0
  57. package/dist/errors.cjs +10 -0
  58. package/dist/errors.cjs.map +1 -1
  59. package/dist/errors.js +10 -0
  60. package/dist/errors.js.map +1 -1
  61. package/dist/generated/abi/index.cjs +2 -37
  62. package/dist/generated/abi/index.cjs.map +1 -1
  63. package/dist/generated/abi/index.d.ts +2683 -9296
  64. package/dist/generated/abi/index.js +2 -29
  65. package/dist/generated/abi/index.js.map +1 -1
  66. package/dist/generated/addresses.cjs +5 -107
  67. package/dist/generated/addresses.cjs.map +1 -1
  68. package/dist/generated/addresses.d.ts +5 -99
  69. package/dist/generated/addresses.js +5 -105
  70. package/dist/generated/addresses.js.map +1 -1
  71. package/dist/index.browser.d.ts +24 -140
  72. package/dist/index.browser.js +32258 -114
  73. package/dist/index.browser.js.map +7 -1
  74. package/dist/index.node.cjs +32980 -160
  75. package/dist/index.node.cjs.map +7 -1
  76. package/dist/index.node.d.ts +23 -210
  77. package/dist/index.node.js +32884 -133
  78. package/dist/index.node.js.map +7 -1
  79. package/dist/protocol/data-file.cjs +56 -0
  80. package/dist/protocol/data-file.cjs.map +1 -0
  81. package/dist/protocol/data-file.d.ts +20 -0
  82. package/dist/protocol/data-file.js +30 -0
  83. package/dist/protocol/data-file.js.map +1 -0
  84. package/dist/protocol/eip712.cjs +123 -0
  85. package/dist/protocol/eip712.cjs.map +1 -0
  86. package/dist/protocol/eip712.d.ts +117 -0
  87. package/dist/protocol/eip712.js +90 -0
  88. package/dist/protocol/eip712.js.map +1 -0
  89. package/dist/protocol/gateway.cjs +226 -0
  90. package/dist/protocol/gateway.cjs.map +1 -0
  91. package/dist/protocol/gateway.d.ts +120 -0
  92. package/dist/protocol/gateway.js +202 -0
  93. package/dist/protocol/gateway.js.map +1 -0
  94. package/dist/protocol/grants.cjs +146 -0
  95. package/dist/protocol/grants.cjs.map +1 -0
  96. package/dist/protocol/grants.d.ts +31 -0
  97. package/dist/protocol/grants.js +123 -0
  98. package/dist/protocol/grants.js.map +1 -0
  99. package/dist/protocol/scopes.cjs +78 -0
  100. package/dist/protocol/scopes.cjs.map +1 -0
  101. package/dist/protocol/scopes.d.ts +13 -0
  102. package/dist/protocol/scopes.js +50 -0
  103. package/dist/protocol/scopes.js.map +1 -0
  104. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  105. package/dist/storage/default.cjs.map +1 -0
  106. package/dist/storage/default.d.ts +4 -0
  107. package/dist/storage/default.js +8 -0
  108. package/dist/storage/default.js.map +1 -0
  109. package/dist/storage/index.cjs +11 -2
  110. package/dist/storage/index.cjs.map +1 -1
  111. package/dist/storage/index.d.ts +9 -0
  112. package/dist/storage/index.js +7 -1
  113. package/dist/storage/index.js.map +1 -1
  114. package/dist/storage/providers/callback-storage.cjs +1 -0
  115. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  116. package/dist/storage/providers/callback-storage.js +1 -0
  117. package/dist/storage/providers/callback-storage.js.map +1 -1
  118. package/dist/storage/providers/dropbox.cjs +1 -0
  119. package/dist/storage/providers/dropbox.cjs.map +1 -1
  120. package/dist/storage/providers/dropbox.js +1 -0
  121. package/dist/storage/providers/dropbox.js.map +1 -1
  122. package/dist/storage/providers/google-drive.cjs +1 -0
  123. package/dist/storage/providers/google-drive.cjs.map +1 -1
  124. package/dist/storage/providers/google-drive.js +1 -0
  125. package/dist/storage/providers/google-drive.js.map +1 -1
  126. package/dist/storage/providers/ipfs.cjs +1 -0
  127. package/dist/storage/providers/ipfs.cjs.map +1 -1
  128. package/dist/storage/providers/ipfs.js +1 -0
  129. package/dist/storage/providers/ipfs.js.map +1 -1
  130. package/dist/storage/providers/pinata.cjs +1 -0
  131. package/dist/storage/providers/pinata.cjs.map +1 -1
  132. package/dist/storage/providers/pinata.js +1 -0
  133. package/dist/storage/providers/pinata.js.map +1 -1
  134. package/dist/storage/providers/r2.cjs +376 -0
  135. package/dist/storage/providers/r2.cjs.map +1 -0
  136. package/dist/storage/providers/r2.d.ts +91 -0
  137. package/dist/storage/providers/r2.js +354 -0
  138. package/dist/storage/providers/r2.js.map +1 -0
  139. package/dist/storage/providers/vana-storage.cjs +251 -0
  140. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  141. package/dist/storage/providers/vana-storage.d.ts +100 -0
  142. package/dist/storage/providers/vana-storage.js +231 -0
  143. package/dist/storage/providers/vana-storage.js.map +1 -0
  144. package/dist/types/config.cjs +0 -34
  145. package/dist/types/config.cjs.map +1 -1
  146. package/dist/types/config.d.ts +1 -607
  147. package/dist/types/config.js +0 -22
  148. package/dist/types/config.js.map +1 -1
  149. package/dist/types/contracts.cjs.map +1 -1
  150. package/dist/types/contracts.d.ts +1 -1
  151. package/dist/types/index.cjs +2 -33
  152. package/dist/types/index.cjs.map +1 -1
  153. package/dist/types/index.d.ts +2 -33
  154. package/dist/types/index.js +1 -35
  155. package/dist/types/index.js.map +1 -1
  156. package/dist/types/ps-errors.cjs +91 -0
  157. package/dist/types/ps-errors.cjs.map +1 -0
  158. package/dist/types/ps-errors.d.ts +26 -0
  159. package/dist/types/ps-errors.js +66 -0
  160. package/dist/types/ps-errors.js.map +1 -0
  161. package/dist/types.cjs.map +1 -1
  162. package/dist/types.d.ts +0 -29
  163. package/dist/types.js.map +1 -1
  164. package/package.json +7 -25
  165. package/dist/client/enhancedResponse.cjs +0 -164
  166. package/dist/client/enhancedResponse.cjs.map +0 -1
  167. package/dist/client/enhancedResponse.d.ts +0 -120
  168. package/dist/client/enhancedResponse.js +0 -138
  169. package/dist/client/enhancedResponse.js.map +0 -1
  170. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  171. package/dist/controllers/base.cjs +0 -116
  172. package/dist/controllers/base.cjs.map +0 -1
  173. package/dist/controllers/base.d.ts +0 -94
  174. package/dist/controllers/base.js +0 -92
  175. package/dist/controllers/base.js.map +0 -1
  176. package/dist/controllers/data.cjs +0 -2633
  177. package/dist/controllers/data.cjs.map +0 -1
  178. package/dist/controllers/data.d.ts +0 -1067
  179. package/dist/controllers/data.js +0 -2626
  180. package/dist/controllers/data.js.map +0 -1
  181. package/dist/controllers/operations.cjs +0 -430
  182. package/dist/controllers/operations.cjs.map +0 -1
  183. package/dist/controllers/operations.d.ts +0 -229
  184. package/dist/controllers/operations.js +0 -406
  185. package/dist/controllers/operations.js.map +0 -1
  186. package/dist/controllers/permissions.cjs +0 -4368
  187. package/dist/controllers/permissions.cjs.map +0 -1
  188. package/dist/controllers/permissions.d.ts +0 -1411
  189. package/dist/controllers/permissions.js +0 -4344
  190. package/dist/controllers/permissions.js.map +0 -1
  191. package/dist/controllers/protocol.cjs +0 -183
  192. package/dist/controllers/protocol.cjs.map +0 -1
  193. package/dist/controllers/protocol.d.ts +0 -138
  194. package/dist/controllers/protocol.js +0 -163
  195. package/dist/controllers/protocol.js.map +0 -1
  196. package/dist/controllers/schemas.cjs +0 -678
  197. package/dist/controllers/schemas.cjs.map +0 -1
  198. package/dist/controllers/schemas.d.ts +0 -293
  199. package/dist/controllers/schemas.js +0 -654
  200. package/dist/controllers/schemas.js.map +0 -1
  201. package/dist/controllers/server.cjs +0 -643
  202. package/dist/controllers/server.cjs.map +0 -1
  203. package/dist/controllers/server.d.ts +0 -322
  204. package/dist/controllers/server.js +0 -624
  205. package/dist/controllers/server.js.map +0 -1
  206. package/dist/controllers/staking.cjs +0 -626
  207. package/dist/controllers/staking.cjs.map +0 -1
  208. package/dist/controllers/staking.d.ts +0 -457
  209. package/dist/controllers/staking.js +0 -602
  210. package/dist/controllers/staking.js.map +0 -1
  211. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  212. package/dist/core/apiClient.cjs +0 -378
  213. package/dist/core/apiClient.cjs.map +0 -1
  214. package/dist/core/apiClient.d.ts +0 -286
  215. package/dist/core/apiClient.js +0 -359
  216. package/dist/core/apiClient.js.map +0 -1
  217. package/dist/core/generics.cjs +0 -417
  218. package/dist/core/generics.cjs.map +0 -1
  219. package/dist/core/generics.d.ts +0 -205
  220. package/dist/core/generics.js +0 -386
  221. package/dist/core/generics.js.map +0 -1
  222. package/dist/core/health.cjs +0 -289
  223. package/dist/core/health.cjs.map +0 -1
  224. package/dist/core/health.d.ts +0 -143
  225. package/dist/core/health.js +0 -265
  226. package/dist/core/health.js.map +0 -1
  227. package/dist/core/inMemoryNonceManager.cjs +0 -138
  228. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  229. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  230. package/dist/core/inMemoryNonceManager.js +0 -114
  231. package/dist/core/inMemoryNonceManager.js.map +0 -1
  232. package/dist/core/nonceManager.cjs +0 -304
  233. package/dist/core/nonceManager.cjs.map +0 -1
  234. package/dist/core/nonceManager.d.ts +0 -116
  235. package/dist/core/nonceManager.js +0 -280
  236. package/dist/core/nonceManager.js.map +0 -1
  237. package/dist/core/pollingManager.cjs +0 -292
  238. package/dist/core/pollingManager.cjs.map +0 -1
  239. package/dist/core/pollingManager.d.ts +0 -120
  240. package/dist/core/pollingManager.js +0 -268
  241. package/dist/core/pollingManager.js.map +0 -1
  242. package/dist/core.cjs +0 -781
  243. package/dist/core.cjs.map +0 -1
  244. package/dist/core.d.ts +0 -496
  245. package/dist/core.js +0 -756
  246. package/dist/core.js.map +0 -1
  247. package/dist/diagnostics.cjs +0 -37
  248. package/dist/diagnostics.cjs.map +0 -1
  249. package/dist/diagnostics.d.ts +0 -24
  250. package/dist/diagnostics.js +0 -13
  251. package/dist/diagnostics.js.map +0 -1
  252. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  253. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  254. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  255. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  256. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  257. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  258. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  259. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  260. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  261. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  262. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  263. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  264. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  265. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  266. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  267. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  268. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  269. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  270. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  271. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  272. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  273. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  274. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  275. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  276. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  277. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  278. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  279. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  280. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  281. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  282. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  283. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  284. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  285. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  286. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  287. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  288. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  289. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  290. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  291. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  292. package/dist/generated/event-types.cjs +0 -17
  293. package/dist/generated/event-types.cjs.map +0 -1
  294. package/dist/generated/event-types.d.ts +0 -816
  295. package/dist/generated/event-types.js +0 -1
  296. package/dist/generated/event-types.js.map +0 -1
  297. package/dist/generated/eventRegistry.cjs +0 -4512
  298. package/dist/generated/eventRegistry.cjs.map +0 -1
  299. package/dist/generated/eventRegistry.d.ts +0 -14
  300. package/dist/generated/eventRegistry.js +0 -4487
  301. package/dist/generated/eventRegistry.js.map +0 -1
  302. package/dist/generated/server/server-exports.cjs +0 -45
  303. package/dist/generated/server/server-exports.cjs.map +0 -1
  304. package/dist/generated/server/server-exports.d.ts +0 -36
  305. package/dist/generated/server/server-exports.js +0 -19
  306. package/dist/generated/server/server-exports.js.map +0 -1
  307. package/dist/generated/server/server.cjs +0 -17
  308. package/dist/generated/server/server.cjs.map +0 -1
  309. package/dist/generated/server/server.d.ts +0 -907
  310. package/dist/generated/server/server.js +0 -1
  311. package/dist/generated/server/server.js.map +0 -1
  312. package/dist/generated/subgraph.cjs +0 -1440
  313. package/dist/generated/subgraph.cjs.map +0 -1
  314. package/dist/generated/subgraph.d.ts +0 -6113
  315. package/dist/generated/subgraph.js +0 -1404
  316. package/dist/generated/subgraph.js.map +0 -1
  317. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  318. package/dist/lib/redisAtomicStore.cjs +0 -201
  319. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  320. package/dist/lib/redisAtomicStore.d.ts +0 -120
  321. package/dist/lib/redisAtomicStore.js +0 -177
  322. package/dist/lib/redisAtomicStore.js.map +0 -1
  323. package/dist/server/relayerHandler.cjs +0 -452
  324. package/dist/server/relayerHandler.cjs.map +0 -1
  325. package/dist/server/relayerHandler.d.ts +0 -69
  326. package/dist/server/relayerHandler.js +0 -428
  327. package/dist/server/relayerHandler.js.map +0 -1
  328. package/dist/tests/abi.test.d.ts +0 -1
  329. package/dist/tests/chains-definitions.test.d.ts +0 -1
  330. package/dist/tests/core-encryption.test.d.ts +0 -1
  331. package/dist/tests/core-extended.test.d.ts +0 -1
  332. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  333. package/dist/tests/coverage-boost.test.d.ts +0 -1
  334. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  335. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  336. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  337. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  338. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  339. package/dist/tests/data-relayer.test.d.ts +0 -1
  340. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  341. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  342. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  343. package/dist/tests/data.test.d.ts +0 -1
  344. package/dist/tests/demo-integration.test.d.ts +0 -1
  345. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  346. package/dist/tests/download-relayer.test.d.ts +0 -1
  347. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  348. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  349. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  350. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  351. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  352. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  353. package/dist/tests/errors-coverage.test.d.ts +0 -1
  354. package/dist/tests/factories/mockFactory.d.ts +0 -316
  355. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  356. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  357. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  358. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  359. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  360. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  361. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  362. package/dist/tests/helper-methods.test.d.ts +0 -1
  363. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  364. package/dist/tests/index-browser.test.d.ts +0 -1
  365. package/dist/tests/index-node.test.d.ts +0 -1
  366. package/dist/tests/index.test.d.ts +0 -1
  367. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  368. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  369. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  370. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  371. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  372. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  373. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  374. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  375. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  376. package/dist/tests/permissions.test.d.ts +0 -1
  377. package/dist/tests/personal.test.d.ts +0 -1
  378. package/dist/tests/platform-browser.test.d.ts +0 -1
  379. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  380. package/dist/tests/platform-crypto.test.d.ts +0 -1
  381. package/dist/tests/platform-index.test.d.ts +0 -1
  382. package/dist/tests/platform-node.test.d.ts +0 -1
  383. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  384. package/dist/tests/platform-updated.test.d.ts +0 -1
  385. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  386. package/dist/tests/protocol.test.d.ts +0 -1
  387. package/dist/tests/read-only-mode.test.d.ts +0 -1
  388. package/dist/tests/relayer-integration.test.d.ts +0 -1
  389. package/dist/tests/relayer-unified.test.d.ts +0 -1
  390. package/dist/tests/schemas.test.d.ts +0 -1
  391. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  392. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  393. package/dist/tests/staking.test.d.ts +0 -1
  394. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  395. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  396. package/dist/tests/types-contracts.test.d.ts +0 -1
  397. package/dist/tests/types-data.test.d.ts +0 -1
  398. package/dist/tests/types-external-apis.test.d.ts +0 -1
  399. package/dist/tests/types-generics.test.d.ts +0 -1
  400. package/dist/tests/types-permissions.test.d.ts +0 -1
  401. package/dist/tests/types-upload-params.test.d.ts +0 -1
  402. package/dist/tests/types.test.d.ts +0 -1
  403. package/dist/tests/utils-formatters.test.d.ts +0 -1
  404. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  405. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  406. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  407. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  408. package/dist/tests/utils-grants.test.d.ts +0 -1
  409. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  410. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  411. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  412. package/dist/tests/vana.test.d.ts +0 -1
  413. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  414. package/dist/types/atomicStore.cjs.map +0 -1
  415. package/dist/types/atomicStore.d.ts +0 -236
  416. package/dist/types/atomicStore.js +0 -7
  417. package/dist/types/atomicStore.js.map +0 -1
  418. package/dist/types/blockchain.cjs +0 -17
  419. package/dist/types/blockchain.cjs.map +0 -1
  420. package/dist/types/blockchain.d.ts +0 -85
  421. package/dist/types/blockchain.js +0 -1
  422. package/dist/types/blockchain.js.map +0 -1
  423. package/dist/types/controller-context.cjs +0 -17
  424. package/dist/types/controller-context.cjs.map +0 -1
  425. package/dist/types/controller-context.d.ts +0 -68
  426. package/dist/types/controller-context.js +0 -1
  427. package/dist/types/controller-context.js.map +0 -1
  428. package/dist/types/data.cjs +0 -17
  429. package/dist/types/data.cjs.map +0 -1
  430. package/dist/types/data.d.ts +0 -763
  431. package/dist/types/data.js +0 -1
  432. package/dist/types/data.js.map +0 -1
  433. package/dist/types/external-apis.cjs +0 -61
  434. package/dist/types/external-apis.cjs.map +0 -1
  435. package/dist/types/external-apis.d.ts +0 -184
  436. package/dist/types/external-apis.js +0 -34
  437. package/dist/types/external-apis.js.map +0 -1
  438. package/dist/types/generics.cjs +0 -17
  439. package/dist/types/generics.cjs.map +0 -1
  440. package/dist/types/generics.d.ts +0 -518
  441. package/dist/types/generics.js +0 -1
  442. package/dist/types/generics.js.map +0 -1
  443. package/dist/types/operationStore.cjs +0 -17
  444. package/dist/types/operationStore.cjs.map +0 -1
  445. package/dist/types/operationStore.d.ts +0 -171
  446. package/dist/types/operationStore.js +0 -1
  447. package/dist/types/operationStore.js.map +0 -1
  448. package/dist/types/operations.cjs +0 -53
  449. package/dist/types/operations.cjs.map +0 -1
  450. package/dist/types/operations.d.ts +0 -204
  451. package/dist/types/operations.js +0 -26
  452. package/dist/types/operations.js.map +0 -1
  453. package/dist/types/options.cjs +0 -17
  454. package/dist/types/options.cjs.map +0 -1
  455. package/dist/types/options.d.ts +0 -308
  456. package/dist/types/options.js +0 -1
  457. package/dist/types/options.js.map +0 -1
  458. package/dist/types/permissions.cjs +0 -17
  459. package/dist/types/permissions.cjs.map +0 -1
  460. package/dist/types/permissions.d.ts +0 -955
  461. package/dist/types/permissions.js +0 -1
  462. package/dist/types/permissions.js.map +0 -1
  463. package/dist/types/personal.cjs +0 -17
  464. package/dist/types/personal.cjs.map +0 -1
  465. package/dist/types/personal.d.ts +0 -174
  466. package/dist/types/personal.js +0 -1
  467. package/dist/types/personal.js.map +0 -1
  468. package/dist/types/relayer.cjs +0 -17
  469. package/dist/types/relayer.cjs.map +0 -1
  470. package/dist/types/relayer.d.ts +0 -552
  471. package/dist/types/relayer.js +0 -1
  472. package/dist/types/relayer.js.map +0 -1
  473. package/dist/types/transactionResults.cjs +0 -17
  474. package/dist/types/transactionResults.cjs.map +0 -1
  475. package/dist/types/transactionResults.d.ts +0 -193
  476. package/dist/types/transactionResults.js +0 -1
  477. package/dist/types/transactionResults.js.map +0 -1
  478. package/dist/types/utils.cjs +0 -17
  479. package/dist/types/utils.cjs.map +0 -1
  480. package/dist/types/utils.d.ts +0 -771
  481. package/dist/types/utils.js +0 -1
  482. package/dist/types/utils.js.map +0 -1
  483. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  484. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  485. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  486. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  487. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  488. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  489. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  490. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  491. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  492. package/dist/utils/blockchain/registry.cjs +0 -81
  493. package/dist/utils/blockchain/registry.cjs.map +0 -1
  494. package/dist/utils/blockchain/registry.d.ts +0 -32
  495. package/dist/utils/blockchain/registry.js +0 -56
  496. package/dist/utils/blockchain/registry.js.map +0 -1
  497. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  498. package/dist/utils/chainQuery.cjs +0 -107
  499. package/dist/utils/chainQuery.cjs.map +0 -1
  500. package/dist/utils/chainQuery.d.ts +0 -31
  501. package/dist/utils/chainQuery.js +0 -82
  502. package/dist/utils/chainQuery.js.map +0 -1
  503. package/dist/utils/download.cjs +0 -69
  504. package/dist/utils/download.cjs.map +0 -1
  505. package/dist/utils/download.d.ts +0 -40
  506. package/dist/utils/download.js +0 -45
  507. package/dist/utils/download.js.map +0 -1
  508. package/dist/utils/encryption.cjs +0 -176
  509. package/dist/utils/encryption.cjs.map +0 -1
  510. package/dist/utils/encryption.d.ts +0 -271
  511. package/dist/utils/encryption.js +0 -142
  512. package/dist/utils/encryption.js.map +0 -1
  513. package/dist/utils/formatters.cjs +0 -55
  514. package/dist/utils/formatters.cjs.map +0 -1
  515. package/dist/utils/formatters.d.ts +0 -118
  516. package/dist/utils/formatters.js +0 -28
  517. package/dist/utils/formatters.js.map +0 -1
  518. package/dist/utils/grantFiles.cjs +0 -181
  519. package/dist/utils/grantFiles.cjs.map +0 -1
  520. package/dist/utils/grantFiles.d.ts +0 -172
  521. package/dist/utils/grantFiles.js +0 -143
  522. package/dist/utils/grantFiles.js.map +0 -1
  523. package/dist/utils/grantValidation.cjs +0 -243
  524. package/dist/utils/grantValidation.cjs.map +0 -1
  525. package/dist/utils/grantValidation.d.ts +0 -226
  526. package/dist/utils/grantValidation.js +0 -201
  527. package/dist/utils/grantValidation.js.map +0 -1
  528. package/dist/utils/grants.cjs +0 -108
  529. package/dist/utils/grants.cjs.map +0 -1
  530. package/dist/utils/grants.d.ts +0 -148
  531. package/dist/utils/grants.js +0 -82
  532. package/dist/utils/grants.js.map +0 -1
  533. package/dist/utils/ipfs.cjs +0 -128
  534. package/dist/utils/ipfs.cjs.map +0 -1
  535. package/dist/utils/ipfs.d.ts +0 -88
  536. package/dist/utils/ipfs.js +0 -97
  537. package/dist/utils/ipfs.js.map +0 -1
  538. package/dist/utils/multicall.cjs +0 -233
  539. package/dist/utils/multicall.cjs.map +0 -1
  540. package/dist/utils/multicall.d.ts +0 -126
  541. package/dist/utils/multicall.js +0 -208
  542. package/dist/utils/multicall.js.map +0 -1
  543. package/dist/utils/parseTransactionPojo.cjs +0 -87
  544. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  545. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  546. package/dist/utils/parseTransactionPojo.js +0 -63
  547. package/dist/utils/parseTransactionPojo.js.map +0 -1
  548. package/dist/utils/schemaValidation.cjs +0 -258
  549. package/dist/utils/schemaValidation.cjs.map +0 -1
  550. package/dist/utils/schemaValidation.d.ts +0 -168
  551. package/dist/utils/schemaValidation.js +0 -219
  552. package/dist/utils/schemaValidation.js.map +0 -1
  553. package/dist/utils/signatureCache.cjs +0 -192
  554. package/dist/utils/signatureCache.cjs.map +0 -1
  555. package/dist/utils/signatureCache.d.ts +0 -172
  556. package/dist/utils/signatureCache.js +0 -167
  557. package/dist/utils/signatureCache.js.map +0 -1
  558. package/dist/utils/signatureFormatter.cjs +0 -42
  559. package/dist/utils/signatureFormatter.cjs.map +0 -1
  560. package/dist/utils/signatureFormatter.d.ts +0 -36
  561. package/dist/utils/signatureFormatter.js +0 -18
  562. package/dist/utils/signatureFormatter.js.map +0 -1
  563. package/dist/utils/subgraphConsistency.cjs +0 -184
  564. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  565. package/dist/utils/subgraphConsistency.d.ts +0 -65
  566. package/dist/utils/subgraphConsistency.js +0 -155
  567. package/dist/utils/subgraphConsistency.js.map +0 -1
  568. package/dist/utils/subgraphMetaCache.cjs +0 -101
  569. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  570. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  571. package/dist/utils/subgraphMetaCache.js +0 -76
  572. package/dist/utils/subgraphMetaCache.js.map +0 -1
  573. package/dist/utils/subgraphPagination.cjs +0 -104
  574. package/dist/utils/subgraphPagination.cjs.map +0 -1
  575. package/dist/utils/subgraphPagination.d.ts +0 -78
  576. package/dist/utils/subgraphPagination.js +0 -78
  577. package/dist/utils/subgraphPagination.js.map +0 -1
  578. package/dist/utils/tests/multicall.test.d.ts +0 -1
  579. package/dist/utils/transactionHelpers.cjs +0 -54
  580. package/dist/utils/transactionHelpers.cjs.map +0 -1
  581. package/dist/utils/transactionHelpers.d.ts +0 -80
  582. package/dist/utils/transactionHelpers.js +0 -29
  583. package/dist/utils/transactionHelpers.js.map +0 -1
  584. package/dist/utils/typeGuards.cjs +0 -109
  585. package/dist/utils/typeGuards.cjs.map +0 -1
  586. package/dist/utils/typeGuards.d.ts +0 -138
  587. package/dist/utils/typeGuards.js +0 -74
  588. package/dist/utils/typeGuards.js.map +0 -1
  589. package/dist/utils/typedDataConverter.cjs +0 -43
  590. package/dist/utils/typedDataConverter.cjs.map +0 -1
  591. package/dist/utils/typedDataConverter.d.ts +0 -46
  592. package/dist/utils/typedDataConverter.js +0 -19
  593. package/dist/utils/typedDataConverter.js.map +0 -1
  594. package/dist/utils/urlResolver.cjs +0 -62
  595. package/dist/utils/urlResolver.cjs.map +0 -1
  596. package/dist/utils/urlResolver.d.ts +0 -56
  597. package/dist/utils/urlResolver.js +0 -37
  598. package/dist/utils/urlResolver.js.map +0 -1
  599. package/dist/utils/wallet.cjs +0 -63
  600. package/dist/utils/wallet.cjs.map +0 -1
  601. package/dist/utils/wallet.d.ts +0 -94
  602. package/dist/utils/wallet.js +0 -37
  603. package/dist/utils/wallet.js.map +0 -1
  604. package/dist/utils/withEvents.cjs +0 -44
  605. package/dist/utils/withEvents.cjs.map +0 -1
  606. package/dist/utils/withEvents.d.ts +0 -56
  607. package/dist/utils/withEvents.js +0 -18
  608. package/dist/utils/withEvents.js.map +0 -1
  609. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  610. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  611. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  612. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  613. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  614. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  615. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  616. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  617. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  618. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/grants.test.d.ts} +0 -0
  619. /package/dist/{core/core.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  620. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  621. /package/dist/{core/tests/client.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  622. /package/dist/{core/tests/generics.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  623. /package/dist/{diagnostics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
package/dist/core.js DELETED
@@ -1,756 +0,0 @@
1
- import {
2
- isWalletConfig,
3
- isChainConfig,
4
- isReadOnlyConfig,
5
- isAddressOnlyConfig,
6
- isVanaChainId,
7
- hasStorageConfig
8
- } from "./types";
9
- import { InvalidConfigurationError } from "./errors";
10
- import { PermissionsController } from "./controllers/permissions";
11
- import { DataController } from "./controllers/data";
12
- import { SchemaController } from "./controllers/schemas";
13
- import { ServerController } from "./controllers/server";
14
- import { ProtocolController } from "./controllers/protocol";
15
- import { OperationsController } from "./controllers/operations";
16
- import { StakingController } from "./controllers/staking";
17
- import { StorageManager } from "./storage";
18
- import { createWalletClient, createPublicClient, http } from "viem";
19
- import { extractAddress } from "./utils/wallet";
20
- import { chains } from "./config/chains";
21
- import { getChainConfig, vanaMainnet } from "./chains";
22
- import {
23
- encryptBlobWithSignedKey,
24
- decryptBlobWithSignedKey
25
- } from "./utils/encryption";
26
- class VanaCoreFactory {
27
- /**
28
- * Creates a VanaCore instance that enforces storage requirements at compile time.
29
- * Use this factory when you know you'll need storage-dependent operations.
30
- *
31
- * @param platform - The platform adapter for environment-specific operations
32
- * @param config - Configuration that includes required storage providers
33
- * @returns VanaCore instance with storage validation
34
- * @example
35
- * ```typescript
36
- * const vanaCore = VanaCoreFactory.createWithStorage(platformAdapter, {
37
- * walletClient: myWalletClient,
38
- * storage: {
39
- * providers: { ipfs: new IPFSStorage() },
40
- * defaultProvider: 'ipfs'
41
- * }
42
- * });
43
- * ```
44
- */
45
- static createWithStorage(platform, config) {
46
- const core = new VanaCore(platform, config);
47
- return core;
48
- }
49
- /**
50
- * Creates a VanaCore instance without storage requirements.
51
- * Storage-dependent operations will fail at runtime if not configured.
52
- *
53
- * @param platform - The platform adapter for environment-specific operations
54
- * @param config - Basic configuration without required storage
55
- * @returns VanaCore instance
56
- * @example
57
- * ```typescript
58
- * const vanaCore = VanaCoreFactory.create(platformAdapter, {
59
- * walletClient: myWalletClient
60
- * });
61
- * ```
62
- */
63
- static create(platform, config) {
64
- return new VanaCore(platform, config);
65
- }
66
- }
67
- class VanaCore {
68
- /** Manages gasless data access permissions and trusted server registry. */
69
- permissions;
70
- /** Handles user data file operations. */
71
- data;
72
- /** Manages data schemas and refiners. */
73
- schemas;
74
- /** Manages asynchronous operation recovery and status checking. */
75
- operations;
76
- /** Provides personal server setup and trusted server interactions. */
77
- server;
78
- /** Offers low-level access to Vana protocol smart contracts. */
79
- protocol;
80
- /** Provides VanaPool staking information and operations. */
81
- staking;
82
- /** Handles environment-specific operations like encryption and file systems. */
83
- platform;
84
- relayerConfig;
85
- relayerCallback;
86
- downloadRelayer;
87
- storageManager;
88
- hasRequiredStorage;
89
- ipfsGateways;
90
- publicClient;
91
- walletClient;
92
- _staticUserAddress;
93
- // For read-only mode
94
- operationStore;
95
- atomicStore;
96
- /**
97
- * Initializes a new VanaCore client instance with the provided configuration.
98
- *
99
- * @remarks
100
- * The constructor validates the configuration, initializes storage providers if configured,
101
- * creates wallet and public clients, and sets up all SDK controllers with shared context.
102
- *
103
- * IMPORTANT: This constructor will validate storage requirements at runtime to fail fast.
104
- * Methods that require storage will throw runtime errors if storage is not configured.
105
- *
106
- * @param platform - The platform adapter for environment-specific operations
107
- * @param config - The configuration object specifying wallet or chain settings
108
- * @throws {InvalidConfigurationError} When the configuration is invalid or incomplete
109
- * @example
110
- * ```typescript
111
- * // Direct instantiation (consider using factory methods instead)
112
- * const vanaCore = new VanaCore(platformAdapter, {
113
- * walletClient: myWalletClient,
114
- * });
115
- * ```
116
- */
117
- constructor(platform, config) {
118
- this.platform = platform;
119
- this.validateConfig(config);
120
- this.operationStore = config?.operationStore;
121
- this.relayerConfig = config.relayer;
122
- if (config.relayer) {
123
- if (typeof config.relayer !== "string" && typeof config.relayer !== "function") {
124
- throw new InvalidConfigurationError(
125
- "Relayer must be either a URL string or a callback function"
126
- );
127
- }
128
- if (typeof config.relayer === "string") {
129
- const url = config.relayer;
130
- this.relayerCallback = async (request) => {
131
- const response = await fetch(url, {
132
- method: "POST",
133
- headers: { "Content-Type": "application/json" },
134
- body: JSON.stringify(request)
135
- });
136
- if (!response.ok) {
137
- throw new Error(`Relayer request failed: ${response.statusText}`);
138
- }
139
- return response.json();
140
- };
141
- } else {
142
- this.relayerCallback = config.relayer;
143
- }
144
- }
145
- this.downloadRelayer = config.downloadRelayer;
146
- this.ipfsGateways = config.ipfsGateways;
147
- this.hasRequiredStorage = hasStorageConfig(config);
148
- if (config.storage?.providers) {
149
- this.storageManager = new StorageManager();
150
- for (const [name, provider] of Object.entries(config.storage.providers)) {
151
- const isDefault = name === config.storage.defaultProvider;
152
- this.storageManager.register(name, provider, isDefault);
153
- }
154
- if (!config.storage.defaultProvider && Object.keys(config.storage.providers).length > 0) {
155
- const firstProviderName = Object.keys(config.storage.providers)[0];
156
- this.storageManager.setDefaultProvider(firstProviderName);
157
- }
158
- }
159
- let walletClient;
160
- let publicClient;
161
- let staticUserAddress;
162
- let chainToUse;
163
- if (isWalletConfig(config)) {
164
- walletClient = config.walletClient;
165
- chainToUse = walletClient.chain ?? vanaMainnet;
166
- staticUserAddress = void 0;
167
- if ("publicClient" in config && config.publicClient) {
168
- publicClient = config.publicClient;
169
- } else {
170
- publicClient = createPublicClient({
171
- chain: chainToUse,
172
- transport: http()
173
- });
174
- }
175
- } else if (isReadOnlyConfig(config)) {
176
- walletClient = void 0;
177
- publicClient = config.publicClient;
178
- staticUserAddress = config.address;
179
- chainToUse = config.publicClient.chain ?? vanaMainnet;
180
- } else if (isAddressOnlyConfig(config)) {
181
- walletClient = void 0;
182
- staticUserAddress = config.address;
183
- chainToUse = config.chain ?? vanaMainnet;
184
- publicClient = createPublicClient({
185
- chain: chainToUse,
186
- transport: http()
187
- });
188
- } else if (isChainConfig(config)) {
189
- if (!config.account) {
190
- throw new InvalidConfigurationError(
191
- "Account is required when using ChainConfig"
192
- );
193
- }
194
- const chain = chains[config.chainId];
195
- if (!chain) {
196
- throw new InvalidConfigurationError(
197
- `Unsupported chain ID: ${config.chainId}`
198
- );
199
- }
200
- chainToUse = chain;
201
- walletClient = createWalletClient({
202
- chain,
203
- transport: http(config.rpcUrl ?? chain.rpcUrls.default.http[0]),
204
- account: config.account
205
- });
206
- staticUserAddress = void 0;
207
- publicClient = createPublicClient({
208
- chain,
209
- transport: http()
210
- });
211
- } else {
212
- throw new InvalidConfigurationError(
213
- "Invalid configuration: must provide either walletClient, publicClient + address, or address alone"
214
- );
215
- }
216
- this.publicClient = publicClient;
217
- this.walletClient = walletClient;
218
- this._staticUserAddress = staticUserAddress;
219
- const chainConfig = getChainConfig(chainToUse.id);
220
- const subgraphUrl = config.subgraphUrl ?? chainConfig?.subgraphUrl;
221
- const personalServerUrl = config.defaultPersonalServerUrl ?? chainConfig?.personalServerUrl;
222
- const self = this;
223
- const sharedContext = {
224
- walletClient,
225
- publicClient,
226
- get userAddress() {
227
- return self.userAddress;
228
- },
229
- applicationClient: walletClient,
230
- // Using same wallet for now
231
- relayer: this.relayerCallback,
232
- downloadRelayer: this.downloadRelayer,
233
- storageManager: this.storageManager,
234
- subgraphUrl,
235
- platform: this.platform,
236
- // Pass the platform adapter to controllers
237
- validateStorageRequired: this.validateStorageRequired.bind(this),
238
- hasStorage: this.hasStorage.bind(this),
239
- ipfsGateways: this.ipfsGateways,
240
- defaultPersonalServerUrl: personalServerUrl,
241
- waitForTransactionEvents: this.waitForTransactionEvents.bind(this),
242
- waitForOperation: this.waitForOperation.bind(this),
243
- operationStore: this.operationStore
244
- };
245
- this.permissions = new PermissionsController(sharedContext);
246
- this.data = new DataController(sharedContext);
247
- this.schemas = new SchemaController(sharedContext);
248
- this.operations = new OperationsController(sharedContext);
249
- this.server = new ServerController(sharedContext);
250
- this.protocol = new ProtocolController(sharedContext);
251
- this.staking = new StakingController(sharedContext);
252
- }
253
- /**
254
- * Validates that storage is available for storage-dependent operations.
255
- * This method enforces the fail-fast principle by checking storage availability
256
- * at method call time rather than during expensive operations.
257
- *
258
- * @throws {InvalidConfigurationError} When storage is required but not configured
259
- * @example
260
- * ```typescript
261
- * // This will throw if storage is not configured
262
- * vana.validateStorageRequired();
263
- * await vana.data.uploadFile(file); // Safe to proceed
264
- * ```
265
- */
266
- validateStorageRequired() {
267
- if (!this.hasRequiredStorage) {
268
- throw new InvalidConfigurationError(
269
- "Storage configuration is required for this operation. Please configure storage providers in VanaConfig.storage, provide a relayer configuration, or pass pre-stored URLs to avoid this dependency. \n\nFor better type safety, consider using VanaCoreFactory.createWithStorage() with VanaConfigWithStorage to catch this error at compile time."
270
- );
271
- }
272
- }
273
- /**
274
- * Checks whether storage is configured without throwing an error.
275
- *
276
- * @returns True if storage is properly configured
277
- * @example
278
- * ```typescript
279
- * if (vana.hasStorage()) {
280
- * await vana.data.uploadFile(file);
281
- * } else {
282
- * console.warn('Storage not configured - using pre-stored URLs only');
283
- * }
284
- * ```
285
- */
286
- hasStorage() {
287
- return this.hasRequiredStorage;
288
- }
289
- /**
290
- * Type guard to check if this instance has storage enabled at compile time.
291
- * Use this when you need TypeScript to understand that storage is available.
292
- *
293
- * @returns True if storage is configured, with type narrowing
294
- * @example
295
- * ```typescript
296
- * if (vana.isStorageEnabled()) {
297
- * // TypeScript knows storage is available here
298
- * await vana.data.uploadFile(file);
299
- * }
300
- * ```
301
- */
302
- isStorageEnabled() {
303
- return this.hasRequiredStorage;
304
- }
305
- /**
306
- * Validates the provided configuration object against all requirements.
307
- *
308
- * @remarks
309
- * This method performs comprehensive validation of wallet client configuration,
310
- * chain configuration, storage providers, and relayer callbacks.
311
- * @param config - The configuration object to validate
312
- * @throws {InvalidConfigurationError} When any configuration parameter is invalid
313
- */
314
- validateConfig(config) {
315
- if (!config) {
316
- throw new InvalidConfigurationError("Configuration object is required");
317
- }
318
- if (config.storage?.providers) {
319
- if (typeof config.storage.providers !== "object") {
320
- throw new InvalidConfigurationError(
321
- "storage.providers must be an object"
322
- );
323
- }
324
- for (const [name, provider] of Object.entries(config.storage.providers)) {
325
- if (!provider || typeof provider !== "object") {
326
- throw new InvalidConfigurationError(
327
- `Storage provider '${name}' must be a valid StorageProvider object`
328
- );
329
- }
330
- }
331
- if (config.storage.defaultProvider) {
332
- if (!(config.storage.defaultProvider in config.storage.providers)) {
333
- throw new InvalidConfigurationError(
334
- `Default storage provider '${config.storage.defaultProvider}' not found in providers`
335
- );
336
- }
337
- }
338
- }
339
- if (isWalletConfig(config)) {
340
- if (!config.walletClient) {
341
- throw new InvalidConfigurationError("walletClient is required");
342
- }
343
- if (typeof config.walletClient !== "object" || !config.walletClient.signTypedData) {
344
- throw new InvalidConfigurationError(
345
- "walletClient must be a valid viem WalletClient"
346
- );
347
- }
348
- if (!config.walletClient.chain) {
349
- throw new InvalidConfigurationError(
350
- "walletClient must have a chain configured"
351
- );
352
- }
353
- if (!isVanaChainId(config.walletClient.chain.id)) {
354
- throw new InvalidConfigurationError(
355
- `Unsupported chain ID: ${String(config.walletClient.chain.id)}. Supported chains: 14800 (Moksha testnet), 1480 (Vana mainnet)`
356
- );
357
- }
358
- } else if (isChainConfig(config)) {
359
- if (!isVanaChainId(config.chainId)) {
360
- throw new InvalidConfigurationError(
361
- `Unsupported chain ID: ${String(config.chainId)}. Supported chains: 14800 (Moksha testnet), 1480 (Vana mainnet)`
362
- );
363
- }
364
- if (config.rpcUrl) {
365
- if (typeof config.rpcUrl !== "string") {
366
- throw new InvalidConfigurationError("rpcUrl must be a string");
367
- }
368
- if (config.rpcUrl.trim() === "") {
369
- throw new InvalidConfigurationError("rpcUrl cannot be empty");
370
- }
371
- try {
372
- new URL(config.rpcUrl);
373
- } catch {
374
- throw new InvalidConfigurationError("rpcUrl must be a valid URL");
375
- }
376
- }
377
- if (config.account) {
378
- if (typeof config.account !== "object" || !config.account.address) {
379
- throw new InvalidConfigurationError(
380
- "account must be a valid viem Account object"
381
- );
382
- }
383
- }
384
- } else if (isReadOnlyConfig(config)) {
385
- if (!config.publicClient) {
386
- throw new InvalidConfigurationError(
387
- "publicClient is required for read-only configuration"
388
- );
389
- }
390
- if (!config.address) {
391
- throw new InvalidConfigurationError(
392
- "address is required for read-only configuration"
393
- );
394
- }
395
- } else if (isAddressOnlyConfig(config)) {
396
- if (!config.address) {
397
- throw new InvalidConfigurationError(
398
- "address is required for address-only configuration"
399
- );
400
- }
401
- } else {
402
- throw new InvalidConfigurationError(
403
- "Invalid configuration: must provide either walletClient, publicClient + address, or address alone"
404
- );
405
- }
406
- }
407
- /**
408
- * Gets the current chain ID from the wallet client.
409
- *
410
- * @returns The numeric chain ID of the connected network
411
- * @example
412
- * ```typescript
413
- * const chainId = vana.chainId;
414
- * console.log(`Connected to chain: ${chainId}`); // e.g., "Connected to chain: 14800"
415
- * ```
416
- */
417
- get chainId() {
418
- return this.protocol.getChainId();
419
- }
420
- /**
421
- * Gets the current chain name from the wallet client.
422
- *
423
- * @returns The human-readable name of the connected network
424
- * @example
425
- * ```typescript
426
- * const chainName = vana.chainName;
427
- * console.log(`Connected to: ${chainName}`); // e.g., "Connected to: Moksha Testnet"
428
- * ```
429
- */
430
- get chainName() {
431
- return this.protocol.getChainName();
432
- }
433
- /**
434
- * The user's wallet address.
435
- * In wallet mode, this always returns the current wallet account address.
436
- * In read-only mode, this returns the static address provided during initialization.
437
- *
438
- * @example
439
- * ```typescript
440
- * const address = vana.userAddress;
441
- * console.log(`User address: ${address}`); // e.g., "User address: 0x742d35..."
442
- * ```
443
- */
444
- get userAddress() {
445
- if (this.walletClient?.account) {
446
- return extractAddress(this.walletClient.account);
447
- }
448
- if (this._staticUserAddress) {
449
- return this._staticUserAddress;
450
- }
451
- throw new Error("No user address available");
452
- }
453
- /**
454
- * Retrieves comprehensive runtime configuration information.
455
- *
456
- * @returns The current runtime configuration including chain, storage, and relayer settings
457
- * @example
458
- * ```typescript
459
- * const config = vana.getConfig();
460
- * console.log(`Chain: ${config.chainName} (${config.chainId})`);
461
- * console.log(`Storage providers: ${config.storageProviders.join(", ")}`);
462
- * ```
463
- */
464
- getConfig() {
465
- return {
466
- chainId: this.chainId,
467
- chainName: this.chainName,
468
- relayerConfig: this.relayerConfig,
469
- storageProviders: this.storageManager?.getStorageProviders() ?? [],
470
- defaultStorageProvider: this.storageManager?.getDefaultStorageProvider()
471
- };
472
- }
473
- /**
474
- * Sets the platform adapter for environment-specific operations.
475
- * This is useful for testing and advanced use cases where you need
476
- * to override the default platform detection.
477
- *
478
- * @param adapter - The platform adapter to use
479
- * @example
480
- * ```typescript
481
- * // For testing with a mock adapter
482
- * const mockAdapter = new MockPlatformAdapter();
483
- * vana.setPlatformAdapter(mockAdapter);
484
- *
485
- * // For advanced use cases with custom adapters
486
- * const customAdapter = new CustomPlatformAdapter();
487
- * vana.setPlatformAdapter(customAdapter);
488
- * ```
489
- */
490
- setPlatformAdapter(adapter) {
491
- this.platform = adapter;
492
- }
493
- /**
494
- * Gets the current platform adapter.
495
- * This is useful for advanced use cases where you need to access
496
- * the platform adapter directly.
497
- *
498
- * @returns The current platform adapter
499
- * @example
500
- * ```typescript
501
- * const adapter = vana.getPlatformAdapter();
502
- * const encrypted = await adapter.encrypt(data, key);
503
- * ```
504
- */
505
- getPlatformAdapter() {
506
- return this.platform;
507
- }
508
- /**
509
- * Encrypts data using the Vana protocol standard encryption.
510
- *
511
- * @remarks
512
- * This method implements the Vana network's standard encryption protocol using
513
- * platform-appropriate cryptographic libraries. It automatically handles different
514
- * input types (string or Blob) and produces encrypted output suitable for secure
515
- * storage or transmission. The encryption is compatible with the network's
516
- * decryption protocols and can be decrypted by authorized parties.
517
- *
518
- * @param data - The data to encrypt (string or Blob)
519
- * @param key - The encryption key (typically generated via `generateEncryptionKey`)
520
- * @returns The encrypted data as a Blob
521
- * @throws {Error} When encryption fails due to invalid key or data format
522
- * @example
523
- * ```typescript
524
- * import { generateEncryptionKey } from '@opendatalabs/vana-sdk/node';
525
- *
526
- * // Generate encryption key from wallet signature
527
- * const encryptionKey = await generateEncryptionKey(vana.walletClient);
528
- *
529
- * // Encrypt string data
530
- * const sensitiveData = "User's private information";
531
- * const encrypted = await vana.encryptBlob(sensitiveData, encryptionKey);
532
- *
533
- * // Encrypt file data
534
- * const fileBlob = new Blob([fileContent], { type: 'application/json' });
535
- * const encryptedFile = await vana.encryptBlob(fileBlob, encryptionKey);
536
- *
537
- * // Store encrypted data safely
538
- * await storageProvider.upload(encrypted, 'encrypted-data.bin');
539
- * ```
540
- */
541
- async encryptBlob(data, key) {
542
- return encryptBlobWithSignedKey(data, key, this.platform);
543
- }
544
- /**
545
- * Decrypts data that was encrypted using the Vana protocol.
546
- *
547
- * @remarks
548
- * This method decrypts data that was previously encrypted using the Vana network's
549
- * standard encryption protocol. It requires the same wallet signature that was used
550
- * for encryption and automatically uses the appropriate platform adapter for
551
- * cryptographic operations. The decrypted output maintains the original data format.
552
- *
553
- * @param encryptedData - The encrypted data (string or Blob)
554
- * @param walletSignature - The wallet signature used as decryption key
555
- * @returns The decrypted data as a Blob
556
- * @throws {Error} When decryption fails due to invalid signature or corrupted data
557
- * @example
558
- * ```typescript
559
- * import { generateEncryptionKey } from '@opendatalabs/vana-sdk/node';
560
- *
561
- * // Retrieve encrypted data from storage
562
- * const encryptedBlob = await storageProvider.download('encrypted-data.bin');
563
- *
564
- * // Generate the same key used for encryption
565
- * const decryptionKey = await generateEncryptionKey(vana.walletClient);
566
- *
567
- * // Decrypt the data
568
- * const decrypted = await vana.decryptBlob(encryptedBlob, decryptionKey);
569
- *
570
- * // Convert back to original format
571
- * const originalText = await decrypted.text();
572
- * const originalJson = JSON.parse(originalText);
573
- *
574
- * console.log('Decrypted data:', originalJson);
575
- * ```
576
- *
577
- * @example
578
- * ```typescript
579
- * // Decrypt file downloaded from Vana network
580
- * const userFiles = await vana.data.getUserFiles();
581
- * const file = userFiles[0];
582
- *
583
- * // Download encrypted content
584
- * const encrypted = await fetch(file.url).then(r => r.blob());
585
- *
586
- * // Decrypt with user's key
587
- * const decryptionKey = await generateEncryptionKey(vana.walletClient);
588
- * const decrypted = await vana.decryptBlob(encrypted, decryptionKey);
589
- *
590
- * // Process original data
591
- * const fileContent = await decrypted.arrayBuffer();
592
- * ```
593
- */
594
- async decryptBlob(encryptedData, walletSignature) {
595
- return decryptBlobWithSignedKey(
596
- encryptedData,
597
- walletSignature,
598
- this.platform
599
- );
600
- }
601
- /**
602
- * Waits for an operation to complete and returns the final result.
603
- *
604
- * @remarks
605
- * This method polls the operation status at regular intervals until it
606
- * reaches a terminal state (succeeded, failed, or canceled). Supports
607
- * ergonomic overloads to accept either an Operation object or just the ID.
608
- *
609
- * @param opOrId - Either an Operation object or operation ID string
610
- * @param options - Optional polling configuration
611
- * @returns The completed operation with result or error
612
- * @throws {PersonalServerError} When the operation fails or times out
613
- * @example
614
- * ```typescript
615
- * // Using operation object
616
- * const operation = await vana.server.createOperation({ permissionId: 123 });
617
- * const completed = await vana.waitForOperation(operation);
618
- *
619
- * // Using just the ID
620
- * const completed = await vana.waitForOperation("op_abc123");
621
- *
622
- * // With custom timeout
623
- * const completed = await vana.waitForOperation(operation, {
624
- * timeout: 60000,
625
- * pollingInterval: 1000
626
- * });
627
- * ```
628
- */
629
- async waitForOperation(opOrId, options) {
630
- return this.server.waitForOperation(opOrId, options);
631
- }
632
- /**
633
- * Waits for a transaction to be confirmed and returns the receipt.
634
- *
635
- * @remarks
636
- * This method polls for transaction confirmation on the blockchain.
637
- * Supports ergonomic overloads to accept either a transaction result
638
- * object or just the hash string.
639
- *
640
- * @param hashOrObj - Either a TransactionResult object or hash string
641
- * @param options - Optional wait configuration
642
- * @returns The transaction receipt with logs and status
643
- * @example
644
- * ```typescript
645
- * // Using transaction result object
646
- * const tx = await vana.permissions.grant(params);
647
- * const receipt = await vana.waitForTransactionReceipt(tx);
648
- *
649
- * // Using just the hash
650
- * const receipt = await vana.waitForTransactionReceipt("0x123...");
651
- *
652
- * // With custom confirmations
653
- * const receipt = await vana.waitForTransactionReceipt(tx, {
654
- * confirmations: 3,
655
- * timeout: 60000
656
- * });
657
- * ```
658
- */
659
- async waitForTransactionReceipt(hashOrObj, options) {
660
- const hash = typeof hashOrObj === "string" ? hashOrObj : hashOrObj.hash;
661
- return this.publicClient.waitForTransactionReceipt({
662
- hash,
663
- confirmations: options?.confirmations,
664
- pollingInterval: options?.pollingInterval,
665
- timeout: options?.timeout
666
- });
667
- }
668
- /**
669
- * Waits for transaction confirmation and extracts blockchain event data.
670
- *
671
- * @remarks
672
- * This method leverages the context-carrying POJO architecture. When passed a
673
- * `TransactionResult` with an `operation` field, it automatically parses the
674
- * correct events from the transaction logs. For legacy compatibility, it accepts
675
- * raw hashes but will not parse events without operation context.
676
- *
677
- * @param transaction - Transaction result with operation context
678
- * @param options - Optional confirmation and timeout settings
679
- * @returns Parsed event data specific to the transaction's operation type
680
- * @throws {NetworkError} When transaction confirmation times out
681
- * @throws {BlockchainError} When expected events are not found in the transaction
682
- *
683
- * @example
684
- * ```typescript
685
- * // Recommended: Pass the transaction result for automatic event parsing
686
- * const tx = await vana.permissions.submitAddServerFilesAndPermissions(params);
687
- * const events = await vana.waitForTransactionEvents<{ permissionId: bigint }>(tx);
688
- * console.log(`Permission ID: ${events.permissionId}`);
689
- *
690
- * // Legacy: Raw hash without event parsing (returns receipt)
691
- * const receipt = await vana.waitForTransactionEvents("0x123...");
692
- * ```
693
- *
694
- * @see For understanding transaction flows, visit https://docs.vana.org/docs/transactions
695
- */
696
- async waitForTransactionEvents(transaction, options) {
697
- const { parseTransaction } = await import("./utils/parseTransactionPojo");
698
- const receipt = await this.waitForTransactionReceipt(
699
- transaction.hash,
700
- options
701
- );
702
- const result = parseTransaction(transaction, receipt);
703
- return result;
704
- }
705
- /**
706
- * Enhances a unified relayer response with client-side behavior.
707
- *
708
- * @remarks
709
- * This method wraps a relayer response in an enhanced object that provides
710
- * a fluent `.wait()` method for handling asynchronous operations. The enhanced
711
- * response intelligently handles both submitted transactions (via hash) and
712
- * pending operations (via operationId).
713
- *
714
- * @param response - The unified relayer response to enhance
715
- * @returns EnhancedTransactionResponse if the response can be enhanced, null otherwise
716
- *
717
- * @example
718
- * ```typescript
719
- * // Enhance a relayer response for fluent waiting
720
- * const response = await handleRelayerOperation(vana, request);
721
- * const enhanced = vana.enhanceRelayerResponse(response);
722
- * if (enhanced) {
723
- * const result = await enhanced.wait();
724
- * if (result.expectedEvents?.FileAdded) {
725
- * console.log('File ID:', result.expectedEvents.FileAdded.fileId);
726
- * }
727
- * }
728
- * ```
729
- *
730
- * @example
731
- * ```typescript
732
- * // With status updates for pending operations
733
- * const enhanced = vana.enhanceRelayerResponse(response);
734
- * if (enhanced) {
735
- * const result = await enhanced.wait({
736
- * onStatusUpdate: (status) => {
737
- * console.log('Operation status:', status.type);
738
- * },
739
- * timeout: 60000 // 1 minute timeout
740
- * });
741
- * }
742
- * ```
743
- *
744
- * @category Relayer
745
- * @since 0.2.0
746
- */
747
- async enhanceRelayerResponse(response) {
748
- const { enhanceResponse } = await import("./client/enhancedResponse");
749
- return enhanceResponse(response, this);
750
- }
751
- }
752
- export {
753
- VanaCore,
754
- VanaCoreFactory
755
- };
756
- //# sourceMappingURL=core.js.map