@@ -165,6 +165,43 @@ export class MultiTokenNttExecutorRoute<N extends Network>
165165    } ; 
166166  } 
167167
168+   // TODO: these two methods are identical to the ManualRoute version 
169+   async  isWrappedToken ( token : TokenId ) : Promise < boolean >  { 
170+     const  contracts  =  MultiTokenNttRoute . resolveContracts ( 
171+       this . staticConfig . contracts , 
172+       token . chain 
173+     ) ; 
174+ 
175+     const  chain  =  this . wh . getChain ( token . chain ) ; 
176+     const  ntt  =  await  chain . getProtocol ( "MultiTokenNtt" ,  { 
177+       multiTokenNtt : contracts , 
178+     } ) ; 
179+ 
180+     return  await  ntt . isWrappedToken ( token ) ; 
181+   } 
182+ 
183+   async  getOriginalToken ( token : TokenId ) : Promise < TokenId >  { 
184+     const  contracts  =  MultiTokenNttRoute . resolveContracts ( 
185+       this . staticConfig . contracts , 
186+       token . chain 
187+     ) ; 
188+ 
189+     const  chain  =  this . wh . getChain ( token . chain ) ; 
190+     const  ntt  =  await  chain . getProtocol ( "MultiTokenNtt" ,  { 
191+       multiTokenNtt : contracts , 
192+     } ) ; 
193+ 
194+     const  originalToken  =  await  ntt . getOriginalToken ( token ) ; 
195+     if  ( originalToken  ===  null )  { 
196+       throw  new  Error ( "Original token not found" ) ; 
197+     } 
198+ 
199+     return  { 
200+       chain : originalToken . chain , 
201+       address : originalToken . address . toNative ( originalToken . chain ) , 
202+     } ; 
203+   } 
204+ 
168205  async  validate ( 
169206    request : routes . RouteTransferRequest < N > , 
170207    params : Tp 
@@ -861,6 +898,9 @@ export class MultiTokenNttExecutorRoute<N extends Network>
861898            ) ; 
862899          } 
863900          yield  receipt ; 
901+           // We are breaking here so we only track one transceiver at a time 
902+           // until all transceivers have attested. Otherwise the receipt state 
903+           // may jump around too much resulting in a glitchy UI. 
864904          break ; 
865905        } 
866906      } 
0 commit comments