@@ -37,11 +37,11 @@ import {
37
37
} from './errors' ;
38
38
import { getMessageEvm } from './platforms/evm' ;
39
39
import { getMessageSolana } from './platforms/solana' ;
40
- import { WormholeTransceiverMessage } from './payloads/wormhole' ;
41
40
import { NttManagerMessage } from './payloads/common' ;
42
41
import { NativeTokenTransfer } from './payloads/transfers' ;
43
42
import { formatGasFee } from 'routes/utils' ;
44
43
import { NO_INPUT } from 'utils/style' ;
44
+ import { parseWormholeTransceiverMessage } from './utils' ;
45
45
46
46
export abstract class NttBase extends BaseRoute {
47
47
isSupportedChain ( chain : ChainName ) : boolean {
@@ -163,8 +163,7 @@ export abstract class NttBase extends BaseRoute {
163
163
if ( isEvmChain ( sendingChain ) ) {
164
164
const provider = wh . mustGetProvider ( sendingChain ) ;
165
165
const gasPrice = await provider . getGasPrice ( ) ;
166
- const estSendGas = 200000 ;
167
- return gasPrice . mul ( estSendGas ) ;
166
+ return gasPrice . mul ( 200000 ) ;
168
167
} else if ( wh . toChainName ( sendingChain ) === 'solana' ) {
169
168
return BigNumber . from ( 10000 ) ;
170
169
}
@@ -182,8 +181,7 @@ export abstract class NttBase extends BaseRoute {
182
181
if ( isEvmChain ( destChain ) ) {
183
182
const provider = wh . mustGetProvider ( destChain ) ;
184
183
const gasPrice = await provider . getGasPrice ( ) ;
185
- const estClaimGas = 300000 ;
186
- return gasPrice . mul ( estClaimGas ) ;
184
+ return gasPrice . mul ( 300000 ) ;
187
185
} else if ( wh . toChainName ( destChain ) === 'solana' ) {
188
186
return BigNumber . from ( 65000 ) ;
189
187
}
@@ -227,7 +225,6 @@ export abstract class NttBase extends BaseRoute {
227
225
wh . toChainId ( sendingChain ) ,
228
226
tokenConfig . tokenId ,
229
227
) ;
230
- // remove any dust before sending
231
228
const sendAmount = removeDust ( parseUnits ( amount , decimals ) , decimals ) ;
232
229
const shouldSkipRelayerSend = this . TYPE !== Route . NttRelay ;
233
230
return await nttManager . send (
@@ -304,37 +301,29 @@ export abstract class NttBase extends BaseRoute {
304
301
async getInboundQueuedTransfer (
305
302
chain : ChainName | ChainId ,
306
303
nttManagerAddress : string ,
307
- transceiverMessage : string ,
304
+ message : NttManagerMessage < NativeTokenTransfer > ,
308
305
fromChain : ChainName | ChainId ,
309
306
) : Promise < InboundQueuedTransfer | undefined > {
310
- const nttManagerMessage = WormholeTransceiverMessage . deserialize (
311
- Buffer . from ( transceiverMessage . slice ( 2 ) , 'hex' ) ,
312
- ( a ) => NttManagerMessage . deserialize ( a , NativeTokenTransfer . deserialize ) ,
313
- ) . ntt_managerPayload ;
314
307
return await getNttManager (
315
308
chain ,
316
309
nttManagerAddress ,
317
- ) . getInboundQueuedTransfer ( fromChain , nttManagerMessage ) ;
310
+ ) . getInboundQueuedTransfer ( fromChain , message ) ;
318
311
}
319
312
320
313
async completeInboundQueuedTransfer (
321
314
chain : ChainName | ChainId ,
322
315
nttManagerAddress : string ,
323
- transceiverMessage : string ,
316
+ message : NttManagerMessage < NativeTokenTransfer > ,
324
317
fromChain : ChainName | ChainId ,
325
318
payer : string ,
326
319
) : Promise < string > {
327
- const nttManagerMessage = WormholeTransceiverMessage . deserialize (
328
- Buffer . from ( transceiverMessage . slice ( 2 ) , 'hex' ) ,
329
- ( a ) => NttManagerMessage . deserialize ( a , NativeTokenTransfer . deserialize ) ,
330
- ) . ntt_managerPayload ;
331
320
const nttManager = getNttManager ( chain , nttManagerAddress ) ;
332
321
if ( await nttManager . isPaused ( ) ) {
333
322
throw new ContractIsPausedError ( ) ;
334
323
}
335
324
return await nttManager . completeInboundQueuedTransfer (
336
325
fromChain ,
337
- nttManagerMessage ,
326
+ message ,
338
327
payer ,
339
328
) ;
340
329
}
@@ -395,21 +384,20 @@ export abstract class NttBase extends BaseRoute {
395
384
if ( ! isSignedNttMessage ( signedMessage ) ) {
396
385
throw new Error ( 'Invalid signed message' ) ;
397
386
}
398
- const { fromChain, recipientNttManager, transceiverMessage } =
387
+ const { fromChain, recipientNttManager, wormholeTransceiverMessage } =
399
388
signedMessage ;
400
- const nttManagerMessage = WormholeTransceiverMessage . deserialize (
401
- Buffer . from ( transceiverMessage . slice ( 2 ) , 'hex' ) ,
402
- ( a ) => NttManagerMessage . deserialize ( a , NativeTokenTransfer . deserialize ) ,
403
- ) . ntt_managerPayload ;
389
+ const { nttManagerPayload } = parseWormholeTransceiverMessage (
390
+ wormholeTransceiverMessage ,
391
+ ) ;
404
392
const nttManager = getNttManager ( chain , recipientNttManager ) ;
405
393
const isMessageExecuted = await nttManager . isMessageExecuted (
406
394
fromChain ,
407
- nttManagerMessage ,
395
+ nttManagerPayload ,
408
396
) ;
409
397
if ( isMessageExecuted ) {
410
398
const queuedTransfer = await nttManager . getInboundQueuedTransfer (
411
399
fromChain ,
412
- nttManagerMessage ,
400
+ nttManagerPayload ,
413
401
) ;
414
402
return ! queuedTransfer ;
415
403
}
0 commit comments