@opendatalabs/vana-sdk 2.3.0 → 3.0.0

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