@@ -324,8 +324,6 @@ describe('Gateway Tests', () => {
324324 const tokens = await gatewaySDK . getTokens ( true ) ;
325325 const enrichedTokens = await gatewaySDK . getEnrichedTokens ( true ) ;
326326
327- assert . lengthOf ( enrichedTokens , tokens . length ) ;
328-
329327 enrichedTokens . forEach ( ( enrichedToken , i ) => {
330328 assert . strictEqual ( tokens [ i ] . address , enrichedToken . address ) ;
331329 assert . strictEqual ( tokens [ i ] . name , enrichedToken . name ) ;
@@ -436,6 +434,101 @@ describe('Gateway Tests', () => {
436434 assert . strictEqual ( orders [ 7 ] . layerzeroDstEid , 30111 ) ;
437435 } ) ;
438436
437+ it ( 'should return multiple output tokens' , async ( ) => {
438+ const mockOrder = {
439+ gatewayAddress : zeroAddress ,
440+ baseTokenAddress : TBTC_ADDRESS ,
441+ txid : '' ,
442+ status : true ,
443+ timestamp : 0 ,
444+ tokens : '0' ,
445+ satoshis : 0 ,
446+ fee : 0 ,
447+ txProofDifficultyFactor : 0 ,
448+ satsToConvertToEth : 0 ,
449+ strategyAddress : zeroAddress ,
450+ } ;
451+ nock ( `${ MAINNET_GATEWAY_BASE_URL } ` )
452+ . get ( `/orders/${ zeroAddress } ` )
453+ . reply ( 200 , [
454+ // pending
455+ {
456+ ...mockOrder ,
457+ status : false ,
458+ strategyAddress : null ,
459+ satoshis : 2000 ,
460+ outputTokenAddress : null ,
461+ outputTokenAmount : null ,
462+ tokensReceived : null ,
463+ } ,
464+ // swapped - gateway v3
465+ {
466+ ...mockOrder ,
467+ satoshis : 2000 ,
468+ outputTokenAddress : TBTC_ADDRESS ,
469+ outputTokenAmount : '2000' ,
470+ tokensReceived : null ,
471+ } ,
472+ // swapped - gateway v4
473+ {
474+ ...mockOrder ,
475+ satoshis : 2000 ,
476+ outputTokenAddress : null ,
477+ outputTokenAmount : null ,
478+ tokensReceived : [ { amount : '2000' , token_address : TBTC_ADDRESS } ] ,
479+ } ,
480+ ] ) ;
481+
482+ const gatewaySDK = new GatewaySDK ( bob . id ) ;
483+ const orders = await gatewaySDK . getOnrampOrders ( zeroAddress ) ;
484+ assert . lengthOf ( orders , 3 ) ;
485+
486+ assert . strictEqual ( orders [ 0 ] . getTokenAmount ( ) , 20000000000000 ) ;
487+ assert . strictEqual ( orders [ 1 ] . getTokenAmount ( ) , '2000' ) ;
488+ assert . strictEqual ( orders [ 2 ] . getTokenAmount ( ) , '2000' ) ;
489+
490+ assert . strictEqual ( orders [ 0 ] . getTokenAddress ( ) , TBTC_ADDRESS ) ;
491+ assert . strictEqual ( orders [ 1 ] . getTokenAddress ( ) , TBTC_ADDRESS ) ;
492+ assert . strictEqual ( orders [ 2 ] . getTokenAddress ( ) , TBTC_ADDRESS ) ;
493+
494+ assert . strictEqual ( orders [ 0 ] . getToken ( ) ! . address , TBTC_ADDRESS ) ;
495+ assert . strictEqual ( orders [ 1 ] . getToken ( ) ! . address , TBTC_ADDRESS ) ;
496+ assert . strictEqual ( orders [ 2 ] . getToken ( ) ! . address , TBTC_ADDRESS ) ;
497+
498+ assert . deepEqual ( await orders [ 0 ] . getOutputTokens ( ) , [ ] ) ;
499+ assert . deepEqual ( await orders [ 1 ] . getOutputTokens ( ) , [
500+ {
501+ amount : '2000' ,
502+ token : TBTC ,
503+ } ,
504+ ] ) ;
505+ assert . deepEqual ( await orders [ 2 ] . getOutputTokens ( ) , [
506+ {
507+ amount : '2000' ,
508+ token : TBTC ,
509+ } ,
510+ ] ) ;
511+
512+ assert . deepEqual ( await orders [ 0 ] . getTokens ( ) , [
513+ {
514+ amount : 20000000000000 ,
515+ token : TBTC ,
516+ } ,
517+ ] ) ;
518+ assert . deepEqual ( await orders [ 1 ] . getTokens ( ) , [
519+ {
520+ amount : '2000' ,
521+ token : TBTC ,
522+ } ,
523+ ] ) ;
524+ assert . deepEqual ( await orders [ 2 ] . getTokens ( ) , [
525+ {
526+ amount : '2000' ,
527+ token : TBTC ,
528+ } ,
529+ ] ) ;
530+ } ) ;
531+
439532 it ( 'should get valid create offramp quote' , async ( ) => {
440533 const gatewaySDK = new GatewaySDK ( bobSepolia . id ) ;
441534
0 commit comments