MetaplexCandyMachineCoreProgram.mintV2 constructor

MetaplexCandyMachineCoreProgram.mintV2({
  1. required SolAddress candyGuard,
  2. required SolAddress candyMachineProgram,
  3. required SolAddress candyMachine,
  4. required SolAddress candyMachineAuthorityPda,
  5. required SolAddress payer,
  6. required SolAddress minter,
  7. required SolAddress nftMint,
  8. required SolAddress nftMintAuthority,
  9. required SolAddress nftMetadata,
  10. required SolAddress nftMasterEdition,
  11. required SolAddress collectionDelegateRecord,
  12. required SolAddress collectionMint,
  13. required SolAddress collectionMetadata,
  14. required SolAddress collectionMasterEdition,
  15. required SolAddress collectionUpdateAuthority,
  16. required SolAddress tokenMetadataProgram,
  17. required SolAddress splTokenProgram,
  18. required SolAddress sysvarInstructions,
  19. required SolAddress recentSlothashes,
  20. required MetaplexCandyMachineMintV2Layout layout,
  21. SolAddress systemProgram = SystemProgramConst.programId,
  22. SolAddress programId = MetaplexCandyMachineCoreProgramConst.candyGuardProgramId,
  23. SolAddress tokenProgram = SPLTokenProgramConst.tokenProgramId,
  24. SolAddress? token,
  25. SolAddress? tokenRecord,
  26. SolAddress? authorizationRulesProgram,
  27. SolAddress? authorizationRules,
  28. SolAddress? splAtaProgram,
})

Implementation

factory MetaplexCandyMachineCoreProgram.mintV2({
  required SolAddress candyGuard,
  required SolAddress candyMachineProgram,
  required SolAddress candyMachine,
  required SolAddress candyMachineAuthorityPda,
  required SolAddress payer,
  required SolAddress minter,
  required SolAddress nftMint,
  required SolAddress nftMintAuthority,
  required SolAddress nftMetadata,
  required SolAddress nftMasterEdition,
  required SolAddress collectionDelegateRecord,
  required SolAddress collectionMint,
  required SolAddress collectionMetadata,
  required SolAddress collectionMasterEdition,
  required SolAddress collectionUpdateAuthority,
  required SolAddress tokenMetadataProgram,
  required SolAddress splTokenProgram,
  required SolAddress sysvarInstructions,
  required SolAddress recentSlothashes,
  required MetaplexCandyMachineMintV2Layout layout,
  SolAddress systemProgram = SystemProgramConst.programId,
  SolAddress programId =
      MetaplexCandyMachineCoreProgramConst.candyGuardProgramId,
  SolAddress tokenProgram = SPLTokenProgramConst.tokenProgramId,
  SolAddress? token,
  SolAddress? tokenRecord,
  SolAddress? authorizationRulesProgram,
  SolAddress? authorizationRules,
  SolAddress? splAtaProgram,
}) {
  return MetaplexCandyMachineCoreProgram(keys: [
    candyGuard.toReadOnly(),
    candyMachineProgram.toReadOnly(),
    candyMachine.toWritable(),
    candyMachineAuthorityPda.toWritable(),
    payer.toSignerAndWritable(),
    minter.toSignerAndWritable(),
    nftMint.toWritable(),
    nftMintAuthority.toSigner(),
    nftMetadata.toWritable(),
    nftMasterEdition.toWritable(),
    token?.toWritable() ?? programId.toReadOnly(),
    tokenRecord?.toWritable() ?? programId.toReadOnly(),
    collectionDelegateRecord.toReadOnly(),
    collectionMint.toReadOnly(),
    collectionMetadata.toWritable(),
    collectionMasterEdition.toReadOnly(),
    collectionUpdateAuthority.toReadOnly(),
    tokenMetadataProgram.toReadOnly(),
    splTokenProgram.toReadOnly(),
    splAtaProgram?.toReadOnly() ?? programId.toReadOnly(),
    systemProgram.toReadOnly(),
    sysvarInstructions.toReadOnly(),
    recentSlothashes.toReadOnly(),
    authorizationRulesProgram?.toReadOnly() ?? programId.toReadOnly(),
    authorizationRules?.toReadOnly() ?? programId.toReadOnly()
  ], programId: programId, layout: layout);
}