initializeMint2 static method

TransactionInstruction initializeMint2({
  1. required Pubkey mint,
  2. required u8 decimals,
  3. required Pubkey mintAuthority,
  4. Pubkey? freezeAuthority,
})

Like InitializeMint, but does not require the Rent sysvar to be provided.

Keys:

  • [w] mint - The mint to initialize.

Data:

  • decimals - Number of base 10 digits to the right of the decimal place.
  • mintAuthority - The authority/multisignature to mint tokens.
  • freezeAuthority - The freeze authority/multisignature of the mint.

Implementation

static TransactionInstruction initializeMint2({
  // Keys
  required final Pubkey mint,
  // Data
  required final u8 decimals,
  required final Pubkey mintAuthority,
  final Pubkey? freezeAuthority,
}) {
  // 0. `[w]` The mint to initialize.
  final List<AccountMeta> keys = [
    AccountMeta.writable(mint),
  ];

  final List<Iterable<int>> data = [
    borsh.u8.encode(decimals),
    borsh.pubkey.encode(mintAuthority.toBase58()),
    borsh.pubkey.cOption().encode(freezeAuthority?.toBase58()),
  ];

  return _instance.createTransactionIntruction(
    TokenInstruction.initializeMint2,
    keys: keys,
    data: data,
  );
}