All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add
paymentOverrideproperty (typePaymentOverride) toTransactionConfigandTransactionData, settable viasetTransactionConfig(#8858)
- Bump
@metamask/assets-controllerfrom^8.0.0to^8.0.1(#8874)
- Bump
@metamask/assets-controllerfrom^7.1.2to^8.0.0(#8866) - Bump
@metamask/bridge-controllerfrom^73.0.0to^73.0.1(#8866)
- Bump
@metamask/ramps-controllerfrom^13.3.1to^14.0.0(#8859)
- Bump
@metamask/bridge-controllerfrom^72.0.4to^73.0.0(#8850) - Remove unnecessary type assertions for bridge quotes (#8805)
- Treat
perpsDepositAndOrdertransactions identically toperpsDepositin the Relay strategy (#8851)
- Pass
isInternal: trueto all internaladdTransactioncalls to adopt the explicitisInternalflag introduced in@metamask/transaction-controller(#8633) - Bump
@metamask/bridge-status-controllerfrom^71.1.4to^71.2.0(#8848) - Bump
@metamask/transaction-controllerfrom^65.4.0to^66.0.0(#8848) - Bump
@metamask/gas-fee-controllerfrom^26.2.1to^26.2.2(#8834)
- Fix BigNumber crash when exchange rate numbers exceed 15 significant digits (#8808)
- Handle gas-station and prefunded gas-estimate edge cases for Across Predict withdraw quotes (#8762)
- Add Across submit support for post-quote Predict withdraw flows (#8761)
- Add Polymarket deposit-wallet support to the Relay strategy for
predictWithdrawtransactions, routed via theisPolymarketDepositWalletflag onTransactionConfig(#8754)
- Move the Relay gasless execution feature flag to
confirmations_pay_extended.payStrategies.relay.gaslessEnabled(#8810)
- Add Across quote support for post-quote Predict withdraw flows (#8760)
- Derive fiat order source amount from on-chain transaction data (
order.txHash) with fallback toorder.cryptoAmount(#8694) - Persist fiat order ID and provider code on
transaction.metamaskPaybefore polling, so activity views can query order status after controller state cleanup (#8694) - Bump
@metamask/assets-controllerfrom^7.1.1to^7.1.2(#8783) - Bump
@metamask/assets-controllersfrom^108.0.0to^108.1.0(#8783) - Bump
@metamask/transaction-controllerfrom^65.3.0to^65.4.0(#8796)
- For postquote payments payment token for MM Pay transaction should not be reset when accountOverride is changed. (#8787)
- Bump
@metamask/assets-controllerfrom^7.1.0to^7.1.1(#8774) - Bump
@metamask/assets-controllersfrom^107.0.0to^108.0.0(#8774) - Bump
@metamask/bridge-controllerfrom^72.0.3to^72.0.4(#8774) - Bump
@metamask/bridge-status-controllerfrom^71.1.3to^71.1.4(#8774) - Bump
@metamask/network-controllerfrom^31.1.0to^32.0.0(#8774) - Bump
@metamask/controller-utilsfrom^12.0.0to^12.1.0(#8774)
- Add
POLYGON_PUSD_ADDRESSconstant and treat Polymarket pUSD as a Polygon stablecoin in display/fiat-rate logic (#8735) - Add Across strategy plumbing to identify post-quote Predict withdraw requests (#8759)
- Bump
@metamask/network-controllerfrom^31.0.0to^31.1.0(#8765) - Bump
@metamask/assets-controllerfrom^7.0.1to^7.1.0(#8773) - Bump
@metamask/assets-controllersfrom^106.0.1to^107.0.0(#8773) - Bump
@metamask/bridge-controllerfrom^72.0.2to^72.0.3(#8773) - Bump
@metamask/bridge-status-controllerfrom^71.1.2to^71.1.3(#8773)
- Predict same-chain withdraw quote no longer falls back to block-gas-limit (~30M+) on swap-only Relay routes (#8735)
fromOverride = Safe proxyis now gated on the route having adepositstep. Same-chain destinations route through DEX swap aggregators that reject contract callers (anti-MEVmsg.sender == tx.originchecks etc.) — for those, the relay params' EOAfromis used so simulation succeeds.- Gas-fee-token lookup still uses the Safe proxy for ALL Predict withdraws (gated on
isPredictWithdraw && refundTo), preserving the gasless flow for users who hold pUSD in the Safe but no native POL on the EOA.
- Fix post-quote relay submission when
accountOverrideis set by replacing the prepended original transaction with a delegation transaction so the override account can submit it (#8615)
- Resolve fiat asset per transaction type from
confirmations_pay_fiatremote feature flag, falling back to hardcoded map then ETH on mainnet (#8631) - Bump
@metamask/assets-controllerfrom^7.0.0to^7.0.1(#8755) - Bump
@metamask/assets-controllersfrom^106.0.0to^106.0.1(#8755) - Bump
@metamask/bridge-controllerfrom^72.0.1to^72.0.2(#8755) - Bump
@metamask/bridge-status-controllerfrom^71.1.1to^71.1.2(#8755) - Bump
@metamask/controller-utilsfrom^11.20.0to^12.0.0(#8755) - Bump
@metamask/gas-fee-controllerfrom^26.2.0to^26.2.1(#8755) - Bump
@metamask/network-controllerfrom^30.1.0to^31.0.0(#8755) - Bump
@metamask/ramps-controllerfrom^13.3.0to^13.3.1(#8755) - Bump
@metamask/remote-feature-flag-controllerfrom^4.2.0to^4.2.1(#8755) - Bump
@metamask/transaction-controllerfrom^65.2.0to^65.3.0(#8755)
- Fix fiat strategy submit flow to extract provider code from ramps quote instead of parsing order ID, store
caipAssetIdin fiat payment state, and use target amount for totals when fiat strategy is active (#8726)
- Fix transaction with accountOverride and targeting Arbitrum USDC (#8724)
- Deliver the Relay-acquired token to
transaction.txParams.from(the delegator that executes the inner delegation), notrequest.from. - Gate the Arbitrum-USDC → Hypercore quote rewrite on
transaction.type === TransactionType.perpsDeposit.
- Deliver the Relay-acquired token to
- Bump
@metamask/assets-controllerfrom^6.4.0to^7.0.0(#8738) - Bump
@metamask/bridge-controllerfrom^72.0.0to^72.0.1(#8738)
- Bump
@metamask/bridge-controllerfrom^71.1.1to^72.0.0(#8737)
- BREAKING: Re-parse required tokens when asset state changes (#8714)
- Adds
AssetsControllerStateChangeEvent,CurrencyRateStateChange,TokenRatesControllerStateChangeEvent, andTokensControllerStateChangeEventtoAllowedEvents. - Consumers must grant these events when creating the controller messenger.
- Adds
- Bump
@metamask/gas-fee-controllerfrom^26.1.1to^26.2.0(#8722) - Bump
@metamask/transaction-controllerfrom^65.1.0to^65.2.0(#8722)
- Fix fiat strategy never being selected by routing fiat payment method through
getStrategyOrderand allowing quote retrieval when no crypto payment token is set (#8720)
- Allow EIP-7702 authorizations from accounts in the Money keyring (#8687)
- Implement fiat strategy submit flow with order polling and relay execution (#8347)
- Bump
@metamask/bridge-controllerfrom^71.0.0to^71.1.1(#8706, #8721) - Bump
@metamask/transaction-controllerfrom^65.0.0to^65.1.0(#8691) - Bump
@metamask/ramps-controllerfrom^13.2.0to^13.3.0(#8698) - Bump
@metamask/assets-controllerfrom^6.3.0to^6.4.0(#8721) - Bump
@metamask/assets-controllersfrom^105.1.0to^106.0.0(#8721)
- Add Gas Station support for Across source transactions when native balance is insufficient (#8588)
- BREAKING: Narrow
AllowedActionstype to use individual action types instead of compound controller action unions (BridgeControllerActions,BridgeStatusControllerActions,CurrencyRateControllerActions,GasFeeControllerActions) (#8670)
- Pass explicit
assetId,providers, andfiattoRampsController:getQuotesand persist the selected ramps quote onTransactionFiatPayment(#8628)
- Stop synthesising a native gas-fee required token in
parseRequiredTokens, only token-transfer assets are returned now (#8554) - Add layered submission error prefixes for failure-surface attribution in error metrics (#8656)
MetaMask Pay:wraps all errors from the Pay publish hookRelay submit:wraps all errors from the relay strategyRelay execute:cascades insideRelay submit:for/executePOST failures- Relay non-OK responses now surface as
<status> - <body message or error>(or just<status>), replacing the previous URL-leaking generic fetch failure message
- Bump
@metamask/assets-controllerfrom^6.2.1to^6.3.0(#8661) - Bump
@metamask/assets-controllersfrom^105.0.0to^105.1.0(#8661)
- Export
TransactionDatatype from public API (#8630)
- Abort in-flight quote requests when a newer request is made for the same transaction, preventing stale responses from overwriting newer ones (#8612)
- Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636)
- Bump
@metamask/assets-controllerfrom^6.2.0to^6.2.1(#8622) - Bump
@metamask/assets-controllersfrom^104.3.0to^105.0.0(#8622) - Bump
@metamask/bridge-controllerfrom^70.2.0to^71.0.0(#8622) - Bump
@metamask/bridge-status-controllerfrom^71.0.0to^71.1.0(#8622)
- Rename
executeEnabledfeature flag togaslessEnabled(#8607) - Bump
@metamask/transaction-controllerfrom^64.3.0to^65.0.0(#8585, #8613) - Bump
@metamask/assets-controllerfrom^6.1.0to^6.2.0(#8590)
- Fall back from Across to later pay strategies when Across quotes would require a first-time EIP-7702 authorization list (#8577)
- BREAKING: Fix mUSD conversion for hardware wallets on EIP-7702 chains by gating relay and Across 7702 paths on the account keyring type via
KeyringController:getState(#8388)- The
TransactionPayControllerMessengernow requiresKeyringController:getStatepermission.
- The
- Add support for transaction config parameter accountOverride (#8454)
- Bump
@metamask/assets-controllerfrom^6.0.0to^6.1.0(#8559) - Bump
@metamask/assets-controllersfrom^104.2.0to^104.3.0(#8559) - Bump
@metamask/bridge-controllerfrom^70.1.1to^70.2.0(#8571) - Bump
@metamask/bridge-status-controllerfrom^70.0.5to^71.0.0(#8571)
- Ignore synthetic gas legs when determining Across support for perps direct deposits (#8527)
- Route Across status polling through the configured Across API base and support
depositTxnRef/fillTxnReffor Across status responses (#8512)
- Resolve correct
networkClientIdfor source chain in Relay execute flow (#8492) - Stop double-counting subsidized fees in Relay quote target amounts (#8488)
- Bump
@metamask/ramps-controllerfrom^13.1.0to^13.2.0(#8476) - Bump
@metamask/transaction-controllerfrom^64.2.0to^64.3.0(#8482)
- Bump
@metamask/assets-controllerfrom^5.0.1to^6.0.0(#8474) - Bump
@metamask/bridge-controllerfrom^70.1.0to^70.1.1(#8474)
- Resolve the effective transaction type from
nestedTransactionswhen the parent is a batch transaction (#8469)
- Bump
@metamask/base-controllerfrom^9.0.1to^9.1.0(#8457) - Bump
@metamask/assets-controllerfrom^5.0.0to^5.0.1(#8466) - Bump
@metamask/assets-controllersfrom^103.1.1to^104.0.0(#8466) - Bump
@metamask/bridge-controllerfrom^70.0.1to^70.1.0(#8466)
- Bump
@metamask/ramps-controllerfrom^13.0.0to^13.1.0(#8407) - Bump
@metamask/transaction-controllerfrom^64.0.0to^64.2.0(#8432, #8447)
- Set
submittedTimeat the start ofTransactionPayPublishHookbefore strategy execution for accuratemm_pay_time_to_complete_smetrics in intent-based flows (#8439)
- Support for perps deposit for Across (#8334)
- Bump
@metamask/assets-controllerfrom^4.0.0to^5.0.0(#8406)
- Fix perps withdraw to Arbitrum USDC showing inflated transaction fee by bypassing same-token filter when
isHyperliquidSourceis set (#8387)
- Bump
@metamask/ramps-controllerfrom^12.1.0to^13.0.0(#8380) - Bump
@metamask/messengerfrom^1.0.0to^1.1.1(#8364, #8373)
- Bump
@metamask/bridge-controllerfrom^70.0.0to^70.0.1(#8359) - Bump
@metamask/bridge-status-controllerfrom^70.0.4to^70.0.5(#8359) - Bump
@metamask/transaction-controllerfrom^63.3.1to^64.0.0(#8359) - Bump
@metamask/controller-utilsfrom^11.19.0to^11.20.0(#8344) - Bump
@metamask/assets-controllerfrom^3.2.1to^4.0.0(#8355, #8359) - Bump
@metamask/assets-controllersfrom^103.0.0to^103.1.1(#8355, #8359)
- Bump
@metamask/bridge-controllerfrom^69.2.3to^70.0.0(#8340) - Bump
@metamask/bridge-status-controllerfrom^70.0.3to^70.0.4(#8340) - Add route-based
confirmations_paystrategy resolution (#8282)
- BREAKING: Add
KeyringControllerSignTypedMessageActiontoAllowedActionsfor HyperLiquid EIP-712 signing (#8314)- Clients must now provide
KeyringController:signTypedMessagepermission when constructing the controller messenger
- Clients must now provide
- Add HyperLiquid withdrawal submission via Relay (#8314)
- Add HyperLiquid source quote support for Relay strategy (#8285)
- Bump
@metamask/assets-controllerfrom^3.2.0to^3.2.1(#8325) - Bump
@metamask/assets-controllersfrom^102.0.0to^103.0.0(#8325) - Bump
@metamask/bridge-controllerfrom^69.2.2to^69.2.3(#8325) - Bump
@metamask/bridge-status-controllerfrom^70.0.2to^70.0.3(#8325)
- Bump
@metamask/assets-controllersfrom^101.0.1to^102.0.0(#8317) - Bump
@metamask/base-controllerfrom^9.0.0to^9.0.1(#8317) - Bump
@metamask/bridge-controllerfrom^69.2.1to^69.2.2(#8317) - Bump
@metamask/bridge-status-controllerfrom^70.0.1to^70.0.2(#8317) - Bump
@metamask/gas-fee-controllerfrom^26.1.0to^26.1.1(#8317) - Bump
@metamask/messengerfrom^0.3.0to^1.0.0(#8317) - Bump
@metamask/network-controllerfrom^30.0.0to^30.0.1(#8317) - Bump
@metamask/ramps-controllerfrom^12.0.1to^12.1.0(#8317) - Bump
@metamask/remote-feature-flag-controllerfrom^4.1.0to^4.2.0(#8317) - Bump
@metamask/assets-controllerfrom^3.1.0to^3.2.0(#8298, #8317) - Bump
@metamask/transaction-controllerfrom^63.1.0to^63.3.1(#8301, #8313, #8317)
- Add
FiatStrategyto retrieve quotes viaRampsController(#8121)
- Bump
@metamask/bridge-controllerfrom^69.1.1to^69.2.1(#8265, #8288) - Bump
@metamask/bridge-status-controllerfrom^70.0.0to^70.0.1(#8288) - Bump
@metamask/transaction-controllerfrom^63.0.0to^63.1.0(#8272) - Bump
@metamask/assets-controllerfrom^3.0.0to^3.1.0(#8276)
- BREAKING Bump
@metamask/bridge-status-controllerfrom^69.0.0to^70.0.0(#8252) - Bump
@metamask/assets-controllerfrom^2.4.0to^3.0.0(#8232) - Bump
@metamask/assets-controllersfrom^101.0.0to^101.0.1(#8232) - Remove duplication in gas estimation for Relay and Across strategies (#8145)
- Improve Across quote handling to decode supported destination calls into post-swap actions while sending transfer-only destinations directly to the destination recipient (#8208)
- New public wrapper methods:
getDelegationTransaction(),getStrategy()(#8183)
- Bump
@metamask/assets-controllerfrom^2.3.0to^2.4.0(#8225) - Bump
@metamask/assets-controllersfrom^100.2.1to^101.0.0(#8225) - Bump
@metamask/bridge-controllerfrom^69.1.0to^69.1.1(#8225) - Bump
@metamask/bridge-status-controllerfrom^68.1.0to^69.0.0(#8225) - Bump
@metamask/gas-fee-controllerfrom^26.0.3to^26.1.0(#8225) - Bump
@metamask/transaction-controllerfrom^62.22.0to^63.0.0(#8225)
- BREAKING: Add
AssetsControllerGetStateForTransactionPayActionto theAllowedActionsmessenger type (#8163)
getTokenBalance,getTokenInfo, andgetTokenFiatRatenow source token metadata, balances, and pricing fromAssetsControllerGetStateForTransactionPayActionwhen theassetsUnifyStateremote feature flag is enabled, falling back to individual controller state calls otherwise (#8163)- Zero out source network fees in Relay strategy when quote indicates execute flow (#8181)
- Harden relay status polling (#8189)
- Throw if status not recognised.
- Support feature flags for polling interval and timeout.
- Ignore transient network errors.
- Bump
@metamask/transaction-controllerfrom^62.21.0to^62.22.0(#8217)
- Support gasless Relay deposits via
executeendpoint (#8133) - Build Across post-swap transfer actions for
predictDepositquotes so Predict deposits can bridge swapped output into the destination proxy wallet (#8159)
- Bump
@metamask/assets-controllersfrom^100.2.0to^100.2.1(#8162) - Bump
@metamask/bridge-controllerfrom^69.0.0to^69.1.0(#8162, #8168) - Bump
@metamask/bridge-status-controllerfrom^68.0.1to^68.1.0(#8162, #8168)
- Support gasless withdraw for post-quote flows (e.g. Predict Withdraw) when transaction would provide sufficient token balance for gas fee token (#8146)
- Bump
@metamask/assets-controllersfrom^100.1.0to^100.2.0(#8140) - Bump
@metamask/bridge-controllerfrom^68.0.0to^69.0.0(#8140) - Bump
@metamask/bridge-status-controllerfrom^68.0.0to^68.0.1(#8140) - Bump
@metamask/transaction-controllerfrom^62.20.0to^62.21.0(#8140)
- Add a dedicated max-amount gas-station fallback flow for Relay quoting (#7927)
- Add Across pay strategy support (#7886)
- Add
fiatPaymenttransaction state intotransactionDataandupdateFiatPaymentcallback action (#8093)
- Add optional
refundTofield toTransactionConfig,TransactionData, andQuoteRequesttypes, allowing callers to specify an address that receives refunds if a Relay transaction fails (#8112)
- Bump
@metamask/assets-controllersfrom^100.0.3to^100.1.0(#8107) - Bump
@metamask/transaction-controllerfrom^62.19.0to^62.20.0(#8104)
- Bump
@metamask/bridge-controllerfrom^67.4.0to^68.0.0(#8101) - Bump
@metamask/bridge-status-controllerfrom^67.0.1to^68.0.0(#8101)
- Normalize Polygon native token addresses between Relay requests and MetaMask balance checks to avoid undefined token values in quote and submit flows (#8091)
- Bump
@metamask/bridge-controllerfrom^67.2.0to^67.4.0(#8051, #8070) - Bump
@metamask/remote-feature-flag-controllerfrom^4.0.0to^4.1.0(#8041)
- Support gasless predict withdraw (#8067)
- Add
metaMaskfee field toTransactionPayFees(#8030) - Add ordered strategy fallback mechanism for quote retrieval (#7868)
- Bump
@metamask/transaction-controllerfrom^62.18.0to^62.19.0(#8031) - Bump
@metamask/bridge-controllerfrom^67.1.1to^67.2.0(#8024) - Bump
@metamask/assets-controllersfrom^100.0.2to^100.0.3(#8029)
- BREAKING: Add live on-chain balance validation for pay transactions (#7935)
- Refresh payment token balance via chain before each quote update.
- Validate source token balance via chain before submitting Relay deposits.
- Requires
NetworkController:getNetworkClientByIdmessenger action permission inTransactionControllerpublish hook.
- Bump
@metamask/transaction-controllerfrom^62.17.1to^62.18.0(#8005) - Replace
relayDeposittransaction type withpredictRelayDepositorperpsRelayDepositbased on the parent transaction type (#7947) - Bump
@metamask/assets-controllersfrom^100.0.1to^100.0.2(#8004)
- Bump
@metamask/assets-controllersfrom^100.0.0to^100.0.1(#7996) - Bump
@metamask/bridge-controllerfrom^67.1.0to^67.1.1(#7996) - Bump
@metamask/bridge-status-controllerfrom^67.0.0to^67.0.1(#7996) - Bump
@metamask/gas-fee-controllerfrom^26.0.2to^26.0.3(#7996) - Bump
@metamask/network-controllerfrom^29.0.0to^30.0.0(#7996) - Bump
@metamask/transaction-controllerfrom^62.17.0to^62.17.1(#7996)
- Bump
@metamask/assets-controllersfrom^99.4.0to^100.0.0(#7995) - Bump
@metamask/controller-utilsfrom^11.18.0to^11.19.0(#7995) - Bump
@metamask/bridge-controllerfrom^67.0.0to^67.1.0(#7995)
- Bump
@metamask/bridge-controllerfrom^66.1.1to^67.0.0(#7956, #7961) - Bump
@metamask/bridge-status-controllerfrom^66.0.2to^67.0.0(#7956, #7961) - Bump
@metamask/assets-controllersfrom^99.3.2to^99.4.0(#7944)
- Estimate relay transactions separately and combine with original transaction gas at quote time (#7933)
- BREAKING: Remove
transactionGasfromTransactionPayFees(#7929)- The original transaction's gas cost is now included in
sourceNetworkfor post-quote flows instead of being reported separately, so gas estimation and gas-fee-token detection cover both the Relay deposit and the user's original transaction
- The original transaction's gas cost is now included in
- BREAKING: Add subsidized fee to Relay quote target amount if
isMaxAmount(#7911)- Remove
humanandrawfromtargetAmountonTransactionPayQuoteandTransactionPayTotals - Use
amountFormattedas USD value for Relay quote target amount and subsidized fee when token is a stablecoin - Set provider fee to zero when subsidized fee is present
- Add MUSD, USDC, USDT, and Hypercore USDC to stablecoins
- Remove
- Add post-quote transaction support for withdrawal flows (#7783)
- Add
setTransactionConfigmethod replacingsetIsMaxAmountandsetIsPostQuote - Add
TransactionConfig,TransactionConfigCallbacktypes - Add
isPostQuotetoTransactionDataandQuoteRequest - Support reversed source/destination in Relay quotes for post-quote flows
- Add same-token-same-chain skip logic for post-quote transactions
- Add source amount fields (
sourceBalanceRaw,sourceChainId,sourceTokenAddress) toTransactionPaySourceAmount
- Add
- Bump
@metamask/bridge-controllerfrom^65.3.0to^66.1.1(#7862, #7897, #7910) - Bump
@metamask/transaction-controllerfrom^62.14.0to^62.17.0(#7854, #7872, #7897) - Bump
@metamask/assets-controllersfrom^99.2.0to^99.3.2, (#7855, #7860, #7897) - Bump
@metamask/bridge-status-controllerfrom66.0.0to66.0.2(#7897, #7910)
- BREAKING: Remove
setIsMaxAmountmethod in favor ofsetTransactionConfig(#7783)
- Generate required tokens using
requiredAssetsfrom transaction metadata (#7820)
- Bump
@metamask/bridge-controllerfrom^65.2.0to^65.3.0(#7837) - Bump
@metamask/bridge-status-controllerfrom^65.0.1to^66.0.0(#7850)
- Bump
@metamask/transaction-controllerfrom^62.11.0to^62.14.0(#7775, #7802, #7832) - Bump
@metamask/assets-controllersfrom^99.1.0to^99.2.0(#7802) - Bump
@metamask/bridge-controllerfrom^65.1.0to^65.2.0(#7802) - Poll Relay status for same-chain quotes with a single deposit step (#7761)
- Bump
@metamask/assets-controllersfrom^99.0.0to^99.1.0(#7771) - Bump
@metamask/bridge-controllerfrom^65.0.1to^65.1.0(#7763) - Bump
@metamask/bridge-status-controllerfrom^65.0.0to^65.0.1(#7763) - Bump
@metamask/transaction-controllerfrom^62.10.0to^62.11.0(#7760)
- Skip gas fee token in Relay strategy if chain does not support EIP-7702 (#7754)
- Bump
@metamask/assets-controllersfrom^98.0.0to^99.0.0(#7751) - Bump
@metamask/bridge-controllerfrom^65.0.0to^65.0.1(#7751) - Bump
@metamask/transaction-controllerfrom^62.9.2to^62.10.0(#7737)
- Bump
@metamask/assets-controllersfrom^97.0.0to^98.0.0(#7731) - Bump
@metamask/bridge-controllerfrom^64.8.2to^65.0.0(#7731) - Bump
@metamask/bridge-status-controllerfrom^64.4.4to^64.4.5(#7724)
- Bump
@metamask/assets-controllersfrom^96.0.0to^97.0.0(#7722) - Bump
@metamask/bridge-controllerfrom^64.8.1to^64.8.2(#7722)
- Add
slippageTokensfeature flag support for token-specific slippage configuration (#7673)
- Bump
@metamask/bridge-controllerfrom^64.5.1to^64.8.1(#7667, #7672, #7694, #7700, #7704) - Bump
@metamask/assets-controllersfrom^95.3.0to^96.0.0(#7704) - Bump
@metamask/bridge-status-controllerfrom^64.4.3to^64.4.4(#7704)
- Bump
@metamask/assets-controllersfrom^95.1.0to^95.3.0(#7622, #7642) - Bump
@metamask/bridge-controllerfrom^64.4.1to^64.5.1(#7622, #7642) - Bump
@metamask/bridge-status-controllerfrom^64.4.2to^64.4.3(#7642) - Bump
@metamask/gas-fee-controllerfrom^26.0.1to^26.0.2(#7642) - Bump
@metamask/network-controllerfrom^28.0.0to^29.0.0(#7642) - Bump
@metamask/transaction-controllerfrom^62.9.1to^62.9.2(#7642)
- Bump
@metamask/network-controllerfrom^27.2.0to^28.0.0(#7604) - Bump
@metamask/bridge-controllerfrom^64.4.0to^64.4.1(#7604) - Bump
@metamask/bridge-status-controllerfrom^64.4.1to^64.4.2(#7604) - Bump
@metamask/gas-fee-controllerfrom^26.0.0to^26.0.1(#7604) - Bump
@metamask/transaction-controllerfrom^62.9.0to^62.9.1(#7604)
- BREAKING: Support max amount quotes (#7562)
- Add
TransactionPayController:setIsMaxAmountmessenger action. - Add
isMaxAmountproperty toTransactionDatatype. - Add
targetAmountproperty toTransactionPayQuoteandTransactionPayTotals. - Update Relay quote requests to use
EXACT_INPUTtrade type when max amount is selected. - Update totals calculation to account for max amount selection.
- Add
- Bump
@metamask/controller-utilsfrom^11.17.0to^11.18.0(#7583) - Bump
@metamask/network-controllerfrom^27.1.0to^27.2.0(#7583) - Bump
@metamask/assets-controllersfrom^94.0.0to^95.1.0(#7584, #7600) - Bump
@metamask/transaction-controllerfrom^62.7.0to^62.9.0(#7596, #7602) - Bump
@metamask/bridge-controllerfrom^64.3.0to^64.4.0(#7596) - Bump
@metamask/bridge-status-controllerfrom^64.3.0to^64.4.1(#7596, #7597)
- feat: add override functionality to remote feature flags (#7271)
- Bump
@metamask/remote-feature-flag-controllerfrom^3.1.0to^4.0.0(#7546) - Upgrade
@metamask/utilsfrom^11.8.1to^11.9.0(#7511) - Poll relay status using static URL (#7535)
- Bump
@metamask/assets-controllersfrom^93.1.0to^94.1.0(#7444, #7488) - Bump
@metamask/transaction-controllerfrom^62.6.0to^62.7.0(#7494) - Bump
@metamask/bridge-controllerfrom^64.1.0to^64.3.0(#7509, #7574) - Bump
@metamask/bridge-status-controllerfrom^64.1.0to^64.3.0(#7509, #7574) - Bump
@metamask/remote-feature-flag-controllerfrom^3.0.0to^3.1.0(#7519) - Bump
@metamask/network-controllerfrom^27.0.0to^27.1.0(#7534) - Bump
@metamask/controller-utilsfrom^11.16.0to^11.17.0(#7534)
- Bump
@metamask/transaction-controllerfrom^62.5.0to^62.6.0(#7430) - Bump
@metamask/bridge-controllerfrom^64.0.0to^64.1.0(#7422) - Estimate gas for Relay quotes using messenger actions (#7405)
- Submit all Relay source transactions using same gas limits estimated from quote.
- Bump
@metamask/transaction-controllerfrom^62.4.0to^62.5.0(#7325) - Bump
@metamask/bridge-status-controllerfrom^63.1.0to^64.0.1(#7295, #7307) - Bump
@metamask/bridge-controllerfrom^63.2.0to^64.0.0(#7295) - Skip delegation in Relay quotes if token transfer only (#7262)
- Bump
@metamask/assets-controllersfrom^92.0.0to^93.1.0(#7291, #7309) - Bump
@metamask/remote-feature-flag-controllerfrom^2.0.1to^3.0.0(#7309
- Fix source network fees for batch Relay deposits on EIP-7702 networks (#7323)
- Improve Relay provider fees (#7313)
- Include slippage from feature flag.
- Read fee from
totalImpactproperty. - Send dust in transaction quotes to token transfer recipient, if available.
- Use
overwriteUpgradewhen adding transaction batches in Relay strategy (#7282) - Bump
@metamask/network-controllerfrom^26.0.0to^27.0.0(#7258) - Bump
@metamask/transaction-controllerfrom^62.3.1to^62.4.0(#7289)
- Include
authorizationListin Relay deposit tranasction if source and target chain are the same, and EIP-7702 upgrade is needed (#7281)
- Use
relayDisabledGasStationChainsfeature flag to disable gas station on specific source chains in Relay strategy (#7255)
- Bump
@metamask/assets-controllersfrom^91.0.0to^92.0.0(#7253) - Bump
@metamask/bridge-status-controllerfrom^63.0.0to^63.1.0(#7245) - Bump
@metamask/transaction-controllerfrom^62.2.0to^62.3.1(#7236, #7257) - Bump
@metamask/bridge-controllerfrom^63.0.0to^63.2.0(#7238, #7245)
- Use new feature flags to configure gas limit fallback for Relay quotes (#7229)
- Use gas fee properties from Relay quotes.
- Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220)
- The dependencies moved are:
@metamask/assets-controllers(^91.0.0)@metamask/bridge-controller(^63.0.0)@metamask/bridge-status-controller(^63.0.0)@metamask/gas-fee-controller(^26.0.0)@metamask/network-controller(^26.0.0)@metamask/remote-feature-flag-controller(^2.0.1)@metamask/transaction-controller(^62.2.0)
- In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
- For example, this scenario would be valid: a client relies on
@metamask/controller-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
- Use gas fee token for Relay deposit transactions if insufficient native balance (#7193)
- Add optional
fees.isSourceGasFeeTokenproperty toTransactionPayQuoteandTransactionPayTotalstype.
- Add optional
- BREAKING: Bump
@metamask/bridge-status-controllerfrom^62.0.0to^63.0.0(#7207) - BREAKING: Bump
@metamask/bridge-controllerfrom^62.0.0to^63.0.0(#7207) - BREAKING: Bump
@metamask/assets-controllersfrom^90.0.0to^91.0.0(#7207)
- Bump
@metamask/controller-utilsfrom^11.15.0to^11.16.0(#7202) - BREAKING: Bump
@metamask/transaction-controllerfrom^61.0.0to^62.0.0(#7202) - BREAKING: Bump
@metamask/network-controllerfrom^25.0.0to^26.0.0(#7202) - BREAKING: Bump
@metamask/gas-fee-controllerfrom^25.0.0to^26.0.0(#7202) - BREAKING: Bump
@metamask/bridge-status-controllerfrom^61.0.0to^62.0.0(#7202) - BREAKING: Bump
@metamask/bridge-controllerfrom^61.0.0to^62.0.0(#7202) - BREAKING: Bump
@metamask/assets-controllersfrom^89.0.0to^90.0.0(#7202)
- Ensure source network fee for Relay quotes includes all items and steps (#7191)
- BREAKING: Bump
@metamask/assets-controllerfrom^88.0.0to^89.0.0(#7179) - BREAKING: Bump
@metamask/bridge-controllerfrom^60.0.0to^61.0.0(#7179) - BREAKING: Bump
@metamask/bridge-status-controllerfrom^60.0.0to^61.0.0(#7179)
- BREAKING: Add
sourceAmounttoTransactionPayQuote(#7159)- Add
estimateandmaxproperties tofee.sourceNetworkinTransactionPayQuote. - Add
isTargetGasFeeTokentofeeinTransactionPayQuote. - Add matching properties to
TransactionPayTotals. - Use fixed fiat rate for Polygon USDCe and Arbitrum USDC.
- Add
- BREAKING: Always retrieve quote if using Relay strategy and required token is Arbitrum USDC, even if payment token matches (#7146)
- Change
getStrategyconstructor option from asynchronous to synchronous.
- Change
- BREAKING: Include transactions in Relay quotes via EIP-7702 and delegation (#7122)
- Requires new
getDelegationTransactionconstructor option.
- Requires new
- Updated
getBridgeBatchTransactionstypes to account for multichain approvals (#6862)
- Read Relay provider fees directly from response (#7098)
- Support Relay quotes with multiple transactions (#7089)
- BREAKING: Bump
@metamask/assets-controllerfrom^87.0.0to^88.0.0(#7100) - BREAKING: Bump
@metamask/bridge-controllerfrom^59.0.0to^60.0.0(#7100) - BREAKING: Bump
@metamask/bridge-status-controllerfrom^59.0.0to^60.0.0(#7100)
- Calculate totals even if no quotes received (#7042)
- Fix bridging to native Polygon (#7053)
- Use original quote if bridge quote fails to refresh during submit.
- Only refresh quotes if transaction status is unapproved.
- BREAKING: Bump
@metamask/assets-controllerfrom^86.0.0to^87.0.0(#7043) - BREAKING: Bump
@metamask/bridge-controllerfrom^58.0.0to^59.0.0(#7043) - BREAKING: Bump
@metamask/bridge-status-controllerfrom^58.0.0to^59.0.0(#7043)
- Prevent infinite loading after quotes are refreshed (#7020)
- Fix use of native Polygon as payment token in Bridge strategy (#7008)
- Ignore required tokens with no quotes when calculating totals.
- Use correct feature flag key.
- Ensure
isLoadingstate is cleared if quotes not updated.
- BREAKING: Bump
@metamask/assets-controllerfrom^85.0.0to^86.0.0(#7011) - BREAKING: Bump
@metamask/bridge-controllerfrom^57.0.0to^58.0.0(#7011) - BREAKING: Bump
@metamask/bridge-status-controllerfrom^57.0.0to^58.0.0(#7011)
- Initial release (#6820)