@metamask-previews/transaction-pay-controller 27.0.0-preview-4f4c98e → 27.0.0-preview-eb263b0ee

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