phase_protocol_sdk/state/
mint_contract_record.rs1use crate::id;
2use anchor_lang::prelude::*;
3
4#[account]
9pub struct MintContractRecord {
10 pub roadmap: Pubkey,
11 pub mint_program: Pubkey,
13 pub mint_contract_account: Pubkey,
14 pub collection_record: Pubkey,
15 pub bump: u8,
16}
17
18impl MintContractRecord {
19 pub fn space() -> usize {
20 8 +
21 4 + std::mem::size_of::<Pubkey>() + 4 + std::mem::size_of::<Pubkey>() + 4 + std::mem::size_of::<Pubkey>() + 4 + std::mem::size_of::<Pubkey>() + 1 }
27}
28
29pub fn get_mint_contract_record_address(
30 mint_pda_account: &Pubkey,
31 mint_program: &Pubkey,
32) -> Pubkey {
33 Pubkey::find_program_address(
34 &[
35 b"mint_contract",
36 mint_program.as_ref(),
37 mint_pda_account.as_ref(),
38 ],
39 &id(),
40 )
41 .0
42}