@@ -17,7 +17,6 @@ import {
1717 type SmartTransaction ,
1818} from '@metamask/smart-transactions-controller' ;
1919import type {
20- TransactionControllerConfirmExternalTransactionAction ,
2120 TransactionControllerGetNonceLockAction ,
2221 TransactionControllerGetTransactionsAction ,
2322 TransactionControllerUpdateTransactionAction ,
@@ -88,7 +87,6 @@ function withRequest<ReturnValue>(
8887 MockAnyNamespace ,
8988 | MessengerActions < SmartTransactionsControllerMessenger >
9089 | TransactionControllerGetNonceLockAction
91- | TransactionControllerConfirmExternalTransactionAction
9290 | TransactionControllerGetTransactionsAction
9391 | TransactionControllerUpdateTransactionAction
9492 | AllowedActions ,
@@ -123,6 +121,24 @@ function withRequest<ReturnValue>(
123121 const endFlowSpy = jest . fn ( ) ;
124122 messenger . registerActionHandler ( 'ApprovalController:endFlow' , endFlowSpy ) ;
125123
124+ // Register RemoteFeatureFlagController:getState handler for the new controller
125+ messenger . registerActionHandler (
126+ 'RemoteFeatureFlagController:getState' ,
127+ jest . fn ( ) . mockReturnValue ( {
128+ remoteFeatureFlags : {
129+ smartTransactionsNetworks : {
130+ default : { extensionActive : true } ,
131+ } ,
132+ } ,
133+ } ) ,
134+ ) ;
135+
136+ // Register ErrorReportingService:captureException handler
137+ messenger . registerActionHandler (
138+ 'ErrorReportingService:captureException' ,
139+ jest . fn ( ) ,
140+ ) ;
141+
126142 const smartTransactionsControllerMessenger = new Messenger <
127143 'SmartTransactionsController' ,
128144 MessengerActions < SmartTransactionsControllerMessenger > ,
@@ -136,19 +152,22 @@ function withRequest<ReturnValue>(
136152 messenger : smartTransactionsControllerMessenger ,
137153 actions : [
138154 'TransactionController:getNonceLock' ,
139- 'TransactionController:confirmExternalTransaction' ,
140155 'TransactionController:getTransactions' ,
141156 'TransactionController:updateTransaction' ,
157+ 'RemoteFeatureFlagController:getState' ,
158+ 'ErrorReportingService:captureException' ,
159+ ] ,
160+ events : [
161+ 'NetworkController:stateChange' ,
162+ 'RemoteFeatureFlagController:stateChange' ,
142163 ] ,
143- events : [ 'NetworkController:stateChange' ] ,
144164 } ) ;
145165
146166 const smartTransactionsController = new SmartTransactionsController ( {
147167 messenger : smartTransactionsControllerMessenger ,
148168 trackMetaMetricsEvent : jest . fn ( ) ,
149169 getMetaMetricsProps : jest . fn ( ) ,
150170 clientId : ClientId . Extension ,
151- getFeatureFlags : jest . fn ( ) ,
152171 } ) ;
153172
154173 jest . spyOn ( smartTransactionsController , 'getFees' ) . mockResolvedValue ( {
@@ -202,12 +221,10 @@ function withRequest<ReturnValue>(
202221 featureFlags : {
203222 extensionActive : true ,
204223 mobileActive : false ,
205- smartTransactions : {
206- expectedDeadline : 45 ,
207- maxDeadline : 150 ,
208- extensionReturnTxHashAsap : false ,
209- extensionReturnTxHashAsapBatch : false ,
210- } ,
224+ expectedDeadline : 45 ,
225+ maxDeadline : 150 ,
226+ extensionReturnTxHashAsap : false ,
227+ extensionReturnTxHashAsapBatch : false ,
211228 } ,
212229 ...options ,
213230 } ;
@@ -296,7 +313,7 @@ describe('submitSmartTransactionHook', () => {
296313 it ( 'skips getting fees if the transaction is signed and sponsored' , async ( ) => {
297314 withRequest ( async ( { request } ) => {
298315 request . transactionMeta . isGasFeeSponsored = true ;
299- request . featureFlags . smartTransactions . extensionReturnTxHashAsap = true ;
316+ request . featureFlags . extensionReturnTxHashAsap = true ;
300317
301318 const result = await submitSmartTransactionHook ( request ) ;
302319
@@ -312,7 +329,7 @@ describe('submitSmartTransactionHook', () => {
312329
313330 it ( 'returns a txHash asap if the feature flag requires it' , async ( ) => {
314331 withRequest ( async ( { request } ) => {
315- request . featureFlags . smartTransactions . extensionReturnTxHashAsap = true ;
332+ request . featureFlags . extensionReturnTxHashAsap = true ;
316333 const result = await submitSmartTransactionHook ( request ) ;
317334 expect ( result ) . toEqual ( { transactionHash : txHash } ) ;
318335 } ) ;
@@ -901,13 +918,11 @@ describe('submitSmartTransactionHook', () => {
901918 featureFlags : {
902919 extensionActive : true ,
903920 mobileActive : false ,
904- smartTransactions : {
905- expectedDeadline : 45 ,
906- maxDeadline : 150 ,
907- extensionReturnTxHashAsap : false ,
908- extensionReturnTxHashAsapBatch : false ,
909- extensionSkipSmartTransactionStatusPage : true ,
910- } ,
921+ expectedDeadline : 45 ,
922+ maxDeadline : 150 ,
923+ extensionReturnTxHashAsap : false ,
924+ extensionReturnTxHashAsapBatch : false ,
925+ extensionSkipSmartTransactionStatusPage : true ,
911926 } ,
912927 } ,
913928 } ,
@@ -939,13 +954,11 @@ describe('submitSmartTransactionHook', () => {
939954 featureFlags : {
940955 extensionActive : true ,
941956 mobileActive : false ,
942- smartTransactions : {
943- expectedDeadline : 45 ,
944- maxDeadline : 150 ,
945- extensionReturnTxHashAsap : false ,
946- extensionReturnTxHashAsapBatch : false ,
947- extensionSkipSmartTransactionStatusPage : false ,
948- } ,
957+ expectedDeadline : 45 ,
958+ maxDeadline : 150 ,
959+ extensionReturnTxHashAsap : false ,
960+ extensionReturnTxHashAsapBatch : false ,
961+ extensionSkipSmartTransactionStatusPage : false ,
949962 } ,
950963 } ,
951964 } ,
@@ -977,13 +990,11 @@ describe('submitSmartTransactionHook', () => {
977990 featureFlags : {
978991 extensionActive : true ,
979992 mobileActive : false ,
980- smartTransactions : {
981- expectedDeadline : 45 ,
982- maxDeadline : 150 ,
983- extensionReturnTxHashAsap : false ,
984- extensionReturnTxHashAsapBatch : false ,
985- // extensionSkipSTXStatusPage is not set (undefined)
986- } ,
993+ expectedDeadline : 45 ,
994+ maxDeadline : 150 ,
995+ extensionReturnTxHashAsap : false ,
996+ extensionReturnTxHashAsapBatch : false ,
997+ // extensionSkipSmartTransactionStatusPage is not set (undefined)
987998 } ,
988999 } ,
9891000 } ,
@@ -1039,13 +1050,11 @@ describe('submitSmartTransactionHook', () => {
10391050 featureFlags : {
10401051 extensionActive : true ,
10411052 mobileActive : false ,
1042- smartTransactions : {
1043- expectedDeadline : 45 ,
1044- maxDeadline : 150 ,
1045- extensionReturnTxHashAsap : false ,
1046- extensionReturnTxHashAsapBatch : false ,
1047- extensionSkipSmartTransactionStatusPage : true ,
1048- } ,
1053+ expectedDeadline : 45 ,
1054+ maxDeadline : 150 ,
1055+ extensionReturnTxHashAsap : false ,
1056+ extensionReturnTxHashAsapBatch : false ,
1057+ extensionSkipSmartTransactionStatusPage : true ,
10491058 } ,
10501059 } ,
10511060 } ,
@@ -1077,13 +1086,11 @@ describe('submitSmartTransactionHook', () => {
10771086 featureFlags : {
10781087 extensionActive : true ,
10791088 mobileActive : false ,
1080- smartTransactions : {
1081- expectedDeadline : 45 ,
1082- maxDeadline : 150 ,
1083- extensionReturnTxHashAsap : false ,
1084- extensionReturnTxHashAsapBatch : false ,
1085- extensionSkipSmartTransactionStatusPage : true ,
1086- } ,
1089+ expectedDeadline : 45 ,
1090+ maxDeadline : 150 ,
1091+ extensionReturnTxHashAsap : false ,
1092+ extensionReturnTxHashAsapBatch : false ,
1093+ extensionSkipSmartTransactionStatusPage : true ,
10871094 } ,
10881095 transactions : [
10891096 {
@@ -1368,7 +1375,7 @@ describe('submitBatchSmartTransactionHook', () => {
13681375
13691376 it ( 'returns txHashes asap if extensionReturnTxHashAsapBatch feature flag is enabled' , async ( ) => {
13701377 withRequest ( async ( { request } ) => {
1371- request . featureFlags . smartTransactions . extensionReturnTxHashAsapBatch = true ;
1378+ request . featureFlags . extensionReturnTxHashAsapBatch = true ;
13721379 request . smartTransactionsController . submitSignedTransactions = jest . fn (
13731380 async ( _ ) => {
13741381 return {
@@ -1388,7 +1395,7 @@ describe('submitBatchSmartTransactionHook', () => {
13881395
13891396 it ( 'waits for transaction hash if extensionReturnTxHashAsapBatch is false' , async ( ) => {
13901397 withRequest ( async ( { request, messenger } ) => {
1391- request . featureFlags . smartTransactions . extensionReturnTxHashAsapBatch = false ;
1398+ request . featureFlags . extensionReturnTxHashAsapBatch = false ;
13921399 request . smartTransactionsController . submitSignedTransactions = jest . fn (
13931400 async ( _ ) => {
13941401 return {
0 commit comments