@continuumdao/continuum-node-sdk 1.3.40 → 1.3.42

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 (549) hide show
  1. package/dist/agent-host-catalog.json +968 -128
  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 +275 -37
  7. package/dist/config/mpa-wallet.d.ts.map +1 -1
  8. package/dist/config/mpa-wallet.js +162 -24
  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 +22 -0
  74. package/dist/core/agent/user-folder.d.ts.map +1 -0
  75. package/dist/core/agent/user-folder.js +86 -0
  76. package/dist/core/agent/user-folder.js.map +1 -0
  77. package/dist/core/business-latest/fetch.d.ts +9 -0
  78. package/dist/core/business-latest/fetch.d.ts.map +1 -0
  79. package/dist/core/business-latest/fetch.js +138 -0
  80. package/dist/core/business-latest/fetch.js.map +1 -0
  81. package/dist/core/business-latest/index.d.ts +5 -0
  82. package/dist/core/business-latest/index.d.ts.map +1 -0
  83. package/dist/core/business-latest/index.js +5 -0
  84. package/dist/core/business-latest/index.js.map +1 -0
  85. package/dist/core/business-latest/parse-rss.d.ts +10 -0
  86. package/dist/core/business-latest/parse-rss.d.ts.map +1 -0
  87. package/dist/core/business-latest/parse-rss.js +84 -0
  88. package/dist/core/business-latest/parse-rss.js.map +1 -0
  89. package/dist/core/business-latest/schemas.d.ts +115 -0
  90. package/dist/core/business-latest/schemas.d.ts.map +1 -0
  91. package/dist/core/business-latest/schemas.js +61 -0
  92. package/dist/core/business-latest/schemas.js.map +1 -0
  93. package/dist/core/business-latest/sources.d.ts +19 -0
  94. package/dist/core/business-latest/sources.d.ts.map +1 -0
  95. package/dist/core/business-latest/sources.js +65 -0
  96. package/dist/core/business-latest/sources.js.map +1 -0
  97. package/dist/core/chart/alpaca-bars-envelope.d.ts +13 -0
  98. package/dist/core/chart/alpaca-bars-envelope.d.ts.map +1 -0
  99. package/dist/core/chart/alpaca-bars-envelope.js +65 -0
  100. package/dist/core/chart/alpaca-bars-envelope.js.map +1 -0
  101. package/dist/core/chart/analysis/analyze-tools.d.ts +79 -5
  102. package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -1
  103. package/dist/core/chart/analysis/analyze-tools.js +6 -1
  104. package/dist/core/chart/analysis/analyze-tools.js.map +1 -1
  105. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts +9 -0
  106. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts.map +1 -1
  107. package/dist/core/chart/analysis/bollinger-analyze-tools.js +39 -19
  108. package/dist/core/chart/analysis/bollinger-analyze-tools.js.map +1 -1
  109. package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts +28 -0
  110. package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts.map +1 -1
  111. package/dist/core/chart/analysis/chart-patterns-tools.d.ts +28 -0
  112. package/dist/core/chart/analysis/chart-patterns-tools.d.ts.map +1 -1
  113. package/dist/core/chart/analysis/divergence-analyze-tools.d.ts +15 -0
  114. package/dist/core/chart/analysis/divergence-analyze-tools.d.ts.map +1 -1
  115. package/dist/core/chart/analysis/divergence-analyze-tools.js +2 -0
  116. package/dist/core/chart/analysis/divergence-analyze-tools.js.map +1 -1
  117. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +15 -0
  118. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -1
  119. package/dist/core/chart/analysis/elliott-waves-analyze-tools.js +2 -0
  120. package/dist/core/chart/analysis/elliott-waves-analyze-tools.js.map +1 -1
  121. package/dist/core/chart/analysis/moving-averages-analyze-tools.d.ts +4 -2
  122. package/dist/core/chart/analysis/moving-averages-analyze-tools.d.ts.map +1 -1
  123. package/dist/core/chart/analysis/moving-averages-analyze-tools.js +23 -23
  124. package/dist/core/chart/analysis/moving-averages-analyze-tools.js.map +1 -1
  125. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts +14 -0
  126. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts.map +1 -1
  127. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js +48 -4
  128. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js.map +1 -1
  129. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
  130. package/dist/core/chart/analysis/trade-setups/build-trade.js +4 -1
  131. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
  132. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.d.ts.map +1 -1
  133. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js +32 -0
  134. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js.map +1 -1
  135. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts +14 -0
  136. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts.map +1 -1
  137. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js +16 -0
  138. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js.map +1 -1
  139. package/dist/core/chart/chart-data-validation.d.ts.map +1 -1
  140. package/dist/core/chart/chart-data-validation.js +32 -6
  141. package/dist/core/chart/chart-data-validation.js.map +1 -1
  142. package/dist/core/chart/fetch-metadata.d.ts +4 -1
  143. package/dist/core/chart/fetch-metadata.d.ts.map +1 -1
  144. package/dist/core/chart/fetch-metadata.js +88 -2
  145. package/dist/core/chart/fetch-metadata.js.map +1 -1
  146. package/dist/core/chart/fetch-result.d.ts.map +1 -1
  147. package/dist/core/chart/fetch-result.js +32 -1
  148. package/dist/core/chart/fetch-result.js.map +1 -1
  149. package/dist/core/chart/index.d.ts +2 -1
  150. package/dist/core/chart/index.d.ts.map +1 -1
  151. package/dist/core/chart/index.js +2 -1
  152. package/dist/core/chart/index.js.map +1 -1
  153. package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
  154. package/dist/core/chart/live/binding-extract.js +82 -1
  155. package/dist/core/chart/live/binding-extract.js.map +1 -1
  156. package/dist/core/chart/live/fetch-tick.d.ts +3 -0
  157. package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
  158. package/dist/core/chart/live/fetch-tick.js +146 -1
  159. package/dist/core/chart/live/fetch-tick.js.map +1 -1
  160. package/dist/core/chart/live/index.d.ts +2 -2
  161. package/dist/core/chart/live/index.d.ts.map +1 -1
  162. package/dist/core/chart/live/index.js +2 -2
  163. package/dist/core/chart/live/index.js.map +1 -1
  164. package/dist/core/chart/live/interval.d.ts.map +1 -1
  165. package/dist/core/chart/live/interval.js +9 -0
  166. package/dist/core/chart/live/interval.js.map +1 -1
  167. package/dist/core/chart/live/schemas.d.ts +2 -0
  168. package/dist/core/chart/live/schemas.d.ts.map +1 -1
  169. package/dist/core/chart/live/schemas.js +2 -0
  170. package/dist/core/chart/live/schemas.js.map +1 -1
  171. package/dist/core/chart/markdown-ohlcv-table.d.ts +11 -0
  172. package/dist/core/chart/markdown-ohlcv-table.d.ts.map +1 -0
  173. package/dist/core/chart/markdown-ohlcv-table.js +153 -0
  174. package/dist/core/chart/markdown-ohlcv-table.js.map +1 -0
  175. package/dist/core/chart/ohlcv-integrity.d.ts +7 -4
  176. package/dist/core/chart/ohlcv-integrity.d.ts.map +1 -1
  177. package/dist/core/chart/ohlcv-integrity.js +34 -10
  178. package/dist/core/chart/ohlcv-integrity.js.map +1 -1
  179. package/dist/core/chart/ohlcv-session-store.d.ts +2 -1
  180. package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
  181. package/dist/core/chart/ohlcv-session-store.js +44 -10
  182. package/dist/core/chart/ohlcv-session-store.js.map +1 -1
  183. package/dist/core/chart/ohlcv-sources.d.ts +157 -0
  184. package/dist/core/chart/ohlcv-sources.d.ts.map +1 -0
  185. package/dist/core/chart/ohlcv-sources.js +206 -0
  186. package/dist/core/chart/ohlcv-sources.js.map +1 -0
  187. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  188. package/dist/core/chart/overlay-schemas.js +2 -0
  189. package/dist/core/chart/overlay-schemas.js.map +1 -1
  190. package/dist/core/chart/point-normalize.d.ts.map +1 -1
  191. package/dist/core/chart/point-normalize.js +11 -0
  192. package/dist/core/chart/point-normalize.js.map +1 -1
  193. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  194. package/dist/core/chart/prepare-from-rows.js +3 -0
  195. package/dist/core/chart/prepare-from-rows.js.map +1 -1
  196. package/dist/core/coinmarketcap/mcp-server-choice.d.ts.map +1 -1
  197. package/dist/core/coinmarketcap/mcp-server-choice.js +5 -2
  198. package/dist/core/coinmarketcap/mcp-server-choice.js.map +1 -1
  199. package/dist/core/coinmarketcap/schemas.d.ts +17 -17
  200. package/dist/core/keygen-read.d.ts +8 -0
  201. package/dist/core/keygen-read.d.ts.map +1 -1
  202. package/dist/core/keygen-read.js +26 -0
  203. package/dist/core/keygen-read.js.map +1 -1
  204. package/dist/core/keygen.d.ts +1 -8
  205. package/dist/core/keygen.d.ts.map +1 -1
  206. package/dist/core/keygen.js +2 -27
  207. package/dist/core/keygen.js.map +1 -1
  208. package/dist/core/management-signer.d.ts +3 -1
  209. package/dist/core/management-signer.d.ts.map +1 -1
  210. package/dist/core/management-signer.js +4 -4
  211. package/dist/core/management-signer.js.map +1 -1
  212. package/dist/core/mpc/address-kind.d.ts +5 -0
  213. package/dist/core/mpc/address-kind.d.ts.map +1 -0
  214. package/dist/core/mpc/address-kind.js +38 -0
  215. package/dist/core/mpc/address-kind.js.map +1 -0
  216. package/dist/core/mpc/address-kind.test.d.ts +2 -0
  217. package/dist/core/mpc/address-kind.test.d.ts.map +1 -0
  218. package/dist/core/mpc/address-kind.test.js +21 -0
  219. package/dist/core/mpc/address-kind.test.js.map +1 -0
  220. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  221. package/dist/core/mpc/broadcast-sign-result.js +61 -55
  222. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  223. package/dist/core/mpc/compose-eip712-request.d.ts +6 -0
  224. package/dist/core/mpc/compose-eip712-request.d.ts.map +1 -0
  225. package/dist/core/mpc/compose-eip712-request.js +40 -0
  226. package/dist/core/mpc/compose-eip712-request.js.map +1 -0
  227. package/dist/core/mpc/context.js +1 -1
  228. package/dist/core/mpc/context.js.map +1 -1
  229. package/dist/core/mpc/eip712-sign-request.d.ts +17 -1
  230. package/dist/core/mpc/eip712-sign-request.d.ts.map +1 -1
  231. package/dist/core/mpc/eip712-sign-request.js +114 -23
  232. package/dist/core/mpc/eip712-sign-request.js.map +1 -1
  233. package/dist/core/mpc/forge-dry-run-build.d.ts +35 -0
  234. package/dist/core/mpc/forge-dry-run-build.d.ts.map +1 -0
  235. package/dist/core/mpc/forge-dry-run-build.js +200 -0
  236. package/dist/core/mpc/forge-dry-run-build.js.map +1 -0
  237. package/dist/core/mpc/forge-dry-run-request.d.ts +30 -0
  238. package/dist/core/mpc/forge-dry-run-request.d.ts.map +1 -0
  239. package/dist/core/mpc/forge-dry-run-request.js +144 -0
  240. package/dist/core/mpc/forge-dry-run-request.js.map +1 -0
  241. package/dist/core/mpc/gas-preflight-mpa.d.ts +8 -0
  242. package/dist/core/mpc/gas-preflight-mpa.d.ts.map +1 -0
  243. package/dist/core/mpc/gas-preflight-mpa.js +21 -0
  244. package/dist/core/mpc/gas-preflight-mpa.js.map +1 -0
  245. package/dist/core/mpc/gas-preflight.d.ts +0 -5
  246. package/dist/core/mpc/gas-preflight.d.ts.map +1 -1
  247. package/dist/core/mpc/gas-preflight.js +0 -19
  248. package/dist/core/mpc/gas-preflight.js.map +1 -1
  249. package/dist/core/mpc/join-multisign-request.d.ts.map +1 -1
  250. package/dist/core/mpc/join-multisign-request.js +41 -1
  251. package/dist/core/mpc/join-multisign-request.js.map +1 -1
  252. package/dist/core/mpc/mpa-authority-vectm-browser.d.ts +48 -0
  253. package/dist/core/mpc/mpa-authority-vectm-browser.d.ts.map +1 -0
  254. package/dist/core/mpc/mpa-authority-vectm-browser.js +210 -0
  255. package/dist/core/mpc/mpa-authority-vectm-browser.js.map +1 -0
  256. package/dist/core/mpc/mpa-authority-vectm-read.d.ts +3314 -0
  257. package/dist/core/mpc/mpa-authority-vectm-read.d.ts.map +1 -0
  258. package/dist/core/mpc/mpa-authority-vectm-read.js +221 -0
  259. package/dist/core/mpc/mpa-authority-vectm-read.js.map +1 -0
  260. package/dist/core/mpc/mpa-authority-vectm.d.ts +63 -0
  261. package/dist/core/mpc/mpa-authority-vectm.d.ts.map +1 -0
  262. package/dist/core/mpc/mpa-authority-vectm.js +331 -0
  263. package/dist/core/mpc/mpa-authority-vectm.js.map +1 -0
  264. package/dist/core/mpc/mpa-billing-actions.d.ts +13 -35
  265. package/dist/core/mpc/mpa-billing-actions.d.ts.map +1 -1
  266. package/dist/core/mpc/mpa-billing-actions.js +154 -207
  267. package/dist/core/mpc/mpa-billing-actions.js.map +1 -1
  268. package/dist/core/mpc/mpa-billing-helpers.d.ts +16 -1
  269. package/dist/core/mpc/mpa-billing-helpers.d.ts.map +1 -1
  270. package/dist/core/mpc/mpa-billing-helpers.js +33 -9
  271. package/dist/core/mpc/mpa-billing-helpers.js.map +1 -1
  272. package/dist/core/mpc/mpa-billing-ops.d.ts +0 -11
  273. package/dist/core/mpc/mpa-billing-ops.d.ts.map +1 -1
  274. package/dist/core/mpc/mpa-billing-ops.js +41 -207
  275. package/dist/core/mpc/mpa-billing-ops.js.map +1 -1
  276. package/dist/core/mpc/mpa-fee-status.d.ts +7 -42
  277. package/dist/core/mpc/mpa-fee-status.d.ts.map +1 -1
  278. package/dist/core/mpc/mpa-fee-status.js +174 -229
  279. package/dist/core/mpc/mpa-fee-status.js.map +1 -1
  280. package/dist/core/mpc/mpa-payment-tokens.d.ts +38 -0
  281. package/dist/core/mpc/mpa-payment-tokens.d.ts.map +1 -0
  282. package/dist/core/mpc/mpa-payment-tokens.js +135 -0
  283. package/dist/core/mpc/mpa-payment-tokens.js.map +1 -0
  284. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
  285. package/dist/core/mpc/mpa-top-up.js +16 -125
  286. package/dist/core/mpc/mpa-top-up.js.map +1 -1
  287. package/dist/core/mpc/mpc-input-coerce.d.ts +2 -0
  288. package/dist/core/mpc/mpc-input-coerce.d.ts.map +1 -1
  289. package/dist/core/mpc/mpc-input-coerce.js +53 -0
  290. package/dist/core/mpc/mpc-input-coerce.js.map +1 -1
  291. package/dist/core/mpc/register-keygen.d.ts.map +1 -1
  292. package/dist/core/mpc/register-keygen.js +133 -14
  293. package/dist/core/mpc/register-keygen.js.map +1 -1
  294. package/dist/core/mpc/schemas.d.ts +179 -2
  295. package/dist/core/mpc/schemas.d.ts.map +1 -1
  296. package/dist/core/mpc/schemas.js +242 -4
  297. package/dist/core/mpc/schemas.js.map +1 -1
  298. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
  299. package/dist/core/mpc/trigger-sign-result.js +12 -7
  300. package/dist/core/mpc/trigger-sign-result.js.map +1 -1
  301. package/dist/core/node-config.d.ts +31 -0
  302. package/dist/core/node-config.d.ts.map +1 -0
  303. package/dist/core/node-config.js +238 -0
  304. package/dist/core/node-config.js.map +1 -0
  305. package/dist/core/node-database/binary.d.ts +12 -0
  306. package/dist/core/node-database/binary.d.ts.map +1 -0
  307. package/dist/core/node-database/binary.js +32 -0
  308. package/dist/core/node-database/binary.js.map +1 -0
  309. package/dist/core/node-database/database-backup.d.ts +13 -0
  310. package/dist/core/node-database/database-backup.d.ts.map +1 -0
  311. package/dist/core/node-database/database-backup.js +236 -0
  312. package/dist/core/node-database/database-backup.js.map +1 -0
  313. package/dist/core/node-database/maintenance-quiescence.d.ts +17 -0
  314. package/dist/core/node-database/maintenance-quiescence.d.ts.map +1 -0
  315. package/dist/core/node-database/maintenance-quiescence.js +42 -0
  316. package/dist/core/node-database/maintenance-quiescence.js.map +1 -0
  317. package/dist/core/node-database/management-key-files.d.ts +11 -0
  318. package/dist/core/node-database/management-key-files.d.ts.map +1 -0
  319. package/dist/core/node-database/management-key-files.js +166 -0
  320. package/dist/core/node-database/management-key-files.js.map +1 -0
  321. package/dist/core/node-database/schemas.d.ts +187 -0
  322. package/dist/core/node-database/schemas.d.ts.map +1 -0
  323. package/dist/core/node-database/schemas.js +212 -0
  324. package/dist/core/node-database/schemas.js.map +1 -0
  325. package/dist/core/node-database/signed-post.d.ts +21 -0
  326. package/dist/core/node-database/signed-post.d.ts.map +1 -0
  327. package/dist/core/node-database/signed-post.js +138 -0
  328. package/dist/core/node-database/signed-post.js.map +1 -0
  329. package/dist/core/node-database/transport.d.ts +5 -0
  330. package/dist/core/node-database/transport.d.ts.map +1 -0
  331. package/dist/core/node-database/transport.js +20 -0
  332. package/dist/core/node-database/transport.js.map +1 -0
  333. package/dist/core/registry/networks-read.d.ts +14 -0
  334. package/dist/core/registry/networks-read.d.ts.map +1 -0
  335. package/dist/core/registry/networks-read.js +117 -0
  336. package/dist/core/registry/networks-read.js.map +1 -0
  337. package/dist/core/registry/networks.d.ts +2 -8
  338. package/dist/core/registry/networks.d.ts.map +1 -1
  339. package/dist/core/registry/networks.js +3 -113
  340. package/dist/core/registry/networks.js.map +1 -1
  341. package/dist/core/rss/parse-rss.d.ts +10 -0
  342. package/dist/core/rss/parse-rss.d.ts.map +1 -0
  343. package/dist/core/rss/parse-rss.js +84 -0
  344. package/dist/core/rss/parse-rss.js.map +1 -0
  345. package/dist/core/vpn/schemas.d.ts +8 -8
  346. package/dist/core/vpn/schemas.js +6 -6
  347. package/dist/core/vpn/schemas.js.map +1 -1
  348. package/dist/core/vpn/vpn-files.d.ts.map +1 -1
  349. package/dist/core/vpn/vpn-files.js +4 -3
  350. package/dist/core/vpn/vpn-files.js.map +1 -1
  351. package/dist/core/vpn/vpn-parse.d.ts +6 -9
  352. package/dist/core/vpn/vpn-parse.d.ts.map +1 -1
  353. package/dist/core/vpn/vpn-parse.js +8 -12
  354. package/dist/core/vpn/vpn-parse.js.map +1 -1
  355. package/dist/core/world-affairs/fetch.d.ts +9 -0
  356. package/dist/core/world-affairs/fetch.d.ts.map +1 -0
  357. package/dist/core/world-affairs/fetch.js +142 -0
  358. package/dist/core/world-affairs/fetch.js.map +1 -0
  359. package/dist/core/world-affairs/index.d.ts +4 -0
  360. package/dist/core/world-affairs/index.d.ts.map +1 -0
  361. package/dist/core/world-affairs/index.js +4 -0
  362. package/dist/core/world-affairs/index.js.map +1 -0
  363. package/dist/core/world-affairs/schemas.d.ts +136 -0
  364. package/dist/core/world-affairs/schemas.d.ts.map +1 -0
  365. package/dist/core/world-affairs/schemas.js +66 -0
  366. package/dist/core/world-affairs/schemas.js.map +1 -0
  367. package/dist/core/world-affairs/sources.d.ts +20 -0
  368. package/dist/core/world-affairs/sources.d.ts.map +1 -0
  369. package/dist/core/world-affairs/sources.js +81 -0
  370. package/dist/core/world-affairs/sources.js.map +1 -0
  371. package/dist/evm/encode-calldata.d.ts +2 -0
  372. package/dist/evm/encode-calldata.d.ts.map +1 -1
  373. package/dist/evm/encode-calldata.js +64 -3
  374. package/dist/evm/encode-calldata.js.map +1 -1
  375. package/dist/evm/forge-dry-run-paths.d.ts +13 -0
  376. package/dist/evm/forge-dry-run-paths.d.ts.map +1 -0
  377. package/dist/evm/forge-dry-run-paths.js +41 -0
  378. package/dist/evm/forge-dry-run-paths.js.map +1 -0
  379. package/dist/evm/join-multisign.d.ts.map +1 -1
  380. package/dist/evm/join-multisign.js +4 -0
  381. package/dist/evm/join-multisign.js.map +1 -1
  382. package/dist/evm/proposal-body.d.ts +19 -0
  383. package/dist/evm/proposal-body.d.ts.map +1 -0
  384. package/dist/evm/proposal-body.js +274 -0
  385. package/dist/evm/proposal-body.js.map +1 -0
  386. package/dist/evm/proposal-builder.d.ts +4 -9
  387. package/dist/evm/proposal-builder.d.ts.map +1 -1
  388. package/dist/evm/proposal-builder.js +9 -265
  389. package/dist/evm/proposal-builder.js.map +1 -1
  390. package/dist/index.d.ts +28 -7
  391. package/dist/index.d.ts.map +1 -1
  392. package/dist/index.js +27 -6
  393. package/dist/index.js.map +1 -1
  394. package/dist/mcp/agent-cron-jobs.js +2 -2
  395. package/dist/mcp/agent-cron-jobs.js.map +1 -1
  396. package/dist/mcp/agent-discord-search.d.ts +4 -0
  397. package/dist/mcp/agent-discord-search.d.ts.map +1 -0
  398. package/dist/mcp/agent-discord-search.js +16 -0
  399. package/dist/mcp/agent-discord-search.js.map +1 -0
  400. package/dist/mcp/agent-host-catalog.d.ts +14 -1
  401. package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
  402. package/dist/mcp/agent-host-catalog.js +25 -6
  403. package/dist/mcp/agent-host-catalog.js.map +1 -1
  404. package/dist/mcp/agent-input-coerce.d.ts.map +1 -1
  405. package/dist/mcp/agent-input-coerce.js +8 -1
  406. package/dist/mcp/agent-input-coerce.js.map +1 -1
  407. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
  408. package/dist/mcp/agent-mcp-servers.js +5 -5
  409. package/dist/mcp/agent-mcp-servers.js.map +1 -1
  410. package/dist/mcp/agent-reddit-search.d.ts +4 -0
  411. package/dist/mcp/agent-reddit-search.d.ts.map +1 -0
  412. package/dist/mcp/agent-reddit-search.js +21 -0
  413. package/dist/mcp/agent-reddit-search.js.map +1 -0
  414. package/dist/mcp/agent-skills.d.ts.map +1 -1
  415. package/dist/mcp/agent-skills.js +9 -3
  416. package/dist/mcp/agent-skills.js.map +1 -1
  417. package/dist/mcp/agent-telegram-search.d.ts +4 -0
  418. package/dist/mcp/agent-telegram-search.d.ts.map +1 -0
  419. package/dist/mcp/agent-telegram-search.js +16 -0
  420. package/dist/mcp/agent-telegram-search.js.map +1 -0
  421. package/dist/mcp/agent-telegram.d.ts +4 -0
  422. package/dist/mcp/agent-telegram.d.ts.map +1 -0
  423. package/dist/mcp/agent-telegram.js +20 -0
  424. package/dist/mcp/agent-telegram.js.map +1 -0
  425. package/dist/mcp/business-latest/register.d.ts +5 -0
  426. package/dist/mcp/business-latest/register.d.ts.map +1 -0
  427. package/dist/mcp/business-latest/register.js +41 -0
  428. package/dist/mcp/business-latest/register.js.map +1 -0
  429. package/dist/mcp/chart.d.ts.map +1 -1
  430. package/dist/mcp/chart.js +3 -0
  431. package/dist/mcp/chart.js.map +1 -1
  432. package/dist/mcp/continuum-docs/config.d.ts +12 -0
  433. package/dist/mcp/continuum-docs/config.d.ts.map +1 -0
  434. package/dist/mcp/continuum-docs/config.js +35 -0
  435. package/dist/mcp/continuum-docs/config.js.map +1 -0
  436. package/dist/mcp/continuum-docs/fetch-page.d.ts +21 -0
  437. package/dist/mcp/continuum-docs/fetch-page.d.ts.map +1 -0
  438. package/dist/mcp/continuum-docs/fetch-page.js +76 -0
  439. package/dist/mcp/continuum-docs/fetch-page.js.map +1 -0
  440. package/dist/mcp/continuum-docs/index-store.d.ts +17 -0
  441. package/dist/mcp/continuum-docs/index-store.d.ts.map +1 -0
  442. package/dist/mcp/continuum-docs/index-store.js +79 -0
  443. package/dist/mcp/continuum-docs/index-store.js.map +1 -0
  444. package/dist/mcp/continuum-docs/markdown-sections.d.ts +16 -0
  445. package/dist/mcp/continuum-docs/markdown-sections.d.ts.map +1 -0
  446. package/dist/mcp/continuum-docs/markdown-sections.js +98 -0
  447. package/dist/mcp/continuum-docs/markdown-sections.js.map +1 -0
  448. package/dist/mcp/continuum-docs/register.d.ts +3 -0
  449. package/dist/mcp/continuum-docs/register.d.ts.map +1 -0
  450. package/dist/mcp/continuum-docs/register.js +69 -0
  451. package/dist/mcp/continuum-docs/register.js.map +1 -0
  452. package/dist/mcp/continuum-docs/search.d.ts +13 -0
  453. package/dist/mcp/continuum-docs/search.d.ts.map +1 -0
  454. package/dist/mcp/continuum-docs/search.js +92 -0
  455. package/dist/mcp/continuum-docs/search.js.map +1 -0
  456. package/dist/mcp/continuum-docs/types.d.ts +81 -0
  457. package/dist/mcp/continuum-docs/types.d.ts.map +1 -0
  458. package/dist/mcp/continuum-docs/types.js +60 -0
  459. package/dist/mcp/continuum-docs/types.js.map +1 -0
  460. package/dist/mcp/deferred/discovery-tools.d.ts +5 -0
  461. package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
  462. package/dist/mcp/deferred/discovery-tools.js +69 -25
  463. package/dist/mcp/deferred/discovery-tools.js.map +1 -1
  464. package/dist/mcp/deferred/optional-endpoint-groups.d.ts +2 -2
  465. package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -1
  466. package/dist/mcp/deferred/optional-endpoint-groups.js +13 -1
  467. package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -1
  468. package/dist/mcp/deferred/session.js +2 -2
  469. package/dist/mcp/deferred/session.js.map +1 -1
  470. package/dist/mcp/deferred/tool-group-map.d.ts +4 -3
  471. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  472. package/dist/mcp/deferred/tool-group-map.js +813 -39
  473. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  474. package/dist/mcp/defi/discovery.js +6 -6
  475. package/dist/mcp/defi/discovery.js.map +1 -1
  476. package/dist/mcp/docs/search-index.json +3432 -0
  477. package/dist/mcp/index.d.ts +1 -1
  478. package/dist/mcp/index.d.ts.map +1 -1
  479. package/dist/mcp/index.js +1 -1
  480. package/dist/mcp/index.js.map +1 -1
  481. package/dist/mcp/mpc-gas-docs.d.ts +2 -0
  482. package/dist/mcp/mpc-gas-docs.d.ts.map +1 -1
  483. package/dist/mcp/mpc-gas-docs.js +2 -0
  484. package/dist/mcp/mpc-gas-docs.js.map +1 -1
  485. package/dist/mcp/mpc.d.ts.map +1 -1
  486. package/dist/mcp/mpc.js +87 -31
  487. package/dist/mcp/mpc.js.map +1 -1
  488. package/dist/mcp/node-config.d.ts +4 -0
  489. package/dist/mcp/node-config.d.ts.map +1 -0
  490. package/dist/mcp/node-config.js +34 -0
  491. package/dist/mcp/node-config.js.map +1 -0
  492. package/dist/mcp/node-database.d.ts +4 -0
  493. package/dist/mcp/node-database.d.ts.map +1 -0
  494. package/dist/mcp/node-database.js +74 -0
  495. package/dist/mcp/node-database.js.map +1 -0
  496. package/dist/mcp/ohlcv-sources.d.ts +5 -0
  497. package/dist/mcp/ohlcv-sources.d.ts.map +1 -0
  498. package/dist/mcp/ohlcv-sources.js +54 -0
  499. package/dist/mcp/ohlcv-sources.js.map +1 -0
  500. package/dist/mcp/register.d.ts +5 -0
  501. package/dist/mcp/register.d.ts.map +1 -1
  502. package/dist/mcp/register.js +28 -0
  503. package/dist/mcp/register.js.map +1 -1
  504. package/dist/mcp/resources/agent-cron-jobs.md +3 -1
  505. package/dist/mcp/resources/agent-mcp-servers.md +99 -1
  506. package/dist/mcp/resources/agent-skills.md +10 -6
  507. package/dist/mcp/resources/agent-social-search.md +78 -0
  508. package/dist/mcp/resources/agent-telegram-search.md +24 -0
  509. package/dist/mcp/resources/agent-telegram.md +18 -0
  510. package/dist/mcp/resources/agent-webhooks.md +2 -0
  511. package/dist/mcp/resources/business-latest.md +26 -0
  512. package/dist/mcp/resources/chart-analysis.md +5 -1
  513. package/dist/mcp/resources/chart.md +16 -4
  514. package/dist/mcp/resources/discord-guilds.yaml +46 -0
  515. package/dist/mcp/resources/management-signer.md +2 -1
  516. package/dist/mcp/resources/mpc.md +46 -29
  517. package/dist/mcp/resources/node-config.md +142 -0
  518. package/dist/mcp/resources/node-database.md +64 -0
  519. package/dist/mcp/resources/overview.md +13 -0
  520. package/dist/mcp/resources/social-search.yaml +79 -0
  521. package/dist/mcp/resources/telegram-channels.yaml +47 -0
  522. package/dist/mcp/resources/user-folder.md +44 -0
  523. package/dist/mcp/resources/vpn.md +10 -8
  524. package/dist/mcp/resources/world-affairs.md +28 -0
  525. package/dist/mcp/server/http-transport.d.ts +3 -0
  526. package/dist/mcp/server/http-transport.d.ts.map +1 -1
  527. package/dist/mcp/server/http-transport.js +3 -2
  528. package/dist/mcp/server/http-transport.js.map +1 -1
  529. package/dist/mcp/server/index.js +8 -1
  530. package/dist/mcp/server/index.js.map +1 -1
  531. package/dist/mcp/server/telegram-search-internal.d.ts +3 -0
  532. package/dist/mcp/server/telegram-search-internal.d.ts.map +1 -0
  533. package/dist/mcp/server/telegram-search-internal.js +54 -0
  534. package/dist/mcp/server/telegram-search-internal.js.map +1 -0
  535. package/dist/mcp/user-folder.d.ts +4 -0
  536. package/dist/mcp/user-folder.d.ts.map +1 -0
  537. package/dist/mcp/user-folder.js +32 -0
  538. package/dist/mcp/user-folder.js.map +1 -0
  539. package/dist/mcp/vpn.js +7 -7
  540. package/dist/mcp/vpn.js.map +1 -1
  541. package/dist/mcp/world-affairs/register.d.ts +5 -0
  542. package/dist/mcp/world-affairs/register.d.ts.map +1 -0
  543. package/dist/mcp/world-affairs/register.js +41 -0
  544. package/dist/mcp/world-affairs/register.js.map +1 -0
  545. package/dist/schemas/extended.d.ts +600 -1
  546. package/dist/schemas/extended.d.ts.map +1 -1
  547. package/dist/schemas/extended.js +355 -1
  548. package/dist/schemas/extended.js.map +1 -1
  549. package/package.json +10 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpa-authority-vectm-read.d.ts","sourceRoot":"","sources":["../../../src/core/mpc/mpa-authority-vectm-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6B5C,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,qBAAqB,EACjC,+EAAwF,CAAC;AAE1F,eAAO,MAAM,sBAAsB,6GAC6B,CAAC;AAEjE,wBAAgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;irBAoOirJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAA4iT,CAAC;mCAA6lC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yeAAumoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,221 @@
1
+ import { createPublicClient, defineChain, getAddress, http, zeroAddress, } from 'viem';
2
+ import { MPA_WALLET_CONTRACT_CONFIG, MPA_WALLET_READ_ABI } from '../../config/mpa-wallet.js';
3
+ import { fetchKeyGenResult, getKeyGenParentGroupId } from '../keygen-read.js';
4
+ import { nodeId } from '../general.js';
5
+ import { managementGet } from '../../api/management-api.js';
6
+ const NODE_PROPERTIES_ABI = [
7
+ {
8
+ inputs: [{ name: 'keyGen', type: 'address' }],
9
+ name: 'attachedTokenId',
10
+ outputs: [{ name: '', type: 'uint256' }],
11
+ stateMutability: 'view',
12
+ type: 'function',
13
+ },
14
+ {
15
+ inputs: [{ name: 'tokenId', type: 'uint256' }],
16
+ name: 'attachedKeyGen',
17
+ outputs: [{ name: '', type: 'address' }],
18
+ stateMutability: 'view',
19
+ type: 'function',
20
+ },
21
+ {
22
+ inputs: [{ name: 'tokenId', type: 'uint256' }],
23
+ name: 'nodeRequestingDetachment',
24
+ outputs: [{ name: '', type: 'bool' }],
25
+ stateMutability: 'view',
26
+ type: 'function',
27
+ },
28
+ ];
29
+ export const VECTM_NODE_INFO_TUPLE = '(string,string,uint8[4],uint16[8],string,uint256,uint256,string,string,bytes)';
30
+ export const ATTACH_VECTM_SIGNATURE = `attachVeCtm(string,uint256,${VECTM_NODE_INFO_TUPLE})`;
31
+ export function getMpaPublicClient() {
32
+ const chain = defineChain({
33
+ id: MPA_WALLET_CONTRACT_CONFIG.chainId,
34
+ name: MPA_WALLET_CONTRACT_CONFIG.chainName,
35
+ nativeCurrency: { decimals: 18, name: 'Ether', symbol: 'ETH' },
36
+ rpcUrls: { default: { http: [MPA_WALLET_CONTRACT_CONFIG.rpcUrl] } },
37
+ });
38
+ return createPublicClient({
39
+ chain,
40
+ transport: http(MPA_WALLET_CONTRACT_CONFIG.rpcUrl),
41
+ });
42
+ }
43
+ export async function resolveNodeKey(config, override) {
44
+ if (override?.trim())
45
+ return { ok: true, data: override.trim() };
46
+ const self = await nodeId(config);
47
+ if (!self.ok)
48
+ return self;
49
+ return { ok: true, data: self.data.nodeId };
50
+ }
51
+ export async function getNodeWithdrawAuthority(config, input = {}) {
52
+ const nodeKeyRes = await resolveNodeKey(config, input.nodeKey);
53
+ if (!nodeKeyRes.ok)
54
+ return nodeKeyRes;
55
+ const client = getMpaPublicClient();
56
+ const authority = await client.readContract({
57
+ address: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
58
+ abi: MPA_WALLET_READ_ABI,
59
+ functionName: 'getNodeWithdrawAuthority',
60
+ args: [nodeKeyRes.data],
61
+ });
62
+ return { ok: true, data: { authority, nodeKey: nodeKeyRes.data } };
63
+ }
64
+ export const CLAIM_NODE_AUTHORITY_DEADLINE_SECONDS = 24 * 60 * 60;
65
+ export function claimNodeAuthorityDeadlineUnix(nowMs = Date.now()) {
66
+ return Math.floor(nowMs / 1000) + CLAIM_NODE_AUTHORITY_DEADLINE_SECONDS;
67
+ }
68
+ export function buildNodeAuthorityClaimTypedData(input) {
69
+ const chainId = input.chainId ?? MPA_WALLET_CONTRACT_CONFIG.chainId;
70
+ const verifyingContract = input.verifyingContract ?? MPA_WALLET_CONTRACT_CONFIG.contractAddress;
71
+ return {
72
+ types: {
73
+ EIP712Domain: [
74
+ { name: 'name', type: 'string' },
75
+ { name: 'version', type: 'string' },
76
+ { name: 'chainId', type: 'uint256' },
77
+ { name: 'verifyingContract', type: 'address' },
78
+ ],
79
+ NodeAuthorityClaim: [
80
+ { name: 'nodeId', type: 'bytes32' },
81
+ { name: 'authority', type: 'address' },
82
+ { name: 'deadline', type: 'uint256' },
83
+ ],
84
+ },
85
+ primaryType: 'NodeAuthorityClaim',
86
+ domain: {
87
+ name: 'MultiSignAgentWallet',
88
+ version: '1',
89
+ chainId,
90
+ verifyingContract,
91
+ },
92
+ message: {
93
+ nodeId: input.nodeId,
94
+ authority: input.authority,
95
+ deadline: String(input.deadline),
96
+ },
97
+ };
98
+ }
99
+ export async function isVeCtmLiveOnFeeContract() {
100
+ const client = getMpaPublicClient();
101
+ const mpa = MPA_WALLET_CONTRACT_CONFIG.contractAddress;
102
+ try {
103
+ const [nodeProperties, rewards, ve] = await Promise.all([
104
+ client.readContract({ address: mpa, abi: MPA_WALLET_READ_ABI, functionName: 'nodeProperties' }),
105
+ client.readContract({ address: mpa, abi: MPA_WALLET_READ_ABI, functionName: 'rewards' }),
106
+ client.readContract({ address: mpa, abi: MPA_WALLET_READ_ABI, functionName: 've' }),
107
+ ]);
108
+ return nodeProperties !== zeroAddress && rewards !== zeroAddress && ve !== zeroAddress;
109
+ }
110
+ catch {
111
+ return false;
112
+ }
113
+ }
114
+ export async function getVeCtmAttachStatus(config, input) {
115
+ const live = await isVeCtmLiveOnFeeContract();
116
+ if (!live) {
117
+ return { ok: true, data: { live: false } };
118
+ }
119
+ const kg = await fetchKeyGenResult(config, input.keyGenId);
120
+ if (!kg.ok)
121
+ return kg;
122
+ const parent = await getKeyGenParentGroupId(config, { id: input.keyGenId });
123
+ const groupId = parent.ok ? parent.data.groupId : undefined;
124
+ const eth = kg.data.ethereumaddress?.trim();
125
+ if (!eth) {
126
+ return {
127
+ ok: true,
128
+ data: {
129
+ live: true,
130
+ tokenId: '0',
131
+ groupId,
132
+ },
133
+ };
134
+ }
135
+ const client = getMpaPublicClient();
136
+ const mpa = MPA_WALLET_CONTRACT_CONFIG.contractAddress;
137
+ const nodeProperties = await client.readContract({
138
+ address: mpa,
139
+ abi: MPA_WALLET_READ_ABI,
140
+ functionName: 'nodeProperties',
141
+ });
142
+ const keyGen = getAddress(eth.startsWith('0x') ? eth : `0x${eth}`);
143
+ const tokenId = await client.readContract({
144
+ address: nodeProperties,
145
+ abi: NODE_PROPERTIES_ABI,
146
+ functionName: 'attachedTokenId',
147
+ args: [keyGen],
148
+ });
149
+ if (tokenId === 0n) {
150
+ return { ok: true, data: { live: true, tokenId: '0', groupId } };
151
+ }
152
+ let attachedKeyGen = keyGen;
153
+ let detachRequested = false;
154
+ try {
155
+ const [attached, requested] = await Promise.all([
156
+ client.readContract({
157
+ address: nodeProperties,
158
+ abi: NODE_PROPERTIES_ABI,
159
+ functionName: 'attachedKeyGen',
160
+ args: [tokenId],
161
+ }),
162
+ client.readContract({
163
+ address: nodeProperties,
164
+ abi: NODE_PROPERTIES_ABI,
165
+ functionName: 'nodeRequestingDetachment',
166
+ args: [tokenId],
167
+ }),
168
+ ]);
169
+ attachedKeyGen = attached;
170
+ detachRequested = requested;
171
+ }
172
+ catch {
173
+ /* live NodeProperties may omit these views */
174
+ }
175
+ return {
176
+ ok: true,
177
+ data: {
178
+ live: true,
179
+ tokenId: tokenId.toString(),
180
+ attachedKeyGen,
181
+ detachRequested,
182
+ groupId,
183
+ },
184
+ };
185
+ }
186
+ export async function getNodePrivilegeStatus(config) {
187
+ const raw = await managementGet(config, '/getNodePrivilegeStatus');
188
+ if (!raw.ok)
189
+ return raw;
190
+ const record = (raw.data ?? {});
191
+ return {
192
+ ok: true,
193
+ data: {
194
+ entitled: Boolean(record.entitled ?? record.Entitled),
195
+ source: String(record.source ?? record.Source ?? 'vectm_attach'),
196
+ paused: Boolean(record.paused ?? record.Paused),
197
+ hasattachedvectm: Boolean(record.hasattachedvectm ?? record.hasAttachedVeCtm),
198
+ meetsthreshold: Boolean(record.meetsthreshold ?? record.meetsThreshold),
199
+ tokenid: String(record.tokenid ?? record.tokenId ?? '0'),
200
+ thresholdpower: String(record.thresholdpower ?? record.thresholdPower ?? '0'),
201
+ reason: record.reason != null ? String(record.reason) : undefined,
202
+ },
203
+ };
204
+ }
205
+ export function encodeNodeInfoTupleValue(info) {
206
+ const ipv4 = info?.ipv4 ?? info?.hardware ?? [0, 0, 0, 0];
207
+ const ipv6 = info?.ipv6 ?? info?.specs ?? [0, 0, 0, 0, 0, 0, 0, 0];
208
+ return JSON.stringify([
209
+ info?.forumHandle ?? info?.forum ?? '',
210
+ info?.email ?? '',
211
+ ipv4,
212
+ ipv6,
213
+ info?.vps ?? info?.hosting ?? '',
214
+ String(info?.ram ?? 0),
215
+ String(info?.cpu ?? 0),
216
+ info?.dIDType ?? '',
217
+ info?.dID ?? '',
218
+ info?.extra ?? '0x',
219
+ ]);
220
+ }
221
+ //# sourceMappingURL=mpa-authority-vectm-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpa-authority-vectm-read.js","sourceRoot":"","sources":["../../../src/core/mpc/mpa-authority-vectm-read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { NodeSdkConfig } from '../../config/schema.js';
2
+ import type { SdkResult } from '../result.js';
3
+ import { ATTACH_VECTM_SIGNATURE, buildNodeAuthorityClaimTypedData, encodeNodeInfoTupleValue, getNodeWithdrawAuthority, getVeCtmAttachStatus, getNodePrivilegeStatus, isVeCtmLiveOnFeeContract, type VeCtmNodeInfo, VECTM_NODE_INFO_TUPLE } from './mpa-authority-vectm-read.js';
4
+ export { ATTACH_VECTM_SIGNATURE, VECTM_NODE_INFO_TUPLE, buildNodeAuthorityClaimTypedData, encodeNodeInfoTupleValue, getVeCtmAttachStatus, getNodePrivilegeStatus, isVeCtmLiveOnFeeContract, type VeCtmNodeInfo, };
5
+ declare const ZERO = "0x0000000000000000000000000000000000000000";
6
+ export { getNodeWithdrawAuthority };
7
+ export declare function claimNodeWithdrawAuthority(config: NodeSdkConfig, input: {
8
+ keyGenId: string;
9
+ authority?: string;
10
+ nodeKey?: string;
11
+ deadline?: number;
12
+ purpose?: string;
13
+ useCustomGas?: boolean;
14
+ startingNonce?: number;
15
+ }): Promise<SdkResult<{
16
+ requestId?: string;
17
+ typedData?: unknown;
18
+ signature?: string;
19
+ reason?: string;
20
+ deadline?: string;
21
+ }>>;
22
+ export declare function unregisterKeyGenOnLinea(config: NodeSdkConfig, input: {
23
+ keyGenId: string;
24
+ purpose?: string;
25
+ useCustomGas?: boolean;
26
+ startingNonce?: number;
27
+ executorKeyGenId?: string;
28
+ }): Promise<SdkResult<{
29
+ requestId: string;
30
+ }>>;
31
+ export declare function createMpaWithdrawMultiSignRequest(config: NodeSdkConfig, input: {
32
+ keyGenId: string;
33
+ amountWei: string;
34
+ token?: string;
35
+ paymentToken?: 'fee' | 'ctm';
36
+ purpose?: string;
37
+ useCustomGas?: boolean;
38
+ startingNonce?: number;
39
+ }): Promise<SdkResult<{
40
+ requestId: string;
41
+ }>>;
42
+ export declare function attachVeCtmToNode(config: NodeSdkConfig, input: {
43
+ keyGenId: string;
44
+ tokenId: string;
45
+ nodeInfo?: VeCtmNodeInfo;
46
+ purpose?: string;
47
+ useCustomGas?: boolean;
48
+ startingNonce?: number;
49
+ nodeKey?: string;
50
+ }): Promise<SdkResult<{
51
+ requestId: string;
52
+ }>>;
53
+ export declare function requestVeCtmDetach(config: NodeSdkConfig, input: {
54
+ keyGenId: string;
55
+ tokenId?: string;
56
+ purpose?: string;
57
+ useCustomGas?: boolean;
58
+ startingNonce?: number;
59
+ }): Promise<SdkResult<{
60
+ requestId: string;
61
+ }>>;
62
+ export { ZERO as ZERO_ADDRESS };
63
+ //# sourceMappingURL=mpa-authority-vectm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpa-authority-vectm.d.ts","sourceRoot":"","sources":["../../../src/core/mpc/mpa-authority-vectm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,331 @@
1
+ import { getAddress, zeroAddress, } from 'viem';
2
+ import { MPA_WALLET_CONTRACT_CONFIG, MPA_WALLET_READ_ABI } from '../../config/mpa-wallet.js';
3
+ import { fetchKeyGenResult } from '../keygen-read.js';
4
+ import { buildMultiSignProposal } from '../../evm/proposal-builder.js';
5
+ import { signAndSubmitMultiSignRequest } from './sign-request-body.js';
6
+ import { assertExecutorNativeSufficientForProposal } from './gas-preflight.js';
7
+ import { postSignedManagementRequest } from '../vpn/vpn-signed.js';
8
+ import { feeAddressKindForKeyGen } from './address-kind.js';
9
+ import { ATTACH_VECTM_SIGNATURE, buildNodeAuthorityClaimTypedData, claimNodeAuthorityDeadlineUnix, encodeNodeInfoTupleValue, getMpaPublicClient, getNodeWithdrawAuthority, getVeCtmAttachStatus, getNodePrivilegeStatus, isVeCtmLiveOnFeeContract, resolveNodeKey, VECTM_NODE_INFO_TUPLE, } from './mpa-authority-vectm-read.js';
10
+ export { ATTACH_VECTM_SIGNATURE, VECTM_NODE_INFO_TUPLE, buildNodeAuthorityClaimTypedData, encodeNodeInfoTupleValue, getVeCtmAttachStatus, getNodePrivilegeStatus, isVeCtmLiveOnFeeContract, };
11
+ const ZERO = '0x0000000000000000000000000000000000000000';
12
+ const ERC721_OWNER_ABI = [
13
+ {
14
+ inputs: [{ name: 'tokenId', type: 'uint256' }],
15
+ name: 'ownerOf',
16
+ outputs: [{ name: '', type: 'address' }],
17
+ stateMutability: 'view',
18
+ type: 'function',
19
+ },
20
+ ];
21
+ export { getNodeWithdrawAuthority };
22
+ export async function claimNodeWithdrawAuthority(config, input) {
23
+ const kg = await fetchKeyGenResult(config, input.keyGenId);
24
+ if (!kg.ok)
25
+ return kg;
26
+ const eth = kg.data.ethereumaddress?.trim();
27
+ if (!eth) {
28
+ return { ok: false, reason: 'Claim authority must be composed from a secp256k1 KeyGen with an ethereum address.' };
29
+ }
30
+ const authority = getAddress((input.authority ?? eth).startsWith('0x') ? (input.authority ?? eth) : `0x${input.authority ?? eth}`);
31
+ const nodeKeyRes = await resolveNodeKey(config, input.nodeKey);
32
+ if (!nodeKeyRes.ok)
33
+ return nodeKeyRes;
34
+ const deadline = input.deadline && input.deadline > 0 ? input.deadline : claimNodeAuthorityDeadlineUnix();
35
+ const signed = await postSignedManagementRequest(config, '/signNodeAuthorityClaim', ctx => ({
36
+ authority,
37
+ nodeKey: ctx.nodeKey,
38
+ deadline,
39
+ }));
40
+ if (!signed.ok) {
41
+ const client = getMpaPublicClient();
42
+ const nodeIdBytes = await client.readContract({
43
+ address: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
44
+ abi: MPA_WALLET_READ_ABI,
45
+ functionName: 'nodeIdOfNodeKey',
46
+ args: [nodeKeyRes.data],
47
+ });
48
+ return {
49
+ ok: true,
50
+ data: {
51
+ typedData: buildNodeAuthorityClaimTypedData({ nodeId: nodeIdBytes, authority, deadline }),
52
+ deadline: String(deadline),
53
+ reason: 'Node key EIP-712 sign is not available; claim authority first using the returned typed data.',
54
+ },
55
+ };
56
+ }
57
+ const signature = String(signed.data.data.signature ?? '');
58
+ const signedDeadline = String(signed.data.data.deadline ?? deadline);
59
+ if (!signature) {
60
+ return {
61
+ ok: true,
62
+ data: {
63
+ typedData: signed.data.data.typedData,
64
+ deadline: signedDeadline,
65
+ reason: 'signNodeAuthorityClaim returned no signature.',
66
+ },
67
+ };
68
+ }
69
+ const actions = [
70
+ {
71
+ signature: 'claimNodeWithdrawAuthority(string,address,bytes,uint256)',
72
+ contractAddress: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
73
+ args: [
74
+ { name: 'nodeKey', type: 'string', value: nodeKeyRes.data },
75
+ { name: 'authority', type: 'address', value: authority },
76
+ { name: 'signature', type: 'bytes', value: signature },
77
+ { name: 'deadline', type: 'uint256', value: signedDeadline },
78
+ ],
79
+ },
80
+ ];
81
+ const built = await buildMultiSignProposal(config, {
82
+ keyGenResult: kg.data,
83
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
84
+ purpose: input.purpose ?? 'Claim node withdraw authority on Linea',
85
+ useCustomGas: input.useCustomGas,
86
+ startingNonce: input.startingNonce,
87
+ actions,
88
+ });
89
+ if (!built.ok)
90
+ return built;
91
+ const preflight = await assertExecutorNativeSufficientForProposal(config, {
92
+ keyGenResult: kg.data,
93
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
94
+ proposal: built.data,
95
+ });
96
+ if (!preflight.ok)
97
+ return preflight;
98
+ const submitted = await signAndSubmitMultiSignRequest(config, built.data.unsignedBody);
99
+ if (!submitted.ok)
100
+ return submitted;
101
+ return { ok: true, data: { requestId: submitted.data.requestId, signature, typedData: signed.data.data.typedData, deadline: signedDeadline } };
102
+ }
103
+ export async function unregisterKeyGenOnLinea(config, input) {
104
+ const kg = await fetchKeyGenResult(config, input.keyGenId);
105
+ if (!kg.ok)
106
+ return kg;
107
+ const executorId = input.executorKeyGenId?.trim() || input.keyGenId;
108
+ const executorKg = executorId === input.keyGenId ? kg : await fetchKeyGenResult(config, executorId);
109
+ if (!executorKg.ok)
110
+ return executorKg;
111
+ const nodeKeyRes = await resolveNodeKey(config);
112
+ if (!nodeKeyRes.ok)
113
+ return nodeKeyRes;
114
+ const addressKind = feeAddressKindForKeyGen(executorKg.data);
115
+ const built = await buildMultiSignProposal(config, {
116
+ keyGenResult: executorKg.data,
117
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
118
+ purpose: input.purpose ?? 'Unregister KeyGen from MultiSignAgentWallet',
119
+ useCustomGas: input.useCustomGas,
120
+ startingNonce: input.startingNonce,
121
+ actions: [
122
+ {
123
+ signature: 'unregisterKeyGen(string,string,string)',
124
+ contractAddress: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
125
+ args: [
126
+ { name: 'keyGenId', type: 'string', value: input.keyGenId },
127
+ { name: 'addressKind', type: 'string', value: addressKind },
128
+ { name: 'nodeKey', type: 'string', value: nodeKeyRes.data },
129
+ ],
130
+ },
131
+ ],
132
+ });
133
+ if (!built.ok)
134
+ return built;
135
+ const preflight = await assertExecutorNativeSufficientForProposal(config, {
136
+ keyGenResult: executorKg.data,
137
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
138
+ proposal: built.data,
139
+ });
140
+ if (!preflight.ok)
141
+ return preflight;
142
+ return signAndSubmitMultiSignRequest(config, built.data.unsignedBody);
143
+ }
144
+ export async function createMpaWithdrawMultiSignRequest(config, input) {
145
+ const kg = await fetchKeyGenResult(config, input.keyGenId);
146
+ if (!kg.ok)
147
+ return kg;
148
+ const nodeKeyRes = await resolveNodeKey(config);
149
+ if (!nodeKeyRes.ok)
150
+ return nodeKeyRes;
151
+ const amount = BigInt(input.amountWei);
152
+ if (amount <= 0n)
153
+ return { ok: false, reason: 'amountWei must be positive.' };
154
+ const token = input.token?.trim();
155
+ const actions = input.paymentToken === 'ctm'
156
+ ? [
157
+ {
158
+ signature: 'withdrawCtmCredit(string,uint256)',
159
+ contractAddress: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
160
+ args: [
161
+ { name: 'nodeKey', type: 'string', value: nodeKeyRes.data },
162
+ { name: 'amount', type: 'uint256', value: amount.toString() },
163
+ ],
164
+ },
165
+ ]
166
+ : token
167
+ ? [
168
+ {
169
+ signature: 'withdrawFeeCredit(string,address,uint256)',
170
+ contractAddress: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
171
+ args: [
172
+ { name: 'nodeKey', type: 'string', value: nodeKeyRes.data },
173
+ { name: 'token', type: 'address', value: getAddress(token) },
174
+ { name: 'amount', type: 'uint256', value: amount.toString() },
175
+ ],
176
+ },
177
+ ]
178
+ : [
179
+ {
180
+ signature: 'withdrawCredit(string,uint256)',
181
+ contractAddress: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
182
+ args: [
183
+ { name: 'nodeKey', type: 'string', value: nodeKeyRes.data },
184
+ { name: 'amount', type: 'uint256', value: amount.toString() },
185
+ ],
186
+ },
187
+ ];
188
+ const built = await buildMultiSignProposal(config, {
189
+ keyGenResult: kg.data,
190
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
191
+ purpose: input.purpose ?? 'Withdraw MPA node credit',
192
+ useCustomGas: input.useCustomGas,
193
+ startingNonce: input.startingNonce,
194
+ actions,
195
+ });
196
+ if (!built.ok)
197
+ return built;
198
+ const preflight = await assertExecutorNativeSufficientForProposal(config, {
199
+ keyGenResult: kg.data,
200
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
201
+ proposal: built.data,
202
+ });
203
+ if (!preflight.ok)
204
+ return preflight;
205
+ return signAndSubmitMultiSignRequest(config, built.data.unsignedBody);
206
+ }
207
+ export async function attachVeCtmToNode(config, input) {
208
+ const live = await isVeCtmLiveOnFeeContract();
209
+ if (!live) {
210
+ return { ok: false, reason: 'veCTM is not live on the fee contract yet.' };
211
+ }
212
+ const kg = await fetchKeyGenResult(config, input.keyGenId);
213
+ if (!kg.ok)
214
+ return kg;
215
+ const eth = kg.data.ethereumaddress?.trim();
216
+ if (!eth) {
217
+ return { ok: false, reason: 'Attach veCTM from the secp256k1 KeyGen that owns the NFT.' };
218
+ }
219
+ const client = getMpaPublicClient();
220
+ const mpa = MPA_WALLET_CONTRACT_CONFIG.contractAddress;
221
+ const nodeKeyRes = await resolveNodeKey(config, input.nodeKey);
222
+ if (!nodeKeyRes.ok)
223
+ return nodeKeyRes;
224
+ const authority = await client.readContract({
225
+ address: mpa,
226
+ abi: MPA_WALLET_READ_ABI,
227
+ functionName: 'getNodeWithdrawAuthority',
228
+ args: [nodeKeyRes.data],
229
+ });
230
+ const ve = await client.readContract({ address: mpa, abi: MPA_WALLET_READ_ABI, functionName: 've' });
231
+ const owner = await client.readContract({
232
+ address: ve,
233
+ abi: ERC721_OWNER_ABI,
234
+ functionName: 'ownerOf',
235
+ args: [BigInt(input.tokenId)],
236
+ });
237
+ const executor = getAddress(eth.startsWith('0x') ? eth : `0x${eth}`);
238
+ if (owner.toLowerCase() !== executor.toLowerCase()) {
239
+ return { ok: false, reason: `KeyGen ${executor} does not own veCTM token ${input.tokenId}.` };
240
+ }
241
+ if (authority === zeroAddress || executor.toLowerCase() !== authority.toLowerCase()) {
242
+ return {
243
+ ok: false,
244
+ reason: `Compose attachVeCtm from the claimed authority KeyGen (${authority}), which must own the NFT.`,
245
+ };
246
+ }
247
+ const info = input.nodeInfo ?? {};
248
+ const built = await buildMultiSignProposal(config, {
249
+ keyGenResult: kg.data,
250
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
251
+ purpose: input.purpose ?? 'Attach veCTM for this KeyGen group',
252
+ useCustomGas: input.useCustomGas,
253
+ startingNonce: input.startingNonce,
254
+ actions: [
255
+ {
256
+ signature: ATTACH_VECTM_SIGNATURE,
257
+ contractAddress: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
258
+ args: [
259
+ { name: 'nodeKey', type: 'string', value: nodeKeyRes.data },
260
+ { name: 'tokenId', type: 'uint256', value: input.tokenId },
261
+ {
262
+ name: 'nodeInfo',
263
+ type: VECTM_NODE_INFO_TUPLE,
264
+ value: encodeNodeInfoTupleValue(info),
265
+ },
266
+ ],
267
+ },
268
+ ],
269
+ });
270
+ if (!built.ok)
271
+ return built;
272
+ const preflight = await assertExecutorNativeSufficientForProposal(config, {
273
+ keyGenResult: kg.data,
274
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
275
+ proposal: built.data,
276
+ });
277
+ if (!preflight.ok)
278
+ return preflight;
279
+ return signAndSubmitMultiSignRequest(config, built.data.unsignedBody);
280
+ }
281
+ export async function requestVeCtmDetach(config, input) {
282
+ const live = await isVeCtmLiveOnFeeContract();
283
+ if (!live) {
284
+ return { ok: false, reason: 'veCTM is not live on the fee contract yet.' };
285
+ }
286
+ const status = await getVeCtmAttachStatus(config, { keyGenId: input.keyGenId });
287
+ if (!status.ok)
288
+ return status;
289
+ const tokenId = input.tokenId ?? status.data.tokenId;
290
+ if (!tokenId || tokenId === '0') {
291
+ return { ok: false, reason: 'No veCTM token is attached to this KeyGen.' };
292
+ }
293
+ const kg = await fetchKeyGenResult(config, input.keyGenId);
294
+ if (!kg.ok)
295
+ return kg;
296
+ const client = getMpaPublicClient();
297
+ const nodeProperties = await client.readContract({
298
+ address: MPA_WALLET_CONTRACT_CONFIG.contractAddress,
299
+ abi: MPA_WALLET_READ_ABI,
300
+ functionName: 'nodeProperties',
301
+ });
302
+ const built = await buildMultiSignProposal(config, {
303
+ keyGenResult: kg.data,
304
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
305
+ purpose: input.purpose ?? 'Request veCTM detach',
306
+ useCustomGas: input.useCustomGas,
307
+ startingNonce: input.startingNonce,
308
+ actions: [
309
+ {
310
+ signature: 'setNodeRemovalStatus(uint256,bool)',
311
+ contractAddress: nodeProperties,
312
+ args: [
313
+ { name: 'tokenId', type: 'uint256', value: tokenId },
314
+ { name: 'status', type: 'bool', value: 'true' },
315
+ ],
316
+ },
317
+ ],
318
+ });
319
+ if (!built.ok)
320
+ return built;
321
+ const preflight = await assertExecutorNativeSufficientForProposal(config, {
322
+ keyGenResult: kg.data,
323
+ chainId: MPA_WALLET_CONTRACT_CONFIG.chainId,
324
+ proposal: built.data,
325
+ });
326
+ if (!preflight.ok)
327
+ return preflight;
328
+ return signAndSubmitMultiSignRequest(config, built.data.unsignedBody);
329
+ }
330
+ export { ZERO as ZERO_ADDRESS };
331
+ //# sourceMappingURL=mpa-authority-vectm.js.map