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);
}