@@ -480,38 +480,42 @@ class NanoContractTransactionBuilder {
480
480
) ;
481
481
}
482
482
483
- if ( this . createTokenOptions === null ) {
484
- throw new NanoContractTransactionError (
485
- "Create token options can't be null when creating a create token transaction."
483
+ if ( this . vertexType === NanoContractVertexType . CREATE_TOKEN_TRANSACTION ) {
484
+ if ( this . createTokenOptions === null ) {
485
+ throw new NanoContractTransactionError (
486
+ 'Create token options can\'t be null when creating a create token transaction.'
487
+ ) ;
488
+ }
489
+
490
+ // It's a token creation transaction
491
+ // then we get the token creation data from the utils method
492
+ // and concatenate the nano actions inputs/outputs/tokens
493
+ const data = await tokensUtils . prepareCreateTokenData (
494
+ this . createTokenOptions . mintAddress ,
495
+ this . createTokenOptions . name ,
496
+ this . createTokenOptions . symbol ,
497
+ this . createTokenOptions . amount ,
498
+ this . wallet . storage ,
499
+ {
500
+ changeAddress : this . createTokenOptions . changeAddress ,
501
+ createMint : this . createTokenOptions . createMint ,
502
+ mintAuthorityAddress : this . createTokenOptions . mintAuthorityAddress ,
503
+ createMelt : this . createTokenOptions . createMelt ,
504
+ meltAuthorityAddress : this . createTokenOptions . meltAuthorityAddress ,
505
+ data : this . createTokenOptions . data ,
506
+ isCreateNFT : this . createTokenOptions . isCreateNFT ,
507
+ skipDepositFee : this . createTokenOptions . contractPaysTokenDeposit ,
508
+ }
486
509
) ;
487
- }
488
510
489
- // It's a token creation transaction
490
- // then we get the token creation data from the utils method
491
- // and concatenate the nano actions inputs/outputs/tokens
492
- const data = await tokensUtils . prepareCreateTokenData (
493
- this . createTokenOptions . mintAddress ,
494
- this . createTokenOptions . name ,
495
- this . createTokenOptions . symbol ,
496
- this . createTokenOptions . amount ,
497
- this . wallet . storage ,
498
- {
499
- changeAddress : this . createTokenOptions . changeAddress ,
500
- createMint : this . createTokenOptions . createMint ,
501
- mintAuthorityAddress : this . createTokenOptions . mintAuthorityAddress ,
502
- createMelt : this . createTokenOptions . createMelt ,
503
- meltAuthorityAddress : this . createTokenOptions . meltAuthorityAddress ,
504
- data : this . createTokenOptions . data ,
505
- isCreateNFT : this . createTokenOptions . isCreateNFT ,
506
- skipDepositFee : this . createTokenOptions . contractPaysTokenDeposit ,
507
- }
508
- ) ;
511
+ data . inputs = concat ( data . inputs , inputs ) ;
512
+ data . outputs = concat ( data . outputs , outputs ) ;
513
+ data . tokens = uniq ( concat ( data . tokens , tokens ) ) ;
509
514
510
- data . inputs = concat ( data . inputs , inputs ) ;
511
- data . outputs = concat ( data . outputs , outputs ) ;
512
- data . tokens = uniq ( concat ( data . tokens , tokens ) ) ;
515
+ return transactionUtils . createTransactionFromData ( data , this . wallet . getNetworkObject ( ) ) ;
516
+ }
513
517
514
- return transactionUtils . createTransactionFromData ( data , this . wallet . getNetworkObject ( ) ) ;
518
+ throw new NanoContractTransactionError ( 'Invalid vertex type.' ) ;
515
519
}
516
520
517
521
/**
0 commit comments