Struct mpl_token_auth_rules::state::constraint::ProgramOwnedTree
source · pub struct ProgramOwnedTree<'a> {
pub pubkey_field: &'a Str32,
pub proof_field: &'a Str32,
pub root: &'a [u8; 32],
}Expand description
Constraint representing a test where the Pubkey must be owned by a member of the Merkle
tree in the rule.
This constraint requires PayloadType values of PayloadType::Pubkey and
PayloadType::MerkleProof. The field values in the Rule are used to locate them in the
Payload. Note this same Pubkey account must also be provided to Validate via the
additional_rule_accounts argument. This is so that the Pubkey’s owner can be found
from its AccountInfo struct. The owner and the proof are then used to calculate a Merkle
root, which is compared against the root stored in the rule.
Fields§
§pubkey_field: &'a Str32The field in the Payload to be compared when looking for the Merkle proof.
proof_field: &'a Str32The field in the Payload to be compared when looking for the Pubkey.
root: &'a [u8; 32]The root of the Merkle tree.
Implementations§
source§impl<'a> ProgramOwnedTree<'a>
impl<'a> ProgramOwnedTree<'a>
sourcepub fn from_bytes(bytes: &'a [u8]) -> Result<Self, RuleSetError>
pub fn from_bytes(bytes: &'a [u8]) -> Result<Self, RuleSetError>
Deserialize a constraint from a byte array.