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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (631) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +150 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +129 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/ecies/node.cjs +6 -6
  48. package/dist/crypto/ecies/node.cjs.map +1 -1
  49. package/dist/crypto/ecies/node.js +1 -1
  50. package/dist/crypto/ecies/node.js.map +1 -1
  51. package/dist/crypto/envelope/openpgp.cjs +59 -0
  52. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  53. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  54. package/dist/crypto/envelope/openpgp.js +24 -0
  55. package/dist/crypto/envelope/openpgp.js.map +1 -0
  56. package/dist/crypto/keys/derive.cjs +65 -0
  57. package/dist/crypto/keys/derive.cjs.map +1 -0
  58. package/dist/crypto/keys/derive.d.ts +45 -0
  59. package/dist/crypto/keys/derive.js +38 -0
  60. package/dist/crypto/keys/derive.js.map +1 -0
  61. package/dist/errors.cjs +10 -0
  62. package/dist/errors.cjs.map +1 -1
  63. package/dist/errors.js +10 -0
  64. package/dist/errors.js.map +1 -1
  65. package/dist/generated/abi/index.cjs +2 -37
  66. package/dist/generated/abi/index.cjs.map +1 -1
  67. package/dist/generated/abi/index.d.ts +2683 -9296
  68. package/dist/generated/abi/index.js +2 -29
  69. package/dist/generated/abi/index.js.map +1 -1
  70. package/dist/generated/addresses.cjs +5 -107
  71. package/dist/generated/addresses.cjs.map +1 -1
  72. package/dist/generated/addresses.d.ts +5 -99
  73. package/dist/generated/addresses.js +5 -105
  74. package/dist/generated/addresses.js.map +1 -1
  75. package/dist/index.browser.d.ts +24 -140
  76. package/dist/index.browser.js +32258 -114
  77. package/dist/index.browser.js.map +7 -1
  78. package/dist/index.node.cjs +32980 -160
  79. package/dist/index.node.cjs.map +7 -1
  80. package/dist/index.node.d.ts +23 -210
  81. package/dist/index.node.js +32884 -133
  82. package/dist/index.node.js.map +7 -1
  83. package/dist/platform/node.cjs +2 -2
  84. package/dist/platform/node.cjs.map +1 -1
  85. package/dist/platform/node.js +1 -1
  86. package/dist/platform/node.js.map +1 -1
  87. package/dist/protocol/data-file.cjs +56 -0
  88. package/dist/protocol/data-file.cjs.map +1 -0
  89. package/dist/protocol/data-file.d.ts +20 -0
  90. package/dist/protocol/data-file.js +30 -0
  91. package/dist/protocol/data-file.js.map +1 -0
  92. package/dist/protocol/eip712.cjs +123 -0
  93. package/dist/protocol/eip712.cjs.map +1 -0
  94. package/dist/protocol/eip712.d.ts +117 -0
  95. package/dist/protocol/eip712.js +90 -0
  96. package/dist/protocol/eip712.js.map +1 -0
  97. package/dist/protocol/gateway.cjs +226 -0
  98. package/dist/protocol/gateway.cjs.map +1 -0
  99. package/dist/protocol/gateway.d.ts +120 -0
  100. package/dist/protocol/gateway.js +202 -0
  101. package/dist/protocol/gateway.js.map +1 -0
  102. package/dist/protocol/grants.cjs +146 -0
  103. package/dist/protocol/grants.cjs.map +1 -0
  104. package/dist/protocol/grants.d.ts +31 -0
  105. package/dist/protocol/grants.js +123 -0
  106. package/dist/protocol/grants.js.map +1 -0
  107. package/dist/protocol/scopes.cjs +78 -0
  108. package/dist/protocol/scopes.cjs.map +1 -0
  109. package/dist/protocol/scopes.d.ts +13 -0
  110. package/dist/protocol/scopes.js +50 -0
  111. package/dist/protocol/scopes.js.map +1 -0
  112. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  113. package/dist/storage/default.cjs.map +1 -0
  114. package/dist/storage/default.d.ts +4 -0
  115. package/dist/storage/default.js +8 -0
  116. package/dist/storage/default.js.map +1 -0
  117. package/dist/storage/index.cjs +11 -2
  118. package/dist/storage/index.cjs.map +1 -1
  119. package/dist/storage/index.d.ts +9 -0
  120. package/dist/storage/index.js +7 -1
  121. package/dist/storage/index.js.map +1 -1
  122. package/dist/storage/providers/callback-storage.cjs +1 -0
  123. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  124. package/dist/storage/providers/callback-storage.js +1 -0
  125. package/dist/storage/providers/callback-storage.js.map +1 -1
  126. package/dist/storage/providers/dropbox.cjs +1 -0
  127. package/dist/storage/providers/dropbox.cjs.map +1 -1
  128. package/dist/storage/providers/dropbox.js +1 -0
  129. package/dist/storage/providers/dropbox.js.map +1 -1
  130. package/dist/storage/providers/google-drive.cjs +1 -0
  131. package/dist/storage/providers/google-drive.cjs.map +1 -1
  132. package/dist/storage/providers/google-drive.js +1 -0
  133. package/dist/storage/providers/google-drive.js.map +1 -1
  134. package/dist/storage/providers/ipfs.cjs +1 -0
  135. package/dist/storage/providers/ipfs.cjs.map +1 -1
  136. package/dist/storage/providers/ipfs.js +1 -0
  137. package/dist/storage/providers/ipfs.js.map +1 -1
  138. package/dist/storage/providers/pinata.cjs +1 -0
  139. package/dist/storage/providers/pinata.cjs.map +1 -1
  140. package/dist/storage/providers/pinata.js +1 -0
  141. package/dist/storage/providers/pinata.js.map +1 -1
  142. package/dist/storage/providers/r2.cjs +376 -0
  143. package/dist/storage/providers/r2.cjs.map +1 -0
  144. package/dist/storage/providers/r2.d.ts +91 -0
  145. package/dist/storage/providers/r2.js +354 -0
  146. package/dist/storage/providers/r2.js.map +1 -0
  147. package/dist/storage/providers/vana-storage.cjs +251 -0
  148. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  149. package/dist/storage/providers/vana-storage.d.ts +100 -0
  150. package/dist/storage/providers/vana-storage.js +231 -0
  151. package/dist/storage/providers/vana-storage.js.map +1 -0
  152. package/dist/types/config.cjs +0 -34
  153. package/dist/types/config.cjs.map +1 -1
  154. package/dist/types/config.d.ts +1 -607
  155. package/dist/types/config.js +0 -22
  156. package/dist/types/config.js.map +1 -1
  157. package/dist/types/contracts.cjs.map +1 -1
  158. package/dist/types/contracts.d.ts +1 -1
  159. package/dist/types/index.cjs +2 -33
  160. package/dist/types/index.cjs.map +1 -1
  161. package/dist/types/index.d.ts +2 -33
  162. package/dist/types/index.js +1 -35
  163. package/dist/types/index.js.map +1 -1
  164. package/dist/types/ps-errors.cjs +91 -0
  165. package/dist/types/ps-errors.cjs.map +1 -0
  166. package/dist/types/ps-errors.d.ts +26 -0
  167. package/dist/types/ps-errors.js +66 -0
  168. package/dist/types/ps-errors.js.map +1 -0
  169. package/dist/types.cjs.map +1 -1
  170. package/dist/types.d.ts +0 -29
  171. package/dist/types.js.map +1 -1
  172. package/package.json +8 -25
  173. package/dist/client/enhancedResponse.cjs +0 -164
  174. package/dist/client/enhancedResponse.cjs.map +0 -1
  175. package/dist/client/enhancedResponse.d.ts +0 -120
  176. package/dist/client/enhancedResponse.js +0 -138
  177. package/dist/client/enhancedResponse.js.map +0 -1
  178. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  179. package/dist/controllers/base.cjs +0 -116
  180. package/dist/controllers/base.cjs.map +0 -1
  181. package/dist/controllers/base.d.ts +0 -94
  182. package/dist/controllers/base.js +0 -92
  183. package/dist/controllers/base.js.map +0 -1
  184. package/dist/controllers/data.cjs +0 -2633
  185. package/dist/controllers/data.cjs.map +0 -1
  186. package/dist/controllers/data.d.ts +0 -1067
  187. package/dist/controllers/data.js +0 -2626
  188. package/dist/controllers/data.js.map +0 -1
  189. package/dist/controllers/operations.cjs +0 -430
  190. package/dist/controllers/operations.cjs.map +0 -1
  191. package/dist/controllers/operations.d.ts +0 -229
  192. package/dist/controllers/operations.js +0 -406
  193. package/dist/controllers/operations.js.map +0 -1
  194. package/dist/controllers/permissions.cjs +0 -4368
  195. package/dist/controllers/permissions.cjs.map +0 -1
  196. package/dist/controllers/permissions.d.ts +0 -1411
  197. package/dist/controllers/permissions.js +0 -4344
  198. package/dist/controllers/permissions.js.map +0 -1
  199. package/dist/controllers/protocol.cjs +0 -183
  200. package/dist/controllers/protocol.cjs.map +0 -1
  201. package/dist/controllers/protocol.d.ts +0 -138
  202. package/dist/controllers/protocol.js +0 -163
  203. package/dist/controllers/protocol.js.map +0 -1
  204. package/dist/controllers/schemas.cjs +0 -678
  205. package/dist/controllers/schemas.cjs.map +0 -1
  206. package/dist/controllers/schemas.d.ts +0 -293
  207. package/dist/controllers/schemas.js +0 -654
  208. package/dist/controllers/schemas.js.map +0 -1
  209. package/dist/controllers/server.cjs +0 -643
  210. package/dist/controllers/server.cjs.map +0 -1
  211. package/dist/controllers/server.d.ts +0 -322
  212. package/dist/controllers/server.js +0 -624
  213. package/dist/controllers/server.js.map +0 -1
  214. package/dist/controllers/staking.cjs +0 -626
  215. package/dist/controllers/staking.cjs.map +0 -1
  216. package/dist/controllers/staking.d.ts +0 -457
  217. package/dist/controllers/staking.js +0 -602
  218. package/dist/controllers/staking.js.map +0 -1
  219. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  220. package/dist/core/apiClient.cjs +0 -378
  221. package/dist/core/apiClient.cjs.map +0 -1
  222. package/dist/core/apiClient.d.ts +0 -286
  223. package/dist/core/apiClient.js +0 -359
  224. package/dist/core/apiClient.js.map +0 -1
  225. package/dist/core/generics.cjs +0 -417
  226. package/dist/core/generics.cjs.map +0 -1
  227. package/dist/core/generics.d.ts +0 -205
  228. package/dist/core/generics.js +0 -386
  229. package/dist/core/generics.js.map +0 -1
  230. package/dist/core/health.cjs +0 -289
  231. package/dist/core/health.cjs.map +0 -1
  232. package/dist/core/health.d.ts +0 -143
  233. package/dist/core/health.js +0 -265
  234. package/dist/core/health.js.map +0 -1
  235. package/dist/core/inMemoryNonceManager.cjs +0 -138
  236. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  237. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  238. package/dist/core/inMemoryNonceManager.js +0 -114
  239. package/dist/core/inMemoryNonceManager.js.map +0 -1
  240. package/dist/core/nonceManager.cjs +0 -304
  241. package/dist/core/nonceManager.cjs.map +0 -1
  242. package/dist/core/nonceManager.d.ts +0 -116
  243. package/dist/core/nonceManager.js +0 -280
  244. package/dist/core/nonceManager.js.map +0 -1
  245. package/dist/core/pollingManager.cjs +0 -292
  246. package/dist/core/pollingManager.cjs.map +0 -1
  247. package/dist/core/pollingManager.d.ts +0 -120
  248. package/dist/core/pollingManager.js +0 -268
  249. package/dist/core/pollingManager.js.map +0 -1
  250. package/dist/core.cjs +0 -781
  251. package/dist/core.cjs.map +0 -1
  252. package/dist/core.d.ts +0 -496
  253. package/dist/core.js +0 -756
  254. package/dist/core.js.map +0 -1
  255. package/dist/diagnostics.cjs +0 -37
  256. package/dist/diagnostics.cjs.map +0 -1
  257. package/dist/diagnostics.d.ts +0 -24
  258. package/dist/diagnostics.js +0 -13
  259. package/dist/diagnostics.js.map +0 -1
  260. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  261. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  262. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  263. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  264. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  265. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  266. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  267. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  268. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  269. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  270. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  271. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  272. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  273. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  274. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  275. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  276. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  277. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  278. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  279. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  280. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  281. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  282. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  283. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  284. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  285. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  286. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  287. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  288. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  289. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  290. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  291. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  292. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  293. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  294. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  295. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  296. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  297. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  298. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  299. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  300. package/dist/generated/event-types.cjs +0 -17
  301. package/dist/generated/event-types.cjs.map +0 -1
  302. package/dist/generated/event-types.d.ts +0 -816
  303. package/dist/generated/event-types.js +0 -1
  304. package/dist/generated/event-types.js.map +0 -1
  305. package/dist/generated/eventRegistry.cjs +0 -4512
  306. package/dist/generated/eventRegistry.cjs.map +0 -1
  307. package/dist/generated/eventRegistry.d.ts +0 -14
  308. package/dist/generated/eventRegistry.js +0 -4487
  309. package/dist/generated/eventRegistry.js.map +0 -1
  310. package/dist/generated/server/server-exports.cjs +0 -45
  311. package/dist/generated/server/server-exports.cjs.map +0 -1
  312. package/dist/generated/server/server-exports.d.ts +0 -36
  313. package/dist/generated/server/server-exports.js +0 -19
  314. package/dist/generated/server/server-exports.js.map +0 -1
  315. package/dist/generated/server/server.cjs +0 -17
  316. package/dist/generated/server/server.cjs.map +0 -1
  317. package/dist/generated/server/server.d.ts +0 -907
  318. package/dist/generated/server/server.js +0 -1
  319. package/dist/generated/server/server.js.map +0 -1
  320. package/dist/generated/subgraph.cjs +0 -1440
  321. package/dist/generated/subgraph.cjs.map +0 -1
  322. package/dist/generated/subgraph.d.ts +0 -6113
  323. package/dist/generated/subgraph.js +0 -1404
  324. package/dist/generated/subgraph.js.map +0 -1
  325. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  326. package/dist/lib/redisAtomicStore.cjs +0 -201
  327. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  328. package/dist/lib/redisAtomicStore.d.ts +0 -120
  329. package/dist/lib/redisAtomicStore.js +0 -177
  330. package/dist/lib/redisAtomicStore.js.map +0 -1
  331. package/dist/server/relayerHandler.cjs +0 -452
  332. package/dist/server/relayerHandler.cjs.map +0 -1
  333. package/dist/server/relayerHandler.d.ts +0 -69
  334. package/dist/server/relayerHandler.js +0 -428
  335. package/dist/server/relayerHandler.js.map +0 -1
  336. package/dist/tests/abi.test.d.ts +0 -1
  337. package/dist/tests/chains-definitions.test.d.ts +0 -1
  338. package/dist/tests/core-encryption.test.d.ts +0 -1
  339. package/dist/tests/core-extended.test.d.ts +0 -1
  340. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  341. package/dist/tests/coverage-boost.test.d.ts +0 -1
  342. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  343. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  344. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  345. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  346. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  347. package/dist/tests/data-relayer.test.d.ts +0 -1
  348. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  349. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  350. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  351. package/dist/tests/data.test.d.ts +0 -1
  352. package/dist/tests/demo-integration.test.d.ts +0 -1
  353. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  354. package/dist/tests/download-relayer.test.d.ts +0 -1
  355. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  356. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  357. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  358. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  359. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  360. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  361. package/dist/tests/errors-coverage.test.d.ts +0 -1
  362. package/dist/tests/factories/mockFactory.d.ts +0 -316
  363. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  364. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  365. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  366. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  367. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  368. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  369. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  370. package/dist/tests/helper-methods.test.d.ts +0 -1
  371. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  372. package/dist/tests/index-browser.test.d.ts +0 -1
  373. package/dist/tests/index-node.test.d.ts +0 -1
  374. package/dist/tests/index.test.d.ts +0 -1
  375. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  376. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  377. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  378. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  379. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  380. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  381. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  382. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  383. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  384. package/dist/tests/permissions.test.d.ts +0 -1
  385. package/dist/tests/personal.test.d.ts +0 -1
  386. package/dist/tests/platform-browser.test.d.ts +0 -1
  387. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  388. package/dist/tests/platform-crypto.test.d.ts +0 -1
  389. package/dist/tests/platform-index.test.d.ts +0 -1
  390. package/dist/tests/platform-node.test.d.ts +0 -1
  391. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  392. package/dist/tests/platform-updated.test.d.ts +0 -1
  393. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  394. package/dist/tests/protocol.test.d.ts +0 -1
  395. package/dist/tests/read-only-mode.test.d.ts +0 -1
  396. package/dist/tests/relayer-integration.test.d.ts +0 -1
  397. package/dist/tests/relayer-unified.test.d.ts +0 -1
  398. package/dist/tests/schemas.test.d.ts +0 -1
  399. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  400. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  401. package/dist/tests/staking.test.d.ts +0 -1
  402. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  403. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  404. package/dist/tests/types-contracts.test.d.ts +0 -1
  405. package/dist/tests/types-data.test.d.ts +0 -1
  406. package/dist/tests/types-external-apis.test.d.ts +0 -1
  407. package/dist/tests/types-generics.test.d.ts +0 -1
  408. package/dist/tests/types-permissions.test.d.ts +0 -1
  409. package/dist/tests/types-upload-params.test.d.ts +0 -1
  410. package/dist/tests/types.test.d.ts +0 -1
  411. package/dist/tests/utils-formatters.test.d.ts +0 -1
  412. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  413. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  414. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  415. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  416. package/dist/tests/utils-grants.test.d.ts +0 -1
  417. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  418. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  419. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  420. package/dist/tests/vana.test.d.ts +0 -1
  421. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  422. package/dist/types/atomicStore.cjs.map +0 -1
  423. package/dist/types/atomicStore.d.ts +0 -236
  424. package/dist/types/atomicStore.js +0 -7
  425. package/dist/types/atomicStore.js.map +0 -1
  426. package/dist/types/blockchain.cjs +0 -17
  427. package/dist/types/blockchain.cjs.map +0 -1
  428. package/dist/types/blockchain.d.ts +0 -85
  429. package/dist/types/blockchain.js +0 -1
  430. package/dist/types/blockchain.js.map +0 -1
  431. package/dist/types/controller-context.cjs +0 -17
  432. package/dist/types/controller-context.cjs.map +0 -1
  433. package/dist/types/controller-context.d.ts +0 -68
  434. package/dist/types/controller-context.js +0 -1
  435. package/dist/types/controller-context.js.map +0 -1
  436. package/dist/types/data.cjs +0 -17
  437. package/dist/types/data.cjs.map +0 -1
  438. package/dist/types/data.d.ts +0 -763
  439. package/dist/types/data.js +0 -1
  440. package/dist/types/data.js.map +0 -1
  441. package/dist/types/external-apis.cjs +0 -61
  442. package/dist/types/external-apis.cjs.map +0 -1
  443. package/dist/types/external-apis.d.ts +0 -184
  444. package/dist/types/external-apis.js +0 -34
  445. package/dist/types/external-apis.js.map +0 -1
  446. package/dist/types/generics.cjs +0 -17
  447. package/dist/types/generics.cjs.map +0 -1
  448. package/dist/types/generics.d.ts +0 -518
  449. package/dist/types/generics.js +0 -1
  450. package/dist/types/generics.js.map +0 -1
  451. package/dist/types/operationStore.cjs +0 -17
  452. package/dist/types/operationStore.cjs.map +0 -1
  453. package/dist/types/operationStore.d.ts +0 -171
  454. package/dist/types/operationStore.js +0 -1
  455. package/dist/types/operationStore.js.map +0 -1
  456. package/dist/types/operations.cjs +0 -53
  457. package/dist/types/operations.cjs.map +0 -1
  458. package/dist/types/operations.d.ts +0 -204
  459. package/dist/types/operations.js +0 -26
  460. package/dist/types/operations.js.map +0 -1
  461. package/dist/types/options.cjs +0 -17
  462. package/dist/types/options.cjs.map +0 -1
  463. package/dist/types/options.d.ts +0 -308
  464. package/dist/types/options.js +0 -1
  465. package/dist/types/options.js.map +0 -1
  466. package/dist/types/permissions.cjs +0 -17
  467. package/dist/types/permissions.cjs.map +0 -1
  468. package/dist/types/permissions.d.ts +0 -955
  469. package/dist/types/permissions.js +0 -1
  470. package/dist/types/permissions.js.map +0 -1
  471. package/dist/types/personal.cjs +0 -17
  472. package/dist/types/personal.cjs.map +0 -1
  473. package/dist/types/personal.d.ts +0 -174
  474. package/dist/types/personal.js +0 -1
  475. package/dist/types/personal.js.map +0 -1
  476. package/dist/types/relayer.cjs +0 -17
  477. package/dist/types/relayer.cjs.map +0 -1
  478. package/dist/types/relayer.d.ts +0 -552
  479. package/dist/types/relayer.js +0 -1
  480. package/dist/types/relayer.js.map +0 -1
  481. package/dist/types/transactionResults.cjs +0 -17
  482. package/dist/types/transactionResults.cjs.map +0 -1
  483. package/dist/types/transactionResults.d.ts +0 -193
  484. package/dist/types/transactionResults.js +0 -1
  485. package/dist/types/transactionResults.js.map +0 -1
  486. package/dist/types/utils.cjs +0 -17
  487. package/dist/types/utils.cjs.map +0 -1
  488. package/dist/types/utils.d.ts +0 -771
  489. package/dist/types/utils.js +0 -1
  490. package/dist/types/utils.js.map +0 -1
  491. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  492. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  493. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  494. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  495. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  496. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  497. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  498. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  499. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  500. package/dist/utils/blockchain/registry.cjs +0 -81
  501. package/dist/utils/blockchain/registry.cjs.map +0 -1
  502. package/dist/utils/blockchain/registry.d.ts +0 -32
  503. package/dist/utils/blockchain/registry.js +0 -56
  504. package/dist/utils/blockchain/registry.js.map +0 -1
  505. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  506. package/dist/utils/chainQuery.cjs +0 -107
  507. package/dist/utils/chainQuery.cjs.map +0 -1
  508. package/dist/utils/chainQuery.d.ts +0 -31
  509. package/dist/utils/chainQuery.js +0 -82
  510. package/dist/utils/chainQuery.js.map +0 -1
  511. package/dist/utils/download.cjs +0 -69
  512. package/dist/utils/download.cjs.map +0 -1
  513. package/dist/utils/download.d.ts +0 -40
  514. package/dist/utils/download.js +0 -45
  515. package/dist/utils/download.js.map +0 -1
  516. package/dist/utils/encryption.cjs +0 -176
  517. package/dist/utils/encryption.cjs.map +0 -1
  518. package/dist/utils/encryption.d.ts +0 -271
  519. package/dist/utils/encryption.js +0 -142
  520. package/dist/utils/encryption.js.map +0 -1
  521. package/dist/utils/formatters.cjs +0 -55
  522. package/dist/utils/formatters.cjs.map +0 -1
  523. package/dist/utils/formatters.d.ts +0 -118
  524. package/dist/utils/formatters.js +0 -28
  525. package/dist/utils/formatters.js.map +0 -1
  526. package/dist/utils/grantFiles.cjs +0 -181
  527. package/dist/utils/grantFiles.cjs.map +0 -1
  528. package/dist/utils/grantFiles.d.ts +0 -172
  529. package/dist/utils/grantFiles.js +0 -143
  530. package/dist/utils/grantFiles.js.map +0 -1
  531. package/dist/utils/grantValidation.cjs +0 -243
  532. package/dist/utils/grantValidation.cjs.map +0 -1
  533. package/dist/utils/grantValidation.d.ts +0 -226
  534. package/dist/utils/grantValidation.js +0 -201
  535. package/dist/utils/grantValidation.js.map +0 -1
  536. package/dist/utils/grants.cjs +0 -108
  537. package/dist/utils/grants.cjs.map +0 -1
  538. package/dist/utils/grants.d.ts +0 -148
  539. package/dist/utils/grants.js +0 -82
  540. package/dist/utils/grants.js.map +0 -1
  541. package/dist/utils/ipfs.cjs +0 -128
  542. package/dist/utils/ipfs.cjs.map +0 -1
  543. package/dist/utils/ipfs.d.ts +0 -88
  544. package/dist/utils/ipfs.js +0 -97
  545. package/dist/utils/ipfs.js.map +0 -1
  546. package/dist/utils/multicall.cjs +0 -233
  547. package/dist/utils/multicall.cjs.map +0 -1
  548. package/dist/utils/multicall.d.ts +0 -126
  549. package/dist/utils/multicall.js +0 -208
  550. package/dist/utils/multicall.js.map +0 -1
  551. package/dist/utils/parseTransactionPojo.cjs +0 -87
  552. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  553. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  554. package/dist/utils/parseTransactionPojo.js +0 -63
  555. package/dist/utils/parseTransactionPojo.js.map +0 -1
  556. package/dist/utils/schemaValidation.cjs +0 -258
  557. package/dist/utils/schemaValidation.cjs.map +0 -1
  558. package/dist/utils/schemaValidation.d.ts +0 -168
  559. package/dist/utils/schemaValidation.js +0 -219
  560. package/dist/utils/schemaValidation.js.map +0 -1
  561. package/dist/utils/signatureCache.cjs +0 -192
  562. package/dist/utils/signatureCache.cjs.map +0 -1
  563. package/dist/utils/signatureCache.d.ts +0 -172
  564. package/dist/utils/signatureCache.js +0 -167
  565. package/dist/utils/signatureCache.js.map +0 -1
  566. package/dist/utils/signatureFormatter.cjs +0 -42
  567. package/dist/utils/signatureFormatter.cjs.map +0 -1
  568. package/dist/utils/signatureFormatter.d.ts +0 -36
  569. package/dist/utils/signatureFormatter.js +0 -18
  570. package/dist/utils/signatureFormatter.js.map +0 -1
  571. package/dist/utils/subgraphConsistency.cjs +0 -184
  572. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  573. package/dist/utils/subgraphConsistency.d.ts +0 -65
  574. package/dist/utils/subgraphConsistency.js +0 -155
  575. package/dist/utils/subgraphConsistency.js.map +0 -1
  576. package/dist/utils/subgraphMetaCache.cjs +0 -101
  577. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  578. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  579. package/dist/utils/subgraphMetaCache.js +0 -76
  580. package/dist/utils/subgraphMetaCache.js.map +0 -1
  581. package/dist/utils/subgraphPagination.cjs +0 -104
  582. package/dist/utils/subgraphPagination.cjs.map +0 -1
  583. package/dist/utils/subgraphPagination.d.ts +0 -78
  584. package/dist/utils/subgraphPagination.js +0 -78
  585. package/dist/utils/subgraphPagination.js.map +0 -1
  586. package/dist/utils/tests/multicall.test.d.ts +0 -1
  587. package/dist/utils/transactionHelpers.cjs +0 -54
  588. package/dist/utils/transactionHelpers.cjs.map +0 -1
  589. package/dist/utils/transactionHelpers.d.ts +0 -80
  590. package/dist/utils/transactionHelpers.js +0 -29
  591. package/dist/utils/transactionHelpers.js.map +0 -1
  592. package/dist/utils/typeGuards.cjs +0 -109
  593. package/dist/utils/typeGuards.cjs.map +0 -1
  594. package/dist/utils/typeGuards.d.ts +0 -138
  595. package/dist/utils/typeGuards.js +0 -74
  596. package/dist/utils/typeGuards.js.map +0 -1
  597. package/dist/utils/typedDataConverter.cjs +0 -43
  598. package/dist/utils/typedDataConverter.cjs.map +0 -1
  599. package/dist/utils/typedDataConverter.d.ts +0 -46
  600. package/dist/utils/typedDataConverter.js +0 -19
  601. package/dist/utils/typedDataConverter.js.map +0 -1
  602. package/dist/utils/urlResolver.cjs +0 -62
  603. package/dist/utils/urlResolver.cjs.map +0 -1
  604. package/dist/utils/urlResolver.d.ts +0 -56
  605. package/dist/utils/urlResolver.js +0 -37
  606. package/dist/utils/urlResolver.js.map +0 -1
  607. package/dist/utils/wallet.cjs +0 -63
  608. package/dist/utils/wallet.cjs.map +0 -1
  609. package/dist/utils/wallet.d.ts +0 -94
  610. package/dist/utils/wallet.js +0 -37
  611. package/dist/utils/wallet.js.map +0 -1
  612. package/dist/utils/withEvents.cjs +0 -44
  613. package/dist/utils/withEvents.cjs.map +0 -1
  614. package/dist/utils/withEvents.d.ts +0 -56
  615. package/dist/utils/withEvents.js +0 -18
  616. package/dist/utils/withEvents.js.map +0 -1
  617. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  618. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  619. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  620. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  621. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  622. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  623. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  624. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  625. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  626. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/grants.test.d.ts} +0 -0
  627. /package/dist/{core/core.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  628. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  629. /package/dist/{core/tests/client.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  630. /package/dist/{core/tests/generics.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  631. /package/dist/{diagnostics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
package/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