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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (631) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +150 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +129 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/ecies/node.cjs +6 -6
  48. package/dist/crypto/ecies/node.cjs.map +1 -1
  49. package/dist/crypto/ecies/node.js +1 -1
  50. package/dist/crypto/ecies/node.js.map +1 -1
  51. package/dist/crypto/envelope/openpgp.cjs +59 -0
  52. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  53. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  54. package/dist/crypto/envelope/openpgp.js +24 -0
  55. package/dist/crypto/envelope/openpgp.js.map +1 -0
  56. package/dist/crypto/keys/derive.cjs +65 -0
  57. package/dist/crypto/keys/derive.cjs.map +1 -0
  58. package/dist/crypto/keys/derive.d.ts +45 -0
  59. package/dist/crypto/keys/derive.js +38 -0
  60. package/dist/crypto/keys/derive.js.map +1 -0
  61. package/dist/errors.cjs +10 -0
  62. package/dist/errors.cjs.map +1 -1
  63. package/dist/errors.js +10 -0
  64. package/dist/errors.js.map +1 -1
  65. package/dist/generated/abi/index.cjs +2 -37
  66. package/dist/generated/abi/index.cjs.map +1 -1
  67. package/dist/generated/abi/index.d.ts +2683 -9296
  68. package/dist/generated/abi/index.js +2 -29
  69. package/dist/generated/abi/index.js.map +1 -1
  70. package/dist/generated/addresses.cjs +5 -107
  71. package/dist/generated/addresses.cjs.map +1 -1
  72. package/dist/generated/addresses.d.ts +5 -99
  73. package/dist/generated/addresses.js +5 -105
  74. package/dist/generated/addresses.js.map +1 -1
  75. package/dist/index.browser.d.ts +24 -140
  76. package/dist/index.browser.js +32258 -114
  77. package/dist/index.browser.js.map +7 -1
  78. package/dist/index.node.cjs +32980 -160
  79. package/dist/index.node.cjs.map +7 -1
  80. package/dist/index.node.d.ts +23 -210
  81. package/dist/index.node.js +32884 -133
  82. package/dist/index.node.js.map +7 -1
  83. package/dist/platform/node.cjs +2 -2
  84. package/dist/platform/node.cjs.map +1 -1
  85. package/dist/platform/node.js +1 -1
  86. package/dist/platform/node.js.map +1 -1
  87. package/dist/protocol/data-file.cjs +56 -0
  88. package/dist/protocol/data-file.cjs.map +1 -0
  89. package/dist/protocol/data-file.d.ts +20 -0
  90. package/dist/protocol/data-file.js +30 -0
  91. package/dist/protocol/data-file.js.map +1 -0
  92. package/dist/protocol/eip712.cjs +123 -0
  93. package/dist/protocol/eip712.cjs.map +1 -0
  94. package/dist/protocol/eip712.d.ts +117 -0
  95. package/dist/protocol/eip712.js +90 -0
  96. package/dist/protocol/eip712.js.map +1 -0
  97. package/dist/protocol/gateway.cjs +226 -0
  98. package/dist/protocol/gateway.cjs.map +1 -0
  99. package/dist/protocol/gateway.d.ts +120 -0
  100. package/dist/protocol/gateway.js +202 -0
  101. package/dist/protocol/gateway.js.map +1 -0
  102. package/dist/protocol/grants.cjs +146 -0
  103. package/dist/protocol/grants.cjs.map +1 -0
  104. package/dist/protocol/grants.d.ts +31 -0
  105. package/dist/protocol/grants.js +123 -0
  106. package/dist/protocol/grants.js.map +1 -0
  107. package/dist/protocol/scopes.cjs +78 -0
  108. package/dist/protocol/scopes.cjs.map +1 -0
  109. package/dist/protocol/scopes.d.ts +13 -0
  110. package/dist/protocol/scopes.js +50 -0
  111. package/dist/protocol/scopes.js.map +1 -0
  112. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  113. package/dist/storage/default.cjs.map +1 -0
  114. package/dist/storage/default.d.ts +4 -0
  115. package/dist/storage/default.js +8 -0
  116. package/dist/storage/default.js.map +1 -0
  117. package/dist/storage/index.cjs +11 -2
  118. package/dist/storage/index.cjs.map +1 -1
  119. package/dist/storage/index.d.ts +9 -0
  120. package/dist/storage/index.js +7 -1
  121. package/dist/storage/index.js.map +1 -1
  122. package/dist/storage/providers/callback-storage.cjs +1 -0
  123. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  124. package/dist/storage/providers/callback-storage.js +1 -0
  125. package/dist/storage/providers/callback-storage.js.map +1 -1
  126. package/dist/storage/providers/dropbox.cjs +1 -0
  127. package/dist/storage/providers/dropbox.cjs.map +1 -1
  128. package/dist/storage/providers/dropbox.js +1 -0
  129. package/dist/storage/providers/dropbox.js.map +1 -1
  130. package/dist/storage/providers/google-drive.cjs +1 -0
  131. package/dist/storage/providers/google-drive.cjs.map +1 -1
  132. package/dist/storage/providers/google-drive.js +1 -0
  133. package/dist/storage/providers/google-drive.js.map +1 -1
  134. package/dist/storage/providers/ipfs.cjs +1 -0
  135. package/dist/storage/providers/ipfs.cjs.map +1 -1
  136. package/dist/storage/providers/ipfs.js +1 -0
  137. package/dist/storage/providers/ipfs.js.map +1 -1
  138. package/dist/storage/providers/pinata.cjs +1 -0
  139. package/dist/storage/providers/pinata.cjs.map +1 -1
  140. package/dist/storage/providers/pinata.js +1 -0
  141. package/dist/storage/providers/pinata.js.map +1 -1
  142. package/dist/storage/providers/r2.cjs +376 -0
  143. package/dist/storage/providers/r2.cjs.map +1 -0
  144. package/dist/storage/providers/r2.d.ts +91 -0
  145. package/dist/storage/providers/r2.js +354 -0
  146. package/dist/storage/providers/r2.js.map +1 -0
  147. package/dist/storage/providers/vana-storage.cjs +251 -0
  148. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  149. package/dist/storage/providers/vana-storage.d.ts +100 -0
  150. package/dist/storage/providers/vana-storage.js +231 -0
  151. package/dist/storage/providers/vana-storage.js.map +1 -0
  152. package/dist/types/config.cjs +0 -34
  153. package/dist/types/config.cjs.map +1 -1
  154. package/dist/types/config.d.ts +1 -607
  155. package/dist/types/config.js +0 -22
  156. package/dist/types/config.js.map +1 -1
  157. package/dist/types/contracts.cjs.map +1 -1
  158. package/dist/types/contracts.d.ts +1 -1
  159. package/dist/types/index.cjs +2 -33
  160. package/dist/types/index.cjs.map +1 -1
  161. package/dist/types/index.d.ts +2 -33
  162. package/dist/types/index.js +1 -35
  163. package/dist/types/index.js.map +1 -1
  164. package/dist/types/ps-errors.cjs +91 -0
  165. package/dist/types/ps-errors.cjs.map +1 -0
  166. package/dist/types/ps-errors.d.ts +26 -0
  167. package/dist/types/ps-errors.js +66 -0
  168. package/dist/types/ps-errors.js.map +1 -0
  169. package/dist/types.cjs.map +1 -1
  170. package/dist/types.d.ts +0 -29
  171. package/dist/types.js.map +1 -1
  172. package/package.json +8 -25
  173. package/dist/client/enhancedResponse.cjs +0 -164
  174. package/dist/client/enhancedResponse.cjs.map +0 -1
  175. package/dist/client/enhancedResponse.d.ts +0 -120
  176. package/dist/client/enhancedResponse.js +0 -138
  177. package/dist/client/enhancedResponse.js.map +0 -1
  178. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  179. package/dist/controllers/base.cjs +0 -116
  180. package/dist/controllers/base.cjs.map +0 -1
  181. package/dist/controllers/base.d.ts +0 -94
  182. package/dist/controllers/base.js +0 -92
  183. package/dist/controllers/base.js.map +0 -1
  184. package/dist/controllers/data.cjs +0 -2633
  185. package/dist/controllers/data.cjs.map +0 -1
  186. package/dist/controllers/data.d.ts +0 -1067
  187. package/dist/controllers/data.js +0 -2626
  188. package/dist/controllers/data.js.map +0 -1
  189. package/dist/controllers/operations.cjs +0 -430
  190. package/dist/controllers/operations.cjs.map +0 -1
  191. package/dist/controllers/operations.d.ts +0 -229
  192. package/dist/controllers/operations.js +0 -406
  193. package/dist/controllers/operations.js.map +0 -1
  194. package/dist/controllers/permissions.cjs +0 -4368
  195. package/dist/controllers/permissions.cjs.map +0 -1
  196. package/dist/controllers/permissions.d.ts +0 -1411
  197. package/dist/controllers/permissions.js +0 -4344
  198. package/dist/controllers/permissions.js.map +0 -1
  199. package/dist/controllers/protocol.cjs +0 -183
  200. package/dist/controllers/protocol.cjs.map +0 -1
  201. package/dist/controllers/protocol.d.ts +0 -138
  202. package/dist/controllers/protocol.js +0 -163
  203. package/dist/controllers/protocol.js.map +0 -1
  204. package/dist/controllers/schemas.cjs +0 -678
  205. package/dist/controllers/schemas.cjs.map +0 -1
  206. package/dist/controllers/schemas.d.ts +0 -293
  207. package/dist/controllers/schemas.js +0 -654
  208. package/dist/controllers/schemas.js.map +0 -1
  209. package/dist/controllers/server.cjs +0 -643
  210. package/dist/controllers/server.cjs.map +0 -1
  211. package/dist/controllers/server.d.ts +0 -322
  212. package/dist/controllers/server.js +0 -624
  213. package/dist/controllers/server.js.map +0 -1
  214. package/dist/controllers/staking.cjs +0 -626
  215. package/dist/controllers/staking.cjs.map +0 -1
  216. package/dist/controllers/staking.d.ts +0 -457
  217. package/dist/controllers/staking.js +0 -602
  218. package/dist/controllers/staking.js.map +0 -1
  219. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  220. package/dist/core/apiClient.cjs +0 -378
  221. package/dist/core/apiClient.cjs.map +0 -1
  222. package/dist/core/apiClient.d.ts +0 -286
  223. package/dist/core/apiClient.js +0 -359
  224. package/dist/core/apiClient.js.map +0 -1
  225. package/dist/core/generics.cjs +0 -417
  226. package/dist/core/generics.cjs.map +0 -1
  227. package/dist/core/generics.d.ts +0 -205
  228. package/dist/core/generics.js +0 -386
  229. package/dist/core/generics.js.map +0 -1
  230. package/dist/core/health.cjs +0 -289
  231. package/dist/core/health.cjs.map +0 -1
  232. package/dist/core/health.d.ts +0 -143
  233. package/dist/core/health.js +0 -265
  234. package/dist/core/health.js.map +0 -1
  235. package/dist/core/inMemoryNonceManager.cjs +0 -138
  236. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  237. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  238. package/dist/core/inMemoryNonceManager.js +0 -114
  239. package/dist/core/inMemoryNonceManager.js.map +0 -1
  240. package/dist/core/nonceManager.cjs +0 -304
  241. package/dist/core/nonceManager.cjs.map +0 -1
  242. package/dist/core/nonceManager.d.ts +0 -116
  243. package/dist/core/nonceManager.js +0 -280
  244. package/dist/core/nonceManager.js.map +0 -1
  245. package/dist/core/pollingManager.cjs +0 -292
  246. package/dist/core/pollingManager.cjs.map +0 -1
  247. package/dist/core/pollingManager.d.ts +0 -120
  248. package/dist/core/pollingManager.js +0 -268
  249. package/dist/core/pollingManager.js.map +0 -1
  250. package/dist/core.cjs +0 -781
  251. package/dist/core.cjs.map +0 -1
  252. package/dist/core.d.ts +0 -496
  253. package/dist/core.js +0 -756
  254. package/dist/core.js.map +0 -1
  255. package/dist/diagnostics.cjs +0 -37
  256. package/dist/diagnostics.cjs.map +0 -1
  257. package/dist/diagnostics.d.ts +0 -24
  258. package/dist/diagnostics.js +0 -13
  259. package/dist/diagnostics.js.map +0 -1
  260. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  261. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  262. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  263. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  264. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  265. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  266. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  267. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  268. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  269. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  270. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  271. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  272. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  273. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  274. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  275. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  276. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  277. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  278. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  279. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  280. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  281. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  282. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  283. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  284. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  285. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  286. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  287. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  288. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  289. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  290. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  291. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  292. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  293. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  294. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  295. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  296. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  297. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  298. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  299. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  300. package/dist/generated/event-types.cjs +0 -17
  301. package/dist/generated/event-types.cjs.map +0 -1
  302. package/dist/generated/event-types.d.ts +0 -816
  303. package/dist/generated/event-types.js +0 -1
  304. package/dist/generated/event-types.js.map +0 -1
  305. package/dist/generated/eventRegistry.cjs +0 -4512
  306. package/dist/generated/eventRegistry.cjs.map +0 -1
  307. package/dist/generated/eventRegistry.d.ts +0 -14
  308. package/dist/generated/eventRegistry.js +0 -4487
  309. package/dist/generated/eventRegistry.js.map +0 -1
  310. package/dist/generated/server/server-exports.cjs +0 -45
  311. package/dist/generated/server/server-exports.cjs.map +0 -1
  312. package/dist/generated/server/server-exports.d.ts +0 -36
  313. package/dist/generated/server/server-exports.js +0 -19
  314. package/dist/generated/server/server-exports.js.map +0 -1
  315. package/dist/generated/server/server.cjs +0 -17
  316. package/dist/generated/server/server.cjs.map +0 -1
  317. package/dist/generated/server/server.d.ts +0 -907
  318. package/dist/generated/server/server.js +0 -1
  319. package/dist/generated/server/server.js.map +0 -1
  320. package/dist/generated/subgraph.cjs +0 -1440
  321. package/dist/generated/subgraph.cjs.map +0 -1
  322. package/dist/generated/subgraph.d.ts +0 -6113
  323. package/dist/generated/subgraph.js +0 -1404
  324. package/dist/generated/subgraph.js.map +0 -1
  325. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  326. package/dist/lib/redisAtomicStore.cjs +0 -201
  327. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  328. package/dist/lib/redisAtomicStore.d.ts +0 -120
  329. package/dist/lib/redisAtomicStore.js +0 -177
  330. package/dist/lib/redisAtomicStore.js.map +0 -1
  331. package/dist/server/relayerHandler.cjs +0 -452
  332. package/dist/server/relayerHandler.cjs.map +0 -1
  333. package/dist/server/relayerHandler.d.ts +0 -69
  334. package/dist/server/relayerHandler.js +0 -428
  335. package/dist/server/relayerHandler.js.map +0 -1
  336. package/dist/tests/abi.test.d.ts +0 -1
  337. package/dist/tests/chains-definitions.test.d.ts +0 -1
  338. package/dist/tests/core-encryption.test.d.ts +0 -1
  339. package/dist/tests/core-extended.test.d.ts +0 -1
  340. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  341. package/dist/tests/coverage-boost.test.d.ts +0 -1
  342. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  343. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  344. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  345. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  346. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  347. package/dist/tests/data-relayer.test.d.ts +0 -1
  348. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  349. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  350. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  351. package/dist/tests/data.test.d.ts +0 -1
  352. package/dist/tests/demo-integration.test.d.ts +0 -1
  353. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  354. package/dist/tests/download-relayer.test.d.ts +0 -1
  355. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  356. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  357. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  358. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  359. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  360. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  361. package/dist/tests/errors-coverage.test.d.ts +0 -1
  362. package/dist/tests/factories/mockFactory.d.ts +0 -316
  363. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  364. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  365. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  366. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  367. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  368. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  369. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  370. package/dist/tests/helper-methods.test.d.ts +0 -1
  371. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  372. package/dist/tests/index-browser.test.d.ts +0 -1
  373. package/dist/tests/index-node.test.d.ts +0 -1
  374. package/dist/tests/index.test.d.ts +0 -1
  375. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  376. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  377. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  378. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  379. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  380. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  381. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  382. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  383. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  384. package/dist/tests/permissions.test.d.ts +0 -1
  385. package/dist/tests/personal.test.d.ts +0 -1
  386. package/dist/tests/platform-browser.test.d.ts +0 -1
  387. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  388. package/dist/tests/platform-crypto.test.d.ts +0 -1
  389. package/dist/tests/platform-index.test.d.ts +0 -1
  390. package/dist/tests/platform-node.test.d.ts +0 -1
  391. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  392. package/dist/tests/platform-updated.test.d.ts +0 -1
  393. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  394. package/dist/tests/protocol.test.d.ts +0 -1
  395. package/dist/tests/read-only-mode.test.d.ts +0 -1
  396. package/dist/tests/relayer-integration.test.d.ts +0 -1
  397. package/dist/tests/relayer-unified.test.d.ts +0 -1
  398. package/dist/tests/schemas.test.d.ts +0 -1
  399. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  400. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  401. package/dist/tests/staking.test.d.ts +0 -1
  402. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  403. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  404. package/dist/tests/types-contracts.test.d.ts +0 -1
  405. package/dist/tests/types-data.test.d.ts +0 -1
  406. package/dist/tests/types-external-apis.test.d.ts +0 -1
  407. package/dist/tests/types-generics.test.d.ts +0 -1
  408. package/dist/tests/types-permissions.test.d.ts +0 -1
  409. package/dist/tests/types-upload-params.test.d.ts +0 -1
  410. package/dist/tests/types.test.d.ts +0 -1
  411. package/dist/tests/utils-formatters.test.d.ts +0 -1
  412. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  413. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  414. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  415. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  416. package/dist/tests/utils-grants.test.d.ts +0 -1
  417. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  418. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  419. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  420. package/dist/tests/vana.test.d.ts +0 -1
  421. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  422. package/dist/types/atomicStore.cjs.map +0 -1
  423. package/dist/types/atomicStore.d.ts +0 -236
  424. package/dist/types/atomicStore.js +0 -7
  425. package/dist/types/atomicStore.js.map +0 -1
  426. package/dist/types/blockchain.cjs +0 -17
  427. package/dist/types/blockchain.cjs.map +0 -1
  428. package/dist/types/blockchain.d.ts +0 -85
  429. package/dist/types/blockchain.js +0 -1
  430. package/dist/types/blockchain.js.map +0 -1
  431. package/dist/types/controller-context.cjs +0 -17
  432. package/dist/types/controller-context.cjs.map +0 -1
  433. package/dist/types/controller-context.d.ts +0 -68
  434. package/dist/types/controller-context.js +0 -1
  435. package/dist/types/controller-context.js.map +0 -1
  436. package/dist/types/data.cjs +0 -17
  437. package/dist/types/data.cjs.map +0 -1
  438. package/dist/types/data.d.ts +0 -763
  439. package/dist/types/data.js +0 -1
  440. package/dist/types/data.js.map +0 -1
  441. package/dist/types/external-apis.cjs +0 -61
  442. package/dist/types/external-apis.cjs.map +0 -1
  443. package/dist/types/external-apis.d.ts +0 -184
  444. package/dist/types/external-apis.js +0 -34
  445. package/dist/types/external-apis.js.map +0 -1
  446. package/dist/types/generics.cjs +0 -17
  447. package/dist/types/generics.cjs.map +0 -1
  448. package/dist/types/generics.d.ts +0 -518
  449. package/dist/types/generics.js +0 -1
  450. package/dist/types/generics.js.map +0 -1
  451. package/dist/types/operationStore.cjs +0 -17
  452. package/dist/types/operationStore.cjs.map +0 -1
  453. package/dist/types/operationStore.d.ts +0 -171
  454. package/dist/types/operationStore.js +0 -1
  455. package/dist/types/operationStore.js.map +0 -1
  456. package/dist/types/operations.cjs +0 -53
  457. package/dist/types/operations.cjs.map +0 -1
  458. package/dist/types/operations.d.ts +0 -204
  459. package/dist/types/operations.js +0 -26
  460. package/dist/types/operations.js.map +0 -1
  461. package/dist/types/options.cjs +0 -17
  462. package/dist/types/options.cjs.map +0 -1
  463. package/dist/types/options.d.ts +0 -308
  464. package/dist/types/options.js +0 -1
  465. package/dist/types/options.js.map +0 -1
  466. package/dist/types/permissions.cjs +0 -17
  467. package/dist/types/permissions.cjs.map +0 -1
  468. package/dist/types/permissions.d.ts +0 -955
  469. package/dist/types/permissions.js +0 -1
  470. package/dist/types/permissions.js.map +0 -1
  471. package/dist/types/personal.cjs +0 -17
  472. package/dist/types/personal.cjs.map +0 -1
  473. package/dist/types/personal.d.ts +0 -174
  474. package/dist/types/personal.js +0 -1
  475. package/dist/types/personal.js.map +0 -1
  476. package/dist/types/relayer.cjs +0 -17
  477. package/dist/types/relayer.cjs.map +0 -1
  478. package/dist/types/relayer.d.ts +0 -552
  479. package/dist/types/relayer.js +0 -1
  480. package/dist/types/relayer.js.map +0 -1
  481. package/dist/types/transactionResults.cjs +0 -17
  482. package/dist/types/transactionResults.cjs.map +0 -1
  483. package/dist/types/transactionResults.d.ts +0 -193
  484. package/dist/types/transactionResults.js +0 -1
  485. package/dist/types/transactionResults.js.map +0 -1
  486. package/dist/types/utils.cjs +0 -17
  487. package/dist/types/utils.cjs.map +0 -1
  488. package/dist/types/utils.d.ts +0 -771
  489. package/dist/types/utils.js +0 -1
  490. package/dist/types/utils.js.map +0 -1
  491. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  492. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  493. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  494. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  495. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  496. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  497. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  498. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  499. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  500. package/dist/utils/blockchain/registry.cjs +0 -81
  501. package/dist/utils/blockchain/registry.cjs.map +0 -1
  502. package/dist/utils/blockchain/registry.d.ts +0 -32
  503. package/dist/utils/blockchain/registry.js +0 -56
  504. package/dist/utils/blockchain/registry.js.map +0 -1
  505. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  506. package/dist/utils/chainQuery.cjs +0 -107
  507. package/dist/utils/chainQuery.cjs.map +0 -1
  508. package/dist/utils/chainQuery.d.ts +0 -31
  509. package/dist/utils/chainQuery.js +0 -82
  510. package/dist/utils/chainQuery.js.map +0 -1
  511. package/dist/utils/download.cjs +0 -69
  512. package/dist/utils/download.cjs.map +0 -1
  513. package/dist/utils/download.d.ts +0 -40
  514. package/dist/utils/download.js +0 -45
  515. package/dist/utils/download.js.map +0 -1
  516. package/dist/utils/encryption.cjs +0 -176
  517. package/dist/utils/encryption.cjs.map +0 -1
  518. package/dist/utils/encryption.d.ts +0 -271
  519. package/dist/utils/encryption.js +0 -142
  520. package/dist/utils/encryption.js.map +0 -1
  521. package/dist/utils/formatters.cjs +0 -55
  522. package/dist/utils/formatters.cjs.map +0 -1
  523. package/dist/utils/formatters.d.ts +0 -118
  524. package/dist/utils/formatters.js +0 -28
  525. package/dist/utils/formatters.js.map +0 -1
  526. package/dist/utils/grantFiles.cjs +0 -181
  527. package/dist/utils/grantFiles.cjs.map +0 -1
  528. package/dist/utils/grantFiles.d.ts +0 -172
  529. package/dist/utils/grantFiles.js +0 -143
  530. package/dist/utils/grantFiles.js.map +0 -1
  531. package/dist/utils/grantValidation.cjs +0 -243
  532. package/dist/utils/grantValidation.cjs.map +0 -1
  533. package/dist/utils/grantValidation.d.ts +0 -226
  534. package/dist/utils/grantValidation.js +0 -201
  535. package/dist/utils/grantValidation.js.map +0 -1
  536. package/dist/utils/grants.cjs +0 -108
  537. package/dist/utils/grants.cjs.map +0 -1
  538. package/dist/utils/grants.d.ts +0 -148
  539. package/dist/utils/grants.js +0 -82
  540. package/dist/utils/grants.js.map +0 -1
  541. package/dist/utils/ipfs.cjs +0 -128
  542. package/dist/utils/ipfs.cjs.map +0 -1
  543. package/dist/utils/ipfs.d.ts +0 -88
  544. package/dist/utils/ipfs.js +0 -97
  545. package/dist/utils/ipfs.js.map +0 -1
  546. package/dist/utils/multicall.cjs +0 -233
  547. package/dist/utils/multicall.cjs.map +0 -1
  548. package/dist/utils/multicall.d.ts +0 -126
  549. package/dist/utils/multicall.js +0 -208
  550. package/dist/utils/multicall.js.map +0 -1
  551. package/dist/utils/parseTransactionPojo.cjs +0 -87
  552. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  553. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  554. package/dist/utils/parseTransactionPojo.js +0 -63
  555. package/dist/utils/parseTransactionPojo.js.map +0 -1
  556. package/dist/utils/schemaValidation.cjs +0 -258
  557. package/dist/utils/schemaValidation.cjs.map +0 -1
  558. package/dist/utils/schemaValidation.d.ts +0 -168
  559. package/dist/utils/schemaValidation.js +0 -219
  560. package/dist/utils/schemaValidation.js.map +0 -1
  561. package/dist/utils/signatureCache.cjs +0 -192
  562. package/dist/utils/signatureCache.cjs.map +0 -1
  563. package/dist/utils/signatureCache.d.ts +0 -172
  564. package/dist/utils/signatureCache.js +0 -167
  565. package/dist/utils/signatureCache.js.map +0 -1
  566. package/dist/utils/signatureFormatter.cjs +0 -42
  567. package/dist/utils/signatureFormatter.cjs.map +0 -1
  568. package/dist/utils/signatureFormatter.d.ts +0 -36
  569. package/dist/utils/signatureFormatter.js +0 -18
  570. package/dist/utils/signatureFormatter.js.map +0 -1
  571. package/dist/utils/subgraphConsistency.cjs +0 -184
  572. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  573. package/dist/utils/subgraphConsistency.d.ts +0 -65
  574. package/dist/utils/subgraphConsistency.js +0 -155
  575. package/dist/utils/subgraphConsistency.js.map +0 -1
  576. package/dist/utils/subgraphMetaCache.cjs +0 -101
  577. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  578. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  579. package/dist/utils/subgraphMetaCache.js +0 -76
  580. package/dist/utils/subgraphMetaCache.js.map +0 -1
  581. package/dist/utils/subgraphPagination.cjs +0 -104
  582. package/dist/utils/subgraphPagination.cjs.map +0 -1
  583. package/dist/utils/subgraphPagination.d.ts +0 -78
  584. package/dist/utils/subgraphPagination.js +0 -78
  585. package/dist/utils/subgraphPagination.js.map +0 -1
  586. package/dist/utils/tests/multicall.test.d.ts +0 -1
  587. package/dist/utils/transactionHelpers.cjs +0 -54
  588. package/dist/utils/transactionHelpers.cjs.map +0 -1
  589. package/dist/utils/transactionHelpers.d.ts +0 -80
  590. package/dist/utils/transactionHelpers.js +0 -29
  591. package/dist/utils/transactionHelpers.js.map +0 -1
  592. package/dist/utils/typeGuards.cjs +0 -109
  593. package/dist/utils/typeGuards.cjs.map +0 -1
  594. package/dist/utils/typeGuards.d.ts +0 -138
  595. package/dist/utils/typeGuards.js +0 -74
  596. package/dist/utils/typeGuards.js.map +0 -1
  597. package/dist/utils/typedDataConverter.cjs +0 -43
  598. package/dist/utils/typedDataConverter.cjs.map +0 -1
  599. package/dist/utils/typedDataConverter.d.ts +0 -46
  600. package/dist/utils/typedDataConverter.js +0 -19
  601. package/dist/utils/typedDataConverter.js.map +0 -1
  602. package/dist/utils/urlResolver.cjs +0 -62
  603. package/dist/utils/urlResolver.cjs.map +0 -1
  604. package/dist/utils/urlResolver.d.ts +0 -56
  605. package/dist/utils/urlResolver.js +0 -37
  606. package/dist/utils/urlResolver.js.map +0 -1
  607. package/dist/utils/wallet.cjs +0 -63
  608. package/dist/utils/wallet.cjs.map +0 -1
  609. package/dist/utils/wallet.d.ts +0 -94
  610. package/dist/utils/wallet.js +0 -37
  611. package/dist/utils/wallet.js.map +0 -1
  612. package/dist/utils/withEvents.cjs +0 -44
  613. package/dist/utils/withEvents.cjs.map +0 -1
  614. package/dist/utils/withEvents.d.ts +0 -56
  615. package/dist/utils/withEvents.js +0 -18
  616. package/dist/utils/withEvents.js.map +0 -1
  617. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  618. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  619. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  620. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  621. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  622. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  623. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  624. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  625. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  626. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/grants.test.d.ts} +0 -0
  627. /package/dist/{core/core.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  628. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  629. /package/dist/{core/tests/client.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  630. /package/dist/{core/tests/generics.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  631. /package/dist/{diagnostics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
@@ -1,654 +0,0 @@
1
- import { BaseController } from "./base";
2
- import { getContractAddress } from "../generated/addresses";
3
- import { getAbi } from "../generated/abi";
4
- import { gasAwareMulticall } from "../utils/multicall";
5
- import {
6
- validateDataSchemaAgainstMetaSchema,
7
- SchemaValidationError
8
- } from "../utils/schemaValidation";
9
- import {
10
- fetchSchemaFromChain,
11
- fetchSchemaCountFromChain
12
- } from "../utils/blockchain/registry";
13
- import {
14
- GetSchemaDocument,
15
- ListSchemasDocument,
16
- CountSchemasDocument
17
- } from "../generated/subgraph";
18
- import { print } from "graphql";
19
- import { fetchFromUrl, UrlResolutionError } from "../utils/urlResolver";
20
- class SchemaController extends BaseController {
21
- constructor(context) {
22
- super(context);
23
- }
24
- /**
25
- * Creates a schema with validation and IPFS upload.
26
- *
27
- * @remarks
28
- * Primary method for schema creation. Validates definition,
29
- * uploads to IPFS (unencrypted for reusability), and registers
30
- * on blockchain. Schema becomes immediately available network-wide.
31
- *
32
- * @param params - Creation configuration
33
- * @param params.name - Human-readable schema name
34
- * @param params.dialect - Schema format (`"json"` or `"sqlite"`)
35
- * @param params.schema - Definition object or JSON string
36
- *
37
- * @returns Schema ID, IPFS URL, and transaction hash
38
- *
39
- * @throws {SchemaValidationError} Invalid schema definition.
40
- * Verify schema follows JSON Schema or SQLite format.
41
- * @throws {Error} Storage not configured.
42
- * Configure storage providers in VanaConfig.
43
- * @throws {Error} IPFS upload failed.
44
- * Check network and storage provider status.
45
- *
46
- * @example
47
- * ```typescript
48
- * const result = await vana.schemas.create({
49
- * name: "User Profile",
50
- * dialect: "json",
51
- * schema: {
52
- * type: "object",
53
- * properties: {
54
- * name: { type: "string", minLength: 1 },
55
- * age: { type: "number", minimum: 0 }
56
- * },
57
- * required: ["name"]
58
- * }
59
- * });
60
- * console.log(`Schema ${result.schemaId} at ${result.definitionUrl}`);
61
- * ```
62
- */
63
- async create(params) {
64
- this.assertWallet();
65
- const { name, dialect, schema } = params;
66
- try {
67
- let schemaDefinition;
68
- if (typeof schema === "string") {
69
- try {
70
- schemaDefinition = JSON.parse(schema);
71
- } catch {
72
- throw new SchemaValidationError(
73
- "Invalid JSON in schema definition",
74
- []
75
- );
76
- }
77
- } else {
78
- schemaDefinition = schema;
79
- }
80
- const dataSchema = {
81
- name,
82
- version: "1.0.0",
83
- dialect,
84
- schema: schemaDefinition
85
- };
86
- validateDataSchemaAgainstMetaSchema(dataSchema);
87
- if (!this.context.storageManager) {
88
- if (this.context.validateStorageRequired) {
89
- this.context.validateStorageRequired();
90
- throw new Error("Storage validation failed");
91
- } else {
92
- throw new Error(
93
- "Storage manager not configured. Please provide storage providers in VanaConfig."
94
- );
95
- }
96
- }
97
- const schemaBlob = new Blob([JSON.stringify(dataSchema)], {
98
- type: "application/json"
99
- });
100
- const uploadResult = await this.context.storageManager.upload(
101
- schemaBlob,
102
- `${name.replace(/[^a-zA-Z0-9]/g, "_")}.json`
103
- );
104
- const chainId = this.context.walletClient?.chain?.id ?? this.context.publicClient.chain?.id;
105
- if (!chainId) {
106
- throw new Error("Chain ID not available");
107
- }
108
- const dataRefinerRegistryAddress = getContractAddress(
109
- chainId,
110
- "DataRefinerRegistry"
111
- );
112
- const dataRefinerRegistryAbi = getAbi("DataRefinerRegistry");
113
- const account = this.context.walletClient.account ?? this.context.userAddress;
114
- const from = typeof account === "string" ? account : account?.address;
115
- const hash = await this.context.walletClient.writeContract({
116
- address: dataRefinerRegistryAddress,
117
- abi: dataRefinerRegistryAbi,
118
- functionName: "addSchema",
119
- args: [name, dialect, uploadResult.url],
120
- account,
121
- chain: this.context.walletClient.chain ?? null
122
- });
123
- const { tx } = await import("../utils/transactionHelpers");
124
- const txResult = tx({
125
- hash,
126
- from,
127
- contract: "DataRefinerRegistry",
128
- fn: "addSchema"
129
- });
130
- if (!this.context.waitForTransactionEvents) {
131
- throw new Error("waitForTransactionEvents not configured");
132
- }
133
- const result = await this.context.waitForTransactionEvents(txResult);
134
- const event = result.expectedEvents.SchemaAdded;
135
- if (!event) {
136
- throw new Error("SchemaAdded event not found in transaction");
137
- }
138
- return {
139
- schemaId: event.schemaId,
140
- definitionUrl: uploadResult.url,
141
- transactionHash: hash
142
- };
143
- } catch (error) {
144
- if (error instanceof SchemaValidationError) {
145
- throw error;
146
- }
147
- throw new Error(
148
- `Schema creation failed: ${error instanceof Error ? error.message : "Unknown error"}`
149
- );
150
- }
151
- }
152
- /**
153
- * Retrieves a complete schema by its ID with definition fetched and flattened.
154
- *
155
- * @param schemaId - The ID of the schema to retrieve
156
- * @param options - Optional parameters
157
- * @param options.subgraphUrl - Custom subgraph URL to use instead of default
158
- * @returns Promise resolving to the complete schema object with all fields populated
159
- * @throws {Error} When the schema is not found, definition cannot be fetched, or chain is unavailable
160
- * @example
161
- * ```typescript
162
- * const schema = await vana.schemas.get(1);
163
- * console.log(`Schema: ${schema.name} (${schema.dialect})`);
164
- * console.log(`Version: ${schema.version}`);
165
- * console.log(`Description: ${schema.description}`);
166
- * console.log('Schema:', schema.schema);
167
- *
168
- * // Use directly with validator (schema has all required fields)
169
- * validator.validateDataAgainstSchema(data, schema);
170
- * ```
171
- */
172
- async get(schemaId, options = {}) {
173
- const subgraphUrl = options.subgraphUrl ?? this.context.subgraphUrl;
174
- let metadata;
175
- if (subgraphUrl) {
176
- try {
177
- metadata = await this._getSchemaViaSubgraph({ schemaId, subgraphUrl });
178
- } catch (error) {
179
- console.debug("Subgraph query failed, falling back to RPC:", error);
180
- try {
181
- metadata = await fetchSchemaFromChain(this.context, schemaId);
182
- } catch (rpcError) {
183
- throw new Error(
184
- `Failed to get schema: ${rpcError instanceof Error ? rpcError.message : "Unknown error"}`
185
- );
186
- }
187
- }
188
- } else {
189
- try {
190
- metadata = await fetchSchemaFromChain(this.context, schemaId);
191
- } catch (error) {
192
- throw new Error(
193
- `Failed to get schema: ${error instanceof Error ? error.message : "Unknown error"}`
194
- );
195
- }
196
- }
197
- const definition = await fetchFromUrl(
198
- metadata.definitionUrl,
199
- this.context.downloadRelayer
200
- );
201
- if (!definition || typeof definition !== "object") {
202
- throw new Error(
203
- `Invalid schema definition format for schema ${schemaId}`
204
- );
205
- }
206
- validateDataSchemaAgainstMetaSchema(definition);
207
- const dataSchema = definition;
208
- if (dataSchema.name !== metadata.name) {
209
- console.warn(
210
- `Schema name mismatch for ID ${schemaId}: on-chain="${metadata.name}" off-chain="${dataSchema.name}" (using on-chain value)`
211
- );
212
- }
213
- if (dataSchema.dialect !== metadata.dialect) {
214
- console.warn(
215
- `Schema dialect mismatch for ID ${schemaId}: on-chain="${metadata.dialect}" off-chain="${dataSchema.dialect}" (using on-chain value)`
216
- );
217
- }
218
- return {
219
- ...metadata,
220
- version: dataSchema.version,
221
- description: dataSchema.description,
222
- schema: dataSchema.schema
223
- };
224
- }
225
- /**
226
- * Gets the total number of schemas registered on the network.
227
- *
228
- * @param options - Optional parameters
229
- * @param options.subgraphUrl - Custom subgraph URL to use instead of default
230
- * @returns Promise resolving to the total schema count
231
- * @throws {Error} When the count cannot be retrieved
232
- * @example
233
- * ```typescript
234
- * const count = await vana.schemas.count();
235
- * console.log(`Total schemas: ${count}`);
236
- *
237
- * // With custom subgraph
238
- * const count = await vana.schemas.count({
239
- * subgraphUrl: 'https://custom-subgraph.com/graphql'
240
- * });
241
- * ```
242
- */
243
- async count(options = {}) {
244
- const subgraphUrl = options.subgraphUrl ?? this.context.subgraphUrl;
245
- if (subgraphUrl) {
246
- try {
247
- return await this._countSchemasViaSubgraph({ subgraphUrl });
248
- } catch (error) {
249
- console.debug("Subgraph query failed, falling back to RPC:", error);
250
- }
251
- }
252
- try {
253
- return await fetchSchemaCountFromChain(this.context);
254
- } catch (error) {
255
- throw new Error(
256
- `Failed to get schemas count: ${error instanceof Error ? error.message : "Unknown error"}`
257
- );
258
- }
259
- }
260
- /**
261
- * Lists all schemas with pagination.
262
- *
263
- * @param options - Optional parameters for listing schemas
264
- * @param options.limit - Maximum number of schemas to return
265
- * @param options.offset - Number of schemas to skip
266
- * @param options.subgraphUrl - Custom subgraph URL to use instead of default
267
- * @param options.includeDefinitions - Whether to fetch and include schema definitions (default: false for performance)
268
- * @returns Promise resolving to an array of schemas
269
- * @example
270
- * ```typescript
271
- * // Get all schemas (without definitions for performance)
272
- * const schemas = await vana.schemas.list();
273
- *
274
- * // Get schemas with definitions
275
- * const schemas = await vana.schemas.list({ includeDefinitions: true });
276
- *
277
- * // Get schemas with pagination
278
- * const schemas = await vana.schemas.list({ limit: 10, offset: 0 });
279
- * ```
280
- */
281
- async list(options = {}) {
282
- const {
283
- limit = 100,
284
- offset = 0,
285
- includeDefinitions = false,
286
- minBlock,
287
- waitForSync
288
- } = options;
289
- const subgraphUrl = options.subgraphUrl ?? this.context.subgraphUrl;
290
- if (subgraphUrl && (minBlock || waitForSync)) {
291
- const { checkSubgraphConsistency } = await import("../utils/subgraphConsistency");
292
- await checkSubgraphConsistency(subgraphUrl, { minBlock, waitForSync });
293
- }
294
- if (subgraphUrl) {
295
- try {
296
- return await this._listSchemasViaSubgraph({
297
- limit,
298
- offset,
299
- subgraphUrl
300
- });
301
- } catch (error) {
302
- console.debug("Subgraph query failed, falling back to RPC:", error);
303
- }
304
- }
305
- try {
306
- const totalCount = await this.count();
307
- const start = offset;
308
- const end = Math.min(start + limit, totalCount);
309
- if (end <= start) {
310
- return [];
311
- }
312
- const chainId = this.context.walletClient?.chain?.id ?? this.context.publicClient.chain?.id;
313
- if (!chainId) {
314
- throw new Error("Chain ID not available");
315
- }
316
- const dataRefinerRegistryAddress = getContractAddress(
317
- chainId,
318
- "DataRefinerRegistry"
319
- );
320
- const dataRefinerRegistryAbi = getAbi("DataRefinerRegistry");
321
- const schemaCalls = [];
322
- for (let i = start; i < end; i++) {
323
- schemaCalls.push({
324
- address: dataRefinerRegistryAddress,
325
- abi: dataRefinerRegistryAbi,
326
- functionName: "schemas",
327
- args: [BigInt(i + 1)]
328
- // Schema IDs are 1-based
329
- });
330
- }
331
- const schemaResults = await gasAwareMulticall(this.context.publicClient, {
332
- contracts: schemaCalls,
333
- allowFailure: true
334
- });
335
- const schemas = [];
336
- schemaResults.forEach((result, index) => {
337
- if (result.status === "success" && result.result) {
338
- const schemaId = start + index + 1;
339
- const schemaData = result.result;
340
- if (schemaData.name && schemaData.dialect && schemaData.definitionUrl) {
341
- schemas.push({
342
- id: schemaId,
343
- name: schemaData.name,
344
- dialect: schemaData.dialect,
345
- definitionUrl: schemaData.definitionUrl
346
- });
347
- } else {
348
- console.warn(`Incomplete schema data for ID ${schemaId}`);
349
- }
350
- } else {
351
- console.warn(`Failed to retrieve schema ${start + index + 1}`);
352
- }
353
- });
354
- if (includeDefinitions) {
355
- await this._fetchDefinitionsForSchemas(schemas);
356
- }
357
- return schemas;
358
- } catch (error) {
359
- throw new Error(
360
- `Failed to list schemas: ${error instanceof Error ? error.message : "Unknown error"}`
361
- );
362
- }
363
- }
364
- /**
365
- * Retrieves schema definition content directly from a URL.
366
- *
367
- * @remarks
368
- * Use this method to fetch and format schema definitions from IPFS or HTTP URLs.
369
- * Automatically uses the SDK's configured download proxy to bypass CORS restrictions.
370
- * Returns formatted JSON string if content is valid JSON, otherwise raw content.
371
- *
372
- * @param url - The definition URL (typically from schema.definitionUrl)
373
- * @returns Promise resolving to the formatted definition content
374
- * @throws {Error} When the content cannot be fetched or network errors occur
375
- * @example
376
- * ```typescript
377
- * const schema = await vana.schemas.get(1);
378
- * const definition = await vana.schemas.retrieveDefinition(schema.definitionUrl);
379
- * console.log(definition); // Pretty-printed JSON
380
- * ```
381
- */
382
- async retrieveDefinition(url) {
383
- try {
384
- const { universalFetch } = await import("../utils/download");
385
- const response = await universalFetch(url, this.context.downloadRelayer);
386
- if (!response.ok) {
387
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
388
- }
389
- const text = await response.text();
390
- try {
391
- const json = JSON.parse(text);
392
- return JSON.stringify(json, null, 2);
393
- } catch {
394
- return text;
395
- }
396
- } catch (error) {
397
- throw new Error(
398
- `Failed to retrieve schema definition: ${error instanceof Error ? error.message : "Unknown error"}`
399
- );
400
- }
401
- }
402
- /**
403
- * Retrieves refinement instruction content from a URL.
404
- *
405
- * @remarks
406
- * Use this method to fetch refinement instructions from IPFS or HTTP URLs.
407
- * Temporarily housed in SchemaController since refiners use schemas and we don't
408
- * have a dedicated RefinerController yet. Uses the SDK's configured download proxy.
409
- *
410
- * @param url - The instruction URL (typically from refiner.refinementInstructionUrl)
411
- * @returns Promise resolving to the formatted instruction content
412
- * @throws {Error} When the content cannot be fetched or network errors occur
413
- * @example
414
- * ```typescript
415
- * const instructions = await vana.schemas.retrieveRefinementInstructions(
416
- * refiner.refinementInstructionUrl
417
- * );
418
- * console.log(instructions);
419
- * ```
420
- */
421
- async retrieveRefinementInstructions(url) {
422
- try {
423
- return await this.retrieveDefinition(url);
424
- } catch (error) {
425
- throw new Error(
426
- `Failed to retrieve refinement instructions: ${error instanceof Error ? error.message.replace(
427
- "Failed to retrieve schema definition: ",
428
- ""
429
- ) : "Unknown error"}`
430
- );
431
- }
432
- }
433
- /**
434
- * Adds a schema using the legacy method (low-level API).
435
- *
436
- * @deprecated Use create() instead for the high-level API with automatic IPFS upload
437
- * @param params - Schema parameters including pre-generated definition URL
438
- * @returns Promise resolving to the add schema result
439
- */
440
- async addSchema(params) {
441
- this.assertWallet();
442
- try {
443
- const chainId = this.context.walletClient?.chain?.id ?? this.context.publicClient.chain?.id;
444
- if (!chainId) {
445
- throw new Error("Chain ID not available");
446
- }
447
- const dataRefinerRegistryAddress = getContractAddress(
448
- chainId,
449
- "DataRefinerRegistry"
450
- );
451
- const dataRefinerRegistryAbi = getAbi("DataRefinerRegistry");
452
- const account = this.context.walletClient.account ?? this.context.userAddress;
453
- const from = typeof account === "string" ? account : account?.address;
454
- const hash = await this.context.walletClient.writeContract({
455
- address: dataRefinerRegistryAddress,
456
- abi: dataRefinerRegistryAbi,
457
- functionName: "addSchema",
458
- args: [params.name, params.dialect, params.definitionUrl],
459
- account,
460
- chain: this.context.walletClient.chain ?? null
461
- });
462
- const { tx } = await import("../utils/transactionHelpers");
463
- const txResult = tx({
464
- hash,
465
- from,
466
- contract: "DataRefinerRegistry",
467
- fn: "addSchema"
468
- });
469
- if (!this.context.waitForTransactionEvents) {
470
- throw new Error("waitForTransactionEvents not configured");
471
- }
472
- const result = await this.context.waitForTransactionEvents(txResult);
473
- const event = result.expectedEvents.SchemaAdded;
474
- if (!event) {
475
- throw new Error("SchemaAdded event not found in transaction");
476
- }
477
- const receipt = await this.context.publicClient.getTransactionReceipt({
478
- hash
479
- });
480
- return {
481
- transactionHash: hash,
482
- blockNumber: receipt.blockNumber,
483
- gasUsed: receipt.gasUsed,
484
- schemaId: event.schemaId,
485
- name: event.name,
486
- dialect: event.dialect,
487
- definitionUrl: event.definitionUrl
488
- };
489
- } catch (error) {
490
- throw new Error(
491
- `Failed to add schema: ${error instanceof Error ? error.message : "Unknown error"}`
492
- );
493
- }
494
- }
495
- /**
496
- * Internal method: Query schema via subgraph
497
- *
498
- * @param params - Query parameters
499
- * @param params.schemaId - The ID of the schema to retrieve
500
- * @param params.subgraphUrl - The subgraph URL to query
501
- * @returns Promise resolving to the schema object
502
- * @private
503
- */
504
- async _getSchemaViaSubgraph(params) {
505
- const { schemaId, subgraphUrl } = params;
506
- const response = await fetch(subgraphUrl, {
507
- method: "POST",
508
- headers: { "Content-Type": "application/json" },
509
- body: JSON.stringify({
510
- query: print(GetSchemaDocument),
511
- variables: { id: schemaId.toString() }
512
- })
513
- });
514
- if (!response.ok) {
515
- throw new Error(
516
- `Subgraph request failed: ${response.status} ${response.statusText}`
517
- );
518
- }
519
- const result = await response.json();
520
- if (result.errors) {
521
- throw new Error(
522
- `Subgraph query errors: ${result.errors.map((e) => e.message).join(", ")}`
523
- );
524
- }
525
- if (!result.data?.schema) {
526
- throw new Error(`Schema ${schemaId} not found in subgraph`);
527
- }
528
- const subgraphSchema = result.data.schema;
529
- return {
530
- id: parseInt(subgraphSchema.id),
531
- name: subgraphSchema.name,
532
- dialect: subgraphSchema.dialect,
533
- definitionUrl: subgraphSchema.definitionUrl
534
- };
535
- }
536
- /**
537
- * Internal method: List schemas via subgraph
538
- *
539
- * @param params - Query parameters
540
- * @param params.limit - Maximum number of schemas to return
541
- * @param params.offset - Number of schemas to skip
542
- * @param params.subgraphUrl - The subgraph URL to query
543
- * @returns Promise resolving to an array of schemas
544
- * @private
545
- */
546
- async _listSchemasViaSubgraph(params) {
547
- const { limit, offset, subgraphUrl } = params;
548
- const response = await fetch(subgraphUrl, {
549
- method: "POST",
550
- headers: { "Content-Type": "application/json" },
551
- body: JSON.stringify({
552
- query: print(ListSchemasDocument),
553
- variables: { first: limit, skip: offset }
554
- })
555
- });
556
- if (!response.ok) {
557
- throw new Error(
558
- `Subgraph request failed: ${response.status} ${response.statusText}`
559
- );
560
- }
561
- const result = await response.json();
562
- if (result.errors) {
563
- throw new Error(
564
- `Subgraph query errors: ${result.errors.map((e) => e.message).join(", ")}`
565
- );
566
- }
567
- if (!result.data?.schemas) {
568
- return [];
569
- }
570
- const schemas = result.data.schemas.map((schema) => ({
571
- id: parseInt(schema.id),
572
- name: schema.name,
573
- dialect: schema.dialect,
574
- definitionUrl: schema.definitionUrl
575
- }));
576
- const { includeDefinitions } = params;
577
- if (includeDefinitions) {
578
- await this._fetchDefinitionsForSchemas(schemas);
579
- }
580
- return schemas;
581
- }
582
- /**
583
- * Internal method: Count schemas via subgraph
584
- *
585
- * @param params - Query parameters
586
- * @param params.subgraphUrl - The subgraph URL to query
587
- * @returns Promise resolving to the total schema count
588
- * @private
589
- */
590
- async _countSchemasViaSubgraph(params) {
591
- const { subgraphUrl } = params;
592
- const response = await fetch(subgraphUrl, {
593
- method: "POST",
594
- headers: { "Content-Type": "application/json" },
595
- body: JSON.stringify({
596
- query: print(CountSchemasDocument),
597
- variables: {}
598
- })
599
- });
600
- if (!response.ok) {
601
- throw new Error(
602
- `Subgraph request failed: ${response.status} ${response.statusText}`
603
- );
604
- }
605
- const result = await response.json();
606
- if (result.errors) {
607
- throw new Error(
608
- `Subgraph query errors: ${result.errors.map((e) => e.message).join(", ")}`
609
- );
610
- }
611
- return result.data?.schemas?.length ?? 0;
612
- }
613
- /**
614
- * Gets the user's wallet address.
615
- *
616
- * @private
617
- * @returns Promise resolving to the user's address
618
- */
619
- /**
620
- * Fetches and attaches definitions to an array of schemas.
621
- *
622
- * @param schemas - Array of schemas to fetch definitions for
623
- * @private
624
- */
625
- async _fetchDefinitionsForSchemas(schemas) {
626
- await Promise.all(
627
- schemas.map(async (schema) => {
628
- if (!schema.definitionUrl) return;
629
- try {
630
- const definition = await fetchFromUrl(
631
- schema.definitionUrl,
632
- this.context.downloadRelayer
633
- );
634
- if (definition && typeof definition === "object") {
635
- validateDataSchemaAgainstMetaSchema(definition);
636
- const dataSchema = definition;
637
- schema.version = dataSchema.version;
638
- schema.description = dataSchema.description;
639
- schema.schema = dataSchema.schema;
640
- }
641
- } catch (error) {
642
- console.error(
643
- `Failed to fetch/validate definition for schema ${schema.id}:`,
644
- error instanceof UrlResolutionError || error instanceof SchemaValidationError ? error.message : error
645
- );
646
- }
647
- })
648
- );
649
- }
650
- }
651
- export {
652
- SchemaController
653
- };
654
- //# sourceMappingURL=schemas.js.map