SPLToken2022ExtensionsProgram.execute constructor

SPLToken2022ExtensionsProgram.execute({
  1. required SolAddress mint,
  2. required SolAddress source,
  3. required SolAddress destination,
  4. required SolAddress owner,
  5. required SolAddress validateStatePubkey,
  6. required SPLToken2022ExecuteLayout layout,
  7. SolAddress programId = SPLTokenProgramConst.token2022ProgramId,
})

Implementation

factory SPLToken2022ExtensionsProgram.execute(
    {required SolAddress mint,
    required SolAddress source,
    required SolAddress destination,
    required SolAddress owner,
    required SolAddress validateStatePubkey,
    required SPLToken2022ExecuteLayout layout,
    SolAddress programId = SPLTokenProgramConst.token2022ProgramId}) {
  if (programId == SPLTokenProgramConst.tokenProgramId) {
    throw const MessageException("Token program does not support extensions");
  }
  return SPLToken2022ExtensionsProgram(keys: [
    source.toReadOnly(),
    mint.toReadOnly(),
    destination.toReadOnly(),
    owner.toReadOnly(),
    validateStatePubkey.toReadOnly()
  ], programId: programId, layout: layout);
}