@@ -35,14 +35,14 @@ func (inst *TokenInstruction) ProgramID() solana.PublicKey {
3535
3636// NOTE: functions in this file are mainly wrapped version of the versions that exist in `solana-go` but these allow specifying the token program
3737func CreateToken (ctx context.Context , program , mint , admin solana.PublicKey , decimals uint8 , client * rpc.Client , commitment rpc.CommitmentType ) ([]solana.Instruction , error ) {
38- return CreateTokenWith (ctx , program , mint , admin , decimals , client , commitment , false )
38+ return CreateTokenWith (ctx , program , mint , admin , admin , decimals , client , commitment , false )
3939}
4040
4141func CreateTokenFrom (ctx context.Context , newToken TokenPool , admin solana.PublicKey , decimals uint8 , client * rpc.Client , commitment rpc.CommitmentType ) ([]solana.Instruction , error ) {
42- return CreateTokenWith (ctx , newToken .Program , newToken .Mint , admin , decimals , client , commitment , newToken .WithTokenExtensions )
42+ return CreateTokenWith (ctx , newToken .Program , newToken .Mint , admin , admin , decimals , client , commitment , newToken .WithTokenExtensions )
4343}
4444
45- func CreateTokenWith (ctx context.Context , program , mint , admin solana.PublicKey , decimals uint8 , client * rpc.Client , commitment rpc.CommitmentType , createWithExtensions bool ) ([]solana.Instruction , error ) {
45+ func CreateTokenWith (ctx context.Context , program , mint , mintAuthority , freezeAuthority solana.PublicKey , decimals uint8 , client * rpc.Client , commitment rpc.CommitmentType , createWithExtensions bool ) ([]solana.Instruction , error ) {
4646 ixs := []solana.Instruction {}
4747
4848 // initialize mint account
@@ -57,23 +57,23 @@ func CreateTokenWith(ctx context.Context, program, mint, admin solana.PublicKey,
5757 return nil , err
5858 }
5959
60- initI , err := system .NewCreateAccountInstruction (lamports , uint64 (mintSize ), program , admin , mint ).ValidateAndBuild () //nolint:gosec
60+ initI , err := system .NewCreateAccountInstruction (lamports , uint64 (mintSize ), program , mintAuthority , mint ).ValidateAndBuild () //nolint:gosec
6161 if err != nil {
6262 return nil , err
6363 }
6464
6565 ixs = append (ixs , initI )
6666
6767 if program == config .Token2022Program && createWithExtensions {
68- closeMintExtensionI , closeMintErr := NewInitializeMintCloseAuthorityIx (mint , & admin , & program )
68+ closeMintExtensionI , closeMintErr := NewInitializeMintCloseAuthorityIx (mint , & mintAuthority , & program )
6969 if closeMintErr != nil {
7070 return nil , closeMintErr
7171 }
7272 ixs = append (ixs , closeMintExtensionI )
7373 }
7474
7575 // initialize mint
76- mintI , err := token .NewInitializeMintInstruction (decimals , admin , admin , mint , solana .SysVarRentPubkey ).ValidateAndBuild ()
76+ mintI , err := token .NewInitializeMintInstruction (decimals , mintAuthority , freezeAuthority , mint , solana .SysVarRentPubkey ).ValidateAndBuild ()
7777 if err != nil {
7878 return nil , err
7979 }
0 commit comments