MetaplexTokenMetaDataProgram.lockV1 constructor

MetaplexTokenMetaDataProgram.lockV1({
  1. required SolAddress authority,
  2. required SolAddress token,
  3. required SolAddress mint,
  4. required SolAddress metadata,
  5. required SolAddress payer,
  6. required SolAddress sysvarInstructions,
  7. required MetaplexTokenMetaDataLockV1Layout layout,
  8. SolAddress systemProgram = SystemProgramConst.programId,
  9. SolAddress? tokenOwner,
  10. SolAddress? edition,
  11. SolAddress? tokenRecord,
  12. SolAddress? splTokenProgram,
  13. SolAddress? authorizationRulesProgram,
  14. SolAddress? authorizationRules,
})

Implementation

factory MetaplexTokenMetaDataProgram.lockV1({
  required SolAddress authority,
  required SolAddress token,
  required SolAddress mint,
  required SolAddress metadata,
  required SolAddress payer,
  required SolAddress sysvarInstructions,
  required MetaplexTokenMetaDataLockV1Layout layout,
  SolAddress systemProgram = SystemProgramConst.programId,
  SolAddress? tokenOwner,
  SolAddress? edition,
  SolAddress? tokenRecord,
  SolAddress? splTokenProgram,
  SolAddress? authorizationRulesProgram,
  SolAddress? authorizationRules,
}) {
  return MetaplexTokenMetaDataProgram(
    keys: [
      authority.toSigner(),
      tokenOwner?.toReadOnly() ??
          MetaplexTokenMetaDataProgramConst.programId.toReadOnly(),
      token.toWritable(),
      mint.toReadOnly(),
      metadata.toWritable(),
      edition?.toReadOnly() ??
          MetaplexTokenMetaDataProgramConst.programId.toReadOnly(),
      tokenRecord?.toWritable() ??
          MetaplexTokenMetaDataProgramConst.programId.toReadOnly(),
      payer.toSignerAndWritable(),
      systemProgram.toReadOnly(),
      sysvarInstructions.toReadOnly(),
      splTokenProgram?.toReadOnly() ??
          MetaplexTokenMetaDataProgramConst.programId.toReadOnly(),
      authorizationRulesProgram?.toReadOnly() ??
          MetaplexTokenMetaDataProgramConst.programId.toReadOnly(),
      authorizationRules?.toReadOnly() ??
          MetaplexTokenMetaDataProgramConst.programId.toReadOnly(),
    ],
    programId: MetaplexTokenMetaDataProgramConst.programId,
    layout: layout,
  );
}