@opendatalabs/vana-sdk 2.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +125 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +104 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/envelope/openpgp.cjs +59 -0
  48. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  49. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  50. package/dist/crypto/envelope/openpgp.js +24 -0
  51. package/dist/crypto/envelope/openpgp.js.map +1 -0
  52. package/dist/crypto/keys/derive.cjs +65 -0
  53. package/dist/crypto/keys/derive.cjs.map +1 -0
  54. package/dist/crypto/keys/derive.d.ts +45 -0
  55. package/dist/crypto/keys/derive.js +38 -0
  56. package/dist/crypto/keys/derive.js.map +1 -0
  57. package/dist/errors.cjs +10 -0
  58. package/dist/errors.cjs.map +1 -1
  59. package/dist/errors.js +10 -0
  60. package/dist/errors.js.map +1 -1
  61. package/dist/generated/abi/index.cjs +2 -37
  62. package/dist/generated/abi/index.cjs.map +1 -1
  63. package/dist/generated/abi/index.d.ts +2683 -9296
  64. package/dist/generated/abi/index.js +2 -29
  65. package/dist/generated/abi/index.js.map +1 -1
  66. package/dist/generated/addresses.cjs +5 -107
  67. package/dist/generated/addresses.cjs.map +1 -1
  68. package/dist/generated/addresses.d.ts +5 -99
  69. package/dist/generated/addresses.js +5 -105
  70. package/dist/generated/addresses.js.map +1 -1
  71. package/dist/index.browser.d.ts +23 -140
  72. package/dist/index.browser.js +32090 -114
  73. package/dist/index.browser.js.map +7 -1
  74. package/dist/index.node.cjs +32809 -160
  75. package/dist/index.node.cjs.map +7 -1
  76. package/dist/index.node.d.ts +22 -210
  77. package/dist/index.node.js +32716 -133
  78. package/dist/index.node.js.map +7 -1
  79. package/dist/protocol/data-file.cjs +56 -0
  80. package/dist/protocol/data-file.cjs.map +1 -0
  81. package/dist/protocol/data-file.d.ts +20 -0
  82. package/dist/protocol/data-file.js +30 -0
  83. package/dist/protocol/data-file.js.map +1 -0
  84. package/dist/protocol/eip712.cjs +123 -0
  85. package/dist/protocol/eip712.cjs.map +1 -0
  86. package/dist/protocol/eip712.d.ts +117 -0
  87. package/dist/protocol/eip712.js +90 -0
  88. package/dist/protocol/eip712.js.map +1 -0
  89. package/dist/protocol/gateway.cjs +226 -0
  90. package/dist/protocol/gateway.cjs.map +1 -0
  91. package/dist/protocol/gateway.d.ts +120 -0
  92. package/dist/protocol/gateway.js +202 -0
  93. package/dist/protocol/gateway.js.map +1 -0
  94. package/dist/protocol/scopes.cjs +78 -0
  95. package/dist/protocol/scopes.cjs.map +1 -0
  96. package/dist/protocol/scopes.d.ts +13 -0
  97. package/dist/protocol/scopes.js +50 -0
  98. package/dist/protocol/scopes.js.map +1 -0
  99. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  100. package/dist/storage/default.cjs.map +1 -0
  101. package/dist/storage/default.d.ts +4 -0
  102. package/dist/storage/default.js +8 -0
  103. package/dist/storage/default.js.map +1 -0
  104. package/dist/storage/index.cjs +11 -2
  105. package/dist/storage/index.cjs.map +1 -1
  106. package/dist/storage/index.d.ts +9 -0
  107. package/dist/storage/index.js +7 -1
  108. package/dist/storage/index.js.map +1 -1
  109. package/dist/storage/providers/callback-storage.cjs +1 -0
  110. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  111. package/dist/storage/providers/callback-storage.js +1 -0
  112. package/dist/storage/providers/callback-storage.js.map +1 -1
  113. package/dist/storage/providers/dropbox.cjs +1 -0
  114. package/dist/storage/providers/dropbox.cjs.map +1 -1
  115. package/dist/storage/providers/dropbox.js +1 -0
  116. package/dist/storage/providers/dropbox.js.map +1 -1
  117. package/dist/storage/providers/google-drive.cjs +1 -0
  118. package/dist/storage/providers/google-drive.cjs.map +1 -1
  119. package/dist/storage/providers/google-drive.js +1 -0
  120. package/dist/storage/providers/google-drive.js.map +1 -1
  121. package/dist/storage/providers/ipfs.cjs +1 -0
  122. package/dist/storage/providers/ipfs.cjs.map +1 -1
  123. package/dist/storage/providers/ipfs.js +1 -0
  124. package/dist/storage/providers/ipfs.js.map +1 -1
  125. package/dist/storage/providers/pinata.cjs +1 -0
  126. package/dist/storage/providers/pinata.cjs.map +1 -1
  127. package/dist/storage/providers/pinata.js +1 -0
  128. package/dist/storage/providers/pinata.js.map +1 -1
  129. package/dist/storage/providers/r2.cjs +376 -0
  130. package/dist/storage/providers/r2.cjs.map +1 -0
  131. package/dist/storage/providers/r2.d.ts +91 -0
  132. package/dist/storage/providers/r2.js +354 -0
  133. package/dist/storage/providers/r2.js.map +1 -0
  134. package/dist/storage/providers/vana-storage.cjs +251 -0
  135. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  136. package/dist/storage/providers/vana-storage.d.ts +100 -0
  137. package/dist/storage/providers/vana-storage.js +231 -0
  138. package/dist/storage/providers/vana-storage.js.map +1 -0
  139. package/dist/types/config.cjs +0 -34
  140. package/dist/types/config.cjs.map +1 -1
  141. package/dist/types/config.d.ts +1 -607
  142. package/dist/types/config.js +0 -22
  143. package/dist/types/config.js.map +1 -1
  144. package/dist/types/contracts.cjs.map +1 -1
  145. package/dist/types/contracts.d.ts +1 -1
  146. package/dist/types/index.cjs +2 -33
  147. package/dist/types/index.cjs.map +1 -1
  148. package/dist/types/index.d.ts +2 -33
  149. package/dist/types/index.js +1 -35
  150. package/dist/types/index.js.map +1 -1
  151. package/dist/types/ps-errors.cjs +66 -0
  152. package/dist/types/ps-errors.cjs.map +1 -0
  153. package/dist/types/ps-errors.d.ts +25 -0
  154. package/dist/types/ps-errors.js +41 -0
  155. package/dist/types/ps-errors.js.map +1 -0
  156. package/dist/types.cjs.map +1 -1
  157. package/dist/types.d.ts +0 -29
  158. package/dist/types.js.map +1 -1
  159. package/package.json +7 -25
  160. package/dist/client/enhancedResponse.cjs +0 -164
  161. package/dist/client/enhancedResponse.cjs.map +0 -1
  162. package/dist/client/enhancedResponse.d.ts +0 -120
  163. package/dist/client/enhancedResponse.js +0 -138
  164. package/dist/client/enhancedResponse.js.map +0 -1
  165. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  166. package/dist/controllers/base.cjs +0 -116
  167. package/dist/controllers/base.cjs.map +0 -1
  168. package/dist/controllers/base.d.ts +0 -94
  169. package/dist/controllers/base.js +0 -92
  170. package/dist/controllers/base.js.map +0 -1
  171. package/dist/controllers/data.cjs +0 -2633
  172. package/dist/controllers/data.cjs.map +0 -1
  173. package/dist/controllers/data.d.ts +0 -1067
  174. package/dist/controllers/data.js +0 -2626
  175. package/dist/controllers/data.js.map +0 -1
  176. package/dist/controllers/operations.cjs +0 -430
  177. package/dist/controllers/operations.cjs.map +0 -1
  178. package/dist/controllers/operations.d.ts +0 -229
  179. package/dist/controllers/operations.js +0 -406
  180. package/dist/controllers/operations.js.map +0 -1
  181. package/dist/controllers/permissions.cjs +0 -4368
  182. package/dist/controllers/permissions.cjs.map +0 -1
  183. package/dist/controllers/permissions.d.ts +0 -1411
  184. package/dist/controllers/permissions.js +0 -4344
  185. package/dist/controllers/permissions.js.map +0 -1
  186. package/dist/controllers/protocol.cjs +0 -183
  187. package/dist/controllers/protocol.cjs.map +0 -1
  188. package/dist/controllers/protocol.d.ts +0 -138
  189. package/dist/controllers/protocol.js +0 -163
  190. package/dist/controllers/protocol.js.map +0 -1
  191. package/dist/controllers/schemas.cjs +0 -678
  192. package/dist/controllers/schemas.cjs.map +0 -1
  193. package/dist/controllers/schemas.d.ts +0 -293
  194. package/dist/controllers/schemas.js +0 -654
  195. package/dist/controllers/schemas.js.map +0 -1
  196. package/dist/controllers/server.cjs +0 -643
  197. package/dist/controllers/server.cjs.map +0 -1
  198. package/dist/controllers/server.d.ts +0 -322
  199. package/dist/controllers/server.js +0 -624
  200. package/dist/controllers/server.js.map +0 -1
  201. package/dist/controllers/staking.cjs +0 -626
  202. package/dist/controllers/staking.cjs.map +0 -1
  203. package/dist/controllers/staking.d.ts +0 -457
  204. package/dist/controllers/staking.js +0 -602
  205. package/dist/controllers/staking.js.map +0 -1
  206. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  207. package/dist/core/apiClient.cjs +0 -378
  208. package/dist/core/apiClient.cjs.map +0 -1
  209. package/dist/core/apiClient.d.ts +0 -286
  210. package/dist/core/apiClient.js +0 -359
  211. package/dist/core/apiClient.js.map +0 -1
  212. package/dist/core/generics.cjs +0 -417
  213. package/dist/core/generics.cjs.map +0 -1
  214. package/dist/core/generics.d.ts +0 -205
  215. package/dist/core/generics.js +0 -386
  216. package/dist/core/generics.js.map +0 -1
  217. package/dist/core/health.cjs +0 -289
  218. package/dist/core/health.cjs.map +0 -1
  219. package/dist/core/health.d.ts +0 -143
  220. package/dist/core/health.js +0 -265
  221. package/dist/core/health.js.map +0 -1
  222. package/dist/core/inMemoryNonceManager.cjs +0 -138
  223. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  224. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  225. package/dist/core/inMemoryNonceManager.js +0 -114
  226. package/dist/core/inMemoryNonceManager.js.map +0 -1
  227. package/dist/core/nonceManager.cjs +0 -304
  228. package/dist/core/nonceManager.cjs.map +0 -1
  229. package/dist/core/nonceManager.d.ts +0 -116
  230. package/dist/core/nonceManager.js +0 -280
  231. package/dist/core/nonceManager.js.map +0 -1
  232. package/dist/core/pollingManager.cjs +0 -292
  233. package/dist/core/pollingManager.cjs.map +0 -1
  234. package/dist/core/pollingManager.d.ts +0 -120
  235. package/dist/core/pollingManager.js +0 -268
  236. package/dist/core/pollingManager.js.map +0 -1
  237. package/dist/core.cjs +0 -781
  238. package/dist/core.cjs.map +0 -1
  239. package/dist/core.d.ts +0 -496
  240. package/dist/core.js +0 -756
  241. package/dist/core.js.map +0 -1
  242. package/dist/diagnostics.cjs +0 -37
  243. package/dist/diagnostics.cjs.map +0 -1
  244. package/dist/diagnostics.d.ts +0 -24
  245. package/dist/diagnostics.js +0 -13
  246. package/dist/diagnostics.js.map +0 -1
  247. package/dist/diagnostics.test.d.ts +0 -1
  248. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  249. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  250. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  251. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  252. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  253. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  254. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  255. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  256. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  257. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  258. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  259. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  260. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  261. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  262. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  263. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  264. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  265. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  266. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  267. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  268. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  269. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  270. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  271. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  272. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  273. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  274. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  275. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  276. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  277. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  278. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  279. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  280. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  281. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  282. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  283. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  284. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  285. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  286. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  287. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  288. package/dist/generated/event-types.cjs +0 -17
  289. package/dist/generated/event-types.cjs.map +0 -1
  290. package/dist/generated/event-types.d.ts +0 -816
  291. package/dist/generated/event-types.js +0 -1
  292. package/dist/generated/event-types.js.map +0 -1
  293. package/dist/generated/eventRegistry.cjs +0 -4512
  294. package/dist/generated/eventRegistry.cjs.map +0 -1
  295. package/dist/generated/eventRegistry.d.ts +0 -14
  296. package/dist/generated/eventRegistry.js +0 -4487
  297. package/dist/generated/eventRegistry.js.map +0 -1
  298. package/dist/generated/server/server-exports.cjs +0 -45
  299. package/dist/generated/server/server-exports.cjs.map +0 -1
  300. package/dist/generated/server/server-exports.d.ts +0 -36
  301. package/dist/generated/server/server-exports.js +0 -19
  302. package/dist/generated/server/server-exports.js.map +0 -1
  303. package/dist/generated/server/server.cjs +0 -17
  304. package/dist/generated/server/server.cjs.map +0 -1
  305. package/dist/generated/server/server.d.ts +0 -907
  306. package/dist/generated/server/server.js +0 -1
  307. package/dist/generated/server/server.js.map +0 -1
  308. package/dist/generated/subgraph.cjs +0 -1440
  309. package/dist/generated/subgraph.cjs.map +0 -1
  310. package/dist/generated/subgraph.d.ts +0 -6113
  311. package/dist/generated/subgraph.js +0 -1404
  312. package/dist/generated/subgraph.js.map +0 -1
  313. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  314. package/dist/lib/redisAtomicStore.cjs +0 -201
  315. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  316. package/dist/lib/redisAtomicStore.d.ts +0 -120
  317. package/dist/lib/redisAtomicStore.js +0 -177
  318. package/dist/lib/redisAtomicStore.js.map +0 -1
  319. package/dist/server/relayerHandler.cjs +0 -452
  320. package/dist/server/relayerHandler.cjs.map +0 -1
  321. package/dist/server/relayerHandler.d.ts +0 -69
  322. package/dist/server/relayerHandler.js +0 -428
  323. package/dist/server/relayerHandler.js.map +0 -1
  324. package/dist/tests/abi.test.d.ts +0 -1
  325. package/dist/tests/chains-definitions.test.d.ts +0 -1
  326. package/dist/tests/core-encryption.test.d.ts +0 -1
  327. package/dist/tests/core-extended.test.d.ts +0 -1
  328. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  329. package/dist/tests/coverage-boost.test.d.ts +0 -1
  330. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  331. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  332. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  333. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  334. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  335. package/dist/tests/data-relayer.test.d.ts +0 -1
  336. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  337. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  338. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  339. package/dist/tests/data.test.d.ts +0 -1
  340. package/dist/tests/demo-integration.test.d.ts +0 -1
  341. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  342. package/dist/tests/download-relayer.test.d.ts +0 -1
  343. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  344. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  345. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  346. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  347. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  348. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  349. package/dist/tests/errors-coverage.test.d.ts +0 -1
  350. package/dist/tests/factories/mockFactory.d.ts +0 -316
  351. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  352. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  353. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  354. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  355. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  356. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  357. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  358. package/dist/tests/helper-methods.test.d.ts +0 -1
  359. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  360. package/dist/tests/index-browser.test.d.ts +0 -1
  361. package/dist/tests/index-node.test.d.ts +0 -1
  362. package/dist/tests/index.test.d.ts +0 -1
  363. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  364. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  365. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  366. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  367. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  368. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  369. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  370. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  371. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  372. package/dist/tests/permissions.test.d.ts +0 -1
  373. package/dist/tests/personal.test.d.ts +0 -1
  374. package/dist/tests/platform-browser.test.d.ts +0 -1
  375. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  376. package/dist/tests/platform-crypto.test.d.ts +0 -1
  377. package/dist/tests/platform-index.test.d.ts +0 -1
  378. package/dist/tests/platform-node.test.d.ts +0 -1
  379. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  380. package/dist/tests/platform-updated.test.d.ts +0 -1
  381. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  382. package/dist/tests/protocol.test.d.ts +0 -1
  383. package/dist/tests/read-only-mode.test.d.ts +0 -1
  384. package/dist/tests/relayer-integration.test.d.ts +0 -1
  385. package/dist/tests/relayer-unified.test.d.ts +0 -1
  386. package/dist/tests/schemas.test.d.ts +0 -1
  387. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  388. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  389. package/dist/tests/staking.test.d.ts +0 -1
  390. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  391. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  392. package/dist/tests/types-contracts.test.d.ts +0 -1
  393. package/dist/tests/types-data.test.d.ts +0 -1
  394. package/dist/tests/types-external-apis.test.d.ts +0 -1
  395. package/dist/tests/types-generics.test.d.ts +0 -1
  396. package/dist/tests/types-permissions.test.d.ts +0 -1
  397. package/dist/tests/types-upload-params.test.d.ts +0 -1
  398. package/dist/tests/types.test.d.ts +0 -1
  399. package/dist/tests/utils-formatters.test.d.ts +0 -1
  400. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  401. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  402. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  403. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  404. package/dist/tests/utils-grants.test.d.ts +0 -1
  405. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  406. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  407. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  408. package/dist/tests/vana.test.d.ts +0 -1
  409. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  410. package/dist/types/atomicStore.cjs.map +0 -1
  411. package/dist/types/atomicStore.d.ts +0 -236
  412. package/dist/types/atomicStore.js +0 -7
  413. package/dist/types/atomicStore.js.map +0 -1
  414. package/dist/types/blockchain.cjs +0 -17
  415. package/dist/types/blockchain.cjs.map +0 -1
  416. package/dist/types/blockchain.d.ts +0 -85
  417. package/dist/types/blockchain.js +0 -1
  418. package/dist/types/blockchain.js.map +0 -1
  419. package/dist/types/controller-context.cjs +0 -17
  420. package/dist/types/controller-context.cjs.map +0 -1
  421. package/dist/types/controller-context.d.ts +0 -68
  422. package/dist/types/controller-context.js +0 -1
  423. package/dist/types/controller-context.js.map +0 -1
  424. package/dist/types/data.cjs +0 -17
  425. package/dist/types/data.cjs.map +0 -1
  426. package/dist/types/data.d.ts +0 -763
  427. package/dist/types/data.js +0 -1
  428. package/dist/types/data.js.map +0 -1
  429. package/dist/types/external-apis.cjs +0 -61
  430. package/dist/types/external-apis.cjs.map +0 -1
  431. package/dist/types/external-apis.d.ts +0 -184
  432. package/dist/types/external-apis.js +0 -34
  433. package/dist/types/external-apis.js.map +0 -1
  434. package/dist/types/generics.cjs +0 -17
  435. package/dist/types/generics.cjs.map +0 -1
  436. package/dist/types/generics.d.ts +0 -518
  437. package/dist/types/generics.js +0 -1
  438. package/dist/types/generics.js.map +0 -1
  439. package/dist/types/operationStore.cjs +0 -17
  440. package/dist/types/operationStore.cjs.map +0 -1
  441. package/dist/types/operationStore.d.ts +0 -171
  442. package/dist/types/operationStore.js +0 -1
  443. package/dist/types/operationStore.js.map +0 -1
  444. package/dist/types/operations.cjs +0 -53
  445. package/dist/types/operations.cjs.map +0 -1
  446. package/dist/types/operations.d.ts +0 -204
  447. package/dist/types/operations.js +0 -26
  448. package/dist/types/operations.js.map +0 -1
  449. package/dist/types/options.cjs +0 -17
  450. package/dist/types/options.cjs.map +0 -1
  451. package/dist/types/options.d.ts +0 -308
  452. package/dist/types/options.js +0 -1
  453. package/dist/types/options.js.map +0 -1
  454. package/dist/types/permissions.cjs +0 -17
  455. package/dist/types/permissions.cjs.map +0 -1
  456. package/dist/types/permissions.d.ts +0 -955
  457. package/dist/types/permissions.js +0 -1
  458. package/dist/types/permissions.js.map +0 -1
  459. package/dist/types/personal.cjs +0 -17
  460. package/dist/types/personal.cjs.map +0 -1
  461. package/dist/types/personal.d.ts +0 -174
  462. package/dist/types/personal.js +0 -1
  463. package/dist/types/personal.js.map +0 -1
  464. package/dist/types/relayer.cjs +0 -17
  465. package/dist/types/relayer.cjs.map +0 -1
  466. package/dist/types/relayer.d.ts +0 -552
  467. package/dist/types/relayer.js +0 -1
  468. package/dist/types/relayer.js.map +0 -1
  469. package/dist/types/transactionResults.cjs +0 -17
  470. package/dist/types/transactionResults.cjs.map +0 -1
  471. package/dist/types/transactionResults.d.ts +0 -193
  472. package/dist/types/transactionResults.js +0 -1
  473. package/dist/types/transactionResults.js.map +0 -1
  474. package/dist/types/utils.cjs +0 -17
  475. package/dist/types/utils.cjs.map +0 -1
  476. package/dist/types/utils.d.ts +0 -771
  477. package/dist/types/utils.js +0 -1
  478. package/dist/types/utils.js.map +0 -1
  479. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  480. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  481. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  482. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  483. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  484. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  485. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  486. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  487. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  488. package/dist/utils/blockchain/registry.cjs +0 -81
  489. package/dist/utils/blockchain/registry.cjs.map +0 -1
  490. package/dist/utils/blockchain/registry.d.ts +0 -32
  491. package/dist/utils/blockchain/registry.js +0 -56
  492. package/dist/utils/blockchain/registry.js.map +0 -1
  493. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  494. package/dist/utils/chainQuery.cjs +0 -107
  495. package/dist/utils/chainQuery.cjs.map +0 -1
  496. package/dist/utils/chainQuery.d.ts +0 -31
  497. package/dist/utils/chainQuery.js +0 -82
  498. package/dist/utils/chainQuery.js.map +0 -1
  499. package/dist/utils/download.cjs +0 -69
  500. package/dist/utils/download.cjs.map +0 -1
  501. package/dist/utils/download.d.ts +0 -40
  502. package/dist/utils/download.js +0 -45
  503. package/dist/utils/download.js.map +0 -1
  504. package/dist/utils/encryption.cjs +0 -176
  505. package/dist/utils/encryption.cjs.map +0 -1
  506. package/dist/utils/encryption.d.ts +0 -271
  507. package/dist/utils/encryption.js +0 -142
  508. package/dist/utils/encryption.js.map +0 -1
  509. package/dist/utils/formatters.cjs +0 -55
  510. package/dist/utils/formatters.cjs.map +0 -1
  511. package/dist/utils/formatters.d.ts +0 -118
  512. package/dist/utils/formatters.js +0 -28
  513. package/dist/utils/formatters.js.map +0 -1
  514. package/dist/utils/grantFiles.cjs +0 -181
  515. package/dist/utils/grantFiles.cjs.map +0 -1
  516. package/dist/utils/grantFiles.d.ts +0 -172
  517. package/dist/utils/grantFiles.js +0 -143
  518. package/dist/utils/grantFiles.js.map +0 -1
  519. package/dist/utils/grantValidation.cjs +0 -243
  520. package/dist/utils/grantValidation.cjs.map +0 -1
  521. package/dist/utils/grantValidation.d.ts +0 -226
  522. package/dist/utils/grantValidation.js +0 -201
  523. package/dist/utils/grantValidation.js.map +0 -1
  524. package/dist/utils/grants.cjs +0 -108
  525. package/dist/utils/grants.cjs.map +0 -1
  526. package/dist/utils/grants.d.ts +0 -148
  527. package/dist/utils/grants.js +0 -82
  528. package/dist/utils/grants.js.map +0 -1
  529. package/dist/utils/ipfs.cjs +0 -128
  530. package/dist/utils/ipfs.cjs.map +0 -1
  531. package/dist/utils/ipfs.d.ts +0 -88
  532. package/dist/utils/ipfs.js +0 -97
  533. package/dist/utils/ipfs.js.map +0 -1
  534. package/dist/utils/multicall.cjs +0 -233
  535. package/dist/utils/multicall.cjs.map +0 -1
  536. package/dist/utils/multicall.d.ts +0 -126
  537. package/dist/utils/multicall.js +0 -208
  538. package/dist/utils/multicall.js.map +0 -1
  539. package/dist/utils/parseTransactionPojo.cjs +0 -87
  540. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  541. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  542. package/dist/utils/parseTransactionPojo.js +0 -63
  543. package/dist/utils/parseTransactionPojo.js.map +0 -1
  544. package/dist/utils/schemaValidation.cjs +0 -258
  545. package/dist/utils/schemaValidation.cjs.map +0 -1
  546. package/dist/utils/schemaValidation.d.ts +0 -168
  547. package/dist/utils/schemaValidation.js +0 -219
  548. package/dist/utils/schemaValidation.js.map +0 -1
  549. package/dist/utils/signatureCache.cjs +0 -192
  550. package/dist/utils/signatureCache.cjs.map +0 -1
  551. package/dist/utils/signatureCache.d.ts +0 -172
  552. package/dist/utils/signatureCache.js +0 -167
  553. package/dist/utils/signatureCache.js.map +0 -1
  554. package/dist/utils/signatureFormatter.cjs +0 -42
  555. package/dist/utils/signatureFormatter.cjs.map +0 -1
  556. package/dist/utils/signatureFormatter.d.ts +0 -36
  557. package/dist/utils/signatureFormatter.js +0 -18
  558. package/dist/utils/signatureFormatter.js.map +0 -1
  559. package/dist/utils/subgraphConsistency.cjs +0 -184
  560. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  561. package/dist/utils/subgraphConsistency.d.ts +0 -65
  562. package/dist/utils/subgraphConsistency.js +0 -155
  563. package/dist/utils/subgraphConsistency.js.map +0 -1
  564. package/dist/utils/subgraphMetaCache.cjs +0 -101
  565. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  566. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  567. package/dist/utils/subgraphMetaCache.js +0 -76
  568. package/dist/utils/subgraphMetaCache.js.map +0 -1
  569. package/dist/utils/subgraphPagination.cjs +0 -104
  570. package/dist/utils/subgraphPagination.cjs.map +0 -1
  571. package/dist/utils/subgraphPagination.d.ts +0 -78
  572. package/dist/utils/subgraphPagination.js +0 -78
  573. package/dist/utils/subgraphPagination.js.map +0 -1
  574. package/dist/utils/tests/multicall.test.d.ts +0 -1
  575. package/dist/utils/transactionHelpers.cjs +0 -54
  576. package/dist/utils/transactionHelpers.cjs.map +0 -1
  577. package/dist/utils/transactionHelpers.d.ts +0 -80
  578. package/dist/utils/transactionHelpers.js +0 -29
  579. package/dist/utils/transactionHelpers.js.map +0 -1
  580. package/dist/utils/typeGuards.cjs +0 -109
  581. package/dist/utils/typeGuards.cjs.map +0 -1
  582. package/dist/utils/typeGuards.d.ts +0 -138
  583. package/dist/utils/typeGuards.js +0 -74
  584. package/dist/utils/typeGuards.js.map +0 -1
  585. package/dist/utils/typedDataConverter.cjs +0 -43
  586. package/dist/utils/typedDataConverter.cjs.map +0 -1
  587. package/dist/utils/typedDataConverter.d.ts +0 -46
  588. package/dist/utils/typedDataConverter.js +0 -19
  589. package/dist/utils/typedDataConverter.js.map +0 -1
  590. package/dist/utils/urlResolver.cjs +0 -62
  591. package/dist/utils/urlResolver.cjs.map +0 -1
  592. package/dist/utils/urlResolver.d.ts +0 -56
  593. package/dist/utils/urlResolver.js +0 -37
  594. package/dist/utils/urlResolver.js.map +0 -1
  595. package/dist/utils/wallet.cjs +0 -63
  596. package/dist/utils/wallet.cjs.map +0 -1
  597. package/dist/utils/wallet.d.ts +0 -94
  598. package/dist/utils/wallet.js +0 -37
  599. package/dist/utils/wallet.js.map +0 -1
  600. package/dist/utils/withEvents.cjs +0 -44
  601. package/dist/utils/withEvents.cjs.map +0 -1
  602. package/dist/utils/withEvents.d.ts +0 -56
  603. package/dist/utils/withEvents.js +0 -18
  604. package/dist/utils/withEvents.js.map +0 -1
  605. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  606. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  607. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  608. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  609. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  610. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  611. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  612. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  613. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  614. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  615. /package/dist/{core/core.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  616. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  617. /package/dist/{core/tests/client.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  618. /package/dist/{core/tests/generics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
@@ -1,289 +0,0 @@
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 health_exports = {};
20
- __export(health_exports, {
21
- SystemHealthChecker: () => SystemHealthChecker
22
- });
23
- module.exports = __toCommonJS(health_exports);
24
- class SystemHealthChecker {
25
- config;
26
- constructor(config) {
27
- this.config = {
28
- ...config,
29
- addresses: config.addresses ?? [],
30
- staleThresholdSeconds: config.staleThresholdSeconds ?? 300
31
- };
32
- }
33
- /**
34
- * Performs a comprehensive health check of the system.
35
- *
36
- * @returns The health status of the system
37
- */
38
- async check() {
39
- const timestamp = Date.now();
40
- const errors = [];
41
- const atomicStore = await this.checkAtomicStore();
42
- if (atomicStore.status !== "healthy") {
43
- errors.push(`Atomic store ${atomicStore.status}: ${atomicStore.message}`);
44
- }
45
- const operationStore = await this.checkOperationStore();
46
- if (operationStore.status !== "healthy") {
47
- errors.push(
48
- `Operation store ${operationStore.status}: ${operationStore.message}`
49
- );
50
- }
51
- const blockchain = await this.checkBlockchain();
52
- if (blockchain.status !== "healthy") {
53
- errors.push(`Blockchain ${blockchain.status}: ${blockchain.message}`);
54
- }
55
- let nonces;
56
- if (this.config.addresses.length > 0) {
57
- nonces = await this.checkNonces();
58
- for (const nonce of nonces) {
59
- if (nonce.status !== "healthy") {
60
- errors.push(`Nonce ${nonce.status} for ${nonce.address}`);
61
- }
62
- }
63
- }
64
- const queue = await this.checkQueue();
65
- if (queue && queue.isStale) {
66
- errors.push(
67
- `Queue is stale (oldest pending: ${queue.oldestPending}s ago)`
68
- );
69
- }
70
- let status;
71
- if (errors.length === 0) {
72
- status = "healthy";
73
- } else if (atomicStore.status === "unhealthy" || operationStore.status === "unhealthy" || blockchain.status === "unhealthy") {
74
- status = "unhealthy";
75
- } else {
76
- status = "degraded";
77
- }
78
- return {
79
- status,
80
- timestamp,
81
- checks: {
82
- atomicStore,
83
- operationStore,
84
- blockchain,
85
- nonces,
86
- queue
87
- },
88
- errors: errors.length > 0 ? errors : void 0
89
- };
90
- }
91
- /**
92
- * Checks the health of the atomic store.
93
- */
94
- async checkAtomicStore() {
95
- try {
96
- const start = Date.now();
97
- const testKey = `health:check:${Date.now()}`;
98
- await this.config.atomicStore.set(testKey, "test");
99
- const value = await this.config.atomicStore.get(testKey);
100
- if (value !== "test") {
101
- return {
102
- status: "unhealthy",
103
- message: "Atomic store read/write test failed"
104
- };
105
- }
106
- if (this.config.atomicStore.delete) {
107
- await this.config.atomicStore.delete(testKey);
108
- }
109
- const latency = Date.now() - start;
110
- if (latency > 1e3) {
111
- return {
112
- status: "degraded",
113
- message: `High latency: ${latency}ms`,
114
- latency
115
- };
116
- }
117
- return {
118
- status: "healthy",
119
- latency
120
- };
121
- } catch (error) {
122
- return {
123
- status: "unhealthy",
124
- message: error instanceof Error ? error.message : "Unknown error"
125
- };
126
- }
127
- }
128
- /**
129
- * Checks the health of the operation store.
130
- */
131
- async checkOperationStore() {
132
- try {
133
- const start = Date.now();
134
- await this.config.operationStore.getQueuedOperations({ limit: 1 });
135
- const latency = Date.now() - start;
136
- if (latency > 2e3) {
137
- return {
138
- status: "degraded",
139
- message: `High latency: ${latency}ms`,
140
- latency
141
- };
142
- }
143
- return {
144
- status: "healthy",
145
- latency
146
- };
147
- } catch (error) {
148
- return {
149
- status: "unhealthy",
150
- message: error instanceof Error ? error.message : "Unknown error"
151
- };
152
- }
153
- }
154
- /**
155
- * Checks blockchain connectivity.
156
- */
157
- async checkBlockchain() {
158
- try {
159
- const start = Date.now();
160
- const blockNumber = await this.config.publicClient.getBlockNumber();
161
- if (blockNumber === 0n) {
162
- return {
163
- status: "unhealthy",
164
- message: "Invalid block number"
165
- };
166
- }
167
- const latency = Date.now() - start;
168
- if (latency > 5e3) {
169
- return {
170
- status: "degraded",
171
- message: `High latency: ${latency}ms`,
172
- latency
173
- };
174
- }
175
- return {
176
- status: "healthy",
177
- latency
178
- };
179
- } catch (error) {
180
- return {
181
- status: "unhealthy",
182
- message: error instanceof Error ? error.message : "Unknown error"
183
- };
184
- }
185
- }
186
- /**
187
- * Checks nonce synchronization for configured addresses.
188
- */
189
- async checkNonces() {
190
- const results = [];
191
- for (const address of this.config.addresses) {
192
- try {
193
- const lastUsedKey = `nonce:${this.config.chainId}:${address}:lastUsed`;
194
- const lastUsedStr = await this.config.atomicStore.get(lastUsedKey);
195
- const lastUsed = lastUsedStr ? parseInt(lastUsedStr) : -1;
196
- const [pendingCount, confirmedCount] = await Promise.all([
197
- this.config.publicClient.getTransactionCount({
198
- address,
199
- blockTag: "pending"
200
- }),
201
- this.config.publicClient.getTransactionCount({
202
- address,
203
- blockTag: "latest"
204
- })
205
- ]);
206
- const blockchainPending = pendingCount === 0 ? -1 : Number(pendingCount) - 1;
207
- const blockchainConfirmed = confirmedCount === 0 ? -1 : Number(confirmedCount) - 1;
208
- let status;
209
- const gap = blockchainPending - blockchainConfirmed;
210
- if (lastUsed < blockchainConfirmed) {
211
- status = "desynced";
212
- } else if (gap > 5) {
213
- status = "stuck";
214
- } else {
215
- status = "healthy";
216
- }
217
- results.push({
218
- address,
219
- status,
220
- lastUsed,
221
- blockchainPending,
222
- blockchainConfirmed,
223
- gap: gap > 0 ? gap : void 0
224
- });
225
- } catch {
226
- results.push({
227
- address,
228
- status: "desynced",
229
- lastUsed: -1,
230
- blockchainPending: -1,
231
- blockchainConfirmed: -1
232
- });
233
- }
234
- }
235
- return results;
236
- }
237
- /**
238
- * Checks operation queue health.
239
- */
240
- async checkQueue() {
241
- try {
242
- const [pending, processing, failed] = await Promise.all([
243
- this.config.operationStore.getQueuedOperations({ limit: 100 }),
244
- this.config.operationStore.getProcessingOperations?.({ limit: 100 }),
245
- this.config.operationStore.getFailedOperations?.({ limit: 100 })
246
- ]);
247
- const pendingCount = pending.length;
248
- const processingCount = processing?.length ?? 0;
249
- const failedCount = failed?.length ?? 0;
250
- let oldestPending;
251
- let isStale = false;
252
- if (pendingCount > 0 && pending[0].createdAt) {
253
- const ageSeconds = Math.floor(
254
- (Date.now() - pending[0].createdAt) / 1e3
255
- );
256
- oldestPending = ageSeconds;
257
- isStale = ageSeconds > this.config.staleThresholdSeconds;
258
- }
259
- return {
260
- pendingCount,
261
- processingCount,
262
- failedCount,
263
- oldestPending,
264
- isStale
265
- };
266
- } catch {
267
- return void 0;
268
- }
269
- }
270
- /**
271
- * Gets a simple health check response for HTTP endpoints.
272
- *
273
- * @returns A simple health object suitable for JSON response
274
- */
275
- async getSimpleHealth() {
276
- const health = await this.check();
277
- return {
278
- healthy: health.status === "healthy",
279
- status: health.status,
280
- timestamp: health.timestamp,
281
- errors: health.errors
282
- };
283
- }
284
- }
285
- // Annotate the CommonJS export names for ESM import in node:
286
- 0 && (module.exports = {
287
- SystemHealthChecker
288
- });
289
- //# sourceMappingURL=health.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/health.ts"],"sourcesContent":["/**\n * System health monitoring for distributed relayer deployments.\n *\n * @module\n */\n\nimport type { IAtomicStore } from \"../types/atomicStore\";\nimport type { IOperationStore } from \"../types/operationStore\";\nimport type { PublicClient } from \"viem\";\n\n/**\n * Configuration for SystemHealthChecker.\n */\nexport interface SystemHealthCheckerConfig {\n /** Atomic store for distributed state */\n atomicStore: IAtomicStore;\n /** Operation store for queue state */\n operationStore: IOperationStore;\n /** Public client for blockchain queries */\n publicClient: PublicClient;\n /** Chain ID to monitor */\n chainId: number;\n /** Addresses to monitor (optional) */\n addresses?: string[];\n /** Stale threshold in seconds (default: 300) */\n staleThresholdSeconds?: number;\n}\n\n/**\n * Health status for the system.\n */\nexport interface HealthStatus {\n /** Overall health status */\n status: \"healthy\" | \"degraded\" | \"unhealthy\";\n /** Timestamp of the check */\n timestamp: number;\n /** Individual component checks */\n checks: {\n atomicStore: ComponentHealth;\n operationStore: ComponentHealth;\n blockchain: ComponentHealth;\n nonces?: NonceHealth[];\n queue?: QueueHealth;\n };\n /** Any error messages */\n errors?: string[];\n}\n\n/**\n * Health status for a component.\n */\nexport interface ComponentHealth {\n status: \"healthy\" | \"degraded\" | \"unhealthy\";\n message?: string;\n latency?: number;\n}\n\n/**\n * Nonce health for an address.\n */\nexport interface NonceHealth {\n address: string;\n status: \"healthy\" | \"stuck\" | \"desynced\";\n lastUsed: number;\n blockchainPending: number;\n blockchainConfirmed: number;\n gap?: number;\n}\n\n/**\n * Queue health information.\n */\nexport interface QueueHealth {\n pendingCount: number;\n processingCount: number;\n failedCount: number;\n oldestPending?: number;\n isStale: boolean;\n}\n\n/**\n * System health checker for monitoring distributed relayer deployments.\n *\n * @remarks\n * This class provides comprehensive health monitoring for relayer systems:\n * - Storage backend connectivity and performance\n * - Blockchain RPC availability\n * - Nonce synchronization status\n * - Operation queue health\n * - Stuck transaction detection\n *\n * @example\n * ```typescript\n * const healthChecker = new SystemHealthChecker({\n * atomicStore,\n * operationStore,\n * publicClient,\n * chainId: 14800,\n * addresses: [relayerAddress]\n * });\n *\n * const health = await healthChecker.check();\n * if (health.status === 'unhealthy') {\n * console.error('System unhealthy:', health.errors);\n * }\n * ```\n *\n * @category Health\n */\nexport class SystemHealthChecker {\n private readonly config: Required<SystemHealthCheckerConfig>;\n\n constructor(config: SystemHealthCheckerConfig) {\n this.config = {\n ...config,\n addresses: config.addresses ?? [],\n staleThresholdSeconds: config.staleThresholdSeconds ?? 300,\n };\n }\n\n /**\n * Performs a comprehensive health check of the system.\n *\n * @returns The health status of the system\n */\n async check(): Promise<HealthStatus> {\n const timestamp = Date.now();\n const errors: string[] = [];\n\n // Check atomic store\n const atomicStore = await this.checkAtomicStore();\n if (atomicStore.status !== \"healthy\") {\n errors.push(`Atomic store ${atomicStore.status}: ${atomicStore.message}`);\n }\n\n // Check operation store\n const operationStore = await this.checkOperationStore();\n if (operationStore.status !== \"healthy\") {\n errors.push(\n `Operation store ${operationStore.status}: ${operationStore.message}`,\n );\n }\n\n // Check blockchain connectivity\n const blockchain = await this.checkBlockchain();\n if (blockchain.status !== \"healthy\") {\n errors.push(`Blockchain ${blockchain.status}: ${blockchain.message}`);\n }\n\n // Check nonces if addresses provided\n let nonces: NonceHealth[] | undefined;\n if (this.config.addresses.length > 0) {\n nonces = await this.checkNonces();\n for (const nonce of nonces) {\n if (nonce.status !== \"healthy\") {\n errors.push(`Nonce ${nonce.status} for ${nonce.address}`);\n }\n }\n }\n\n // Check queue health\n const queue = await this.checkQueue();\n if (queue && queue.isStale) {\n errors.push(\n `Queue is stale (oldest pending: ${queue.oldestPending}s ago)`,\n );\n }\n\n // Determine overall status\n let status: \"healthy\" | \"degraded\" | \"unhealthy\";\n if (errors.length === 0) {\n status = \"healthy\";\n } else if (\n atomicStore.status === \"unhealthy\" ||\n operationStore.status === \"unhealthy\" ||\n blockchain.status === \"unhealthy\"\n ) {\n status = \"unhealthy\";\n } else {\n status = \"degraded\";\n }\n\n return {\n status,\n timestamp,\n checks: {\n atomicStore,\n operationStore,\n blockchain,\n nonces,\n queue,\n },\n errors: errors.length > 0 ? errors : undefined,\n };\n }\n\n /**\n * Checks the health of the atomic store.\n */\n private async checkAtomicStore(): Promise<ComponentHealth> {\n try {\n const start = Date.now();\n const testKey = `health:check:${Date.now()}`;\n\n // Test basic operations\n await this.config.atomicStore.set(testKey, \"test\");\n const value = await this.config.atomicStore.get(testKey);\n\n if (value !== \"test\") {\n return {\n status: \"unhealthy\",\n message: \"Atomic store read/write test failed\",\n };\n }\n\n // Clean up\n if (this.config.atomicStore.delete) {\n await this.config.atomicStore.delete(testKey);\n }\n\n const latency = Date.now() - start;\n\n if (latency > 1000) {\n return {\n status: \"degraded\",\n message: `High latency: ${latency}ms`,\n latency,\n };\n }\n\n return {\n status: \"healthy\",\n latency,\n };\n } catch (error) {\n return {\n status: \"unhealthy\",\n message: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }\n\n /**\n * Checks the health of the operation store.\n */\n private async checkOperationStore(): Promise<ComponentHealth> {\n try {\n const start = Date.now();\n\n // Test basic query\n await this.config.operationStore.getQueuedOperations({ limit: 1 });\n\n const latency = Date.now() - start;\n\n if (latency > 2000) {\n return {\n status: \"degraded\",\n message: `High latency: ${latency}ms`,\n latency,\n };\n }\n\n return {\n status: \"healthy\",\n latency,\n };\n } catch (error) {\n return {\n status: \"unhealthy\",\n message: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }\n\n /**\n * Checks blockchain connectivity.\n */\n private async checkBlockchain(): Promise<ComponentHealth> {\n try {\n const start = Date.now();\n\n // Test RPC connectivity\n const blockNumber = await this.config.publicClient.getBlockNumber();\n\n if (blockNumber === 0n) {\n return {\n status: \"unhealthy\",\n message: \"Invalid block number\",\n };\n }\n\n const latency = Date.now() - start;\n\n if (latency > 5000) {\n return {\n status: \"degraded\",\n message: `High latency: ${latency}ms`,\n latency,\n };\n }\n\n return {\n status: \"healthy\",\n latency,\n };\n } catch (error) {\n return {\n status: \"unhealthy\",\n message: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }\n\n /**\n * Checks nonce synchronization for configured addresses.\n */\n private async checkNonces(): Promise<NonceHealth[]> {\n const results: NonceHealth[] = [];\n\n for (const address of this.config.addresses) {\n try {\n const lastUsedKey = `nonce:${this.config.chainId}:${address}:lastUsed`;\n\n // Get stored nonce\n const lastUsedStr = await this.config.atomicStore.get(lastUsedKey);\n const lastUsed = lastUsedStr ? parseInt(lastUsedStr) : -1;\n\n // Get blockchain nonces\n const [pendingCount, confirmedCount] = await Promise.all([\n this.config.publicClient.getTransactionCount({\n address: address as `0x${string}`,\n blockTag: \"pending\",\n }),\n this.config.publicClient.getTransactionCount({\n address: address as `0x${string}`,\n blockTag: \"latest\",\n }),\n ]);\n\n const blockchainPending =\n pendingCount === 0 ? -1 : Number(pendingCount) - 1;\n const blockchainConfirmed =\n confirmedCount === 0 ? -1 : Number(confirmedCount) - 1;\n\n // Determine status\n let status: \"healthy\" | \"stuck\" | \"desynced\";\n const gap = blockchainPending - blockchainConfirmed;\n\n if (lastUsed < blockchainConfirmed) {\n status = \"desynced\";\n } else if (gap > 5) {\n status = \"stuck\";\n } else {\n status = \"healthy\";\n }\n\n results.push({\n address,\n status,\n lastUsed,\n blockchainPending,\n blockchainConfirmed,\n gap: gap > 0 ? gap : undefined,\n });\n } catch {\n results.push({\n address,\n status: \"desynced\",\n lastUsed: -1,\n blockchainPending: -1,\n blockchainConfirmed: -1,\n });\n }\n }\n\n return results;\n }\n\n /**\n * Checks operation queue health.\n */\n private async checkQueue(): Promise<QueueHealth | undefined> {\n try {\n const [pending, processing, failed] = await Promise.all([\n this.config.operationStore.getQueuedOperations({ limit: 100 }),\n this.config.operationStore.getProcessingOperations?.({ limit: 100 }),\n this.config.operationStore.getFailedOperations?.({ limit: 100 }),\n ]);\n\n const pendingCount = pending.length;\n const processingCount = processing?.length ?? 0;\n const failedCount = failed?.length ?? 0;\n\n // Check for stale operations\n let oldestPending: number | undefined;\n let isStale = false;\n\n if (pendingCount > 0 && pending[0].createdAt) {\n const ageSeconds = Math.floor(\n (Date.now() - pending[0].createdAt) / 1000,\n );\n oldestPending = ageSeconds;\n isStale = ageSeconds > this.config.staleThresholdSeconds;\n }\n\n return {\n pendingCount,\n processingCount,\n failedCount,\n oldestPending,\n isStale,\n };\n } catch {\n return undefined;\n }\n }\n\n /**\n * Gets a simple health check response for HTTP endpoints.\n *\n * @returns A simple health object suitable for JSON response\n */\n async getSimpleHealth(): Promise<{\n healthy: boolean;\n status: string;\n timestamp: number;\n errors?: string[];\n }> {\n const health = await this.check();\n\n return {\n healthy: health.status === \"healthy\",\n status: health.status,\n timestamp: health.timestamp,\n errors: health.errors,\n };\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,143 +0,0 @@
1
- /**
2
- * System health monitoring for distributed relayer deployments.
3
- *
4
- * @module
5
- */
6
- import type { IAtomicStore } from "../types/atomicStore";
7
- import type { IOperationStore } from "../types/operationStore";
8
- import type { PublicClient } from "viem";
9
- /**
10
- * Configuration for SystemHealthChecker.
11
- */
12
- export interface SystemHealthCheckerConfig {
13
- /** Atomic store for distributed state */
14
- atomicStore: IAtomicStore;
15
- /** Operation store for queue state */
16
- operationStore: IOperationStore;
17
- /** Public client for blockchain queries */
18
- publicClient: PublicClient;
19
- /** Chain ID to monitor */
20
- chainId: number;
21
- /** Addresses to monitor (optional) */
22
- addresses?: string[];
23
- /** Stale threshold in seconds (default: 300) */
24
- staleThresholdSeconds?: number;
25
- }
26
- /**
27
- * Health status for the system.
28
- */
29
- export interface HealthStatus {
30
- /** Overall health status */
31
- status: "healthy" | "degraded" | "unhealthy";
32
- /** Timestamp of the check */
33
- timestamp: number;
34
- /** Individual component checks */
35
- checks: {
36
- atomicStore: ComponentHealth;
37
- operationStore: ComponentHealth;
38
- blockchain: ComponentHealth;
39
- nonces?: NonceHealth[];
40
- queue?: QueueHealth;
41
- };
42
- /** Any error messages */
43
- errors?: string[];
44
- }
45
- /**
46
- * Health status for a component.
47
- */
48
- export interface ComponentHealth {
49
- status: "healthy" | "degraded" | "unhealthy";
50
- message?: string;
51
- latency?: number;
52
- }
53
- /**
54
- * Nonce health for an address.
55
- */
56
- export interface NonceHealth {
57
- address: string;
58
- status: "healthy" | "stuck" | "desynced";
59
- lastUsed: number;
60
- blockchainPending: number;
61
- blockchainConfirmed: number;
62
- gap?: number;
63
- }
64
- /**
65
- * Queue health information.
66
- */
67
- export interface QueueHealth {
68
- pendingCount: number;
69
- processingCount: number;
70
- failedCount: number;
71
- oldestPending?: number;
72
- isStale: boolean;
73
- }
74
- /**
75
- * System health checker for monitoring distributed relayer deployments.
76
- *
77
- * @remarks
78
- * This class provides comprehensive health monitoring for relayer systems:
79
- * - Storage backend connectivity and performance
80
- * - Blockchain RPC availability
81
- * - Nonce synchronization status
82
- * - Operation queue health
83
- * - Stuck transaction detection
84
- *
85
- * @example
86
- * ```typescript
87
- * const healthChecker = new SystemHealthChecker({
88
- * atomicStore,
89
- * operationStore,
90
- * publicClient,
91
- * chainId: 14800,
92
- * addresses: [relayerAddress]
93
- * });
94
- *
95
- * const health = await healthChecker.check();
96
- * if (health.status === 'unhealthy') {
97
- * console.error('System unhealthy:', health.errors);
98
- * }
99
- * ```
100
- *
101
- * @category Health
102
- */
103
- export declare class SystemHealthChecker {
104
- private readonly config;
105
- constructor(config: SystemHealthCheckerConfig);
106
- /**
107
- * Performs a comprehensive health check of the system.
108
- *
109
- * @returns The health status of the system
110
- */
111
- check(): Promise<HealthStatus>;
112
- /**
113
- * Checks the health of the atomic store.
114
- */
115
- private checkAtomicStore;
116
- /**
117
- * Checks the health of the operation store.
118
- */
119
- private checkOperationStore;
120
- /**
121
- * Checks blockchain connectivity.
122
- */
123
- private checkBlockchain;
124
- /**
125
- * Checks nonce synchronization for configured addresses.
126
- */
127
- private checkNonces;
128
- /**
129
- * Checks operation queue health.
130
- */
131
- private checkQueue;
132
- /**
133
- * Gets a simple health check response for HTTP endpoints.
134
- *
135
- * @returns A simple health object suitable for JSON response
136
- */
137
- getSimpleHealth(): Promise<{
138
- healthy: boolean;
139
- status: string;
140
- timestamp: number;
141
- errors?: string[];
142
- }>;
143
- }