@continuumdao/continuum-node-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/api/canonical-json.d.ts +6 -0
  2. package/dist/api/canonical-json.d.ts.map +1 -0
  3. package/dist/api/canonical-json.js +37 -0
  4. package/dist/api/canonical-json.js.map +1 -0
  5. package/dist/api/envelope.d.ts +23 -0
  6. package/dist/api/envelope.d.ts.map +1 -0
  7. package/dist/api/envelope.js +63 -0
  8. package/dist/api/envelope.js.map +1 -0
  9. package/dist/api/management-api.d.ts +39 -0
  10. package/dist/api/management-api.d.ts.map +1 -0
  11. package/dist/api/management-api.js +83 -0
  12. package/dist/api/management-api.js.map +1 -0
  13. package/dist/api/management-key.d.ts +6 -0
  14. package/dist/api/management-key.d.ts.map +1 -0
  15. package/dist/api/management-key.js +61 -0
  16. package/dist/api/management-key.js.map +1 -0
  17. package/dist/config/keys.d.ts +13 -0
  18. package/dist/config/keys.d.ts.map +1 -0
  19. package/dist/config/keys.js +75 -0
  20. package/dist/config/keys.js.map +1 -0
  21. package/dist/config/mpa-wallet.d.ts +110 -0
  22. package/dist/config/mpa-wallet.d.ts.map +1 -0
  23. package/dist/config/mpa-wallet.js +64 -0
  24. package/dist/config/mpa-wallet.js.map +1 -0
  25. package/dist/config/paths.d.ts +7 -0
  26. package/dist/config/paths.d.ts.map +1 -0
  27. package/dist/config/paths.js +28 -0
  28. package/dist/config/paths.js.map +1 -0
  29. package/dist/config/schema.d.ts +24 -0
  30. package/dist/config/schema.d.ts.map +1 -0
  31. package/dist/config/schema.js +18 -0
  32. package/dist/config/schema.js.map +1 -0
  33. package/dist/core/general.d.ts +11 -0
  34. package/dist/core/general.d.ts.map +1 -0
  35. package/dist/core/general.js +34 -0
  36. package/dist/core/general.js.map +1 -0
  37. package/dist/core/groups.d.ts +33 -0
  38. package/dist/core/groups.d.ts.map +1 -0
  39. package/dist/core/groups.js +223 -0
  40. package/dist/core/groups.js.map +1 -0
  41. package/dist/core/keygen.d.ts +72 -0
  42. package/dist/core/keygen.d.ts.map +1 -0
  43. package/dist/core/keygen.js +245 -0
  44. package/dist/core/keygen.js.map +1 -0
  45. package/dist/core/management-signer.d.ts +129 -0
  46. package/dist/core/management-signer.d.ts.map +1 -0
  47. package/dist/core/management-signer.js +619 -0
  48. package/dist/core/management-signer.js.map +1 -0
  49. package/dist/core/mpc/broadcast-sign-result.d.ts +9 -0
  50. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -0
  51. package/dist/core/mpc/broadcast-sign-result.js +147 -0
  52. package/dist/core/mpc/broadcast-sign-result.js.map +1 -0
  53. package/dist/core/mpc/bump-sign-result.d.ts +25 -0
  54. package/dist/core/mpc/bump-sign-result.d.ts.map +1 -0
  55. package/dist/core/mpc/bump-sign-result.js +314 -0
  56. package/dist/core/mpc/bump-sign-result.js.map +1 -0
  57. package/dist/core/mpc/client.d.ts +15 -0
  58. package/dist/core/mpc/client.d.ts.map +1 -0
  59. package/dist/core/mpc/client.js +62 -0
  60. package/dist/core/mpc/client.js.map +1 -0
  61. package/dist/core/mpc/compose-request.d.ts +6 -0
  62. package/dist/core/mpc/compose-request.d.ts.map +1 -0
  63. package/dist/core/mpc/compose-request.js +33 -0
  64. package/dist/core/mpc/compose-request.js.map +1 -0
  65. package/dist/core/mpc/context.d.ts +11 -0
  66. package/dist/core/mpc/context.d.ts.map +1 -0
  67. package/dist/core/mpc/context.js +43 -0
  68. package/dist/core/mpc/context.js.map +1 -0
  69. package/dist/core/mpc/forge-request.d.ts +6 -0
  70. package/dist/core/mpc/forge-request.d.ts.map +1 -0
  71. package/dist/core/mpc/forge-request.js +46 -0
  72. package/dist/core/mpc/forge-request.js.map +1 -0
  73. package/dist/core/mpc/gas-preflight.d.ts +25 -0
  74. package/dist/core/mpc/gas-preflight.d.ts.map +1 -0
  75. package/dist/core/mpc/gas-preflight.js +101 -0
  76. package/dist/core/mpc/gas-preflight.js.map +1 -0
  77. package/dist/core/mpc/list-ready.d.ts +10 -0
  78. package/dist/core/mpc/list-ready.d.ts.map +1 -0
  79. package/dist/core/mpc/list-ready.js +48 -0
  80. package/dist/core/mpc/list-ready.js.map +1 -0
  81. package/dist/core/mpc/management-post-sig.d.ts +11 -0
  82. package/dist/core/mpc/management-post-sig.d.ts.map +1 -0
  83. package/dist/core/mpc/management-post-sig.js +20 -0
  84. package/dist/core/mpc/management-post-sig.js.map +1 -0
  85. package/dist/core/mpc/mpa-top-up.d.ts +18 -0
  86. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -0
  87. package/dist/core/mpc/mpa-top-up.js +213 -0
  88. package/dist/core/mpc/mpa-top-up.js.map +1 -0
  89. package/dist/core/mpc/register-keygen.d.ts +6 -0
  90. package/dist/core/mpc/register-keygen.d.ts.map +1 -0
  91. package/dist/core/mpc/register-keygen.js +41 -0
  92. package/dist/core/mpc/register-keygen.js.map +1 -0
  93. package/dist/core/mpc/schemas.d.ts +251 -0
  94. package/dist/core/mpc/schemas.d.ts.map +1 -0
  95. package/dist/core/mpc/schemas.js +163 -0
  96. package/dist/core/mpc/schemas.js.map +1 -0
  97. package/dist/core/mpc/sign-request-body.d.ts +10 -0
  98. package/dist/core/mpc/sign-request-body.d.ts.map +1 -0
  99. package/dist/core/mpc/sign-request-body.js +64 -0
  100. package/dist/core/mpc/sign-request-body.js.map +1 -0
  101. package/dist/core/mpc/sign-request-utils.d.ts +33 -0
  102. package/dist/core/mpc/sign-request-utils.d.ts.map +1 -0
  103. package/dist/core/mpc/sign-request-utils.js +467 -0
  104. package/dist/core/mpc/sign-request-utils.js.map +1 -0
  105. package/dist/core/mpc/transfer-native.d.ts +6 -0
  106. package/dist/core/mpc/transfer-native.d.ts.map +1 -0
  107. package/dist/core/mpc/transfer-native.js +167 -0
  108. package/dist/core/mpc/transfer-native.js.map +1 -0
  109. package/dist/core/mpc/transfer-tokens.d.ts +15 -0
  110. package/dist/core/mpc/transfer-tokens.d.ts.map +1 -0
  111. package/dist/core/mpc/transfer-tokens.js +110 -0
  112. package/dist/core/mpc/transfer-tokens.js.map +1 -0
  113. package/dist/core/mpc/trigger-sign-result.d.ts +8 -0
  114. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -0
  115. package/dist/core/mpc/trigger-sign-result.js +244 -0
  116. package/dist/core/mpc/trigger-sign-result.js.map +1 -0
  117. package/dist/core/mpc/types.d.ts +62 -0
  118. package/dist/core/mpc/types.d.ts.map +1 -0
  119. package/dist/core/mpc/types.js +2 -0
  120. package/dist/core/mpc/types.js.map +1 -0
  121. package/dist/core/node-info.d.ts +27 -0
  122. package/dist/core/node-info.d.ts.map +1 -0
  123. package/dist/core/node-info.js +96 -0
  124. package/dist/core/node-info.js.map +1 -0
  125. package/dist/core/registry/address-book.d.ts +25 -0
  126. package/dist/core/registry/address-book.d.ts.map +1 -0
  127. package/dist/core/registry/address-book.js +83 -0
  128. package/dist/core/registry/address-book.js.map +1 -0
  129. package/dist/core/registry/networks.d.ts +20 -0
  130. package/dist/core/registry/networks.d.ts.map +1 -0
  131. package/dist/core/registry/networks.js +154 -0
  132. package/dist/core/registry/networks.js.map +1 -0
  133. package/dist/core/registry/tokens.d.ts +29 -0
  134. package/dist/core/registry/tokens.d.ts.map +1 -0
  135. package/dist/core/registry/tokens.js +142 -0
  136. package/dist/core/registry/tokens.js.map +1 -0
  137. package/dist/core/result.d.ts +21 -0
  138. package/dist/core/result.d.ts.map +1 -0
  139. package/dist/core/result.js +2 -0
  140. package/dist/core/result.js.map +1 -0
  141. package/dist/core/schemas.d.ts +153 -0
  142. package/dist/core/schemas.d.ts.map +1 -0
  143. package/dist/core/schemas.js +82 -0
  144. package/dist/core/schemas.js.map +1 -0
  145. package/dist/core/signing-flow.d.ts +9 -0
  146. package/dist/core/signing-flow.d.ts.map +1 -0
  147. package/dist/core/signing-flow.js +139 -0
  148. package/dist/core/signing-flow.js.map +1 -0
  149. package/dist/core/types.d.ts +58 -0
  150. package/dist/core/types.d.ts.map +1 -0
  151. package/dist/core/types.js +46 -0
  152. package/dist/core/types.js.map +1 -0
  153. package/dist/data/mpc-keys.d.ts +8 -0
  154. package/dist/data/mpc-keys.d.ts.map +1 -0
  155. package/dist/data/mpc-keys.js +38 -0
  156. package/dist/data/mpc-keys.js.map +1 -0
  157. package/dist/detops/general.d.ts +11 -0
  158. package/dist/detops/general.d.ts.map +1 -0
  159. package/dist/detops/general.js +34 -0
  160. package/dist/detops/general.js.map +1 -0
  161. package/dist/detops/group-actions.d.ts +71 -0
  162. package/dist/detops/group-actions.d.ts.map +1 -0
  163. package/dist/detops/group-actions.js +360 -0
  164. package/dist/detops/group-actions.js.map +1 -0
  165. package/dist/detops/groups.d.ts +33 -0
  166. package/dist/detops/groups.d.ts.map +1 -0
  167. package/dist/detops/groups.js +223 -0
  168. package/dist/detops/groups.js.map +1 -0
  169. package/dist/detops/keygen.d.ts +72 -0
  170. package/dist/detops/keygen.d.ts.map +1 -0
  171. package/dist/detops/keygen.js +245 -0
  172. package/dist/detops/keygen.js.map +1 -0
  173. package/dist/detops/management-keys.d.ts +44 -0
  174. package/dist/detops/management-keys.d.ts.map +1 -0
  175. package/dist/detops/management-keys.js +216 -0
  176. package/dist/detops/management-keys.js.map +1 -0
  177. package/dist/detops/management-signer.d.ts +129 -0
  178. package/dist/detops/management-signer.d.ts.map +1 -0
  179. package/dist/detops/management-signer.js +619 -0
  180. package/dist/detops/management-signer.js.map +1 -0
  181. package/dist/detops/management-signing.d.ts +11 -0
  182. package/dist/detops/management-signing.d.ts.map +1 -0
  183. package/dist/detops/management-signing.js +131 -0
  184. package/dist/detops/management-signing.js.map +1 -0
  185. package/dist/detops/mpc/broadcast-sign-result.d.ts +9 -0
  186. package/dist/detops/mpc/broadcast-sign-result.d.ts.map +1 -0
  187. package/dist/detops/mpc/broadcast-sign-result.js +147 -0
  188. package/dist/detops/mpc/broadcast-sign-result.js.map +1 -0
  189. package/dist/detops/mpc/bump-sign-result.d.ts +25 -0
  190. package/dist/detops/mpc/bump-sign-result.d.ts.map +1 -0
  191. package/dist/detops/mpc/bump-sign-result.js +314 -0
  192. package/dist/detops/mpc/bump-sign-result.js.map +1 -0
  193. package/dist/detops/mpc/client.d.ts +15 -0
  194. package/dist/detops/mpc/client.d.ts.map +1 -0
  195. package/dist/detops/mpc/client.js +62 -0
  196. package/dist/detops/mpc/client.js.map +1 -0
  197. package/dist/detops/mpc/compose-request.d.ts +6 -0
  198. package/dist/detops/mpc/compose-request.d.ts.map +1 -0
  199. package/dist/detops/mpc/compose-request.js +33 -0
  200. package/dist/detops/mpc/compose-request.js.map +1 -0
  201. package/dist/detops/mpc/context.d.ts +11 -0
  202. package/dist/detops/mpc/context.d.ts.map +1 -0
  203. package/dist/detops/mpc/context.js +43 -0
  204. package/dist/detops/mpc/context.js.map +1 -0
  205. package/dist/detops/mpc/forge-request.d.ts +6 -0
  206. package/dist/detops/mpc/forge-request.d.ts.map +1 -0
  207. package/dist/detops/mpc/forge-request.js +46 -0
  208. package/dist/detops/mpc/forge-request.js.map +1 -0
  209. package/dist/detops/mpc/gas-preflight.d.ts +25 -0
  210. package/dist/detops/mpc/gas-preflight.d.ts.map +1 -0
  211. package/dist/detops/mpc/gas-preflight.js +101 -0
  212. package/dist/detops/mpc/gas-preflight.js.map +1 -0
  213. package/dist/detops/mpc/list-ready.d.ts +10 -0
  214. package/dist/detops/mpc/list-ready.d.ts.map +1 -0
  215. package/dist/detops/mpc/list-ready.js +48 -0
  216. package/dist/detops/mpc/list-ready.js.map +1 -0
  217. package/dist/detops/mpc/management-post-sig.d.ts +11 -0
  218. package/dist/detops/mpc/management-post-sig.d.ts.map +1 -0
  219. package/dist/detops/mpc/management-post-sig.js +20 -0
  220. package/dist/detops/mpc/management-post-sig.js.map +1 -0
  221. package/dist/detops/mpc/mpa-top-up.d.ts +18 -0
  222. package/dist/detops/mpc/mpa-top-up.d.ts.map +1 -0
  223. package/dist/detops/mpc/mpa-top-up.js +213 -0
  224. package/dist/detops/mpc/mpa-top-up.js.map +1 -0
  225. package/dist/detops/mpc/register-keygen.d.ts +6 -0
  226. package/dist/detops/mpc/register-keygen.d.ts.map +1 -0
  227. package/dist/detops/mpc/register-keygen.js +41 -0
  228. package/dist/detops/mpc/register-keygen.js.map +1 -0
  229. package/dist/detops/mpc/schemas.d.ts +251 -0
  230. package/dist/detops/mpc/schemas.d.ts.map +1 -0
  231. package/dist/detops/mpc/schemas.js +163 -0
  232. package/dist/detops/mpc/schemas.js.map +1 -0
  233. package/dist/detops/mpc/sign-request-body.d.ts +10 -0
  234. package/dist/detops/mpc/sign-request-body.d.ts.map +1 -0
  235. package/dist/detops/mpc/sign-request-body.js +64 -0
  236. package/dist/detops/mpc/sign-request-body.js.map +1 -0
  237. package/dist/detops/mpc/sign-request-utils.d.ts +33 -0
  238. package/dist/detops/mpc/sign-request-utils.d.ts.map +1 -0
  239. package/dist/detops/mpc/sign-request-utils.js +467 -0
  240. package/dist/detops/mpc/sign-request-utils.js.map +1 -0
  241. package/dist/detops/mpc/transfer-native.d.ts +6 -0
  242. package/dist/detops/mpc/transfer-native.d.ts.map +1 -0
  243. package/dist/detops/mpc/transfer-native.js +167 -0
  244. package/dist/detops/mpc/transfer-native.js.map +1 -0
  245. package/dist/detops/mpc/transfer-tokens.d.ts +15 -0
  246. package/dist/detops/mpc/transfer-tokens.d.ts.map +1 -0
  247. package/dist/detops/mpc/transfer-tokens.js +110 -0
  248. package/dist/detops/mpc/transfer-tokens.js.map +1 -0
  249. package/dist/detops/mpc/trigger-sign-result.d.ts +8 -0
  250. package/dist/detops/mpc/trigger-sign-result.d.ts.map +1 -0
  251. package/dist/detops/mpc/trigger-sign-result.js +244 -0
  252. package/dist/detops/mpc/trigger-sign-result.js.map +1 -0
  253. package/dist/detops/mpc/types.d.ts +62 -0
  254. package/dist/detops/mpc/types.d.ts.map +1 -0
  255. package/dist/detops/mpc/types.js +2 -0
  256. package/dist/detops/mpc/types.js.map +1 -0
  257. package/dist/detops/node-info.d.ts +27 -0
  258. package/dist/detops/node-info.d.ts.map +1 -0
  259. package/dist/detops/node-info.js +96 -0
  260. package/dist/detops/node-info.js.map +1 -0
  261. package/dist/detops/registry/address-book.d.ts +25 -0
  262. package/dist/detops/registry/address-book.d.ts.map +1 -0
  263. package/dist/detops/registry/address-book.js +83 -0
  264. package/dist/detops/registry/address-book.js.map +1 -0
  265. package/dist/detops/registry/networks.d.ts +20 -0
  266. package/dist/detops/registry/networks.d.ts.map +1 -0
  267. package/dist/detops/registry/networks.js +154 -0
  268. package/dist/detops/registry/networks.js.map +1 -0
  269. package/dist/detops/registry/tokens.d.ts +29 -0
  270. package/dist/detops/registry/tokens.d.ts.map +1 -0
  271. package/dist/detops/registry/tokens.js +142 -0
  272. package/dist/detops/registry/tokens.js.map +1 -0
  273. package/dist/detops/result.d.ts +21 -0
  274. package/dist/detops/result.d.ts.map +1 -0
  275. package/dist/detops/result.js +2 -0
  276. package/dist/detops/result.js.map +1 -0
  277. package/dist/detops/schemas.d.ts +153 -0
  278. package/dist/detops/schemas.d.ts.map +1 -0
  279. package/dist/detops/schemas.js +82 -0
  280. package/dist/detops/schemas.js.map +1 -0
  281. package/dist/detops/signing-flow.d.ts +9 -0
  282. package/dist/detops/signing-flow.d.ts.map +1 -0
  283. package/dist/detops/signing-flow.js +139 -0
  284. package/dist/detops/signing-flow.js.map +1 -0
  285. package/dist/detops/types.d.ts +58 -0
  286. package/dist/detops/types.d.ts.map +1 -0
  287. package/dist/detops/types.js +46 -0
  288. package/dist/detops/types.js.map +1 -0
  289. package/dist/evm/chain-fees.d.ts +8 -0
  290. package/dist/evm/chain-fees.d.ts.map +1 -0
  291. package/dist/evm/chain-fees.js +49 -0
  292. package/dist/evm/chain-fees.js.map +1 -0
  293. package/dist/evm/encode-calldata.d.ts +7 -0
  294. package/dist/evm/encode-calldata.d.ts.map +1 -0
  295. package/dist/evm/encode-calldata.js +67 -0
  296. package/dist/evm/encode-calldata.js.map +1 -0
  297. package/dist/evm/forge-broadcast.d.ts +47 -0
  298. package/dist/evm/forge-broadcast.d.ts.map +1 -0
  299. package/dist/evm/forge-broadcast.js +281 -0
  300. package/dist/evm/forge-broadcast.js.map +1 -0
  301. package/dist/evm/get-sig-fee-speed.d.ts +61 -0
  302. package/dist/evm/get-sig-fee-speed.d.ts.map +1 -0
  303. package/dist/evm/get-sig-fee-speed.js +284 -0
  304. package/dist/evm/get-sig-fee-speed.js.map +1 -0
  305. package/dist/evm/gwei.d.ts +3 -0
  306. package/dist/evm/gwei.d.ts.map +1 -0
  307. package/dist/evm/gwei.js +13 -0
  308. package/dist/evm/gwei.js.map +1 -0
  309. package/dist/evm/native-sufficiency.d.ts +32 -0
  310. package/dist/evm/native-sufficiency.d.ts.map +1 -0
  311. package/dist/evm/native-sufficiency.js +97 -0
  312. package/dist/evm/native-sufficiency.js.map +1 -0
  313. package/dist/evm/proposal-builder.d.ts +13 -0
  314. package/dist/evm/proposal-builder.d.ts.map +1 -0
  315. package/dist/evm/proposal-builder.js +275 -0
  316. package/dist/evm/proposal-builder.js.map +1 -0
  317. package/dist/evm/replacement-fee-floor.d.ts +9 -0
  318. package/dist/evm/replacement-fee-floor.d.ts.map +1 -0
  319. package/dist/evm/replacement-fee-floor.js +205 -0
  320. package/dist/evm/replacement-fee-floor.js.map +1 -0
  321. package/dist/evm/rpc-utils.d.ts +5 -0
  322. package/dist/evm/rpc-utils.d.ts.map +1 -0
  323. package/dist/evm/rpc-utils.js +24 -0
  324. package/dist/evm/rpc-utils.js.map +1 -0
  325. package/dist/evm/tx-params.d.ts +12 -0
  326. package/dist/evm/tx-params.d.ts.map +1 -0
  327. package/dist/evm/tx-params.js +53 -0
  328. package/dist/evm/tx-params.js.map +1 -0
  329. package/dist/index.d.ts +36 -0
  330. package/dist/index.d.ts.map +1 -0
  331. package/dist/index.js +35 -0
  332. package/dist/index.js.map +1 -0
  333. package/dist/internal/ed25519/management-signing.d.ts +51 -0
  334. package/dist/internal/ed25519/management-signing.d.ts.map +1 -0
  335. package/dist/internal/ed25519/management-signing.js +198 -0
  336. package/dist/internal/ed25519/management-signing.js.map +1 -0
  337. package/dist/internal/ed25519/openssh-ed25519.d.ts +20 -0
  338. package/dist/internal/ed25519/openssh-ed25519.d.ts.map +1 -0
  339. package/dist/internal/ed25519/openssh-ed25519.js +129 -0
  340. package/dist/internal/ed25519/openssh-ed25519.js.map +1 -0
  341. package/dist/internal/management-request-signing.d.ts +32 -0
  342. package/dist/internal/management-request-signing.d.ts.map +1 -0
  343. package/dist/internal/management-request-signing.js +186 -0
  344. package/dist/internal/management-request-signing.js.map +1 -0
  345. package/dist/internal/normalize.d.ts +15 -0
  346. package/dist/internal/normalize.d.ts.map +1 -0
  347. package/dist/internal/normalize.js +204 -0
  348. package/dist/internal/normalize.js.map +1 -0
  349. package/dist/mcp/detops/registry/address-book.d.ts +4 -0
  350. package/dist/mcp/detops/registry/address-book.d.ts.map +1 -0
  351. package/dist/mcp/detops/registry/address-book.js +39 -0
  352. package/dist/mcp/detops/registry/address-book.js.map +1 -0
  353. package/dist/mcp/detops/registry/networks.d.ts +4 -0
  354. package/dist/mcp/detops/registry/networks.d.ts.map +1 -0
  355. package/dist/mcp/detops/registry/networks.js +32 -0
  356. package/dist/mcp/detops/registry/networks.js.map +1 -0
  357. package/dist/mcp/detops/registry/tokens.d.ts +4 -0
  358. package/dist/mcp/detops/registry/tokens.d.ts.map +1 -0
  359. package/dist/mcp/detops/registry/tokens.js +43 -0
  360. package/dist/mcp/detops/registry/tokens.js.map +1 -0
  361. package/dist/mcp/ed25519/management-signing.d.ts +51 -0
  362. package/dist/mcp/ed25519/management-signing.d.ts.map +1 -0
  363. package/dist/mcp/ed25519/management-signing.js +198 -0
  364. package/dist/mcp/ed25519/management-signing.js.map +1 -0
  365. package/dist/mcp/ed25519/openssh-ed25519.d.ts +20 -0
  366. package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +1 -0
  367. package/dist/mcp/ed25519/openssh-ed25519.js +129 -0
  368. package/dist/mcp/ed25519/openssh-ed25519.js.map +1 -0
  369. package/dist/mcp/group.d.ts +4 -0
  370. package/dist/mcp/group.d.ts.map +1 -0
  371. package/dist/mcp/group.js +35 -0
  372. package/dist/mcp/group.js.map +1 -0
  373. package/dist/mcp/groups.d.ts +71 -0
  374. package/dist/mcp/groups.d.ts.map +1 -0
  375. package/dist/mcp/groups.js +360 -0
  376. package/dist/mcp/groups.js.map +1 -0
  377. package/dist/mcp/index.d.ts +2 -0
  378. package/dist/mcp/index.d.ts.map +1 -0
  379. package/dist/mcp/index.js +2 -0
  380. package/dist/mcp/index.js.map +1 -0
  381. package/dist/mcp/keygen.d.ts +6 -0
  382. package/dist/mcp/keygen.d.ts.map +1 -0
  383. package/dist/mcp/keygen.js +97 -0
  384. package/dist/mcp/keygen.js.map +1 -0
  385. package/dist/mcp/management-keys.d.ts +4 -0
  386. package/dist/mcp/management-keys.d.ts.map +1 -0
  387. package/dist/mcp/management-keys.js +75 -0
  388. package/dist/mcp/management-keys.js.map +1 -0
  389. package/dist/mcp/management-signer.d.ts +6 -0
  390. package/dist/mcp/management-signer.d.ts.map +1 -0
  391. package/dist/mcp/management-signer.js +83 -0
  392. package/dist/mcp/management-signer.js.map +1 -0
  393. package/dist/mcp/mpc.d.ts +4 -0
  394. package/dist/mcp/mpc.d.ts.map +1 -0
  395. package/dist/mcp/mpc.js +93 -0
  396. package/dist/mcp/mpc.js.map +1 -0
  397. package/dist/mcp/node.d.ts +4 -0
  398. package/dist/mcp/node.d.ts.map +1 -0
  399. package/dist/mcp/node.js +52 -0
  400. package/dist/mcp/node.js.map +1 -0
  401. package/dist/mcp/normalize.d.ts +15 -0
  402. package/dist/mcp/normalize.d.ts.map +1 -0
  403. package/dist/mcp/normalize.js +204 -0
  404. package/dist/mcp/normalize.js.map +1 -0
  405. package/dist/mcp/register.d.ts +14 -0
  406. package/dist/mcp/register.d.ts.map +1 -0
  407. package/dist/mcp/register.js +48 -0
  408. package/dist/mcp/register.js.map +1 -0
  409. package/dist/mcp/registry/address-book.d.ts +4 -0
  410. package/dist/mcp/registry/address-book.d.ts.map +1 -0
  411. package/dist/mcp/registry/address-book.js +39 -0
  412. package/dist/mcp/registry/address-book.js.map +1 -0
  413. package/dist/mcp/registry/networks.d.ts +4 -0
  414. package/dist/mcp/registry/networks.d.ts.map +1 -0
  415. package/dist/mcp/registry/networks.js +32 -0
  416. package/dist/mcp/registry/networks.js.map +1 -0
  417. package/dist/mcp/registry/tokens.d.ts +4 -0
  418. package/dist/mcp/registry/tokens.d.ts.map +1 -0
  419. package/dist/mcp/registry/tokens.js +43 -0
  420. package/dist/mcp/registry/tokens.js.map +1 -0
  421. package/dist/mcp/schemas.d.ts +360 -0
  422. package/dist/mcp/schemas.d.ts.map +1 -0
  423. package/dist/mcp/schemas.js +263 -0
  424. package/dist/mcp/schemas.js.map +1 -0
  425. package/dist/mcp/signing.d.ts +32 -0
  426. package/dist/mcp/signing.d.ts.map +1 -0
  427. package/dist/mcp/signing.js +186 -0
  428. package/dist/mcp/signing.js.map +1 -0
  429. package/dist/mcp/tool-utils.d.ts +6 -0
  430. package/dist/mcp/tool-utils.d.ts.map +1 -0
  431. package/dist/mcp/tool-utils.js +22 -0
  432. package/dist/mcp/tool-utils.js.map +1 -0
  433. package/dist/ops/general.d.ts +11 -0
  434. package/dist/ops/general.d.ts.map +1 -0
  435. package/dist/ops/general.js +34 -0
  436. package/dist/ops/general.js.map +1 -0
  437. package/dist/ops/groups.d.ts +17 -0
  438. package/dist/ops/groups.d.ts.map +1 -0
  439. package/dist/ops/groups.js +105 -0
  440. package/dist/ops/groups.js.map +1 -0
  441. package/dist/ops/management-signing.d.ts +11 -0
  442. package/dist/ops/management-signing.d.ts.map +1 -0
  443. package/dist/ops/management-signing.js +131 -0
  444. package/dist/ops/management-signing.js.map +1 -0
  445. package/dist/ops/result.d.ts +21 -0
  446. package/dist/ops/result.d.ts.map +1 -0
  447. package/dist/ops/result.js +2 -0
  448. package/dist/ops/result.js.map +1 -0
  449. package/dist/ops/schemas.d.ts +153 -0
  450. package/dist/ops/schemas.d.ts.map +1 -0
  451. package/dist/ops/schemas.js +82 -0
  452. package/dist/ops/schemas.js.map +1 -0
  453. package/dist/ops/signing-flow.d.ts +8 -0
  454. package/dist/ops/signing-flow.d.ts.map +1 -0
  455. package/dist/ops/signing-flow.js +125 -0
  456. package/dist/ops/signing-flow.js.map +1 -0
  457. package/dist/ops/types.d.ts +58 -0
  458. package/dist/ops/types.d.ts.map +1 -0
  459. package/dist/ops/types.js +46 -0
  460. package/dist/ops/types.js.map +1 -0
  461. package/dist/registry/address-book.d.ts +25 -0
  462. package/dist/registry/address-book.d.ts.map +1 -0
  463. package/dist/registry/address-book.js +103 -0
  464. package/dist/registry/address-book.js.map +1 -0
  465. package/dist/registry/networks.d.ts +18 -0
  466. package/dist/registry/networks.d.ts.map +1 -0
  467. package/dist/registry/networks.js +180 -0
  468. package/dist/registry/networks.js.map +1 -0
  469. package/dist/registry/tokens.d.ts +29 -0
  470. package/dist/registry/tokens.d.ts.map +1 -0
  471. package/dist/registry/tokens.js +157 -0
  472. package/dist/registry/tokens.js.map +1 -0
  473. package/dist/schemas/extended.d.ts +377 -0
  474. package/dist/schemas/extended.d.ts.map +1 -0
  475. package/dist/schemas/extended.js +273 -0
  476. package/dist/schemas/extended.js.map +1 -0
  477. package/package.json +48 -0
@@ -0,0 +1,67 @@
1
+ import { encodeFunctionData } from 'viem';
2
+ function getFunctionName(signature) {
3
+ const idx = signature.indexOf('(');
4
+ return idx === -1 ? signature : signature.slice(0, idx);
5
+ }
6
+ function signatureToAbiInputs(signature) {
7
+ const match = signature.match(/\(([^)]*)\)/);
8
+ if (!match?.[1])
9
+ return [];
10
+ return match[1].split(',').map(t => ({ type: t.trim() }));
11
+ }
12
+ function coerceAbiValue(type, value) {
13
+ const trimmed = (value ?? '').trim();
14
+ if (type.endsWith('[]')) {
15
+ let arr;
16
+ if (trimmed.startsWith('[')) {
17
+ try {
18
+ const parsed = JSON.parse(trimmed);
19
+ if (!Array.isArray(parsed))
20
+ throw new Error('not array');
21
+ arr = parsed.map(x => String(x).trim());
22
+ }
23
+ catch {
24
+ arr = [];
25
+ }
26
+ }
27
+ else {
28
+ arr = trimmed ? trimmed.split(',').map(s => s.trim()) : [];
29
+ }
30
+ const baseType = type.slice(0, -2);
31
+ if (baseType === 'address')
32
+ return arr.map(v => v);
33
+ if (baseType.startsWith('uint') || baseType.startsWith('int')) {
34
+ return arr.map(v => BigInt(v || '0'));
35
+ }
36
+ if (baseType === 'bool')
37
+ return arr.map(v => v === 'true' || v === '1');
38
+ return arr;
39
+ }
40
+ if (type === 'address')
41
+ return trimmed;
42
+ if (type.startsWith('uint') || type.startsWith('int'))
43
+ return BigInt(trimmed || '0');
44
+ if (type === 'bool')
45
+ return trimmed === 'true' || trimmed === '1';
46
+ return trimmed;
47
+ }
48
+ export function encodeActionCalldata(signature, inputs) {
49
+ const name = getFunctionName(signature);
50
+ const types = signatureToAbiInputs(signature);
51
+ if (types.length !== inputs.length) {
52
+ throw new Error('encodeActionCalldata: inputs length mismatch');
53
+ }
54
+ const args = inputs.map((inp, i) => coerceAbiValue(types[i].type, inp.value));
55
+ const fragment = {
56
+ type: 'function',
57
+ name,
58
+ inputs: types.map((t, i) => ({
59
+ name: inputs[i]?.name ?? `arg${i}`,
60
+ type: t.type,
61
+ })),
62
+ outputs: [],
63
+ stateMutability: 'nonpayable',
64
+ };
65
+ return encodeFunctionData({ abi: [fragment], functionName: name, args });
66
+ }
67
+ //# sourceMappingURL=encode-calldata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-calldata.js","sourceRoot":"","sources":["../../src/evm/encode-calldata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { type ProposalTxParams } from './tx-params.js';
2
+ export type FoundryBroadcastTx = {
3
+ from?: string;
4
+ to?: string | null;
5
+ gas?: string;
6
+ value?: string;
7
+ input?: string;
8
+ data?: string;
9
+ nonce?: string;
10
+ chainId?: string;
11
+ type?: string;
12
+ maxFeePerGas?: string;
13
+ maxPriorityFeePerGas?: string;
14
+ gasPrice?: string;
15
+ };
16
+ export type FoundryBroadcastJson = {
17
+ transactions: Array<{
18
+ transaction?: FoundryBroadcastTx;
19
+ tx?: FoundryBroadcastTx;
20
+ [key: string]: unknown;
21
+ }>;
22
+ chain?: number;
23
+ [key: string]: unknown;
24
+ };
25
+ export type SignRequestPayload = {
26
+ endpoint: 'multiSignRequest';
27
+ bodyForSign: Record<string, unknown>;
28
+ messageToSign: string;
29
+ chainId: string;
30
+ count: number;
31
+ triggerTxParams: ProposalTxParams;
32
+ triggerMessageHash: string;
33
+ };
34
+ export declare function proposalTxParamsFromUnsignedTx(tx: FoundryBroadcastTx, legacy: boolean): ProposalTxParams;
35
+ export declare function broadcastWithOverrideSender(broadcast: FoundryBroadcastJson, overrideSender: string, firstNonce: number): FoundryBroadcastJson;
36
+ export declare function generateSignRequestWithFoundryScript(broadcast: FoundryBroadcastJson, options?: {
37
+ destinationChainID?: string;
38
+ keyList?: string[];
39
+ pubKey?: string;
40
+ destinationAddress?: string;
41
+ destinationAddresses?: string[];
42
+ signatureTexts?: string[];
43
+ extraJSON?: string;
44
+ signatureText?: string;
45
+ purpose?: string;
46
+ }): SignRequestPayload;
47
+ //# sourceMappingURL=forge-broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-broadcast.d.ts","sourceRoot":"","sources":["../../src/evm/forge-broadcast.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,gBAAgB,EACrB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,KAAK,CAAC;QACnB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,EAAE,CAAC,EAAE,kBAAkB,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,gBAAgB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAqHF,wBAAgB,8BAA8B,CAC7C,EAAE,EAAE,kBAAkB,EACtB,MAAM,EAAE,OAAO,GACb,gBAAgB,CAkBlB;AA6BD,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,oBAAoB,EAC/B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GAChB,oBAAoB,CAmBtB;AAED,wBAAgB,oCAAoC,CACnD,SAAS,EAAE,oBAAoB,EAC/B,OAAO,GAAE;IACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACZ,GACJ,kBAAkB,CAoHpB"}
@@ -0,0 +1,281 @@
1
+ import { keccak256, serializeTransaction } from 'viem';
2
+ import { triggerTxParamsFromComposeBody, } from './tx-params.js';
3
+ const BIGINT_0 = 0n;
4
+ function hexToBigInt(h) {
5
+ if (h === undefined || h === '')
6
+ return BIGINT_0;
7
+ const s = h.startsWith('0x') ? h : `0x${h}`;
8
+ try {
9
+ return BigInt(s);
10
+ }
11
+ catch {
12
+ return BIGINT_0;
13
+ }
14
+ }
15
+ function parseChainId(chainId) {
16
+ if (chainId === undefined || chainId === '')
17
+ return 0;
18
+ const t = String(chainId).trim();
19
+ if (t.startsWith('0x') || t.startsWith('0X')) {
20
+ const n = Number(hexToBigInt(t));
21
+ return Number.isNaN(n) ? 0 : n;
22
+ }
23
+ const n = parseInt(t, 10);
24
+ return Number.isNaN(n) ? 0 : n;
25
+ }
26
+ function normalizeTx(item) {
27
+ const raw = item.transaction ?? item.tx;
28
+ if (!raw || (raw.gas === undefined && raw.data === undefined && raw.input === undefined)) {
29
+ return null;
30
+ }
31
+ return raw;
32
+ }
33
+ function toHex(s) {
34
+ if (s === undefined || s === '')
35
+ return '0x';
36
+ return s.startsWith('0x') ? s : `0x${s}`;
37
+ }
38
+ function txToSigningHashAndRaw(tx) {
39
+ const chainIdNum = parseChainId(tx.chainId);
40
+ const nonce = hexToBigInt(tx.nonce);
41
+ const gas = hexToBigInt(tx.gas);
42
+ const value = hexToBigInt(tx.value ?? '0x0');
43
+ const data = toHex(tx.data ?? tx.input ?? '');
44
+ const to = tx.to && tx.to !== '0x'
45
+ ? tx.to.startsWith('0x')
46
+ ? tx.to
47
+ : `0x${tx.to}`
48
+ : undefined;
49
+ const typeHex = tx.type;
50
+ const isEip1559 = typeHex === '0x2' || typeHex === '0x02' || tx.maxFeePerGas !== undefined;
51
+ if (isEip1559) {
52
+ const maxFeePerGas = hexToBigInt(tx.maxFeePerGas);
53
+ const maxPriorityFeePerGas = hexToBigInt(tx.maxPriorityFeePerGas);
54
+ const serialized = serializeTransaction({
55
+ type: 'eip1559',
56
+ to,
57
+ data,
58
+ value,
59
+ gas,
60
+ nonce: Number(nonce),
61
+ chainId: chainIdNum || 1,
62
+ maxFeePerGas: maxFeePerGas || 0n,
63
+ maxPriorityFeePerGas: maxPriorityFeePerGas || 0n,
64
+ });
65
+ const hash = keccak256(serialized);
66
+ return {
67
+ messageHash: hash.startsWith('0x') ? hash.slice(2) : hash,
68
+ messageRaw: serialized,
69
+ };
70
+ }
71
+ const gasPrice = hexToBigInt(tx.gasPrice);
72
+ const serialized = serializeTransaction({
73
+ type: 'legacy',
74
+ to,
75
+ data,
76
+ value,
77
+ gas,
78
+ nonce: Number(nonce),
79
+ chainId: chainIdNum || 1,
80
+ gasPrice: gasPrice || 0n,
81
+ });
82
+ const hash = keccak256(serialized);
83
+ return {
84
+ messageHash: hash.startsWith('0x') ? hash.slice(2) : hash,
85
+ messageRaw: serialized,
86
+ };
87
+ }
88
+ function toAddress(tx) {
89
+ const t = tx.to;
90
+ if (t === undefined || t === null || t === '')
91
+ return '';
92
+ const s = typeof t === 'string' ? t.trim() : '';
93
+ return s.startsWith('0x') ? s : `0x${s}`;
94
+ }
95
+ function txFieldInt(hex) {
96
+ if (hex === undefined || hex === '')
97
+ return 0;
98
+ return Number(hexToBigInt(hex));
99
+ }
100
+ function legacyFromTxDict(tx) {
101
+ if (tx.type === '0x2' || tx.type === '0x02')
102
+ return false;
103
+ if (tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null)
104
+ return false;
105
+ return true;
106
+ }
107
+ export function proposalTxParamsFromUnsignedTx(tx, legacy) {
108
+ const n = Number(hexToBigInt(tx.nonce));
109
+ const gasLim = txFieldInt(tx.gas);
110
+ if (legacy) {
111
+ return {
112
+ nonce: n,
113
+ gasLimit: String(gasLim),
114
+ txType: 'legacy',
115
+ gasPrice: String(txFieldInt(tx.gasPrice)),
116
+ };
117
+ }
118
+ return {
119
+ nonce: n,
120
+ gasLimit: String(gasLim),
121
+ txType: 'eip1559',
122
+ maxFeePerGas: String(txFieldInt(tx.maxFeePerGas)),
123
+ maxPriorityFeePerGas: String(txFieldInt(tx.maxPriorityFeePerGas)),
124
+ };
125
+ }
126
+ function firstTxComposeFeeFields(tx) {
127
+ const n = Number(hexToBigInt(tx.nonce));
128
+ const gl = txFieldInt(tx.gas);
129
+ if (tx.type === '0x2' || tx.type === '0x02' || tx.maxFeePerGas != null) {
130
+ return {
131
+ txNonce: n,
132
+ txGasLimit: String(gl),
133
+ txMaxFeePerGas: String(txFieldInt(tx.maxFeePerGas)),
134
+ txMaxPriorityFeePerGas: String(txFieldInt(tx.maxPriorityFeePerGas)),
135
+ };
136
+ }
137
+ return {
138
+ txNonce: n,
139
+ txGasLimit: String(gl),
140
+ txGasPrice: String(txFieldInt(tx.gasPrice)),
141
+ };
142
+ }
143
+ function firstCalldataCompactFromTx(tx) {
144
+ const raw = tx.data ?? tx.input ?? '0x';
145
+ const with0x = typeof raw === 'string' && raw.startsWith('0x')
146
+ ? raw
147
+ : `0x${String(raw).replace(/^0x/, '')}`;
148
+ return with0x.length >= 2 && with0x.startsWith('0x') ? with0x.slice(2) : with0x;
149
+ }
150
+ export function broadcastWithOverrideSender(broadcast, overrideSender, firstNonce) {
151
+ const sender = overrideSender.startsWith('0x')
152
+ ? overrideSender
153
+ : `0x${overrideSender}`;
154
+ const txs = broadcast.transactions ?? [];
155
+ const newTransactions = txs.map((item, i) => {
156
+ const raw = item.transaction ?? item.tx;
157
+ if (!raw ||
158
+ (raw.gas === undefined && raw.data === undefined && raw.input === undefined)) {
159
+ return item;
160
+ }
161
+ const next = { ...raw, from: sender, nonce: String(firstNonce + i) };
162
+ if (item.transaction)
163
+ return { ...item, transaction: next };
164
+ if (item.tx)
165
+ return { ...item, tx: next };
166
+ return { ...item, transaction: next };
167
+ });
168
+ return { ...broadcast, transactions: newTransactions };
169
+ }
170
+ export function generateSignRequestWithFoundryScript(broadcast, options = {}) {
171
+ const txs = broadcast.transactions ?? [];
172
+ const entries = [];
173
+ let chainIdStr = options.destinationChainID ?? '';
174
+ for (const item of txs) {
175
+ const tx = normalizeTx(item);
176
+ if (!tx)
177
+ continue;
178
+ if (!chainIdStr &&
179
+ (tx.chainId !== undefined || broadcast.chain !== undefined)) {
180
+ const c = tx.chainId ?? broadcast.chain;
181
+ if (typeof c === 'number')
182
+ chainIdStr = String(c);
183
+ else if (typeof c === 'string')
184
+ chainIdStr = String(hexToBigInt(c));
185
+ }
186
+ const { messageHash, messageRaw } = txToSigningHashAndRaw(tx);
187
+ entries.push({ tx, messageHash, messageRaw, to: toAddress(tx) });
188
+ }
189
+ if (entries.length === 0) {
190
+ throw new Error('No valid transactions found in broadcast JSON');
191
+ }
192
+ if (!chainIdStr)
193
+ chainIdStr = '0';
194
+ const ANVIL_SIMULATION_CHAIN_ID = '364865';
195
+ if (chainIdStr.trim() === ANVIL_SIMULATION_CHAIN_ID) {
196
+ chainIdStr = options.destinationChainID ?? '0';
197
+ }
198
+ const destinationChainID = options.destinationChainID ?? chainIdStr;
199
+ const safeDestinationChainID = destinationChainID.trim() === ANVIL_SIMULATION_CHAIN_ID
200
+ ? (options.destinationChainID ?? '0')
201
+ : destinationChainID;
202
+ const proposalRows = entries.map(e => proposalTxParamsFromUnsignedTx(e.tx, legacyFromTxDict(e.tx)));
203
+ if (entries.length === 1) {
204
+ const e0 = entries[0];
205
+ const bodyForSign = {};
206
+ if (options.keyList)
207
+ bodyForSign.keyList = options.keyList;
208
+ if (options.pubKey)
209
+ bodyForSign.pubKey = options.pubKey;
210
+ bodyForSign.msgHash = e0.messageHash;
211
+ bodyForSign.msgRaw = e0.messageRaw;
212
+ bodyForSign.destinationChainID = safeDestinationChainID;
213
+ const destSingle = (options.destinationAddress ?? e0.to) || undefined;
214
+ if (destSingle) {
215
+ bodyForSign.destinationAddress = destSingle;
216
+ bodyForSign.destinationContract = destSingle;
217
+ }
218
+ if (options.signatureText !== undefined) {
219
+ bodyForSign.signatureText = options.signatureText;
220
+ }
221
+ bodyForSign.extraJSON = options.extraJSON ?? '';
222
+ Object.assign(bodyForSign, firstTxComposeFeeFields(e0.tx));
223
+ if (options.purpose)
224
+ bodyForSign.purpose = options.purpose;
225
+ bodyForSign.txParams = proposalRows[0];
226
+ const messageToSign = JSON.stringify(bodyForSign);
227
+ return {
228
+ endpoint: 'multiSignRequest',
229
+ bodyForSign,
230
+ messageToSign,
231
+ chainId: safeDestinationChainID,
232
+ count: 1,
233
+ triggerTxParams: triggerTxParamsFromComposeBody(bodyForSign),
234
+ triggerMessageHash: e0.messageHash,
235
+ };
236
+ }
237
+ const e0 = entries[0];
238
+ const bodyForSign = {};
239
+ if (options.keyList)
240
+ bodyForSign.keyList = options.keyList;
241
+ if (options.pubKey)
242
+ bodyForSign.pubKey = options.pubKey;
243
+ bodyForSign.msgHash = e0.messageHash;
244
+ bodyForSign.msgRaw = firstCalldataCompactFromTx(e0.tx);
245
+ bodyForSign.messageHashes = entries.map(x => x.messageHash);
246
+ bodyForSign.messageRawBatch = entries.map(x => x.messageRaw);
247
+ bodyForSign.destinationChainID = safeDestinationChainID;
248
+ const destAddresses = options.destinationAddresses ?? entries.map(x => x.to);
249
+ const sigTexts = options.signatureTexts ?? entries.map(() => '');
250
+ const batchMeta = entries.map((_, i) => ({
251
+ destinationAddress: destAddresses[i] ?? '',
252
+ signatureText: sigTexts[i] ?? '',
253
+ }));
254
+ let extraJSON = options.extraJSON ?? '{}';
255
+ try {
256
+ const parsed = JSON.parse(extraJSON);
257
+ parsed.batchMeta = batchMeta;
258
+ extraJSON = JSON.stringify(parsed);
259
+ }
260
+ catch {
261
+ extraJSON = JSON.stringify({ batchMeta });
262
+ }
263
+ bodyForSign.extraJSON = extraJSON;
264
+ bodyForSign.destinationAddress = destAddresses[0] || e0.to || undefined;
265
+ bodyForSign.signatureText = sigTexts[0] || undefined;
266
+ Object.assign(bodyForSign, firstTxComposeFeeFields(e0.tx));
267
+ if (options.purpose)
268
+ bodyForSign.purpose = options.purpose;
269
+ bodyForSign.proposalTxParams = proposalRows;
270
+ const messageToSign = JSON.stringify(bodyForSign);
271
+ return {
272
+ endpoint: 'multiSignRequest',
273
+ bodyForSign,
274
+ messageToSign,
275
+ chainId: safeDestinationChainID,
276
+ count: entries.length,
277
+ triggerTxParams: triggerTxParamsFromComposeBody(bodyForSign),
278
+ triggerMessageHash: e0.messageHash,
279
+ };
280
+ }
281
+ //# sourceMappingURL=forge-broadcast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-broadcast.js","sourceRoot":"","sources":["../../src/evm/forge-broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,oBAAoB,EAAC,MAAM,MAAM,CAAC;AACrD,OAAO,EAEN,8BAA8B,GAE9B,MAAM,gBAAgB,CAAC;AAqCxB,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,SAAS,WAAW,CAAC,CAAqB;IACzC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5C,IAAI,CAAC;QACJ,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,OAA2B;IAChD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,IAGpB;IACA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;IACxC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAC1F,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,KAAK,CAAC,CAAqB;IACnC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAmB,CAAC,CAAC,CAAE,KAAK,CAAC,EAAoB,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAsB;IAIpD,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,GACP,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI;QACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACvB,CAAC,CAAE,EAAE,CAAC,EAAoB;YAC1B,CAAC,CAAE,KAAK,EAAE,CAAC,EAAE,EAAoB;QAClC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACxB,MAAM,SAAS,GACd,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC;IAE1E,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,oBAAoB,GAAG,WAAW,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,oBAAoB,CAAC;YACvC,IAAI,EAAE,SAAS;YACf,EAAE;YACF,IAAI;YACJ,KAAK;YACL,GAAG;YACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,UAAU,IAAI,CAAC;YACxB,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,oBAAoB,EAAE,oBAAoB,IAAI,EAAE;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO;YACN,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACzD,UAAU,EAAE,UAAU;SACtB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACvC,IAAI,EAAE,QAAQ;QACd,EAAE;QACF,IAAI;QACJ,KAAK;QACL,GAAG;QACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,OAAO,EAAE,UAAU,IAAI,CAAC;QACxB,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACxB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO;QACN,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,UAAU,EAAE,UAAU;KACtB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAsB;IACxC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAChB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,GAAuB;IAC1C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAsB;IAC/C,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,oBAAoB,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7E,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC7C,EAAsB,EACtB,MAAe;IAEf,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO;YACN,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;SACzC,CAAC;IACH,CAAC;IACD,OAAO;QACN,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACjD,oBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;KACjE,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAsB;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QACxE,OAAO;YACN,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACnD,sBAAsB,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;SACnE,CAAC;IACH,CAAC;IACD,OAAO;QACN,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;KAC3C,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,EAAsB;IACzD,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;IACxC,MAAM,MAAM,GACX,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,SAA+B,EAC/B,cAAsB,EACtB,UAAkB;IAElB,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;QAC7C,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;QACxC,IACC,CAAC,GAAG;YACJ,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,EAC3E,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,IAAI,GAAG,EAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAAC,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,EAAC,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,EAAC,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,CAAC;QACxC,OAAO,EAAC,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,EAAC,GAAG,SAAS,EAAE,YAAY,EAAE,eAAe,EAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oCAAoC,CACnD,SAA+B,EAC/B,UAUI,EAAE;IAEN,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC;IACzC,MAAM,OAAO,GAKP,EAAE,CAAC;IACT,IAAI,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,IACC,CAAC,UAAU;YACX,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAK,SAA8B,CAAC,KAAK,KAAK,SAAS,CAAC,EAChF,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,IAAK,SAA8B,CAAC,KAAK,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,EAAC,WAAW,EAAE,UAAU,EAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,GAAG,CAAC;IAElC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC3C,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,yBAAyB,EAAE,CAAC;QACrD,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,GAAG,CAAC;IAChD,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,UAAU,CAAC;IACpE,MAAM,sBAAsB,GAC3B,kBAAkB,CAAC,IAAI,EAAE,KAAK,yBAAyB;QACtD,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,GAAG,CAAC;QACrC,CAAC,CAAC,kBAAkB,CAAC;IAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,OAAO;YAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACxD,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC;QACnC,WAAW,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;QACxD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;QACtE,IAAI,UAAU,EAAE,CAAC;YAChB,WAAW,CAAC,kBAAkB,GAAG,UAAU,CAAC;YAC5C,WAAW,CAAC,mBAAmB,GAAG,UAAU,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACnD,CAAC;QACD,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,OAAO;YAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,WAAW,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO;YACN,QAAQ,EAAE,kBAAkB;YAC5B,WAAW;YACX,aAAa;YACb,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,8BAA8B,CAAC,WAAW,CAAC;YAC5D,kBAAkB,EAAE,EAAE,CAAC,WAAW;SAClC,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IACvB,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,IAAI,OAAO,CAAC,OAAO;QAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxD,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC;IACrC,WAAW,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvD,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5D,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,WAAW,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;IACxD,MAAM,aAAa,GAAG,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE;QAC1C,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE;KAChC,CAAC,CAAC,CAAC;IACJ,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC1C,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAA4B,CAAC;QAChE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACR,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC;IACzC,CAAC;IACD,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,SAAS,CAAC;IACxE,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,OAAO;QAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,WAAW,CAAC,gBAAgB,GAAG,YAAY,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO;QACN,QAAQ,EAAE,kBAAkB;QAC5B,WAAW;QACX,aAAa;QACb,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,eAAe,EAAE,8BAA8B,CAAC,WAAW,CAAC;QAC5D,kBAAkB,EAAE,EAAE,CAAC,WAAW;KAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Get Sig / Get Sigs: EIP-1559 tiers use `eth_feeHistory` reward percentiles for priority fee;
3
+ * legacy tiers scale `eth_gasPrice`. Custom Gas (chain detail) remains min/floor and multipliers at call sites.
4
+ */
5
+ import type { PublicClient } from 'viem';
6
+ import type { ChainDetailRow } from '../core/mpc/types.js';
7
+ import type { ChainFeeParams } from './chain-fees.js';
8
+ export type GetSigFeeSpeedTier = 'slow' | 'normal' | 'fast' | 'advanced';
9
+ export declare function normalizeGetSigFeeSpeedTier(raw: unknown): 'slow' | 'normal' | 'fast';
10
+ export declare function getDefaultGetSigFeeSpeedFromChainDetail(chain: ChainDetailRow | undefined | null): 'slow' | 'normal' | 'fast';
11
+ export declare function fetchNormalTierGweiHintsForAdvanced(publicClient: PublicClient, feeParams: ChainFeeParams, chainDetail: ChainDetailRow): Promise<{
12
+ maxFeeGwei: string;
13
+ maxPriorityGwei: string;
14
+ gasPriceGwei: string;
15
+ }>;
16
+ export declare function trimGweiDisplay(s: string): string;
17
+ export declare function alignEip1559FeesWithLatestBase(maxFeePerGas: bigint, maxPriorityFeePerGas: bigint, latestBlockBaseFeeWei: bigint): ResolvedGetSigEip1559Fees;
18
+ export declare function mergeAdvancedGweiHintsWithReplacementFloors(hints: {
19
+ maxFeeGwei: string;
20
+ maxPriorityGwei: string;
21
+ gasPriceGwei: string;
22
+ }, eip1559Floor: {
23
+ maxFeePerGas: bigint;
24
+ maxPriorityFeePerGas: bigint;
25
+ } | null, legacyGasPriceWei: bigint | null, legacy: boolean): {
26
+ maxFeeGwei: string;
27
+ maxPriorityGwei: string;
28
+ gasPriceGwei: string;
29
+ };
30
+ export type ResolvedGetSigLegacyFees = {
31
+ gasPriceWei: bigint;
32
+ };
33
+ export type ResolvedGetSigEip1559Fees = {
34
+ maxFeePerGas: bigint;
35
+ maxPriorityFeePerGas: bigint;
36
+ };
37
+ export type ResolveGetSigFeesArgs = {
38
+ publicClient: PublicClient;
39
+ feeParams: ChainFeeParams;
40
+ chainDetail: ChainDetailRow;
41
+ legacy: boolean;
42
+ tier: GetSigFeeSpeedTier;
43
+ advancedMaxFeeGwei?: string;
44
+ advancedPriorityFeeGwei?: string;
45
+ advancedGasPriceGwei?: string;
46
+ gasFeeMultiplier?: number;
47
+ eip1559ReplacementFloorWei?: {
48
+ maxFeePerGas: bigint;
49
+ maxPriorityFeePerGas: bigint;
50
+ } | null;
51
+ legacyReplacementGasPriceWei?: bigint | null;
52
+ };
53
+ export declare function resolveGetSigFeeWei(args: ResolveGetSigFeesArgs): Promise<ResolvedGetSigLegacyFees | ResolvedGetSigEip1559Fees>;
54
+ export type GetSigTierFeePreviewLines = {
55
+ legacy: boolean;
56
+ slow: string;
57
+ normal: string;
58
+ fast: string;
59
+ };
60
+ export declare function fetchGetSigTierFeePreviewLines(publicClient: PublicClient, feeParams: ChainFeeParams, chainDetail: ChainDetailRow): Promise<GetSigTierFeePreviewLines>;
61
+ //# sourceMappingURL=get-sig-fee-speed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-sig-fee-speed.d.ts","sourceRoot":"","sources":["../../src/evm/get-sig-fee-speed.ts"],"names":[],"mappings":"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"}