@metamask-previews/transaction-pay-controller 27.1.2-preview-6eff555ee → 28.0.0-preview-0a30e47

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 (854) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/TransactionPayController-method-action-types.d.ts +132 -0
  3. package/dist/TransactionPayController-method-action-types.d.ts.map +1 -0
  4. package/dist/TransactionPayController-method-action-types.js +6 -0
  5. package/dist/TransactionPayController-method-action-types.js.map +1 -0
  6. package/dist/TransactionPayController.d.ts +101 -0
  7. package/dist/TransactionPayController.d.ts.map +1 -0
  8. package/dist/TransactionPayController.js +281 -0
  9. package/dist/TransactionPayController.js.map +1 -0
  10. package/dist/actions/update-fiat-payment.d.ts +14 -0
  11. package/dist/actions/update-fiat-payment.d.ts.map +1 -0
  12. package/dist/actions/update-fiat-payment.js +25 -0
  13. package/dist/actions/update-fiat-payment.js.map +1 -0
  14. package/dist/actions/update-payment-token.d.ts +14 -0
  15. package/dist/actions/update-payment-token.d.ts.map +1 -0
  16. package/dist/actions/update-payment-token.js +83 -0
  17. package/dist/actions/update-payment-token.js.map +1 -0
  18. package/dist/constants.d.ts +48 -0
  19. package/dist/constants.d.ts.map +1 -0
  20. package/dist/constants.js +76 -0
  21. package/dist/constants.js.map +1 -0
  22. package/dist/helpers/QuoteRefresher.d.ts +13 -0
  23. package/dist/helpers/QuoteRefresher.d.ts.map +1 -0
  24. package/dist/helpers/QuoteRefresher.js +73 -0
  25. package/dist/helpers/QuoteRefresher.js.map +1 -0
  26. package/dist/helpers/TransactionPayPublishHook.d.ts +12 -0
  27. package/dist/helpers/TransactionPayPublishHook.d.ts.map +1 -0
  28. package/dist/helpers/TransactionPayPublishHook.js +64 -0
  29. package/dist/helpers/TransactionPayPublishHook.js.map +1 -0
  30. package/dist/index.d.ts +6 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +4 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/logger.d.ts +4 -0
  35. package/dist/logger.d.ts.map +1 -0
  36. package/dist/logger.js +5 -0
  37. package/dist/logger.js.map +1 -0
  38. package/dist/strategy/across/AcrossStrategy.d.ts +9 -0
  39. package/dist/strategy/across/AcrossStrategy.d.ts.map +1 -0
  40. package/dist/strategy/across/AcrossStrategy.js +76 -0
  41. package/dist/strategy/across/AcrossStrategy.js.map +1 -0
  42. package/dist/strategy/across/across-actions.d.ts +21 -0
  43. package/dist/strategy/across/across-actions.d.ts.map +1 -0
  44. package/dist/strategy/across/across-actions.js +185 -0
  45. package/dist/strategy/across/across-actions.js.map +1 -0
  46. package/dist/strategy/across/across-quotes.d.ts +10 -0
  47. package/dist/strategy/across/across-quotes.d.ts.map +1 -0
  48. package/dist/strategy/across/across-quotes.js +611 -0
  49. package/dist/strategy/across/across-quotes.js.map +1 -0
  50. package/dist/strategy/across/across-submit.d.ts +13 -0
  51. package/dist/strategy/across/across-submit.d.ts.map +1 -0
  52. package/dist/strategy/across/across-submit.js +444 -0
  53. package/dist/strategy/across/across-submit.js.map +1 -0
  54. package/dist/strategy/across/authorization-list.d.ts +16 -0
  55. package/dist/strategy/across/authorization-list.d.ts.map +1 -0
  56. package/dist/strategy/across/authorization-list.js +21 -0
  57. package/dist/strategy/across/authorization-list.js.map +1 -0
  58. package/dist/strategy/across/perps.d.ts +33 -0
  59. package/dist/strategy/across/perps.d.ts.map +1 -0
  60. package/dist/strategy/across/perps.js +51 -0
  61. package/dist/strategy/across/perps.js.map +1 -0
  62. package/dist/strategy/across/requests.d.ts +3 -0
  63. package/dist/strategy/across/requests.d.ts.map +1 -0
  64. package/dist/strategy/across/requests.js +7 -0
  65. package/dist/strategy/across/requests.js.map +1 -0
  66. package/dist/strategy/across/transactions.d.ts +26 -0
  67. package/dist/strategy/across/transactions.d.ts.map +1 -0
  68. package/dist/strategy/across/transactions.js +38 -0
  69. package/dist/strategy/across/transactions.js.map +1 -0
  70. package/dist/strategy/across/types.d.ts +87 -0
  71. package/dist/strategy/across/types.d.ts.map +1 -0
  72. package/dist/strategy/across/types.js +2 -0
  73. package/dist/strategy/across/types.js.map +1 -0
  74. package/dist/strategy/fiat/FiatStrategy.d.ts +7 -0
  75. package/dist/strategy/fiat/FiatStrategy.d.ts.map +1 -0
  76. package/dist/strategy/fiat/FiatStrategy.js +22 -0
  77. package/dist/strategy/fiat/FiatStrategy.js.map +1 -0
  78. package/dist/strategy/fiat/constants.d.ts +13 -0
  79. package/dist/strategy/fiat/constants.d.ts.map +1 -0
  80. package/dist/strategy/fiat/constants.js +31 -0
  81. package/dist/strategy/fiat/constants.js.map +1 -0
  82. package/dist/strategy/fiat/fiat-direct-musd.d.ts +46 -0
  83. package/dist/strategy/fiat/fiat-direct-musd.d.ts.map +1 -0
  84. package/dist/strategy/fiat/fiat-direct-musd.js +162 -0
  85. package/dist/strategy/fiat/fiat-direct-musd.js.map +1 -0
  86. package/dist/strategy/fiat/fiat-quotes.d.ts +14 -0
  87. package/dist/strategy/fiat/fiat-quotes.d.ts.map +1 -0
  88. package/dist/strategy/fiat/fiat-quotes.js +247 -0
  89. package/dist/strategy/fiat/fiat-quotes.js.map +1 -0
  90. package/dist/strategy/fiat/fiat-submit-simple.d.ts +23 -0
  91. package/dist/strategy/fiat/fiat-submit-simple.d.ts.map +1 -0
  92. package/dist/strategy/fiat/fiat-submit-simple.js +62 -0
  93. package/dist/strategy/fiat/fiat-submit-simple.js.map +1 -0
  94. package/dist/strategy/fiat/fiat-submit-with-transaction-data.d.ts +27 -0
  95. package/dist/strategy/fiat/fiat-submit-with-transaction-data.d.ts.map +1 -0
  96. package/dist/strategy/fiat/fiat-submit-with-transaction-data.js +181 -0
  97. package/dist/strategy/fiat/fiat-submit-with-transaction-data.js.map +1 -0
  98. package/dist/strategy/fiat/fiat-submit.d.ts +15 -0
  99. package/dist/strategy/fiat/fiat-submit.d.ts.map +1 -0
  100. package/dist/strategy/fiat/fiat-submit.js +241 -0
  101. package/dist/strategy/fiat/fiat-submit.js.map +1 -0
  102. package/dist/strategy/fiat/fiat-test-funding.d.ts +21 -0
  103. package/dist/strategy/fiat/fiat-test-funding.d.ts.map +1 -0
  104. package/dist/strategy/fiat/fiat-test-funding.js +162 -0
  105. package/dist/strategy/fiat/fiat-test-funding.js.map +1 -0
  106. package/dist/strategy/fiat/types.d.ts +7 -0
  107. package/dist/strategy/fiat/types.d.ts.map +1 -0
  108. package/dist/strategy/fiat/types.js +2 -0
  109. package/dist/strategy/fiat/types.js.map +1 -0
  110. package/dist/strategy/fiat/utils.d.ts +148 -0
  111. package/dist/strategy/fiat/utils.d.ts.map +1 -0
  112. package/dist/strategy/fiat/utils.js +237 -0
  113. package/dist/strategy/fiat/utils.js.map +1 -0
  114. package/dist/strategy/relay/RelayStrategy.d.ts +8 -0
  115. package/dist/strategy/relay/RelayStrategy.d.ts.map +1 -0
  116. package/dist/strategy/relay/RelayStrategy.js +16 -0
  117. package/dist/strategy/relay/RelayStrategy.js.map +1 -0
  118. package/dist/strategy/relay/constants.d.ts +18 -0
  119. package/dist/strategy/relay/constants.d.ts.map +1 -0
  120. package/dist/strategy/relay/constants.js +34 -0
  121. package/dist/strategy/relay/constants.js.map +1 -0
  122. package/dist/strategy/relay/hyperliquid-activation.d.ts +52 -0
  123. package/dist/strategy/relay/hyperliquid-activation.d.ts.map +1 -0
  124. package/dist/strategy/relay/hyperliquid-activation.js +193 -0
  125. package/dist/strategy/relay/hyperliquid-activation.js.map +1 -0
  126. package/dist/strategy/relay/hyperliquid-withdraw.d.ts +18 -0
  127. package/dist/strategy/relay/hyperliquid-withdraw.d.ts.map +1 -0
  128. package/dist/strategy/relay/hyperliquid-withdraw.js +190 -0
  129. package/dist/strategy/relay/hyperliquid-withdraw.js.map +1 -0
  130. package/dist/strategy/relay/polymarket/calldata.d.ts +14 -0
  131. package/dist/strategy/relay/polymarket/calldata.d.ts.map +1 -0
  132. package/dist/strategy/relay/polymarket/calldata.js +21 -0
  133. package/dist/strategy/relay/polymarket/calldata.js.map +1 -0
  134. package/dist/strategy/relay/polymarket/constants.d.ts +7 -0
  135. package/dist/strategy/relay/polymarket/constants.d.ts.map +1 -0
  136. package/dist/strategy/relay/polymarket/constants.js +6 -0
  137. package/dist/strategy/relay/polymarket/constants.js.map +1 -0
  138. package/dist/strategy/relay/polymarket/withdraw.d.ts +52 -0
  139. package/dist/strategy/relay/polymarket/withdraw.d.ts.map +1 -0
  140. package/dist/strategy/relay/polymarket/withdraw.js +240 -0
  141. package/dist/strategy/relay/polymarket/withdraw.js.map +1 -0
  142. package/dist/strategy/relay/relay-api.d.ts +27 -0
  143. package/dist/strategy/relay/relay-api.d.ts.map +1 -0
  144. package/dist/strategy/relay/relay-api.js +75 -0
  145. package/dist/strategy/relay/relay-api.js.map +1 -0
  146. package/dist/strategy/relay/relay-max-gas-station.d.ts +22 -0
  147. package/dist/strategy/relay/relay-max-gas-station.d.ts.map +1 -0
  148. package/dist/strategy/relay/relay-max-gas-station.js +242 -0
  149. package/dist/strategy/relay/relay-max-gas-station.js.map +1 -0
  150. package/dist/strategy/relay/relay-quotes.d.ts +10 -0
  151. package/dist/strategy/relay/relay-quotes.d.ts.map +1 -0
  152. package/dist/strategy/relay/relay-quotes.js +883 -0
  153. package/dist/strategy/relay/relay-quotes.js.map +1 -0
  154. package/dist/strategy/relay/relay-submit-execute.d.ts +16 -0
  155. package/dist/strategy/relay/relay-submit-execute.d.ts.map +1 -0
  156. package/dist/strategy/relay/relay-submit-execute.js +142 -0
  157. package/dist/strategy/relay/relay-submit-execute.js.map +1 -0
  158. package/dist/strategy/relay/relay-submit.d.ts +22 -0
  159. package/dist/strategy/relay/relay-submit.d.ts.map +1 -0
  160. package/dist/strategy/relay/relay-submit.js +745 -0
  161. package/dist/strategy/relay/relay-submit.js.map +1 -0
  162. package/dist/strategy/relay/relay-validation.d.ts +11 -0
  163. package/dist/strategy/relay/relay-validation.d.ts.map +1 -0
  164. package/dist/strategy/relay/relay-validation.js +172 -0
  165. package/dist/strategy/relay/relay-validation.js.map +1 -0
  166. package/dist/strategy/relay/types.d.ts +206 -0
  167. package/dist/strategy/relay/types.d.ts.map +1 -0
  168. package/dist/strategy/relay/types.js +2 -0
  169. package/dist/strategy/relay/types.js.map +1 -0
  170. package/dist/strategy/server/ServerStrategy.d.ts +15 -0
  171. package/dist/strategy/server/ServerStrategy.d.ts.map +1 -0
  172. package/dist/strategy/server/ServerStrategy.js +31 -0
  173. package/dist/strategy/server/ServerStrategy.js.map +1 -0
  174. package/dist/strategy/server/constants.d.ts +8 -0
  175. package/dist/strategy/server/constants.d.ts.map +1 -0
  176. package/dist/strategy/server/constants.js +8 -0
  177. package/dist/strategy/server/constants.js.map +1 -0
  178. package/dist/strategy/server/perps.d.ts +41 -0
  179. package/dist/strategy/server/perps.d.ts.map +1 -0
  180. package/dist/strategy/server/perps.js +83 -0
  181. package/dist/strategy/server/perps.js.map +1 -0
  182. package/dist/strategy/server/server-api.d.ts +35 -0
  183. package/dist/strategy/server/server-api.d.ts.map +1 -0
  184. package/dist/strategy/server/server-api.js +92 -0
  185. package/dist/strategy/server/server-api.js.map +1 -0
  186. package/dist/strategy/server/server-quotes.d.ts +10 -0
  187. package/dist/strategy/server/server-quotes.d.ts.map +1 -0
  188. package/dist/strategy/server/server-quotes.js +361 -0
  189. package/dist/strategy/server/server-quotes.js.map +1 -0
  190. package/dist/strategy/server/server-submit.d.ts +13 -0
  191. package/dist/strategy/server/server-submit.d.ts.map +1 -0
  192. package/dist/strategy/server/server-submit.js +620 -0
  193. package/dist/strategy/server/server-submit.js.map +1 -0
  194. package/dist/strategy/server/types.d.ts +169 -0
  195. package/dist/strategy/server/types.d.ts.map +1 -0
  196. package/dist/strategy/server/types.js +23 -0
  197. package/dist/strategy/server/types.js.map +1 -0
  198. package/dist/tests/messenger-mock.d.ts +11 -0
  199. package/dist/tests/messenger-mock.d.ts.map +1 -0
  200. package/dist/tests/messenger-mock.js +116 -0
  201. package/dist/tests/messenger-mock.js.map +1 -0
  202. package/dist/types.d.ts +627 -0
  203. package/dist/types.d.ts.map +1 -0
  204. package/dist/types.js +10 -0
  205. package/dist/types.js.map +1 -0
  206. package/dist/utils/7702.d.ts +15 -0
  207. package/dist/utils/7702.d.ts.map +1 -0
  208. package/dist/utils/7702.js +19 -0
  209. package/dist/utils/7702.js.map +1 -0
  210. package/dist/utils/amounts.d.ts +18 -0
  211. package/dist/utils/amounts.d.ts.map +1 -0
  212. package/dist/utils/amounts.js +35 -0
  213. package/dist/utils/amounts.js.map +1 -0
  214. package/dist/utils/chomp.d.ts +9 -0
  215. package/dist/utils/chomp.d.ts.map +1 -0
  216. package/dist/utils/chomp.js +54 -0
  217. package/dist/utils/chomp.js.map +1 -0
  218. package/dist/utils/error-prefix.d.ts +9 -0
  219. package/dist/utils/error-prefix.d.ts.map +1 -0
  220. package/dist/utils/error-prefix.js +17 -0
  221. package/dist/utils/error-prefix.js.map +1 -0
  222. package/dist/utils/feature-flags.d.ts +328 -0
  223. package/dist/utils/feature-flags.d.ts.map +1 -0
  224. package/dist/utils/feature-flags.js +645 -0
  225. package/dist/utils/feature-flags.js.map +1 -0
  226. package/dist/utils/gas-station.d.ts +22 -0
  227. package/dist/utils/gas-station.d.ts.map +1 -0
  228. package/dist/utils/gas-station.js +86 -0
  229. package/dist/utils/gas-station.js.map +1 -0
  230. package/dist/utils/gas.d.ts +88 -0
  231. package/dist/utils/gas.d.ts.map +1 -0
  232. package/dist/utils/gas.js +217 -0
  233. package/dist/utils/gas.js.map +1 -0
  234. package/dist/utils/ma-vault-deposit.d.ts +40 -0
  235. package/dist/utils/ma-vault-deposit.d.ts.map +1 -0
  236. package/dist/utils/ma-vault-deposit.js +230 -0
  237. package/dist/utils/ma-vault-deposit.js.map +1 -0
  238. package/dist/utils/no-op-quote.d.ts +18 -0
  239. package/dist/utils/no-op-quote.d.ts.map +1 -0
  240. package/dist/utils/no-op-quote.js +52 -0
  241. package/dist/utils/no-op-quote.js.map +1 -0
  242. package/dist/utils/provider.d.ts +59 -0
  243. package/dist/utils/provider.d.ts.map +1 -0
  244. package/dist/utils/provider.js +82 -0
  245. package/dist/utils/provider.js.map +1 -0
  246. package/dist/utils/quote-gas.d.ts +32 -0
  247. package/dist/utils/quote-gas.d.ts.map +1 -0
  248. package/dist/utils/quote-gas.js +140 -0
  249. package/dist/utils/quote-gas.js.map +1 -0
  250. package/dist/utils/quotes.d.ts +31 -0
  251. package/dist/utils/quotes.d.ts.map +1 -0
  252. package/dist/utils/quotes.js +505 -0
  253. package/dist/utils/quotes.js.map +1 -0
  254. package/dist/utils/required-tokens.d.ts +14 -0
  255. package/dist/utils/required-tokens.d.ts.map +1 -0
  256. package/dist/utils/required-tokens.js +137 -0
  257. package/dist/utils/required-tokens.js.map +1 -0
  258. package/dist/utils/simulation.d.ts +15 -0
  259. package/dist/utils/simulation.d.ts.map +1 -0
  260. package/dist/utils/simulation.js +84 -0
  261. package/dist/utils/simulation.js.map +1 -0
  262. package/dist/utils/source-amounts.d.ts +14 -0
  263. package/dist/utils/source-amounts.d.ts.map +1 -0
  264. package/dist/utils/source-amounts.js +180 -0
  265. package/dist/utils/source-amounts.js.map +1 -0
  266. package/dist/utils/strategy.d.ts +42 -0
  267. package/dist/utils/strategy.d.ts.map +1 -0
  268. package/dist/utils/strategy.js +76 -0
  269. package/dist/utils/strategy.js.map +1 -0
  270. package/dist/utils/token.d.ts +133 -0
  271. package/dist/utils/token.d.ts.map +1 -0
  272. package/dist/utils/token.js +332 -0
  273. package/dist/utils/token.js.map +1 -0
  274. package/dist/utils/totals.d.ts +21 -0
  275. package/dist/utils/totals.d.ts.map +1 -0
  276. package/dist/utils/totals.js +137 -0
  277. package/dist/utils/totals.js.map +1 -0
  278. package/dist/utils/transaction.d.ts +109 -0
  279. package/dist/utils/transaction.d.ts.map +1 -0
  280. package/dist/utils/transaction.js +334 -0
  281. package/dist/utils/transaction.js.map +1 -0
  282. package/dist/utils/validation.d.ts +19 -0
  283. package/dist/utils/validation.d.ts.map +1 -0
  284. package/dist/utils/validation.js +206 -0
  285. package/dist/utils/validation.js.map +1 -0
  286. package/package.json +25 -29
  287. package/dist/TransactionPayController-method-action-types.cjs +0 -7
  288. package/dist/TransactionPayController-method-action-types.cjs.map +0 -1
  289. package/dist/TransactionPayController-method-action-types.d.cts +0 -132
  290. package/dist/TransactionPayController-method-action-types.d.cts.map +0 -1
  291. package/dist/TransactionPayController-method-action-types.d.mts +0 -132
  292. package/dist/TransactionPayController-method-action-types.d.mts.map +0 -1
  293. package/dist/TransactionPayController-method-action-types.mjs +0 -6
  294. package/dist/TransactionPayController-method-action-types.mjs.map +0 -1
  295. package/dist/TransactionPayController.cjs +0 -295
  296. package/dist/TransactionPayController.cjs.map +0 -1
  297. package/dist/TransactionPayController.d.cts +0 -101
  298. package/dist/TransactionPayController.d.cts.map +0 -1
  299. package/dist/TransactionPayController.d.mts +0 -101
  300. package/dist/TransactionPayController.d.mts.map +0 -1
  301. package/dist/TransactionPayController.mjs +0 -292
  302. package/dist/TransactionPayController.mjs.map +0 -1
  303. package/dist/actions/update-fiat-payment.cjs +0 -29
  304. package/dist/actions/update-fiat-payment.cjs.map +0 -1
  305. package/dist/actions/update-fiat-payment.d.cts +0 -14
  306. package/dist/actions/update-fiat-payment.d.cts.map +0 -1
  307. package/dist/actions/update-fiat-payment.d.mts +0 -14
  308. package/dist/actions/update-fiat-payment.d.mts.map +0 -1
  309. package/dist/actions/update-fiat-payment.mjs +0 -25
  310. package/dist/actions/update-fiat-payment.mjs.map +0 -1
  311. package/dist/actions/update-payment-token.cjs +0 -87
  312. package/dist/actions/update-payment-token.cjs.map +0 -1
  313. package/dist/actions/update-payment-token.d.cts +0 -14
  314. package/dist/actions/update-payment-token.d.cts.map +0 -1
  315. package/dist/actions/update-payment-token.d.mts +0 -14
  316. package/dist/actions/update-payment-token.d.mts.map +0 -1
  317. package/dist/actions/update-payment-token.mjs +0 -83
  318. package/dist/actions/update-payment-token.mjs.map +0 -1
  319. package/dist/constants.cjs +0 -80
  320. package/dist/constants.cjs.map +0 -1
  321. package/dist/constants.d.cts +0 -48
  322. package/dist/constants.d.cts.map +0 -1
  323. package/dist/constants.d.mts +0 -48
  324. package/dist/constants.d.mts.map +0 -1
  325. package/dist/constants.mjs +0 -76
  326. package/dist/constants.mjs.map +0 -1
  327. package/dist/helpers/QuoteRefresher.cjs +0 -86
  328. package/dist/helpers/QuoteRefresher.cjs.map +0 -1
  329. package/dist/helpers/QuoteRefresher.d.cts +0 -13
  330. package/dist/helpers/QuoteRefresher.d.cts.map +0 -1
  331. package/dist/helpers/QuoteRefresher.d.mts +0 -13
  332. package/dist/helpers/QuoteRefresher.d.mts.map +0 -1
  333. package/dist/helpers/QuoteRefresher.mjs +0 -83
  334. package/dist/helpers/QuoteRefresher.mjs.map +0 -1
  335. package/dist/helpers/TransactionPayPublishHook.cjs +0 -80
  336. package/dist/helpers/TransactionPayPublishHook.cjs.map +0 -1
  337. package/dist/helpers/TransactionPayPublishHook.d.cts +0 -12
  338. package/dist/helpers/TransactionPayPublishHook.d.cts.map +0 -1
  339. package/dist/helpers/TransactionPayPublishHook.d.mts +0 -12
  340. package/dist/helpers/TransactionPayPublishHook.d.mts.map +0 -1
  341. package/dist/helpers/TransactionPayPublishHook.mjs +0 -76
  342. package/dist/helpers/TransactionPayPublishHook.mjs.map +0 -1
  343. package/dist/index.cjs +0 -11
  344. package/dist/index.cjs.map +0 -1
  345. package/dist/index.d.cts +0 -6
  346. package/dist/index.d.cts.map +0 -1
  347. package/dist/index.d.mts +0 -6
  348. package/dist/index.d.mts.map +0 -1
  349. package/dist/index.mjs +0 -4
  350. package/dist/index.mjs.map +0 -1
  351. package/dist/logger.cjs +0 -8
  352. package/dist/logger.cjs.map +0 -1
  353. package/dist/logger.d.cts +0 -5
  354. package/dist/logger.d.cts.map +0 -1
  355. package/dist/logger.d.mts +0 -5
  356. package/dist/logger.d.mts.map +0 -1
  357. package/dist/logger.mjs +0 -5
  358. package/dist/logger.mjs.map +0 -1
  359. package/dist/strategy/across/AcrossStrategy.cjs +0 -80
  360. package/dist/strategy/across/AcrossStrategy.cjs.map +0 -1
  361. package/dist/strategy/across/AcrossStrategy.d.cts +0 -9
  362. package/dist/strategy/across/AcrossStrategy.d.cts.map +0 -1
  363. package/dist/strategy/across/AcrossStrategy.d.mts +0 -9
  364. package/dist/strategy/across/AcrossStrategy.d.mts.map +0 -1
  365. package/dist/strategy/across/AcrossStrategy.mjs +0 -76
  366. package/dist/strategy/across/AcrossStrategy.mjs.map +0 -1
  367. package/dist/strategy/across/across-actions.cjs +0 -192
  368. package/dist/strategy/across/across-actions.cjs.map +0 -1
  369. package/dist/strategy/across/across-actions.d.cts +0 -21
  370. package/dist/strategy/across/across-actions.d.cts.map +0 -1
  371. package/dist/strategy/across/across-actions.d.mts +0 -21
  372. package/dist/strategy/across/across-actions.d.mts.map +0 -1
  373. package/dist/strategy/across/across-actions.mjs +0 -185
  374. package/dist/strategy/across/across-actions.mjs.map +0 -1
  375. package/dist/strategy/across/across-quotes.cjs +0 -615
  376. package/dist/strategy/across/across-quotes.cjs.map +0 -1
  377. package/dist/strategy/across/across-quotes.d.cts +0 -10
  378. package/dist/strategy/across/across-quotes.d.cts.map +0 -1
  379. package/dist/strategy/across/across-quotes.d.mts +0 -10
  380. package/dist/strategy/across/across-quotes.d.mts.map +0 -1
  381. package/dist/strategy/across/across-quotes.mjs +0 -611
  382. package/dist/strategy/across/across-quotes.mjs.map +0 -1
  383. package/dist/strategy/across/across-submit.cjs +0 -448
  384. package/dist/strategy/across/across-submit.cjs.map +0 -1
  385. package/dist/strategy/across/across-submit.d.cts +0 -13
  386. package/dist/strategy/across/across-submit.d.cts.map +0 -1
  387. package/dist/strategy/across/across-submit.d.mts +0 -13
  388. package/dist/strategy/across/across-submit.d.mts.map +0 -1
  389. package/dist/strategy/across/across-submit.mjs +0 -444
  390. package/dist/strategy/across/across-submit.mjs.map +0 -1
  391. package/dist/strategy/across/authorization-list.cjs +0 -25
  392. package/dist/strategy/across/authorization-list.cjs.map +0 -1
  393. package/dist/strategy/across/authorization-list.d.cts +0 -16
  394. package/dist/strategy/across/authorization-list.d.cts.map +0 -1
  395. package/dist/strategy/across/authorization-list.d.mts +0 -16
  396. package/dist/strategy/across/authorization-list.d.mts.map +0 -1
  397. package/dist/strategy/across/authorization-list.mjs +0 -21
  398. package/dist/strategy/across/authorization-list.mjs.map +0 -1
  399. package/dist/strategy/across/perps.cjs +0 -56
  400. package/dist/strategy/across/perps.cjs.map +0 -1
  401. package/dist/strategy/across/perps.d.cts +0 -32
  402. package/dist/strategy/across/perps.d.cts.map +0 -1
  403. package/dist/strategy/across/perps.d.mts +0 -32
  404. package/dist/strategy/across/perps.d.mts.map +0 -1
  405. package/dist/strategy/across/perps.mjs +0 -51
  406. package/dist/strategy/across/perps.mjs.map +0 -1
  407. package/dist/strategy/across/requests.cjs +0 -11
  408. package/dist/strategy/across/requests.cjs.map +0 -1
  409. package/dist/strategy/across/requests.d.cts +0 -3
  410. package/dist/strategy/across/requests.d.cts.map +0 -1
  411. package/dist/strategy/across/requests.d.mts +0 -3
  412. package/dist/strategy/across/requests.d.mts.map +0 -1
  413. package/dist/strategy/across/requests.mjs +0 -7
  414. package/dist/strategy/across/requests.mjs.map +0 -1
  415. package/dist/strategy/across/transactions.cjs +0 -43
  416. package/dist/strategy/across/transactions.cjs.map +0 -1
  417. package/dist/strategy/across/transactions.d.cts +0 -26
  418. package/dist/strategy/across/transactions.d.cts.map +0 -1
  419. package/dist/strategy/across/transactions.d.mts +0 -26
  420. package/dist/strategy/across/transactions.d.mts.map +0 -1
  421. package/dist/strategy/across/transactions.mjs +0 -38
  422. package/dist/strategy/across/transactions.mjs.map +0 -1
  423. package/dist/strategy/across/types.cjs +0 -3
  424. package/dist/strategy/across/types.cjs.map +0 -1
  425. package/dist/strategy/across/types.d.cts +0 -87
  426. package/dist/strategy/across/types.d.cts.map +0 -1
  427. package/dist/strategy/across/types.d.mts +0 -87
  428. package/dist/strategy/across/types.d.mts.map +0 -1
  429. package/dist/strategy/across/types.mjs +0 -2
  430. package/dist/strategy/across/types.mjs.map +0 -1
  431. package/dist/strategy/fiat/FiatStrategy.cjs +0 -26
  432. package/dist/strategy/fiat/FiatStrategy.cjs.map +0 -1
  433. package/dist/strategy/fiat/FiatStrategy.d.cts +0 -7
  434. package/dist/strategy/fiat/FiatStrategy.d.cts.map +0 -1
  435. package/dist/strategy/fiat/FiatStrategy.d.mts +0 -7
  436. package/dist/strategy/fiat/FiatStrategy.d.mts.map +0 -1
  437. package/dist/strategy/fiat/FiatStrategy.mjs +0 -22
  438. package/dist/strategy/fiat/FiatStrategy.mjs.map +0 -1
  439. package/dist/strategy/fiat/constants.cjs +0 -34
  440. package/dist/strategy/fiat/constants.cjs.map +0 -1
  441. package/dist/strategy/fiat/constants.d.cts +0 -13
  442. package/dist/strategy/fiat/constants.d.cts.map +0 -1
  443. package/dist/strategy/fiat/constants.d.mts +0 -13
  444. package/dist/strategy/fiat/constants.d.mts.map +0 -1
  445. package/dist/strategy/fiat/constants.mjs +0 -31
  446. package/dist/strategy/fiat/constants.mjs.map +0 -1
  447. package/dist/strategy/fiat/fiat-direct-musd.cjs +0 -168
  448. package/dist/strategy/fiat/fiat-direct-musd.cjs.map +0 -1
  449. package/dist/strategy/fiat/fiat-direct-musd.d.cts +0 -46
  450. package/dist/strategy/fiat/fiat-direct-musd.d.cts.map +0 -1
  451. package/dist/strategy/fiat/fiat-direct-musd.d.mts +0 -46
  452. package/dist/strategy/fiat/fiat-direct-musd.d.mts.map +0 -1
  453. package/dist/strategy/fiat/fiat-direct-musd.mjs +0 -162
  454. package/dist/strategy/fiat/fiat-direct-musd.mjs.map +0 -1
  455. package/dist/strategy/fiat/fiat-quotes.cjs +0 -251
  456. package/dist/strategy/fiat/fiat-quotes.cjs.map +0 -1
  457. package/dist/strategy/fiat/fiat-quotes.d.cts +0 -14
  458. package/dist/strategy/fiat/fiat-quotes.d.cts.map +0 -1
  459. package/dist/strategy/fiat/fiat-quotes.d.mts +0 -14
  460. package/dist/strategy/fiat/fiat-quotes.d.mts.map +0 -1
  461. package/dist/strategy/fiat/fiat-quotes.mjs +0 -247
  462. package/dist/strategy/fiat/fiat-quotes.mjs.map +0 -1
  463. package/dist/strategy/fiat/fiat-submit-simple.cjs +0 -66
  464. package/dist/strategy/fiat/fiat-submit-simple.cjs.map +0 -1
  465. package/dist/strategy/fiat/fiat-submit-simple.d.cts +0 -23
  466. package/dist/strategy/fiat/fiat-submit-simple.d.cts.map +0 -1
  467. package/dist/strategy/fiat/fiat-submit-simple.d.mts +0 -23
  468. package/dist/strategy/fiat/fiat-submit-simple.d.mts.map +0 -1
  469. package/dist/strategy/fiat/fiat-submit-simple.mjs +0 -62
  470. package/dist/strategy/fiat/fiat-submit-simple.mjs.map +0 -1
  471. package/dist/strategy/fiat/fiat-submit-with-transaction-data.cjs +0 -185
  472. package/dist/strategy/fiat/fiat-submit-with-transaction-data.cjs.map +0 -1
  473. package/dist/strategy/fiat/fiat-submit-with-transaction-data.d.cts +0 -27
  474. package/dist/strategy/fiat/fiat-submit-with-transaction-data.d.cts.map +0 -1
  475. package/dist/strategy/fiat/fiat-submit-with-transaction-data.d.mts +0 -27
  476. package/dist/strategy/fiat/fiat-submit-with-transaction-data.d.mts.map +0 -1
  477. package/dist/strategy/fiat/fiat-submit-with-transaction-data.mjs +0 -181
  478. package/dist/strategy/fiat/fiat-submit-with-transaction-data.mjs.map +0 -1
  479. package/dist/strategy/fiat/fiat-submit.cjs +0 -245
  480. package/dist/strategy/fiat/fiat-submit.cjs.map +0 -1
  481. package/dist/strategy/fiat/fiat-submit.d.cts +0 -15
  482. package/dist/strategy/fiat/fiat-submit.d.cts.map +0 -1
  483. package/dist/strategy/fiat/fiat-submit.d.mts +0 -15
  484. package/dist/strategy/fiat/fiat-submit.d.mts.map +0 -1
  485. package/dist/strategy/fiat/fiat-submit.mjs +0 -241
  486. package/dist/strategy/fiat/fiat-submit.mjs.map +0 -1
  487. package/dist/strategy/fiat/fiat-test-funding.cjs +0 -166
  488. package/dist/strategy/fiat/fiat-test-funding.cjs.map +0 -1
  489. package/dist/strategy/fiat/fiat-test-funding.d.cts +0 -21
  490. package/dist/strategy/fiat/fiat-test-funding.d.cts.map +0 -1
  491. package/dist/strategy/fiat/fiat-test-funding.d.mts +0 -21
  492. package/dist/strategy/fiat/fiat-test-funding.d.mts.map +0 -1
  493. package/dist/strategy/fiat/fiat-test-funding.mjs +0 -162
  494. package/dist/strategy/fiat/fiat-test-funding.mjs.map +0 -1
  495. package/dist/strategy/fiat/types.cjs +0 -3
  496. package/dist/strategy/fiat/types.cjs.map +0 -1
  497. package/dist/strategy/fiat/types.d.cts +0 -7
  498. package/dist/strategy/fiat/types.d.cts.map +0 -1
  499. package/dist/strategy/fiat/types.d.mts +0 -7
  500. package/dist/strategy/fiat/types.d.mts.map +0 -1
  501. package/dist/strategy/fiat/types.mjs +0 -2
  502. package/dist/strategy/fiat/types.mjs.map +0 -1
  503. package/dist/strategy/fiat/utils.cjs +0 -249
  504. package/dist/strategy/fiat/utils.cjs.map +0 -1
  505. package/dist/strategy/fiat/utils.d.cts +0 -148
  506. package/dist/strategy/fiat/utils.d.cts.map +0 -1
  507. package/dist/strategy/fiat/utils.d.mts +0 -148
  508. package/dist/strategy/fiat/utils.d.mts.map +0 -1
  509. package/dist/strategy/fiat/utils.mjs +0 -237
  510. package/dist/strategy/fiat/utils.mjs.map +0 -1
  511. package/dist/strategy/relay/RelayStrategy.cjs +0 -20
  512. package/dist/strategy/relay/RelayStrategy.cjs.map +0 -1
  513. package/dist/strategy/relay/RelayStrategy.d.cts +0 -8
  514. package/dist/strategy/relay/RelayStrategy.d.cts.map +0 -1
  515. package/dist/strategy/relay/RelayStrategy.d.mts +0 -8
  516. package/dist/strategy/relay/RelayStrategy.d.mts.map +0 -1
  517. package/dist/strategy/relay/RelayStrategy.mjs +0 -16
  518. package/dist/strategy/relay/RelayStrategy.mjs.map +0 -1
  519. package/dist/strategy/relay/constants.cjs +0 -37
  520. package/dist/strategy/relay/constants.cjs.map +0 -1
  521. package/dist/strategy/relay/constants.d.cts +0 -17
  522. package/dist/strategy/relay/constants.d.cts.map +0 -1
  523. package/dist/strategy/relay/constants.d.mts +0 -17
  524. package/dist/strategy/relay/constants.d.mts.map +0 -1
  525. package/dist/strategy/relay/constants.mjs +0 -34
  526. package/dist/strategy/relay/constants.mjs.map +0 -1
  527. package/dist/strategy/relay/hyperliquid-activation.cjs +0 -198
  528. package/dist/strategy/relay/hyperliquid-activation.cjs.map +0 -1
  529. package/dist/strategy/relay/hyperliquid-activation.d.cts +0 -52
  530. package/dist/strategy/relay/hyperliquid-activation.d.cts.map +0 -1
  531. package/dist/strategy/relay/hyperliquid-activation.d.mts +0 -52
  532. package/dist/strategy/relay/hyperliquid-activation.d.mts.map +0 -1
  533. package/dist/strategy/relay/hyperliquid-activation.mjs +0 -193
  534. package/dist/strategy/relay/hyperliquid-activation.mjs.map +0 -1
  535. package/dist/strategy/relay/hyperliquid-withdraw.cjs +0 -194
  536. package/dist/strategy/relay/hyperliquid-withdraw.cjs.map +0 -1
  537. package/dist/strategy/relay/hyperliquid-withdraw.d.cts +0 -18
  538. package/dist/strategy/relay/hyperliquid-withdraw.d.cts.map +0 -1
  539. package/dist/strategy/relay/hyperliquid-withdraw.d.mts +0 -18
  540. package/dist/strategy/relay/hyperliquid-withdraw.d.mts.map +0 -1
  541. package/dist/strategy/relay/hyperliquid-withdraw.mjs +0 -190
  542. package/dist/strategy/relay/hyperliquid-withdraw.mjs.map +0 -1
  543. package/dist/strategy/relay/polymarket/calldata.cjs +0 -28
  544. package/dist/strategy/relay/polymarket/calldata.cjs.map +0 -1
  545. package/dist/strategy/relay/polymarket/calldata.d.cts +0 -14
  546. package/dist/strategy/relay/polymarket/calldata.d.cts.map +0 -1
  547. package/dist/strategy/relay/polymarket/calldata.d.mts +0 -14
  548. package/dist/strategy/relay/polymarket/calldata.d.mts.map +0 -1
  549. package/dist/strategy/relay/polymarket/calldata.mjs +0 -21
  550. package/dist/strategy/relay/polymarket/calldata.mjs.map +0 -1
  551. package/dist/strategy/relay/polymarket/constants.cjs +0 -9
  552. package/dist/strategy/relay/polymarket/constants.cjs.map +0 -1
  553. package/dist/strategy/relay/polymarket/constants.d.cts +0 -6
  554. package/dist/strategy/relay/polymarket/constants.d.cts.map +0 -1
  555. package/dist/strategy/relay/polymarket/constants.d.mts +0 -6
  556. package/dist/strategy/relay/polymarket/constants.d.mts.map +0 -1
  557. package/dist/strategy/relay/polymarket/constants.mjs +0 -6
  558. package/dist/strategy/relay/polymarket/constants.mjs.map +0 -1
  559. package/dist/strategy/relay/polymarket/withdraw.cjs +0 -249
  560. package/dist/strategy/relay/polymarket/withdraw.cjs.map +0 -1
  561. package/dist/strategy/relay/polymarket/withdraw.d.cts +0 -52
  562. package/dist/strategy/relay/polymarket/withdraw.d.cts.map +0 -1
  563. package/dist/strategy/relay/polymarket/withdraw.d.mts +0 -52
  564. package/dist/strategy/relay/polymarket/withdraw.d.mts.map +0 -1
  565. package/dist/strategy/relay/polymarket/withdraw.mjs +0 -240
  566. package/dist/strategy/relay/polymarket/withdraw.mjs.map +0 -1
  567. package/dist/strategy/relay/relay-api.cjs +0 -81
  568. package/dist/strategy/relay/relay-api.cjs.map +0 -1
  569. package/dist/strategy/relay/relay-api.d.cts +0 -27
  570. package/dist/strategy/relay/relay-api.d.cts.map +0 -1
  571. package/dist/strategy/relay/relay-api.d.mts +0 -27
  572. package/dist/strategy/relay/relay-api.d.mts.map +0 -1
  573. package/dist/strategy/relay/relay-api.mjs +0 -75
  574. package/dist/strategy/relay/relay-api.mjs.map +0 -1
  575. package/dist/strategy/relay/relay-max-gas-station.cjs +0 -246
  576. package/dist/strategy/relay/relay-max-gas-station.cjs.map +0 -1
  577. package/dist/strategy/relay/relay-max-gas-station.d.cts +0 -22
  578. package/dist/strategy/relay/relay-max-gas-station.d.cts.map +0 -1
  579. package/dist/strategy/relay/relay-max-gas-station.d.mts +0 -22
  580. package/dist/strategy/relay/relay-max-gas-station.d.mts.map +0 -1
  581. package/dist/strategy/relay/relay-max-gas-station.mjs +0 -242
  582. package/dist/strategy/relay/relay-max-gas-station.mjs.map +0 -1
  583. package/dist/strategy/relay/relay-quotes.cjs +0 -887
  584. package/dist/strategy/relay/relay-quotes.cjs.map +0 -1
  585. package/dist/strategy/relay/relay-quotes.d.cts +0 -10
  586. package/dist/strategy/relay/relay-quotes.d.cts.map +0 -1
  587. package/dist/strategy/relay/relay-quotes.d.mts +0 -10
  588. package/dist/strategy/relay/relay-quotes.d.mts.map +0 -1
  589. package/dist/strategy/relay/relay-quotes.mjs +0 -883
  590. package/dist/strategy/relay/relay-quotes.mjs.map +0 -1
  591. package/dist/strategy/relay/relay-submit-execute.cjs +0 -147
  592. package/dist/strategy/relay/relay-submit-execute.cjs.map +0 -1
  593. package/dist/strategy/relay/relay-submit-execute.d.cts +0 -16
  594. package/dist/strategy/relay/relay-submit-execute.d.cts.map +0 -1
  595. package/dist/strategy/relay/relay-submit-execute.d.mts +0 -16
  596. package/dist/strategy/relay/relay-submit-execute.d.mts.map +0 -1
  597. package/dist/strategy/relay/relay-submit-execute.mjs +0 -142
  598. package/dist/strategy/relay/relay-submit-execute.mjs.map +0 -1
  599. package/dist/strategy/relay/relay-submit.cjs +0 -750
  600. package/dist/strategy/relay/relay-submit.cjs.map +0 -1
  601. package/dist/strategy/relay/relay-submit.d.cts +0 -22
  602. package/dist/strategy/relay/relay-submit.d.cts.map +0 -1
  603. package/dist/strategy/relay/relay-submit.d.mts +0 -22
  604. package/dist/strategy/relay/relay-submit.d.mts.map +0 -1
  605. package/dist/strategy/relay/relay-submit.mjs +0 -745
  606. package/dist/strategy/relay/relay-submit.mjs.map +0 -1
  607. package/dist/strategy/relay/relay-validation.cjs +0 -176
  608. package/dist/strategy/relay/relay-validation.cjs.map +0 -1
  609. package/dist/strategy/relay/relay-validation.d.cts +0 -11
  610. package/dist/strategy/relay/relay-validation.d.cts.map +0 -1
  611. package/dist/strategy/relay/relay-validation.d.mts +0 -11
  612. package/dist/strategy/relay/relay-validation.d.mts.map +0 -1
  613. package/dist/strategy/relay/relay-validation.mjs +0 -172
  614. package/dist/strategy/relay/relay-validation.mjs.map +0 -1
  615. package/dist/strategy/relay/types.cjs +0 -3
  616. package/dist/strategy/relay/types.cjs.map +0 -1
  617. package/dist/strategy/relay/types.d.cts +0 -206
  618. package/dist/strategy/relay/types.d.cts.map +0 -1
  619. package/dist/strategy/relay/types.d.mts +0 -206
  620. package/dist/strategy/relay/types.d.mts.map +0 -1
  621. package/dist/strategy/relay/types.mjs +0 -2
  622. package/dist/strategy/relay/types.mjs.map +0 -1
  623. package/dist/strategy/server/ServerStrategy.cjs +0 -35
  624. package/dist/strategy/server/ServerStrategy.cjs.map +0 -1
  625. package/dist/strategy/server/ServerStrategy.d.cts +0 -15
  626. package/dist/strategy/server/ServerStrategy.d.cts.map +0 -1
  627. package/dist/strategy/server/ServerStrategy.d.mts +0 -15
  628. package/dist/strategy/server/ServerStrategy.d.mts.map +0 -1
  629. package/dist/strategy/server/ServerStrategy.mjs +0 -31
  630. package/dist/strategy/server/ServerStrategy.mjs.map +0 -1
  631. package/dist/strategy/server/constants.cjs +0 -11
  632. package/dist/strategy/server/constants.cjs.map +0 -1
  633. package/dist/strategy/server/constants.d.cts +0 -8
  634. package/dist/strategy/server/constants.d.cts.map +0 -1
  635. package/dist/strategy/server/constants.d.mts +0 -8
  636. package/dist/strategy/server/constants.d.mts.map +0 -1
  637. package/dist/strategy/server/constants.mjs +0 -8
  638. package/dist/strategy/server/constants.mjs.map +0 -1
  639. package/dist/strategy/server/perps.cjs +0 -88
  640. package/dist/strategy/server/perps.cjs.map +0 -1
  641. package/dist/strategy/server/perps.d.cts +0 -40
  642. package/dist/strategy/server/perps.d.cts.map +0 -1
  643. package/dist/strategy/server/perps.d.mts +0 -40
  644. package/dist/strategy/server/perps.d.mts.map +0 -1
  645. package/dist/strategy/server/perps.mjs +0 -83
  646. package/dist/strategy/server/perps.mjs.map +0 -1
  647. package/dist/strategy/server/server-api.cjs +0 -98
  648. package/dist/strategy/server/server-api.cjs.map +0 -1
  649. package/dist/strategy/server/server-api.d.cts +0 -35
  650. package/dist/strategy/server/server-api.d.cts.map +0 -1
  651. package/dist/strategy/server/server-api.d.mts +0 -35
  652. package/dist/strategy/server/server-api.d.mts.map +0 -1
  653. package/dist/strategy/server/server-api.mjs +0 -92
  654. package/dist/strategy/server/server-api.mjs.map +0 -1
  655. package/dist/strategy/server/server-quotes.cjs +0 -365
  656. package/dist/strategy/server/server-quotes.cjs.map +0 -1
  657. package/dist/strategy/server/server-quotes.d.cts +0 -10
  658. package/dist/strategy/server/server-quotes.d.cts.map +0 -1
  659. package/dist/strategy/server/server-quotes.d.mts +0 -10
  660. package/dist/strategy/server/server-quotes.d.mts.map +0 -1
  661. package/dist/strategy/server/server-quotes.mjs +0 -361
  662. package/dist/strategy/server/server-quotes.mjs.map +0 -1
  663. package/dist/strategy/server/server-submit.cjs +0 -624
  664. package/dist/strategy/server/server-submit.cjs.map +0 -1
  665. package/dist/strategy/server/server-submit.d.cts +0 -13
  666. package/dist/strategy/server/server-submit.d.cts.map +0 -1
  667. package/dist/strategy/server/server-submit.d.mts +0 -13
  668. package/dist/strategy/server/server-submit.d.mts.map +0 -1
  669. package/dist/strategy/server/server-submit.mjs +0 -620
  670. package/dist/strategy/server/server-submit.mjs.map +0 -1
  671. package/dist/strategy/server/types.cjs +0 -26
  672. package/dist/strategy/server/types.cjs.map +0 -1
  673. package/dist/strategy/server/types.d.cts +0 -169
  674. package/dist/strategy/server/types.d.cts.map +0 -1
  675. package/dist/strategy/server/types.d.mts +0 -169
  676. package/dist/strategy/server/types.d.mts.map +0 -1
  677. package/dist/strategy/server/types.mjs +0 -23
  678. package/dist/strategy/server/types.mjs.map +0 -1
  679. package/dist/tests/messenger-mock.cjs +0 -116
  680. package/dist/tests/messenger-mock.cjs.map +0 -1
  681. package/dist/tests/messenger-mock.d.cts +0 -84
  682. package/dist/tests/messenger-mock.d.cts.map +0 -1
  683. package/dist/tests/messenger-mock.d.mts +0 -84
  684. package/dist/tests/messenger-mock.d.mts.map +0 -1
  685. package/dist/tests/messenger-mock.mjs +0 -112
  686. package/dist/tests/messenger-mock.mjs.map +0 -1
  687. package/dist/types.cjs +0 -13
  688. package/dist/types.cjs.map +0 -1
  689. package/dist/types.d.cts +0 -627
  690. package/dist/types.d.cts.map +0 -1
  691. package/dist/types.d.mts +0 -627
  692. package/dist/types.d.mts.map +0 -1
  693. package/dist/types.mjs +0 -10
  694. package/dist/types.mjs.map +0 -1
  695. package/dist/utils/7702.cjs +0 -23
  696. package/dist/utils/7702.cjs.map +0 -1
  697. package/dist/utils/7702.d.cts +0 -15
  698. package/dist/utils/7702.d.cts.map +0 -1
  699. package/dist/utils/7702.d.mts +0 -15
  700. package/dist/utils/7702.d.mts.map +0 -1
  701. package/dist/utils/7702.mjs +0 -19
  702. package/dist/utils/7702.mjs.map +0 -1
  703. package/dist/utils/amounts.cjs +0 -40
  704. package/dist/utils/amounts.cjs.map +0 -1
  705. package/dist/utils/amounts.d.cts +0 -18
  706. package/dist/utils/amounts.d.cts.map +0 -1
  707. package/dist/utils/amounts.d.mts +0 -18
  708. package/dist/utils/amounts.d.mts.map +0 -1
  709. package/dist/utils/amounts.mjs +0 -35
  710. package/dist/utils/amounts.mjs.map +0 -1
  711. package/dist/utils/chomp.cjs +0 -58
  712. package/dist/utils/chomp.cjs.map +0 -1
  713. package/dist/utils/chomp.d.cts +0 -9
  714. package/dist/utils/chomp.d.cts.map +0 -1
  715. package/dist/utils/chomp.d.mts +0 -9
  716. package/dist/utils/chomp.d.mts.map +0 -1
  717. package/dist/utils/chomp.mjs +0 -54
  718. package/dist/utils/chomp.mjs.map +0 -1
  719. package/dist/utils/error-prefix.cjs +0 -21
  720. package/dist/utils/error-prefix.cjs.map +0 -1
  721. package/dist/utils/error-prefix.d.cts +0 -9
  722. package/dist/utils/error-prefix.d.cts.map +0 -1
  723. package/dist/utils/error-prefix.d.mts +0 -9
  724. package/dist/utils/error-prefix.d.mts.map +0 -1
  725. package/dist/utils/error-prefix.mjs +0 -17
  726. package/dist/utils/error-prefix.mjs.map +0 -1
  727. package/dist/utils/feature-flags.cjs +0 -676
  728. package/dist/utils/feature-flags.cjs.map +0 -1
  729. package/dist/utils/feature-flags.d.cts +0 -328
  730. package/dist/utils/feature-flags.d.cts.map +0 -1
  731. package/dist/utils/feature-flags.d.mts +0 -328
  732. package/dist/utils/feature-flags.d.mts.map +0 -1
  733. package/dist/utils/feature-flags.mjs +0 -646
  734. package/dist/utils/feature-flags.mjs.map +0 -1
  735. package/dist/utils/gas-station.cjs +0 -91
  736. package/dist/utils/gas-station.cjs.map +0 -1
  737. package/dist/utils/gas-station.d.cts +0 -22
  738. package/dist/utils/gas-station.d.cts.map +0 -1
  739. package/dist/utils/gas-station.d.mts +0 -22
  740. package/dist/utils/gas-station.d.mts.map +0 -1
  741. package/dist/utils/gas-station.mjs +0 -86
  742. package/dist/utils/gas-station.mjs.map +0 -1
  743. package/dist/utils/gas.cjs +0 -225
  744. package/dist/utils/gas.cjs.map +0 -1
  745. package/dist/utils/gas.d.cts +0 -88
  746. package/dist/utils/gas.d.cts.map +0 -1
  747. package/dist/utils/gas.d.mts +0 -88
  748. package/dist/utils/gas.d.mts.map +0 -1
  749. package/dist/utils/gas.mjs +0 -217
  750. package/dist/utils/gas.mjs.map +0 -1
  751. package/dist/utils/ma-vault-deposit.cjs +0 -234
  752. package/dist/utils/ma-vault-deposit.cjs.map +0 -1
  753. package/dist/utils/ma-vault-deposit.d.cts +0 -40
  754. package/dist/utils/ma-vault-deposit.d.cts.map +0 -1
  755. package/dist/utils/ma-vault-deposit.d.mts +0 -40
  756. package/dist/utils/ma-vault-deposit.d.mts.map +0 -1
  757. package/dist/utils/ma-vault-deposit.mjs +0 -230
  758. package/dist/utils/ma-vault-deposit.mjs.map +0 -1
  759. package/dist/utils/no-op-quote.cjs +0 -56
  760. package/dist/utils/no-op-quote.cjs.map +0 -1
  761. package/dist/utils/no-op-quote.d.cts +0 -18
  762. package/dist/utils/no-op-quote.d.cts.map +0 -1
  763. package/dist/utils/no-op-quote.d.mts +0 -18
  764. package/dist/utils/no-op-quote.d.mts.map +0 -1
  765. package/dist/utils/no-op-quote.mjs +0 -52
  766. package/dist/utils/no-op-quote.mjs.map +0 -1
  767. package/dist/utils/provider.cjs +0 -87
  768. package/dist/utils/provider.cjs.map +0 -1
  769. package/dist/utils/provider.d.cts +0 -59
  770. package/dist/utils/provider.d.cts.map +0 -1
  771. package/dist/utils/provider.d.mts +0 -59
  772. package/dist/utils/provider.d.mts.map +0 -1
  773. package/dist/utils/provider.mjs +0 -82
  774. package/dist/utils/provider.mjs.map +0 -1
  775. package/dist/utils/quote-gas.cjs +0 -144
  776. package/dist/utils/quote-gas.cjs.map +0 -1
  777. package/dist/utils/quote-gas.d.cts +0 -32
  778. package/dist/utils/quote-gas.d.cts.map +0 -1
  779. package/dist/utils/quote-gas.d.mts +0 -32
  780. package/dist/utils/quote-gas.d.mts.map +0 -1
  781. package/dist/utils/quote-gas.mjs +0 -140
  782. package/dist/utils/quote-gas.mjs.map +0 -1
  783. package/dist/utils/quotes.cjs +0 -510
  784. package/dist/utils/quotes.cjs.map +0 -1
  785. package/dist/utils/quotes.d.cts +0 -31
  786. package/dist/utils/quotes.d.cts.map +0 -1
  787. package/dist/utils/quotes.d.mts +0 -31
  788. package/dist/utils/quotes.d.mts.map +0 -1
  789. package/dist/utils/quotes.mjs +0 -505
  790. package/dist/utils/quotes.mjs.map +0 -1
  791. package/dist/utils/required-tokens.cjs +0 -141
  792. package/dist/utils/required-tokens.cjs.map +0 -1
  793. package/dist/utils/required-tokens.d.cts +0 -14
  794. package/dist/utils/required-tokens.d.cts.map +0 -1
  795. package/dist/utils/required-tokens.d.mts +0 -14
  796. package/dist/utils/required-tokens.d.mts.map +0 -1
  797. package/dist/utils/required-tokens.mjs +0 -137
  798. package/dist/utils/required-tokens.mjs.map +0 -1
  799. package/dist/utils/simulation.cjs +0 -89
  800. package/dist/utils/simulation.cjs.map +0 -1
  801. package/dist/utils/simulation.d.cts +0 -15
  802. package/dist/utils/simulation.d.cts.map +0 -1
  803. package/dist/utils/simulation.d.mts +0 -15
  804. package/dist/utils/simulation.d.mts.map +0 -1
  805. package/dist/utils/simulation.mjs +0 -84
  806. package/dist/utils/simulation.mjs.map +0 -1
  807. package/dist/utils/source-amounts.cjs +0 -184
  808. package/dist/utils/source-amounts.cjs.map +0 -1
  809. package/dist/utils/source-amounts.d.cts +0 -14
  810. package/dist/utils/source-amounts.d.cts.map +0 -1
  811. package/dist/utils/source-amounts.d.mts +0 -14
  812. package/dist/utils/source-amounts.d.mts.map +0 -1
  813. package/dist/utils/source-amounts.mjs +0 -180
  814. package/dist/utils/source-amounts.mjs.map +0 -1
  815. package/dist/utils/strategy.cjs +0 -83
  816. package/dist/utils/strategy.cjs.map +0 -1
  817. package/dist/utils/strategy.d.cts +0 -42
  818. package/dist/utils/strategy.d.cts.map +0 -1
  819. package/dist/utils/strategy.d.mts +0 -42
  820. package/dist/utils/strategy.d.mts.map +0 -1
  821. package/dist/utils/strategy.mjs +0 -76
  822. package/dist/utils/strategy.mjs.map +0 -1
  823. package/dist/utils/token.cjs +0 -345
  824. package/dist/utils/token.cjs.map +0 -1
  825. package/dist/utils/token.d.cts +0 -133
  826. package/dist/utils/token.d.cts.map +0 -1
  827. package/dist/utils/token.d.mts +0 -133
  828. package/dist/utils/token.d.mts.map +0 -1
  829. package/dist/utils/token.mjs +0 -332
  830. package/dist/utils/token.mjs.map +0 -1
  831. package/dist/utils/totals.cjs +0 -141
  832. package/dist/utils/totals.cjs.map +0 -1
  833. package/dist/utils/totals.d.cts +0 -21
  834. package/dist/utils/totals.d.cts.map +0 -1
  835. package/dist/utils/totals.d.mts +0 -21
  836. package/dist/utils/totals.d.mts.map +0 -1
  837. package/dist/utils/totals.mjs +0 -137
  838. package/dist/utils/totals.mjs.map +0 -1
  839. package/dist/utils/transaction.cjs +0 -344
  840. package/dist/utils/transaction.cjs.map +0 -1
  841. package/dist/utils/transaction.d.cts +0 -109
  842. package/dist/utils/transaction.d.cts.map +0 -1
  843. package/dist/utils/transaction.d.mts +0 -109
  844. package/dist/utils/transaction.d.mts.map +0 -1
  845. package/dist/utils/transaction.mjs +0 -335
  846. package/dist/utils/transaction.mjs.map +0 -1
  847. package/dist/utils/validation.cjs +0 -210
  848. package/dist/utils/validation.cjs.map +0 -1
  849. package/dist/utils/validation.d.cts +0 -19
  850. package/dist/utils/validation.d.cts.map +0 -1
  851. package/dist/utils/validation.d.mts +0 -19
  852. package/dist/utils/validation.d.mts.map +0 -1
  853. package/dist/utils/validation.mjs +0 -204
  854. package/dist/utils/validation.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [28.0.0]
11
+
12
+ ### Changed
13
+
14
+ - **BREAKING:** Drop CommonJS support ([#9536](https://github.com/MetaMask/core/pull/9536))
15
+ - This package is now ESM-only, but can still be used in CommonJS projects via `require(esm)` in modern Node.js versions (22+), or dynamic imports in older Node.js versions.
16
+ - **BREAKING:** Bump minimum Node.js version to 22 ([#9976](https://github.com/MetaMask/core/pull/9976))
17
+ - **BREAKING:** Bump TypeScript target to ES2022 ([#10019](https://github.com/MetaMask/core/pull/10019))
18
+ - This package now ships ES2022 code, requiring a compatible modern environment or bundler configuration to consume.
19
+ - Bump `@metamask/assets-controllers` from `^111.2.0` to `^112.0.0` ([#10152](https://github.com/MetaMask/core/pull/10152), [#10160](https://github.com/MetaMask/core/pull/10160))
20
+ - Bump `@metamask/assets-controller` from `^15.1.0` to `^16.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
21
+ - Bump `@metamask/base-controller` from `^9.1.0` to `^10.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
22
+ - Bump `@metamask/controller-utils` from `^12.3.0` to `^13.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
23
+ - Bump `@metamask/gas-fee-controller` from `^26.3.2` to `^27.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
24
+ - Bump `@metamask/keyring-controller` from `^27.1.1` to `^28.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
25
+ - Bump `@metamask/messenger` from `^2.0.0` to `^3.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
26
+ - Bump `@metamask/network-controller` from `^36.0.0` to `^37.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
27
+ - Bump `@metamask/ramps-controller` from `^20.3.0` to `^21.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
28
+ - Bump `@metamask/remote-feature-flag-controller` from `^6.1.1` to `^7.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
29
+ - Bump `@metamask/sentinel-api-service` from `^1.0.1` to `^2.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
30
+ - Bump `@metamask/transaction-controller` from `^69.8.1` to `^70.0.0` ([#10160](https://github.com/MetaMask/core/pull/10160))
31
+
10
32
  ## [27.1.2]
11
33
 
12
34
  ### Changed
@@ -1505,7 +1527,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1505
1527
 
1506
1528
  - Initial release ([#6820](https://github.com/MetaMask/core/pull/6820))
1507
1529
 
1508
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-pay-controller@27.1.2...HEAD
1530
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-pay-controller@28.0.0...HEAD
1531
+ [28.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-pay-controller@27.1.2...@metamask/transaction-pay-controller@28.0.0
1509
1532
  [27.1.2]: https://github.com/MetaMask/core/compare/@metamask/transaction-pay-controller@27.1.1...@metamask/transaction-pay-controller@27.1.2
1510
1533
  [27.1.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-pay-controller@27.1.0...@metamask/transaction-pay-controller@27.1.1
1511
1534
  [27.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-pay-controller@27.0.0...@metamask/transaction-pay-controller@27.1.0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * This file is auto generated.
3
+ * Do not edit manually.
4
+ */
5
+ import type { TransactionPayController } from './TransactionPayController.js';
6
+ /**
7
+ * Sets the transaction configuration.
8
+ *
9
+ * The callback receives the current configuration properties and can mutate
10
+ * them in place. Updated values are written back to the transaction data.
11
+ *
12
+ * @param transactionId - The ID of the transaction to configure.
13
+ * @param callback - A callback that receives a mutable {@link TransactionConfig} object.
14
+ */
15
+ export type TransactionPayControllerSetTransactionConfigAction = {
16
+ type: `TransactionPayController:setTransactionConfig`;
17
+ handler: TransactionPayController['setTransactionConfig'];
18
+ };
19
+ /**
20
+ * Updates the payment token for a transaction.
21
+ *
22
+ * Resolves token metadata and balances, then stores the new payment token
23
+ * in the transaction data. This triggers recalculation of source amounts
24
+ * and quote retrieval.
25
+ *
26
+ * @param request - The payment token update request containing the
27
+ * transaction ID, token address, and chain ID.
28
+ */
29
+ export type TransactionPayControllerUpdatePaymentTokenAction = {
30
+ type: `TransactionPayController:updatePaymentToken`;
31
+ handler: TransactionPayController['updatePaymentToken'];
32
+ };
33
+ /**
34
+ * Updates the fiat payment state for a transaction.
35
+ *
36
+ * The request callback receives the current fiat payment state and can
37
+ * mutate it to update properties such as the selected payment method or
38
+ * fiat amount.
39
+ *
40
+ * @param request - The fiat payment update request containing the
41
+ * transaction ID and a callback to mutate fiat payment state.
42
+ */
43
+ export type TransactionPayControllerUpdateFiatPaymentAction = {
44
+ type: `TransactionPayController:updateFiatPayment`;
45
+ handler: TransactionPayController['updateFiatPayment'];
46
+ };
47
+ /**
48
+ * Gets the delegation transaction for a given transaction.
49
+ *
50
+ * Converts the provided transaction into a redeem delegation by delegating
51
+ * to the configured callback. Returns the delegation transaction data
52
+ * including the encoded call data, target address, value, and an optional
53
+ * authorization list.
54
+ *
55
+ * @param args - The arguments forwarded to the {@link GetDelegationTransactionCallback},
56
+ * containing the transaction metadata.
57
+ * @returns A promise resolving to the delegation transaction data.
58
+ */
59
+ export type TransactionPayControllerGetDelegationTransactionAction = {
60
+ type: `TransactionPayController:getDelegationTransaction`;
61
+ handler: TransactionPayController['getDelegationTransaction'];
62
+ };
63
+ /**
64
+ * Returns additional transactions for the paymentOverride flow.
65
+ *
66
+ * Delegates to the client-supplied {@link GetPaymentOverrideDataCallback}.
67
+ * Called during quote execution when `paymentOverride` is defined on the transaction.
68
+ * Returns an empty array when no callback is configured.
69
+ *
70
+ * @param args - The arguments forwarded to the {@link GetPaymentOverrideDataCallback}.
71
+ * @returns A promise resolving to the additional transactions array.
72
+ */
73
+ export type TransactionPayControllerGetAmountDataAction = {
74
+ type: `TransactionPayController:getAmountData`;
75
+ handler: TransactionPayController['getAmountData'];
76
+ };
77
+ /**
78
+ * Returns optional fiat execution configuration.
79
+ *
80
+ * This is intentionally not stored in controller state.
81
+ *
82
+ * @returns Fiat execution options, if configured.
83
+ */
84
+ export type TransactionPayControllerGetFiatOptionsAction = {
85
+ type: `TransactionPayController:getFiatOptions`;
86
+ handler: TransactionPayController['getFiatOptions'];
87
+ };
88
+ export type TransactionPayControllerGetPaymentOverrideDataAction = {
89
+ type: `TransactionPayController:getPaymentOverrideData`;
90
+ handler: TransactionPayController['getPaymentOverrideData'];
91
+ };
92
+ /**
93
+ * Gets the preferred strategy for a transaction.
94
+ *
95
+ * Returns the first strategy from the ordered list of strategies applicable
96
+ * to the given transaction. Falls back to the default strategy order derived
97
+ * from feature flags when no custom strategy callback is configured.
98
+ *
99
+ * @param transaction - The transaction metadata to determine the strategy for.
100
+ * @returns The preferred {@link TransactionPayStrategy} for the transaction.
101
+ */
102
+ export type TransactionPayControllerGetStrategyAction = {
103
+ type: `TransactionPayController:getStrategy`;
104
+ handler: TransactionPayController['getStrategy'];
105
+ };
106
+ /**
107
+ * Derives the Polymarket deposit-wallet address for an EOA via the
108
+ * client-supplied callback.
109
+ *
110
+ * @param args - The arguments forwarded to {@link PolymarketCallbacks.getDepositWalletAddress}.
111
+ * @returns A promise resolving to the deposit-wallet address.
112
+ */
113
+ export type TransactionPayControllerPolymarketGetDepositWalletAddressAction = {
114
+ type: `TransactionPayController:polymarketGetDepositWalletAddress`;
115
+ handler: TransactionPayController['polymarketGetDepositWalletAddress'];
116
+ };
117
+ /**
118
+ * Signs and broadcasts a Polymarket deposit-wallet batch via the
119
+ * client-supplied callback.
120
+ *
121
+ * @param args - The arguments forwarded to {@link PolymarketCallbacks.submitDepositWalletBatch}.
122
+ * @returns A promise resolving to the relayer-issued source hash.
123
+ */
124
+ export type TransactionPayControllerPolymarketSubmitDepositWalletBatchAction = {
125
+ type: `TransactionPayController:polymarketSubmitDepositWalletBatch`;
126
+ handler: TransactionPayController['polymarketSubmitDepositWalletBatch'];
127
+ };
128
+ /**
129
+ * Union of all TransactionPayController action types.
130
+ */
131
+ export type TransactionPayControllerMethodActions = TransactionPayControllerSetTransactionConfigAction | TransactionPayControllerUpdatePaymentTokenAction | TransactionPayControllerUpdateFiatPaymentAction | TransactionPayControllerGetDelegationTransactionAction | TransactionPayControllerGetAmountDataAction | TransactionPayControllerGetFiatOptionsAction | TransactionPayControllerGetPaymentOverrideDataAction | TransactionPayControllerGetStrategyAction | TransactionPayControllerPolymarketGetDepositWalletAddressAction | TransactionPayControllerPolymarketSubmitDepositWalletBatchAction;
132
+ //# sourceMappingURL=TransactionPayController-method-action-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionPayController-method-action-types.d.ts","sourceRoot":"","sources":["../src/TransactionPayController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;;;;;;GAQG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,gDAAgD,GAAG;IAC7D,IAAI,EAAE,6CAA6C,CAAC;IACpD,OAAO,EAAE,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sDAAsD,GAAG;IACnE,IAAI,EAAE,mDAAmD,CAAC;IAC1D,OAAO,EAAE,wBAAwB,CAAC,0BAA0B,CAAC,CAAC;CAC/D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,wBAAwB,CAAC,eAAe,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,oDAAoD,GAAG;IACjE,IAAI,EAAE,iDAAiD,CAAC;IACxD,OAAO,EAAE,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;CAC7D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+DAA+D,GAAG;IAC5E,IAAI,EAAE,4DAA4D,CAAC;IACnE,OAAO,EAAE,wBAAwB,CAAC,mCAAmC,CAAC,CAAC;CACxE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gEAAgE,GAAG;IAC7E,IAAI,EAAE,6DAA6D,CAAC;IACpE,OAAO,EAAE,wBAAwB,CAAC,oCAAoC,CAAC,CAAC;CACzE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAC7C,kDAAkD,GAClD,gDAAgD,GAChD,+CAA+C,GAC/C,sDAAsD,GACtD,2CAA2C,GAC3C,4CAA4C,GAC5C,oDAAoD,GACpD,yCAAyC,GACzC,+DAA+D,GAC/D,gEAAgE,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file is auto generated.
3
+ * Do not edit manually.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=TransactionPayController-method-action-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionPayController-method-action-types.js","sourceRoot":"","sources":["../src/TransactionPayController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { TransactionPayController } from './TransactionPayController.js';\n\n/**\n * Sets the transaction configuration.\n *\n * The callback receives the current configuration properties and can mutate\n * them in place. Updated values are written back to the transaction data.\n *\n * @param transactionId - The ID of the transaction to configure.\n * @param callback - A callback that receives a mutable {@link TransactionConfig} object.\n */\nexport type TransactionPayControllerSetTransactionConfigAction = {\n type: `TransactionPayController:setTransactionConfig`;\n handler: TransactionPayController['setTransactionConfig'];\n};\n\n/**\n * Updates the payment token for a transaction.\n *\n * Resolves token metadata and balances, then stores the new payment token\n * in the transaction data. This triggers recalculation of source amounts\n * and quote retrieval.\n *\n * @param request - The payment token update request containing the\n * transaction ID, token address, and chain ID.\n */\nexport type TransactionPayControllerUpdatePaymentTokenAction = {\n type: `TransactionPayController:updatePaymentToken`;\n handler: TransactionPayController['updatePaymentToken'];\n};\n\n/**\n * Updates the fiat payment state for a transaction.\n *\n * The request callback receives the current fiat payment state and can\n * mutate it to update properties such as the selected payment method or\n * fiat amount.\n *\n * @param request - The fiat payment update request containing the\n * transaction ID and a callback to mutate fiat payment state.\n */\nexport type TransactionPayControllerUpdateFiatPaymentAction = {\n type: `TransactionPayController:updateFiatPayment`;\n handler: TransactionPayController['updateFiatPayment'];\n};\n\n/**\n * Gets the delegation transaction for a given transaction.\n *\n * Converts the provided transaction into a redeem delegation by delegating\n * to the configured callback. Returns the delegation transaction data\n * including the encoded call data, target address, value, and an optional\n * authorization list.\n *\n * @param args - The arguments forwarded to the {@link GetDelegationTransactionCallback},\n * containing the transaction metadata.\n * @returns A promise resolving to the delegation transaction data.\n */\nexport type TransactionPayControllerGetDelegationTransactionAction = {\n type: `TransactionPayController:getDelegationTransaction`;\n handler: TransactionPayController['getDelegationTransaction'];\n};\n\n/**\n * Returns additional transactions for the paymentOverride flow.\n *\n * Delegates to the client-supplied {@link GetPaymentOverrideDataCallback}.\n * Called during quote execution when `paymentOverride` is defined on the transaction.\n * Returns an empty array when no callback is configured.\n *\n * @param args - The arguments forwarded to the {@link GetPaymentOverrideDataCallback}.\n * @returns A promise resolving to the additional transactions array.\n */\nexport type TransactionPayControllerGetAmountDataAction = {\n type: `TransactionPayController:getAmountData`;\n handler: TransactionPayController['getAmountData'];\n};\n\n/**\n * Returns optional fiat execution configuration.\n *\n * This is intentionally not stored in controller state.\n *\n * @returns Fiat execution options, if configured.\n */\nexport type TransactionPayControllerGetFiatOptionsAction = {\n type: `TransactionPayController:getFiatOptions`;\n handler: TransactionPayController['getFiatOptions'];\n};\n\nexport type TransactionPayControllerGetPaymentOverrideDataAction = {\n type: `TransactionPayController:getPaymentOverrideData`;\n handler: TransactionPayController['getPaymentOverrideData'];\n};\n\n/**\n * Gets the preferred strategy for a transaction.\n *\n * Returns the first strategy from the ordered list of strategies applicable\n * to the given transaction. Falls back to the default strategy order derived\n * from feature flags when no custom strategy callback is configured.\n *\n * @param transaction - The transaction metadata to determine the strategy for.\n * @returns The preferred {@link TransactionPayStrategy} for the transaction.\n */\nexport type TransactionPayControllerGetStrategyAction = {\n type: `TransactionPayController:getStrategy`;\n handler: TransactionPayController['getStrategy'];\n};\n\n/**\n * Derives the Polymarket deposit-wallet address for an EOA via the\n * client-supplied callback.\n *\n * @param args - The arguments forwarded to {@link PolymarketCallbacks.getDepositWalletAddress}.\n * @returns A promise resolving to the deposit-wallet address.\n */\nexport type TransactionPayControllerPolymarketGetDepositWalletAddressAction = {\n type: `TransactionPayController:polymarketGetDepositWalletAddress`;\n handler: TransactionPayController['polymarketGetDepositWalletAddress'];\n};\n\n/**\n * Signs and broadcasts a Polymarket deposit-wallet batch via the\n * client-supplied callback.\n *\n * @param args - The arguments forwarded to {@link PolymarketCallbacks.submitDepositWalletBatch}.\n * @returns A promise resolving to the relayer-issued source hash.\n */\nexport type TransactionPayControllerPolymarketSubmitDepositWalletBatchAction = {\n type: `TransactionPayController:polymarketSubmitDepositWalletBatch`;\n handler: TransactionPayController['polymarketSubmitDepositWalletBatch'];\n};\n\n/**\n * Union of all TransactionPayController action types.\n */\nexport type TransactionPayControllerMethodActions =\n | TransactionPayControllerSetTransactionConfigAction\n | TransactionPayControllerUpdatePaymentTokenAction\n | TransactionPayControllerUpdateFiatPaymentAction\n | TransactionPayControllerGetDelegationTransactionAction\n | TransactionPayControllerGetAmountDataAction\n | TransactionPayControllerGetFiatOptionsAction\n | TransactionPayControllerGetPaymentOverrideDataAction\n | TransactionPayControllerGetStrategyAction\n | TransactionPayControllerPolymarketGetDepositWalletAddressAction\n | TransactionPayControllerPolymarketSubmitDepositWalletBatchAction;\n"]}
@@ -0,0 +1,101 @@
1
+ import { BaseController } from '@metamask/base-controller';
2
+ import type { TransactionMeta } from '@metamask/transaction-controller';
3
+ import { CONTROLLER_NAME, TransactionPayStrategy } from './constants.js';
4
+ import type { GetAmountDataCallback, GetDelegationTransactionCallback, GetPaymentOverrideDataCallback, PolymarketCallbacks, TransactionConfigCallback, TransactionPayControllerMessenger, TransactionPayFiatOptions, TransactionPayControllerOptions, TransactionPayControllerState, UpdateFiatPaymentRequest, UpdatePaymentTokenRequest } from './types.js';
5
+ export declare class TransactionPayController extends BaseController<typeof CONTROLLER_NAME, TransactionPayControllerState, TransactionPayControllerMessenger> {
6
+ #private;
7
+ constructor({ fiatOptions, getAmountData, getBalance, getDelegationTransaction, getPaymentOverrideData, getStrategy, getStrategies, messenger, polymarket, state, }: TransactionPayControllerOptions);
8
+ /**
9
+ * Sets the transaction configuration.
10
+ *
11
+ * The callback receives the current configuration properties and can mutate
12
+ * them in place. Updated values are written back to the transaction data.
13
+ *
14
+ * @param transactionId - The ID of the transaction to configure.
15
+ * @param callback - A callback that receives a mutable {@link TransactionConfig} object.
16
+ */
17
+ setTransactionConfig(transactionId: string, callback: TransactionConfigCallback): void;
18
+ /**
19
+ * Updates the payment token for a transaction.
20
+ *
21
+ * Resolves token metadata and balances, then stores the new payment token
22
+ * in the transaction data. This triggers recalculation of source amounts
23
+ * and quote retrieval.
24
+ *
25
+ * @param request - The payment token update request containing the
26
+ * transaction ID, token address, and chain ID.
27
+ */
28
+ updatePaymentToken(request: UpdatePaymentTokenRequest): void;
29
+ /**
30
+ * Updates the fiat payment state for a transaction.
31
+ *
32
+ * The request callback receives the current fiat payment state and can
33
+ * mutate it to update properties such as the selected payment method or
34
+ * fiat amount.
35
+ *
36
+ * @param request - The fiat payment update request containing the
37
+ * transaction ID and a callback to mutate fiat payment state.
38
+ */
39
+ updateFiatPayment(request: UpdateFiatPaymentRequest): void;
40
+ /**
41
+ * Gets the delegation transaction for a given transaction.
42
+ *
43
+ * Converts the provided transaction into a redeem delegation by delegating
44
+ * to the configured callback. Returns the delegation transaction data
45
+ * including the encoded call data, target address, value, and an optional
46
+ * authorization list.
47
+ *
48
+ * @param args - The arguments forwarded to the {@link GetDelegationTransactionCallback},
49
+ * containing the transaction metadata.
50
+ * @returns A promise resolving to the delegation transaction data.
51
+ */
52
+ getDelegationTransaction(...args: Parameters<GetDelegationTransactionCallback>): ReturnType<GetDelegationTransactionCallback>;
53
+ /**
54
+ * Returns additional transactions for the paymentOverride flow.
55
+ *
56
+ * Delegates to the client-supplied {@link GetPaymentOverrideDataCallback}.
57
+ * Called during quote execution when `paymentOverride` is defined on the transaction.
58
+ * Returns an empty array when no callback is configured.
59
+ *
60
+ * @param args - The arguments forwarded to the {@link GetPaymentOverrideDataCallback}.
61
+ * @returns A promise resolving to the additional transactions array.
62
+ */
63
+ getAmountData(...args: Parameters<GetAmountDataCallback>): ReturnType<GetAmountDataCallback>;
64
+ /**
65
+ * Returns optional fiat execution configuration.
66
+ *
67
+ * This is intentionally not stored in controller state.
68
+ *
69
+ * @returns Fiat execution options, if configured.
70
+ */
71
+ getFiatOptions(): TransactionPayFiatOptions | undefined;
72
+ getPaymentOverrideData(...args: Parameters<GetPaymentOverrideDataCallback>): ReturnType<GetPaymentOverrideDataCallback>;
73
+ /**
74
+ * Gets the preferred strategy for a transaction.
75
+ *
76
+ * Returns the first strategy from the ordered list of strategies applicable
77
+ * to the given transaction. Falls back to the default strategy order derived
78
+ * from feature flags when no custom strategy callback is configured.
79
+ *
80
+ * @param transaction - The transaction metadata to determine the strategy for.
81
+ * @returns The preferred {@link TransactionPayStrategy} for the transaction.
82
+ */
83
+ getStrategy(transaction: TransactionMeta): TransactionPayStrategy;
84
+ /**
85
+ * Derives the Polymarket deposit-wallet address for an EOA via the
86
+ * client-supplied callback.
87
+ *
88
+ * @param args - The arguments forwarded to {@link PolymarketCallbacks.getDepositWalletAddress}.
89
+ * @returns A promise resolving to the deposit-wallet address.
90
+ */
91
+ polymarketGetDepositWalletAddress(...args: Parameters<PolymarketCallbacks['getDepositWalletAddress']>): ReturnType<PolymarketCallbacks['getDepositWalletAddress']>;
92
+ /**
93
+ * Signs and broadcasts a Polymarket deposit-wallet batch via the
94
+ * client-supplied callback.
95
+ *
96
+ * @param args - The arguments forwarded to {@link PolymarketCallbacks.submitDepositWalletBatch}.
97
+ * @returns A promise resolving to the relayer-issued source hash.
98
+ */
99
+ polymarketSubmitDepositWalletBatch(...args: Parameters<PolymarketCallbacks['submitDepositWalletBatch']>): ReturnType<PolymarketCallbacks['submitDepositWalletBatch']>;
100
+ }
101
+ //# sourceMappingURL=TransactionPayController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionPayController.d.ts","sourceRoot":"","sources":["../src/TransactionPayController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAMxE,OAAO,EACL,eAAe,EAEf,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,qBAAqB,EAErB,gCAAgC,EAChC,8BAA8B,EAC9B,mBAAmB,EAEnB,yBAAyB,EAEzB,iCAAiC,EACjC,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAmCpB,qBAAa,wBAAyB,SAAQ,cAAc,CAC1D,OAAO,eAAe,EACtB,6BAA6B,EAC7B,iCAAiC,CAClC;;IAqBC,YAAY,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,KAAK,GACN,EAAE,+BAA+B,EAwCjC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAClB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,yBAAyB,GAClC,IAAI,CA2BN;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAK3D;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAKzD;IAED;;;;;;;;;;;OAWG;IACH,wBAAwB,CACtB,GAAG,IAAI,EAAE,UAAU,CAAC,gCAAgC,CAAC,GACpD,UAAU,CAAC,gCAAgC,CAAC,CAE9C;IAED;;;;;;;;;OASG;IACH,aAAa,CACX,GAAG,IAAI,EAAE,UAAU,CAAC,qBAAqB,CAAC,GACzC,UAAU,CAAC,qBAAqB,CAAC,CAEnC;IAED;;;;;;OAMG;IACH,cAAc,IAAI,yBAAyB,GAAG,SAAS,CAEtD;IAED,sBAAsB,CACpB,GAAG,IAAI,EAAE,UAAU,CAAC,8BAA8B,CAAC,GAClD,UAAU,CAAC,8BAA8B,CAAC,CAI5C;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,WAAW,EAAE,eAAe,GAAG,sBAAsB,CAEhE;IAED;;;;;;OAMG;IACH,iCAAiC,CAC/B,GAAG,IAAI,EAAE,UAAU,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC,GAClE,UAAU,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC,CAE5D;IAED;;;;;;OAMG;IACH,kCAAkC,CAChC,GAAG,IAAI,EAAE,UAAU,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC,GACnE,UAAU,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC,CAE7D;CA0HF"}
@@ -0,0 +1,281 @@
1
+ import { BaseController } from '@metamask/base-controller';
2
+ import { noop } from 'lodash-es';
3
+ import { updateFiatPayment } from './actions/update-fiat-payment.js';
4
+ import { updatePaymentToken } from './actions/update-payment-token.js';
5
+ import { CONTROLLER_NAME, isTransactionPayStrategy, } from './constants.js';
6
+ import { QuoteRefresher } from './helpers/QuoteRefresher.js';
7
+ import { getStrategyOrder } from './utils/feature-flags.js';
8
+ import { updateQuotes } from './utils/quotes.js';
9
+ import { updateSourceAmounts } from './utils/source-amounts.js';
10
+ import { subscribeAssetChanges, subscribeTransactionChanges, } from './utils/transaction.js';
11
+ const MESSENGER_EXPOSED_METHODS = [
12
+ 'getAmountData',
13
+ 'getDelegationTransaction',
14
+ 'getFiatOptions',
15
+ 'getPaymentOverrideData',
16
+ 'getStrategy',
17
+ 'polymarketGetDepositWalletAddress',
18
+ 'polymarketSubmitDepositWalletBatch',
19
+ 'setTransactionConfig',
20
+ 'updateFiatPayment',
21
+ 'updatePaymentToken',
22
+ ];
23
+ const stateMetadata = {
24
+ transactionData: {
25
+ includeInDebugSnapshot: false,
26
+ includeInStateLogs: true,
27
+ persist: false,
28
+ usedInUi: true,
29
+ },
30
+ };
31
+ const getDefaultState = () => ({
32
+ transactionData: {},
33
+ });
34
+ export class TransactionPayController extends BaseController {
35
+ #fiatOptions;
36
+ #getAmountData;
37
+ #getBalance;
38
+ #getDelegationTransaction;
39
+ #getPaymentOverrideData;
40
+ #getStrategy;
41
+ #getStrategies;
42
+ #polymarket;
43
+ constructor({ fiatOptions, getAmountData, getBalance, getDelegationTransaction, getPaymentOverrideData, getStrategy, getStrategies, messenger, polymarket, state, }) {
44
+ super({
45
+ name: CONTROLLER_NAME,
46
+ metadata: stateMetadata,
47
+ messenger,
48
+ state: { ...getDefaultState(), ...state },
49
+ });
50
+ this.#fiatOptions = fiatOptions;
51
+ this.#getAmountData = getAmountData;
52
+ this.#getBalance = getBalance;
53
+ this.#getDelegationTransaction = getDelegationTransaction;
54
+ this.#getPaymentOverrideData = getPaymentOverrideData;
55
+ this.#getStrategy = getStrategy;
56
+ this.#getStrategies = getStrategies;
57
+ this.#polymarket = polymarket;
58
+ this.messenger.registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
59
+ subscribeTransactionChanges(messenger, this.#updateTransactionData.bind(this), this.#removeTransactionData.bind(this));
60
+ subscribeAssetChanges(messenger, () => this.state, this.#updateTransactionData.bind(this));
61
+ // eslint-disable-next-line no-new
62
+ new QuoteRefresher({
63
+ getStrategies: this.#getStrategiesWithFallback.bind(this),
64
+ messenger,
65
+ updateTransactionData: this.#updateTransactionData.bind(this),
66
+ });
67
+ }
68
+ /**
69
+ * Sets the transaction configuration.
70
+ *
71
+ * The callback receives the current configuration properties and can mutate
72
+ * them in place. Updated values are written back to the transaction data.
73
+ *
74
+ * @param transactionId - The ID of the transaction to configure.
75
+ * @param callback - A callback that receives a mutable {@link TransactionConfig} object.
76
+ */
77
+ setTransactionConfig(transactionId, callback) {
78
+ this.#updateTransactionData(transactionId, (transactionData) => {
79
+ const config = {
80
+ accountOverride: transactionData.accountOverride,
81
+ atomic: transactionData.atomic,
82
+ isHyperliquidSource: transactionData.isHyperliquidSource,
83
+ isMaxAmount: transactionData.isMaxAmount,
84
+ isPolymarketDepositWallet: transactionData.isPolymarketDepositWallet,
85
+ isPostQuote: transactionData.isPostQuote,
86
+ isQuoteRequired: transactionData.isQuoteRequired,
87
+ paymentOverride: transactionData.paymentOverride,
88
+ refundTo: transactionData.refundTo,
89
+ };
90
+ const previousAccountOverride = config.accountOverride;
91
+ callback(config);
92
+ Object.assign(transactionData, config);
93
+ if (!config.isPostQuote &&
94
+ config.accountOverride !== previousAccountOverride) {
95
+ transactionData.paymentToken = undefined;
96
+ }
97
+ });
98
+ }
99
+ /**
100
+ * Updates the payment token for a transaction.
101
+ *
102
+ * Resolves token metadata and balances, then stores the new payment token
103
+ * in the transaction data. This triggers recalculation of source amounts
104
+ * and quote retrieval.
105
+ *
106
+ * @param request - The payment token update request containing the
107
+ * transaction ID, token address, and chain ID.
108
+ */
109
+ updatePaymentToken(request) {
110
+ updatePaymentToken(request, {
111
+ messenger: this.messenger,
112
+ updateTransactionData: this.#updateTransactionData.bind(this),
113
+ });
114
+ }
115
+ /**
116
+ * Updates the fiat payment state for a transaction.
117
+ *
118
+ * The request callback receives the current fiat payment state and can
119
+ * mutate it to update properties such as the selected payment method or
120
+ * fiat amount.
121
+ *
122
+ * @param request - The fiat payment update request containing the
123
+ * transaction ID and a callback to mutate fiat payment state.
124
+ */
125
+ updateFiatPayment(request) {
126
+ updateFiatPayment(request, {
127
+ messenger: this.messenger,
128
+ updateTransactionData: this.#updateTransactionData.bind(this),
129
+ });
130
+ }
131
+ /**
132
+ * Gets the delegation transaction for a given transaction.
133
+ *
134
+ * Converts the provided transaction into a redeem delegation by delegating
135
+ * to the configured callback. Returns the delegation transaction data
136
+ * including the encoded call data, target address, value, and an optional
137
+ * authorization list.
138
+ *
139
+ * @param args - The arguments forwarded to the {@link GetDelegationTransactionCallback},
140
+ * containing the transaction metadata.
141
+ * @returns A promise resolving to the delegation transaction data.
142
+ */
143
+ getDelegationTransaction(...args) {
144
+ return this.#getDelegationTransaction(...args);
145
+ }
146
+ /**
147
+ * Returns additional transactions for the paymentOverride flow.
148
+ *
149
+ * Delegates to the client-supplied {@link GetPaymentOverrideDataCallback}.
150
+ * Called during quote execution when `paymentOverride` is defined on the transaction.
151
+ * Returns an empty array when no callback is configured.
152
+ *
153
+ * @param args - The arguments forwarded to the {@link GetPaymentOverrideDataCallback}.
154
+ * @returns A promise resolving to the additional transactions array.
155
+ */
156
+ getAmountData(...args) {
157
+ return this.#getAmountData?.(...args) ?? Promise.resolve({ updates: [] });
158
+ }
159
+ /**
160
+ * Returns optional fiat execution configuration.
161
+ *
162
+ * This is intentionally not stored in controller state.
163
+ *
164
+ * @returns Fiat execution options, if configured.
165
+ */
166
+ getFiatOptions() {
167
+ return this.#fiatOptions;
168
+ }
169
+ getPaymentOverrideData(...args) {
170
+ return (this.#getPaymentOverrideData?.(...args) ?? Promise.resolve({ calls: [] }));
171
+ }
172
+ /**
173
+ * Gets the preferred strategy for a transaction.
174
+ *
175
+ * Returns the first strategy from the ordered list of strategies applicable
176
+ * to the given transaction. Falls back to the default strategy order derived
177
+ * from feature flags when no custom strategy callback is configured.
178
+ *
179
+ * @param transaction - The transaction metadata to determine the strategy for.
180
+ * @returns The preferred {@link TransactionPayStrategy} for the transaction.
181
+ */
182
+ getStrategy(transaction) {
183
+ return this.#getStrategiesWithFallback(transaction)[0];
184
+ }
185
+ /**
186
+ * Derives the Polymarket deposit-wallet address for an EOA via the
187
+ * client-supplied callback.
188
+ *
189
+ * @param args - The arguments forwarded to {@link PolymarketCallbacks.getDepositWalletAddress}.
190
+ * @returns A promise resolving to the deposit-wallet address.
191
+ */
192
+ polymarketGetDepositWalletAddress(...args) {
193
+ return this.#requirePolymarket().getDepositWalletAddress(...args);
194
+ }
195
+ /**
196
+ * Signs and broadcasts a Polymarket deposit-wallet batch via the
197
+ * client-supplied callback.
198
+ *
199
+ * @param args - The arguments forwarded to {@link PolymarketCallbacks.submitDepositWalletBatch}.
200
+ * @returns A promise resolving to the relayer-issued source hash.
201
+ */
202
+ polymarketSubmitDepositWalletBatch(...args) {
203
+ return this.#requirePolymarket().submitDepositWalletBatch(...args);
204
+ }
205
+ #requirePolymarket() {
206
+ if (!this.#polymarket) {
207
+ throw new Error('TransactionPayController: Polymarket callbacks missing');
208
+ }
209
+ return this.#polymarket;
210
+ }
211
+ #removeTransactionData(transactionId) {
212
+ this.update((state) => {
213
+ delete state.transactionData[transactionId];
214
+ });
215
+ }
216
+ #updateTransactionData(transactionId, fn) {
217
+ let shouldUpdateQuotes = false;
218
+ this.update((state) => {
219
+ const { transactionData } = state;
220
+ let current = transactionData[transactionId];
221
+ const originalPaymentToken = current?.paymentToken;
222
+ const originalTokens = current?.tokens;
223
+ const originalIsMaxAmount = current?.isMaxAmount;
224
+ const originalIsPostQuote = current?.isPostQuote;
225
+ const originalAccountOverride = current?.accountOverride;
226
+ const originalFiatPaymentAmount = current?.fiatPayment?.amountFiat;
227
+ const originalFiatPaymentMethodId = current?.fiatPayment?.selectedPaymentMethodId;
228
+ if (!current) {
229
+ transactionData[transactionId] = {
230
+ fiatPayment: {},
231
+ isLoading: false,
232
+ tokens: [],
233
+ };
234
+ current = transactionData[transactionId];
235
+ }
236
+ fn(current);
237
+ const isPaymentTokenUpdated = current.paymentToken?.address?.toLowerCase() !==
238
+ originalPaymentToken?.address?.toLowerCase() ||
239
+ current.paymentToken?.chainId !== originalPaymentToken?.chainId;
240
+ const isTokensUpdated = current.tokens !== originalTokens;
241
+ const isIsMaxUpdated = current.isMaxAmount !== originalIsMaxAmount;
242
+ const isPostQuoteUpdated = current.isPostQuote !== originalIsPostQuote;
243
+ const isAccountOverrideUpdated = current.accountOverride !== originalAccountOverride;
244
+ const isFiatAmountUpdated = current.fiatPayment?.amountFiat !== originalFiatPaymentAmount;
245
+ const isFiatPaymentMethodUpdated = current.fiatPayment?.selectedPaymentMethodId !==
246
+ originalFiatPaymentMethodId;
247
+ if (isPaymentTokenUpdated ||
248
+ isIsMaxUpdated ||
249
+ isTokensUpdated ||
250
+ isPostQuoteUpdated ||
251
+ isAccountOverrideUpdated) {
252
+ updateSourceAmounts(transactionId, current, this.messenger, this.#getBalance);
253
+ shouldUpdateQuotes = true;
254
+ }
255
+ if (isFiatAmountUpdated || isFiatPaymentMethodUpdated) {
256
+ shouldUpdateQuotes = true;
257
+ }
258
+ });
259
+ if (shouldUpdateQuotes) {
260
+ updateQuotes({
261
+ getStrategies: this.#getStrategiesWithFallback.bind(this),
262
+ messenger: this.messenger,
263
+ transactionData: this.state.transactionData[transactionId],
264
+ transactionId,
265
+ updateTransactionData: this.#updateTransactionData.bind(this),
266
+ }).catch(noop);
267
+ }
268
+ }
269
+ #getStrategiesWithFallback(transaction) {
270
+ const transactionData = this.state.transactionData[transaction.id];
271
+ const strategyCandidates = this.#getStrategies?.(transaction) ??
272
+ (this.#getStrategy ? [this.#getStrategy(transaction)] : []);
273
+ const validStrategies = strategyCandidates.filter((strategy) => isTransactionPayStrategy(strategy));
274
+ if (validStrategies.length) {
275
+ return validStrategies;
276
+ }
277
+ const paymentToken = transactionData?.paymentToken;
278
+ return getStrategyOrder(this.messenger, paymentToken?.chainId, paymentToken?.address, transaction.type, transactionData?.fiatPayment?.selectedPaymentMethodId);
279
+ }
280
+ }
281
+ //# sourceMappingURL=TransactionPayController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionPayController.js","sourceRoot":"","sources":["../src/TransactionPayController.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StateMetadata } from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { TransactionMeta } from '@metamask/transaction-controller';\nimport type { Draft } from 'immer';\nimport { noop } from 'lodash-es';\n\nimport { updateFiatPayment } from './actions/update-fiat-payment.js';\nimport { updatePaymentToken } from './actions/update-payment-token.js';\nimport {\n CONTROLLER_NAME,\n isTransactionPayStrategy,\n TransactionPayStrategy,\n} from './constants.js';\nimport { QuoteRefresher } from './helpers/QuoteRefresher.js';\nimport type {\n GetAmountDataCallback,\n GetBalanceCallback,\n GetDelegationTransactionCallback,\n GetPaymentOverrideDataCallback,\n PolymarketCallbacks,\n TransactionConfig,\n TransactionConfigCallback,\n TransactionData,\n TransactionPayControllerMessenger,\n TransactionPayFiatOptions,\n TransactionPayControllerOptions,\n TransactionPayControllerState,\n UpdateFiatPaymentRequest,\n UpdatePaymentTokenRequest,\n} from './types.js';\nimport { getStrategyOrder } from './utils/feature-flags.js';\nimport { updateQuotes } from './utils/quotes.js';\nimport { updateSourceAmounts } from './utils/source-amounts.js';\nimport {\n subscribeAssetChanges,\n subscribeTransactionChanges,\n} from './utils/transaction.js';\n\nconst MESSENGER_EXPOSED_METHODS = [\n 'getAmountData',\n 'getDelegationTransaction',\n 'getFiatOptions',\n 'getPaymentOverrideData',\n 'getStrategy',\n 'polymarketGetDepositWalletAddress',\n 'polymarketSubmitDepositWalletBatch',\n 'setTransactionConfig',\n 'updateFiatPayment',\n 'updatePaymentToken',\n] as const;\n\nconst stateMetadata: StateMetadata<TransactionPayControllerState> = {\n transactionData: {\n includeInDebugSnapshot: false,\n includeInStateLogs: true,\n persist: false,\n usedInUi: true,\n },\n};\n\nconst getDefaultState = (): TransactionPayControllerState => ({\n transactionData: {},\n});\n\nexport class TransactionPayController extends BaseController<\n typeof CONTROLLER_NAME,\n TransactionPayControllerState,\n TransactionPayControllerMessenger\n> {\n readonly #fiatOptions?: TransactionPayFiatOptions;\n\n readonly #getAmountData?: GetAmountDataCallback;\n\n readonly #getBalance?: GetBalanceCallback;\n\n readonly #getDelegationTransaction: GetDelegationTransactionCallback;\n\n readonly #getPaymentOverrideData?: GetPaymentOverrideDataCallback;\n\n readonly #getStrategy?: (\n transaction: TransactionMeta,\n ) => TransactionPayStrategy;\n\n readonly #getStrategies?: (\n transaction: TransactionMeta,\n ) => TransactionPayStrategy[];\n\n readonly #polymarket?: PolymarketCallbacks;\n\n constructor({\n fiatOptions,\n getAmountData,\n getBalance,\n getDelegationTransaction,\n getPaymentOverrideData,\n getStrategy,\n getStrategies,\n messenger,\n polymarket,\n state,\n }: TransactionPayControllerOptions) {\n super({\n name: CONTROLLER_NAME,\n metadata: stateMetadata,\n messenger,\n state: { ...getDefaultState(), ...state },\n });\n\n this.#fiatOptions = fiatOptions;\n this.#getAmountData = getAmountData;\n this.#getBalance = getBalance;\n this.#getDelegationTransaction = getDelegationTransaction;\n this.#getPaymentOverrideData = getPaymentOverrideData;\n this.#getStrategy = getStrategy;\n this.#getStrategies = getStrategies;\n this.#polymarket = polymarket;\n\n this.messenger.registerMethodActionHandlers(\n this,\n MESSENGER_EXPOSED_METHODS,\n );\n\n subscribeTransactionChanges(\n messenger,\n this.#updateTransactionData.bind(this),\n this.#removeTransactionData.bind(this),\n );\n\n subscribeAssetChanges(\n messenger,\n () => this.state,\n this.#updateTransactionData.bind(this),\n );\n\n // eslint-disable-next-line no-new\n new QuoteRefresher({\n getStrategies: this.#getStrategiesWithFallback.bind(this),\n messenger,\n updateTransactionData: this.#updateTransactionData.bind(this),\n });\n }\n\n /**\n * Sets the transaction configuration.\n *\n * The callback receives the current configuration properties and can mutate\n * them in place. Updated values are written back to the transaction data.\n *\n * @param transactionId - The ID of the transaction to configure.\n * @param callback - A callback that receives a mutable {@link TransactionConfig} object.\n */\n setTransactionConfig(\n transactionId: string,\n callback: TransactionConfigCallback,\n ): void {\n this.#updateTransactionData(transactionId, (transactionData) => {\n const config: TransactionConfig = {\n accountOverride: transactionData.accountOverride,\n atomic: transactionData.atomic,\n isHyperliquidSource: transactionData.isHyperliquidSource,\n isMaxAmount: transactionData.isMaxAmount,\n isPolymarketDepositWallet: transactionData.isPolymarketDepositWallet,\n isPostQuote: transactionData.isPostQuote,\n isQuoteRequired: transactionData.isQuoteRequired,\n paymentOverride: transactionData.paymentOverride,\n refundTo: transactionData.refundTo,\n };\n\n const previousAccountOverride = config.accountOverride;\n\n callback(config);\n\n Object.assign(transactionData, config);\n\n if (\n !config.isPostQuote &&\n config.accountOverride !== previousAccountOverride\n ) {\n transactionData.paymentToken = undefined;\n }\n });\n }\n\n /**\n * Updates the payment token for a transaction.\n *\n * Resolves token metadata and balances, then stores the new payment token\n * in the transaction data. This triggers recalculation of source amounts\n * and quote retrieval.\n *\n * @param request - The payment token update request containing the\n * transaction ID, token address, and chain ID.\n */\n updatePaymentToken(request: UpdatePaymentTokenRequest): void {\n updatePaymentToken(request, {\n messenger: this.messenger,\n updateTransactionData: this.#updateTransactionData.bind(this),\n });\n }\n\n /**\n * Updates the fiat payment state for a transaction.\n *\n * The request callback receives the current fiat payment state and can\n * mutate it to update properties such as the selected payment method or\n * fiat amount.\n *\n * @param request - The fiat payment update request containing the\n * transaction ID and a callback to mutate fiat payment state.\n */\n updateFiatPayment(request: UpdateFiatPaymentRequest): void {\n updateFiatPayment(request, {\n messenger: this.messenger,\n updateTransactionData: this.#updateTransactionData.bind(this),\n });\n }\n\n /**\n * Gets the delegation transaction for a given transaction.\n *\n * Converts the provided transaction into a redeem delegation by delegating\n * to the configured callback. Returns the delegation transaction data\n * including the encoded call data, target address, value, and an optional\n * authorization list.\n *\n * @param args - The arguments forwarded to the {@link GetDelegationTransactionCallback},\n * containing the transaction metadata.\n * @returns A promise resolving to the delegation transaction data.\n */\n getDelegationTransaction(\n ...args: Parameters<GetDelegationTransactionCallback>\n ): ReturnType<GetDelegationTransactionCallback> {\n return this.#getDelegationTransaction(...args);\n }\n\n /**\n * Returns additional transactions for the paymentOverride flow.\n *\n * Delegates to the client-supplied {@link GetPaymentOverrideDataCallback}.\n * Called during quote execution when `paymentOverride` is defined on the transaction.\n * Returns an empty array when no callback is configured.\n *\n * @param args - The arguments forwarded to the {@link GetPaymentOverrideDataCallback}.\n * @returns A promise resolving to the additional transactions array.\n */\n getAmountData(\n ...args: Parameters<GetAmountDataCallback>\n ): ReturnType<GetAmountDataCallback> {\n return this.#getAmountData?.(...args) ?? Promise.resolve({ updates: [] });\n }\n\n /**\n * Returns optional fiat execution configuration.\n *\n * This is intentionally not stored in controller state.\n *\n * @returns Fiat execution options, if configured.\n */\n getFiatOptions(): TransactionPayFiatOptions | undefined {\n return this.#fiatOptions;\n }\n\n getPaymentOverrideData(\n ...args: Parameters<GetPaymentOverrideDataCallback>\n ): ReturnType<GetPaymentOverrideDataCallback> {\n return (\n this.#getPaymentOverrideData?.(...args) ?? Promise.resolve({ calls: [] })\n );\n }\n\n /**\n * Gets the preferred strategy for a transaction.\n *\n * Returns the first strategy from the ordered list of strategies applicable\n * to the given transaction. Falls back to the default strategy order derived\n * from feature flags when no custom strategy callback is configured.\n *\n * @param transaction - The transaction metadata to determine the strategy for.\n * @returns The preferred {@link TransactionPayStrategy} for the transaction.\n */\n getStrategy(transaction: TransactionMeta): TransactionPayStrategy {\n return this.#getStrategiesWithFallback(transaction)[0];\n }\n\n /**\n * Derives the Polymarket deposit-wallet address for an EOA via the\n * client-supplied callback.\n *\n * @param args - The arguments forwarded to {@link PolymarketCallbacks.getDepositWalletAddress}.\n * @returns A promise resolving to the deposit-wallet address.\n */\n polymarketGetDepositWalletAddress(\n ...args: Parameters<PolymarketCallbacks['getDepositWalletAddress']>\n ): ReturnType<PolymarketCallbacks['getDepositWalletAddress']> {\n return this.#requirePolymarket().getDepositWalletAddress(...args);\n }\n\n /**\n * Signs and broadcasts a Polymarket deposit-wallet batch via the\n * client-supplied callback.\n *\n * @param args - The arguments forwarded to {@link PolymarketCallbacks.submitDepositWalletBatch}.\n * @returns A promise resolving to the relayer-issued source hash.\n */\n polymarketSubmitDepositWalletBatch(\n ...args: Parameters<PolymarketCallbacks['submitDepositWalletBatch']>\n ): ReturnType<PolymarketCallbacks['submitDepositWalletBatch']> {\n return this.#requirePolymarket().submitDepositWalletBatch(...args);\n }\n\n #requirePolymarket(): PolymarketCallbacks {\n if (!this.#polymarket) {\n throw new Error('TransactionPayController: Polymarket callbacks missing');\n }\n return this.#polymarket;\n }\n\n #removeTransactionData(transactionId: string): void {\n this.update((state) => {\n delete state.transactionData[transactionId];\n });\n }\n\n #updateTransactionData(\n transactionId: string,\n fn: (transactionData: Draft<TransactionData>) => void,\n ): void {\n let shouldUpdateQuotes = false;\n\n this.update((state) => {\n const { transactionData } = state;\n let current = transactionData[transactionId];\n const originalPaymentToken = current?.paymentToken;\n const originalTokens = current?.tokens;\n const originalIsMaxAmount = current?.isMaxAmount;\n const originalIsPostQuote = current?.isPostQuote;\n const originalAccountOverride = current?.accountOverride;\n const originalFiatPaymentAmount = current?.fiatPayment?.amountFiat;\n const originalFiatPaymentMethodId =\n current?.fiatPayment?.selectedPaymentMethodId;\n\n if (!current) {\n transactionData[transactionId] = {\n fiatPayment: {},\n isLoading: false,\n tokens: [],\n };\n\n current = transactionData[transactionId];\n }\n\n fn(current);\n\n const isPaymentTokenUpdated =\n current.paymentToken?.address?.toLowerCase() !==\n originalPaymentToken?.address?.toLowerCase() ||\n current.paymentToken?.chainId !== originalPaymentToken?.chainId;\n\n const isTokensUpdated = current.tokens !== originalTokens;\n const isIsMaxUpdated = current.isMaxAmount !== originalIsMaxAmount;\n const isPostQuoteUpdated = current.isPostQuote !== originalIsPostQuote;\n const isAccountOverrideUpdated =\n current.accountOverride !== originalAccountOverride;\n const isFiatAmountUpdated =\n current.fiatPayment?.amountFiat !== originalFiatPaymentAmount;\n const isFiatPaymentMethodUpdated =\n current.fiatPayment?.selectedPaymentMethodId !==\n originalFiatPaymentMethodId;\n\n if (\n isPaymentTokenUpdated ||\n isIsMaxUpdated ||\n isTokensUpdated ||\n isPostQuoteUpdated ||\n isAccountOverrideUpdated\n ) {\n updateSourceAmounts(\n transactionId,\n current as never,\n this.messenger,\n this.#getBalance,\n );\n\n shouldUpdateQuotes = true;\n }\n\n if (isFiatAmountUpdated || isFiatPaymentMethodUpdated) {\n shouldUpdateQuotes = true;\n }\n });\n\n if (shouldUpdateQuotes) {\n updateQuotes({\n getStrategies: this.#getStrategiesWithFallback.bind(this),\n messenger: this.messenger,\n transactionData: this.state.transactionData[transactionId],\n transactionId,\n updateTransactionData: this.#updateTransactionData.bind(this),\n }).catch(noop);\n }\n }\n\n #getStrategiesWithFallback(\n transaction: TransactionMeta,\n ): TransactionPayStrategy[] {\n const transactionData = this.state.transactionData[transaction.id];\n\n const strategyCandidates: unknown[] =\n this.#getStrategies?.(transaction) ??\n (this.#getStrategy ? [this.#getStrategy(transaction)] : []);\n\n const validStrategies = strategyCandidates.filter(\n (strategy): strategy is TransactionPayStrategy =>\n isTransactionPayStrategy(strategy),\n );\n\n if (validStrategies.length) {\n return validStrategies;\n }\n\n const paymentToken = transactionData?.paymentToken;\n\n return getStrategyOrder(\n this.messenger,\n paymentToken?.chainId,\n paymentToken?.address,\n transaction.type,\n transactionData?.fiatPayment?.selectedPaymentMethodId,\n );\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import type { TransactionPayControllerMessenger } from '../index.js';
2
+ import type { UpdateFiatPaymentRequest, UpdateTransactionDataCallback } from '../types.js';
3
+ export type UpdateFiatPaymentOptions = {
4
+ messenger: TransactionPayControllerMessenger;
5
+ updateTransactionData: UpdateTransactionDataCallback;
6
+ };
7
+ /**
8
+ * Update fiat payment state for a specific transaction.
9
+ *
10
+ * @param request - Request parameters.
11
+ * @param options - Options bag.
12
+ */
13
+ export declare function updateFiatPayment(request: UpdateFiatPaymentRequest, options: UpdateFiatPaymentOptions): void;
14
+ //# sourceMappingURL=update-fiat-payment.d.ts.map