@opendatalabs/vana-sdk 0.1.0-alpha.9b6ddbc → 0.1.0-alpha.9bbda27

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 (432) hide show
  1. package/README.md +67 -351
  2. package/dist/client/__tests__/enhancedResponse.test.d.ts +1 -0
  3. package/dist/client/enhancedResponse.cjs +164 -0
  4. package/dist/client/enhancedResponse.cjs.map +1 -0
  5. package/dist/client/enhancedResponse.d.ts +120 -0
  6. package/dist/client/enhancedResponse.js +138 -0
  7. package/dist/client/enhancedResponse.js.map +1 -0
  8. package/dist/config/contracts.config.cjs +403 -0
  9. package/dist/config/contracts.config.cjs.map +1 -0
  10. package/dist/config/contracts.config.d.ts +84 -0
  11. package/dist/config/contracts.config.js +378 -0
  12. package/dist/config/contracts.config.js.map +1 -0
  13. package/dist/contracts/contractController.cjs +1 -1
  14. package/dist/contracts/contractController.cjs.map +1 -1
  15. package/dist/contracts/contractController.js +1 -1
  16. package/dist/contracts/contractController.js.map +1 -1
  17. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +7 -0
  18. package/dist/controllers/__tests__/operations.processQueue.test.d.ts +1 -0
  19. package/dist/controllers/accessSettlement.cjs +289 -0
  20. package/dist/controllers/accessSettlement.cjs.map +1 -0
  21. package/dist/controllers/accessSettlement.d.ts +157 -0
  22. package/dist/controllers/accessSettlement.js +265 -0
  23. package/dist/controllers/accessSettlement.js.map +1 -0
  24. package/dist/controllers/accessSettlement.test.d.ts +1 -0
  25. package/dist/controllers/base.cjs +33 -0
  26. package/dist/controllers/base.cjs.map +1 -1
  27. package/dist/controllers/base.d.ts +10 -0
  28. package/dist/controllers/base.js +33 -0
  29. package/dist/controllers/base.js.map +1 -1
  30. package/dist/controllers/data.cjs +279 -160
  31. package/dist/controllers/data.cjs.map +1 -1
  32. package/dist/controllers/data.d.ts +34 -19
  33. package/dist/controllers/data.js +292 -163
  34. package/dist/controllers/data.js.map +1 -1
  35. package/dist/controllers/dataset.cjs +357 -0
  36. package/dist/controllers/dataset.cjs.map +1 -0
  37. package/dist/controllers/dataset.d.ts +178 -0
  38. package/dist/controllers/dataset.js +333 -0
  39. package/dist/controllers/dataset.js.map +1 -0
  40. package/dist/controllers/dataset.test.d.ts +1 -0
  41. package/dist/controllers/operations.cjs +430 -0
  42. package/dist/controllers/operations.cjs.map +1 -0
  43. package/dist/controllers/operations.d.ts +229 -0
  44. package/dist/controllers/operations.js +406 -0
  45. package/dist/controllers/operations.js.map +1 -0
  46. package/dist/controllers/permissions.cjs +606 -214
  47. package/dist/controllers/permissions.cjs.map +1 -1
  48. package/dist/controllers/permissions.d.ts +141 -34
  49. package/dist/controllers/permissions.js +606 -214
  50. package/dist/controllers/permissions.js.map +1 -1
  51. package/dist/controllers/runtimePermissions.cjs +285 -0
  52. package/dist/controllers/runtimePermissions.cjs.map +1 -0
  53. package/dist/controllers/runtimePermissions.d.ts +152 -0
  54. package/dist/controllers/runtimePermissions.js +264 -0
  55. package/dist/controllers/runtimePermissions.js.map +1 -0
  56. package/dist/controllers/runtimePermissions.test.d.ts +1 -0
  57. package/dist/controllers/schemas.cjs +82 -5
  58. package/dist/controllers/schemas.cjs.map +1 -1
  59. package/dist/controllers/schemas.d.ts +41 -0
  60. package/dist/controllers/schemas.js +82 -5
  61. package/dist/controllers/schemas.js.map +1 -1
  62. package/dist/controllers/server.cjs +184 -49
  63. package/dist/controllers/server.cjs.map +1 -1
  64. package/dist/controllers/server.d.ts +74 -13
  65. package/dist/controllers/server.js +184 -49
  66. package/dist/controllers/server.js.map +1 -1
  67. package/dist/core/__tests__/health.test.d.ts +1 -0
  68. package/dist/core/__tests__/inMemoryNonceManager.test.d.ts +1 -0
  69. package/dist/core/__tests__/nonceManager.test.d.ts +1 -0
  70. package/dist/core/__tests__/pollingManager.test.d.ts +4 -0
  71. package/dist/core/health.cjs +289 -0
  72. package/dist/core/health.cjs.map +1 -0
  73. package/dist/core/health.d.ts +143 -0
  74. package/dist/core/health.js +265 -0
  75. package/dist/core/health.js.map +1 -0
  76. package/dist/core/inMemoryNonceManager.cjs +138 -0
  77. package/dist/core/inMemoryNonceManager.cjs.map +1 -0
  78. package/dist/core/inMemoryNonceManager.d.ts +69 -0
  79. package/dist/core/inMemoryNonceManager.js +114 -0
  80. package/dist/core/inMemoryNonceManager.js.map +1 -0
  81. package/dist/core/nonceManager.cjs +304 -0
  82. package/dist/core/nonceManager.cjs.map +1 -0
  83. package/dist/core/nonceManager.d.ts +116 -0
  84. package/dist/core/nonceManager.js +280 -0
  85. package/dist/core/nonceManager.js.map +1 -0
  86. package/dist/core/pollingManager.cjs +292 -0
  87. package/dist/core/pollingManager.cjs.map +1 -0
  88. package/dist/core/pollingManager.d.ts +120 -0
  89. package/dist/core/pollingManager.js +268 -0
  90. package/dist/core/pollingManager.js.map +1 -0
  91. package/dist/core.cjs +67 -1
  92. package/dist/core.cjs.map +1 -1
  93. package/dist/core.d.ts +63 -3
  94. package/dist/core.js +67 -1
  95. package/dist/core.js.map +1 -1
  96. package/dist/crypto/ecies/__tests__/constants.test.d.ts +1 -1
  97. package/dist/crypto/ecies/__tests__/interface.test.d.ts +1 -0
  98. package/dist/crypto/ecies/__tests__/serialization.test.d.ts +8 -0
  99. package/dist/crypto/ecies/__tests__/utils.test.d.ts +1 -0
  100. package/dist/crypto/ecies/base.cjs +59 -23
  101. package/dist/crypto/ecies/base.cjs.map +1 -1
  102. package/dist/crypto/ecies/base.js +59 -23
  103. package/dist/crypto/ecies/base.js.map +1 -1
  104. package/dist/crypto/ecies/constants.cjs +2 -10
  105. package/dist/crypto/ecies/constants.cjs.map +1 -1
  106. package/dist/crypto/ecies/constants.d.ts +0 -9
  107. package/dist/crypto/ecies/constants.js +1 -8
  108. package/dist/crypto/ecies/constants.js.map +1 -1
  109. package/dist/crypto/ecies/index.cjs.map +1 -1
  110. package/dist/crypto/ecies/index.d.ts +10 -2
  111. package/dist/crypto/ecies/index.js.map +1 -1
  112. package/dist/crypto/ecies/interface.cjs +19 -2
  113. package/dist/crypto/ecies/interface.cjs.map +1 -1
  114. package/dist/crypto/ecies/interface.js +19 -2
  115. package/dist/crypto/ecies/interface.js.map +1 -1
  116. package/dist/errors.cjs +29 -0
  117. package/dist/errors.cjs.map +1 -1
  118. package/dist/errors.d.ts +64 -0
  119. package/dist/errors.js +28 -0
  120. package/dist/errors.js.map +1 -1
  121. package/dist/generated/abi/AccessSettlementImplementation.cjs +635 -0
  122. package/dist/generated/abi/AccessSettlementImplementation.cjs.map +1 -0
  123. package/dist/generated/abi/AccessSettlementImplementation.d.ts +468 -0
  124. package/dist/generated/abi/AccessSettlementImplementation.js +611 -0
  125. package/dist/generated/abi/AccessSettlementImplementation.js.map +1 -0
  126. package/dist/generated/abi/AttestationPolicyImplementation.cjs +614 -0
  127. package/dist/generated/abi/AttestationPolicyImplementation.cjs.map +1 -0
  128. package/dist/generated/abi/AttestationPolicyImplementation.d.ts +449 -0
  129. package/dist/generated/abi/AttestationPolicyImplementation.js +590 -0
  130. package/dist/generated/abi/AttestationPolicyImplementation.js.map +1 -0
  131. package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -1
  132. package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -1
  133. package/dist/generated/abi/{DLPTreasuryImplementation.cjs → ComputeEngineTreasuryImplementation.cjs} +16 -92
  134. package/dist/generated/abi/ComputeEngineTreasuryImplementation.cjs.map +1 -0
  135. package/dist/generated/abi/{DLPTreasuryImplementation.d.ts → ComputeEngineTreasuryImplementation.d.ts} +9 -67
  136. package/dist/generated/abi/{DLPTreasuryImplementation.js → ComputeEngineTreasuryImplementation.js} +12 -88
  137. package/dist/generated/abi/ComputeEngineTreasuryImplementation.js.map +1 -0
  138. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -1
  139. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -1
  140. package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -1
  141. package/dist/generated/abi/DATFactoryImplementation.js.map +1 -1
  142. package/dist/generated/abi/DATImplementation.cjs.map +1 -1
  143. package/dist/generated/abi/DATImplementation.js.map +1 -1
  144. package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -1
  145. package/dist/generated/abi/DATPausableImplementation.js.map +1 -1
  146. package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -1
  147. package/dist/generated/abi/DATVotesImplementation.js.map +1 -1
  148. package/dist/generated/abi/DLPPerformanceImplementation.cjs +42 -0
  149. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -1
  150. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +32 -0
  151. package/dist/generated/abi/DLPPerformanceImplementation.js +42 -0
  152. package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -1
  153. package/dist/generated/abi/DLPRegistryImplementation.cjs +5 -5
  154. package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -1
  155. package/dist/generated/abi/DLPRegistryImplementation.d.ts +4 -4
  156. package/dist/generated/abi/DLPRegistryImplementation.js +5 -5
  157. package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -1
  158. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -1
  159. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -1
  160. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +166 -2
  161. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -1
  162. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +129 -2
  163. package/dist/generated/abi/DLPRewardDeployerImplementation.js +166 -2
  164. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -1
  165. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -1
  166. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -1
  167. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +282 -100
  168. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +1 -1
  169. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +218 -79
  170. package/dist/generated/abi/DataLiquidityPoolImplementation.js +281 -99
  171. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +1 -1
  172. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +167 -19
  173. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -1
  174. package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +127 -14
  175. package/dist/generated/abi/DataPortabilityGranteesImplementation.js +167 -19
  176. package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -1
  177. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +0 -19
  178. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -1
  179. package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +0 -14
  180. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +0 -19
  181. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -1
  182. package/dist/generated/abi/DataPortabilityServersImplementation.cjs +0 -19
  183. package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -1
  184. package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +0 -14
  185. package/dist/generated/abi/DataPortabilityServersImplementation.js +0 -19
  186. package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -1
  187. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -1
  188. package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -1
  189. package/dist/generated/abi/DataRegistryImplementation.cjs +0 -13
  190. package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -1
  191. package/dist/generated/abi/DataRegistryImplementation.d.ts +0 -10
  192. package/dist/generated/abi/DataRegistryImplementation.js +0 -13
  193. package/dist/generated/abi/DataRegistryImplementation.js.map +1 -1
  194. package/dist/generated/abi/DatasetRegistryImplementation.cjs +751 -0
  195. package/dist/generated/abi/DatasetRegistryImplementation.cjs.map +1 -0
  196. package/dist/generated/abi/DatasetRegistryImplementation.d.ts +557 -0
  197. package/dist/generated/abi/DatasetRegistryImplementation.js +727 -0
  198. package/dist/generated/abi/DatasetRegistryImplementation.js.map +1 -0
  199. package/dist/generated/abi/ProtocolConfigImplementation.cjs +578 -0
  200. package/dist/generated/abi/ProtocolConfigImplementation.cjs.map +1 -0
  201. package/dist/generated/abi/ProtocolConfigImplementation.d.ts +423 -0
  202. package/dist/generated/abi/ProtocolConfigImplementation.js +554 -0
  203. package/dist/generated/abi/ProtocolConfigImplementation.js.map +1 -0
  204. package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -1
  205. package/dist/generated/abi/QueryEngineImplementation.js.map +1 -1
  206. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -43
  207. package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -1
  208. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -35
  209. package/dist/generated/abi/SwapHelperImplementation.js +0 -43
  210. package/dist/generated/abi/SwapHelperImplementation.js.map +1 -1
  211. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -1
  212. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -1
  213. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -1
  214. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -1
  215. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -1
  216. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -1
  217. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -1
  218. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -1
  219. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -1
  220. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -1
  221. package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -1
  222. package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -1
  223. package/dist/generated/abi/UniswapV3NonfungiblePositionManagerImplementation.cjs +1251 -0
  224. package/dist/generated/abi/UniswapV3NonfungiblePositionManagerImplementation.cjs.map +1 -0
  225. package/dist/generated/abi/UniswapV3NonfungiblePositionManagerImplementation.d.ts +948 -0
  226. package/dist/generated/abi/UniswapV3NonfungiblePositionManagerImplementation.js +1227 -0
  227. package/dist/generated/abi/UniswapV3NonfungiblePositionManagerImplementation.js.map +1 -0
  228. package/dist/generated/abi/UniswapV3QuoterV2Implementation.cjs +297 -0
  229. package/dist/generated/abi/UniswapV3QuoterV2Implementation.cjs.map +1 -0
  230. package/dist/generated/abi/UniswapV3QuoterV2Implementation.d.ts +206 -0
  231. package/dist/generated/abi/UniswapV3QuoterV2Implementation.js +273 -0
  232. package/dist/generated/abi/UniswapV3QuoterV2Implementation.js.map +1 -0
  233. package/dist/generated/abi/VanaEpochImplementation.cjs +195 -0
  234. package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -1
  235. package/dist/generated/abi/VanaEpochImplementation.d.ts +151 -0
  236. package/dist/generated/abi/VanaEpochImplementation.js +195 -0
  237. package/dist/generated/abi/VanaEpochImplementation.js.map +1 -1
  238. package/dist/generated/abi/VanaPoolEntityImplementation.cjs +22 -65
  239. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
  240. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +17 -51
  241. package/dist/generated/abi/VanaPoolEntityImplementation.js +22 -65
  242. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
  243. package/dist/generated/abi/VanaPoolStakingImplementation.cjs +113 -1
  244. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
  245. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +85 -1
  246. package/dist/generated/abi/VanaPoolStakingImplementation.js +113 -1
  247. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
  248. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -1
  249. package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -1
  250. package/dist/generated/abi/VanaRuntimePermissionsImplementation.cjs +759 -0
  251. package/dist/generated/abi/VanaRuntimePermissionsImplementation.cjs.map +1 -0
  252. package/dist/generated/abi/VanaRuntimePermissionsImplementation.d.ts +563 -0
  253. package/dist/generated/abi/VanaRuntimePermissionsImplementation.js +735 -0
  254. package/dist/generated/abi/VanaRuntimePermissionsImplementation.js.map +1 -0
  255. package/dist/generated/abi/VanaRuntimeServersImplementation.cjs +820 -0
  256. package/dist/generated/abi/VanaRuntimeServersImplementation.cjs.map +1 -0
  257. package/dist/generated/abi/VanaRuntimeServersImplementation.d.ts +609 -0
  258. package/dist/generated/abi/VanaRuntimeServersImplementation.js +796 -0
  259. package/dist/generated/abi/VanaRuntimeServersImplementation.js.map +1 -0
  260. package/dist/generated/abi/VanaTreasuryImplementation.cjs +536 -0
  261. package/dist/generated/abi/VanaTreasuryImplementation.cjs.map +1 -0
  262. package/dist/generated/abi/VanaTreasuryImplementation.d.ts +393 -0
  263. package/dist/generated/abi/VanaTreasuryImplementation.js +512 -0
  264. package/dist/generated/abi/VanaTreasuryImplementation.js.map +1 -0
  265. package/dist/generated/abi/WVANAImplementation.cjs +339 -0
  266. package/dist/generated/abi/WVANAImplementation.cjs.map +1 -0
  267. package/dist/generated/abi/WVANAImplementation.d.ts +244 -0
  268. package/dist/generated/abi/WVANAImplementation.js +315 -0
  269. package/dist/generated/abi/WVANAImplementation.js.map +1 -0
  270. package/dist/generated/abi/index.cjs +79 -47
  271. package/dist/generated/abi/index.cjs.map +1 -1
  272. package/dist/generated/abi/index.d.ts +15783 -10449
  273. package/dist/generated/abi/index.js +65 -43
  274. package/dist/generated/abi/index.js.map +1 -1
  275. package/dist/{config → generated}/addresses.cjs +174 -75
  276. package/dist/generated/addresses.cjs.map +1 -0
  277. package/dist/{config → generated}/addresses.d.ts +174 -165
  278. package/dist/{config → generated}/addresses.js +174 -75
  279. package/dist/generated/addresses.js.map +1 -0
  280. package/dist/generated/event-types.cjs.map +1 -1
  281. package/dist/generated/event-types.d.ts +482 -399
  282. package/dist/generated/eventRegistry.cjs +2601 -724
  283. package/dist/generated/eventRegistry.cjs.map +1 -1
  284. package/dist/generated/eventRegistry.d.ts +2 -2
  285. package/dist/generated/eventRegistry.js +2601 -724
  286. package/dist/generated/eventRegistry.js.map +1 -1
  287. package/dist/generated/server/server-exports.cjs +22 -0
  288. package/dist/generated/server/server-exports.cjs.map +1 -1
  289. package/dist/generated/server/server-exports.d.ts +31 -11
  290. package/dist/generated/server/server-exports.js +17 -0
  291. package/dist/generated/server/server-exports.js.map +1 -1
  292. package/dist/generated/server/server.cjs.map +1 -1
  293. package/dist/generated/server/server.d.ts +771 -402
  294. package/dist/generated/subgraph.cjs +797 -32
  295. package/dist/generated/subgraph.cjs.map +1 -1
  296. package/dist/generated/subgraph.d.ts +135 -0
  297. package/dist/generated/subgraph.js +792 -32
  298. package/dist/generated/subgraph.js.map +1 -1
  299. package/dist/index.browser.d.ts +7 -1
  300. package/dist/index.browser.js +26 -1
  301. package/dist/index.browser.js.map +1 -1
  302. package/dist/index.node.cjs +47 -1
  303. package/dist/index.node.cjs.map +1 -1
  304. package/dist/index.node.d.ts +55 -6
  305. package/dist/index.node.js +43 -2
  306. package/dist/index.node.js.map +1 -1
  307. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +1 -0
  308. package/dist/lib/redisAtomicStore.cjs +201 -0
  309. package/dist/lib/redisAtomicStore.cjs.map +1 -0
  310. package/dist/lib/redisAtomicStore.d.ts +120 -0
  311. package/dist/lib/redisAtomicStore.js +177 -0
  312. package/dist/lib/redisAtomicStore.js.map +1 -0
  313. package/dist/server/relayerHandler.cjs +313 -75
  314. package/dist/server/relayerHandler.cjs.map +1 -1
  315. package/dist/server/relayerHandler.d.ts +35 -2
  316. package/dist/server/relayerHandler.js +313 -75
  317. package/dist/server/relayerHandler.js.map +1 -1
  318. package/dist/storage/index.cjs +3 -0
  319. package/dist/storage/index.cjs.map +1 -1
  320. package/dist/storage/index.d.ts +1 -0
  321. package/dist/storage/index.js +2 -0
  322. package/dist/storage/index.js.map +1 -1
  323. package/dist/storage/providers/dropbox.cjs +237 -0
  324. package/dist/storage/providers/dropbox.cjs.map +1 -0
  325. package/dist/storage/providers/dropbox.d.ts +39 -0
  326. package/dist/storage/providers/dropbox.js +215 -0
  327. package/dist/storage/providers/dropbox.js.map +1 -0
  328. package/dist/storage/providers/dropbox.test.d.ts +1 -0
  329. package/dist/tests/data-upload-owner-validation.test.d.ts +1 -0
  330. package/dist/types/accessSettlement.cjs +17 -0
  331. package/dist/types/accessSettlement.cjs.map +1 -0
  332. package/dist/types/accessSettlement.d.ts +66 -0
  333. package/dist/types/accessSettlement.js +1 -0
  334. package/dist/types/accessSettlement.js.map +1 -0
  335. package/dist/types/atomicStore.cjs +31 -0
  336. package/dist/types/atomicStore.cjs.map +1 -0
  337. package/dist/types/atomicStore.d.ts +236 -0
  338. package/dist/types/atomicStore.js +7 -0
  339. package/dist/types/atomicStore.js.map +1 -0
  340. package/dist/types/config.cjs.map +1 -1
  341. package/dist/types/config.d.ts +32 -0
  342. package/dist/types/config.js.map +1 -1
  343. package/dist/types/controller-context.cjs.map +1 -1
  344. package/dist/types/controller-context.d.ts +4 -1
  345. package/dist/types/data.cjs.map +1 -1
  346. package/dist/types/data.d.ts +7 -4
  347. package/dist/types/dataset.cjs +17 -0
  348. package/dist/types/dataset.cjs.map +1 -0
  349. package/dist/types/dataset.d.ts +51 -0
  350. package/dist/types/dataset.js +1 -0
  351. package/dist/types/dataset.js.map +1 -0
  352. package/dist/types/generics.cjs.map +1 -1
  353. package/dist/types/generics.d.ts +1 -1
  354. package/dist/types/index.cjs.map +1 -1
  355. package/dist/types/index.d.ts +7 -2
  356. package/dist/types/index.js.map +1 -1
  357. package/dist/types/operationStore.cjs +17 -0
  358. package/dist/types/operationStore.cjs.map +1 -0
  359. package/dist/types/operationStore.d.ts +171 -0
  360. package/dist/types/operationStore.js +1 -0
  361. package/dist/types/operationStore.js.map +1 -0
  362. package/dist/types/operations.cjs +3 -15
  363. package/dist/types/operations.cjs.map +1 -1
  364. package/dist/types/operations.d.ts +8 -52
  365. package/dist/types/operations.js +2 -13
  366. package/dist/types/operations.js.map +1 -1
  367. package/dist/types/options.cjs +17 -0
  368. package/dist/types/options.cjs.map +1 -0
  369. package/dist/types/options.d.ts +308 -0
  370. package/dist/types/options.js +1 -0
  371. package/dist/types/options.js.map +1 -0
  372. package/dist/types/permissions.cjs.map +1 -1
  373. package/dist/types/permissions.d.ts +4 -0
  374. package/dist/types/relayer.cjs.map +1 -1
  375. package/dist/types/relayer.d.ts +55 -10
  376. package/dist/types/runtimePermissions.cjs +17 -0
  377. package/dist/types/runtimePermissions.cjs.map +1 -0
  378. package/dist/types/runtimePermissions.d.ts +122 -0
  379. package/dist/types/runtimePermissions.js +1 -0
  380. package/dist/types/runtimePermissions.js.map +1 -0
  381. package/dist/types/utils.cjs.map +1 -1
  382. package/dist/types/utils.d.ts +0 -49
  383. package/dist/utils/__tests__/chainQuery.test.d.ts +1 -0
  384. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +4 -0
  385. package/dist/utils/__tests__/subgraphPagination.test.d.ts +4 -0
  386. package/dist/utils/blockchain/registry.cjs +1 -1
  387. package/dist/utils/blockchain/registry.cjs.map +1 -1
  388. package/dist/utils/blockchain/registry.js +1 -1
  389. package/dist/utils/blockchain/registry.js.map +1 -1
  390. package/dist/utils/chainQuery.cjs +107 -0
  391. package/dist/utils/chainQuery.cjs.map +1 -0
  392. package/dist/utils/chainQuery.d.ts +31 -0
  393. package/dist/utils/chainQuery.js +82 -0
  394. package/dist/utils/chainQuery.js.map +1 -0
  395. package/dist/utils/grantFiles.cjs +4 -1
  396. package/dist/utils/grantFiles.cjs.map +1 -1
  397. package/dist/utils/grantFiles.js +4 -1
  398. package/dist/utils/grantFiles.js.map +1 -1
  399. package/dist/utils/ipfs.cjs +1 -3
  400. package/dist/utils/ipfs.cjs.map +1 -1
  401. package/dist/utils/ipfs.d.ts +4 -4
  402. package/dist/utils/ipfs.js +1 -3
  403. package/dist/utils/ipfs.js.map +1 -1
  404. package/dist/utils/multicall.cjs +1 -1
  405. package/dist/utils/multicall.cjs.map +1 -1
  406. package/dist/utils/multicall.js +1 -1
  407. package/dist/utils/multicall.js.map +1 -1
  408. package/dist/utils/runtimeGrantFiles.cjs +84 -0
  409. package/dist/utils/runtimeGrantFiles.cjs.map +1 -0
  410. package/dist/utils/runtimeGrantFiles.d.ts +66 -0
  411. package/dist/utils/runtimeGrantFiles.js +58 -0
  412. package/dist/utils/runtimeGrantFiles.js.map +1 -0
  413. package/dist/utils/subgraphConsistency.cjs +184 -0
  414. package/dist/utils/subgraphConsistency.cjs.map +1 -0
  415. package/dist/utils/subgraphConsistency.d.ts +65 -0
  416. package/dist/utils/subgraphConsistency.js +155 -0
  417. package/dist/utils/subgraphConsistency.js.map +1 -0
  418. package/dist/utils/subgraphMetaCache.cjs +101 -0
  419. package/dist/utils/subgraphMetaCache.cjs.map +1 -0
  420. package/dist/utils/subgraphMetaCache.d.ts +56 -0
  421. package/dist/utils/subgraphMetaCache.js +76 -0
  422. package/dist/utils/subgraphMetaCache.js.map +1 -0
  423. package/dist/utils/subgraphPagination.cjs +104 -0
  424. package/dist/utils/subgraphPagination.cjs.map +1 -0
  425. package/dist/utils/subgraphPagination.d.ts +78 -0
  426. package/dist/utils/subgraphPagination.js +78 -0
  427. package/dist/utils/subgraphPagination.js.map +1 -0
  428. package/package.json +7 -2
  429. package/dist/config/addresses.cjs.map +0 -1
  430. package/dist/config/addresses.js.map +0 -1
  431. package/dist/generated/abi/DLPTreasuryImplementation.cjs.map +0 -1
  432. package/dist/generated/abi/DLPTreasuryImplementation.js.map +0 -1
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Internal polling manager for asynchronous relayer operations.
3
+ *
4
+ * @internal
5
+ * @remarks
6
+ * This module handles client-side polling for long-running relayer operations
7
+ * with exponential backoff, jitter, and cancellation support.
8
+ */
9
+ import type { UnifiedRelayerRequest, UnifiedRelayerResponse } from "../types/relayer";
10
+ import type { OperationStatus } from "../types/options";
11
+ import type { Hash, TransactionReceipt } from "viem";
12
+ /**
13
+ * Configuration options for polling behavior.
14
+ *
15
+ * @internal
16
+ */
17
+ export interface PollingOptions {
18
+ /** Total timeout in milliseconds before giving up (default: 300000ms = 5 min) */
19
+ timeout?: number;
20
+ /** Initial polling interval in milliseconds (default: 1000ms) */
21
+ initialInterval?: number;
22
+ /** Maximum polling interval in milliseconds (default: 10000ms) */
23
+ maxInterval?: number;
24
+ /** Backoff multiplier for each retry (default: 1.5) */
25
+ backoffMultiplier?: number;
26
+ /** Jitter factor to prevent thundering herd (default: 0.2 = 20%) */
27
+ jitter?: number;
28
+ }
29
+ /**
30
+ * Internal polling manager that handles asynchronous relayer operations.
31
+ *
32
+ * @internal
33
+ * @remarks
34
+ * This class implements exponential backoff with jitter to prevent server
35
+ * overload while maintaining responsive status updates. It's designed to
36
+ * be resilient to network failures and browser tab closures.
37
+ */
38
+ export declare class PollingManager {
39
+ private readonly relayerCallback;
40
+ private abortController?;
41
+ private timeoutId?;
42
+ private pollIntervalId?;
43
+ constructor(relayerCallback: (request: UnifiedRelayerRequest) => Promise<UnifiedRelayerResponse>);
44
+ /**
45
+ * Starts polling for an operation's status.
46
+ *
47
+ * @param operationId - The operation ID to poll for
48
+ * @param options - Polling configuration and callbacks
49
+ * @returns Promise that resolves when operation completes or fails
50
+ * @throws TransactionPendingError if polling times out
51
+ * @throws Error if operation fails or is cancelled
52
+ */
53
+ startPolling(operationId: string, options?: {
54
+ signal?: AbortSignal;
55
+ onStatusUpdate?: (status: OperationStatus) => void;
56
+ } & Partial<PollingOptions>): Promise<{
57
+ hash: Hash;
58
+ receipt?: TransactionReceipt;
59
+ }>;
60
+ /**
61
+ * Main polling loop with exponential backoff.
62
+ *
63
+ * @internal
64
+ */
65
+ private poll;
66
+ /**
67
+ * Checks the current status of an operation.
68
+ *
69
+ * @internal
70
+ */
71
+ private checkStatus;
72
+ /**
73
+ * Maps relayer response to operation status.
74
+ *
75
+ * @internal
76
+ */
77
+ private mapResponseToStatus;
78
+ /**
79
+ * Determines if status has changed meaningfully.
80
+ *
81
+ * @internal
82
+ */
83
+ private hasStatusChanged;
84
+ /**
85
+ * Calculates next polling interval with jitter.
86
+ *
87
+ * @internal
88
+ */
89
+ private calculateNextInterval;
90
+ /**
91
+ * Waits for specified duration or until aborted.
92
+ *
93
+ * @internal
94
+ */
95
+ private wait;
96
+ /**
97
+ * Creates a timeout promise that rejects after configured duration.
98
+ *
99
+ * @internal
100
+ */
101
+ private createTimeoutPromise;
102
+ /**
103
+ * Determines if an error is retryable.
104
+ *
105
+ * @internal
106
+ */
107
+ private isRetryableError;
108
+ /**
109
+ * Gets last known status for error reporting.
110
+ *
111
+ * @internal
112
+ */
113
+ private getLastKnownStatus;
114
+ /**
115
+ * Cleans up resources.
116
+ *
117
+ * @internal
118
+ */
119
+ private cleanup;
120
+ }
@@ -0,0 +1,268 @@
1
+ import { TransactionPendingError } from "../errors";
2
+ const DEFAULT_POLLING_OPTIONS = {
3
+ timeout: 3e5,
4
+ // 5 minutes
5
+ initialInterval: 1e3,
6
+ // 1 second
7
+ maxInterval: 1e4,
8
+ // 10 seconds
9
+ backoffMultiplier: 1.5,
10
+ // 1s -> 1.5s -> 2.25s -> 3.375s -> 5s -> 7.5s -> 10s
11
+ jitter: 0.2
12
+ // 20% randomization
13
+ };
14
+ class PollingManager {
15
+ constructor(relayerCallback) {
16
+ this.relayerCallback = relayerCallback;
17
+ }
18
+ abortController;
19
+ timeoutId;
20
+ pollIntervalId;
21
+ /**
22
+ * Starts polling for an operation's status.
23
+ *
24
+ * @param operationId - The operation ID to poll for
25
+ * @param options - Polling configuration and callbacks
26
+ * @returns Promise that resolves when operation completes or fails
27
+ * @throws TransactionPendingError if polling times out
28
+ * @throws Error if operation fails or is cancelled
29
+ */
30
+ async startPolling(operationId, options = {}) {
31
+ const context = {
32
+ operationId,
33
+ signal: options.signal,
34
+ onStatusUpdate: options.onStatusUpdate,
35
+ relayerCallback: this.relayerCallback,
36
+ options: {
37
+ ...DEFAULT_POLLING_OPTIONS,
38
+ ...options
39
+ }
40
+ };
41
+ this.abortController = new AbortController();
42
+ if (context.signal) {
43
+ context.signal.addEventListener("abort", () => {
44
+ this.abortController?.abort();
45
+ });
46
+ }
47
+ const timeoutPromise = this.createTimeoutPromise(context);
48
+ const pollingPromise = this.poll(context);
49
+ try {
50
+ const result = await Promise.race([pollingPromise, timeoutPromise]);
51
+ this.cleanup();
52
+ return result;
53
+ } catch (error) {
54
+ this.cleanup();
55
+ if (error instanceof Error && !error.message.includes("operationId")) {
56
+ throw new TransactionPendingError(
57
+ operationId,
58
+ error.message,
59
+ this.getLastKnownStatus(context)
60
+ );
61
+ }
62
+ throw error;
63
+ }
64
+ }
65
+ /**
66
+ * Main polling loop with exponential backoff.
67
+ *
68
+ * @internal
69
+ */
70
+ async poll(context) {
71
+ let currentInterval = context.options.initialInterval;
72
+ let lastStatus = null;
73
+ let retryCount = 0;
74
+ while (!this.abortController?.signal.aborted) {
75
+ try {
76
+ const response = await this.checkStatus(context);
77
+ const status = this.mapResponseToStatus(response, context.operationId);
78
+ if (this.hasStatusChanged(lastStatus, status)) {
79
+ context.onStatusUpdate?.(status);
80
+ lastStatus = status;
81
+ }
82
+ if (status.type === "confirmed") {
83
+ return {
84
+ hash: status.hash,
85
+ receipt: status.receipt
86
+ };
87
+ }
88
+ if (status.type === "failed") {
89
+ throw new Error(status.error);
90
+ }
91
+ retryCount = 0;
92
+ } catch (error) {
93
+ if (this.isRetryableError(error)) {
94
+ retryCount++;
95
+ if (retryCount > 5) {
96
+ const errorMessage = error instanceof Error ? error.message : String(error);
97
+ throw new Error(
98
+ `Failed to poll after ${retryCount} attempts: ${errorMessage}`
99
+ );
100
+ }
101
+ } else {
102
+ throw error;
103
+ }
104
+ }
105
+ await this.wait(this.calculateNextInterval(currentInterval, context));
106
+ currentInterval = Math.min(
107
+ currentInterval * context.options.backoffMultiplier,
108
+ context.options.maxInterval
109
+ );
110
+ }
111
+ throw new Error("Polling cancelled");
112
+ }
113
+ /**
114
+ * Checks the current status of an operation.
115
+ *
116
+ * @internal
117
+ */
118
+ async checkStatus(context) {
119
+ const request = {
120
+ type: "status_check",
121
+ operationId: context.operationId
122
+ };
123
+ return await context.relayerCallback(request);
124
+ }
125
+ /**
126
+ * Maps relayer response to operation status.
127
+ *
128
+ * @internal
129
+ */
130
+ mapResponseToStatus(response, operationId) {
131
+ switch (response.type) {
132
+ case "pending":
133
+ return { type: "pending", operationId };
134
+ case "submitted":
135
+ return { type: "submitted", hash: response.hash };
136
+ case "confirmed":
137
+ return {
138
+ type: "confirmed",
139
+ hash: response.hash,
140
+ receipt: response.receipt
141
+ };
142
+ case "error":
143
+ return {
144
+ type: "failed",
145
+ error: response.error,
146
+ operationId
147
+ };
148
+ case "direct":
149
+ const result = response.result;
150
+ if (result?.status === "queued") {
151
+ return {
152
+ type: "queued",
153
+ position: result.position,
154
+ estimatedWait: result.estimatedWait
155
+ };
156
+ }
157
+ if (result?.status === "processing") {
158
+ return { type: "processing" };
159
+ }
160
+ return { type: "pending", operationId };
161
+ default:
162
+ return { type: "pending", operationId };
163
+ }
164
+ }
165
+ /**
166
+ * Determines if status has changed meaningfully.
167
+ *
168
+ * @internal
169
+ */
170
+ hasStatusChanged(oldStatus, newStatus) {
171
+ if (!oldStatus) return true;
172
+ if (oldStatus.type !== newStatus.type) return true;
173
+ if (oldStatus.type === "queued" && newStatus.type === "queued" && oldStatus.position !== newStatus.position) {
174
+ return true;
175
+ }
176
+ return false;
177
+ }
178
+ /**
179
+ * Calculates next polling interval with jitter.
180
+ *
181
+ * @internal
182
+ */
183
+ calculateNextInterval(baseInterval, context) {
184
+ const jitterRange = baseInterval * context.options.jitter;
185
+ const jitter = (Math.random() - 0.5) * 2 * jitterRange;
186
+ return Math.max(0, baseInterval + jitter);
187
+ }
188
+ /**
189
+ * Waits for specified duration or until aborted.
190
+ *
191
+ * @internal
192
+ */
193
+ async wait(ms) {
194
+ return new Promise((resolve, reject) => {
195
+ const timeoutId = setTimeout(resolve, ms);
196
+ this.abortController?.signal.addEventListener("abort", () => {
197
+ clearTimeout(timeoutId);
198
+ reject(new Error("Polling cancelled"));
199
+ });
200
+ this.pollIntervalId = timeoutId;
201
+ });
202
+ }
203
+ /**
204
+ * Creates a timeout promise that rejects after configured duration.
205
+ *
206
+ * @internal
207
+ */
208
+ createTimeoutPromise(context) {
209
+ return new Promise((_, reject) => {
210
+ this.timeoutId = setTimeout(() => {
211
+ reject(
212
+ new TransactionPendingError(
213
+ context.operationId,
214
+ `Polling timeout after ${context.options.timeout}ms`,
215
+ this.getLastKnownStatus(context)
216
+ )
217
+ );
218
+ }, context.options.timeout);
219
+ });
220
+ }
221
+ /**
222
+ * Determines if an error is retryable.
223
+ *
224
+ * @internal
225
+ */
226
+ isRetryableError(error) {
227
+ if (!(error instanceof Error)) return false;
228
+ const message = error.message.toLowerCase();
229
+ if (message.includes("network") || message.includes("fetch") || message.includes("timeout") || message.includes("econnrefused") || message.includes("enotfound")) {
230
+ return true;
231
+ }
232
+ if (message.includes("500") || message.includes("502") || message.includes("503") || message.includes("504")) {
233
+ return true;
234
+ }
235
+ return false;
236
+ }
237
+ /**
238
+ * Gets last known status for error reporting.
239
+ *
240
+ * @internal
241
+ */
242
+ getLastKnownStatus(context) {
243
+ return { type: "pending", operationId: context.operationId };
244
+ }
245
+ /**
246
+ * Cleans up resources.
247
+ *
248
+ * @internal
249
+ */
250
+ cleanup() {
251
+ if (this.timeoutId) {
252
+ clearTimeout(this.timeoutId);
253
+ this.timeoutId = void 0;
254
+ }
255
+ if (this.pollIntervalId) {
256
+ clearTimeout(this.pollIntervalId);
257
+ this.pollIntervalId = void 0;
258
+ }
259
+ if (this.abortController) {
260
+ this.abortController.abort();
261
+ this.abortController = void 0;
262
+ }
263
+ }
264
+ }
265
+ export {
266
+ PollingManager
267
+ };
268
+ //# sourceMappingURL=pollingManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/pollingManager.ts"],"sourcesContent":["/**\n * Internal polling manager for asynchronous relayer operations.\n *\n * @internal\n * @remarks\n * This module handles client-side polling for long-running relayer operations\n * with exponential backoff, jitter, and cancellation support.\n */\n\nimport type {\n UnifiedRelayerRequest,\n UnifiedRelayerResponse,\n} from \"../types/relayer\";\nimport type { OperationStatus } from \"../types/options\";\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport { TransactionPendingError } from \"../errors\";\n\n/**\n * Configuration options for polling behavior.\n *\n * @internal\n */\nexport interface PollingOptions {\n /** Total timeout in milliseconds before giving up (default: 300000ms = 5 min) */\n timeout?: number;\n /** Initial polling interval in milliseconds (default: 1000ms) */\n initialInterval?: number;\n /** Maximum polling interval in milliseconds (default: 10000ms) */\n maxInterval?: number;\n /** Backoff multiplier for each retry (default: 1.5) */\n backoffMultiplier?: number;\n /** Jitter factor to prevent thundering herd (default: 0.2 = 20%) */\n jitter?: number;\n}\n\n/**\n * Context for a polling operation.\n *\n * @internal\n */\ninterface PollingContext {\n operationId: string;\n signal?: AbortSignal;\n onStatusUpdate?: (status: OperationStatus) => void;\n relayerCallback: (\n request: UnifiedRelayerRequest,\n ) => Promise<UnifiedRelayerResponse>;\n options: Required<PollingOptions>;\n}\n\n/**\n * Default polling configuration based on production load testing.\n *\n * @internal\n */\nconst DEFAULT_POLLING_OPTIONS: Required<PollingOptions> = {\n timeout: 300000, // 5 minutes\n initialInterval: 1000, // 1 second\n maxInterval: 10000, // 10 seconds\n backoffMultiplier: 1.5, // 1s -> 1.5s -> 2.25s -> 3.375s -> 5s -> 7.5s -> 10s\n jitter: 0.2, // 20% randomization\n};\n\n/**\n * Internal polling manager that handles asynchronous relayer operations.\n *\n * @internal\n * @remarks\n * This class implements exponential backoff with jitter to prevent server\n * overload while maintaining responsive status updates. It's designed to\n * be resilient to network failures and browser tab closures.\n */\nexport class PollingManager {\n private abortController?: AbortController;\n private timeoutId?: NodeJS.Timeout | number;\n private pollIntervalId?: NodeJS.Timeout | number;\n\n constructor(\n private readonly relayerCallback: (\n request: UnifiedRelayerRequest,\n ) => Promise<UnifiedRelayerResponse>,\n ) {}\n\n /**\n * Starts polling for an operation's status.\n *\n * @param operationId - The operation ID to poll for\n * @param options - Polling configuration and callbacks\n * @returns Promise that resolves when operation completes or fails\n * @throws TransactionPendingError if polling times out\n * @throws Error if operation fails or is cancelled\n */\n async startPolling(\n operationId: string,\n options: {\n signal?: AbortSignal;\n onStatusUpdate?: (status: OperationStatus) => void;\n } & Partial<PollingOptions> = {},\n ): Promise<{ hash: Hash; receipt?: TransactionReceipt }> {\n const context: PollingContext = {\n operationId,\n signal: options.signal,\n onStatusUpdate: options.onStatusUpdate,\n relayerCallback: this.relayerCallback,\n options: {\n ...DEFAULT_POLLING_OPTIONS,\n ...options,\n },\n };\n\n // Set up abort handling\n this.abortController = new AbortController();\n if (context.signal) {\n context.signal.addEventListener(\"abort\", () => {\n this.abortController?.abort();\n });\n }\n\n // Set up timeout\n const timeoutPromise = this.createTimeoutPromise(context);\n\n // Start polling\n const pollingPromise = this.poll(context);\n\n try {\n // Race between polling completion and timeout\n const result = await Promise.race([pollingPromise, timeoutPromise]);\n\n // Clean up\n this.cleanup();\n\n return result;\n } catch (error) {\n // Clean up on error\n this.cleanup();\n\n // Preserve operationId in error for recovery\n if (error instanceof Error && !error.message.includes(\"operationId\")) {\n throw new TransactionPendingError(\n operationId,\n error.message,\n this.getLastKnownStatus(context),\n );\n }\n\n throw error;\n }\n }\n\n /**\n * Main polling loop with exponential backoff.\n *\n * @internal\n */\n private async poll(\n context: PollingContext,\n ): Promise<{ hash: Hash; receipt?: TransactionReceipt }> {\n let currentInterval = context.options.initialInterval;\n let lastStatus: OperationStatus | null = null;\n let retryCount = 0;\n\n while (!this.abortController?.signal.aborted) {\n try {\n // Check operation status\n const response = await this.checkStatus(context);\n\n // Process response\n const status = this.mapResponseToStatus(response, context.operationId);\n\n // Notify if status changed\n if (this.hasStatusChanged(lastStatus, status)) {\n context.onStatusUpdate?.(status);\n lastStatus = status;\n }\n\n // Check for terminal states\n if (status.type === \"confirmed\") {\n return {\n hash: status.hash,\n receipt: status.receipt as TransactionReceipt | undefined,\n };\n }\n\n if (status.type === \"failed\") {\n throw new Error(status.error);\n }\n\n // Reset retry count on successful poll\n retryCount = 0;\n } catch (error) {\n // Network errors are retryable\n if (this.isRetryableError(error)) {\n retryCount++;\n if (retryCount > 5) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n throw new Error(\n `Failed to poll after ${retryCount} attempts: ${errorMessage}`,\n );\n }\n } else {\n // Non-retryable errors should bubble up\n throw error;\n }\n }\n\n // Wait before next poll with exponential backoff\n await this.wait(this.calculateNextInterval(currentInterval, context));\n\n // Increase interval for next iteration\n currentInterval = Math.min(\n currentInterval * context.options.backoffMultiplier,\n context.options.maxInterval,\n );\n }\n\n // Aborted\n throw new Error(\"Polling cancelled\");\n }\n\n /**\n * Checks the current status of an operation.\n *\n * @internal\n */\n private async checkStatus(\n context: PollingContext,\n ): Promise<UnifiedRelayerResponse> {\n const request: UnifiedRelayerRequest = {\n type: \"status_check\",\n operationId: context.operationId,\n };\n\n return await context.relayerCallback(request);\n }\n\n /**\n * Maps relayer response to operation status.\n *\n * @internal\n */\n private mapResponseToStatus(\n response: UnifiedRelayerResponse,\n operationId: string,\n ): OperationStatus {\n switch (response.type) {\n case \"pending\":\n return { type: \"pending\", operationId };\n\n case \"submitted\":\n return { type: \"submitted\", hash: response.hash };\n\n case \"confirmed\":\n return {\n type: \"confirmed\",\n hash: response.hash,\n receipt: response.receipt,\n };\n\n case \"error\":\n return {\n type: \"failed\",\n error: response.error,\n operationId,\n };\n\n case \"direct\":\n // Direct responses during polling might include queue info\n const result = response.result as any;\n if (result?.status === \"queued\") {\n return {\n type: \"queued\",\n position: result.position,\n estimatedWait: result.estimatedWait,\n };\n }\n if (result?.status === \"processing\") {\n return { type: \"processing\" };\n }\n // Fallback\n return { type: \"pending\", operationId };\n\n default:\n return { type: \"pending\", operationId };\n }\n }\n\n /**\n * Determines if status has changed meaningfully.\n *\n * @internal\n */\n private hasStatusChanged(\n oldStatus: OperationStatus | null,\n newStatus: OperationStatus,\n ): boolean {\n if (!oldStatus) return true;\n\n // Check type change\n if (oldStatus.type !== newStatus.type) return true;\n\n // Check queue position change\n if (\n oldStatus.type === \"queued\" &&\n newStatus.type === \"queued\" &&\n oldStatus.position !== newStatus.position\n ) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Calculates next polling interval with jitter.\n *\n * @internal\n */\n private calculateNextInterval(\n baseInterval: number,\n context: PollingContext,\n ): number {\n const jitterRange = baseInterval * context.options.jitter;\n const jitter = (Math.random() - 0.5) * 2 * jitterRange;\n return Math.max(0, baseInterval + jitter);\n }\n\n /**\n * Waits for specified duration or until aborted.\n *\n * @internal\n */\n private async wait(ms: number): Promise<void> {\n return new Promise((resolve, reject) => {\n const timeoutId = setTimeout(resolve, ms);\n\n // Handle abort\n this.abortController?.signal.addEventListener(\"abort\", () => {\n clearTimeout(timeoutId);\n reject(new Error(\"Polling cancelled\"));\n });\n\n this.pollIntervalId = timeoutId as any;\n });\n }\n\n /**\n * Creates a timeout promise that rejects after configured duration.\n *\n * @internal\n */\n private createTimeoutPromise(context: PollingContext): Promise<never> {\n return new Promise((_, reject) => {\n this.timeoutId = setTimeout(() => {\n reject(\n new TransactionPendingError(\n context.operationId,\n `Polling timeout after ${context.options.timeout}ms`,\n this.getLastKnownStatus(context),\n ),\n );\n }, context.options.timeout) as any;\n });\n }\n\n /**\n * Determines if an error is retryable.\n *\n * @internal\n */\n private isRetryableError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n\n const message = error.message.toLowerCase();\n\n // Network errors\n if (\n message.includes(\"network\") ||\n message.includes(\"fetch\") ||\n message.includes(\"timeout\") ||\n message.includes(\"econnrefused\") ||\n message.includes(\"enotfound\")\n ) {\n return true;\n }\n\n // Server errors (5xx)\n if (\n message.includes(\"500\") ||\n message.includes(\"502\") ||\n message.includes(\"503\") ||\n message.includes(\"504\")\n ) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Gets last known status for error reporting.\n *\n * @internal\n */\n private getLastKnownStatus(\n context: PollingContext,\n ): OperationStatus | undefined {\n // In a real implementation, we'd track this\n return { type: \"pending\", operationId: context.operationId };\n }\n\n /**\n * Cleans up resources.\n *\n * @internal\n */\n private cleanup(): void {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId as any);\n this.timeoutId = undefined;\n }\n\n if (this.pollIntervalId) {\n clearTimeout(this.pollIntervalId as any);\n this.pollIntervalId = undefined;\n }\n\n if (this.abortController) {\n this.abortController.abort();\n this.abortController = undefined;\n }\n }\n}\n"],"mappings":"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","names":[]}
package/dist/core.cjs CHANGED
@@ -35,10 +35,14 @@ module.exports = __toCommonJS(core_exports);
35
35
  var import_types = require("./types");
36
36
  var import_errors = require("./errors");
37
37
  var import_permissions = require("./controllers/permissions");
38
+ var import_runtimePermissions = require("./controllers/runtimePermissions");
39
+ var import_accessSettlement = require("./controllers/accessSettlement");
38
40
  var import_data = require("./controllers/data");
41
+ var import_dataset = require("./controllers/dataset");
39
42
  var import_schemas = require("./controllers/schemas");
40
43
  var import_server = require("./controllers/server");
41
44
  var import_protocol = require("./controllers/protocol");
45
+ var import_operations = require("./controllers/operations");
42
46
  var import_storage = require("./storage");
43
47
  var import_viem = require("viem");
44
48
  var import_wallet = require("./utils/wallet");
@@ -89,10 +93,18 @@ class VanaCoreFactory {
89
93
  class VanaCore {
90
94
  /** Manages gasless data access permissions and trusted server registry. */
91
95
  permissions;
96
+ /** Manages runtime permissions for dataset monetization via Vana Runtime. */
97
+ runtimePermissions;
98
+ /** Manages payment settlement for runtime operations. */
99
+ accessSettlement;
92
100
  /** Handles user data file operations. */
93
101
  data;
102
+ /** Manages dataset creation and contributor workflows. */
103
+ dataset;
94
104
  /** Manages data schemas and refiners. */
95
105
  schemas;
106
+ /** Manages asynchronous operation recovery and status checking. */
107
+ operations;
96
108
  /** Provides personal server setup and trusted server interactions. */
97
109
  server;
98
110
  /** Offers low-level access to Vana protocol smart contracts. */
@@ -109,6 +121,8 @@ class VanaCore {
109
121
  walletClient;
110
122
  _staticUserAddress;
111
123
  // For read-only mode
124
+ operationStore;
125
+ atomicStore;
112
126
  /**
113
127
  * Initializes a new VanaCore client instance with the provided configuration.
114
128
  *
@@ -133,6 +147,7 @@ class VanaCore {
133
147
  constructor(platform, config) {
134
148
  this.platform = platform;
135
149
  this.validateConfig(config);
150
+ this.operationStore = config?.operationStore;
136
151
  this.relayerConfig = config.relayer;
137
152
  if (config.relayer) {
138
153
  if (typeof config.relayer !== "string" && typeof config.relayer !== "function") {
@@ -254,11 +269,16 @@ class VanaCore {
254
269
  ipfsGateways: this.ipfsGateways,
255
270
  defaultPersonalServerUrl: personalServerUrl,
256
271
  waitForTransactionEvents: this.waitForTransactionEvents.bind(this),
257
- waitForOperation: this.waitForOperation.bind(this)
272
+ waitForOperation: this.waitForOperation.bind(this),
273
+ operationStore: this.operationStore
258
274
  };
259
275
  this.permissions = new import_permissions.PermissionsController(sharedContext);
276
+ this.runtimePermissions = new import_runtimePermissions.RuntimePermissionsController(sharedContext);
277
+ this.accessSettlement = new import_accessSettlement.AccessSettlementController(sharedContext);
260
278
  this.data = new import_data.DataController(sharedContext);
279
+ this.dataset = new import_dataset.DatasetController(sharedContext);
261
280
  this.schemas = new import_schemas.SchemaController(sharedContext);
281
+ this.operations = new import_operations.OperationsController(sharedContext);
262
282
  this.server = new import_server.ServerController(sharedContext);
263
283
  this.protocol = new import_protocol.ProtocolController(sharedContext);
264
284
  }
@@ -714,6 +734,52 @@ class VanaCore {
714
734
  const result = parseTransaction(transaction, receipt);
715
735
  return result;
716
736
  }
737
+ /**
738
+ * Enhances a unified relayer response with client-side behavior.
739
+ *
740
+ * @remarks
741
+ * This method wraps a relayer response in an enhanced object that provides
742
+ * a fluent `.wait()` method for handling asynchronous operations. The enhanced
743
+ * response intelligently handles both submitted transactions (via hash) and
744
+ * pending operations (via operationId).
745
+ *
746
+ * @param response - The unified relayer response to enhance
747
+ * @returns EnhancedTransactionResponse if the response can be enhanced, null otherwise
748
+ *
749
+ * @example
750
+ * ```typescript
751
+ * // Enhance a relayer response for fluent waiting
752
+ * const response = await handleRelayerOperation(vana, request);
753
+ * const enhanced = vana.enhanceRelayerResponse(response);
754
+ * if (enhanced) {
755
+ * const result = await enhanced.wait();
756
+ * if (result.expectedEvents?.FileAdded) {
757
+ * console.log('File ID:', result.expectedEvents.FileAdded.fileId);
758
+ * }
759
+ * }
760
+ * ```
761
+ *
762
+ * @example
763
+ * ```typescript
764
+ * // With status updates for pending operations
765
+ * const enhanced = vana.enhanceRelayerResponse(response);
766
+ * if (enhanced) {
767
+ * const result = await enhanced.wait({
768
+ * onStatusUpdate: (status) => {
769
+ * console.log('Operation status:', status.type);
770
+ * },
771
+ * timeout: 60000 // 1 minute timeout
772
+ * });
773
+ * }
774
+ * ```
775
+ *
776
+ * @category Relayer
777
+ * @since 0.2.0
778
+ */
779
+ async enhanceRelayerResponse(response) {
780
+ const { enhanceResponse } = await import("./client/enhancedResponse");
781
+ return enhanceResponse(response, this);
782
+ }
717
783
  }
718
784
  // Annotate the CommonJS export names for ESM import in node:
719
785
  0 && (module.exports = {