@opendatalabs/vana-sdk 0.1.0-alpha.db07fe1 → 0.1.0-alpha.dba79a3

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 (882) hide show
  1. package/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
  2. package/dist/browser.cjs +29 -0
  3. package/dist/browser.cjs.map +1 -0
  4. package/dist/browser.d.ts +36 -0
  5. package/dist/browser.js +5 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/chains/definitions.cjs +95 -0
  8. package/dist/chains/definitions.cjs.map +1 -0
  9. package/dist/chains/definitions.d.ts +51 -0
  10. package/dist/chains/definitions.js +67 -0
  11. package/dist/chains/definitions.js.map +1 -0
  12. package/dist/chains/index.cjs +37 -0
  13. package/dist/chains/index.cjs.map +1 -0
  14. package/dist/chains/index.d.ts +34 -0
  15. package/dist/chains/index.js +15 -0
  16. package/dist/chains/index.js.map +1 -0
  17. package/dist/chains.browser.d.ts +8 -0
  18. package/dist/chains.browser.js +15 -0
  19. package/dist/chains.browser.js.map +1 -0
  20. package/dist/chains.cjs +37 -0
  21. package/dist/chains.cjs.map +1 -0
  22. package/dist/chains.d.ts +8 -0
  23. package/dist/chains.js +15 -0
  24. package/dist/chains.js.map +1 -0
  25. package/dist/chains.node.cjs +37 -0
  26. package/dist/chains.node.cjs.map +1 -0
  27. package/dist/chains.node.d.ts +8 -0
  28. package/dist/chains.node.js +15 -0
  29. package/dist/chains.node.js.map +1 -0
  30. package/dist/config/addresses.cjs +325 -0
  31. package/dist/config/addresses.cjs.map +1 -0
  32. package/dist/config/addresses.d.ts +364 -0
  33. package/dist/config/addresses.js +295 -0
  34. package/dist/config/addresses.js.map +1 -0
  35. package/dist/config/chains.cjs +93 -0
  36. package/dist/config/chains.cjs.map +1 -0
  37. package/dist/config/chains.d.ts +180 -0
  38. package/dist/config/chains.js +67 -0
  39. package/dist/config/chains.js.map +1 -0
  40. package/dist/config/default-services.cjs +60 -0
  41. package/dist/config/default-services.cjs.map +1 -0
  42. package/dist/config/default-services.d.ts +46 -0
  43. package/dist/config/default-services.js +33 -0
  44. package/dist/config/default-services.js.map +1 -0
  45. package/dist/config/default-services.test.d.ts +1 -0
  46. package/dist/config/features.cjs +52 -0
  47. package/dist/config/features.cjs.map +1 -0
  48. package/dist/config/features.d.ts +62 -0
  49. package/dist/config/features.js +28 -0
  50. package/dist/config/features.js.map +1 -0
  51. package/dist/config/tests/addresses.test.d.ts +1 -0
  52. package/dist/contracts/contractController.cjs +126 -0
  53. package/dist/contracts/contractController.cjs.map +1 -0
  54. package/dist/contracts/contractController.d.ts +135 -0
  55. package/dist/contracts/contractController.js +100 -0
  56. package/dist/contracts/contractController.js.map +1 -0
  57. package/dist/contracts/tests/contractController.test.d.ts +1 -0
  58. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +7 -0
  59. package/dist/controllers/__tests__/operations.processQueue.test.d.ts +1 -0
  60. package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
  61. package/dist/controllers/base.cjs +116 -0
  62. package/dist/controllers/base.cjs.map +1 -0
  63. package/dist/controllers/base.d.ts +94 -0
  64. package/dist/controllers/base.js +92 -0
  65. package/dist/controllers/base.js.map +1 -0
  66. package/dist/controllers/data-error-handling.test.d.ts +1 -0
  67. package/dist/controllers/data.cjs +2627 -0
  68. package/dist/controllers/data.cjs.map +1 -0
  69. package/dist/controllers/data.d.ts +1060 -0
  70. package/dist/controllers/data.js +2620 -0
  71. package/dist/controllers/data.js.map +1 -0
  72. package/dist/controllers/operations.cjs +430 -0
  73. package/dist/controllers/operations.cjs.map +1 -0
  74. package/dist/controllers/operations.d.ts +229 -0
  75. package/dist/controllers/operations.js +406 -0
  76. package/dist/controllers/operations.js.map +1 -0
  77. package/dist/controllers/permissions.cjs +4172 -0
  78. package/dist/controllers/permissions.cjs.map +1 -0
  79. package/dist/controllers/permissions.d.ts +1318 -0
  80. package/dist/controllers/permissions.js +4148 -0
  81. package/dist/controllers/permissions.js.map +1 -0
  82. package/dist/controllers/protocol.cjs +183 -0
  83. package/dist/controllers/protocol.cjs.map +1 -0
  84. package/dist/controllers/protocol.d.ts +138 -0
  85. package/dist/controllers/protocol.js +163 -0
  86. package/dist/controllers/protocol.js.map +1 -0
  87. package/dist/controllers/schemas.cjs +609 -0
  88. package/dist/controllers/schemas.cjs.map +1 -0
  89. package/dist/controllers/schemas.d.ts +254 -0
  90. package/dist/controllers/schemas.js +585 -0
  91. package/dist/controllers/schemas.js.map +1 -0
  92. package/dist/controllers/server-additional.test.d.ts +1 -0
  93. package/dist/controllers/server.cjs +434 -0
  94. package/dist/controllers/server.cjs.map +1 -0
  95. package/dist/controllers/server.d.ts +225 -0
  96. package/dist/controllers/server.js +415 -0
  97. package/dist/controllers/server.js.map +1 -0
  98. package/dist/core/__tests__/health.test.d.ts +1 -0
  99. package/dist/core/__tests__/inMemoryNonceManager.test.d.ts +1 -0
  100. package/dist/core/__tests__/nonceManager.test.d.ts +1 -0
  101. package/dist/core/__tests__/pollingManager.test.d.ts +4 -0
  102. package/dist/core/apiClient.cjs +378 -0
  103. package/dist/core/apiClient.cjs.map +1 -0
  104. package/dist/core/apiClient.d.ts +286 -0
  105. package/dist/core/apiClient.js +359 -0
  106. package/dist/core/apiClient.js.map +1 -0
  107. package/dist/core/client.cjs +70 -0
  108. package/dist/core/client.cjs.map +1 -0
  109. package/dist/core/client.d.ts +89 -0
  110. package/dist/core/client.js +47 -0
  111. package/dist/core/client.js.map +1 -0
  112. package/dist/core/core.test.d.ts +1 -0
  113. package/dist/core/generics.cjs +417 -0
  114. package/dist/core/generics.cjs.map +1 -0
  115. package/dist/core/generics.d.ts +205 -0
  116. package/dist/core/generics.js +386 -0
  117. package/dist/core/generics.js.map +1 -0
  118. package/dist/core/health.cjs +289 -0
  119. package/dist/core/health.cjs.map +1 -0
  120. package/dist/core/health.d.ts +143 -0
  121. package/dist/core/health.js +265 -0
  122. package/dist/core/health.js.map +1 -0
  123. package/dist/core/inMemoryNonceManager.cjs +138 -0
  124. package/dist/core/inMemoryNonceManager.cjs.map +1 -0
  125. package/dist/core/inMemoryNonceManager.d.ts +69 -0
  126. package/dist/core/inMemoryNonceManager.js +114 -0
  127. package/dist/core/inMemoryNonceManager.js.map +1 -0
  128. package/dist/core/nonceManager.cjs +304 -0
  129. package/dist/core/nonceManager.cjs.map +1 -0
  130. package/dist/core/nonceManager.d.ts +116 -0
  131. package/dist/core/nonceManager.js +280 -0
  132. package/dist/core/nonceManager.js.map +1 -0
  133. package/dist/core/pollingManager.cjs +292 -0
  134. package/dist/core/pollingManager.cjs.map +1 -0
  135. package/dist/core/pollingManager.d.ts +120 -0
  136. package/dist/core/pollingManager.js +268 -0
  137. package/dist/core/pollingManager.js.map +1 -0
  138. package/dist/core/tests/apiClient.test.d.ts +1 -0
  139. package/dist/core/tests/client.test.d.ts +1 -0
  140. package/dist/core/tests/generics.test.d.ts +1 -0
  141. package/dist/core.cjs +731 -0
  142. package/dist/core.cjs.map +1 -0
  143. package/dist/core.d.ts +449 -0
  144. package/dist/core.js +706 -0
  145. package/dist/core.js.map +1 -0
  146. package/dist/crypto/ecies/__tests__/base.test.d.ts +4 -0
  147. package/dist/crypto/ecies/__tests__/compatibility.test.d.ts +8 -0
  148. package/dist/crypto/ecies/__tests__/constants.test.d.ts +4 -0
  149. package/dist/crypto/ecies/__tests__/native-parity.test.d.ts +7 -0
  150. package/dist/crypto/ecies/__tests__/normalization.test.d.ts +1 -0
  151. package/dist/crypto/ecies/__tests__/test-vectors.cjs +102 -0
  152. package/dist/crypto/ecies/__tests__/test-vectors.cjs.map +1 -0
  153. package/dist/crypto/ecies/__tests__/test-vectors.d.ts +38 -0
  154. package/dist/crypto/ecies/__tests__/test-vectors.js +77 -0
  155. package/dist/crypto/ecies/__tests__/test-vectors.js.map +1 -0
  156. package/dist/crypto/ecies/base.cjs +245 -0
  157. package/dist/crypto/ecies/base.cjs.map +1 -0
  158. package/dist/crypto/ecies/base.d.ts +140 -0
  159. package/dist/crypto/ecies/base.js +221 -0
  160. package/dist/crypto/ecies/base.js.map +1 -0
  161. package/dist/crypto/ecies/browser.cjs +165 -0
  162. package/dist/crypto/ecies/browser.cjs.map +1 -0
  163. package/dist/crypto/ecies/browser.d.ts +43 -0
  164. package/dist/crypto/ecies/browser.js +131 -0
  165. package/dist/crypto/ecies/browser.js.map +1 -0
  166. package/dist/crypto/ecies/constants.cjs +131 -0
  167. package/dist/crypto/ecies/constants.cjs.map +1 -0
  168. package/dist/crypto/ecies/constants.d.ts +120 -0
  169. package/dist/crypto/ecies/constants.js +101 -0
  170. package/dist/crypto/ecies/constants.js.map +1 -0
  171. package/dist/crypto/ecies/index.cjs +35 -0
  172. package/dist/crypto/ecies/index.cjs.map +1 -0
  173. package/dist/crypto/ecies/index.d.ts +8 -0
  174. package/dist/crypto/ecies/index.js +13 -0
  175. package/dist/crypto/ecies/index.js.map +1 -0
  176. package/dist/crypto/ecies/interface.cjs +87 -0
  177. package/dist/crypto/ecies/interface.cjs.map +1 -0
  178. package/dist/crypto/ecies/interface.d.ts +174 -0
  179. package/dist/crypto/ecies/interface.js +60 -0
  180. package/dist/crypto/ecies/interface.js.map +1 -0
  181. package/dist/crypto/ecies/node.cjs +167 -0
  182. package/dist/crypto/ecies/node.cjs.map +1 -0
  183. package/dist/crypto/ecies/node.d.ts +45 -0
  184. package/dist/crypto/ecies/node.js +139 -0
  185. package/dist/crypto/ecies/node.js.map +1 -0
  186. package/dist/crypto/ecies/test-vectors/eccrypto-vectors.json +72 -0
  187. package/dist/crypto/ecies/utils.cjs +52 -0
  188. package/dist/crypto/ecies/utils.cjs.map +1 -0
  189. package/dist/crypto/ecies/utils.d.ts +30 -0
  190. package/dist/crypto/ecies/utils.js +26 -0
  191. package/dist/crypto/ecies/utils.js.map +1 -0
  192. package/dist/crypto/services/WalletKeyEncryptionService.cjs +128 -0
  193. package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -0
  194. package/dist/crypto/services/WalletKeyEncryptionService.d.ts +88 -0
  195. package/dist/crypto/services/WalletKeyEncryptionService.js +108 -0
  196. package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -0
  197. package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
  198. package/dist/diagnostics.cjs +37 -0
  199. package/dist/diagnostics.cjs.map +1 -0
  200. package/dist/diagnostics.d.ts +24 -0
  201. package/dist/diagnostics.js +13 -0
  202. package/dist/diagnostics.js.map +1 -0
  203. package/dist/diagnostics.test.d.ts +1 -0
  204. package/dist/errors.cjs +186 -0
  205. package/dist/errors.cjs.map +1 -0
  206. package/dist/errors.d.ts +452 -0
  207. package/dist/errors.js +148 -0
  208. package/dist/errors.js.map +1 -0
  209. package/dist/generated/abi/ComputeEngineImplementation.cjs +1313 -0
  210. package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -0
  211. package/dist/generated/abi/ComputeEngineImplementation.d.ts +995 -0
  212. package/dist/generated/abi/ComputeEngineImplementation.js +1289 -0
  213. package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -0
  214. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs +734 -0
  215. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -0
  216. package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +544 -0
  217. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js +710 -0
  218. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -0
  219. package/dist/generated/abi/DATFactoryImplementation.cjs +882 -0
  220. package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -0
  221. package/dist/generated/abi/DATFactoryImplementation.d.ts +660 -0
  222. package/dist/generated/abi/DATFactoryImplementation.js +858 -0
  223. package/dist/generated/abi/DATFactoryImplementation.js.map +1 -0
  224. package/dist/generated/abi/DATImplementation.cjs +934 -0
  225. package/dist/generated/abi/DATImplementation.cjs.map +1 -0
  226. package/dist/generated/abi/DATImplementation.d.ts +692 -0
  227. package/dist/generated/abi/DATImplementation.js +910 -0
  228. package/dist/generated/abi/DATImplementation.js.map +1 -0
  229. package/dist/generated/abi/DATPausableImplementation.cjs +1523 -0
  230. package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -0
  231. package/dist/generated/abi/DATPausableImplementation.d.ts +1144 -0
  232. package/dist/generated/abi/DATPausableImplementation.js +1499 -0
  233. package/dist/generated/abi/DATPausableImplementation.js.map +1 -0
  234. package/dist/generated/abi/DATVotesImplementation.cjs +1460 -0
  235. package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -0
  236. package/dist/generated/abi/DATVotesImplementation.d.ts +1094 -0
  237. package/dist/generated/abi/DATVotesImplementation.js +1436 -0
  238. package/dist/generated/abi/DATVotesImplementation.js.map +1 -0
  239. package/dist/generated/abi/DLPPerformanceImplementation.cjs +1160 -0
  240. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -0
  241. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +882 -0
  242. package/dist/generated/abi/DLPPerformanceImplementation.js +1136 -0
  243. package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -0
  244. package/dist/generated/abi/DLPRegistryImplementation.cjs +1469 -0
  245. package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -0
  246. package/dist/generated/abi/DLPRegistryImplementation.d.ts +1122 -0
  247. package/dist/generated/abi/DLPRegistryImplementation.js +1445 -0
  248. package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -0
  249. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs +612 -0
  250. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -0
  251. package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +451 -0
  252. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js +588 -0
  253. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -0
  254. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +948 -0
  255. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -0
  256. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +713 -0
  257. package/dist/generated/abi/DLPRewardDeployerImplementation.js +924 -0
  258. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -0
  259. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +612 -0
  260. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +1 -0
  261. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +451 -0
  262. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +588 -0
  263. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +1 -0
  264. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +939 -0
  265. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -0
  266. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +705 -0
  267. package/dist/generated/abi/DLPRewardSwapImplementation.js +915 -0
  268. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -0
  269. package/dist/generated/abi/DLPRootImplementation.cjs +1644 -0
  270. package/dist/generated/abi/DLPRootImplementation.cjs.map +1 -0
  271. package/dist/generated/abi/DLPRootImplementation.d.ts +1246 -0
  272. package/dist/generated/abi/DLPRootImplementation.js +1620 -0
  273. package/dist/generated/abi/DLPRootImplementation.js.map +1 -0
  274. package/dist/generated/abi/DLPTreasuryImplementation.cjs +612 -0
  275. package/dist/generated/abi/DLPTreasuryImplementation.cjs.map +1 -0
  276. package/dist/generated/abi/DLPTreasuryImplementation.d.ts +451 -0
  277. package/dist/generated/abi/DLPTreasuryImplementation.js +588 -0
  278. package/dist/generated/abi/DLPTreasuryImplementation.js.map +1 -0
  279. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +985 -0
  280. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +1 -0
  281. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +735 -0
  282. package/dist/generated/abi/DataLiquidityPoolImplementation.js +961 -0
  283. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +1 -0
  284. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +888 -0
  285. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -0
  286. package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +660 -0
  287. package/dist/generated/abi/DataPortabilityGranteesImplementation.js +864 -0
  288. package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -0
  289. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +1317 -0
  290. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -0
  291. package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +988 -0
  292. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +1293 -0
  293. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -0
  294. package/dist/generated/abi/DataPortabilityServersImplementation.cjs +1438 -0
  295. package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -0
  296. package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +1085 -0
  297. package/dist/generated/abi/DataPortabilityServersImplementation.js +1414 -0
  298. package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -0
  299. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs +984 -0
  300. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -0
  301. package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +736 -0
  302. package/dist/generated/abi/DataRefinerRegistryImplementation.js +960 -0
  303. package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -0
  304. package/dist/generated/abi/DataRegistryImplementation.cjs +1341 -0
  305. package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -0
  306. package/dist/generated/abi/DataRegistryImplementation.d.ts +1013 -0
  307. package/dist/generated/abi/DataRegistryImplementation.js +1317 -0
  308. package/dist/generated/abi/DataRegistryImplementation.js.map +1 -0
  309. package/dist/generated/abi/QueryEngineImplementation.cjs +1319 -0
  310. package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -0
  311. package/dist/generated/abi/QueryEngineImplementation.d.ts +1000 -0
  312. package/dist/generated/abi/QueryEngineImplementation.js +1295 -0
  313. package/dist/generated/abi/QueryEngineImplementation.js.map +1 -0
  314. package/dist/generated/abi/SwapHelperImplementation.cjs +1019 -0
  315. package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -0
  316. package/dist/generated/abi/SwapHelperImplementation.d.ts +763 -0
  317. package/dist/generated/abi/SwapHelperImplementation.js +995 -0
  318. package/dist/generated/abi/SwapHelperImplementation.js.map +1 -0
  319. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs +936 -0
  320. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -0
  321. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +700 -0
  322. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js +912 -0
  323. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -0
  324. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs +936 -0
  325. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -0
  326. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +700 -0
  327. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js +912 -0
  328. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -0
  329. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs +936 -0
  330. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -0
  331. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +700 -0
  332. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js +912 -0
  333. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -0
  334. package/dist/generated/abi/TeePoolImplementation.cjs +1313 -0
  335. package/dist/generated/abi/TeePoolImplementation.cjs.map +1 -0
  336. package/dist/generated/abi/TeePoolImplementation.d.ts +992 -0
  337. package/dist/generated/abi/TeePoolImplementation.js +1289 -0
  338. package/dist/generated/abi/TeePoolImplementation.js.map +1 -0
  339. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs +936 -0
  340. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -0
  341. package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +700 -0
  342. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js +912 -0
  343. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -0
  344. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs +936 -0
  345. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -0
  346. package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +700 -0
  347. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js +912 -0
  348. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -0
  349. package/dist/generated/abi/TeePoolPhalaImplementation.cjs +1313 -0
  350. package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -0
  351. package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +992 -0
  352. package/dist/generated/abi/TeePoolPhalaImplementation.js +1289 -0
  353. package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -0
  354. package/dist/generated/abi/VanaEpochImplementation.cjs +1188 -0
  355. package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -0
  356. package/dist/generated/abi/VanaEpochImplementation.d.ts +899 -0
  357. package/dist/generated/abi/VanaEpochImplementation.js +1164 -0
  358. package/dist/generated/abi/VanaEpochImplementation.js.map +1 -0
  359. package/dist/generated/abi/VanaPoolEntityImplementation.cjs +1234 -0
  360. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -0
  361. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +933 -0
  362. package/dist/generated/abi/VanaPoolEntityImplementation.js +1210 -0
  363. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -0
  364. package/dist/generated/abi/VanaPoolStakingImplementation.cjs +921 -0
  365. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -0
  366. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +692 -0
  367. package/dist/generated/abi/VanaPoolStakingImplementation.js +897 -0
  368. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -0
  369. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs +538 -0
  370. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -0
  371. package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +393 -0
  372. package/dist/generated/abi/VanaPoolTreasuryImplementation.js +514 -0
  373. package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -0
  374. package/dist/generated/abi/index.cjs +177 -0
  375. package/dist/generated/abi/index.cjs.map +1 -0
  376. package/dist/generated/abi/index.d.ts +26545 -0
  377. package/dist/generated/abi/index.js +120 -0
  378. package/dist/generated/abi/index.js.map +1 -0
  379. package/dist/generated/event-types.cjs +17 -0
  380. package/dist/generated/event-types.cjs.map +1 -0
  381. package/dist/generated/event-types.d.ts +854 -0
  382. package/dist/generated/event-types.js +1 -0
  383. package/dist/generated/event-types.js.map +1 -0
  384. package/dist/generated/eventRegistry.cjs +3351 -0
  385. package/dist/generated/eventRegistry.cjs.map +1 -0
  386. package/dist/generated/eventRegistry.d.ts +14 -0
  387. package/dist/generated/eventRegistry.js +3326 -0
  388. package/dist/generated/eventRegistry.js.map +1 -0
  389. package/dist/generated/server/server-exports.cjs +23 -0
  390. package/dist/generated/server/server-exports.cjs.map +1 -0
  391. package/dist/generated/server/server-exports.d.ts +19 -0
  392. package/dist/generated/server/server-exports.js +2 -0
  393. package/dist/generated/server/server-exports.js.map +1 -0
  394. package/dist/generated/server/server.cjs +17 -0
  395. package/dist/generated/server/server.cjs.map +1 -0
  396. package/dist/generated/server/server.d.ts +538 -0
  397. package/dist/generated/server/server.js +1 -0
  398. package/dist/generated/server/server.js.map +1 -0
  399. package/dist/generated/subgraph.cjs +1440 -0
  400. package/dist/generated/subgraph.cjs.map +1 -0
  401. package/dist/generated/subgraph.d.ts +6113 -0
  402. package/dist/generated/subgraph.js +1404 -0
  403. package/dist/generated/subgraph.js.map +1 -0
  404. package/dist/index.browser.d.ts +153 -0
  405. package/dist/index.browser.js +120 -0
  406. package/dist/index.browser.js.map +1 -0
  407. package/dist/index.cjs +5 -0
  408. package/dist/index.cjs.map +1 -0
  409. package/dist/index.d.ts +0 -0
  410. package/dist/index.js +4 -0
  411. package/dist/index.js.map +1 -0
  412. package/dist/index.node.cjs +191 -0
  413. package/dist/index.node.cjs.map +1 -0
  414. package/dist/index.node.d.ts +223 -0
  415. package/dist/index.node.js +142 -0
  416. package/dist/index.node.js.map +1 -0
  417. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +1 -0
  418. package/dist/lib/redisAtomicStore.cjs +201 -0
  419. package/dist/lib/redisAtomicStore.cjs.map +1 -0
  420. package/dist/lib/redisAtomicStore.d.ts +120 -0
  421. package/dist/lib/redisAtomicStore.js +177 -0
  422. package/dist/lib/redisAtomicStore.js.map +1 -0
  423. package/dist/node.cjs +29 -0
  424. package/dist/node.cjs.map +1 -0
  425. package/dist/node.d.ts +42 -0
  426. package/dist/node.js +5 -0
  427. package/dist/node.js.map +1 -0
  428. package/dist/platform/browser-only.cjs +37 -0
  429. package/dist/platform/browser-only.cjs.map +1 -0
  430. package/dist/platform/browser-only.d.ts +22 -0
  431. package/dist/platform/browser-only.js +12 -0
  432. package/dist/platform/browser-only.js.map +1 -0
  433. package/dist/platform/browser-only.test.d.ts +1 -0
  434. package/dist/platform/browser-safe.cjs +57 -0
  435. package/dist/platform/browser-safe.cjs.map +1 -0
  436. package/dist/platform/browser-safe.d.ts +29 -0
  437. package/dist/platform/browser-safe.js +31 -0
  438. package/dist/platform/browser-safe.js.map +1 -0
  439. package/dist/platform/browser-safe.test.d.ts +1 -0
  440. package/dist/platform/browser.cjs +488 -0
  441. package/dist/platform/browser.cjs.map +1 -0
  442. package/dist/platform/browser.d.ts +291 -0
  443. package/dist/platform/browser.js +454 -0
  444. package/dist/platform/browser.js.map +1 -0
  445. package/dist/platform/browser.test.d.ts +1 -0
  446. package/dist/platform/index.cjs +50 -0
  447. package/dist/platform/index.cjs.map +1 -0
  448. package/dist/platform/index.d.ts +11 -0
  449. package/dist/platform/index.js +27 -0
  450. package/dist/platform/index.js.map +1 -0
  451. package/dist/platform/interface.cjs +17 -0
  452. package/dist/platform/interface.cjs.map +1 -0
  453. package/dist/platform/interface.d.ts +409 -0
  454. package/dist/platform/interface.js +1 -0
  455. package/dist/platform/interface.js.map +1 -0
  456. package/dist/platform/node.cjs +512 -0
  457. package/dist/platform/node.cjs.map +1 -0
  458. package/dist/platform/node.d.ts +86 -0
  459. package/dist/platform/node.js +481 -0
  460. package/dist/platform/node.js.map +1 -0
  461. package/dist/platform/ports/openpgp-port.cjs +74 -0
  462. package/dist/platform/ports/openpgp-port.cjs.map +1 -0
  463. package/dist/platform/ports/openpgp-port.d.ts +13 -0
  464. package/dist/platform/ports/openpgp-port.js +59 -0
  465. package/dist/platform/ports/openpgp-port.js.map +1 -0
  466. package/dist/platform/ports/pgp-port.cjs +17 -0
  467. package/dist/platform/ports/pgp-port.cjs.map +1 -0
  468. package/dist/platform/ports/pgp-port.d.ts +35 -0
  469. package/dist/platform/ports/pgp-port.js +1 -0
  470. package/dist/platform/ports/pgp-port.js.map +1 -0
  471. package/dist/platform/shared/error-utils.cjs +43 -0
  472. package/dist/platform/shared/error-utils.cjs.map +1 -0
  473. package/dist/platform/shared/error-utils.d.ts +23 -0
  474. package/dist/platform/shared/error-utils.js +18 -0
  475. package/dist/platform/shared/error-utils.js.map +1 -0
  476. package/dist/platform/shared/pgp-utils.cjs +55 -0
  477. package/dist/platform/shared/pgp-utils.cjs.map +1 -0
  478. package/dist/platform/shared/pgp-utils.d.ts +59 -0
  479. package/dist/platform/shared/pgp-utils.js +29 -0
  480. package/dist/platform/shared/pgp-utils.js.map +1 -0
  481. package/dist/platform/shared/stream-utils.cjs +49 -0
  482. package/dist/platform/shared/stream-utils.cjs.map +1 -0
  483. package/dist/platform/shared/stream-utils.d.ts +14 -0
  484. package/dist/platform/shared/stream-utils.js +25 -0
  485. package/dist/platform/shared/stream-utils.js.map +1 -0
  486. package/dist/platform/utils.cjs +114 -0
  487. package/dist/platform/utils.cjs.map +1 -0
  488. package/dist/platform/utils.d.ts +49 -0
  489. package/dist/platform/utils.js +76 -0
  490. package/dist/platform/utils.js.map +1 -0
  491. package/dist/platform/utils.test.d.ts +1 -0
  492. package/dist/platform.browser.d.ts +9 -0
  493. package/dist/platform.browser.js +19 -0
  494. package/dist/platform.browser.js.map +1 -0
  495. package/dist/platform.cjs +50 -0
  496. package/dist/platform.cjs.map +1 -0
  497. package/dist/platform.d.ts +11 -0
  498. package/dist/platform.js +27 -0
  499. package/dist/platform.js.map +1 -0
  500. package/dist/platform.node.cjs +50 -0
  501. package/dist/platform.node.cjs.map +1 -0
  502. package/dist/platform.node.d.ts +10 -0
  503. package/dist/platform.node.js +27 -0
  504. package/dist/platform.node.js.map +1 -0
  505. package/dist/schemas/dataSchema.schema.json +53 -0
  506. package/dist/schemas/grantFile.schema.json +43 -0
  507. package/dist/server/relayerHandler.cjs +420 -0
  508. package/dist/server/relayerHandler.cjs.map +1 -0
  509. package/dist/server/relayerHandler.d.ts +69 -0
  510. package/dist/server/relayerHandler.js +396 -0
  511. package/dist/server/relayerHandler.js.map +1 -0
  512. package/dist/storage/index.cjs +44 -0
  513. package/dist/storage/index.cjs.map +1 -0
  514. package/dist/storage/index.d.ts +56 -0
  515. package/dist/storage/index.js +15 -0
  516. package/dist/storage/index.js.map +1 -0
  517. package/dist/storage/manager.cjs +272 -0
  518. package/dist/storage/manager.cjs.map +1 -0
  519. package/dist/storage/manager.d.ts +241 -0
  520. package/dist/storage/manager.js +248 -0
  521. package/dist/storage/manager.js.map +1 -0
  522. package/dist/storage/providers/callback-storage.cjs +248 -0
  523. package/dist/storage/providers/callback-storage.cjs.map +1 -0
  524. package/dist/storage/providers/callback-storage.d.ts +183 -0
  525. package/dist/storage/providers/callback-storage.js +226 -0
  526. package/dist/storage/providers/callback-storage.js.map +1 -0
  527. package/dist/storage/providers/google-drive.cjs +516 -0
  528. package/dist/storage/providers/google-drive.cjs.map +1 -0
  529. package/dist/storage/providers/google-drive.d.ts +152 -0
  530. package/dist/storage/providers/google-drive.js +494 -0
  531. package/dist/storage/providers/google-drive.js.map +1 -0
  532. package/dist/storage/providers/google-drive.test.d.ts +1 -0
  533. package/dist/storage/providers/ipfs.cjs +283 -0
  534. package/dist/storage/providers/ipfs.cjs.map +1 -0
  535. package/dist/storage/providers/ipfs.d.ts +160 -0
  536. package/dist/storage/providers/ipfs.js +261 -0
  537. package/dist/storage/providers/ipfs.js.map +1 -0
  538. package/dist/storage/providers/pinata.cjs +339 -0
  539. package/dist/storage/providers/pinata.cjs.map +1 -0
  540. package/dist/storage/providers/pinata.d.ts +168 -0
  541. package/dist/storage/providers/pinata.js +317 -0
  542. package/dist/storage/providers/pinata.js.map +1 -0
  543. package/dist/storage/tests/callbackStorage.test.d.ts +1 -0
  544. package/dist/storage/tests/googleDriveStorage.test.d.ts +1 -0
  545. package/dist/storage/tests/ipfsStorage.test.d.ts +1 -0
  546. package/dist/storage/tests/pinataStorage.test.d.ts +1 -0
  547. package/dist/storage/tests/storageManager.test.d.ts +1 -0
  548. package/dist/tests/abi.test.d.ts +1 -0
  549. package/dist/tests/chains-definitions.test.d.ts +1 -0
  550. package/dist/tests/core-encryption.test.d.ts +1 -0
  551. package/dist/tests/core-extended.test.d.ts +1 -0
  552. package/dist/tests/core-generics-coverage.test.d.ts +1 -0
  553. package/dist/tests/coverage-boost.test.d.ts +1 -0
  554. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +1 -0
  555. package/dist/tests/data-addfile-permissions-schema.test.d.ts +1 -0
  556. package/dist/tests/data-additional-methods.test.d.ts +1 -0
  557. package/dist/tests/data-controller-edge-cases.test.d.ts +1 -0
  558. package/dist/tests/data-ipfs-gateways.test.d.ts +1 -0
  559. package/dist/tests/data-relayer.test.d.ts +1 -0
  560. package/dist/tests/data-schema-validation.test.d.ts +1 -0
  561. package/dist/tests/data-simple-methods.test.d.ts +1 -0
  562. package/dist/tests/data.test.d.ts +1 -0
  563. package/dist/tests/demo-integration.test.d.ts +1 -0
  564. package/dist/tests/demo-trusted-server-integration.test.d.ts +1 -0
  565. package/dist/tests/download-relayer.test.d.ts +1 -0
  566. package/dist/tests/dual-mode-permissions.test.d.ts +1 -0
  567. package/dist/tests/dual-mode-trusted-servers.test.d.ts +1 -0
  568. package/dist/tests/encryption-correct-implementation.test.d.ts +1 -0
  569. package/dist/tests/encryption-coverage.test.d.ts +1 -0
  570. package/dist/tests/encryption-edge-cases.test.d.ts +1 -0
  571. package/dist/tests/encryption-utils-updated.test.d.ts +1 -0
  572. package/dist/tests/errors-coverage.test.d.ts +1 -0
  573. package/dist/tests/errors.test.d.ts +1 -0
  574. package/dist/tests/factories/mockFactory.d.ts +316 -0
  575. package/dist/tests/fakes/FakeStorageManager.d.ts +200 -0
  576. package/dist/tests/fakes/FakeStorageManager.test.d.ts +1 -0
  577. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +170 -0
  578. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +1 -0
  579. package/dist/tests/fakes/fake-pgp-port.d.ts +13 -0
  580. package/dist/tests/grantValidation-edge-cases.test.d.ts +1 -0
  581. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +1 -0
  582. package/dist/tests/helper-methods.test.d.ts +1 -0
  583. package/dist/tests/helpers/platformTestHelpers.d.ts +106 -0
  584. package/dist/tests/helpers/typedMocks.d.ts +64 -0
  585. package/dist/tests/index-browser.test.d.ts +1 -0
  586. package/dist/tests/index-node.test.d.ts +1 -0
  587. package/dist/tests/index.test.d.ts +1 -0
  588. package/dist/tests/mocks/platformAdapter.d.ts +12 -0
  589. package/dist/tests/new-permissions-methods.test.d.ts +1 -0
  590. package/dist/tests/no-buffer-browser.test.d.ts +1 -0
  591. package/dist/tests/permissions-grantee.test.d.ts +1 -0
  592. package/dist/tests/permissions-revoke-relayer.test.d.ts +1 -0
  593. package/dist/tests/permissions-schema-validation.test.d.ts +1 -0
  594. package/dist/tests/permissions-server-files.test.d.ts +1 -0
  595. package/dist/tests/permissions-transaction-options.test.d.ts +1 -0
  596. package/dist/tests/permissions-trust-servers.test.d.ts +1 -0
  597. package/dist/tests/permissions.test.d.ts +1 -0
  598. package/dist/tests/personal.test.d.ts +1 -0
  599. package/dist/tests/platform-browser.test.d.ts +1 -0
  600. package/dist/tests/platform-crypto-expanded.test.d.ts +1 -0
  601. package/dist/tests/platform-crypto.test.d.ts +1 -0
  602. package/dist/tests/platform-index.test.d.ts +1 -0
  603. package/dist/tests/platform-node.test.d.ts +1 -0
  604. package/dist/tests/platform-shared-utils.test.d.ts +1 -0
  605. package/dist/tests/platform-updated.test.d.ts +1 -0
  606. package/dist/tests/protocol-additional-methods.test.d.ts +1 -0
  607. package/dist/tests/protocol.test.d.ts +1 -0
  608. package/dist/tests/read-only-mode.test.d.ts +1 -0
  609. package/dist/tests/relayer-integration.test.d.ts +1 -0
  610. package/dist/tests/relayer-unified.test.d.ts +1 -0
  611. package/dist/tests/schemas.test.d.ts +1 -0
  612. package/dist/tests/server-relayer-handler.test.d.ts +1 -0
  613. package/dist/tests/setup.d.ts +7 -0
  614. package/dist/tests/signatureFormatter.test.d.ts +1 -0
  615. package/dist/tests/trusted-server-queries.test.d.ts +1 -0
  616. package/dist/tests/typedDataConverter.test.d.ts +1 -0
  617. package/dist/tests/types-contracts.test.d.ts +1 -0
  618. package/dist/tests/types-data.test.d.ts +1 -0
  619. package/dist/tests/types-external-apis.test.d.ts +1 -0
  620. package/dist/tests/types-generics.test.d.ts +1 -0
  621. package/dist/tests/types-permissions.test.d.ts +1 -0
  622. package/dist/tests/types-upload-params.test.d.ts +1 -0
  623. package/dist/tests/types.test.d.ts +1 -0
  624. package/dist/tests/utils-formatters.test.d.ts +1 -0
  625. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +1 -0
  626. package/dist/tests/utils-grantFiles-validation.test.d.ts +1 -0
  627. package/dist/tests/utils-grantFiles.test.d.ts +1 -0
  628. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +1 -0
  629. package/dist/tests/utils-grants.test.d.ts +1 -0
  630. package/dist/tests/utils-ipfs-additional.test.d.ts +1 -0
  631. package/dist/tests/utils-ipfs.test.d.ts +4 -0
  632. package/dist/tests/utils-schemaValidation.test.d.ts +1 -0
  633. package/dist/tests/vana.test.d.ts +1 -0
  634. package/dist/tests/wallet-crypto-compatibility.test.d.ts +1 -0
  635. package/dist/types/atomicStore.cjs +31 -0
  636. package/dist/types/atomicStore.cjs.map +1 -0
  637. package/dist/types/atomicStore.d.ts +236 -0
  638. package/dist/types/atomicStore.js +7 -0
  639. package/dist/types/atomicStore.js.map +1 -0
  640. package/dist/types/blockchain.cjs +17 -0
  641. package/dist/types/blockchain.cjs.map +1 -0
  642. package/dist/types/blockchain.d.ts +85 -0
  643. package/dist/types/blockchain.js +1 -0
  644. package/dist/types/blockchain.js.map +1 -0
  645. package/dist/types/chains-additional.test.d.ts +1 -0
  646. package/dist/types/chains.cjs +36 -0
  647. package/dist/types/chains.cjs.map +1 -0
  648. package/dist/types/chains.d.ts +98 -0
  649. package/dist/types/chains.js +11 -0
  650. package/dist/types/chains.js.map +1 -0
  651. package/dist/types/config.cjs +51 -0
  652. package/dist/types/config.cjs.map +1 -0
  653. package/dist/types/config.d.ts +720 -0
  654. package/dist/types/config.js +23 -0
  655. package/dist/types/config.js.map +1 -0
  656. package/dist/types/contracts.cjs +17 -0
  657. package/dist/types/contracts.cjs.map +1 -0
  658. package/dist/types/contracts.d.ts +129 -0
  659. package/dist/types/contracts.js +1 -0
  660. package/dist/types/contracts.js.map +1 -0
  661. package/dist/types/controller-context.cjs +17 -0
  662. package/dist/types/controller-context.cjs.map +1 -0
  663. package/dist/types/controller-context.d.ts +68 -0
  664. package/dist/types/controller-context.js +1 -0
  665. package/dist/types/controller-context.js.map +1 -0
  666. package/dist/types/data.cjs +17 -0
  667. package/dist/types/data.cjs.map +1 -0
  668. package/dist/types/data.d.ts +763 -0
  669. package/dist/types/data.js +1 -0
  670. package/dist/types/data.js.map +1 -0
  671. package/dist/types/eccrypto-js.d.cjs +2 -0
  672. package/dist/types/eccrypto-js.d.cjs.map +1 -0
  673. package/dist/types/eccrypto-js.d.js +1 -0
  674. package/dist/types/eccrypto-js.d.js.map +1 -0
  675. package/dist/types/external-apis.cjs +61 -0
  676. package/dist/types/external-apis.cjs.map +1 -0
  677. package/dist/types/external-apis.d.ts +184 -0
  678. package/dist/types/external-apis.js +34 -0
  679. package/dist/types/external-apis.js.map +1 -0
  680. package/dist/types/generics.cjs +17 -0
  681. package/dist/types/generics.cjs.map +1 -0
  682. package/dist/types/generics.d.ts +518 -0
  683. package/dist/types/generics.js +1 -0
  684. package/dist/types/generics.js.map +1 -0
  685. package/dist/types/index.cjs +65 -0
  686. package/dist/types/index.cjs.map +1 -0
  687. package/dist/types/index.d.ts +48 -0
  688. package/dist/types/index.js +42 -0
  689. package/dist/types/index.js.map +1 -0
  690. package/dist/types/operationStore.cjs +17 -0
  691. package/dist/types/operationStore.cjs.map +1 -0
  692. package/dist/types/operationStore.d.ts +171 -0
  693. package/dist/types/operationStore.js +1 -0
  694. package/dist/types/operationStore.js.map +1 -0
  695. package/dist/types/operations.cjs +65 -0
  696. package/dist/types/operations.cjs.map +1 -0
  697. package/dist/types/operations.d.ts +230 -0
  698. package/dist/types/operations.js +37 -0
  699. package/dist/types/operations.js.map +1 -0
  700. package/dist/types/options.cjs +17 -0
  701. package/dist/types/options.cjs.map +1 -0
  702. package/dist/types/options.d.ts +308 -0
  703. package/dist/types/options.js +1 -0
  704. package/dist/types/options.js.map +1 -0
  705. package/dist/types/permissions.cjs +17 -0
  706. package/dist/types/permissions.cjs.map +1 -0
  707. package/dist/types/permissions.d.ts +951 -0
  708. package/dist/types/permissions.js +1 -0
  709. package/dist/types/permissions.js.map +1 -0
  710. package/dist/types/personal.cjs +17 -0
  711. package/dist/types/personal.cjs.map +1 -0
  712. package/dist/types/personal.d.ts +155 -0
  713. package/dist/types/personal.js +1 -0
  714. package/dist/types/personal.js.map +1 -0
  715. package/dist/types/relayer.cjs +17 -0
  716. package/dist/types/relayer.cjs.map +1 -0
  717. package/dist/types/relayer.d.ts +527 -0
  718. package/dist/types/relayer.js +1 -0
  719. package/dist/types/relayer.js.map +1 -0
  720. package/dist/types/storage.cjs +39 -0
  721. package/dist/types/storage.cjs.map +1 -0
  722. package/dist/types/storage.d.ts +117 -0
  723. package/dist/types/storage.js +15 -0
  724. package/dist/types/storage.js.map +1 -0
  725. package/dist/types/transactionResults.cjs +17 -0
  726. package/dist/types/transactionResults.cjs.map +1 -0
  727. package/dist/types/transactionResults.d.ts +193 -0
  728. package/dist/types/transactionResults.js +1 -0
  729. package/dist/types/transactionResults.js.map +1 -0
  730. package/dist/types/utils.cjs +17 -0
  731. package/dist/types/utils.cjs.map +1 -0
  732. package/dist/types/utils.d.ts +771 -0
  733. package/dist/types/utils.js +1 -0
  734. package/dist/types/utils.js.map +1 -0
  735. package/dist/types.cjs +23 -0
  736. package/dist/types.cjs.map +1 -0
  737. package/dist/types.d.ts +30 -0
  738. package/dist/types.js +2 -0
  739. package/dist/types.js.map +1 -0
  740. package/dist/utils/__tests__/parseTransaction.test.d.ts +1 -0
  741. package/dist/utils/__tests__/pojo-serialization.test.d.ts +1 -0
  742. package/dist/utils/__tests__/signatureCache.test.d.ts +1 -0
  743. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +4 -0
  744. package/dist/utils/__tests__/subgraphPagination.test.d.ts +4 -0
  745. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +1 -0
  746. package/dist/utils/__tests__/transactionHelpers.test.d.ts +1 -0
  747. package/dist/utils/__tests__/urlResolver.test.d.ts +4 -0
  748. package/dist/utils/blockchain/registry.cjs +81 -0
  749. package/dist/utils/blockchain/registry.cjs.map +1 -0
  750. package/dist/utils/blockchain/registry.d.ts +32 -0
  751. package/dist/utils/blockchain/registry.js +56 -0
  752. package/dist/utils/blockchain/registry.js.map +1 -0
  753. package/dist/utils/blockchain/registry.test.d.ts +1 -0
  754. package/dist/utils/chainQuery.cjs +107 -0
  755. package/dist/utils/chainQuery.cjs.map +1 -0
  756. package/dist/utils/chainQuery.d.ts +31 -0
  757. package/dist/utils/chainQuery.js +82 -0
  758. package/dist/utils/chainQuery.js.map +1 -0
  759. package/dist/utils/crypto-utils.cjs +108 -0
  760. package/dist/utils/crypto-utils.cjs.map +1 -0
  761. package/dist/utils/crypto-utils.d.ts +100 -0
  762. package/dist/utils/crypto-utils.js +76 -0
  763. package/dist/utils/crypto-utils.js.map +1 -0
  764. package/dist/utils/crypto-utils.test.d.ts +1 -0
  765. package/dist/utils/download.cjs +69 -0
  766. package/dist/utils/download.cjs.map +1 -0
  767. package/dist/utils/download.d.ts +40 -0
  768. package/dist/utils/download.js +45 -0
  769. package/dist/utils/download.js.map +1 -0
  770. package/dist/utils/encoding.cjs +66 -0
  771. package/dist/utils/encoding.cjs.map +1 -0
  772. package/dist/utils/encoding.d.ts +52 -0
  773. package/dist/utils/encoding.js +39 -0
  774. package/dist/utils/encoding.js.map +1 -0
  775. package/dist/utils/encoding.test.d.ts +1 -0
  776. package/dist/utils/encryption.cjs +176 -0
  777. package/dist/utils/encryption.cjs.map +1 -0
  778. package/dist/utils/encryption.d.ts +271 -0
  779. package/dist/utils/encryption.js +142 -0
  780. package/dist/utils/encryption.js.map +1 -0
  781. package/dist/utils/formatters.cjs +55 -0
  782. package/dist/utils/formatters.cjs.map +1 -0
  783. package/dist/utils/formatters.d.ts +118 -0
  784. package/dist/utils/formatters.js +28 -0
  785. package/dist/utils/formatters.js.map +1 -0
  786. package/dist/utils/grantFiles.cjs +178 -0
  787. package/dist/utils/grantFiles.cjs.map +1 -0
  788. package/dist/utils/grantFiles.d.ts +172 -0
  789. package/dist/utils/grantFiles.js +140 -0
  790. package/dist/utils/grantFiles.js.map +1 -0
  791. package/dist/utils/grantValidation.cjs +243 -0
  792. package/dist/utils/grantValidation.cjs.map +1 -0
  793. package/dist/utils/grantValidation.d.ts +226 -0
  794. package/dist/utils/grantValidation.js +201 -0
  795. package/dist/utils/grantValidation.js.map +1 -0
  796. package/dist/utils/grants.cjs +108 -0
  797. package/dist/utils/grants.cjs.map +1 -0
  798. package/dist/utils/grants.d.ts +148 -0
  799. package/dist/utils/grants.js +82 -0
  800. package/dist/utils/grants.js.map +1 -0
  801. package/dist/utils/ipfs.cjs +128 -0
  802. package/dist/utils/ipfs.cjs.map +1 -0
  803. package/dist/utils/ipfs.d.ts +88 -0
  804. package/dist/utils/ipfs.js +97 -0
  805. package/dist/utils/ipfs.js.map +1 -0
  806. package/dist/utils/lazy-import.cjs +38 -0
  807. package/dist/utils/lazy-import.cjs.map +1 -0
  808. package/dist/utils/lazy-import.d.ts +43 -0
  809. package/dist/utils/lazy-import.js +14 -0
  810. package/dist/utils/lazy-import.js.map +1 -0
  811. package/dist/utils/multicall.cjs +233 -0
  812. package/dist/utils/multicall.cjs.map +1 -0
  813. package/dist/utils/multicall.d.ts +126 -0
  814. package/dist/utils/multicall.js +208 -0
  815. package/dist/utils/multicall.js.map +1 -0
  816. package/dist/utils/parseTransactionPojo.cjs +87 -0
  817. package/dist/utils/parseTransactionPojo.cjs.map +1 -0
  818. package/dist/utils/parseTransactionPojo.d.ts +31 -0
  819. package/dist/utils/parseTransactionPojo.js +63 -0
  820. package/dist/utils/parseTransactionPojo.js.map +1 -0
  821. package/dist/utils/schemaValidation.cjs +258 -0
  822. package/dist/utils/schemaValidation.cjs.map +1 -0
  823. package/dist/utils/schemaValidation.d.ts +168 -0
  824. package/dist/utils/schemaValidation.js +219 -0
  825. package/dist/utils/schemaValidation.js.map +1 -0
  826. package/dist/utils/signatureCache.cjs +192 -0
  827. package/dist/utils/signatureCache.cjs.map +1 -0
  828. package/dist/utils/signatureCache.d.ts +172 -0
  829. package/dist/utils/signatureCache.js +167 -0
  830. package/dist/utils/signatureCache.js.map +1 -0
  831. package/dist/utils/signatureFormatter.cjs +42 -0
  832. package/dist/utils/signatureFormatter.cjs.map +1 -0
  833. package/dist/utils/signatureFormatter.d.ts +36 -0
  834. package/dist/utils/signatureFormatter.js +18 -0
  835. package/dist/utils/signatureFormatter.js.map +1 -0
  836. package/dist/utils/subgraphConsistency.cjs +184 -0
  837. package/dist/utils/subgraphConsistency.cjs.map +1 -0
  838. package/dist/utils/subgraphConsistency.d.ts +65 -0
  839. package/dist/utils/subgraphConsistency.js +155 -0
  840. package/dist/utils/subgraphConsistency.js.map +1 -0
  841. package/dist/utils/subgraphMetaCache.cjs +101 -0
  842. package/dist/utils/subgraphMetaCache.cjs.map +1 -0
  843. package/dist/utils/subgraphMetaCache.d.ts +56 -0
  844. package/dist/utils/subgraphMetaCache.js +76 -0
  845. package/dist/utils/subgraphMetaCache.js.map +1 -0
  846. package/dist/utils/subgraphPagination.cjs +104 -0
  847. package/dist/utils/subgraphPagination.cjs.map +1 -0
  848. package/dist/utils/subgraphPagination.d.ts +78 -0
  849. package/dist/utils/subgraphPagination.js +78 -0
  850. package/dist/utils/subgraphPagination.js.map +1 -0
  851. package/dist/utils/tests/multicall.test.d.ts +1 -0
  852. package/dist/utils/transactionHelpers.cjs +54 -0
  853. package/dist/utils/transactionHelpers.cjs.map +1 -0
  854. package/dist/utils/transactionHelpers.d.ts +80 -0
  855. package/dist/utils/transactionHelpers.js +29 -0
  856. package/dist/utils/transactionHelpers.js.map +1 -0
  857. package/dist/utils/typeGuards.cjs +109 -0
  858. package/dist/utils/typeGuards.cjs.map +1 -0
  859. package/dist/utils/typeGuards.d.ts +138 -0
  860. package/dist/utils/typeGuards.js +74 -0
  861. package/dist/utils/typeGuards.js.map +1 -0
  862. package/dist/utils/typedDataConverter.cjs +43 -0
  863. package/dist/utils/typedDataConverter.cjs.map +1 -0
  864. package/dist/utils/typedDataConverter.d.ts +46 -0
  865. package/dist/utils/typedDataConverter.js +19 -0
  866. package/dist/utils/typedDataConverter.js.map +1 -0
  867. package/dist/utils/urlResolver.cjs +62 -0
  868. package/dist/utils/urlResolver.cjs.map +1 -0
  869. package/dist/utils/urlResolver.d.ts +56 -0
  870. package/dist/utils/urlResolver.js +37 -0
  871. package/dist/utils/urlResolver.js.map +1 -0
  872. package/dist/utils/wallet.cjs +63 -0
  873. package/dist/utils/wallet.cjs.map +1 -0
  874. package/dist/utils/wallet.d.ts +94 -0
  875. package/dist/utils/wallet.js +37 -0
  876. package/dist/utils/wallet.js.map +1 -0
  877. package/dist/utils/withEvents.cjs +44 -0
  878. package/dist/utils/withEvents.cjs.map +1 -0
  879. package/dist/utils/withEvents.d.ts +56 -0
  880. package/dist/utils/withEvents.js +18 -0
  881. package/dist/utils/withEvents.js.map +1 -0
  882. package/package.json +34 -16
@@ -0,0 +1,223 @@
1
+ /**
2
+ * @module Node
3
+ * Node.js-specific implementation of the Vana SDK
4
+ */
5
+ import { VanaCore } from "./core";
6
+ import type { VanaConfig, VanaConfigWithStorage, StorageRequiredMarker, RelayerRequiredMarker } from "./types";
7
+ import type { IOperationStore, IRelayerStateStore } from "./types/operationStore";
8
+ import type { IAtomicStore } from "./types/atomicStore";
9
+ import type { PublicClient } from "viem";
10
+ /**
11
+ * Node.js-specific configuration interface with operation store support
12
+ *
13
+ * @category Configuration
14
+ */
15
+ export type VanaNodeConfig = VanaConfig & {
16
+ operationStore?: IOperationStore | IRelayerStateStore;
17
+ atomicStore?: IAtomicStore;
18
+ };
19
+ /**
20
+ * Node.js configuration with storage requirements
21
+ *
22
+ * @category Configuration
23
+ */
24
+ export type VanaNodeConfigWithStorage = VanaConfigWithStorage & {
25
+ operationStore?: IOperationStore | IRelayerStateStore;
26
+ atomicStore?: IAtomicStore;
27
+ };
28
+ /**
29
+ * Internal implementation class for Node.js environments.
30
+ * This class is not exported directly - use the Vana factory function instead.
31
+ */
32
+ declare class VanaNodeImpl extends VanaCore {
33
+ readonly operationStore?: IOperationStore | IRelayerStateStore;
34
+ readonly atomicStore?: IAtomicStore;
35
+ constructor(config: VanaNodeConfig);
36
+ }
37
+ /**
38
+ * Creates a new Vana SDK instance configured for Node.js environments.
39
+ *
40
+ * @remarks
41
+ * This is the primary entry point for Node.js applications using the Vana SDK. The function
42
+ * automatically detects your configuration type and provides compile-time type safety:
43
+ * - **With storage configured**: All methods including file upload/download are available
44
+ * - **Without storage**: Storage-dependent methods throw runtime errors and are excluded from TypeScript
45
+ *
46
+ * The Node.js version provides enhanced capabilities including native file system access,
47
+ * server-side cryptographic operations, and support for personal server deployment.
48
+ * It includes all browser capabilities plus Node.js-specific optimizations and utilities.
49
+ *
50
+ * @param config - Configuration object containing wallet, storage, and relayer settings
51
+ * @returns A fully configured Vana SDK instance for Node.js use
52
+ * @throws {InvalidConfigurationError} When configuration parameters are invalid or missing
53
+ * @example
54
+ * ```typescript
55
+ * import { Vana } from '@opendatalabs/vana-sdk/node';
56
+ * import { createWalletClient, http } from 'viem';
57
+ * import { privateKeyToAccount } from 'viem/accounts';
58
+ * import { IPFSStorage, PinataStorage } from '@opendatalabs/vana-sdk/node';
59
+ * import { mokshaTestnet } from '@opendatalabs/vana-sdk/node';
60
+ *
61
+ * // Server setup with private key
62
+ * const account = privateKeyToAccount('0x...');
63
+ * const walletClient = createWalletClient({
64
+ * account,
65
+ * chain: mokshaTestnet,
66
+ * transport: http('https://rpc.moksha.vana.org')
67
+ * });
68
+ *
69
+ * const vana = Vana({
70
+ * walletClient,
71
+ * storage: {
72
+ * providers: {
73
+ * ipfs: new IPFSStorage({
74
+ * gateway: 'https://gateway.pinata.cloud',
75
+ * timeout: 30000
76
+ * }),
77
+ * pinata: new PinataStorage({
78
+ * apiKey: process.env.PINATA_KEY,
79
+ * secretKey: process.env.PINATA_SECRET
80
+ * })
81
+ * },
82
+ * defaultProvider: 'pinata'
83
+ * },
84
+ * relayerCallbacks: {
85
+ * async submitPermissionGrant(typedData, signature) {
86
+ * // Server-side relayer implementation
87
+ * return await submitToCustomRelayer(typedData, signature);
88
+ * }
89
+ * }
90
+ * });
91
+ *
92
+ * // Server operations
93
+ * const uploadResult = await vana.data.upload({
94
+ * content: await fs.readFile('./user-data.json'),
95
+ * filename: 'user-data.json',
96
+ * schemaId: 1
97
+ * });
98
+ *
99
+ * // Personal server setup
100
+ * await vana.server.setupPersonalServer({
101
+ * serverUrl: 'https://my-server.example.com',
102
+ * capabilities: ['data_processing', 'ml_inference']
103
+ * });
104
+ * ```
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * // CLI tool or script usage
109
+ * const vana = Vana({
110
+ * chainId: 14800, // Moksha testnet
111
+ * account: privateKeyToAccount(process.env.PRIVATE_KEY),
112
+ * rpcUrl: process.env.RPC_URL,
113
+ * storage: {
114
+ * providers: { ipfs: new IPFSStorage() },
115
+ * defaultProvider: 'ipfs'
116
+ * }
117
+ * });
118
+ *
119
+ * // Batch operations for data processing
120
+ * const userFiles = await vana.data.getUserFiles({
121
+ * owner: process.env.USER_ADDRESS
122
+ * });
123
+ *
124
+ * for (const file of userFiles) {
125
+ * const decrypted = await vana.data.decryptFile(file);
126
+ * // Process file data...
127
+ * }
128
+ * ```
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * // Express.js server integration
133
+ * import express from 'express';
134
+ * import { handleRelayerOperation } from '@opendatalabs/vana-sdk/node';
135
+ *
136
+ * const app = express();
137
+ *
138
+ * app.post('/api/relay', async (req, res) => {
139
+ * try {
140
+ * const result = await handleRelayerOperation(
141
+ * vana,
142
+ * req.body
143
+ * );
144
+ * res.json(result);
145
+ * } catch (error) {
146
+ * res.status(500).json({ error: error.message });
147
+ * }
148
+ * });
149
+ * ```
150
+ *
151
+ * @see {@link https://docs.vana.org/docs/sdk/server-setup | Server Setup Guide} for Node.js-specific features
152
+ * @see {@link VanaCore} for the underlying implementation details
153
+ * @category Core SDK
154
+ */
155
+ export declare function Vana(config: VanaNodeConfigWithStorage & {
156
+ operationStore: IOperationStore;
157
+ }): VanaNodeImpl & StorageRequiredMarker & RelayerRequiredMarker;
158
+ export declare function Vana(config: VanaNodeConfig & {
159
+ operationStore: IOperationStore;
160
+ }): VanaNodeImpl & RelayerRequiredMarker;
161
+ export declare function Vana(config: VanaNodeConfigWithStorage): VanaNodeImpl & StorageRequiredMarker;
162
+ export declare function Vana(config: VanaNodeConfig): VanaNodeImpl;
163
+ /**
164
+ * The type of a Vana SDK instance in Node.js environments.
165
+ * Uses InstanceType to properly expose all public methods from the class hierarchy.
166
+ *
167
+ * @see {@link Vana}
168
+ */
169
+ export type VanaInstance = InstanceType<typeof VanaNodeImpl>;
170
+ export default Vana;
171
+ export { VanaCore, VanaCoreFactory } from "./core";
172
+ export { DistributedNonceManager } from "./core/nonceManager";
173
+ export { InMemoryNonceManager } from "./core/inMemoryNonceManager";
174
+ export { SystemHealthChecker } from "./core/health";
175
+ export type { SystemHealthCheckerConfig, HealthStatus, ComponentHealth, NonceHealth, QueueHealth, } from "./core/health";
176
+ export { RedisAtomicStore } from "./lib/redisAtomicStore";
177
+ export type { RedisAtomicStoreConfig } from "./lib/redisAtomicStore";
178
+ export type * from "./types";
179
+ export type { IAtomicStore } from "./types/atomicStore";
180
+ export type { IOperationStore, StoredOperation, IRelayerStateStore, OperationState, } from "./types/operationStore";
181
+ export { isReplicateAPIResponse, isAPIResponse, safeParseJSON, parseReplicateOutput, } from "./types/external-apis";
182
+ export type { VanaContract } from "./generated/abi";
183
+ export * from "./errors";
184
+ export { PermissionsController } from "./controllers/permissions";
185
+ export { DataController } from "./controllers/data";
186
+ export { ServerController } from "./controllers/server";
187
+ export { ProtocolController } from "./controllers/protocol";
188
+ export { SchemaController } from "./controllers/schemas";
189
+ export { OperationsController } from "./controllers/operations";
190
+ export * from "./contracts/contractController";
191
+ export * from "./utils/encryption";
192
+ export * from "./utils/formatters";
193
+ export * from "./utils/grantFiles";
194
+ export * from "./utils/grantValidation";
195
+ export * from "./utils/grants";
196
+ export * from "./utils/ipfs";
197
+ export * from "./utils/schemaValidation";
198
+ export * from "./utils/signatureCache";
199
+ export * from "./storage";
200
+ export { getContractAddress } from "./config/addresses";
201
+ export { chains } from "./config/chains";
202
+ export { type ServiceEndpoints, mainnetServices, mokshaServices, getServiceEndpoints, getDefaultPersonalServerUrl, } from "./config/default-services";
203
+ export { vanaMainnet, mokshaTestnet, moksha, type VanaChainConfig, getChainConfig, getAllChains, } from "./chains";
204
+ export * from "./chains";
205
+ export { getAbi } from "./generated/abi";
206
+ export type { VanaContract as VanaContractAbi } from "./generated/abi";
207
+ export { BaseController, RetryUtility, RateLimiter, MemoryCache, EventEmitter, MiddlewarePipeline, AsyncQueue, CircuitBreaker, } from "./core/generics";
208
+ export { handleRelayerOperation, type RelayerOperationOptions, } from "./server/relayerHandler";
209
+ export type { UnifiedRelayerRequest, UnifiedRelayerResponse, } from "./types/relayer";
210
+ export type { Operation, TransactionResult, TransactionReceipt, PollingOptions, TransactionWaitOptions, } from "./types/operations";
211
+ export { NodePlatformAdapter } from "./platform/node";
212
+ export { BrowserPlatformAdapter } from "./platform/browser";
213
+ export type { VanaPlatformAdapter } from "./platform/interface";
214
+ export { detectPlatform, createPlatformAdapter, createPlatformAdapterFor, isPlatformSupported, getPlatformCapabilities, } from "./platform/utils";
215
+ export { createNodePlatformAdapter, createBrowserPlatformAdapter, createPlatformAdapterSafe, } from "./platform/browser-safe";
216
+ export { ApiClient } from "./core/apiClient";
217
+ export type { ApiClientConfig, HttpMethod, RequestOptions, } from "./core/apiClient";
218
+ export { VanaNodeImpl };
219
+ export interface VanaWithStores {
220
+ readonly operationStore?: IOperationStore | IRelayerStateStore;
221
+ readonly atomicStore?: IAtomicStore;
222
+ readonly publicClient: PublicClient;
223
+ }
@@ -0,0 +1,142 @@
1
+ import { NodePlatformAdapter } from "./platform/node";
2
+ import { VanaCore } from "./core";
3
+ class VanaNodeImpl extends VanaCore {
4
+ operationStore;
5
+ atomicStore;
6
+ constructor(config) {
7
+ super(new NodePlatformAdapter(), config);
8
+ this.operationStore = config.operationStore;
9
+ this.atomicStore = config.atomicStore;
10
+ }
11
+ }
12
+ function Vana(config) {
13
+ return new VanaNodeImpl(config);
14
+ }
15
+ var index_node_default = Vana;
16
+ import { VanaCore as VanaCore2, VanaCoreFactory } from "./core";
17
+ import { DistributedNonceManager } from "./core/nonceManager";
18
+ import { InMemoryNonceManager } from "./core/inMemoryNonceManager";
19
+ import { SystemHealthChecker } from "./core/health";
20
+ import { RedisAtomicStore } from "./lib/redisAtomicStore";
21
+ import {
22
+ isReplicateAPIResponse,
23
+ isAPIResponse,
24
+ safeParseJSON,
25
+ parseReplicateOutput
26
+ } from "./types/external-apis";
27
+ export * from "./errors";
28
+ import { PermissionsController } from "./controllers/permissions";
29
+ import { DataController } from "./controllers/data";
30
+ import { ServerController } from "./controllers/server";
31
+ import { ProtocolController } from "./controllers/protocol";
32
+ import { SchemaController } from "./controllers/schemas";
33
+ import { OperationsController } from "./controllers/operations";
34
+ export * from "./contracts/contractController";
35
+ export * from "./utils/encryption";
36
+ export * from "./utils/formatters";
37
+ export * from "./utils/grantFiles";
38
+ export * from "./utils/grantValidation";
39
+ export * from "./utils/grants";
40
+ export * from "./utils/ipfs";
41
+ export * from "./utils/schemaValidation";
42
+ export * from "./utils/signatureCache";
43
+ export * from "./storage";
44
+ import { getContractAddress } from "./config/addresses";
45
+ import { chains } from "./config/chains";
46
+ import {
47
+ mainnetServices,
48
+ mokshaServices,
49
+ getServiceEndpoints,
50
+ getDefaultPersonalServerUrl
51
+ } from "./config/default-services";
52
+ import {
53
+ vanaMainnet,
54
+ mokshaTestnet,
55
+ moksha,
56
+ getChainConfig,
57
+ getAllChains
58
+ } from "./chains";
59
+ export * from "./chains";
60
+ import { getAbi } from "./generated/abi";
61
+ import {
62
+ BaseController,
63
+ RetryUtility,
64
+ RateLimiter,
65
+ MemoryCache,
66
+ EventEmitter,
67
+ MiddlewarePipeline,
68
+ AsyncQueue,
69
+ CircuitBreaker
70
+ } from "./core/generics";
71
+ import {
72
+ handleRelayerOperation
73
+ } from "./server/relayerHandler";
74
+ import { NodePlatformAdapter as NodePlatformAdapter2 } from "./platform/node";
75
+ import { BrowserPlatformAdapter } from "./platform/browser";
76
+ import {
77
+ detectPlatform,
78
+ createPlatformAdapter,
79
+ createPlatformAdapterFor,
80
+ isPlatformSupported,
81
+ getPlatformCapabilities
82
+ } from "./platform/utils";
83
+ import {
84
+ createNodePlatformAdapter,
85
+ createBrowserPlatformAdapter,
86
+ createPlatformAdapterSafe
87
+ } from "./platform/browser-safe";
88
+ import { ApiClient } from "./core/apiClient";
89
+ export {
90
+ ApiClient,
91
+ AsyncQueue,
92
+ BaseController,
93
+ BrowserPlatformAdapter,
94
+ CircuitBreaker,
95
+ DataController,
96
+ DistributedNonceManager,
97
+ EventEmitter,
98
+ InMemoryNonceManager,
99
+ MemoryCache,
100
+ MiddlewarePipeline,
101
+ NodePlatformAdapter2 as NodePlatformAdapter,
102
+ OperationsController,
103
+ PermissionsController,
104
+ ProtocolController,
105
+ RateLimiter,
106
+ RedisAtomicStore,
107
+ RetryUtility,
108
+ SchemaController,
109
+ ServerController,
110
+ SystemHealthChecker,
111
+ Vana,
112
+ VanaCore2 as VanaCore,
113
+ VanaCoreFactory,
114
+ VanaNodeImpl,
115
+ chains,
116
+ createBrowserPlatformAdapter,
117
+ createNodePlatformAdapter,
118
+ createPlatformAdapter,
119
+ createPlatformAdapterFor,
120
+ createPlatformAdapterSafe,
121
+ index_node_default as default,
122
+ detectPlatform,
123
+ getAbi,
124
+ getAllChains,
125
+ getChainConfig,
126
+ getContractAddress,
127
+ getDefaultPersonalServerUrl,
128
+ getPlatformCapabilities,
129
+ getServiceEndpoints,
130
+ handleRelayerOperation,
131
+ isAPIResponse,
132
+ isPlatformSupported,
133
+ isReplicateAPIResponse,
134
+ mainnetServices,
135
+ moksha,
136
+ mokshaServices,
137
+ mokshaTestnet,
138
+ parseReplicateOutput,
139
+ safeParseJSON,
140
+ vanaMainnet
141
+ };
142
+ //# sourceMappingURL=index.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.node.ts"],"sourcesContent":["/**\n * @module Node\n * Node.js-specific implementation of the Vana SDK\n */\n\nimport { NodePlatformAdapter } from \"./platform/node\";\nimport { VanaCore } from \"./core\";\nimport type {\n VanaConfig,\n VanaConfigWithStorage,\n StorageRequiredMarker,\n RelayerRequiredMarker,\n} from \"./types\";\nimport type {\n IOperationStore,\n IRelayerStateStore,\n} from \"./types/operationStore\";\nimport type { IAtomicStore } from \"./types/atomicStore\";\nimport type { PublicClient } from \"viem\";\n\n/**\n * Node.js-specific configuration interface with operation store support\n *\n * @category Configuration\n */\nexport type VanaNodeConfig = VanaConfig & {\n operationStore?: IOperationStore | IRelayerStateStore; // Can be either type\n atomicStore?: IAtomicStore;\n};\n\n/**\n * Node.js configuration with storage requirements\n *\n * @category Configuration\n */\nexport type VanaNodeConfigWithStorage = VanaConfigWithStorage & {\n operationStore?: IOperationStore | IRelayerStateStore; // Can be either type\n atomicStore?: IAtomicStore;\n};\n\n/**\n * Internal implementation class for Node.js environments.\n * This class is not exported directly - use the Vana factory function instead.\n */\nclass VanaNodeImpl extends VanaCore {\n override readonly operationStore?: IOperationStore | IRelayerStateStore;\n override readonly atomicStore?: IAtomicStore;\n\n constructor(config: VanaNodeConfig) {\n super(new NodePlatformAdapter(), config);\n this.operationStore = config.operationStore;\n this.atomicStore = config.atomicStore;\n }\n}\n\n/**\n * Creates a new Vana SDK instance configured for Node.js environments.\n *\n * @remarks\n * This is the primary entry point for Node.js applications using the Vana SDK. The function\n * automatically detects your configuration type and provides compile-time type safety:\n * - **With storage configured**: All methods including file upload/download are available\n * - **Without storage**: Storage-dependent methods throw runtime errors and are excluded from TypeScript\n *\n * The Node.js version provides enhanced capabilities including native file system access,\n * server-side cryptographic operations, and support for personal server deployment.\n * It includes all browser capabilities plus Node.js-specific optimizations and utilities.\n *\n * @param config - Configuration object containing wallet, storage, and relayer settings\n * @returns A fully configured Vana SDK instance for Node.js use\n * @throws {InvalidConfigurationError} When configuration parameters are invalid or missing\n * @example\n * ```typescript\n * import { Vana } from '@opendatalabs/vana-sdk/node';\n * import { createWalletClient, http } from 'viem';\n * import { privateKeyToAccount } from 'viem/accounts';\n * import { IPFSStorage, PinataStorage } from '@opendatalabs/vana-sdk/node';\n * import { mokshaTestnet } from '@opendatalabs/vana-sdk/node';\n *\n * // Server setup with private key\n * const account = privateKeyToAccount('0x...');\n * const walletClient = createWalletClient({\n * account,\n * chain: mokshaTestnet,\n * transport: http('https://rpc.moksha.vana.org')\n * });\n *\n * const vana = Vana({\n * walletClient,\n * storage: {\n * providers: {\n * ipfs: new IPFSStorage({\n * gateway: 'https://gateway.pinata.cloud',\n * timeout: 30000\n * }),\n * pinata: new PinataStorage({\n * apiKey: process.env.PINATA_KEY,\n * secretKey: process.env.PINATA_SECRET\n * })\n * },\n * defaultProvider: 'pinata'\n * },\n * relayerCallbacks: {\n * async submitPermissionGrant(typedData, signature) {\n * // Server-side relayer implementation\n * return await submitToCustomRelayer(typedData, signature);\n * }\n * }\n * });\n *\n * // Server operations\n * const uploadResult = await vana.data.upload({\n * content: await fs.readFile('./user-data.json'),\n * filename: 'user-data.json',\n * schemaId: 1\n * });\n *\n * // Personal server setup\n * await vana.server.setupPersonalServer({\n * serverUrl: 'https://my-server.example.com',\n * capabilities: ['data_processing', 'ml_inference']\n * });\n * ```\n *\n * @example\n * ```typescript\n * // CLI tool or script usage\n * const vana = Vana({\n * chainId: 14800, // Moksha testnet\n * account: privateKeyToAccount(process.env.PRIVATE_KEY),\n * rpcUrl: process.env.RPC_URL,\n * storage: {\n * providers: { ipfs: new IPFSStorage() },\n * defaultProvider: 'ipfs'\n * }\n * });\n *\n * // Batch operations for data processing\n * const userFiles = await vana.data.getUserFiles({\n * owner: process.env.USER_ADDRESS\n * });\n *\n * for (const file of userFiles) {\n * const decrypted = await vana.data.decryptFile(file);\n * // Process file data...\n * }\n * ```\n *\n * @example\n * ```typescript\n * // Express.js server integration\n * import express from 'express';\n * import { handleRelayerOperation } from '@opendatalabs/vana-sdk/node';\n *\n * const app = express();\n *\n * app.post('/api/relay', async (req, res) => {\n * try {\n * const result = await handleRelayerOperation(\n * vana,\n * req.body\n * );\n * res.json(result);\n * } catch (error) {\n * res.status(500).json({ error: error.message });\n * }\n * });\n * ```\n *\n * @see {@link https://docs.vana.org/docs/sdk/server-setup | Server Setup Guide} for Node.js-specific features\n * @see {@link VanaCore} for the underlying implementation details\n * @category Core SDK\n */\n// Overload 1: For configurations that include both storage and operation store\nexport function Vana(\n config: VanaNodeConfigWithStorage & { operationStore: IOperationStore },\n): VanaNodeImpl & StorageRequiredMarker & RelayerRequiredMarker;\n\n// Overload 2: For configurations that include only the operation store\nexport function Vana(\n config: VanaNodeConfig & { operationStore: IOperationStore },\n): VanaNodeImpl & RelayerRequiredMarker;\n\n// Overload 3: For configurations with storage but no operation store\nexport function Vana(\n config: VanaNodeConfigWithStorage,\n): VanaNodeImpl & StorageRequiredMarker;\n\n// Overload 4: Base configuration without special requirements\nexport function Vana(config: VanaNodeConfig): VanaNodeImpl;\n\n// Implementation\nexport function Vana(config: VanaNodeConfig) {\n return new VanaNodeImpl(config);\n}\n\n/**\n * The type of a Vana SDK instance in Node.js environments.\n * Uses InstanceType to properly expose all public methods from the class hierarchy.\n *\n * @see {@link Vana}\n */\nexport type VanaInstance = InstanceType<typeof VanaNodeImpl>;\n\n// Export as default export\nexport default Vana;\n\n// Re-export everything that was in index.ts (avoiding circular dependency)\n// Core class and factory\nexport { VanaCore, VanaCoreFactory } from \"./core\";\nexport { DistributedNonceManager } from \"./core/nonceManager\";\nexport { InMemoryNonceManager } from \"./core/inMemoryNonceManager\";\nexport { SystemHealthChecker } from \"./core/health\";\nexport type {\n SystemHealthCheckerConfig,\n HealthStatus,\n ComponentHealth,\n NonceHealth,\n QueueHealth,\n} from \"./core/health\";\n\n// Storage implementations\nexport { RedisAtomicStore } from \"./lib/redisAtomicStore\";\nexport type { RedisAtomicStoreConfig } from \"./lib/redisAtomicStore\";\n\n// Types - modular exports\nexport type * from \"./types\";\nexport type { IAtomicStore } from \"./types/atomicStore\";\nexport type {\n IOperationStore,\n StoredOperation,\n IRelayerStateStore,\n OperationState,\n} from \"./types/operationStore\";\n\n// Type guards and utilities\nexport {\n isReplicateAPIResponse,\n isAPIResponse,\n safeParseJSON,\n parseReplicateOutput,\n} from \"./types/external-apis\";\n\n// VanaContract is exported from abi to avoid circular dependencies\nexport type { VanaContract } from \"./generated/abi\";\n\n// Error classes\nexport * from \"./errors\";\n\n// Controllers\nexport { PermissionsController } from \"./controllers/permissions\";\nexport { DataController } from \"./controllers/data\";\nexport { ServerController } from \"./controllers/server\";\nexport { ProtocolController } from \"./controllers/protocol\";\nexport { SchemaController } from \"./controllers/schemas\";\nexport { OperationsController } from \"./controllers/operations\";\n\n// Contract controller\nexport * from \"./contracts/contractController\";\n\n// Utilities\nexport * from \"./utils/encryption\";\nexport * from \"./utils/formatters\";\nexport * from \"./utils/grantFiles\";\nexport * from \"./utils/grantValidation\";\nexport * from \"./utils/grants\";\nexport * from \"./utils/ipfs\";\nexport * from \"./utils/schemaValidation\";\nexport * from \"./utils/signatureCache\";\n\n// Storage API\nexport * from \"./storage\";\n\n// Configuration\nexport { getContractAddress } from \"./config/addresses\";\nexport { chains } from \"./config/chains\";\nexport {\n type ServiceEndpoints,\n mainnetServices,\n mokshaServices,\n getServiceEndpoints,\n getDefaultPersonalServerUrl,\n} from \"./config/default-services\";\n\n// Chain configurations with subgraph URLs - explicit exports for better DX\nexport {\n vanaMainnet,\n mokshaTestnet,\n moksha,\n type VanaChainConfig,\n getChainConfig,\n getAllChains,\n} from \"./chains\";\nexport * from \"./chains\";\n\n// ABIs\nexport { getAbi } from \"./generated/abi\";\nexport type { VanaContract as VanaContractAbi } from \"./generated/abi\";\n\n// Generic utilities for extensibility\nexport {\n BaseController,\n RetryUtility,\n RateLimiter,\n MemoryCache,\n EventEmitter,\n MiddlewarePipeline,\n AsyncQueue,\n CircuitBreaker,\n} from \"./core/generics\";\n\n// Server-side utilities\nexport {\n handleRelayerOperation,\n type RelayerOperationOptions,\n} from \"./server/relayerHandler\";\nexport type {\n UnifiedRelayerRequest,\n UnifiedRelayerResponse,\n} from \"./types/relayer\";\n// TransactionHandle removed - using POJOs instead\nexport type {\n Operation,\n TransactionResult,\n TransactionReceipt,\n PollingOptions,\n TransactionWaitOptions,\n} from \"./types/operations\";\n\n// Platform adapters\nexport { NodePlatformAdapter } from \"./platform/node\";\nexport { BrowserPlatformAdapter } from \"./platform/browser\";\nexport type { VanaPlatformAdapter } from \"./platform/interface\";\n\n// Platform utilities\nexport {\n detectPlatform,\n createPlatformAdapter,\n createPlatformAdapterFor,\n isPlatformSupported,\n getPlatformCapabilities,\n} from \"./platform/utils\";\n\n// Browser-safe platform utilities\nexport {\n createNodePlatformAdapter,\n createBrowserPlatformAdapter,\n createPlatformAdapterSafe,\n} from \"./platform/browser-safe\";\n\nexport { ApiClient } from \"./core/apiClient\";\n\nexport type {\n ApiClientConfig,\n HttpMethod,\n RequestOptions,\n} from \"./core/apiClient\";\n\n// Note: Default export is already handled above with the Vana factory function\n// For testing purposes, we also export the implementation class\nexport { VanaNodeImpl };\n\n// Server-specific interface for accessing stores\nexport interface VanaWithStores {\n readonly operationStore?: IOperationStore | IRelayerStateStore;\n readonly atomicStore?: IAtomicStore;\n readonly publicClient: PublicClient;\n}\n"],"mappings":"AAKA,SAAS,2BAA2B;AACpC,SAAS,gBAAgB;AAsCzB,MAAM,qBAAqB,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EAElB,YAAY,QAAwB;AAClC,UAAM,IAAI,oBAAoB,GAAG,MAAM;AACvC,SAAK,iBAAiB,OAAO;AAC7B,SAAK,cAAc,OAAO;AAAA,EAC5B;AACF;AA2IO,SAAS,KAAK,QAAwB;AAC3C,SAAO,IAAI,aAAa,MAAM;AAChC;AAWA,IAAO,qBAAQ;AAIf,SAAS,YAAAA,WAAU,uBAAuB;AAC1C,SAAS,+BAA+B;AACxC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AAUpC,SAAS,wBAAwB;AAcjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP,cAAc;AAGd,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AAGrC,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,SAAS,0BAA0B;AACnC,SAAS,cAAc;AACvB;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AACP,cAAc;AAGd,SAAS,cAAc;AAIvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP;AAAA,EACE;AAAA,OAEK;AAeP,SAAS,uBAAAC,4BAA2B;AACpC,SAAS,8BAA8B;AAIvC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,iBAAiB;","names":["VanaCore","NodePlatformAdapter"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var redisAtomicStore_exports = {};
20
+ __export(redisAtomicStore_exports, {
21
+ RedisAtomicStore: () => RedisAtomicStore
22
+ });
23
+ module.exports = __toCommonJS(redisAtomicStore_exports);
24
+ class RedisAtomicStore {
25
+ redis;
26
+ // ioredis instance
27
+ keyPrefix;
28
+ /**
29
+ * Lua script for safe lock release.
30
+ * This ensures we only delete a lock if the value matches our lock ID.
31
+ */
32
+ UNLOCK_SCRIPT = `
33
+ if redis.call("GET", KEYS[1]) == ARGV[1] then
34
+ return redis.call("DEL", KEYS[1])
35
+ else
36
+ return 0
37
+ end
38
+ `;
39
+ constructor(config) {
40
+ if (typeof config.redis === "string") {
41
+ throw new Error(
42
+ "RedisAtomicStore requires an initialized Redis client instance. Please create the Redis client in your application and pass it to the constructor."
43
+ );
44
+ }
45
+ this.redis = config.redis;
46
+ this.keyPrefix = config.keyPrefix ?? "vana-sdk:atomic";
47
+ if (!this.redis || typeof this.redis.incr !== "function" || typeof this.redis.set !== "function" || typeof this.redis.get !== "function" || typeof this.redis.eval !== "function") {
48
+ throw new Error(
49
+ "Invalid Redis client instance provided to RedisAtomicStore"
50
+ );
51
+ }
52
+ }
53
+ /**
54
+ * Atomically increments a counter.
55
+ */
56
+ async incr(key) {
57
+ const fullKey = `${this.keyPrefix}:${key}`;
58
+ return await this.redis.incr(fullKey);
59
+ }
60
+ /**
61
+ * Acquires a distributed lock using SET NX EX.
62
+ */
63
+ async acquireLock(key, ttlSeconds) {
64
+ const fullKey = `${this.keyPrefix}:${key}`;
65
+ const lockId = `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
66
+ const result = await this.redis.set(
67
+ fullKey,
68
+ lockId,
69
+ "EX",
70
+ ttlSeconds,
71
+ "NX"
72
+ );
73
+ if (result === "OK") {
74
+ console.log(`[RedisAtomicStore] Lock acquired: ${key} with ID ${lockId}`);
75
+ return lockId;
76
+ }
77
+ return null;
78
+ }
79
+ /**
80
+ * Releases a lock using a Lua script for atomicity.
81
+ */
82
+ async releaseLock(key, lockId) {
83
+ const fullKey = `${this.keyPrefix}:${key}`;
84
+ const result = await this.redis.eval(
85
+ this.UNLOCK_SCRIPT,
86
+ 1,
87
+ // Number of keys
88
+ fullKey,
89
+ // KEYS[1]
90
+ lockId
91
+ // ARGV[1]
92
+ );
93
+ if (result === 1) {
94
+ console.log(`[RedisAtomicStore] Lock released: ${key}`);
95
+ } else {
96
+ console.warn(
97
+ `[RedisAtomicStore] Lock release failed: ${key} (lock not held or expired)`
98
+ );
99
+ }
100
+ }
101
+ /**
102
+ * Gets a value from Redis.
103
+ */
104
+ async get(key) {
105
+ const fullKey = `${this.keyPrefix}:${key}`;
106
+ return await this.redis.get(fullKey);
107
+ }
108
+ /**
109
+ * Sets a value in Redis.
110
+ */
111
+ async set(key, value) {
112
+ const fullKey = `${this.keyPrefix}:${key}`;
113
+ await this.redis.set(fullKey, value);
114
+ }
115
+ /**
116
+ * Sets a value with TTL for automatic expiration.
117
+ */
118
+ async setWithTTL(key, value, ttlSeconds) {
119
+ const fullKey = `${this.keyPrefix}:${key}`;
120
+ await this.redis.setex(fullKey, ttlSeconds, value);
121
+ }
122
+ /**
123
+ * Deletes a key from Redis.
124
+ */
125
+ async delete(key) {
126
+ const fullKey = `${this.keyPrefix}:${key}`;
127
+ await this.redis.del(fullKey);
128
+ }
129
+ /**
130
+ * Executes a Lua script atomically.
131
+ *
132
+ * @remarks
133
+ * This provides generic script execution for complex atomic operations.
134
+ * Keys passed to the script will be automatically prefixed.
135
+ *
136
+ * @param script - The Lua script to execute
137
+ * @param keys - Array of keys (will be prefixed)
138
+ * @param args - Array of arguments
139
+ * @returns The script's return value
140
+ */
141
+ async eval(script, keys, args) {
142
+ const prefixedKeys = keys.map((key) => `${this.keyPrefix}:${key}`);
143
+ const result = await this.redis.eval(
144
+ script,
145
+ keys.length,
146
+ ...prefixedKeys,
147
+ ...args
148
+ );
149
+ return result;
150
+ }
151
+ /**
152
+ * Atomically assigns a nonce using Vana App's battle-tested logic.
153
+ *
154
+ * @remarks
155
+ * This is a Redis-specific optimization that uses a Lua script for
156
+ * atomic nonce assignment with gap prevention. This method is called
157
+ * by DistributedNonceManager when it detects a Redis store.
158
+ *
159
+ * Ported from apps/web/app/api/relay/route.ts (Vana App production code)
160
+ * DO NOT MODIFY without thorough testing in production environment.
161
+ *
162
+ * @param key - The key for storing the last used nonce
163
+ * @param pendingCount - The current pending transaction count from blockchain
164
+ * @returns The assigned nonce
165
+ */
166
+ async atomicAssignNonce(key, pendingCount) {
167
+ const LUA_ASSIGN_NONCE = `
168
+ -- KEYS[1] = lastUsedKey
169
+ -- ARGV[1] = pendingCount (integer)
170
+
171
+ local last = tonumber(redis.call("GET", KEYS[1]) or "-1")
172
+ local pending = tonumber(ARGV[1])
173
+ local candidate = last + 1
174
+ if pending > candidate or (candidate - pending > 500) then
175
+ -- If pending is ahead OR if candidate is too far ahead (>500 nonces), reset to pending
176
+ candidate = pending
177
+ end
178
+
179
+ -- IMPORTANT: Atomically update the last used nonce
180
+ redis.call("SET", KEYS[1], candidate)
181
+
182
+ return candidate
183
+ `;
184
+ const fullKey = `${this.keyPrefix}:${key}`;
185
+ const nonce = await this.redis.eval(
186
+ LUA_ASSIGN_NONCE,
187
+ 1,
188
+ // Number of keys
189
+ fullKey,
190
+ // KEYS[1]
191
+ pendingCount.toString()
192
+ // ARGV[1]
193
+ );
194
+ return nonce;
195
+ }
196
+ }
197
+ // Annotate the CommonJS export names for ESM import in node:
198
+ 0 && (module.exports = {
199
+ RedisAtomicStore
200
+ });
201
+ //# sourceMappingURL=redisAtomicStore.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/redisAtomicStore.ts"],"sourcesContent":["/**\n * Redis implementation of IAtomicStore for production use.\n *\n * @remarks\n * This is a Node.js-only implementation that requires the ioredis package.\n * It will not be included in browser bundles.\n *\n * @module\n */\n\nimport type { IAtomicStoreWithNonceSupport } from \"../types/atomicStore\";\n\n/**\n * Configuration for RedisAtomicStore\n */\nexport interface RedisAtomicStoreConfig {\n /** Redis connection URL or ioredis options */\n redis: string | any;\n /** Key prefix for all operations (default: 'vana-sdk:atomic') */\n keyPrefix?: string;\n}\n\n/**\n * Redis-backed implementation of IAtomicStore.\n *\n * @remarks\n * This implementation uses Redis's native atomic operations:\n * - INCR for atomic counter increments\n * - SET NX EX for distributed locking\n * - Lua script for safe lock release\n *\n * Redis is ideal for this use case because:\n * - All operations are atomic by design\n * - Built-in TTL support for automatic cleanup\n * - High performance (sub-millisecond operations)\n * - Battle-tested in production environments\n *\n * @example\n * ```typescript\n * import Redis from 'ioredis';\n * import { RedisAtomicStore } from '@opendatalabs/vana-sdk/node';\n *\n * const redis = new Redis(process.env.REDIS_URL);\n * const atomicStore = new RedisAtomicStore({\n * redis: redis\n * });\n *\n * const vana = Vana({\n * walletClient,\n * atomicStore,\n * operationStore\n * });\n * ```\n *\n * @category Storage\n */\nexport class RedisAtomicStore implements IAtomicStoreWithNonceSupport {\n private redis: any; // ioredis instance\n private keyPrefix: string;\n\n /**\n * Lua script for safe lock release.\n * This ensures we only delete a lock if the value matches our lock ID.\n */\n private readonly UNLOCK_SCRIPT = `\n if redis.call(\"GET\", KEYS[1]) == ARGV[1] then\n return redis.call(\"DEL\", KEYS[1])\n else\n return 0\n end\n `;\n\n constructor(config: RedisAtomicStoreConfig) {\n // Dynamic import to avoid bundling ioredis in browser builds\n // The actual Redis instance should be passed in already created\n if (typeof config.redis === \"string\") {\n throw new Error(\n \"RedisAtomicStore requires an initialized Redis client instance. \" +\n \"Please create the Redis client in your application and pass it to the constructor.\",\n );\n }\n\n this.redis = config.redis;\n this.keyPrefix = config.keyPrefix ?? \"vana-sdk:atomic\";\n\n // Validate that the redis instance has the methods we need\n if (\n !this.redis ||\n typeof this.redis.incr !== \"function\" ||\n typeof this.redis.set !== \"function\" ||\n typeof this.redis.get !== \"function\" ||\n typeof this.redis.eval !== \"function\"\n ) {\n throw new Error(\n \"Invalid Redis client instance provided to RedisAtomicStore\",\n );\n }\n }\n\n /**\n * Atomically increments a counter.\n */\n async incr(key: string): Promise<number> {\n const fullKey = `${this.keyPrefix}:${key}`;\n return await this.redis.incr(fullKey);\n }\n\n /**\n * Acquires a distributed lock using SET NX EX.\n */\n async acquireLock(key: string, ttlSeconds: number): Promise<string | null> {\n const fullKey = `${this.keyPrefix}:${key}`;\n const lockId = `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;\n\n // SET key value NX EX ttl\n const result = await this.redis.set(\n fullKey,\n lockId,\n \"EX\",\n ttlSeconds,\n \"NX\",\n );\n\n if (result === \"OK\") {\n console.log(`[RedisAtomicStore] Lock acquired: ${key} with ID ${lockId}`);\n return lockId;\n }\n\n return null;\n }\n\n /**\n * Releases a lock using a Lua script for atomicity.\n */\n async releaseLock(key: string, lockId: string): Promise<void> {\n const fullKey = `${this.keyPrefix}:${key}`;\n\n // Use Lua script for atomic compare-and-delete\n const result = (await this.redis.eval(\n this.UNLOCK_SCRIPT,\n 1, // Number of keys\n fullKey, // KEYS[1]\n lockId, // ARGV[1]\n )) as number;\n\n if (result === 1) {\n console.log(`[RedisAtomicStore] Lock released: ${key}`);\n } else {\n console.warn(\n `[RedisAtomicStore] Lock release failed: ${key} (lock not held or expired)`,\n );\n }\n }\n\n /**\n * Gets a value from Redis.\n */\n async get(key: string): Promise<string | null> {\n const fullKey = `${this.keyPrefix}:${key}`;\n return await this.redis.get(fullKey);\n }\n\n /**\n * Sets a value in Redis.\n */\n async set(key: string, value: string): Promise<void> {\n const fullKey = `${this.keyPrefix}:${key}`;\n await this.redis.set(fullKey, value);\n }\n\n /**\n * Sets a value with TTL for automatic expiration.\n */\n async setWithTTL?(\n key: string,\n value: string,\n ttlSeconds: number,\n ): Promise<void> {\n const fullKey = `${this.keyPrefix}:${key}`;\n await this.redis.setex(fullKey, ttlSeconds, value);\n }\n\n /**\n * Deletes a key from Redis.\n */\n async delete?(key: string): Promise<void> {\n const fullKey = `${this.keyPrefix}:${key}`;\n await this.redis.del(fullKey);\n }\n\n /**\n * Executes a Lua script atomically.\n *\n * @remarks\n * This provides generic script execution for complex atomic operations.\n * Keys passed to the script will be automatically prefixed.\n *\n * @param script - The Lua script to execute\n * @param keys - Array of keys (will be prefixed)\n * @param args - Array of arguments\n * @returns The script's return value\n */\n async eval(script: string, keys: string[], args: string[]): Promise<any> {\n // Apply key prefix to all keys\n const prefixedKeys = keys.map((key) => `${this.keyPrefix}:${key}`);\n\n // Execute the Lua script\n const result = await this.redis.eval(\n script,\n keys.length,\n ...prefixedKeys,\n ...args,\n );\n\n return result;\n }\n\n /**\n * Atomically assigns a nonce using Vana App's battle-tested logic.\n *\n * @remarks\n * This is a Redis-specific optimization that uses a Lua script for\n * atomic nonce assignment with gap prevention. This method is called\n * by DistributedNonceManager when it detects a Redis store.\n *\n * Ported from apps/web/app/api/relay/route.ts (Vana App production code)\n * DO NOT MODIFY without thorough testing in production environment.\n *\n * @param key - The key for storing the last used nonce\n * @param pendingCount - The current pending transaction count from blockchain\n * @returns The assigned nonce\n */\n async atomicAssignNonce(key: string, pendingCount: number): Promise<number> {\n const LUA_ASSIGN_NONCE = `\n -- KEYS[1] = lastUsedKey\n -- ARGV[1] = pendingCount (integer)\n\n local last = tonumber(redis.call(\"GET\", KEYS[1]) or \"-1\")\n local pending = tonumber(ARGV[1])\n local candidate = last + 1\n if pending > candidate or (candidate - pending > 500) then\n -- If pending is ahead OR if candidate is too far ahead (>500 nonces), reset to pending\n candidate = pending\n end\n\n -- IMPORTANT: Atomically update the last used nonce\n redis.call(\"SET\", KEYS[1], candidate)\n\n return candidate\n `;\n\n const fullKey = `${this.keyPrefix}:${key}`;\n const nonce = (await this.redis.eval(\n LUA_ASSIGN_NONCE,\n 1, // Number of keys\n fullKey, // KEYS[1]\n pendingCount.toString(), // ARGV[1]\n )) as number;\n\n return nonce;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwDO,MAAM,iBAAyD;AAAA,EAC5D;AAAA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMS,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC,YAAY,QAAgC;AAG1C,QAAI,OAAO,OAAO,UAAU,UAAU;AACpC,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AAAA,IACF;AAEA,SAAK,QAAQ,OAAO;AACpB,SAAK,YAAY,OAAO,aAAa;AAGrC,QACE,CAAC,KAAK,SACN,OAAO,KAAK,MAAM,SAAS,cAC3B,OAAO,KAAK,MAAM,QAAQ,cAC1B,OAAO,KAAK,MAAM,QAAQ,cAC1B,OAAO,KAAK,MAAM,SAAS,YAC3B;AACA,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAK,KAA8B;AACvC,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,WAAO,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,KAAa,YAA4C;AACzE,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,UAAM,SAAS,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC;AAG3E,UAAM,SAAS,MAAM,KAAK,MAAM;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,WAAW,MAAM;AACnB,cAAQ,IAAI,qCAAqC,GAAG,YAAY,MAAM,EAAE;AACxE,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY,KAAa,QAA+B;AAC5D,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AAGxC,UAAM,SAAU,MAAM,KAAK,MAAM;AAAA,MAC/B,KAAK;AAAA,MACL;AAAA;AAAA,MACA;AAAA;AAAA,MACA;AAAA;AAAA,IACF;AAEA,QAAI,WAAW,GAAG;AAChB,cAAQ,IAAI,qCAAqC,GAAG,EAAE;AAAA,IACxD,OAAO;AACL,cAAQ;AAAA,QACN,2CAA2C,GAAG;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,IAAI,KAAqC;AAC7C,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,WAAO,MAAM,KAAK,MAAM,IAAI,OAAO;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,IAAI,KAAa,OAA8B;AACnD,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,UAAM,KAAK,MAAM,IAAI,SAAS,KAAK;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WACJ,KACA,OACA,YACe;AACf,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,UAAM,KAAK,MAAM,MAAM,SAAS,YAAY,KAAK;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAQ,KAA4B;AACxC,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,UAAM,KAAK,MAAM,IAAI,OAAO;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAM,KAAK,QAAgB,MAAgB,MAA8B;AAEvE,UAAM,eAAe,KAAK,IAAI,CAAC,QAAQ,GAAG,KAAK,SAAS,IAAI,GAAG,EAAE;AAGjE,UAAM,SAAS,MAAM,KAAK,MAAM;AAAA,MAC9B;AAAA,MACA,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAM,kBAAkB,KAAa,cAAuC;AAC1E,UAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBzB,UAAM,UAAU,GAAG,KAAK,SAAS,IAAI,GAAG;AACxC,UAAM,QAAS,MAAM,KAAK,MAAM;AAAA,MAC9B;AAAA,MACA;AAAA;AAAA,MACA;AAAA;AAAA,MACA,aAAa,SAAS;AAAA;AAAA,IACxB;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}