SPLTokenProgram.createNativeMint constructor

SPLTokenProgram.createNativeMint({
  1. required SolAddress payer,
  2. SolAddress nativeMintId = SPLTokenProgramConst.nativeMint2022,
  3. SolAddress programId = SPLTokenProgramConst.token2022ProgramId,
})

Creates the native mint.

Implementation

factory SPLTokenProgram.createNativeMint(
    {
    /// Funding account (must be a system account)
    required SolAddress payer,

    /// The native mint address
    SolAddress nativeMintId = SPLTokenProgramConst.nativeMint2022,
    SolAddress programId = SPLTokenProgramConst.token2022ProgramId}) {
  if (programId == SPLTokenProgramConst.tokenProgramId) {
    throw const MessageException(
        "Token program id does not support extensions");
  }
  return SPLTokenProgram(
      layout: SPLTokenCreateNativeMintLayout(),
      keys: [
        payer.toSignerAndWritable(),
        nativeMintId.toWritable(),
        SystemProgramConst.programId.toReadOnly()
      ],
      programId: programId);
}