@opendatalabs/vana-sdk 2.2.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (622) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +125 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +104 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/envelope/openpgp.cjs +59 -0
  48. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  49. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  50. package/dist/crypto/envelope/openpgp.js +24 -0
  51. package/dist/crypto/envelope/openpgp.js.map +1 -0
  52. package/dist/crypto/keys/derive.cjs +65 -0
  53. package/dist/crypto/keys/derive.cjs.map +1 -0
  54. package/dist/crypto/keys/derive.d.ts +45 -0
  55. package/dist/crypto/keys/derive.js +38 -0
  56. package/dist/crypto/keys/derive.js.map +1 -0
  57. package/dist/errors.cjs +10 -0
  58. package/dist/errors.cjs.map +1 -1
  59. package/dist/errors.js +10 -0
  60. package/dist/errors.js.map +1 -1
  61. package/dist/generated/abi/VanaPoolEntityImplementation.cjs +65 -0
  62. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
  63. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +51 -0
  64. package/dist/generated/abi/VanaPoolEntityImplementation.js +65 -0
  65. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
  66. package/dist/generated/abi/VanaPoolStakingImplementation.cjs +187 -19
  67. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
  68. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +144 -14
  69. package/dist/generated/abi/VanaPoolStakingImplementation.js +187 -19
  70. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
  71. package/dist/generated/abi/index.cjs +2 -37
  72. package/dist/generated/abi/index.cjs.map +1 -1
  73. package/dist/generated/abi/index.d.ts +2687 -9119
  74. package/dist/generated/abi/index.js +2 -29
  75. package/dist/generated/abi/index.js.map +1 -1
  76. package/dist/generated/addresses.cjs +5 -107
  77. package/dist/generated/addresses.cjs.map +1 -1
  78. package/dist/generated/addresses.d.ts +5 -99
  79. package/dist/generated/addresses.js +5 -105
  80. package/dist/generated/addresses.js.map +1 -1
  81. package/dist/index.browser.d.ts +23 -138
  82. package/dist/index.browser.js +32090 -112
  83. package/dist/index.browser.js.map +7 -1
  84. package/dist/index.node.cjs +32809 -157
  85. package/dist/index.node.cjs.map +7 -1
  86. package/dist/index.node.d.ts +22 -208
  87. package/dist/index.node.js +32716 -131
  88. package/dist/index.node.js.map +7 -1
  89. package/dist/protocol/data-file.cjs +56 -0
  90. package/dist/protocol/data-file.cjs.map +1 -0
  91. package/dist/protocol/data-file.d.ts +20 -0
  92. package/dist/protocol/data-file.js +30 -0
  93. package/dist/protocol/data-file.js.map +1 -0
  94. package/dist/protocol/eip712.cjs +123 -0
  95. package/dist/protocol/eip712.cjs.map +1 -0
  96. package/dist/protocol/eip712.d.ts +117 -0
  97. package/dist/protocol/eip712.js +90 -0
  98. package/dist/protocol/eip712.js.map +1 -0
  99. package/dist/protocol/gateway.cjs +226 -0
  100. package/dist/protocol/gateway.cjs.map +1 -0
  101. package/dist/protocol/gateway.d.ts +120 -0
  102. package/dist/protocol/gateway.js +202 -0
  103. package/dist/protocol/gateway.js.map +1 -0
  104. package/dist/protocol/scopes.cjs +78 -0
  105. package/dist/protocol/scopes.cjs.map +1 -0
  106. package/dist/protocol/scopes.d.ts +13 -0
  107. package/dist/protocol/scopes.js +50 -0
  108. package/dist/protocol/scopes.js.map +1 -0
  109. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  110. package/dist/storage/default.cjs.map +1 -0
  111. package/dist/storage/default.d.ts +4 -0
  112. package/dist/storage/default.js +8 -0
  113. package/dist/storage/default.js.map +1 -0
  114. package/dist/storage/index.cjs +11 -2
  115. package/dist/storage/index.cjs.map +1 -1
  116. package/dist/storage/index.d.ts +9 -0
  117. package/dist/storage/index.js +7 -1
  118. package/dist/storage/index.js.map +1 -1
  119. package/dist/storage/providers/callback-storage.cjs +1 -0
  120. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  121. package/dist/storage/providers/callback-storage.js +1 -0
  122. package/dist/storage/providers/callback-storage.js.map +1 -1
  123. package/dist/storage/providers/dropbox.cjs +1 -0
  124. package/dist/storage/providers/dropbox.cjs.map +1 -1
  125. package/dist/storage/providers/dropbox.js +1 -0
  126. package/dist/storage/providers/dropbox.js.map +1 -1
  127. package/dist/storage/providers/google-drive.cjs +1 -0
  128. package/dist/storage/providers/google-drive.cjs.map +1 -1
  129. package/dist/storage/providers/google-drive.js +1 -0
  130. package/dist/storage/providers/google-drive.js.map +1 -1
  131. package/dist/storage/providers/ipfs.cjs +1 -0
  132. package/dist/storage/providers/ipfs.cjs.map +1 -1
  133. package/dist/storage/providers/ipfs.js +1 -0
  134. package/dist/storage/providers/ipfs.js.map +1 -1
  135. package/dist/storage/providers/pinata.cjs +1 -0
  136. package/dist/storage/providers/pinata.cjs.map +1 -1
  137. package/dist/storage/providers/pinata.js +1 -0
  138. package/dist/storage/providers/pinata.js.map +1 -1
  139. package/dist/storage/providers/r2.cjs +376 -0
  140. package/dist/storage/providers/r2.cjs.map +1 -0
  141. package/dist/storage/providers/r2.d.ts +91 -0
  142. package/dist/storage/providers/r2.js +354 -0
  143. package/dist/storage/providers/r2.js.map +1 -0
  144. package/dist/storage/providers/vana-storage.cjs +251 -0
  145. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  146. package/dist/storage/providers/vana-storage.d.ts +100 -0
  147. package/dist/storage/providers/vana-storage.js +231 -0
  148. package/dist/storage/providers/vana-storage.js.map +1 -0
  149. package/dist/types/config.cjs +0 -34
  150. package/dist/types/config.cjs.map +1 -1
  151. package/dist/types/config.d.ts +1 -607
  152. package/dist/types/config.js +0 -22
  153. package/dist/types/config.js.map +1 -1
  154. package/dist/types/contracts.cjs.map +1 -1
  155. package/dist/types/contracts.d.ts +1 -1
  156. package/dist/types/index.cjs +2 -33
  157. package/dist/types/index.cjs.map +1 -1
  158. package/dist/types/index.d.ts +2 -33
  159. package/dist/types/index.js +1 -35
  160. package/dist/types/index.js.map +1 -1
  161. package/dist/types/ps-errors.cjs +66 -0
  162. package/dist/types/ps-errors.cjs.map +1 -0
  163. package/dist/types/ps-errors.d.ts +25 -0
  164. package/dist/types/ps-errors.js +41 -0
  165. package/dist/types/ps-errors.js.map +1 -0
  166. package/dist/types.cjs.map +1 -1
  167. package/dist/types.d.ts +0 -29
  168. package/dist/types.js.map +1 -1
  169. package/package.json +7 -25
  170. package/dist/client/enhancedResponse.cjs +0 -164
  171. package/dist/client/enhancedResponse.cjs.map +0 -1
  172. package/dist/client/enhancedResponse.d.ts +0 -120
  173. package/dist/client/enhancedResponse.js +0 -138
  174. package/dist/client/enhancedResponse.js.map +0 -1
  175. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  176. package/dist/controllers/base.cjs +0 -116
  177. package/dist/controllers/base.cjs.map +0 -1
  178. package/dist/controllers/base.d.ts +0 -94
  179. package/dist/controllers/base.js +0 -92
  180. package/dist/controllers/base.js.map +0 -1
  181. package/dist/controllers/data.cjs +0 -2633
  182. package/dist/controllers/data.cjs.map +0 -1
  183. package/dist/controllers/data.d.ts +0 -1067
  184. package/dist/controllers/data.js +0 -2626
  185. package/dist/controllers/data.js.map +0 -1
  186. package/dist/controllers/operations.cjs +0 -430
  187. package/dist/controllers/operations.cjs.map +0 -1
  188. package/dist/controllers/operations.d.ts +0 -229
  189. package/dist/controllers/operations.js +0 -406
  190. package/dist/controllers/operations.js.map +0 -1
  191. package/dist/controllers/permissions.cjs +0 -4368
  192. package/dist/controllers/permissions.cjs.map +0 -1
  193. package/dist/controllers/permissions.d.ts +0 -1411
  194. package/dist/controllers/permissions.js +0 -4344
  195. package/dist/controllers/permissions.js.map +0 -1
  196. package/dist/controllers/protocol.cjs +0 -183
  197. package/dist/controllers/protocol.cjs.map +0 -1
  198. package/dist/controllers/protocol.d.ts +0 -138
  199. package/dist/controllers/protocol.js +0 -163
  200. package/dist/controllers/protocol.js.map +0 -1
  201. package/dist/controllers/schemas.cjs +0 -678
  202. package/dist/controllers/schemas.cjs.map +0 -1
  203. package/dist/controllers/schemas.d.ts +0 -293
  204. package/dist/controllers/schemas.js +0 -654
  205. package/dist/controllers/schemas.js.map +0 -1
  206. package/dist/controllers/server.cjs +0 -643
  207. package/dist/controllers/server.cjs.map +0 -1
  208. package/dist/controllers/server.d.ts +0 -322
  209. package/dist/controllers/server.js +0 -624
  210. package/dist/controllers/server.js.map +0 -1
  211. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  212. package/dist/core/apiClient.cjs +0 -378
  213. package/dist/core/apiClient.cjs.map +0 -1
  214. package/dist/core/apiClient.d.ts +0 -286
  215. package/dist/core/apiClient.js +0 -359
  216. package/dist/core/apiClient.js.map +0 -1
  217. package/dist/core/generics.cjs +0 -417
  218. package/dist/core/generics.cjs.map +0 -1
  219. package/dist/core/generics.d.ts +0 -205
  220. package/dist/core/generics.js +0 -386
  221. package/dist/core/generics.js.map +0 -1
  222. package/dist/core/health.cjs +0 -289
  223. package/dist/core/health.cjs.map +0 -1
  224. package/dist/core/health.d.ts +0 -143
  225. package/dist/core/health.js +0 -265
  226. package/dist/core/health.js.map +0 -1
  227. package/dist/core/inMemoryNonceManager.cjs +0 -138
  228. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  229. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  230. package/dist/core/inMemoryNonceManager.js +0 -114
  231. package/dist/core/inMemoryNonceManager.js.map +0 -1
  232. package/dist/core/nonceManager.cjs +0 -304
  233. package/dist/core/nonceManager.cjs.map +0 -1
  234. package/dist/core/nonceManager.d.ts +0 -116
  235. package/dist/core/nonceManager.js +0 -280
  236. package/dist/core/nonceManager.js.map +0 -1
  237. package/dist/core/pollingManager.cjs +0 -292
  238. package/dist/core/pollingManager.cjs.map +0 -1
  239. package/dist/core/pollingManager.d.ts +0 -120
  240. package/dist/core/pollingManager.js +0 -268
  241. package/dist/core/pollingManager.js.map +0 -1
  242. package/dist/core.cjs +0 -777
  243. package/dist/core.cjs.map +0 -1
  244. package/dist/core.d.ts +0 -493
  245. package/dist/core.js +0 -752
  246. package/dist/core.js.map +0 -1
  247. package/dist/diagnostics.cjs +0 -37
  248. package/dist/diagnostics.cjs.map +0 -1
  249. package/dist/diagnostics.d.ts +0 -24
  250. package/dist/diagnostics.js +0 -13
  251. package/dist/diagnostics.js.map +0 -1
  252. package/dist/diagnostics.test.d.ts +0 -1
  253. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  254. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  255. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  256. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  257. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  258. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  259. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  260. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  261. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  262. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  263. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  264. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  265. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  266. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  267. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  268. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  269. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  270. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  271. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  272. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  273. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  274. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  275. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  276. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  277. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  278. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  279. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  280. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  281. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  282. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  283. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  284. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  285. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  286. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  287. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  288. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  289. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  290. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  291. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  292. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  293. package/dist/generated/event-types.cjs +0 -17
  294. package/dist/generated/event-types.cjs.map +0 -1
  295. package/dist/generated/event-types.d.ts +0 -809
  296. package/dist/generated/event-types.js +0 -1
  297. package/dist/generated/event-types.js.map +0 -1
  298. package/dist/generated/eventRegistry.cjs +0 -4470
  299. package/dist/generated/eventRegistry.cjs.map +0 -1
  300. package/dist/generated/eventRegistry.d.ts +0 -14
  301. package/dist/generated/eventRegistry.js +0 -4445
  302. package/dist/generated/eventRegistry.js.map +0 -1
  303. package/dist/generated/server/server-exports.cjs +0 -45
  304. package/dist/generated/server/server-exports.cjs.map +0 -1
  305. package/dist/generated/server/server-exports.d.ts +0 -36
  306. package/dist/generated/server/server-exports.js +0 -19
  307. package/dist/generated/server/server-exports.js.map +0 -1
  308. package/dist/generated/server/server.cjs +0 -17
  309. package/dist/generated/server/server.cjs.map +0 -1
  310. package/dist/generated/server/server.d.ts +0 -907
  311. package/dist/generated/server/server.js +0 -1
  312. package/dist/generated/server/server.js.map +0 -1
  313. package/dist/generated/subgraph.cjs +0 -1440
  314. package/dist/generated/subgraph.cjs.map +0 -1
  315. package/dist/generated/subgraph.d.ts +0 -6113
  316. package/dist/generated/subgraph.js +0 -1404
  317. package/dist/generated/subgraph.js.map +0 -1
  318. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  319. package/dist/lib/redisAtomicStore.cjs +0 -201
  320. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  321. package/dist/lib/redisAtomicStore.d.ts +0 -120
  322. package/dist/lib/redisAtomicStore.js +0 -177
  323. package/dist/lib/redisAtomicStore.js.map +0 -1
  324. package/dist/server/relayerHandler.cjs +0 -452
  325. package/dist/server/relayerHandler.cjs.map +0 -1
  326. package/dist/server/relayerHandler.d.ts +0 -69
  327. package/dist/server/relayerHandler.js +0 -428
  328. package/dist/server/relayerHandler.js.map +0 -1
  329. package/dist/tests/abi.test.d.ts +0 -1
  330. package/dist/tests/chains-definitions.test.d.ts +0 -1
  331. package/dist/tests/core-encryption.test.d.ts +0 -1
  332. package/dist/tests/core-extended.test.d.ts +0 -1
  333. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  334. package/dist/tests/coverage-boost.test.d.ts +0 -1
  335. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  336. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  337. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  338. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  339. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  340. package/dist/tests/data-relayer.test.d.ts +0 -1
  341. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  342. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  343. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  344. package/dist/tests/data.test.d.ts +0 -1
  345. package/dist/tests/demo-integration.test.d.ts +0 -1
  346. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  347. package/dist/tests/download-relayer.test.d.ts +0 -1
  348. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  349. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  350. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  351. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  352. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  353. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  354. package/dist/tests/errors-coverage.test.d.ts +0 -1
  355. package/dist/tests/factories/mockFactory.d.ts +0 -316
  356. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  357. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  358. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  359. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  360. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  361. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  362. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  363. package/dist/tests/helper-methods.test.d.ts +0 -1
  364. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  365. package/dist/tests/index-browser.test.d.ts +0 -1
  366. package/dist/tests/index-node.test.d.ts +0 -1
  367. package/dist/tests/index.test.d.ts +0 -1
  368. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  369. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  370. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  371. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  372. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  373. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  374. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  375. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  376. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  377. package/dist/tests/permissions.test.d.ts +0 -1
  378. package/dist/tests/personal.test.d.ts +0 -1
  379. package/dist/tests/platform-browser.test.d.ts +0 -1
  380. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  381. package/dist/tests/platform-crypto.test.d.ts +0 -1
  382. package/dist/tests/platform-index.test.d.ts +0 -1
  383. package/dist/tests/platform-node.test.d.ts +0 -1
  384. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  385. package/dist/tests/platform-updated.test.d.ts +0 -1
  386. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  387. package/dist/tests/protocol.test.d.ts +0 -1
  388. package/dist/tests/read-only-mode.test.d.ts +0 -1
  389. package/dist/tests/relayer-integration.test.d.ts +0 -1
  390. package/dist/tests/relayer-unified.test.d.ts +0 -1
  391. package/dist/tests/schemas.test.d.ts +0 -1
  392. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  393. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  394. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  395. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  396. package/dist/tests/types-contracts.test.d.ts +0 -1
  397. package/dist/tests/types-data.test.d.ts +0 -1
  398. package/dist/tests/types-external-apis.test.d.ts +0 -1
  399. package/dist/tests/types-generics.test.d.ts +0 -1
  400. package/dist/tests/types-permissions.test.d.ts +0 -1
  401. package/dist/tests/types-upload-params.test.d.ts +0 -1
  402. package/dist/tests/types.test.d.ts +0 -1
  403. package/dist/tests/utils-formatters.test.d.ts +0 -1
  404. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  405. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  406. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  407. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  408. package/dist/tests/utils-grants.test.d.ts +0 -1
  409. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  410. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  411. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  412. package/dist/tests/vana.test.d.ts +0 -1
  413. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  414. package/dist/types/atomicStore.cjs.map +0 -1
  415. package/dist/types/atomicStore.d.ts +0 -236
  416. package/dist/types/atomicStore.js +0 -7
  417. package/dist/types/atomicStore.js.map +0 -1
  418. package/dist/types/blockchain.cjs +0 -17
  419. package/dist/types/blockchain.cjs.map +0 -1
  420. package/dist/types/blockchain.d.ts +0 -85
  421. package/dist/types/blockchain.js +0 -1
  422. package/dist/types/blockchain.js.map +0 -1
  423. package/dist/types/controller-context.cjs +0 -17
  424. package/dist/types/controller-context.cjs.map +0 -1
  425. package/dist/types/controller-context.d.ts +0 -68
  426. package/dist/types/controller-context.js +0 -1
  427. package/dist/types/controller-context.js.map +0 -1
  428. package/dist/types/data.cjs +0 -17
  429. package/dist/types/data.cjs.map +0 -1
  430. package/dist/types/data.d.ts +0 -763
  431. package/dist/types/data.js +0 -1
  432. package/dist/types/data.js.map +0 -1
  433. package/dist/types/external-apis.cjs +0 -61
  434. package/dist/types/external-apis.cjs.map +0 -1
  435. package/dist/types/external-apis.d.ts +0 -184
  436. package/dist/types/external-apis.js +0 -34
  437. package/dist/types/external-apis.js.map +0 -1
  438. package/dist/types/generics.cjs +0 -17
  439. package/dist/types/generics.cjs.map +0 -1
  440. package/dist/types/generics.d.ts +0 -518
  441. package/dist/types/generics.js +0 -1
  442. package/dist/types/generics.js.map +0 -1
  443. package/dist/types/operationStore.cjs +0 -17
  444. package/dist/types/operationStore.cjs.map +0 -1
  445. package/dist/types/operationStore.d.ts +0 -171
  446. package/dist/types/operationStore.js +0 -1
  447. package/dist/types/operationStore.js.map +0 -1
  448. package/dist/types/operations.cjs +0 -53
  449. package/dist/types/operations.cjs.map +0 -1
  450. package/dist/types/operations.d.ts +0 -204
  451. package/dist/types/operations.js +0 -26
  452. package/dist/types/operations.js.map +0 -1
  453. package/dist/types/options.cjs +0 -17
  454. package/dist/types/options.cjs.map +0 -1
  455. package/dist/types/options.d.ts +0 -308
  456. package/dist/types/options.js +0 -1
  457. package/dist/types/options.js.map +0 -1
  458. package/dist/types/permissions.cjs +0 -17
  459. package/dist/types/permissions.cjs.map +0 -1
  460. package/dist/types/permissions.d.ts +0 -955
  461. package/dist/types/permissions.js +0 -1
  462. package/dist/types/permissions.js.map +0 -1
  463. package/dist/types/personal.cjs +0 -17
  464. package/dist/types/personal.cjs.map +0 -1
  465. package/dist/types/personal.d.ts +0 -174
  466. package/dist/types/personal.js +0 -1
  467. package/dist/types/personal.js.map +0 -1
  468. package/dist/types/relayer.cjs +0 -17
  469. package/dist/types/relayer.cjs.map +0 -1
  470. package/dist/types/relayer.d.ts +0 -552
  471. package/dist/types/relayer.js +0 -1
  472. package/dist/types/relayer.js.map +0 -1
  473. package/dist/types/transactionResults.cjs +0 -17
  474. package/dist/types/transactionResults.cjs.map +0 -1
  475. package/dist/types/transactionResults.d.ts +0 -193
  476. package/dist/types/transactionResults.js +0 -1
  477. package/dist/types/transactionResults.js.map +0 -1
  478. package/dist/types/utils.cjs +0 -17
  479. package/dist/types/utils.cjs.map +0 -1
  480. package/dist/types/utils.d.ts +0 -771
  481. package/dist/types/utils.js +0 -1
  482. package/dist/types/utils.js.map +0 -1
  483. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  484. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  485. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  486. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  487. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  488. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  489. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  490. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  491. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  492. package/dist/utils/blockchain/registry.cjs +0 -81
  493. package/dist/utils/blockchain/registry.cjs.map +0 -1
  494. package/dist/utils/blockchain/registry.d.ts +0 -32
  495. package/dist/utils/blockchain/registry.js +0 -56
  496. package/dist/utils/blockchain/registry.js.map +0 -1
  497. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  498. package/dist/utils/chainQuery.cjs +0 -107
  499. package/dist/utils/chainQuery.cjs.map +0 -1
  500. package/dist/utils/chainQuery.d.ts +0 -31
  501. package/dist/utils/chainQuery.js +0 -82
  502. package/dist/utils/chainQuery.js.map +0 -1
  503. package/dist/utils/download.cjs +0 -69
  504. package/dist/utils/download.cjs.map +0 -1
  505. package/dist/utils/download.d.ts +0 -40
  506. package/dist/utils/download.js +0 -45
  507. package/dist/utils/download.js.map +0 -1
  508. package/dist/utils/encryption.cjs +0 -176
  509. package/dist/utils/encryption.cjs.map +0 -1
  510. package/dist/utils/encryption.d.ts +0 -271
  511. package/dist/utils/encryption.js +0 -142
  512. package/dist/utils/encryption.js.map +0 -1
  513. package/dist/utils/formatters.cjs +0 -55
  514. package/dist/utils/formatters.cjs.map +0 -1
  515. package/dist/utils/formatters.d.ts +0 -118
  516. package/dist/utils/formatters.js +0 -28
  517. package/dist/utils/formatters.js.map +0 -1
  518. package/dist/utils/grantFiles.cjs +0 -181
  519. package/dist/utils/grantFiles.cjs.map +0 -1
  520. package/dist/utils/grantFiles.d.ts +0 -172
  521. package/dist/utils/grantFiles.js +0 -143
  522. package/dist/utils/grantFiles.js.map +0 -1
  523. package/dist/utils/grantValidation.cjs +0 -243
  524. package/dist/utils/grantValidation.cjs.map +0 -1
  525. package/dist/utils/grantValidation.d.ts +0 -226
  526. package/dist/utils/grantValidation.js +0 -201
  527. package/dist/utils/grantValidation.js.map +0 -1
  528. package/dist/utils/grants.cjs +0 -108
  529. package/dist/utils/grants.cjs.map +0 -1
  530. package/dist/utils/grants.d.ts +0 -148
  531. package/dist/utils/grants.js +0 -82
  532. package/dist/utils/grants.js.map +0 -1
  533. package/dist/utils/ipfs.cjs +0 -128
  534. package/dist/utils/ipfs.cjs.map +0 -1
  535. package/dist/utils/ipfs.d.ts +0 -88
  536. package/dist/utils/ipfs.js +0 -97
  537. package/dist/utils/ipfs.js.map +0 -1
  538. package/dist/utils/multicall.cjs +0 -233
  539. package/dist/utils/multicall.cjs.map +0 -1
  540. package/dist/utils/multicall.d.ts +0 -126
  541. package/dist/utils/multicall.js +0 -208
  542. package/dist/utils/multicall.js.map +0 -1
  543. package/dist/utils/parseTransactionPojo.cjs +0 -87
  544. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  545. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  546. package/dist/utils/parseTransactionPojo.js +0 -63
  547. package/dist/utils/parseTransactionPojo.js.map +0 -1
  548. package/dist/utils/schemaValidation.cjs +0 -258
  549. package/dist/utils/schemaValidation.cjs.map +0 -1
  550. package/dist/utils/schemaValidation.d.ts +0 -168
  551. package/dist/utils/schemaValidation.js +0 -219
  552. package/dist/utils/schemaValidation.js.map +0 -1
  553. package/dist/utils/signatureCache.cjs +0 -192
  554. package/dist/utils/signatureCache.cjs.map +0 -1
  555. package/dist/utils/signatureCache.d.ts +0 -172
  556. package/dist/utils/signatureCache.js +0 -167
  557. package/dist/utils/signatureCache.js.map +0 -1
  558. package/dist/utils/signatureFormatter.cjs +0 -42
  559. package/dist/utils/signatureFormatter.cjs.map +0 -1
  560. package/dist/utils/signatureFormatter.d.ts +0 -36
  561. package/dist/utils/signatureFormatter.js +0 -18
  562. package/dist/utils/signatureFormatter.js.map +0 -1
  563. package/dist/utils/subgraphConsistency.cjs +0 -184
  564. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  565. package/dist/utils/subgraphConsistency.d.ts +0 -65
  566. package/dist/utils/subgraphConsistency.js +0 -155
  567. package/dist/utils/subgraphConsistency.js.map +0 -1
  568. package/dist/utils/subgraphMetaCache.cjs +0 -101
  569. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  570. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  571. package/dist/utils/subgraphMetaCache.js +0 -76
  572. package/dist/utils/subgraphMetaCache.js.map +0 -1
  573. package/dist/utils/subgraphPagination.cjs +0 -104
  574. package/dist/utils/subgraphPagination.cjs.map +0 -1
  575. package/dist/utils/subgraphPagination.d.ts +0 -78
  576. package/dist/utils/subgraphPagination.js +0 -78
  577. package/dist/utils/subgraphPagination.js.map +0 -1
  578. package/dist/utils/tests/multicall.test.d.ts +0 -1
  579. package/dist/utils/transactionHelpers.cjs +0 -54
  580. package/dist/utils/transactionHelpers.cjs.map +0 -1
  581. package/dist/utils/transactionHelpers.d.ts +0 -80
  582. package/dist/utils/transactionHelpers.js +0 -29
  583. package/dist/utils/transactionHelpers.js.map +0 -1
  584. package/dist/utils/typeGuards.cjs +0 -109
  585. package/dist/utils/typeGuards.cjs.map +0 -1
  586. package/dist/utils/typeGuards.d.ts +0 -138
  587. package/dist/utils/typeGuards.js +0 -74
  588. package/dist/utils/typeGuards.js.map +0 -1
  589. package/dist/utils/typedDataConverter.cjs +0 -43
  590. package/dist/utils/typedDataConverter.cjs.map +0 -1
  591. package/dist/utils/typedDataConverter.d.ts +0 -46
  592. package/dist/utils/typedDataConverter.js +0 -19
  593. package/dist/utils/typedDataConverter.js.map +0 -1
  594. package/dist/utils/urlResolver.cjs +0 -62
  595. package/dist/utils/urlResolver.cjs.map +0 -1
  596. package/dist/utils/urlResolver.d.ts +0 -56
  597. package/dist/utils/urlResolver.js +0 -37
  598. package/dist/utils/urlResolver.js.map +0 -1
  599. package/dist/utils/wallet.cjs +0 -63
  600. package/dist/utils/wallet.cjs.map +0 -1
  601. package/dist/utils/wallet.d.ts +0 -94
  602. package/dist/utils/wallet.js +0 -37
  603. package/dist/utils/wallet.js.map +0 -1
  604. package/dist/utils/withEvents.cjs +0 -44
  605. package/dist/utils/withEvents.cjs.map +0 -1
  606. package/dist/utils/withEvents.d.ts +0 -56
  607. package/dist/utils/withEvents.js +0 -18
  608. package/dist/utils/withEvents.js.map +0 -1
  609. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  610. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  611. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  612. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  613. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  614. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  615. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  616. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  617. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  618. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  619. /package/dist/{core/core.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  620. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  621. /package/dist/{core/tests/client.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  622. /package/dist/{core/tests/generics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
@@ -1,149 +1,15 @@
1
- import type { WalletClient, PublicClient, Account, Address, Chain } from "viem";
2
- import type { VanaChainId, VanaChain } from "./chains";
3
- import type { StorageProvider, StorageUploadResult, StorageListOptions } from "./storage";
4
- import type { RelayerConfig } from "./relayer";
5
- import type { IOperationStore, IRelayerStateStore } from "./operationStore";
6
- /**
7
- * Marker interface to indicate that a Vana instance has storage configured.
8
- * Used for compile-time type safety to ensure storage-dependent methods
9
- * are only called on properly configured instances.
10
- *
11
- * @category Configuration
12
- */
13
- export interface StorageRequiredMarker {
14
- readonly __storageRequired: true;
15
- }
16
- /**
17
- * Configures storage providers for SDK file operations.
18
- *
19
- * @remarks
20
- * Supports multiple backends with automatic fallback.
21
- * IPFS for decentralization, Pinata for reliability,
22
- * Google Drive for development, custom for flexibility.
23
- *
24
- * **Provider Selection:**
25
- * - IPFS: Decentralized, permanent storage ideal for production
26
- * - Pinata: Managed IPFS with guaranteed availability
27
- * - Google Drive: Centralized, suitable for development/testing
28
- * - Custom providers: Implement StorageProvider interface
29
- *
30
- * @category Configuration
31
- * @example
32
- * ```typescript
33
- * const storage: StorageConfig = {
34
- * providers: {
35
- * ipfs: new IPFSStorage({ gateway: 'https://gateway.pinata.cloud' }),
36
- * pinata: new PinataStorage({ apiKey: 'key', secretKey: 'secret' })
37
- * },
38
- * defaultProvider: 'ipfs'
39
- * };
40
- * ```
41
- */
42
- export interface StorageConfig {
43
- /**
44
- * Map of provider name to storage provider instance.
45
- * Common provider names: "ipfs", "pinata", "googledrive", "s3".
46
- * Custom names allowed for custom provider implementations.
47
- */
48
- providers: Record<string, StorageProvider>;
49
- /**
50
- * Default provider name to use when none specified.
51
- * Must match a key in the providers map. Falls back to first provider if not specified.
52
- */
53
- defaultProvider?: string;
54
- }
55
- /**
56
- * Download relayer callbacks for proxying CORS-restricted downloads.
57
- *
58
- * Provides a callback to proxy download requests through your application server
59
- * when direct browser access fails due to CORS restrictions (e.g., Google Drive).
60
- *
61
- * IMPORTANT SECURITY REQUIREMENTS for your proxy endpoint:
62
- * 1. MUST block requests to private/internal IPs (SSRF protection)
63
- * 2. SHOULD NOT restrict domains (files can be hosted anywhere)
64
- *
65
- * @category Configuration
66
- * @example Client-side implementation:
67
- * ```typescript
68
- * const downloadRelayer: DownloadRelayerCallbacks = {
69
- * async proxyDownload(url) {
70
- * const response = await fetch('/api/proxy', {
71
- * method: 'POST',
72
- * headers: { 'Content-Type': 'application/json' },
73
- * body: JSON.stringify({ url })
74
- * });
75
- * return response.blob();
76
- * }
77
- * };
78
- * ```
79
- *
80
- * @example Server-side proxy endpoint (Next.js):
81
- * ```typescript
82
- * // /api/proxy/route.ts
83
- * import { promises as dns } from 'dns';
84
- * import { isIPv4 } from 'net';
85
- *
86
- * async function handleProxy(url: string) {
87
- * const { hostname } = new URL(url);
88
- *
89
- * // Resolve hostname to IP (handle localhost specially)
90
- * const ip = hostname === 'localhost' ? '127.0.0.1' :
91
- * isIPv4(hostname) ? hostname :
92
- * await dns.lookup(hostname).then(r => r.address);
93
- *
94
- * // SSRF Protection: Block private/internal IPs
95
- * if (isIPv4(ip)) {
96
- * const [a, b] = ip.split('.').map(Number);
97
- * if (a === 10 || a === 127 || a === 0 ||
98
- * (a === 172 && b >= 16 && b <= 31) ||
99
- * (a === 192 && b === 168) ||
100
- * (a === 169 && b === 254) ||
101
- * a >= 224) { // Also block multicast/reserved
102
- * return new Response('Private/internal addresses not allowed', { status: 403 });
103
- * }
104
- * }
105
- *
106
- * // Proxy the request
107
- * const response = await fetch(url, { redirect: 'manual' });
108
- *
109
- * // Handle redirects (with recursion limit)
110
- * if (response.status >= 301 && response.status <= 308) {
111
- * const location = response.headers.get('location');
112
- * if (location) return handleProxy(new URL(location, url).href);
113
- * }
114
- *
115
- * const data = await response.arrayBuffer();
116
- * return new Response(data, {
117
- * headers: {
118
- * 'Content-Type': response.headers.get('content-type') || 'application/octet-stream',
119
- * 'Access-Control-Allow-Origin': '*'
120
- * }
121
- * });
122
- * }
123
- * ```
124
- */
125
- export interface DownloadRelayerCallbacks {
126
- /**
127
- * Proxy a download request through your application server
128
- *
129
- * @param url - The URL to download from
130
- * @returns Promise resolving to the downloaded content as a Blob
131
- */
132
- proxyDownload: (url: string) => Promise<Blob>;
133
- }
1
+ import type { StorageUploadResult, StorageListOptions } from "./storage";
134
2
  /**
135
3
  * Storage callback functions for flexible storage operations.
136
4
  *
137
5
  * Instead of hardcoding storage behavior (HTTP endpoints, etc.), users can provide
138
6
  * custom callback functions to handle storage operations in any way they choose.
139
- * This pattern matches the relayer callbacks approach, providing maximum flexibility.
140
7
  *
141
8
  * @category Configuration
142
9
  * @example
143
10
  * ```typescript
144
11
  * const storageCallbacks: StorageCallbacks = {
145
12
  * async upload(blob, filename, metadata) {
146
- * // Custom implementation - could be HTTP, S3, local filesystem, etc.
147
13
  * const formData = new FormData();
148
14
  * formData.append('file', blob, filename);
149
15
  * const response = await fetch('/api/storage/upload', {
@@ -246,475 +112,3 @@ export interface StorageListResult {
246
112
  /** Whether more results are available */
247
113
  hasMore?: boolean;
248
114
  }
249
- /**
250
- * Base configuration interface without storage requirements
251
- *
252
- * @category Configuration
253
- */
254
- export interface BaseConfig {
255
- /**
256
- * Optional relayer configuration for handling gasless transactions.
257
- * Can be a URL string for convenience, or a callback for full control.
258
- *
259
- * @example
260
- * ```typescript
261
- * // Simple URL (SDK handles transport)
262
- * relayer: '/api/relay'
263
- *
264
- * // Full control with callback
265
- * relayer: async (request) => {
266
- * const response = await fetch('/api/relay', {
267
- * method: 'POST',
268
- * body: JSON.stringify(request)
269
- * });
270
- * return response.json();
271
- * }
272
- * ```
273
- */
274
- relayer?: RelayerConfig;
275
- /**
276
- * Optional download relayer for proxying CORS-restricted downloads.
277
- * Provides a proxy mechanism for files stored on servers with CORS restrictions.
278
- */
279
- downloadRelayer?: DownloadRelayerCallbacks;
280
- /**
281
- * Optional storage providers configuration for file upload/download.
282
- * Required for: upload(), grant() without pre-stored URLs, schema operations.
283
- * See StorageConfig for provider selection guidance.
284
- */
285
- storage?: StorageConfig;
286
- /**
287
- * Optional subgraph URL for querying user files and permissions.
288
- * If not provided, defaults to the built-in subgraph URL for the current chain.
289
- * Can be overridden per method call if needed.
290
- * Obtain chain-specific URLs from Vana documentation or deployment info.
291
- */
292
- subgraphUrl?: string;
293
- /**
294
- * Optional default IPFS gateways to use for fetching files.
295
- * These gateways will be used by default in fetchFromIPFS unless overridden per-call.
296
- * If not provided, the SDK will use public gateways.
297
- * Order matters: first successful gateway is used.
298
- *
299
- * @example ['https://gateway.pinata.cloud', 'https://ipfs.io']
300
- */
301
- ipfsGateways?: string[];
302
- /**
303
- * Default personal server base URL for server operations.
304
- * Required for ServerController methods like getIdentity(), createOperation(), etc.
305
- *
306
- * @example 'https://my-personal-server.example.com'
307
- */
308
- defaultPersonalServerUrl?: string;
309
- /**
310
- * Optional operation store for tracking async relayed transactions.
311
- * When provided with a relayer, enables resilient transaction management
312
- * with polling support for pending operations.
313
- *
314
- * @example
315
- * ```typescript
316
- * const vana = createVana({
317
- * walletClient,
318
- * relayer: '/api/relay',
319
- * operationStore: myOperationStore
320
- * });
321
- * ```
322
- */
323
- operationStore?: IOperationStore | IRelayerStateStore;
324
- }
325
- /**
326
- * Base configuration interface that requires storage for storage-dependent operations
327
- *
328
- * @category Configuration
329
- */
330
- export interface BaseConfigWithStorage {
331
- /**
332
- * Optional relayer configuration for handling gasless transactions.
333
- * Can be a URL string for convenience, or a callback for full control.
334
- *
335
- * @example
336
- * ```typescript
337
- * // Simple URL (SDK handles transport)
338
- * relayer: '/api/relay'
339
- *
340
- * // Full control with callback
341
- * relayer: async (request) => {
342
- * const response = await fetch('/api/relay', {
343
- * method: 'POST',
344
- * body: JSON.stringify(request)
345
- * });
346
- * return response.json();
347
- * }
348
- * ```
349
- */
350
- relayer?: RelayerConfig;
351
- /**
352
- * Optional download relayer for proxying CORS-restricted downloads.
353
- * Provides a proxy mechanism for files stored on servers with CORS restrictions.
354
- */
355
- downloadRelayer?: DownloadRelayerCallbacks;
356
- /** Required storage providers configuration for file upload/download */
357
- storage: StorageConfig;
358
- /**
359
- * Optional subgraph URL for querying user files and permissions.
360
- * If not provided, defaults to the built-in subgraph URL for the current chain.
361
- * Can be overridden per method call if needed.
362
- */
363
- subgraphUrl?: string;
364
- /**
365
- * Optional default IPFS gateways to use for fetching files.
366
- * These gateways will be used by default in fetchFromIPFS unless overridden per-call.
367
- * If not provided, the SDK will use public gateways.
368
- *
369
- * @example ['https://gateway.pinata.cloud', 'https://ipfs.io']
370
- */
371
- ipfsGateways?: string[];
372
- /**
373
- * Default personal server base URL for server operations.
374
- * Required for ServerController methods like getIdentity(), createOperation(), etc.
375
- *
376
- * @example 'https://my-personal-server.example.com'
377
- */
378
- defaultPersonalServerUrl?: string;
379
- /**
380
- * Optional operation store for tracking async relayed transactions.
381
- * When provided with a relayer, enables resilient transaction management
382
- * with polling support for pending operations.
383
- */
384
- operationStore?: IOperationStore | IRelayerStateStore;
385
- }
386
- /**
387
- * Configuration with wallet client
388
- *
389
- * @category Configuration
390
- */
391
- export interface WalletConfig extends BaseConfig {
392
- /** The viem WalletClient instance used for signing transactions */
393
- walletClient: WalletClient & {
394
- chain: VanaChain;
395
- };
396
- }
397
- /**
398
- * Configuration with wallet client that requires storage
399
- *
400
- * @category Configuration
401
- */
402
- export interface WalletConfigWithStorage extends BaseConfigWithStorage {
403
- /** The viem WalletClient instance used for signing transactions */
404
- walletClient: WalletClient & {
405
- chain: VanaChain;
406
- };
407
- }
408
- /**
409
- * Configuration with chain and account details
410
- *
411
- * @category Configuration
412
- */
413
- export interface ChainConfig extends BaseConfig {
414
- /**
415
- * The chain ID for Vana network.
416
- * Supported: 14800 (Vana Mainnet), 14801 (Moksha Testnet), 31337 (Local Development).
417
- * Use chain constants from '@vana/sdk' for type safety.
418
- */
419
- chainId: VanaChainId;
420
- /**
421
- * RPC URL for the chain (optional, will use default for the chain if not provided).
422
- * Default URLs: mainnet (https://rpc.vana.org), testnet (https://rpc.moksha.vana.org).
423
- * Override for custom nodes or local development.
424
- */
425
- rpcUrl?: string;
426
- /**
427
- * Optional account for signing transactions.
428
- * Can be: privateKeyToAccount(), mnemonicToAccount(), or custom Account implementation.
429
- * Required for write operations; read-only operations work without account.
430
- */
431
- account?: Account;
432
- }
433
- /**
434
- * Configuration with chain and account details that requires storage
435
- *
436
- * @category Configuration
437
- */
438
- export interface ChainConfigWithStorage extends BaseConfigWithStorage {
439
- /** The chain ID for Vana network */
440
- chainId: VanaChainId;
441
- /** RPC URL for the chain (optional, will use default for the chain if not provided) */
442
- rpcUrl?: string;
443
- /** Optional account for signing transactions */
444
- account?: Account;
445
- }
446
- /**
447
- * Configuration with wallet client and optional public client
448
- *
449
- * @category Configuration
450
- */
451
- export interface VanaConfigWithWallet extends BaseConfig {
452
- /** The viem WalletClient instance used for signing transactions */
453
- walletClient: WalletClient;
454
- /** Optional PublicClient for read operations (derived from wallet if not provided) */
455
- publicClient?: PublicClient;
456
- }
457
- /**
458
- * Configuration for read-only operations with public client and address
459
- *
460
- * @category Configuration
461
- */
462
- export interface VanaConfigReadOnly extends BaseConfig {
463
- /** The viem PublicClient instance for read operations */
464
- publicClient: PublicClient;
465
- /** The user's address for read operations */
466
- address: Address;
467
- }
468
- /**
469
- * Configuration for minimal read-only operations with just an address
470
- *
471
- * @category Configuration
472
- */
473
- export interface VanaConfigAddressOnly extends BaseConfig {
474
- /** The user's address for read operations */
475
- address: Address;
476
- /** Optional chain configuration (will use default if not provided) */
477
- chain?: Chain;
478
- }
479
- /**
480
- * Configuration with wallet client and optional public client that requires storage
481
- *
482
- * @category Configuration
483
- */
484
- export interface VanaConfigWithWalletWithStorage extends BaseConfigWithStorage {
485
- /** The viem WalletClient instance used for signing transactions */
486
- walletClient: WalletClient;
487
- /** Optional PublicClient for read operations (derived from wallet if not provided) */
488
- publicClient?: PublicClient;
489
- }
490
- /**
491
- * Configuration for read-only operations with public client and address that requires storage
492
- *
493
- * @category Configuration
494
- */
495
- export interface VanaConfigReadOnlyWithStorage extends BaseConfigWithStorage {
496
- /** The viem PublicClient instance for read operations */
497
- publicClient: PublicClient;
498
- /** The user's address for read operations */
499
- address: Address;
500
- }
501
- /**
502
- * Configuration for minimal read-only operations with just an address that requires storage
503
- *
504
- * @category Configuration
505
- */
506
- export interface VanaConfigAddressOnlyWithStorage extends BaseConfigWithStorage {
507
- /** The user's address for read operations */
508
- address: Address;
509
- /** Optional chain configuration (will use default if not provided) */
510
- chain?: Chain;
511
- }
512
- /**
513
- * Main configuration interface for initializing the Vana SDK.
514
- *
515
- * The SDK supports three initialization modes:
516
- * 1. Full mode with wallet client for signing transactions
517
- * 2. Read-only mode with public client and address for read operations
518
- * 3. Minimal mode with just an address and optional chain
519
- *
520
- * @category Configuration
521
- * @example
522
- * ```typescript
523
- * // Mode 1: Full configuration with wallet client
524
- * const configWithWallet: VanaConfig = {
525
- * walletClient: createWalletClient({
526
- * account: privateKeyToAccount('0x...'),
527
- * chain: moksha,
528
- * transport: http()
529
- * }),
530
- * publicClient: createPublicClient({
531
- * chain: moksha,
532
- * transport: http()
533
- * })
534
- * };
535
- *
536
- * // Mode 2: Read-only with public client and address
537
- * const configReadOnly: VanaConfig = {
538
- * publicClient: createPublicClient({
539
- * chain: moksha,
540
- * transport: http()
541
- * }),
542
- * address: '0x1234...'
543
- * };
544
- *
545
- * // Mode 3: Minimal with just address
546
- * const configMinimal: VanaConfig = {
547
- * address: '0x1234...',
548
- * chain: moksha // optional
549
- * };
550
- * ```
551
- */
552
- export type VanaConfig = VanaConfigWithWallet | VanaConfigReadOnly | VanaConfigAddressOnly | WalletConfig | ChainConfig;
553
- /**
554
- * Configuration interface for Vana SDK that requires storage providers.
555
- *
556
- * Use this type when you need to ensure storage is configured for operations
557
- * like file uploads, permission grants without pre-stored URLs, or schema creation.
558
- * Supports all three initialization modes with required storage.
559
- *
560
- * @category Configuration
561
- * @example
562
- * ```typescript
563
- * // Full configuration with wallet client and storage
564
- * const configWithWallet: VanaConfigWithStorage = {
565
- * walletClient: createWalletClient({
566
- * account: privateKeyToAccount('0x...'),
567
- * chain: moksha,
568
- * transport: http()
569
- * }),
570
- * storage: {
571
- * providers: {
572
- * ipfs: new IPFSStorage({ gateway: 'https://gateway.pinata.cloud' })
573
- * },
574
- * defaultProvider: 'ipfs'
575
- * }
576
- * };
577
- *
578
- * // Read-only configuration with storage
579
- * const configReadOnly: VanaConfigWithStorage = {
580
- * publicClient: createPublicClient({
581
- * chain: moksha,
582
- * transport: http()
583
- * }),
584
- * address: '0x1234...',
585
- * storage: {
586
- * providers: {
587
- * ipfs: new IPFSStorage({ gateway: 'https://gateway.pinata.cloud' })
588
- * },
589
- * defaultProvider: 'ipfs'
590
- * }
591
- * };
592
- * ```
593
- */
594
- export type VanaConfigWithStorage = VanaConfigWithWalletWithStorage | VanaConfigReadOnlyWithStorage | VanaConfigAddressOnlyWithStorage | WalletConfigWithStorage | ChainConfigWithStorage;
595
- /**
596
- * Runtime configuration information
597
- *
598
- * @category Configuration
599
- */
600
- export interface RuntimeConfig {
601
- /** Current chain ID */
602
- chainId: VanaChainId;
603
- /** Current chain name */
604
- chainName: string;
605
- /** Available storage providers */
606
- storageProviders: string[];
607
- /** Default storage provider */
608
- defaultStorageProvider?: string;
609
- /** Current relayer configuration */
610
- relayerConfig?: RelayerConfig;
611
- }
612
- /**
613
- * Validates whether a configuration object has a wallet client (any wallet-based config).
614
- *
615
- * @param config - The configuration object to check
616
- * @returns True if the config contains a walletClient
617
- * @example
618
- * ```typescript
619
- * if (isWalletConfig(config)) {
620
- * console.log('Using wallet client:', config.walletClient.account?.address);
621
- * } else {
622
- * console.log('Read-only or chain config');
623
- * }
624
- * ```
625
- */
626
- export declare function isWalletConfig(config: VanaConfig): config is VanaConfigWithWallet | WalletConfig;
627
- /**
628
- * Validates whether a configuration object is a read-only config with public client.
629
- *
630
- * @param config - The configuration object to check
631
- * @returns True if the config has publicClient and address but no walletClient
632
- * @example
633
- * ```typescript
634
- * if (isReadOnlyConfig(config)) {
635
- * console.log('Read-only mode with address:', config.address);
636
- * }
637
- * ```
638
- */
639
- export declare function isReadOnlyConfig(config: VanaConfig): config is VanaConfigReadOnly;
640
- /**
641
- * Validates whether a configuration object is an address-only config.
642
- *
643
- * @param config - The configuration object to check
644
- * @returns True if the config has only address (and optionally chain) but no clients
645
- * @example
646
- * ```typescript
647
- * if (isAddressOnlyConfig(config)) {
648
- * console.log('Address-only mode:', config.address);
649
- * }
650
- * ```
651
- */
652
- export declare function isAddressOnlyConfig(config: VanaConfig): config is VanaConfigAddressOnly;
653
- /**
654
- * Validates whether a configuration object is a ChainConfig.
655
- *
656
- * @param config - The configuration object to check
657
- * @returns True if the config is a ChainConfig (contains chainId but not walletClient)
658
- * @example
659
- * ```typescript
660
- * if (isChainConfig(config)) {
661
- * console.log('Chain ID:', config.chainId);
662
- * console.log('RPC URL:', config.rpcUrl);
663
- * } else {
664
- * console.log('Using pre-configured wallet client');
665
- * }
666
- * ```
667
- */
668
- export declare function isChainConfig(config: VanaConfig): config is ChainConfig;
669
- /**
670
- * Validates whether a configuration has required storage providers.
671
- *
672
- * @param config - The configuration object to check
673
- * @returns True if the config has storage providers configured
674
- * @example
675
- * ```typescript
676
- * if (hasStorageConfig(config)) {
677
- * // Safe to use storage-dependent operations
678
- * await vana.data.uploadFile(file);
679
- * } else {
680
- * console.log('Storage not configured - some operations may fail');
681
- * }
682
- * ```
683
- */
684
- export declare function hasStorageConfig(config: VanaConfig): config is VanaConfigWithStorage;
685
- /**
686
- * Configuration validation options
687
- *
688
- * @category Configuration
689
- */
690
- export interface ConfigValidationOptions {
691
- /** Whether to validate storage providers */
692
- validateStorage?: boolean;
693
- /** Whether to validate relayer URL */
694
- validateRelayer?: boolean;
695
- /** Whether to validate chain configuration */
696
- validateChain?: boolean;
697
- }
698
- /**
699
- * Configuration validation result
700
- *
701
- * @category Configuration
702
- */
703
- export interface ConfigValidationResult {
704
- /** Whether the configuration is valid */
705
- valid: boolean;
706
- /** List of validation errors */
707
- errors: string[];
708
- /** List of validation warnings */
709
- warnings: string[];
710
- }
711
- /**
712
- * Marker interface to enforce the presence of operationStore at compile time.
713
- * This interface is used to ensure that certain operations requiring a relayer
714
- * can only be called when the SDK has been properly configured with an operation store.
715
- *
716
- * @category Configuration
717
- */
718
- export interface RelayerRequiredMarker {
719
- readonly __relayerConfigured: true;
720
- }
@@ -1,23 +1 @@
1
- function isWalletConfig(config) {
2
- return "walletClient" in config;
3
- }
4
- function isReadOnlyConfig(config) {
5
- return "publicClient" in config && "address" in config && !("walletClient" in config);
6
- }
7
- function isAddressOnlyConfig(config) {
8
- return "address" in config && !("publicClient" in config) && !("walletClient" in config) && !("chainId" in config);
9
- }
10
- function isChainConfig(config) {
11
- return "chainId" in config && !("walletClient" in config);
12
- }
13
- function hasStorageConfig(config) {
14
- return config.storage?.providers !== void 0 && Object.keys(config.storage.providers).length > 0;
15
- }
16
- export {
17
- hasStorageConfig,
18
- isAddressOnlyConfig,
19
- isChainConfig,
20
- isReadOnlyConfig,
21
- isWalletConfig
22
- };
23
1
  //# sourceMappingURL=config.js.map