Struct hpl_hive_control::state::project_state::Project
source · pub struct Project {
pub bump: u8,
pub authority: Pubkey,
pub key: Pubkey,
pub driver: Pubkey,
pub name: String,
pub mint_indexing: Indexing,
pub services: Vec<Service>,
pub collections: Vec<Pubkey>,
pub creators: Vec<Pubkey>,
pub allowed_programs: Vec<Pubkey>,
pub profile_data_config: HashMap<String, ProfileDataType>,
}
Expand description
Project State Account This account represents the cenntralized state and confnigurations of an NFT project on the Honeycomb Protocol. PDA: [‘project’, key] Category: project_state
Fields§
§bump: u8
Bump value used for PDA.
Public key of the authority controlling this project.
key: Pubkey
Unique public key identifier for this project account.
driver: Pubkey
Public key of the driver wallet having partial authority of this project.
name: String
Name of the project.
mint_indexing: Indexing
Indexing information for the associated mints of the NFT Collection.
services: Vec<Service>
List of honeycomb services associated with this project.
collections: Vec<Pubkey>
List of nft collections (public keys) associated with this project.
creators: Vec<Pubkey>
List of public keys representing the nft creators involved in this project.
allowed_programs: Vec<Pubkey>
List of allowed programs that can interact (CPI) with this project. If it’s emmpty only honeycomb programs will be able to perform CPI with this project.
profile_data_config: HashMap<String, ProfileDataType>
Configuration for profile data stored as key-value pairs in a HashMap.
Trait Implementations§
source§impl AccountDeserialize for Project
impl AccountDeserialize for Project
source§fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
Mint
account into a token
Account
.source§fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
source§impl AccountSerialize for Project
impl AccountSerialize for Project
source§impl BorshDeserialize for Projectwhere
u8: BorshDeserialize,
Pubkey: BorshDeserialize,
String: BorshDeserialize,
Indexing: BorshDeserialize,
Vec<Service>: BorshDeserialize,
Vec<Pubkey>: BorshDeserialize,
HashMap<String, ProfileDataType>: BorshDeserialize,
impl BorshDeserialize for Projectwhere u8: BorshDeserialize, Pubkey: BorshDeserialize, String: BorshDeserialize, Indexing: BorshDeserialize, Vec<Service>: BorshDeserialize, Vec<Pubkey>: BorshDeserialize, HashMap<String, ProfileDataType>: BorshDeserialize,
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where R: Read,
source§impl BorshSerialize for Projectwhere
u8: BorshSerialize,
Pubkey: BorshSerialize,
String: BorshSerialize,
Indexing: BorshSerialize,
Vec<Service>: BorshSerialize,
Vec<Pubkey>: BorshSerialize,
HashMap<String, ProfileDataType>: BorshSerialize,
impl BorshSerialize for Projectwhere u8: BorshSerialize, Pubkey: BorshSerialize, String: BorshSerialize, Indexing: BorshSerialize, Vec<Service>: BorshSerialize, Vec<Pubkey>: BorshSerialize, HashMap<String, ProfileDataType>: BorshSerialize,
source§impl Default for Project
impl Default for Project
Default implementation for the Project
struct.
It sets default values for each field when creating a new Project
instance.