@continuumdao/continuum-node-sdk 1.3.41 → 1.3.43

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 (467) hide show
  1. package/dist/agent-host-catalog.json +900 -132
  2. package/dist/browser.d.ts +11 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +9 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/config/mpa-wallet.d.ts +346 -29
  7. package/dist/config/mpa-wallet.d.ts.map +1 -1
  8. package/dist/config/mpa-wallet.js +201 -19
  9. package/dist/config/mpa-wallet.js.map +1 -1
  10. package/dist/core/agent/agent-chart-data-access.d.ts +1 -1
  11. package/dist/core/agent/agent-chart-data-access.d.ts.map +1 -1
  12. package/dist/core/agent/agent-chart-data-access.js +24 -1
  13. package/dist/core/agent/agent-chart-data-access.js.map +1 -1
  14. package/dist/core/agent/cron-jobs.d.ts.map +1 -1
  15. package/dist/core/agent/cron-jobs.js +9 -0
  16. package/dist/core/agent/cron-jobs.js.map +1 -1
  17. package/dist/core/agent/discord-guilds-config.d.ts +39 -0
  18. package/dist/core/agent/discord-guilds-config.d.ts.map +1 -0
  19. package/dist/core/agent/discord-guilds-config.js +213 -0
  20. package/dist/core/agent/discord-guilds-config.js.map +1 -0
  21. package/dist/core/agent/discord-rest-client.d.ts +75 -0
  22. package/dist/core/agent/discord-rest-client.d.ts.map +1 -0
  23. package/dist/core/agent/discord-rest-client.js +183 -0
  24. package/dist/core/agent/discord-rest-client.js.map +1 -0
  25. package/dist/core/agent/discord-search.d.ts +16 -0
  26. package/dist/core/agent/discord-search.d.ts.map +1 -0
  27. package/dist/core/agent/discord-search.js +292 -0
  28. package/dist/core/agent/discord-search.js.map +1 -0
  29. package/dist/core/agent/mcp-servers.d.ts +4 -4
  30. package/dist/core/agent/mcp-servers.d.ts.map +1 -1
  31. package/dist/core/agent/mcp-servers.js +55 -12
  32. package/dist/core/agent/mcp-servers.js.map +1 -1
  33. package/dist/core/agent/reddit-search.d.ts +13 -0
  34. package/dist/core/agent/reddit-search.d.ts.map +1 -0
  35. package/dist/core/agent/reddit-search.js +244 -0
  36. package/dist/core/agent/reddit-search.js.map +1 -0
  37. package/dist/core/agent/skills.d.ts +7 -1
  38. package/dist/core/agent/skills.d.ts.map +1 -1
  39. package/dist/core/agent/skills.js +69 -2
  40. package/dist/core/agent/skills.js.map +1 -1
  41. package/dist/core/agent/social-search-config.d.ts +76 -0
  42. package/dist/core/agent/social-search-config.d.ts.map +1 -0
  43. package/dist/core/agent/social-search-config.js +501 -0
  44. package/dist/core/agent/social-search-config.js.map +1 -0
  45. package/dist/core/agent/telegram-channels-config.d.ts +24 -0
  46. package/dist/core/agent/telegram-channels-config.d.ts.map +1 -0
  47. package/dist/core/agent/telegram-channels-config.js +146 -0
  48. package/dist/core/agent/telegram-channels-config.js.map +1 -0
  49. package/dist/core/agent/telegram-search-auth.d.ts +21 -0
  50. package/dist/core/agent/telegram-search-auth.d.ts.map +1 -0
  51. package/dist/core/agent/telegram-search-auth.js +85 -0
  52. package/dist/core/agent/telegram-search-auth.js.map +1 -0
  53. package/dist/core/agent/telegram-search.d.ts +12 -0
  54. package/dist/core/agent/telegram-search.d.ts.map +1 -0
  55. package/dist/core/agent/telegram-search.js +173 -0
  56. package/dist/core/agent/telegram-search.js.map +1 -0
  57. package/dist/core/agent/telegram.d.ts +15 -0
  58. package/dist/core/agent/telegram.d.ts.map +1 -0
  59. package/dist/core/agent/telegram.js +72 -0
  60. package/dist/core/agent/telegram.js.map +1 -0
  61. package/dist/core/agent/ticker-extract.d.ts +15 -0
  62. package/dist/core/agent/ticker-extract.d.ts.map +1 -0
  63. package/dist/core/agent/ticker-extract.js +124 -0
  64. package/dist/core/agent/ticker-extract.js.map +1 -0
  65. package/dist/core/agent/user-folder-path.d.ts +19 -0
  66. package/dist/core/agent/user-folder-path.d.ts.map +1 -0
  67. package/dist/core/agent/user-folder-path.js +59 -0
  68. package/dist/core/agent/user-folder-path.js.map +1 -0
  69. package/dist/core/agent/user-folder-schemas.d.ts +41 -0
  70. package/dist/core/agent/user-folder-schemas.d.ts.map +1 -0
  71. package/dist/core/agent/user-folder-schemas.js +67 -0
  72. package/dist/core/agent/user-folder-schemas.js.map +1 -0
  73. package/dist/core/agent/user-folder.d.ts.map +1 -1
  74. package/dist/core/agent/user-folder.js +18 -14
  75. package/dist/core/agent/user-folder.js.map +1 -1
  76. package/dist/core/business-latest/fetch.d.ts +9 -0
  77. package/dist/core/business-latest/fetch.d.ts.map +1 -0
  78. package/dist/core/business-latest/fetch.js +138 -0
  79. package/dist/core/business-latest/fetch.js.map +1 -0
  80. package/dist/core/business-latest/index.d.ts +5 -0
  81. package/dist/core/business-latest/index.d.ts.map +1 -0
  82. package/dist/core/business-latest/index.js +5 -0
  83. package/dist/core/business-latest/index.js.map +1 -0
  84. package/dist/core/business-latest/parse-rss.d.ts +10 -0
  85. package/dist/core/business-latest/parse-rss.d.ts.map +1 -0
  86. package/dist/core/business-latest/parse-rss.js +84 -0
  87. package/dist/core/business-latest/parse-rss.js.map +1 -0
  88. package/dist/core/business-latest/schemas.d.ts +115 -0
  89. package/dist/core/business-latest/schemas.d.ts.map +1 -0
  90. package/dist/core/business-latest/schemas.js +61 -0
  91. package/dist/core/business-latest/schemas.js.map +1 -0
  92. package/dist/core/business-latest/sources.d.ts +19 -0
  93. package/dist/core/business-latest/sources.d.ts.map +1 -0
  94. package/dist/core/business-latest/sources.js +65 -0
  95. package/dist/core/business-latest/sources.js.map +1 -0
  96. package/dist/core/chart/alpaca-bars-envelope.d.ts +13 -0
  97. package/dist/core/chart/alpaca-bars-envelope.d.ts.map +1 -0
  98. package/dist/core/chart/alpaca-bars-envelope.js +65 -0
  99. package/dist/core/chart/alpaca-bars-envelope.js.map +1 -0
  100. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.d.ts.map +1 -1
  101. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js +32 -0
  102. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js.map +1 -1
  103. package/dist/core/chart/chart-data-validation.d.ts.map +1 -1
  104. package/dist/core/chart/chart-data-validation.js +32 -6
  105. package/dist/core/chart/chart-data-validation.js.map +1 -1
  106. package/dist/core/chart/fetch-metadata.d.ts +4 -1
  107. package/dist/core/chart/fetch-metadata.d.ts.map +1 -1
  108. package/dist/core/chart/fetch-metadata.js +88 -2
  109. package/dist/core/chart/fetch-metadata.js.map +1 -1
  110. package/dist/core/chart/fetch-result.d.ts.map +1 -1
  111. package/dist/core/chart/fetch-result.js +32 -1
  112. package/dist/core/chart/fetch-result.js.map +1 -1
  113. package/dist/core/chart/index.d.ts +2 -1
  114. package/dist/core/chart/index.d.ts.map +1 -1
  115. package/dist/core/chart/index.js +2 -1
  116. package/dist/core/chart/index.js.map +1 -1
  117. package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
  118. package/dist/core/chart/live/binding-extract.js +82 -1
  119. package/dist/core/chart/live/binding-extract.js.map +1 -1
  120. package/dist/core/chart/live/fetch-tick.d.ts +3 -0
  121. package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
  122. package/dist/core/chart/live/fetch-tick.js +146 -1
  123. package/dist/core/chart/live/fetch-tick.js.map +1 -1
  124. package/dist/core/chart/live/index.d.ts +2 -2
  125. package/dist/core/chart/live/index.d.ts.map +1 -1
  126. package/dist/core/chart/live/index.js +2 -2
  127. package/dist/core/chart/live/index.js.map +1 -1
  128. package/dist/core/chart/live/interval.d.ts.map +1 -1
  129. package/dist/core/chart/live/interval.js +9 -0
  130. package/dist/core/chart/live/interval.js.map +1 -1
  131. package/dist/core/chart/live/schemas.d.ts +2 -0
  132. package/dist/core/chart/live/schemas.d.ts.map +1 -1
  133. package/dist/core/chart/live/schemas.js +2 -0
  134. package/dist/core/chart/live/schemas.js.map +1 -1
  135. package/dist/core/chart/markdown-ohlcv-table.d.ts +11 -0
  136. package/dist/core/chart/markdown-ohlcv-table.d.ts.map +1 -0
  137. package/dist/core/chart/markdown-ohlcv-table.js +153 -0
  138. package/dist/core/chart/markdown-ohlcv-table.js.map +1 -0
  139. package/dist/core/chart/ohlcv-integrity.d.ts +7 -4
  140. package/dist/core/chart/ohlcv-integrity.d.ts.map +1 -1
  141. package/dist/core/chart/ohlcv-integrity.js +34 -10
  142. package/dist/core/chart/ohlcv-integrity.js.map +1 -1
  143. package/dist/core/chart/ohlcv-session-store.d.ts +2 -1
  144. package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
  145. package/dist/core/chart/ohlcv-session-store.js +36 -7
  146. package/dist/core/chart/ohlcv-session-store.js.map +1 -1
  147. package/dist/core/chart/ohlcv-sources.d.ts +157 -0
  148. package/dist/core/chart/ohlcv-sources.d.ts.map +1 -0
  149. package/dist/core/chart/ohlcv-sources.js +206 -0
  150. package/dist/core/chart/ohlcv-sources.js.map +1 -0
  151. package/dist/core/chart/point-normalize.d.ts.map +1 -1
  152. package/dist/core/chart/point-normalize.js +11 -0
  153. package/dist/core/chart/point-normalize.js.map +1 -1
  154. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  155. package/dist/core/chart/prepare-from-rows.js +3 -0
  156. package/dist/core/chart/prepare-from-rows.js.map +1 -1
  157. package/dist/core/coinmarketcap/mcp-server-choice.d.ts.map +1 -1
  158. package/dist/core/coinmarketcap/mcp-server-choice.js +5 -2
  159. package/dist/core/coinmarketcap/mcp-server-choice.js.map +1 -1
  160. package/dist/core/coinmarketcap/schemas.d.ts +17 -17
  161. package/dist/core/keygen-read.d.ts +8 -0
  162. package/dist/core/keygen-read.d.ts.map +1 -1
  163. package/dist/core/keygen-read.js +26 -0
  164. package/dist/core/keygen-read.js.map +1 -1
  165. package/dist/core/keygen.d.ts +1 -8
  166. package/dist/core/keygen.d.ts.map +1 -1
  167. package/dist/core/keygen.js +2 -27
  168. package/dist/core/keygen.js.map +1 -1
  169. package/dist/core/management-signer.d.ts +3 -1
  170. package/dist/core/management-signer.d.ts.map +1 -1
  171. package/dist/core/management-signer.js +4 -4
  172. package/dist/core/management-signer.js.map +1 -1
  173. package/dist/core/mpc/address-kind.d.ts +5 -0
  174. package/dist/core/mpc/address-kind.d.ts.map +1 -0
  175. package/dist/core/mpc/address-kind.js +38 -0
  176. package/dist/core/mpc/address-kind.js.map +1 -0
  177. package/dist/core/mpc/address-kind.test.d.ts +2 -0
  178. package/dist/core/mpc/address-kind.test.d.ts.map +1 -0
  179. package/dist/core/mpc/address-kind.test.js +21 -0
  180. package/dist/core/mpc/address-kind.test.js.map +1 -0
  181. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  182. package/dist/core/mpc/broadcast-sign-result.js +61 -55
  183. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  184. package/dist/core/mpc/compose-eip712-request.d.ts +6 -0
  185. package/dist/core/mpc/compose-eip712-request.d.ts.map +1 -0
  186. package/dist/core/mpc/compose-eip712-request.js +40 -0
  187. package/dist/core/mpc/compose-eip712-request.js.map +1 -0
  188. package/dist/core/mpc/context.js +1 -1
  189. package/dist/core/mpc/context.js.map +1 -1
  190. package/dist/core/mpc/eip712-sign-request.d.ts +17 -1
  191. package/dist/core/mpc/eip712-sign-request.d.ts.map +1 -1
  192. package/dist/core/mpc/eip712-sign-request.js +114 -23
  193. package/dist/core/mpc/eip712-sign-request.js.map +1 -1
  194. package/dist/core/mpc/forge-dry-run-build.js +1 -1
  195. package/dist/core/mpc/forge-dry-run-build.js.map +1 -1
  196. package/dist/core/mpc/gas-preflight-mpa.d.ts +8 -0
  197. package/dist/core/mpc/gas-preflight-mpa.d.ts.map +1 -0
  198. package/dist/core/mpc/gas-preflight-mpa.js +21 -0
  199. package/dist/core/mpc/gas-preflight-mpa.js.map +1 -0
  200. package/dist/core/mpc/gas-preflight.d.ts +0 -5
  201. package/dist/core/mpc/gas-preflight.d.ts.map +1 -1
  202. package/dist/core/mpc/gas-preflight.js +0 -19
  203. package/dist/core/mpc/gas-preflight.js.map +1 -1
  204. package/dist/core/mpc/mpa-authority-vectm-browser.d.ts +48 -0
  205. package/dist/core/mpc/mpa-authority-vectm-browser.d.ts.map +1 -0
  206. package/dist/core/mpc/mpa-authority-vectm-browser.js +210 -0
  207. package/dist/core/mpc/mpa-authority-vectm-browser.js.map +1 -0
  208. package/dist/core/mpc/mpa-authority-vectm-read.d.ts +3314 -0
  209. package/dist/core/mpc/mpa-authority-vectm-read.d.ts.map +1 -0
  210. package/dist/core/mpc/mpa-authority-vectm-read.js +221 -0
  211. package/dist/core/mpc/mpa-authority-vectm-read.js.map +1 -0
  212. package/dist/core/mpc/mpa-authority-vectm.d.ts +63 -0
  213. package/dist/core/mpc/mpa-authority-vectm.d.ts.map +1 -0
  214. package/dist/core/mpc/mpa-authority-vectm.js +331 -0
  215. package/dist/core/mpc/mpa-authority-vectm.js.map +1 -0
  216. package/dist/core/mpc/mpa-billing-actions.d.ts +13 -35
  217. package/dist/core/mpc/mpa-billing-actions.d.ts.map +1 -1
  218. package/dist/core/mpc/mpa-billing-actions.js +154 -207
  219. package/dist/core/mpc/mpa-billing-actions.js.map +1 -1
  220. package/dist/core/mpc/mpa-billing-helpers.d.ts +16 -1
  221. package/dist/core/mpc/mpa-billing-helpers.d.ts.map +1 -1
  222. package/dist/core/mpc/mpa-billing-helpers.js +33 -9
  223. package/dist/core/mpc/mpa-billing-helpers.js.map +1 -1
  224. package/dist/core/mpc/mpa-billing-ops.d.ts +0 -11
  225. package/dist/core/mpc/mpa-billing-ops.d.ts.map +1 -1
  226. package/dist/core/mpc/mpa-billing-ops.js +41 -207
  227. package/dist/core/mpc/mpa-billing-ops.js.map +1 -1
  228. package/dist/core/mpc/mpa-fee-status.d.ts +7 -42
  229. package/dist/core/mpc/mpa-fee-status.d.ts.map +1 -1
  230. package/dist/core/mpc/mpa-fee-status.js +174 -229
  231. package/dist/core/mpc/mpa-fee-status.js.map +1 -1
  232. package/dist/core/mpc/mpa-payment-tokens.d.ts +38 -0
  233. package/dist/core/mpc/mpa-payment-tokens.d.ts.map +1 -0
  234. package/dist/core/mpc/mpa-payment-tokens.js +135 -0
  235. package/dist/core/mpc/mpa-payment-tokens.js.map +1 -0
  236. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
  237. package/dist/core/mpc/mpa-top-up.js +16 -125
  238. package/dist/core/mpc/mpa-top-up.js.map +1 -1
  239. package/dist/core/mpc/register-keygen.d.ts.map +1 -1
  240. package/dist/core/mpc/register-keygen.js +133 -14
  241. package/dist/core/mpc/register-keygen.js.map +1 -1
  242. package/dist/core/mpc/schemas.d.ts +118 -0
  243. package/dist/core/mpc/schemas.d.ts.map +1 -1
  244. package/dist/core/mpc/schemas.js +106 -2
  245. package/dist/core/mpc/schemas.js.map +1 -1
  246. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
  247. package/dist/core/mpc/trigger-sign-result.js +12 -7
  248. package/dist/core/mpc/trigger-sign-result.js.map +1 -1
  249. package/dist/core/node-config.d.ts +31 -0
  250. package/dist/core/node-config.d.ts.map +1 -0
  251. package/dist/core/node-config.js +238 -0
  252. package/dist/core/node-config.js.map +1 -0
  253. package/dist/core/node-database/binary.d.ts +12 -0
  254. package/dist/core/node-database/binary.d.ts.map +1 -0
  255. package/dist/core/node-database/binary.js +32 -0
  256. package/dist/core/node-database/binary.js.map +1 -0
  257. package/dist/core/node-database/database-backup.d.ts +13 -0
  258. package/dist/core/node-database/database-backup.d.ts.map +1 -0
  259. package/dist/core/node-database/database-backup.js +236 -0
  260. package/dist/core/node-database/database-backup.js.map +1 -0
  261. package/dist/core/node-database/maintenance-quiescence.d.ts +17 -0
  262. package/dist/core/node-database/maintenance-quiescence.d.ts.map +1 -0
  263. package/dist/core/node-database/maintenance-quiescence.js +42 -0
  264. package/dist/core/node-database/maintenance-quiescence.js.map +1 -0
  265. package/dist/core/node-database/management-key-files.d.ts +11 -0
  266. package/dist/core/node-database/management-key-files.d.ts.map +1 -0
  267. package/dist/core/node-database/management-key-files.js +166 -0
  268. package/dist/core/node-database/management-key-files.js.map +1 -0
  269. package/dist/core/node-database/schemas.d.ts +187 -0
  270. package/dist/core/node-database/schemas.d.ts.map +1 -0
  271. package/dist/core/node-database/schemas.js +212 -0
  272. package/dist/core/node-database/schemas.js.map +1 -0
  273. package/dist/core/node-database/signed-post.d.ts +21 -0
  274. package/dist/core/node-database/signed-post.d.ts.map +1 -0
  275. package/dist/core/node-database/signed-post.js +138 -0
  276. package/dist/core/node-database/signed-post.js.map +1 -0
  277. package/dist/core/node-database/transport.d.ts +5 -0
  278. package/dist/core/node-database/transport.d.ts.map +1 -0
  279. package/dist/core/node-database/transport.js +20 -0
  280. package/dist/core/node-database/transport.js.map +1 -0
  281. package/dist/core/registry/networks-read.d.ts +14 -0
  282. package/dist/core/registry/networks-read.d.ts.map +1 -0
  283. package/dist/core/registry/networks-read.js +117 -0
  284. package/dist/core/registry/networks-read.js.map +1 -0
  285. package/dist/core/registry/networks.d.ts +2 -8
  286. package/dist/core/registry/networks.d.ts.map +1 -1
  287. package/dist/core/registry/networks.js +3 -113
  288. package/dist/core/registry/networks.js.map +1 -1
  289. package/dist/core/rss/parse-rss.d.ts +10 -0
  290. package/dist/core/rss/parse-rss.d.ts.map +1 -0
  291. package/dist/core/rss/parse-rss.js +84 -0
  292. package/dist/core/rss/parse-rss.js.map +1 -0
  293. package/dist/core/vpn/schemas.d.ts +8 -8
  294. package/dist/core/vpn/schemas.js +6 -6
  295. package/dist/core/vpn/schemas.js.map +1 -1
  296. package/dist/core/vpn/vpn-files.d.ts.map +1 -1
  297. package/dist/core/vpn/vpn-files.js +4 -3
  298. package/dist/core/vpn/vpn-files.js.map +1 -1
  299. package/dist/core/vpn/vpn-parse.d.ts +6 -9
  300. package/dist/core/vpn/vpn-parse.d.ts.map +1 -1
  301. package/dist/core/vpn/vpn-parse.js +8 -12
  302. package/dist/core/vpn/vpn-parse.js.map +1 -1
  303. package/dist/core/world-affairs/fetch.d.ts +9 -0
  304. package/dist/core/world-affairs/fetch.d.ts.map +1 -0
  305. package/dist/core/world-affairs/fetch.js +142 -0
  306. package/dist/core/world-affairs/fetch.js.map +1 -0
  307. package/dist/core/world-affairs/index.d.ts +4 -0
  308. package/dist/core/world-affairs/index.d.ts.map +1 -0
  309. package/dist/core/world-affairs/index.js +4 -0
  310. package/dist/core/world-affairs/index.js.map +1 -0
  311. package/dist/core/world-affairs/schemas.d.ts +136 -0
  312. package/dist/core/world-affairs/schemas.d.ts.map +1 -0
  313. package/dist/core/world-affairs/schemas.js +66 -0
  314. package/dist/core/world-affairs/schemas.js.map +1 -0
  315. package/dist/core/world-affairs/sources.d.ts +20 -0
  316. package/dist/core/world-affairs/sources.d.ts.map +1 -0
  317. package/dist/core/world-affairs/sources.js +81 -0
  318. package/dist/core/world-affairs/sources.js.map +1 -0
  319. package/dist/evm/encode-calldata.d.ts +2 -0
  320. package/dist/evm/encode-calldata.d.ts.map +1 -1
  321. package/dist/evm/encode-calldata.js +64 -3
  322. package/dist/evm/encode-calldata.js.map +1 -1
  323. package/dist/evm/forge-dry-run-paths.d.ts +2 -2
  324. package/dist/evm/forge-dry-run-paths.d.ts.map +1 -1
  325. package/dist/evm/forge-dry-run-paths.js +3 -1
  326. package/dist/evm/forge-dry-run-paths.js.map +1 -1
  327. package/dist/evm/join-multisign.d.ts.map +1 -1
  328. package/dist/evm/join-multisign.js +4 -0
  329. package/dist/evm/join-multisign.js.map +1 -1
  330. package/dist/evm/proposal-body.d.ts +19 -0
  331. package/dist/evm/proposal-body.d.ts.map +1 -0
  332. package/dist/evm/proposal-body.js +274 -0
  333. package/dist/evm/proposal-body.js.map +1 -0
  334. package/dist/evm/proposal-builder.d.ts +4 -9
  335. package/dist/evm/proposal-builder.d.ts.map +1 -1
  336. package/dist/evm/proposal-builder.js +9 -265
  337. package/dist/evm/proposal-builder.js.map +1 -1
  338. package/dist/index.d.ts +23 -7
  339. package/dist/index.d.ts.map +1 -1
  340. package/dist/index.js +22 -6
  341. package/dist/index.js.map +1 -1
  342. package/dist/mcp/agent-cron-jobs.js +2 -2
  343. package/dist/mcp/agent-cron-jobs.js.map +1 -1
  344. package/dist/mcp/agent-discord-search.d.ts +4 -0
  345. package/dist/mcp/agent-discord-search.d.ts.map +1 -0
  346. package/dist/mcp/agent-discord-search.js +16 -0
  347. package/dist/mcp/agent-discord-search.js.map +1 -0
  348. package/dist/mcp/agent-host-catalog.d.ts +14 -1
  349. package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
  350. package/dist/mcp/agent-host-catalog.js +25 -6
  351. package/dist/mcp/agent-host-catalog.js.map +1 -1
  352. package/dist/mcp/agent-input-coerce.d.ts.map +1 -1
  353. package/dist/mcp/agent-input-coerce.js +1 -0
  354. package/dist/mcp/agent-input-coerce.js.map +1 -1
  355. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
  356. package/dist/mcp/agent-mcp-servers.js +5 -5
  357. package/dist/mcp/agent-mcp-servers.js.map +1 -1
  358. package/dist/mcp/agent-reddit-search.d.ts +4 -0
  359. package/dist/mcp/agent-reddit-search.d.ts.map +1 -0
  360. package/dist/mcp/agent-reddit-search.js +21 -0
  361. package/dist/mcp/agent-reddit-search.js.map +1 -0
  362. package/dist/mcp/agent-skills.d.ts.map +1 -1
  363. package/dist/mcp/agent-skills.js +9 -3
  364. package/dist/mcp/agent-skills.js.map +1 -1
  365. package/dist/mcp/agent-telegram-search.d.ts +4 -0
  366. package/dist/mcp/agent-telegram-search.d.ts.map +1 -0
  367. package/dist/mcp/agent-telegram-search.js +16 -0
  368. package/dist/mcp/agent-telegram-search.js.map +1 -0
  369. package/dist/mcp/agent-telegram.d.ts +4 -0
  370. package/dist/mcp/agent-telegram.d.ts.map +1 -0
  371. package/dist/mcp/agent-telegram.js +20 -0
  372. package/dist/mcp/agent-telegram.js.map +1 -0
  373. package/dist/mcp/business-latest/register.d.ts +5 -0
  374. package/dist/mcp/business-latest/register.d.ts.map +1 -0
  375. package/dist/mcp/business-latest/register.js +41 -0
  376. package/dist/mcp/business-latest/register.js.map +1 -0
  377. package/dist/mcp/chart.d.ts.map +1 -1
  378. package/dist/mcp/chart.js +3 -0
  379. package/dist/mcp/chart.js.map +1 -1
  380. package/dist/mcp/deferred/discovery-tools.d.ts +5 -0
  381. package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
  382. package/dist/mcp/deferred/discovery-tools.js +69 -25
  383. package/dist/mcp/deferred/discovery-tools.js.map +1 -1
  384. package/dist/mcp/deferred/optional-endpoint-groups.d.ts +2 -2
  385. package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -1
  386. package/dist/mcp/deferred/optional-endpoint-groups.js +13 -1
  387. package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -1
  388. package/dist/mcp/deferred/tool-group-map.d.ts +3 -2
  389. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  390. package/dist/mcp/deferred/tool-group-map.js +738 -42
  391. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  392. package/dist/mcp/defi/discovery.js +6 -6
  393. package/dist/mcp/defi/discovery.js.map +1 -1
  394. package/dist/mcp/docs/search-index.json +921 -83
  395. package/dist/mcp/index.d.ts +1 -1
  396. package/dist/mcp/index.d.ts.map +1 -1
  397. package/dist/mcp/index.js +1 -1
  398. package/dist/mcp/index.js.map +1 -1
  399. package/dist/mcp/mpc-gas-docs.d.ts +2 -0
  400. package/dist/mcp/mpc-gas-docs.d.ts.map +1 -1
  401. package/dist/mcp/mpc-gas-docs.js +2 -0
  402. package/dist/mcp/mpc-gas-docs.js.map +1 -1
  403. package/dist/mcp/mpc.d.ts.map +1 -1
  404. package/dist/mcp/mpc.js +70 -33
  405. package/dist/mcp/mpc.js.map +1 -1
  406. package/dist/mcp/node-config.d.ts +4 -0
  407. package/dist/mcp/node-config.d.ts.map +1 -0
  408. package/dist/mcp/node-config.js +34 -0
  409. package/dist/mcp/node-config.js.map +1 -0
  410. package/dist/mcp/node-database.d.ts +4 -0
  411. package/dist/mcp/node-database.d.ts.map +1 -0
  412. package/dist/mcp/node-database.js +74 -0
  413. package/dist/mcp/node-database.js.map +1 -0
  414. package/dist/mcp/ohlcv-sources.d.ts +5 -0
  415. package/dist/mcp/ohlcv-sources.d.ts.map +1 -0
  416. package/dist/mcp/ohlcv-sources.js +54 -0
  417. package/dist/mcp/ohlcv-sources.js.map +1 -0
  418. package/dist/mcp/register.d.ts +5 -0
  419. package/dist/mcp/register.d.ts.map +1 -1
  420. package/dist/mcp/register.js +26 -0
  421. package/dist/mcp/register.js.map +1 -1
  422. package/dist/mcp/resources/agent-cron-jobs.md +3 -1
  423. package/dist/mcp/resources/agent-mcp-servers.md +99 -1
  424. package/dist/mcp/resources/agent-skills.md +10 -6
  425. package/dist/mcp/resources/agent-social-search.md +78 -0
  426. package/dist/mcp/resources/agent-telegram-search.md +24 -0
  427. package/dist/mcp/resources/agent-telegram.md +18 -0
  428. package/dist/mcp/resources/agent-webhooks.md +2 -0
  429. package/dist/mcp/resources/business-latest.md +26 -0
  430. package/dist/mcp/resources/chart-analysis.md +4 -0
  431. package/dist/mcp/resources/chart.md +16 -4
  432. package/dist/mcp/resources/discord-guilds.yaml +46 -0
  433. package/dist/mcp/resources/management-signer.md +2 -1
  434. package/dist/mcp/resources/mpc.md +37 -30
  435. package/dist/mcp/resources/node-config.md +142 -0
  436. package/dist/mcp/resources/node-database.md +64 -0
  437. package/dist/mcp/resources/overview.md +13 -0
  438. package/dist/mcp/resources/social-search.yaml +79 -0
  439. package/dist/mcp/resources/telegram-channels.yaml +47 -0
  440. package/dist/mcp/resources/user-folder.md +44 -0
  441. package/dist/mcp/resources/vpn.md +10 -8
  442. package/dist/mcp/resources/world-affairs.md +28 -0
  443. package/dist/mcp/server/http-transport.d.ts +3 -0
  444. package/dist/mcp/server/http-transport.d.ts.map +1 -1
  445. package/dist/mcp/server/http-transport.js +3 -2
  446. package/dist/mcp/server/http-transport.js.map +1 -1
  447. package/dist/mcp/server/index.js +8 -1
  448. package/dist/mcp/server/index.js.map +1 -1
  449. package/dist/mcp/server/telegram-search-internal.d.ts +3 -0
  450. package/dist/mcp/server/telegram-search-internal.d.ts.map +1 -0
  451. package/dist/mcp/server/telegram-search-internal.js +54 -0
  452. package/dist/mcp/server/telegram-search-internal.js.map +1 -0
  453. package/dist/mcp/user-folder.d.ts +4 -0
  454. package/dist/mcp/user-folder.d.ts.map +1 -0
  455. package/dist/mcp/user-folder.js +32 -0
  456. package/dist/mcp/user-folder.js.map +1 -0
  457. package/dist/mcp/vpn.js +7 -7
  458. package/dist/mcp/vpn.js.map +1 -1
  459. package/dist/mcp/world-affairs/register.d.ts +5 -0
  460. package/dist/mcp/world-affairs/register.d.ts.map +1 -0
  461. package/dist/mcp/world-affairs/register.js +41 -0
  462. package/dist/mcp/world-affairs/register.js.map +1 -0
  463. package/dist/schemas/extended.d.ts +600 -1
  464. package/dist/schemas/extended.d.ts.map +1 -1
  465. package/dist/schemas/extended.js +355 -1
  466. package/dist/schemas/extended.js.map +1 -1
  467. package/package.json +9 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpa-authority-vectm.js","sourceRoot":"","sources":["../../../src/core/mpc/mpa-authority-vectm.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { type Address, type Hex, type PublicClient } from 'viem';
1
+ import { type Address, type PublicClient } from 'viem';
2
2
  import type { NodeSdkConfig } from '../../config/schema.js';
3
3
  import type { SdkResult } from '../result.js';
4
+ import { type MpaPaymentTokenKind } from './mpa-payment-tokens.js';
4
5
  export type MpaProposalAction = {
5
6
  signature: string;
6
7
  contractAddress: string;
@@ -13,50 +14,27 @@ export type MpaProposalAction = {
13
14
  export type MpaPreparedBillingActions = {
14
15
  actions: MpaProposalAction[];
15
16
  feeTokenAddress: Address;
17
+ includedDeposit?: boolean;
18
+ paymentToken?: MpaPaymentTokenKind;
16
19
  };
17
20
  export declare function mpaContractAddress(): Address;
21
+ export declare function appendErc20ApproveIfNeeded(client: PublicClient, actions: MpaProposalAction[], billingAddress: Address, token: Address, amountWei: bigint): Promise<Address>;
18
22
  export declare function appendFeeTokenApproveIfNeeded(client: PublicClient, actions: MpaProposalAction[], billingAddress: Address, amountWei: bigint): Promise<Address>;
19
- export declare function buildRegisterVpnActions(nodeKey: string, hostBinding: Hex | string): MpaProposalAction[];
20
- export declare function buildSyncVpnBillingActions(nodeKey: string, hostBinding: Hex | string): MpaProposalAction[];
21
- export declare function buildVpnDepositActions(input: {
22
- nodeKey: string;
23
- hostBinding: Hex | string;
24
- amountWei: bigint;
25
- activateOnDeposit?: boolean;
26
- }): MpaProposalAction[];
27
- export declare function buildWithdrawVpnCreditActions(nodeKey: string, hostBinding: Hex | string, amountWei: bigint): MpaProposalAction[];
28
- export declare function buildSyncBillingActions(keyGenId: string, globalNonce: number): MpaProposalAction[];
29
- export declare function buildKeyGenDepositActions(keyGenId: string, amountWei: bigint): MpaProposalAction[];
30
- export declare function prepareMpaRegisterVpnActions(config: NodeSdkConfig, input: {
31
- keyGenId: string;
32
- hostIpAddress: string;
33
- nodeKey?: string;
34
- }): Promise<SdkResult<MpaPreparedBillingActions>>;
35
- export declare function prepareMpaVpnDepositActions(config: NodeSdkConfig, input: {
36
- keyGenId: string;
37
- hostIpAddress: string;
38
- amountWei: string;
39
- activateOnDeposit?: boolean;
40
- nodeKey?: string;
41
- }): Promise<SdkResult<MpaPreparedBillingActions>>;
42
- export declare function prepareMpaSyncVpnBillingActions(config: NodeSdkConfig, input: {
43
- keyGenId: string;
44
- hostIpAddress: string;
45
- nodeKey?: string;
46
- }): Promise<SdkResult<MpaPreparedBillingActions>>;
23
+ export declare function buildWithdrawCtmCreditActions(nodeKey: string, amountWei: bigint): MpaProposalAction[];
24
+ export declare function buildSyncBillingActions(keyGenId: string, globalNonce: number, addressKind: string, nodeKey: string): MpaProposalAction[];
25
+ export declare function buildKeyGenDepositActions(nodeKey: string, amountWei: bigint): MpaProposalAction[];
26
+ export declare function buildKeyGenDepositCtmActions(nodeKey: string, amountWei: bigint): MpaProposalAction[];
27
+ export declare function buildRegisterKeyGenActions(keyGenId: string, addressKind: string, nodeKey: string, globalNonce: number, groupId?: string): MpaProposalAction[];
47
28
  export declare function prepareMpaSyncBillingActions(config: NodeSdkConfig, input: {
48
29
  keyGenId: string;
49
30
  globalNonce?: number;
31
+ executorKeyGenId?: string;
32
+ paymentToken?: MpaPaymentTokenKind;
50
33
  }): Promise<SdkResult<MpaPreparedBillingActions>>;
51
34
  export declare function prepareMpaKeyGenDepositActions(config: NodeSdkConfig, input: {
52
35
  keyGenId: string;
53
36
  amountWei: string;
54
37
  activateBillingMonthAfterDeposit?: boolean;
55
- }): Promise<SdkResult<MpaPreparedBillingActions>>;
56
- export declare function prepareMpaWithdrawVpnCreditActions(config: NodeSdkConfig, input: {
57
- keyGenId: string;
58
- hostIpAddress: string;
59
- amountWei: string;
60
- nodeKey?: string;
38
+ paymentToken?: MpaPaymentTokenKind;
61
39
  }): Promise<SdkResult<MpaPreparedBillingActions>>;
62
40
  //# sourceMappingURL=mpa-billing-actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mpa-billing-actions.d.ts","sourceRoot":"","sources":["../../../src/core/mpc/mpa-billing-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mpa-billing-actions.d.ts","sourceRoot":"","sources":["../../../src/core/mpc/mpa-billing-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAQ1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAEN,KAAK,mBAAmB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAeF,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AA6DD,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAYrG;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACb,iBAAiB,EAAE,CAcrB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAYjG;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAYpG;AAED,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,SAAK,GACV,iBAAiB,EAAE,CAerB;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACnC,GACC,OAAO,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAwI/C;AAED,wBAAsB,8BAA8B,CACnD,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACnC,GACC,OAAO,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAuF/C"}
@@ -1,15 +1,16 @@
1
1
  import { createPublicClient, defineChain, getAddress, http, } from 'viem';
2
- import { ERC20_ALLOWANCE_ABI, KEY_GEN_ADDRESS_KIND_ETHEREUM, MPA_DEPOSIT_ONLY_NONCE, MPA_WALLET_CONTRACT_CONFIG, MPA_WALLET_READ_ABI, } from '../../config/mpa-wallet.js';
2
+ import { ERC20_ALLOWANCE_ABI, MPA_WALLET_CONTRACT_CONFIG, MPA_WALLET_READ_ABI, } from '../../config/mpa-wallet.js';
3
3
  import { fetchKeyGenResult } from '../keygen-read.js';
4
4
  import { fetchGlobalNonceByKeyGenId } from '../keygen-read.js';
5
- import { computeVpnHostBinding } from '../vpn/vpn-host-binding.js';
6
5
  import { shouldSyncKeyGenMonthAfterDeposit } from './mpa-billing-helpers.js';
7
- import { fetchMergedMpaWalletStatus } from './mpa-fee-status.js';
6
+ import { fetchKeyGenMonthActivationWaived, fetchMergedMpaWalletStatus } from './mpa-fee-status.js';
7
+ import { fetchMpaPaymentTokenMeta, } from './mpa-payment-tokens.js';
8
8
  import { nodeId } from '../general.js';
9
+ import { feeAddressKindForKeyGen } from './address-kind.js';
9
10
  function getMpaPublicClient() {
10
11
  const chain = defineChain({
11
12
  id: MPA_WALLET_CONTRACT_CONFIG.chainId,
12
- name: 'Linea Mainnet',
13
+ name: MPA_WALLET_CONTRACT_CONFIG.chainName,
13
14
  nativeCurrency: { decimals: 18, name: 'Ether', symbol: 'ETH' },
14
15
  rpcUrls: { default: { http: [MPA_WALLET_CONTRACT_CONFIG.rpcUrl] } },
15
16
  });
@@ -60,19 +61,6 @@ async function resolveNodeKey(config) {
60
61
  return self;
61
62
  return { ok: true, data: self.data.nodeId };
62
63
  }
63
- async function resolveVpnHost(config, hostIpAddress, nodeKeyOverride) {
64
- let nodeKey = nodeKeyOverride?.trim();
65
- if (!nodeKey) {
66
- const self = await resolveNodeKey(config);
67
- if (!self.ok)
68
- return self;
69
- nodeKey = self.data;
70
- }
71
- return {
72
- ok: true,
73
- data: { nodeKey, hostBinding: computeVpnHostBinding(nodeKey, hostIpAddress) },
74
- };
75
- }
76
64
  async function fetchFeeTokenAddress(client) {
77
65
  return client.readContract({
78
66
  address: mpaContractAddress(),
@@ -80,11 +68,10 @@ async function fetchFeeTokenAddress(client) {
80
68
  functionName: 'FEE_TOKEN',
81
69
  });
82
70
  }
83
- export async function appendFeeTokenApproveIfNeeded(client, actions, billingAddress, amountWei) {
71
+ export async function appendErc20ApproveIfNeeded(client, actions, billingAddress, token, amountWei) {
84
72
  const mpa = mpaContractAddress();
85
- const feeToken = await fetchFeeTokenAddress(client);
86
73
  const allowance = await client.readContract({
87
- address: feeToken,
74
+ address: token,
88
75
  abi: ERC20_ALLOWANCE_ABI,
89
76
  functionName: 'allowance',
90
77
  args: [billingAddress, mpa],
@@ -92,234 +79,204 @@ export async function appendFeeTokenApproveIfNeeded(client, actions, billingAddr
92
79
  if (allowance < amountWei) {
93
80
  actions.push({
94
81
  signature: 'approve(address,uint256)',
95
- contractAddress: feeToken,
82
+ contractAddress: token,
96
83
  args: [
97
84
  { name: 'spender', type: 'address', value: mpa },
98
85
  { name: 'amount', type: 'uint256', value: amountWei.toString() },
99
86
  ],
100
87
  });
101
88
  }
102
- return feeToken;
89
+ return token;
103
90
  }
104
- export function buildRegisterVpnActions(nodeKey, hostBinding) {
91
+ export async function appendFeeTokenApproveIfNeeded(client, actions, billingAddress, amountWei) {
92
+ const feeToken = await fetchFeeTokenAddress(client);
93
+ return appendErc20ApproveIfNeeded(client, actions, billingAddress, feeToken, amountWei);
94
+ }
95
+ export function buildWithdrawCtmCreditActions(nodeKey, amountWei) {
105
96
  const mpa = mpaContractAddress();
106
97
  return [
107
98
  {
108
- signature: 'registerVpn(string,bytes32)',
99
+ signature: 'withdrawCtmCredit(string,uint256)',
109
100
  contractAddress: mpa,
110
101
  args: [
111
102
  { name: 'nodeKey', type: 'string', value: nodeKey },
112
- { name: 'hostBinding', type: 'bytes32', value: String(hostBinding) },
103
+ { name: 'amount', type: 'uint256', value: amountWei.toString() },
113
104
  ],
114
105
  },
115
106
  ];
116
107
  }
117
- export function buildSyncVpnBillingActions(nodeKey, hostBinding) {
108
+ export function buildSyncBillingActions(keyGenId, globalNonce, addressKind, nodeKey) {
118
109
  const mpa = mpaContractAddress();
119
110
  return [
120
111
  {
121
- signature: 'syncVpnBilling(string,bytes32)',
112
+ signature: 'syncBilling(string,string,string,uint256)',
122
113
  contractAddress: mpa,
123
114
  args: [
115
+ { name: 'keyGenId', type: 'string', value: keyGenId },
116
+ { name: 'addressKind', type: 'string', value: addressKind },
124
117
  { name: 'nodeKey', type: 'string', value: nodeKey },
125
- { name: 'hostBinding', type: 'bytes32', value: String(hostBinding) },
118
+ { name: 'globalNonceAtActivation', type: 'uint256', value: String(globalNonce) },
126
119
  ],
127
120
  },
128
121
  ];
129
122
  }
130
- export function buildVpnDepositActions(input) {
123
+ export function buildKeyGenDepositActions(nodeKey, amountWei) {
131
124
  const mpa = mpaContractAddress();
132
125
  return [
133
126
  {
134
- signature: 'depositVpn(string,bytes32,uint256,bool)',
127
+ signature: 'deposit(string,uint256)',
135
128
  contractAddress: mpa,
136
129
  args: [
137
- { name: 'nodeKey', type: 'string', value: input.nodeKey },
138
- { name: 'hostBinding', type: 'bytes32', value: String(input.hostBinding) },
139
- { name: 'amount', type: 'uint256', value: input.amountWei.toString() },
140
- { name: 'activate', type: 'bool', value: String(input.activateOnDeposit ?? false) },
130
+ { name: 'nodeKey', type: 'string', value: nodeKey },
131
+ { name: 'amount', type: 'uint256', value: amountWei.toString() },
141
132
  ],
142
133
  },
143
134
  ];
144
135
  }
145
- export function buildWithdrawVpnCreditActions(nodeKey, hostBinding, amountWei) {
136
+ export function buildKeyGenDepositCtmActions(nodeKey, amountWei) {
146
137
  const mpa = mpaContractAddress();
147
138
  return [
148
139
  {
149
- signature: 'withdrawVpnCredit(string,bytes32,uint256)',
140
+ signature: 'depositCtm(string,uint256)',
150
141
  contractAddress: mpa,
151
142
  args: [
152
143
  { name: 'nodeKey', type: 'string', value: nodeKey },
153
- { name: 'hostBinding', type: 'bytes32', value: String(hostBinding) },
154
144
  { name: 'amount', type: 'uint256', value: amountWei.toString() },
155
145
  ],
156
146
  },
157
147
  ];
158
148
  }
159
- export function buildSyncBillingActions(keyGenId, globalNonce) {
149
+ export function buildRegisterKeyGenActions(keyGenId, addressKind, nodeKey, globalNonce, groupId = '') {
160
150
  const mpa = mpaContractAddress();
161
151
  return [
162
152
  {
163
- signature: 'syncBilling(string,string,uint256)',
153
+ signature: 'register(string,string,string,uint256,string)',
164
154
  contractAddress: mpa,
165
155
  args: [
166
156
  { name: 'keyGenId', type: 'string', value: keyGenId },
167
- { name: 'addressKind', type: 'string', value: KEY_GEN_ADDRESS_KIND_ETHEREUM },
157
+ { name: 'addressKind', type: 'string', value: addressKind },
158
+ { name: 'nodeKey', type: 'string', value: nodeKey },
168
159
  { name: 'globalNonceAtActivation', type: 'uint256', value: String(globalNonce) },
160
+ { name: 'groupId', type: 'string', value: groupId },
169
161
  ],
170
162
  },
171
163
  ];
172
164
  }
173
- export function buildKeyGenDepositActions(keyGenId, amountWei) {
174
- const mpa = mpaContractAddress();
175
- return [
176
- {
177
- signature: 'deposit(string,string,uint256,uint256)',
178
- contractAddress: mpa,
179
- args: [
180
- { name: 'keyGenId', type: 'string', value: keyGenId },
181
- { name: 'addressKind', type: 'string', value: KEY_GEN_ADDRESS_KIND_ETHEREUM },
182
- { name: 'amount', type: 'uint256', value: amountWei.toString() },
183
- { name: 'globalNonceAtActivation', type: 'uint256', value: MPA_DEPOSIT_ONLY_NONCE },
184
- ],
185
- },
186
- ];
187
- }
188
- export async function prepareMpaRegisterVpnActions(config, input) {
189
- const exec = await resolveKeyGenExecutor(config, input.keyGenId);
190
- if (!exec.ok)
191
- return exec;
192
- const vpnHost = await resolveVpnHost(config, input.hostIpAddress, input.nodeKey);
193
- if (!vpnHost.ok)
194
- return vpnHost;
195
- const client = getMpaPublicClient();
196
- const feeToken = await fetchFeeTokenAddress(client);
197
- return {
198
- ok: true,
199
- data: {
200
- actions: buildRegisterVpnActions(vpnHost.data.nodeKey, vpnHost.data.hostBinding),
201
- feeTokenAddress: feeToken,
202
- },
203
- };
204
- }
205
- export async function prepareMpaVpnDepositActions(config, input) {
206
- const exec = await resolveKeyGenExecutor(config, input.keyGenId);
207
- if (!exec.ok)
208
- return exec;
209
- const vpnHost = await resolveVpnHost(config, input.hostIpAddress, input.nodeKey);
210
- if (!vpnHost.ok)
211
- return vpnHost;
212
- const amountWei = BigInt(input.amountWei);
213
- if (amountWei <= 0n) {
214
- return { ok: false, reason: 'amountWei must be positive.' };
215
- }
216
- const client = getMpaPublicClient();
217
- const actions = [];
218
- const feeToken = await appendFeeTokenApproveIfNeeded(client, actions, exec.data.billingAddress, amountWei);
219
- actions.push(...buildVpnDepositActions({
220
- nodeKey: vpnHost.data.nodeKey,
221
- hostBinding: vpnHost.data.hostBinding,
222
- amountWei,
223
- activateOnDeposit: input.activateOnDeposit,
224
- }));
225
- return { ok: true, data: { actions, feeTokenAddress: feeToken } };
226
- }
227
- export async function prepareMpaSyncVpnBillingActions(config, input) {
228
- const exec = await resolveKeyGenExecutor(config, input.keyGenId);
165
+ export async function prepareMpaSyncBillingActions(config, input) {
166
+ const targetKg = await fetchKeyGenResult(config, input.keyGenId);
167
+ if (!targetKg.ok)
168
+ return targetKg;
169
+ const executorId = input.executorKeyGenId?.trim() || input.keyGenId;
170
+ const exec = await resolveKeyGenExecutor(config, executorId);
229
171
  if (!exec.ok)
230
172
  return exec;
231
- const vpnHost = await resolveVpnHost(config, input.hostIpAddress, input.nodeKey);
232
- if (!vpnHost.ok)
233
- return vpnHost;
234
173
  const client = getMpaPublicClient();
235
174
  const mpa = mpaContractAddress();
236
- const vpnSub = await client.readContract({
237
- address: mpa,
238
- abi: MPA_WALLET_READ_ABI,
239
- functionName: 'getVpnSubscriptionStatus',
240
- args: [vpnHost.data.nodeKey, vpnHost.data.hostBinding],
241
- });
242
- const [registered, , vpnCreditBalance, vpnMonthlyFee, fundedForCurrentMonth] = vpnSub;
243
- if (!registered) {
244
- return { ok: false, reason: 'VPN billing account is not registered.' };
245
- }
246
- if (fundedForCurrentMonth) {
247
- return { ok: false, reason: 'VPN billing month is already active.' };
248
- }
249
- if (vpnMonthlyFee === 0n) {
250
- return { ok: false, reason: 'VPN monthly fee is zero; sync billing is not applicable.' };
251
- }
252
- if (vpnCreditBalance < vpnMonthlyFee) {
253
- return {
254
- ok: false,
255
- reason: 'VPN credit pool balance is below the monthly fee; deposit first.',
256
- };
257
- }
175
+ const keyGenId = input.keyGenId;
176
+ const nodeKeyRes = await resolveNodeKey(config);
177
+ if (!nodeKeyRes.ok)
178
+ return nodeKeyRes;
179
+ const nodeKey = nodeKeyRes.data;
180
+ const addressKind = feeAddressKindForKeyGen(targetKg.data);
258
181
  const withdrawAuthority = await client.readContract({
259
182
  address: mpa,
260
183
  abi: MPA_WALLET_READ_ABI,
261
- functionName: 'getVpnWithdrawAuthority',
262
- args: [vpnHost.data.nodeKey, vpnHost.data.hostBinding],
184
+ functionName: 'getNodeWithdrawAuthority',
185
+ args: [nodeKey],
263
186
  });
264
187
  if (!isWithdrawAuthority(exec.data.billingAddress, withdrawAuthority)) {
265
188
  return {
266
189
  ok: false,
267
- reason: 'KeyGen executor is not the VPN withdraw authority; sync requires authority.',
190
+ reason: `KeyGen executor must be the node withdraw authority (${String(withdrawAuthority)}). ` +
191
+ 'Pass executorKeyGenId of the claimed authority secp256k1 KeyGen.',
268
192
  };
269
193
  }
270
- const feeToken = await fetchFeeTokenAddress(client);
271
- return {
272
- ok: true,
273
- data: {
274
- actions: buildSyncVpnBillingActions(vpnHost.data.nodeKey, vpnHost.data.hostBinding),
275
- feeTokenAddress: feeToken,
276
- },
277
- };
278
- }
279
- export async function prepareMpaSyncBillingActions(config, input) {
280
- const exec = await resolveKeyGenExecutor(config, input.keyGenId);
281
- if (!exec.ok)
282
- return exec;
283
- const client = getMpaPublicClient();
284
- const mpa = mpaContractAddress();
285
- const keyGenId = input.keyGenId;
286
194
  const registered = await client.readContract({
287
195
  address: mpa,
288
196
  abi: MPA_WALLET_READ_ABI,
289
197
  functionName: 'isKeyGenRegistered',
290
- args: [keyGenId, KEY_GEN_ADDRESS_KIND_ETHEREUM],
198
+ args: [keyGenId, addressKind, nodeKey],
291
199
  });
292
200
  if (!registered) {
293
201
  return { ok: false, reason: 'KeyGen is not registered with MPA wallet.' };
294
202
  }
295
- const sub = await client.readContract({
296
- address: mpa,
297
- abi: MPA_WALLET_READ_ABI,
298
- functionName: 'getSubscriptionStatus',
299
- args: [keyGenId, KEY_GEN_ADDRESS_KIND_ETHEREUM],
300
- });
301
- const [, , , nodeCreditBalance, monthlyFee, , , fundedForCurrentMonth] = sub;
203
+ const paymentToken = input.paymentToken === 'ctm' ? 'ctm' : 'fee';
204
+ const [sub, rates, requiredTopUp, requiredTopUpCtm] = await Promise.all([
205
+ client.readContract({
206
+ address: mpa,
207
+ abi: MPA_WALLET_READ_ABI,
208
+ functionName: 'getSubscriptionStatus',
209
+ args: [keyGenId, addressKind, nodeKey],
210
+ }),
211
+ client.readContract({
212
+ address: mpa,
213
+ abi: MPA_WALLET_READ_ABI,
214
+ functionName: 'getActiveRates',
215
+ }),
216
+ client.readContract({
217
+ address: mpa,
218
+ abi: MPA_WALLET_READ_ABI,
219
+ functionName: 'getRequiredMinimumTopUp',
220
+ args: [keyGenId, addressKind, nodeKey],
221
+ }),
222
+ client.readContract({
223
+ address: mpa,
224
+ abi: MPA_WALLET_READ_ABI,
225
+ functionName: 'getRequiredMinimumTopUpCtm',
226
+ args: [keyGenId, addressKind, nodeKey],
227
+ }),
228
+ ]);
229
+ const [, , , , nodeCreditBalance, fundedForCurrentMonth] = sub;
230
+ const monthlyFee = rates[0];
231
+ const waiver = await fetchKeyGenMonthActivationWaived(keyGenId, addressKind, nodeKey);
232
+ const meta = await fetchMpaPaymentTokenMeta();
302
233
  if (fundedForCurrentMonth) {
303
234
  return { ok: false, reason: 'KeyGen billing month is already active.' };
304
235
  }
305
- if (monthlyFee === 0n) {
306
- return { ok: false, reason: 'Monthly fee is zero; sync billing is not applicable.' };
307
- }
308
- if (nodeCreditBalance < monthlyFee) {
309
- return {
310
- ok: false,
311
- reason: 'Credit pool balance is below the monthly fee; deposit first.',
312
- };
236
+ const actions = [];
237
+ let includedDeposit = false;
238
+ if (!waiver.monthActivationWaived) {
239
+ if (monthlyFee === 0n) {
240
+ return { ok: false, reason: 'Monthly fee is zero; sync billing is not applicable.' };
241
+ }
242
+ if (paymentToken === 'ctm') {
243
+ if (meta.ctmPaymentsPaused) {
244
+ return { ok: false, reason: 'CTM payments are paused on the fee contract.' };
245
+ }
246
+ if (requiredTopUpCtm > 0n) {
247
+ await appendErc20ApproveIfNeeded(client, actions, exec.data.billingAddress, meta.ctmTokenAddress, requiredTopUpCtm);
248
+ actions.push(...buildKeyGenDepositCtmActions(nodeKey, requiredTopUpCtm));
249
+ includedDeposit = true;
250
+ }
251
+ }
252
+ else {
253
+ const shortfall = requiredTopUp > 0n
254
+ ? requiredTopUp
255
+ : nodeCreditBalance < monthlyFee
256
+ ? monthlyFee - nodeCreditBalance
257
+ : 0n;
258
+ if (shortfall > 0n) {
259
+ await appendErc20ApproveIfNeeded(client, actions, exec.data.billingAddress, meta.feeTokenAddress, shortfall);
260
+ actions.push(...buildKeyGenDepositActions(nodeKey, shortfall));
261
+ includedDeposit = true;
262
+ }
263
+ }
313
264
  }
314
- const globalNonce = await resolveGlobalNonce(config, keyGenId, exec.data.billingAddress, input.globalNonce);
265
+ const targetEth = targetKg.data.ethereumaddress?.trim();
266
+ const nonceAddress = targetEth
267
+ ? billingAddressFromEth(targetEth)
268
+ : exec.data.billingAddress;
269
+ const globalNonce = await resolveGlobalNonce(config, keyGenId, nonceAddress, input.globalNonce);
315
270
  if (!globalNonce.ok)
316
271
  return globalNonce;
317
- const feeToken = await fetchFeeTokenAddress(client);
272
+ actions.push(...buildSyncBillingActions(keyGenId, globalNonce.data, addressKind, nodeKey));
318
273
  return {
319
274
  ok: true,
320
275
  data: {
321
- actions: buildSyncBillingActions(keyGenId, globalNonce.data),
322
- feeTokenAddress: feeToken,
276
+ actions,
277
+ feeTokenAddress: meta.feeTokenAddress,
278
+ includedDeposit,
279
+ paymentToken,
323
280
  },
324
281
  };
325
282
  }
@@ -333,21 +290,39 @@ export async function prepareMpaKeyGenDepositActions(config, input) {
333
290
  }
334
291
  const client = getMpaPublicClient();
335
292
  const mpa = mpaContractAddress();
293
+ const nodeKeyRes = await resolveNodeKey(config);
294
+ if (!nodeKeyRes.ok)
295
+ return nodeKeyRes;
296
+ const nodeKey = nodeKeyRes.data;
297
+ const addressKind = feeAddressKindForKeyGen(exec.data.keyGenResult);
298
+ const paymentToken = input.paymentToken === 'ctm' ? 'ctm' : 'fee';
299
+ const meta = await fetchMpaPaymentTokenMeta();
300
+ if (paymentToken === 'ctm' && meta.ctmPaymentsPaused) {
301
+ return { ok: false, reason: 'CTM payments are paused on the fee contract.' };
302
+ }
336
303
  const requiredTopUp = await client.readContract({
337
304
  address: mpa,
338
305
  abi: MPA_WALLET_READ_ABI,
339
- functionName: 'getRequiredMinimumTopUp',
340
- args: [input.keyGenId, KEY_GEN_ADDRESS_KIND_ETHEREUM],
306
+ functionName: paymentToken === 'ctm' ? 'getRequiredMinimumTopUpCtm' : 'getRequiredMinimumTopUp',
307
+ args: [input.keyGenId, addressKind, nodeKey],
341
308
  });
342
- const sub = await client.readContract({
343
- address: mpa,
344
- abi: MPA_WALLET_READ_ABI,
345
- functionName: 'getSubscriptionStatus',
346
- args: [input.keyGenId, KEY_GEN_ADDRESS_KIND_ETHEREUM],
347
- });
348
- const monthlyFee = sub[4];
349
- const minWei = requiredTopUp > 0n ? requiredTopUp : monthlyFee;
350
- if (amountWei < minWei) {
309
+ const [sub, rates] = await Promise.all([
310
+ client.readContract({
311
+ address: mpa,
312
+ abi: MPA_WALLET_READ_ABI,
313
+ functionName: 'getSubscriptionStatus',
314
+ args: [input.keyGenId, addressKind, nodeKey],
315
+ }),
316
+ client.readContract({
317
+ address: mpa,
318
+ abi: MPA_WALLET_READ_ABI,
319
+ functionName: 'getActiveRates',
320
+ }),
321
+ ]);
322
+ void sub;
323
+ const monthlyFee = rates[0];
324
+ const minWei = requiredTopUp > 0n ? requiredTopUp : paymentToken === 'ctm' ? 0n : monthlyFee;
325
+ if (minWei > 0n && amountWei < minWei) {
351
326
  return {
352
327
  ok: false,
353
328
  reason: `Amount below required minimum top-up (${minWei.toString()} wei).`,
@@ -358,51 +333,23 @@ export async function prepareMpaKeyGenDepositActions(config, input) {
358
333
  ? await fetchMergedMpaWalletStatus(config, input.keyGenId, eth)
359
334
  : null;
360
335
  const actions = [];
361
- const feeToken = await appendFeeTokenApproveIfNeeded(client, actions, exec.data.billingAddress, amountWei);
362
- actions.push(...buildKeyGenDepositActions(input.keyGenId, amountWei));
336
+ const payToken = paymentToken === 'ctm' ? meta.ctmTokenAddress : meta.feeTokenAddress;
337
+ await appendErc20ApproveIfNeeded(client, actions, exec.data.billingAddress, payToken, amountWei);
338
+ actions.push(...(paymentToken === 'ctm'
339
+ ? buildKeyGenDepositCtmActions(nodeKey, amountWei)
340
+ : buildKeyGenDepositActions(nodeKey, amountWei)));
363
341
  const syncAfterDeposit = input.activateBillingMonthAfterDeposit === true &&
364
342
  walletStatus != null &&
365
- shouldSyncKeyGenMonthAfterDeposit(walletStatus, amountWei);
343
+ shouldSyncKeyGenMonthAfterDeposit(walletStatus, amountWei, paymentToken);
366
344
  if (syncAfterDeposit) {
367
345
  const globalNonce = await resolveGlobalNonce(config, input.keyGenId, exec.data.billingAddress);
368
346
  if (!globalNonce.ok)
369
347
  return globalNonce;
370
- actions.push(...buildSyncBillingActions(input.keyGenId, globalNonce.data));
371
- }
372
- return { ok: true, data: { actions, feeTokenAddress: feeToken } };
373
- }
374
- export async function prepareMpaWithdrawVpnCreditActions(config, input) {
375
- const exec = await resolveKeyGenExecutor(config, input.keyGenId);
376
- if (!exec.ok)
377
- return exec;
378
- const vpnHost = await resolveVpnHost(config, input.hostIpAddress, input.nodeKey);
379
- if (!vpnHost.ok)
380
- return vpnHost;
381
- const amountWei = BigInt(input.amountWei);
382
- if (amountWei <= 0n) {
383
- return { ok: false, reason: 'amountWei must be positive.' };
348
+ actions.push(...buildSyncBillingActions(input.keyGenId, globalNonce.data, addressKind, nodeKey));
384
349
  }
385
- const client = getMpaPublicClient();
386
- const mpa = mpaContractAddress();
387
- const withdrawAuthority = await client.readContract({
388
- address: mpa,
389
- abi: MPA_WALLET_READ_ABI,
390
- functionName: 'getVpnWithdrawAuthority',
391
- args: [vpnHost.data.nodeKey, vpnHost.data.hostBinding],
392
- });
393
- if (!isWithdrawAuthority(exec.data.billingAddress, withdrawAuthority)) {
394
- return {
395
- ok: false,
396
- reason: 'KeyGen executor is not the VPN withdraw authority.',
397
- };
398
- }
399
- const feeToken = await fetchFeeTokenAddress(client);
400
350
  return {
401
351
  ok: true,
402
- data: {
403
- actions: buildWithdrawVpnCreditActions(vpnHost.data.nodeKey, vpnHost.data.hostBinding, amountWei),
404
- feeTokenAddress: feeToken,
405
- },
352
+ data: { actions, feeTokenAddress: meta.feeTokenAddress, paymentToken },
406
353
  };
407
354
  }
408
355
  //# sourceMappingURL=mpa-billing-actions.js.map