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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (631) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +150 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +129 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/ecies/node.cjs +6 -6
  48. package/dist/crypto/ecies/node.cjs.map +1 -1
  49. package/dist/crypto/ecies/node.js +1 -1
  50. package/dist/crypto/ecies/node.js.map +1 -1
  51. package/dist/crypto/envelope/openpgp.cjs +59 -0
  52. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  53. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  54. package/dist/crypto/envelope/openpgp.js +24 -0
  55. package/dist/crypto/envelope/openpgp.js.map +1 -0
  56. package/dist/crypto/keys/derive.cjs +65 -0
  57. package/dist/crypto/keys/derive.cjs.map +1 -0
  58. package/dist/crypto/keys/derive.d.ts +45 -0
  59. package/dist/crypto/keys/derive.js +38 -0
  60. package/dist/crypto/keys/derive.js.map +1 -0
  61. package/dist/errors.cjs +10 -0
  62. package/dist/errors.cjs.map +1 -1
  63. package/dist/errors.js +10 -0
  64. package/dist/errors.js.map +1 -1
  65. package/dist/generated/abi/index.cjs +2 -37
  66. package/dist/generated/abi/index.cjs.map +1 -1
  67. package/dist/generated/abi/index.d.ts +2683 -9296
  68. package/dist/generated/abi/index.js +2 -29
  69. package/dist/generated/abi/index.js.map +1 -1
  70. package/dist/generated/addresses.cjs +5 -107
  71. package/dist/generated/addresses.cjs.map +1 -1
  72. package/dist/generated/addresses.d.ts +5 -99
  73. package/dist/generated/addresses.js +5 -105
  74. package/dist/generated/addresses.js.map +1 -1
  75. package/dist/index.browser.d.ts +24 -140
  76. package/dist/index.browser.js +32258 -114
  77. package/dist/index.browser.js.map +7 -1
  78. package/dist/index.node.cjs +32980 -160
  79. package/dist/index.node.cjs.map +7 -1
  80. package/dist/index.node.d.ts +23 -210
  81. package/dist/index.node.js +32884 -133
  82. package/dist/index.node.js.map +7 -1
  83. package/dist/platform/node.cjs +2 -2
  84. package/dist/platform/node.cjs.map +1 -1
  85. package/dist/platform/node.js +1 -1
  86. package/dist/platform/node.js.map +1 -1
  87. package/dist/protocol/data-file.cjs +56 -0
  88. package/dist/protocol/data-file.cjs.map +1 -0
  89. package/dist/protocol/data-file.d.ts +20 -0
  90. package/dist/protocol/data-file.js +30 -0
  91. package/dist/protocol/data-file.js.map +1 -0
  92. package/dist/protocol/eip712.cjs +123 -0
  93. package/dist/protocol/eip712.cjs.map +1 -0
  94. package/dist/protocol/eip712.d.ts +117 -0
  95. package/dist/protocol/eip712.js +90 -0
  96. package/dist/protocol/eip712.js.map +1 -0
  97. package/dist/protocol/gateway.cjs +226 -0
  98. package/dist/protocol/gateway.cjs.map +1 -0
  99. package/dist/protocol/gateway.d.ts +120 -0
  100. package/dist/protocol/gateway.js +202 -0
  101. package/dist/protocol/gateway.js.map +1 -0
  102. package/dist/protocol/grants.cjs +146 -0
  103. package/dist/protocol/grants.cjs.map +1 -0
  104. package/dist/protocol/grants.d.ts +31 -0
  105. package/dist/protocol/grants.js +123 -0
  106. package/dist/protocol/grants.js.map +1 -0
  107. package/dist/protocol/scopes.cjs +78 -0
  108. package/dist/protocol/scopes.cjs.map +1 -0
  109. package/dist/protocol/scopes.d.ts +13 -0
  110. package/dist/protocol/scopes.js +50 -0
  111. package/dist/protocol/scopes.js.map +1 -0
  112. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  113. package/dist/storage/default.cjs.map +1 -0
  114. package/dist/storage/default.d.ts +4 -0
  115. package/dist/storage/default.js +8 -0
  116. package/dist/storage/default.js.map +1 -0
  117. package/dist/storage/index.cjs +11 -2
  118. package/dist/storage/index.cjs.map +1 -1
  119. package/dist/storage/index.d.ts +9 -0
  120. package/dist/storage/index.js +7 -1
  121. package/dist/storage/index.js.map +1 -1
  122. package/dist/storage/providers/callback-storage.cjs +1 -0
  123. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  124. package/dist/storage/providers/callback-storage.js +1 -0
  125. package/dist/storage/providers/callback-storage.js.map +1 -1
  126. package/dist/storage/providers/dropbox.cjs +1 -0
  127. package/dist/storage/providers/dropbox.cjs.map +1 -1
  128. package/dist/storage/providers/dropbox.js +1 -0
  129. package/dist/storage/providers/dropbox.js.map +1 -1
  130. package/dist/storage/providers/google-drive.cjs +1 -0
  131. package/dist/storage/providers/google-drive.cjs.map +1 -1
  132. package/dist/storage/providers/google-drive.js +1 -0
  133. package/dist/storage/providers/google-drive.js.map +1 -1
  134. package/dist/storage/providers/ipfs.cjs +1 -0
  135. package/dist/storage/providers/ipfs.cjs.map +1 -1
  136. package/dist/storage/providers/ipfs.js +1 -0
  137. package/dist/storage/providers/ipfs.js.map +1 -1
  138. package/dist/storage/providers/pinata.cjs +1 -0
  139. package/dist/storage/providers/pinata.cjs.map +1 -1
  140. package/dist/storage/providers/pinata.js +1 -0
  141. package/dist/storage/providers/pinata.js.map +1 -1
  142. package/dist/storage/providers/r2.cjs +376 -0
  143. package/dist/storage/providers/r2.cjs.map +1 -0
  144. package/dist/storage/providers/r2.d.ts +91 -0
  145. package/dist/storage/providers/r2.js +354 -0
  146. package/dist/storage/providers/r2.js.map +1 -0
  147. package/dist/storage/providers/vana-storage.cjs +251 -0
  148. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  149. package/dist/storage/providers/vana-storage.d.ts +100 -0
  150. package/dist/storage/providers/vana-storage.js +231 -0
  151. package/dist/storage/providers/vana-storage.js.map +1 -0
  152. package/dist/types/config.cjs +0 -34
  153. package/dist/types/config.cjs.map +1 -1
  154. package/dist/types/config.d.ts +1 -607
  155. package/dist/types/config.js +0 -22
  156. package/dist/types/config.js.map +1 -1
  157. package/dist/types/contracts.cjs.map +1 -1
  158. package/dist/types/contracts.d.ts +1 -1
  159. package/dist/types/index.cjs +2 -33
  160. package/dist/types/index.cjs.map +1 -1
  161. package/dist/types/index.d.ts +2 -33
  162. package/dist/types/index.js +1 -35
  163. package/dist/types/index.js.map +1 -1
  164. package/dist/types/ps-errors.cjs +91 -0
  165. package/dist/types/ps-errors.cjs.map +1 -0
  166. package/dist/types/ps-errors.d.ts +26 -0
  167. package/dist/types/ps-errors.js +66 -0
  168. package/dist/types/ps-errors.js.map +1 -0
  169. package/dist/types.cjs.map +1 -1
  170. package/dist/types.d.ts +0 -29
  171. package/dist/types.js.map +1 -1
  172. package/package.json +8 -25
  173. package/dist/client/enhancedResponse.cjs +0 -164
  174. package/dist/client/enhancedResponse.cjs.map +0 -1
  175. package/dist/client/enhancedResponse.d.ts +0 -120
  176. package/dist/client/enhancedResponse.js +0 -138
  177. package/dist/client/enhancedResponse.js.map +0 -1
  178. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  179. package/dist/controllers/base.cjs +0 -116
  180. package/dist/controllers/base.cjs.map +0 -1
  181. package/dist/controllers/base.d.ts +0 -94
  182. package/dist/controllers/base.js +0 -92
  183. package/dist/controllers/base.js.map +0 -1
  184. package/dist/controllers/data.cjs +0 -2633
  185. package/dist/controllers/data.cjs.map +0 -1
  186. package/dist/controllers/data.d.ts +0 -1067
  187. package/dist/controllers/data.js +0 -2626
  188. package/dist/controllers/data.js.map +0 -1
  189. package/dist/controllers/operations.cjs +0 -430
  190. package/dist/controllers/operations.cjs.map +0 -1
  191. package/dist/controllers/operations.d.ts +0 -229
  192. package/dist/controllers/operations.js +0 -406
  193. package/dist/controllers/operations.js.map +0 -1
  194. package/dist/controllers/permissions.cjs +0 -4368
  195. package/dist/controllers/permissions.cjs.map +0 -1
  196. package/dist/controllers/permissions.d.ts +0 -1411
  197. package/dist/controllers/permissions.js +0 -4344
  198. package/dist/controllers/permissions.js.map +0 -1
  199. package/dist/controllers/protocol.cjs +0 -183
  200. package/dist/controllers/protocol.cjs.map +0 -1
  201. package/dist/controllers/protocol.d.ts +0 -138
  202. package/dist/controllers/protocol.js +0 -163
  203. package/dist/controllers/protocol.js.map +0 -1
  204. package/dist/controllers/schemas.cjs +0 -678
  205. package/dist/controllers/schemas.cjs.map +0 -1
  206. package/dist/controllers/schemas.d.ts +0 -293
  207. package/dist/controllers/schemas.js +0 -654
  208. package/dist/controllers/schemas.js.map +0 -1
  209. package/dist/controllers/server.cjs +0 -643
  210. package/dist/controllers/server.cjs.map +0 -1
  211. package/dist/controllers/server.d.ts +0 -322
  212. package/dist/controllers/server.js +0 -624
  213. package/dist/controllers/server.js.map +0 -1
  214. package/dist/controllers/staking.cjs +0 -626
  215. package/dist/controllers/staking.cjs.map +0 -1
  216. package/dist/controllers/staking.d.ts +0 -457
  217. package/dist/controllers/staking.js +0 -602
  218. package/dist/controllers/staking.js.map +0 -1
  219. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  220. package/dist/core/apiClient.cjs +0 -378
  221. package/dist/core/apiClient.cjs.map +0 -1
  222. package/dist/core/apiClient.d.ts +0 -286
  223. package/dist/core/apiClient.js +0 -359
  224. package/dist/core/apiClient.js.map +0 -1
  225. package/dist/core/generics.cjs +0 -417
  226. package/dist/core/generics.cjs.map +0 -1
  227. package/dist/core/generics.d.ts +0 -205
  228. package/dist/core/generics.js +0 -386
  229. package/dist/core/generics.js.map +0 -1
  230. package/dist/core/health.cjs +0 -289
  231. package/dist/core/health.cjs.map +0 -1
  232. package/dist/core/health.d.ts +0 -143
  233. package/dist/core/health.js +0 -265
  234. package/dist/core/health.js.map +0 -1
  235. package/dist/core/inMemoryNonceManager.cjs +0 -138
  236. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  237. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  238. package/dist/core/inMemoryNonceManager.js +0 -114
  239. package/dist/core/inMemoryNonceManager.js.map +0 -1
  240. package/dist/core/nonceManager.cjs +0 -304
  241. package/dist/core/nonceManager.cjs.map +0 -1
  242. package/dist/core/nonceManager.d.ts +0 -116
  243. package/dist/core/nonceManager.js +0 -280
  244. package/dist/core/nonceManager.js.map +0 -1
  245. package/dist/core/pollingManager.cjs +0 -292
  246. package/dist/core/pollingManager.cjs.map +0 -1
  247. package/dist/core/pollingManager.d.ts +0 -120
  248. package/dist/core/pollingManager.js +0 -268
  249. package/dist/core/pollingManager.js.map +0 -1
  250. package/dist/core.cjs +0 -781
  251. package/dist/core.cjs.map +0 -1
  252. package/dist/core.d.ts +0 -496
  253. package/dist/core.js +0 -756
  254. package/dist/core.js.map +0 -1
  255. package/dist/diagnostics.cjs +0 -37
  256. package/dist/diagnostics.cjs.map +0 -1
  257. package/dist/diagnostics.d.ts +0 -24
  258. package/dist/diagnostics.js +0 -13
  259. package/dist/diagnostics.js.map +0 -1
  260. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  261. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  262. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  263. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  264. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  265. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  266. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  267. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  268. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  269. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  270. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  271. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  272. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  273. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  274. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  275. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  276. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  277. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  278. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  279. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  280. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  281. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  282. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  283. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  284. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  285. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  286. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  287. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  288. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  289. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  290. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  291. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  292. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  293. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  294. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  295. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  296. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  297. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  298. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  299. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  300. package/dist/generated/event-types.cjs +0 -17
  301. package/dist/generated/event-types.cjs.map +0 -1
  302. package/dist/generated/event-types.d.ts +0 -816
  303. package/dist/generated/event-types.js +0 -1
  304. package/dist/generated/event-types.js.map +0 -1
  305. package/dist/generated/eventRegistry.cjs +0 -4512
  306. package/dist/generated/eventRegistry.cjs.map +0 -1
  307. package/dist/generated/eventRegistry.d.ts +0 -14
  308. package/dist/generated/eventRegistry.js +0 -4487
  309. package/dist/generated/eventRegistry.js.map +0 -1
  310. package/dist/generated/server/server-exports.cjs +0 -45
  311. package/dist/generated/server/server-exports.cjs.map +0 -1
  312. package/dist/generated/server/server-exports.d.ts +0 -36
  313. package/dist/generated/server/server-exports.js +0 -19
  314. package/dist/generated/server/server-exports.js.map +0 -1
  315. package/dist/generated/server/server.cjs +0 -17
  316. package/dist/generated/server/server.cjs.map +0 -1
  317. package/dist/generated/server/server.d.ts +0 -907
  318. package/dist/generated/server/server.js +0 -1
  319. package/dist/generated/server/server.js.map +0 -1
  320. package/dist/generated/subgraph.cjs +0 -1440
  321. package/dist/generated/subgraph.cjs.map +0 -1
  322. package/dist/generated/subgraph.d.ts +0 -6113
  323. package/dist/generated/subgraph.js +0 -1404
  324. package/dist/generated/subgraph.js.map +0 -1
  325. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  326. package/dist/lib/redisAtomicStore.cjs +0 -201
  327. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  328. package/dist/lib/redisAtomicStore.d.ts +0 -120
  329. package/dist/lib/redisAtomicStore.js +0 -177
  330. package/dist/lib/redisAtomicStore.js.map +0 -1
  331. package/dist/server/relayerHandler.cjs +0 -452
  332. package/dist/server/relayerHandler.cjs.map +0 -1
  333. package/dist/server/relayerHandler.d.ts +0 -69
  334. package/dist/server/relayerHandler.js +0 -428
  335. package/dist/server/relayerHandler.js.map +0 -1
  336. package/dist/tests/abi.test.d.ts +0 -1
  337. package/dist/tests/chains-definitions.test.d.ts +0 -1
  338. package/dist/tests/core-encryption.test.d.ts +0 -1
  339. package/dist/tests/core-extended.test.d.ts +0 -1
  340. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  341. package/dist/tests/coverage-boost.test.d.ts +0 -1
  342. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  343. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  344. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  345. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  346. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  347. package/dist/tests/data-relayer.test.d.ts +0 -1
  348. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  349. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  350. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  351. package/dist/tests/data.test.d.ts +0 -1
  352. package/dist/tests/demo-integration.test.d.ts +0 -1
  353. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  354. package/dist/tests/download-relayer.test.d.ts +0 -1
  355. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  356. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  357. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  358. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  359. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  360. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  361. package/dist/tests/errors-coverage.test.d.ts +0 -1
  362. package/dist/tests/factories/mockFactory.d.ts +0 -316
  363. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  364. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  365. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  366. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  367. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  368. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  369. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  370. package/dist/tests/helper-methods.test.d.ts +0 -1
  371. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  372. package/dist/tests/index-browser.test.d.ts +0 -1
  373. package/dist/tests/index-node.test.d.ts +0 -1
  374. package/dist/tests/index.test.d.ts +0 -1
  375. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  376. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  377. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  378. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  379. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  380. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  381. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  382. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  383. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  384. package/dist/tests/permissions.test.d.ts +0 -1
  385. package/dist/tests/personal.test.d.ts +0 -1
  386. package/dist/tests/platform-browser.test.d.ts +0 -1
  387. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  388. package/dist/tests/platform-crypto.test.d.ts +0 -1
  389. package/dist/tests/platform-index.test.d.ts +0 -1
  390. package/dist/tests/platform-node.test.d.ts +0 -1
  391. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  392. package/dist/tests/platform-updated.test.d.ts +0 -1
  393. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  394. package/dist/tests/protocol.test.d.ts +0 -1
  395. package/dist/tests/read-only-mode.test.d.ts +0 -1
  396. package/dist/tests/relayer-integration.test.d.ts +0 -1
  397. package/dist/tests/relayer-unified.test.d.ts +0 -1
  398. package/dist/tests/schemas.test.d.ts +0 -1
  399. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  400. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  401. package/dist/tests/staking.test.d.ts +0 -1
  402. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  403. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  404. package/dist/tests/types-contracts.test.d.ts +0 -1
  405. package/dist/tests/types-data.test.d.ts +0 -1
  406. package/dist/tests/types-external-apis.test.d.ts +0 -1
  407. package/dist/tests/types-generics.test.d.ts +0 -1
  408. package/dist/tests/types-permissions.test.d.ts +0 -1
  409. package/dist/tests/types-upload-params.test.d.ts +0 -1
  410. package/dist/tests/types.test.d.ts +0 -1
  411. package/dist/tests/utils-formatters.test.d.ts +0 -1
  412. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  413. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  414. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  415. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  416. package/dist/tests/utils-grants.test.d.ts +0 -1
  417. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  418. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  419. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  420. package/dist/tests/vana.test.d.ts +0 -1
  421. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  422. package/dist/types/atomicStore.cjs.map +0 -1
  423. package/dist/types/atomicStore.d.ts +0 -236
  424. package/dist/types/atomicStore.js +0 -7
  425. package/dist/types/atomicStore.js.map +0 -1
  426. package/dist/types/blockchain.cjs +0 -17
  427. package/dist/types/blockchain.cjs.map +0 -1
  428. package/dist/types/blockchain.d.ts +0 -85
  429. package/dist/types/blockchain.js +0 -1
  430. package/dist/types/blockchain.js.map +0 -1
  431. package/dist/types/controller-context.cjs +0 -17
  432. package/dist/types/controller-context.cjs.map +0 -1
  433. package/dist/types/controller-context.d.ts +0 -68
  434. package/dist/types/controller-context.js +0 -1
  435. package/dist/types/controller-context.js.map +0 -1
  436. package/dist/types/data.cjs +0 -17
  437. package/dist/types/data.cjs.map +0 -1
  438. package/dist/types/data.d.ts +0 -763
  439. package/dist/types/data.js +0 -1
  440. package/dist/types/data.js.map +0 -1
  441. package/dist/types/external-apis.cjs +0 -61
  442. package/dist/types/external-apis.cjs.map +0 -1
  443. package/dist/types/external-apis.d.ts +0 -184
  444. package/dist/types/external-apis.js +0 -34
  445. package/dist/types/external-apis.js.map +0 -1
  446. package/dist/types/generics.cjs +0 -17
  447. package/dist/types/generics.cjs.map +0 -1
  448. package/dist/types/generics.d.ts +0 -518
  449. package/dist/types/generics.js +0 -1
  450. package/dist/types/generics.js.map +0 -1
  451. package/dist/types/operationStore.cjs +0 -17
  452. package/dist/types/operationStore.cjs.map +0 -1
  453. package/dist/types/operationStore.d.ts +0 -171
  454. package/dist/types/operationStore.js +0 -1
  455. package/dist/types/operationStore.js.map +0 -1
  456. package/dist/types/operations.cjs +0 -53
  457. package/dist/types/operations.cjs.map +0 -1
  458. package/dist/types/operations.d.ts +0 -204
  459. package/dist/types/operations.js +0 -26
  460. package/dist/types/operations.js.map +0 -1
  461. package/dist/types/options.cjs +0 -17
  462. package/dist/types/options.cjs.map +0 -1
  463. package/dist/types/options.d.ts +0 -308
  464. package/dist/types/options.js +0 -1
  465. package/dist/types/options.js.map +0 -1
  466. package/dist/types/permissions.cjs +0 -17
  467. package/dist/types/permissions.cjs.map +0 -1
  468. package/dist/types/permissions.d.ts +0 -955
  469. package/dist/types/permissions.js +0 -1
  470. package/dist/types/permissions.js.map +0 -1
  471. package/dist/types/personal.cjs +0 -17
  472. package/dist/types/personal.cjs.map +0 -1
  473. package/dist/types/personal.d.ts +0 -174
  474. package/dist/types/personal.js +0 -1
  475. package/dist/types/personal.js.map +0 -1
  476. package/dist/types/relayer.cjs +0 -17
  477. package/dist/types/relayer.cjs.map +0 -1
  478. package/dist/types/relayer.d.ts +0 -552
  479. package/dist/types/relayer.js +0 -1
  480. package/dist/types/relayer.js.map +0 -1
  481. package/dist/types/transactionResults.cjs +0 -17
  482. package/dist/types/transactionResults.cjs.map +0 -1
  483. package/dist/types/transactionResults.d.ts +0 -193
  484. package/dist/types/transactionResults.js +0 -1
  485. package/dist/types/transactionResults.js.map +0 -1
  486. package/dist/types/utils.cjs +0 -17
  487. package/dist/types/utils.cjs.map +0 -1
  488. package/dist/types/utils.d.ts +0 -771
  489. package/dist/types/utils.js +0 -1
  490. package/dist/types/utils.js.map +0 -1
  491. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  492. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  493. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  494. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  495. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  496. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  497. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  498. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  499. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  500. package/dist/utils/blockchain/registry.cjs +0 -81
  501. package/dist/utils/blockchain/registry.cjs.map +0 -1
  502. package/dist/utils/blockchain/registry.d.ts +0 -32
  503. package/dist/utils/blockchain/registry.js +0 -56
  504. package/dist/utils/blockchain/registry.js.map +0 -1
  505. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  506. package/dist/utils/chainQuery.cjs +0 -107
  507. package/dist/utils/chainQuery.cjs.map +0 -1
  508. package/dist/utils/chainQuery.d.ts +0 -31
  509. package/dist/utils/chainQuery.js +0 -82
  510. package/dist/utils/chainQuery.js.map +0 -1
  511. package/dist/utils/download.cjs +0 -69
  512. package/dist/utils/download.cjs.map +0 -1
  513. package/dist/utils/download.d.ts +0 -40
  514. package/dist/utils/download.js +0 -45
  515. package/dist/utils/download.js.map +0 -1
  516. package/dist/utils/encryption.cjs +0 -176
  517. package/dist/utils/encryption.cjs.map +0 -1
  518. package/dist/utils/encryption.d.ts +0 -271
  519. package/dist/utils/encryption.js +0 -142
  520. package/dist/utils/encryption.js.map +0 -1
  521. package/dist/utils/formatters.cjs +0 -55
  522. package/dist/utils/formatters.cjs.map +0 -1
  523. package/dist/utils/formatters.d.ts +0 -118
  524. package/dist/utils/formatters.js +0 -28
  525. package/dist/utils/formatters.js.map +0 -1
  526. package/dist/utils/grantFiles.cjs +0 -181
  527. package/dist/utils/grantFiles.cjs.map +0 -1
  528. package/dist/utils/grantFiles.d.ts +0 -172
  529. package/dist/utils/grantFiles.js +0 -143
  530. package/dist/utils/grantFiles.js.map +0 -1
  531. package/dist/utils/grantValidation.cjs +0 -243
  532. package/dist/utils/grantValidation.cjs.map +0 -1
  533. package/dist/utils/grantValidation.d.ts +0 -226
  534. package/dist/utils/grantValidation.js +0 -201
  535. package/dist/utils/grantValidation.js.map +0 -1
  536. package/dist/utils/grants.cjs +0 -108
  537. package/dist/utils/grants.cjs.map +0 -1
  538. package/dist/utils/grants.d.ts +0 -148
  539. package/dist/utils/grants.js +0 -82
  540. package/dist/utils/grants.js.map +0 -1
  541. package/dist/utils/ipfs.cjs +0 -128
  542. package/dist/utils/ipfs.cjs.map +0 -1
  543. package/dist/utils/ipfs.d.ts +0 -88
  544. package/dist/utils/ipfs.js +0 -97
  545. package/dist/utils/ipfs.js.map +0 -1
  546. package/dist/utils/multicall.cjs +0 -233
  547. package/dist/utils/multicall.cjs.map +0 -1
  548. package/dist/utils/multicall.d.ts +0 -126
  549. package/dist/utils/multicall.js +0 -208
  550. package/dist/utils/multicall.js.map +0 -1
  551. package/dist/utils/parseTransactionPojo.cjs +0 -87
  552. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  553. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  554. package/dist/utils/parseTransactionPojo.js +0 -63
  555. package/dist/utils/parseTransactionPojo.js.map +0 -1
  556. package/dist/utils/schemaValidation.cjs +0 -258
  557. package/dist/utils/schemaValidation.cjs.map +0 -1
  558. package/dist/utils/schemaValidation.d.ts +0 -168
  559. package/dist/utils/schemaValidation.js +0 -219
  560. package/dist/utils/schemaValidation.js.map +0 -1
  561. package/dist/utils/signatureCache.cjs +0 -192
  562. package/dist/utils/signatureCache.cjs.map +0 -1
  563. package/dist/utils/signatureCache.d.ts +0 -172
  564. package/dist/utils/signatureCache.js +0 -167
  565. package/dist/utils/signatureCache.js.map +0 -1
  566. package/dist/utils/signatureFormatter.cjs +0 -42
  567. package/dist/utils/signatureFormatter.cjs.map +0 -1
  568. package/dist/utils/signatureFormatter.d.ts +0 -36
  569. package/dist/utils/signatureFormatter.js +0 -18
  570. package/dist/utils/signatureFormatter.js.map +0 -1
  571. package/dist/utils/subgraphConsistency.cjs +0 -184
  572. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  573. package/dist/utils/subgraphConsistency.d.ts +0 -65
  574. package/dist/utils/subgraphConsistency.js +0 -155
  575. package/dist/utils/subgraphConsistency.js.map +0 -1
  576. package/dist/utils/subgraphMetaCache.cjs +0 -101
  577. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  578. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  579. package/dist/utils/subgraphMetaCache.js +0 -76
  580. package/dist/utils/subgraphMetaCache.js.map +0 -1
  581. package/dist/utils/subgraphPagination.cjs +0 -104
  582. package/dist/utils/subgraphPagination.cjs.map +0 -1
  583. package/dist/utils/subgraphPagination.d.ts +0 -78
  584. package/dist/utils/subgraphPagination.js +0 -78
  585. package/dist/utils/subgraphPagination.js.map +0 -1
  586. package/dist/utils/tests/multicall.test.d.ts +0 -1
  587. package/dist/utils/transactionHelpers.cjs +0 -54
  588. package/dist/utils/transactionHelpers.cjs.map +0 -1
  589. package/dist/utils/transactionHelpers.d.ts +0 -80
  590. package/dist/utils/transactionHelpers.js +0 -29
  591. package/dist/utils/transactionHelpers.js.map +0 -1
  592. package/dist/utils/typeGuards.cjs +0 -109
  593. package/dist/utils/typeGuards.cjs.map +0 -1
  594. package/dist/utils/typeGuards.d.ts +0 -138
  595. package/dist/utils/typeGuards.js +0 -74
  596. package/dist/utils/typeGuards.js.map +0 -1
  597. package/dist/utils/typedDataConverter.cjs +0 -43
  598. package/dist/utils/typedDataConverter.cjs.map +0 -1
  599. package/dist/utils/typedDataConverter.d.ts +0 -46
  600. package/dist/utils/typedDataConverter.js +0 -19
  601. package/dist/utils/typedDataConverter.js.map +0 -1
  602. package/dist/utils/urlResolver.cjs +0 -62
  603. package/dist/utils/urlResolver.cjs.map +0 -1
  604. package/dist/utils/urlResolver.d.ts +0 -56
  605. package/dist/utils/urlResolver.js +0 -37
  606. package/dist/utils/urlResolver.js.map +0 -1
  607. package/dist/utils/wallet.cjs +0 -63
  608. package/dist/utils/wallet.cjs.map +0 -1
  609. package/dist/utils/wallet.d.ts +0 -94
  610. package/dist/utils/wallet.js +0 -37
  611. package/dist/utils/wallet.js.map +0 -1
  612. package/dist/utils/withEvents.cjs +0 -44
  613. package/dist/utils/withEvents.cjs.map +0 -1
  614. package/dist/utils/withEvents.d.ts +0 -56
  615. package/dist/utils/withEvents.js +0 -18
  616. package/dist/utils/withEvents.js.map +0 -1
  617. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  618. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  619. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  620. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  621. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  622. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  623. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  624. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  625. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  626. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/grants.test.d.ts} +0 -0
  627. /package/dist/{core/core.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  628. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  629. /package/dist/{core/tests/client.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  630. /package/dist/{core/tests/generics.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  631. /package/dist/{diagnostics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
@@ -1,602 +0,0 @@
1
- import { BaseController } from "./base";
2
- import { getContract, parseEther } from "viem";
3
- import { getContractAddress } from "../generated/addresses";
4
- import { getAbi } from "../generated/abi";
5
- import { BlockchainError } from "../errors";
6
- class StakingController extends BaseController {
7
- constructor(context) {
8
- super(context);
9
- }
10
- /**
11
- * Gets the chain ID from context.
12
- */
13
- getChainId() {
14
- const chainId = this.context.walletClient?.chain?.id ?? this.context.publicClient.chain?.id;
15
- if (!chainId) {
16
- throw new Error("Chain ID not available");
17
- }
18
- return chainId;
19
- }
20
- /**
21
- * Gets the VanaPoolEntity contract instance.
22
- */
23
- getEntityContract() {
24
- const chainId = this.getChainId();
25
- return getContract({
26
- address: getContractAddress(chainId, "VanaPoolEntity"),
27
- abi: getAbi("VanaPoolEntity"),
28
- client: this.context.publicClient
29
- });
30
- }
31
- /**
32
- * Gets the VanaPoolStaking contract instance.
33
- */
34
- getStakingContract() {
35
- const chainId = this.getChainId();
36
- return getContract({
37
- address: getContractAddress(chainId, "VanaPoolStaking"),
38
- abi: getAbi("VanaPoolStaking"),
39
- client: this.context.publicClient
40
- });
41
- }
42
- /**
43
- * Gets the total amount of VANA staked in the VanaPool protocol or a specific entity.
44
- *
45
- * @remarks
46
- * When called without an entityId, this retrieves the sum of activeRewardPool
47
- * across all active entities in the VanaPool protocol.
48
- * When called with an entityId, this returns the activeRewardPool for that specific entity.
49
- * The value is returned in wei (10^18 = 1 VANA).
50
- *
51
- * @param entityId - Optional entity ID to get staked amount for a specific entity
52
- * @returns The total amount of VANA staked in wei
53
- *
54
- * @example
55
- * ```typescript
56
- * // Get total staked across all entities
57
- * const totalStaked = await vana.staking.getTotalVanaStaked();
58
- * console.log(`Total staked: ${Number(totalStaked) / 1e18} VANA`);
59
- *
60
- * // Get staked amount for a specific entity
61
- * const entityStaked = await vana.staking.getTotalVanaStaked(1n);
62
- * console.log(`Entity 1 staked: ${Number(entityStaked) / 1e18} VANA`);
63
- * ```
64
- */
65
- async getTotalVanaStaked(entityId) {
66
- const entityContract = this.getEntityContract();
67
- if (entityId !== void 0) {
68
- const entity = await entityContract.read.entities([entityId]);
69
- return entity.activeRewardPool;
70
- }
71
- const activeEntityIds = await entityContract.read.activeEntitiesValues();
72
- let totalStaked = 0n;
73
- for (const id of activeEntityIds) {
74
- const entity = await entityContract.read.entities([id]);
75
- totalStaked += entity.activeRewardPool;
76
- }
77
- return totalStaked;
78
- }
79
- /**
80
- * Gets information about a specific staking entity.
81
- *
82
- * @param entityId - The ID of the entity to query
83
- * @returns The entity information including name, APY, shares, and reward pools
84
- *
85
- * @example
86
- * ```typescript
87
- * const entity = await vana.staking.getEntity(1n);
88
- * console.log(`Entity: ${entity.name}`);
89
- * console.log(`Total shares: ${entity.totalShares}`);
90
- * console.log(`Max APY: ${Number(entity.maxAPY) / 100}%`);
91
- * ```
92
- */
93
- async getEntity(entityId) {
94
- const entityContract = this.getEntityContract();
95
- const result = await entityContract.read.entities([entityId]);
96
- return {
97
- entityId: result.entityId,
98
- ownerAddress: result.ownerAddress,
99
- status: result.status,
100
- name: result.name,
101
- maxAPY: result.maxAPY,
102
- lockedRewardPool: result.lockedRewardPool,
103
- activeRewardPool: result.activeRewardPool,
104
- totalShares: result.totalShares,
105
- lastUpdateTimestamp: result.lastUpdateTimestamp,
106
- totalDistributedRewards: result.totalDistributedRewards
107
- };
108
- }
109
- /**
110
- * Gets the total number of staking entities in the protocol.
111
- *
112
- * @returns The count of entities
113
- *
114
- * @example
115
- * ```typescript
116
- * const count = await vana.staking.getEntitiesCount();
117
- * console.log(`Total entities: ${count}`);
118
- * ```
119
- */
120
- async getEntitiesCount() {
121
- const entityContract = this.getEntityContract();
122
- return entityContract.read.entitiesCount();
123
- }
124
- /**
125
- * Gets the IDs of all active staking entities.
126
- *
127
- * @returns Array of active entity IDs
128
- *
129
- * @example
130
- * ```typescript
131
- * const activeIds = await vana.staking.getActiveEntities();
132
- * console.log(`Active entities: ${activeIds.join(', ')}`);
133
- * ```
134
- */
135
- async getActiveEntities() {
136
- const entityContract = this.getEntityContract();
137
- return entityContract.read.activeEntitiesValues();
138
- }
139
- /**
140
- * Gets a staker's position in a specific entity.
141
- *
142
- * @param staker - The address of the staker
143
- * @param entityId - The ID of the entity
144
- * @returns The staker's position information
145
- *
146
- * @example
147
- * ```typescript
148
- * const position = await vana.staking.getStakerPosition(
149
- * '0x742d35...',
150
- * 1n
151
- * );
152
- * console.log(`Shares: ${position.shares}`);
153
- * console.log(`Rewards: ${position.realizedRewards}`);
154
- * ```
155
- */
156
- async getStakerPosition(staker, entityId) {
157
- const stakingContract = this.getStakingContract();
158
- const result = await stakingContract.read.stakerEntities([
159
- staker,
160
- entityId
161
- ]);
162
- return {
163
- shares: result.shares,
164
- costBasis: result.costBasis,
165
- rewardEligibilityTimestamp: result.rewardEligibilityTimestamp,
166
- realizedRewards: result.realizedRewards,
167
- vestedRewards: result.vestedRewards
168
- };
169
- }
170
- /**
171
- * Gets the earned rewards for a staker in an entity.
172
- *
173
- * @param staker - The address of the staker
174
- * @param entityId - The ID of the entity
175
- * @returns The earned rewards amount in wei
176
- *
177
- * @example
178
- * ```typescript
179
- * const rewards = await vana.staking.getEarnedRewards(
180
- * '0x742d35...',
181
- * 1n
182
- * );
183
- * console.log(`Earned: ${Number(rewards) / 1e18} VANA`);
184
- * ```
185
- */
186
- async getEarnedRewards(staker, entityId) {
187
- const stakingContract = this.getStakingContract();
188
- return stakingContract.read.getEarnedRewards([staker, entityId]);
189
- }
190
- /**
191
- * Gets the minimum stake amount required to stake.
192
- *
193
- * @returns The minimum stake amount in wei
194
- *
195
- * @example
196
- * ```typescript
197
- * const minStake = await vana.staking.getMinStakeAmount();
198
- * console.log(`Minimum stake: ${Number(minStake) / 1e18} VANA`);
199
- * ```
200
- */
201
- async getMinStakeAmount() {
202
- const stakingContract = this.getStakingContract();
203
- return stakingContract.read.minStakeAmount();
204
- }
205
- /**
206
- * Gets the count of active stakers in the protocol.
207
- *
208
- * @returns The number of active stakers
209
- *
210
- * @example
211
- * ```typescript
212
- * const count = await vana.staking.getActiveStakersCount();
213
- * console.log(`Active stakers: ${count}`);
214
- * ```
215
- */
216
- async getActiveStakersCount() {
217
- const stakingContract = this.getStakingContract();
218
- return stakingContract.read.activeStakersListCount();
219
- }
220
- /**
221
- * Gets the bonding period for staking.
222
- *
223
- * @returns The bonding period in seconds
224
- *
225
- * @example
226
- * ```typescript
227
- * const bondingPeriod = await vana.staking.getBondingPeriod();
228
- * console.log(`Bonding period: ${bondingPeriod / 86400n} days`);
229
- * ```
230
- */
231
- async getBondingPeriod() {
232
- const stakingContract = this.getStakingContract();
233
- return stakingContract.read.bondingPeriod();
234
- }
235
- /**
236
- * Gets the total distributed rewards for a specific entity from the contract.
237
- *
238
- * @remarks
239
- * This reads the `totalDistributedRewards` field from the entity's on-chain state.
240
- * This value represents the sum of all rewards that have been processed
241
- * (moved from lockedRewardPool to activeRewardPool) minus any forfeited
242
- * rewards that were returned.
243
- *
244
- * @param entityId - The ID of the entity to query
245
- * @returns The total distributed rewards in wei
246
- *
247
- * @example
248
- * ```typescript
249
- * const totalRewards = await vana.staking.getTotalDistributedRewards(1n);
250
- * const totalRewardsVana = Number(totalRewards) / 1e18;
251
- * console.log(`Total distributed rewards: ${totalRewardsVana.toLocaleString()} VANA`);
252
- * ```
253
- */
254
- async getTotalDistributedRewards(entityId) {
255
- const entityContract = this.getEntityContract();
256
- const result = await entityContract.read.entities([entityId]);
257
- return result.totalDistributedRewards;
258
- }
259
- /**
260
- * Gets a comprehensive staking summary for a staker in an entity.
261
- *
262
- * @remarks
263
- * This method aggregates all relevant staking information for a staker in a single call,
264
- * including staked amount, current value, bonding status, and all reward types.
265
- *
266
- * Reward breakdown:
267
- * - `earnedRewards` = pendingInterest + vestedRewards + realizedRewards
268
- * - `pendingInterest` = currentValue - costBasis (unvested appreciation)
269
- * - `vestedRewards` = rewards that have vested but not yet withdrawn
270
- * - `realizedRewards` = rewards already withdrawn during unstakes
271
- *
272
- * @param staker - The address of the staker
273
- * @param entityId - The ID of the entity
274
- * @returns A comprehensive summary of the staker's position
275
- *
276
- * @example
277
- * ```typescript
278
- * const summary = await vana.staking.getStakerSummary('0x742d35...', 1n);
279
- * console.log(`Total staked: ${Number(summary.totalStaked) / 1e18} VANA`);
280
- * console.log(`Current value: ${Number(summary.currentValue) / 1e18} VANA`);
281
- * console.log(`In bonding period: ${summary.isInBondingPeriod}`);
282
- * console.log(`Remaining bonding time: ${Number(summary.remainingBondingTime) / 86400} days`);
283
- * console.log(`Vested rewards: ${Number(summary.vestedRewards) / 1e18} VANA`);
284
- * console.log(`Unvested rewards: ${Number(summary.unvestedRewards) / 1e18} VANA`);
285
- * console.log(`Realized rewards: ${Number(summary.realizedRewards) / 1e18} VANA`);
286
- * console.log(`Total earned: ${Number(summary.earnedRewards) / 1e18} VANA`);
287
- * ```
288
- */
289
- async getStakerSummary(staker, entityId) {
290
- const chainId = this.getChainId();
291
- const stakingAddress = getContractAddress(chainId, "VanaPoolStaking");
292
- const entityAddress = getContractAddress(chainId, "VanaPoolEntity");
293
- const stakingAbi = getAbi("VanaPoolStaking");
294
- const entityAbi = getAbi("VanaPoolEntity");
295
- const block = await this.context.publicClient.getBlock();
296
- const blockNumber = block.number;
297
- const multicallResults = await this.context.publicClient.multicall({
298
- contracts: [
299
- {
300
- address: stakingAddress,
301
- abi: stakingAbi,
302
- functionName: "stakerEntities",
303
- args: [staker, entityId]
304
- },
305
- {
306
- address: stakingAddress,
307
- abi: stakingAbi,
308
- functionName: "getEarnedRewards",
309
- args: [staker, entityId]
310
- },
311
- {
312
- address: entityAddress,
313
- abi: entityAbi,
314
- functionName: "entityShareToVana",
315
- args: [entityId]
316
- }
317
- ],
318
- blockNumber
319
- });
320
- const [positionResult, earnedRewardsResult, shareToVanaResult] = multicallResults;
321
- if (positionResult.status === "failure" || earnedRewardsResult.status === "failure" || shareToVanaResult.status === "failure") {
322
- throw new BlockchainError(
323
- "Failed to fetch staker summary: one or more contract calls failed"
324
- );
325
- }
326
- const position = positionResult.result;
327
- const earnedRewards = earnedRewardsResult.result;
328
- const shareToVana = shareToVanaResult.result;
329
- const currentTimestamp = block.timestamp;
330
- const eligibilityTimestamp = position.rewardEligibilityTimestamp;
331
- const remainingBondingTime = eligibilityTimestamp > currentTimestamp ? eligibilityTimestamp - currentTimestamp : 0n;
332
- const isInBondingPeriod = remainingBondingTime > 0n;
333
- const currentValue = position.shares * shareToVana / 10n ** 18n;
334
- const unvestedRewards = currentValue > position.costBasis ? currentValue - position.costBasis : 0n;
335
- return {
336
- shares: position.shares,
337
- costBasis: position.costBasis,
338
- currentValue,
339
- rewardEligibilityTimestamp: eligibilityTimestamp,
340
- remainingBondingTime,
341
- isInBondingPeriod,
342
- vestedRewards: position.vestedRewards,
343
- unvestedRewards,
344
- realizedRewards: position.realizedRewards,
345
- earnedRewards
346
- };
347
- }
348
- /**
349
- * Stakes VANA to an entity in the VanaPool protocol.
350
- *
351
- * @remarks
352
- * This method stakes native VANA tokens to a specified entity. The staker will receive
353
- * shares in proportion to their stake amount. A bonding period applies during which
354
- * rewards cannot be fully claimed without penalty.
355
- *
356
- * Requires a wallet client to be configured in the Vana constructor.
357
- *
358
- * @param params - The staking parameters
359
- * @param params.entityId - The ID of the entity to stake to
360
- * @param params.amount - The amount of VANA to stake (in wei, or as a string like "1.5" for 1.5 VANA)
361
- * @param params.recipient - Optional recipient address for the shares (defaults to the sender)
362
- * @param params.minShares - Optional minimum shares to receive (slippage protection, defaults to 0)
363
- * @returns The transaction hash
364
- * @throws {BlockchainError} When wallet client is not configured
365
- *
366
- * @example
367
- * ```typescript
368
- * // Stake 100 VANA to entity 1
369
- * const txHash = await vana.staking.stake({
370
- * entityId: 1n,
371
- * amount: "100", // 100 VANA
372
- * });
373
- * console.log(`Staked! Transaction: ${txHash}`);
374
- *
375
- * // Stake with slippage protection
376
- * const txHash2 = await vana.staking.stake({
377
- * entityId: 1n,
378
- * amount: parseEther("50"), // 50 VANA in wei
379
- * minShares: parseEther("49"), // Expect at least 49 shares
380
- * });
381
- * ```
382
- */
383
- async stake(params, options) {
384
- this.assertWallet();
385
- const chainId = this.getChainId();
386
- const stakingAddress = getContractAddress(chainId, "VanaPoolStaking");
387
- const stakingAbi = getAbi("VanaPoolStaking");
388
- const amountWei = typeof params.amount === "string" ? parseEther(params.amount) : params.amount;
389
- const account = this.context.walletClient.account ?? this.context.userAddress;
390
- const accountAddress = typeof account === "string" ? account : account.address;
391
- const recipient = params.recipient ?? accountAddress;
392
- const minShares = params.minShares ?? 0n;
393
- const txHash = await this.context.walletClient.writeContract({
394
- address: stakingAddress,
395
- abi: stakingAbi,
396
- functionName: "stake",
397
- args: [params.entityId, recipient, minShares],
398
- value: amountWei,
399
- account,
400
- chain: this.context.walletClient.chain,
401
- ...this.spreadTransactionOptions(options)
402
- });
403
- return txHash;
404
- }
405
- /**
406
- * Gets the maximum amount of VANA that can be unstaked in a single transaction.
407
- *
408
- * @remarks
409
- * This calls the contract's getMaxUnstakeAmount which returns the minimum of:
410
- * 1. The withdrawable VANA (costBasis if in bonding period, shareValue if eligible)
411
- * 2. The entity's activeRewardPool (what the entity has available)
412
- * 3. The treasury balance (what can be paid out)
413
- *
414
- * The limiting factor indicates what's constraining the unstake:
415
- * - 0 = user shares/costBasis
416
- * - 1 = activeRewardPool
417
- * - 2 = treasury
418
- *
419
- * @param staker - The address of the staker
420
- * @param entityId - The ID of the entity
421
- * @returns Object containing maxVana, maxShares, limitingFactor, and isInBondingPeriod
422
- *
423
- * @example
424
- * ```typescript
425
- * const result = await vana.staking.getMaxUnstakeAmount('0x742d35...', 1n);
426
- * console.log(`Max unstake: ${Number(result.maxVana) / 1e18} VANA`);
427
- * console.log(`Max shares: ${result.maxShares}`);
428
- * console.log(`In bonding period: ${result.isInBondingPeriod}`);
429
- * ```
430
- */
431
- async getMaxUnstakeAmount(staker, entityId) {
432
- const stakingContract = this.getStakingContract();
433
- const result = await stakingContract.read.getMaxUnstakeAmount([
434
- staker,
435
- entityId
436
- ]);
437
- return {
438
- maxVana: result[0],
439
- maxShares: result[1],
440
- limitingFactor: Number(result[2]),
441
- isInBondingPeriod: result[3]
442
- };
443
- }
444
- /**
445
- * Computes the new bonding period end timestamp after adding stake.
446
- *
447
- * @remarks
448
- * When a staker adds more stake to an existing position, the reward eligibility timestamp
449
- * is recalculated as a weighted average of the existing and new positions. This function
450
- * allows you to preview what the new eligibility timestamp would be without executing
451
- * the stake transaction.
452
- *
453
- * The formula used (matching the contract):
454
- * ```
455
- * newEligibility = (existingShares * existingEligibility + newShares * newEligibility) / totalShares
456
- * ```
457
- *
458
- * Where `newEligibility` for the incoming stake is `currentTimestamp + bondingPeriod`.
459
- *
460
- * @param params - The parameters for computing the new bonding period
461
- * @param params.staker - The address of the staker
462
- * @param params.entityId - The ID of the entity
463
- * @param params.stakeAmount - The amount of VANA to stake (in wei)
464
- * @returns Object containing the new eligibility timestamp and related info
465
- *
466
- * @example
467
- * ```typescript
468
- * // Preview bonding period after staking 100 VANA
469
- * const preview = await vana.staking.computeNewBondingPeriod({
470
- * staker: '0x742d35...',
471
- * entityId: 1n,
472
- * stakeAmount: parseEther("100"),
473
- * });
474
- * console.log(`New eligibility: ${new Date(Number(preview.newEligibilityTimestamp) * 1000)}`);
475
- * console.log(`Remaining bonding time: ${Number(preview.newRemainingBondingTime) / 86400} days`);
476
- * ```
477
- */
478
- async computeNewBondingPeriod(params) {
479
- const chainId = this.getChainId();
480
- const stakingAddress = getContractAddress(chainId, "VanaPoolStaking");
481
- const entityAddress = getContractAddress(chainId, "VanaPoolEntity");
482
- const stakingAbi = getAbi("VanaPoolStaking");
483
- const entityAbi = getAbi("VanaPoolEntity");
484
- const block = await this.context.publicClient.getBlock();
485
- const blockNumber = block.number;
486
- const currentTimestamp = block.timestamp;
487
- const multicallResults = await this.context.publicClient.multicall({
488
- contracts: [
489
- {
490
- address: stakingAddress,
491
- abi: stakingAbi,
492
- functionName: "stakerEntities",
493
- args: [params.staker, params.entityId]
494
- },
495
- {
496
- address: stakingAddress,
497
- abi: stakingAbi,
498
- functionName: "bondingPeriod",
499
- args: []
500
- },
501
- {
502
- address: entityAddress,
503
- abi: entityAbi,
504
- functionName: "vanaToEntityShare",
505
- args: [params.entityId]
506
- }
507
- ],
508
- blockNumber
509
- });
510
- const [positionResult, bondingPeriodResult, vanaToShareResult] = multicallResults;
511
- if (positionResult.status === "failure" || bondingPeriodResult.status === "failure" || vanaToShareResult.status === "failure") {
512
- throw new BlockchainError(
513
- "Failed to compute new bonding period: one or more contract calls failed"
514
- );
515
- }
516
- const position = positionResult.result;
517
- const bondingPeriodDuration = bondingPeriodResult.result;
518
- const vanaToShare = vanaToShareResult.result;
519
- const currentShares = position.shares;
520
- const currentEligibilityTimestamp = position.rewardEligibilityTimestamp;
521
- const currentRemainingBondingTime = currentEligibilityTimestamp > currentTimestamp ? currentEligibilityTimestamp - currentTimestamp : 0n;
522
- const estimatedNewShares = params.stakeAmount * vanaToShare / 10n ** 18n;
523
- const totalSharesAfter = currentShares + estimatedNewShares;
524
- const newStakeEligibility = currentTimestamp + bondingPeriodDuration;
525
- let newEligibilityTimestamp;
526
- if (currentShares === 0n) {
527
- newEligibilityTimestamp = newStakeEligibility;
528
- } else {
529
- newEligibilityTimestamp = (currentShares * currentEligibilityTimestamp + estimatedNewShares * newStakeEligibility) / totalSharesAfter;
530
- }
531
- const newRemainingBondingTime = newEligibilityTimestamp > currentTimestamp ? newEligibilityTimestamp - currentTimestamp : 0n;
532
- return {
533
- newEligibilityTimestamp,
534
- newRemainingBondingTime,
535
- currentEligibilityTimestamp,
536
- currentRemainingBondingTime,
537
- currentShares,
538
- estimatedNewShares,
539
- totalSharesAfter,
540
- bondingPeriodDuration,
541
- currentTimestamp
542
- };
543
- }
544
- /**
545
- * Unstakes VANA from an entity in the VanaPool protocol.
546
- *
547
- * @remarks
548
- * This method unstakes native VANA tokens from a specified entity. The amount
549
- * that can be unstaked depends on whether the staker is in the bonding period:
550
- *
551
- * - **During bonding period**: Only cost basis can be withdrawn; rewards are forfeited
552
- * - **After bonding period**: Full current value (cost basis + rewards) can be withdrawn
553
- *
554
- * Use `getMaxUnstakeAmount` to determine the maximum amount that can be unstaked.
555
- *
556
- * Requires a wallet client to be configured in the Vana constructor.
557
- *
558
- * @param params - The unstaking parameters
559
- * @param params.entityId - The ID of the entity to unstake from
560
- * @param params.amount - The amount of VANA to unstake (in wei, or as a string like "1.5" for 1.5 VANA)
561
- * @param params.maxShares - Maximum shares to burn for slippage protection (defaults to 0, no protection)
562
- * @returns The transaction hash
563
- * @throws {BlockchainError} When wallet client is not configured
564
- *
565
- * @example
566
- * ```typescript
567
- * // Get max unstake amount first
568
- * const maxUnstake = await vana.staking.getMaxUnstakeAmount(address, 1n);
569
- *
570
- * // Unstake the maximum amount with slippage protection
571
- * const txHash = await vana.staking.unstake({
572
- * entityId: 1n,
573
- * amount: maxUnstake.maxVana,
574
- * maxShares: maxUnstake.maxShares,
575
- * });
576
- * console.log(`Unstaked! Transaction: ${txHash}`);
577
- * ```
578
- */
579
- async unstake(params, options) {
580
- this.assertWallet();
581
- const chainId = this.getChainId();
582
- const stakingAddress = getContractAddress(chainId, "VanaPoolStaking");
583
- const stakingAbi = getAbi("VanaPoolStaking");
584
- const amountWei = typeof params.amount === "string" ? parseEther(params.amount) : params.amount;
585
- const maxShares = params.maxShares ?? 0n;
586
- const account = this.context.walletClient.account ?? this.context.userAddress;
587
- const txHash = await this.context.walletClient.writeContract({
588
- address: stakingAddress,
589
- abi: stakingAbi,
590
- functionName: "unstakeVana",
591
- args: [params.entityId, amountWei, maxShares],
592
- account,
593
- chain: this.context.walletClient.chain,
594
- ...this.spreadTransactionOptions(options)
595
- });
596
- return txHash;
597
- }
598
- }
599
- export {
600
- StakingController
601
- };
602
- //# sourceMappingURL=staking.js.map